]> git.sven.stormbind.net Git - sven/vym.git/commitdiff
New upstream version 2.9.22 upstream/2.9.22
authorSven Hoexter <sven@stormbind.net>
Fri, 3 May 2024 12:10:43 +0000 (14:10 +0200)
committerSven Hoexter <sven@stormbind.net>
Fri, 3 May 2024 12:10:43 +0000 (14:10 +0200)
668 files changed:
.clang-format [new file with mode: 0644]
CMakeLists.txt
INSTALL.txt [deleted file]
LICENSE.txt
README.md
aboutdialog.cpp [deleted file]
aboutdialog.h [deleted file]
adaptormodel.cpp [deleted file]
adaptormodel.h [deleted file]
adaptorvym.cpp [deleted file]
adaptorvym.h [deleted file]
animpoint.cpp [deleted file]
animpoint.h [deleted file]
arrowobj.cpp [deleted file]
arrowobj.h [deleted file]
attribute.cpp [deleted file]
attribute.h [deleted file]
attributedelegate.cpp [deleted file]
attributedelegate.h [deleted file]
attributedialog.cpp [deleted file]
attributedialog.h [deleted file]
attributedialog.ui [deleted file]
attributeitem.cpp [deleted file]
attributeitem.h [deleted file]
attributewidget.cpp [deleted file]
attributewidget.h [deleted file]
attributewidget.ui [deleted file]
branchitem.cpp [deleted file]
branchitem.h [deleted file]
branchobj.cpp [deleted file]
branchobj.h [deleted file]
branchpropeditor.cpp [deleted file]
branchpropeditor.h [deleted file]
branchpropeditor.ui [deleted file]
bugagent.cpp [deleted file]
bugagent.h [deleted file]
cmake/Findcppcheck.cmake [deleted file]
cmake/Findcppcheck.cpp [deleted file]
command.cpp [deleted file]
command.h [deleted file]
config/vym.desktop [new file with mode: 0644]
config/vym.xml [new file with mode: 0644]
demos/default-dark.vym [new file with mode: 0644]
demos/default.vym [new file with mode: 0644]
demos/frames.vym
demos/lifeforms.vym
demos/math.vym
demos/new-flags.vym [new file with mode: 0644]
demos/scripts/examplescript.vys [new file with mode: 0644]
demos/scripts/export-image.vys [new file with mode: 0644]
demos/scripts/iterating-branches.vys [new file with mode: 0644]
demos/scripts/setSelectionBoxDarkTheme.vys [new file with mode: 0644]
demos/scripts/strip-url.vys [new file with mode: 0644]
demos/task-management.vym [new file with mode: 0644]
doc/vym.1.gz
doc/vym.pdf
doc/vym_es.pdf
doc/vym_fr.pdf
dockeditor.cpp [deleted file]
dockeditor.h [deleted file]
downloadagent.cpp [deleted file]
downloadagent.h [deleted file]
editxlinkdialog.cpp [deleted file]
editxlinkdialog.h [deleted file]
editxlinkdialog.ui [deleted file]
exporthtmldialog.cpp [deleted file]
exporthtmldialog.h [deleted file]
exporthtmldialog.ui [deleted file]
exportoofiledialog.cpp [deleted file]
exportoofiledialog.h [deleted file]
exports.cpp [deleted file]
exports.h [deleted file]
exportxhtmldialog.ui [deleted file]
extrainfodialog.cpp [deleted file]
extrainfodialog.h [deleted file]
extrainfodialog.ui [deleted file]
file.cpp [deleted file]
file.h [deleted file]
findresultitem.cpp [deleted file]
findresultitem.h [deleted file]
findresultmodel.cpp [deleted file]
findresultmodel.h [deleted file]
findresultwidget.cpp [deleted file]
findresultwidget.h [deleted file]
findwidget.cpp [deleted file]
findwidget.h [deleted file]
flag.cpp [deleted file]
flag.h [deleted file]
flagobj.cpp [deleted file]
flagobj.h [deleted file]
flagrow.cpp [deleted file]
flagrow.h [deleted file]
flagrowobj.cpp [deleted file]
flagrowobj.h [deleted file]
flags/flag-2arrow-down.png [deleted file]
flags/flag-2arrow-up.png [deleted file]
flags/flag-arrow-down.png [deleted file]
flags/flag-arrow-up.png [deleted file]
flags/flag-clock.png [deleted file]
flags/flag-cross-red.png [deleted file]
flags/flag-exclamationmark.png [deleted file]
flags/flag-flash.png [deleted file]
flags/flag-heart.png [deleted file]
flags/flag-hook-green.png [deleted file]
flags/flag-info.png [deleted file]
flags/flag-lamp.png [deleted file]
flags/flag-lifebelt.png [deleted file]
flags/flag-note.png [deleted file]
flags/flag-phone.png [deleted file]
flags/flag-questionmark.png [deleted file]
flags/flag-smiley-good.png [deleted file]
flags/flag-smiley-omb.png [deleted file]
flags/flag-smiley-sad.png [deleted file]
flags/flag-stopsign.png [deleted file]
flags/flag-target.png [deleted file]
flags/flag-task-finished.png [deleted file]
flags/flag-task-new-morning.png [deleted file]
flags/flag-task-new-sleeping.png [deleted file]
flags/flag-task-new.png [deleted file]
flags/flag-task-wip-morning.png [deleted file]
flags/flag-task-wip-sleeping.png [deleted file]
flags/flag-task-wip.png [deleted file]
flags/flag-task.png [deleted file]
flags/flag-url-16x16.png [deleted file]
flags/flag-url-bugzilla-novell-closed.png [deleted file]
flags/flag-url-bugzilla-novell.png [deleted file]
flags/flag-url.png [deleted file]
flags/flag-urlnew.png [deleted file]
flags/flag-wip.png [deleted file]
flags/standard/Dialog-STOP.svg [new file with mode: 0644]
flags/standard/Dialog-information_on.svg [new file with mode: 0644]
flags/standard/arrow-2down-blue.svg [new file with mode: 0644]
flags/standard/arrow-2up-blue.svg [new file with mode: 0644]
flags/standard/arrow-down-blue.svg [new file with mode: 0644]
flags/standard/arrow-up-blue.svg [new file with mode: 0644]
flags/standard/dialog-ok-apply.svg [new file with mode: 0644]
flags/standard/dialog-warning.svg [new file with mode: 0644]
flags/standard/edit-delete.svg [new file with mode: 0644]
flags/standard/edit-undo.svg [new file with mode: 0644]
flags/standard/emblem-favorite.svg [new file with mode: 0644]
flags/standard/face-plain.svg [new file with mode: 0644]
flags/standard/face-sad.svg [new file with mode: 0644]
flags/standard/face-smile.svg [new file with mode: 0644]
flags/standard/face-surprise.svg [new file with mode: 0644]
flags/standard/flash.svg [new file with mode: 0644]
flags/standard/help-about.svg [new file with mode: 0644]
flags/standard/help-contextual.svg [new file with mode: 0644]
flags/standard/internet-telephony.svg [new file with mode: 0644]
flags/standard/kalarm.svg [new file with mode: 0644]
flags/standard/question-mark.svg [new file with mode: 0644]
flags/system/applications-internet-new.svg [new file with mode: 0644]
flags/system/applications-internet.svg [new file with mode: 0644]
flags/system/klipper.svg [new file with mode: 0644]
flags/system/no-arrow-up.png [new file with mode: 0644]
flags/system/stopsign-arrow-2up.png [new file with mode: 0644]
flags/system/stopsign-arrow-up.png [new file with mode: 0644]
flags/system/target.svg [new file with mode: 0644]
flags/system/task-finished.svg [new file with mode: 0644]
flags/system/task-new-morning.svg [new file with mode: 0644]
flags/system/task-new-sleeping.svg [new file with mode: 0644]
flags/system/task-new.svg [new file with mode: 0644]
flags/system/task-wip-morning.svg [new file with mode: 0644]
flags/system/task-wip-sleeping.svg [new file with mode: 0644]
flags/system/task-wip.svg [new file with mode: 0644]
floatimageobj.cpp [deleted file]
floatimageobj.h [deleted file]
floatobj.cpp [deleted file]
floatobj.h [deleted file]
forms/attributedialog.ui [new file with mode: 0644]
forms/attributewidget.ui [new file with mode: 0644]
forms/branchpropeditor.ui [new file with mode: 0644]
forms/confluence-settings-dialog.ui [new file with mode: 0644]
forms/confluence-userdialog.ui [new file with mode: 0644]
forms/darktheme-settings-dialog.ui [new file with mode: 0644]
forms/default-map-settings-dialog.ui [new file with mode: 0644]
forms/editxlinkdialog.ui [new file with mode: 0644]
forms/export-confluence-dialog.ui [new file with mode: 0644]
forms/export-html-dialog.ui [new file with mode: 0644]
forms/exportxhtmldialog.ui [new file with mode: 0644]
forms/extrainfodialog.ui [new file with mode: 0644]
forms/historywindow.ui [new file with mode: 0644]
forms/jira-settings-dialog.ui [new file with mode: 0644]
forms/lineeditdialog.ui [new file with mode: 0644]
forms/lockedfiledialog.ui [new file with mode: 0644]
forms/scripteditor.ui [new file with mode: 0644]
forms/showtextdialog.ui [new file with mode: 0644]
forms/warningdialog.ui [new file with mode: 0644]
forms/zip-settings-dialog.ui [new file with mode: 0644]
frameobj.cpp [deleted file]
frameobj.h [deleted file]
geometry.cpp [deleted file]
geometry.h [deleted file]
heading.cpp [deleted file]
heading.h [deleted file]
headingeditor.cpp [deleted file]
headingeditor.h [deleted file]
headingobj.cpp [deleted file]
headingobj.h [deleted file]
highlighter.cpp [deleted file]
highlighter.h [deleted file]
historywindow.cpp [deleted file]
historywindow.h [deleted file]
historywindow.ui [deleted file]
icons/configure-plus.svg [new file with mode: 0644]
icons/cursorcolorpicker.png [deleted file]
icons/cursorcolorpicker16.png [deleted file]
icons/cursorcopy.png [deleted file]
icons/cursorhandopen.png [deleted file]
icons/cursorhandopen16.png [deleted file]
icons/cursors/cursorcolorpicker.png [new file with mode: 0644]
icons/cursors/cursorxlink.png [new file with mode: 0644]
icons/cursorxlink.png [deleted file]
icons/document-save.svg [new file with mode: 0644]
icons/down-diagonal-left.png [new file with mode: 0644]
icons/down-diagonal-right.png [new file with mode: 0644]
icons/formatcolorpicker.xpm [deleted file]
icons/modecolor.png [deleted file]
icons/modecopy.png [deleted file]
icons/modelink.png [deleted file]
icons/modifiers/cursorhandopen.png [new file with mode: 0644]
icons/modifiers/mode-color.png [new file with mode: 0644]
icons/modifiers/mode-move-object.svg [new file with mode: 0644]
icons/modifiers/mode-select.svg [new file with mode: 0644]
icons/modifiers/mode-xlink.png [new file with mode: 0644]
icons/rotate-ccw.png [deleted file]
icons/rotate-cw.png [deleted file]
icons/script-reload.svg [new file with mode: 0644]
icons/script-run.svg [new file with mode: 0644]
icons/system-shutdown.svg [new file with mode: 0644]
icons/taskfilter-activetask.png [new file with mode: 0644]
icons/taskfilter-currentmap.png [new file with mode: 0644]
icons/taskfilter-newtask.png [new file with mode: 0644]
icons/transform-rotate-ccw.svg [new file with mode: 0644]
icons/transform-rotate-cw.svg [new file with mode: 0644]
icons/up-diagonal-left.png [new file with mode: 0644]
icons/up-diagonal-right.png [new file with mode: 0644]
icons/video-projector.png [new file with mode: 0644]
icons/vym-128x128.ico [new file with mode: 0644]
icons/vym.ico [deleted file]
imageitem.cpp [deleted file]
imageitem.h [deleted file]
imageobj.cpp [deleted file]
imageobj.h [deleted file]
imports.cpp [deleted file]
imports.h [deleted file]
lang/vym.cs_CZ.ts
lang/vym.de.ts [new file with mode: 0644]
lang/vym.de_DE.ts [deleted file]
lang/vym.el.ts
lang/vym.en.ts
lang/vym.es.ts
lang/vym.fr.ts
lang/vym.hr_HR.ts
lang/vym.ia.ts
lang/vym.it.ts
lang/vym.ja.ts
lang/vym.pt_BR.ts
lang/vym.ru.ts
lang/vym.sv.ts
lang/vym.zh_CN.ts
lang/vym.zh_TW.ts
lineeditdialog.cpp [deleted file]
lineeditdialog.h [deleted file]
lineeditdialog.ui [deleted file]
linkablemapobj.cpp [deleted file]
linkablemapobj.h [deleted file]
lockedfiledialog.cpp [deleted file]
lockedfiledialog.h [deleted file]
lockedfiledialog.ui [deleted file]
macros.cpp [deleted file]
macros.h [deleted file]
macros/macro-01.vys [deleted file]
macros/macro-02.vys [deleted file]
macros/macro-03.vys [deleted file]
macros/macro-04.vys [deleted file]
macros/macro-05.vys [deleted file]
macros/macro-06.vys [deleted file]
macros/macro-07.vys [deleted file]
macros/macro-08.vys [deleted file]
macros/macro-09.vys [deleted file]
macros/macro-10.vys [deleted file]
macros/macro-11.vys [deleted file]
macros/macro-12.vys [deleted file]
macros/macro-s01.vys [deleted file]
macros/macro-s02.vys [deleted file]
macros/macro-s03.vys [deleted file]
macros/macro-s04.vys [deleted file]
macros/macro-s05.vys [deleted file]
macros/macro-s06.vys [deleted file]
macros/macro-s07.vys [deleted file]
macros/macro-s08.vys [deleted file]
macros/macro-s09.vys [deleted file]
macros/macro-s10.vys [deleted file]
macros/macro-s11.vys [deleted file]
macros/macro-s12.vys [deleted file]
macros/macros.vys [new file with mode: 0644]
macros/slideeditor-snapshot.vys
main.cpp [deleted file]
mainwindow.cpp [deleted file]
mainwindow.h [deleted file]
mapeditor.cpp [deleted file]
mapeditor.h [deleted file]
mapitem.cpp [deleted file]
mapitem.h [deleted file]
mapobj.cpp [deleted file]
mapobj.h [deleted file]
misc.cpp [deleted file]
misc.h [deleted file]
mkdtemp.cpp [deleted file]
mkdtemp.h [deleted file]
mysortfilterproxymodel.cpp [deleted file]
mysortfilterproxymodel.h [deleted file]
noteeditor.cpp [deleted file]
noteeditor.h [deleted file]
options.cpp [deleted file]
options.h [deleted file]
ornamentedobj.cpp [deleted file]
ornamentedobj.h [deleted file]
parser.cpp [deleted file]
parser.h [deleted file]
release-notes-2.9.md [new file with mode: 0644]
scripteditor.cpp [deleted file]
scripteditor.h [deleted file]
scripteditor.ui [deleted file]
scriptoutput.cpp [deleted file]
scriptoutput.h [deleted file]
scripts/bugger [deleted file]
scripts/getbinaries [deleted file]
scripts/make-qrc.rb [deleted file]
scripts/makedist-vym [deleted file]
scripts/screencast [deleted file]
scripts/vym-addmail.rb
scripts/vym-ruby.rb
settings.cpp [deleted file]
settings.h [deleted file]
shortcuts.cpp [deleted file]
shortcuts.h [deleted file]
showtextdialog.cpp [deleted file]
showtextdialog.h [deleted file]
showtextdialog.ui [deleted file]
slidecontrolwidget.cpp [deleted file]
slidecontrolwidget.h [deleted file]
slideeditor.cpp [deleted file]
slideeditor.h [deleted file]
slideitem.cpp [deleted file]
slideitem.h [deleted file]
slidemodel.cpp [deleted file]
slidemodel.h [deleted file]
src/aboutdialog.cpp [new file with mode: 0644]
src/aboutdialog.h [new file with mode: 0644]
src/animpoint.cpp [new file with mode: 0644]
src/animpoint.h [new file with mode: 0644]
src/arrowobj.cpp [new file with mode: 0644]
src/arrowobj.h [new file with mode: 0644]
src/attributeitem.cpp [new file with mode: 0644]
src/attributeitem.h [new file with mode: 0644]
src/branchitem.cpp [new file with mode: 0644]
src/branchitem.h [new file with mode: 0644]
src/branchobj.cpp [new file with mode: 0644]
src/branchobj.h [new file with mode: 0644]
src/branchpropeditor.cpp [new file with mode: 0644]
src/branchpropeditor.h [new file with mode: 0644]
src/codeeditor.cpp [new file with mode: 0644]
src/codeeditor.h [new file with mode: 0644]
src/command.cpp [new file with mode: 0644]
src/command.h [new file with mode: 0644]
src/confluence-agent.cpp [new file with mode: 0644]
src/confluence-agent.h [new file with mode: 0644]
src/confluence-settings-dialog.cpp [new file with mode: 0644]
src/confluence-settings-dialog.h [new file with mode: 0644]
src/confluence-user.cpp [new file with mode: 0644]
src/confluence-user.h [new file with mode: 0644]
src/confluence-userdialog.cpp [new file with mode: 0644]
src/confluence-userdialog.h [new file with mode: 0644]
src/darktheme-settings-dialog.cpp [new file with mode: 0644]
src/darktheme-settings-dialog.h [new file with mode: 0644]
src/dbus/adaptormodel.cpp [new file with mode: 0644]
src/dbus/adaptormodel.h [new file with mode: 0644]
src/dbus/adaptorvym.cpp [new file with mode: 0644]
src/dbus/adaptorvym.h [new file with mode: 0644]
src/debuginfo.cpp [new file with mode: 0644]
src/debuginfo.h [new file with mode: 0644]
src/default-map-settings-dialog.cpp [new file with mode: 0644]
src/default-map-settings-dialog.h [new file with mode: 0644]
src/dockeditor.cpp [new file with mode: 0644]
src/dockeditor.h [new file with mode: 0644]
src/download-agent.cpp [new file with mode: 0644]
src/download-agent.h [new file with mode: 0644]
src/editxlinkdialog.cpp [new file with mode: 0644]
src/editxlinkdialog.h [new file with mode: 0644]
src/export-ao.cpp [new file with mode: 0644]
src/export-ao.h [new file with mode: 0644]
src/export-ascii.cpp [new file with mode: 0644]
src/export-ascii.h [new file with mode: 0644]
src/export-base.cpp [new file with mode: 0644]
src/export-base.h [new file with mode: 0644]
src/export-confluence-dialog.cpp [new file with mode: 0644]
src/export-confluence-dialog.h [new file with mode: 0644]
src/export-confluence.cpp [new file with mode: 0644]
src/export-confluence.h [new file with mode: 0644]
src/export-csv.cpp [new file with mode: 0644]
src/export-csv.h [new file with mode: 0644]
src/export-firefox.cpp [new file with mode: 0644]
src/export-firefox.h [new file with mode: 0644]
src/export-html-dialog.cpp [new file with mode: 0644]
src/export-html-dialog.h [new file with mode: 0644]
src/export-html.cpp [new file with mode: 0644]
src/export-html.h [new file with mode: 0644]
src/export-impress.cpp [new file with mode: 0644]
src/export-impress.h [new file with mode: 0644]
src/export-latex.cpp [new file with mode: 0644]
src/export-latex.h [new file with mode: 0644]
src/export-markdown.cpp [new file with mode: 0644]
src/export-markdown.h [new file with mode: 0644]
src/export-orgmode.cpp [new file with mode: 0644]
src/export-orgmode.h [new file with mode: 0644]
src/export-taskjuggler.cpp [new file with mode: 0644]
src/export-taskjuggler.h [new file with mode: 0644]
src/exportoofiledialog.cpp [new file with mode: 0644]
src/exportoofiledialog.h [new file with mode: 0644]
src/extrainfodialog.cpp [new file with mode: 0644]
src/extrainfodialog.h [new file with mode: 0644]
src/file.cpp [new file with mode: 0644]
src/file.h [new file with mode: 0644]
src/findresultitem.cpp [new file with mode: 0644]
src/findresultitem.h [new file with mode: 0644]
src/findresultmodel.cpp [new file with mode: 0644]
src/findresultmodel.h [new file with mode: 0644]
src/findresultwidget.cpp [new file with mode: 0644]
src/findresultwidget.h [new file with mode: 0644]
src/findwidget.cpp [new file with mode: 0644]
src/findwidget.h [new file with mode: 0644]
src/flag.cpp [new file with mode: 0644]
src/flag.h [new file with mode: 0644]
src/flagobj.cpp [new file with mode: 0644]
src/flagobj.h [new file with mode: 0644]
src/flagrow.cpp [new file with mode: 0644]
src/flagrow.h [new file with mode: 0644]
src/flagrowmaster.cpp [new file with mode: 0644]
src/flagrowmaster.h [new file with mode: 0644]
src/flagrowobj.cpp [new file with mode: 0644]
src/flagrowobj.h [new file with mode: 0644]
src/floatimageobj.cpp [new file with mode: 0644]
src/floatimageobj.h [new file with mode: 0644]
src/floatobj.cpp [new file with mode: 0644]
src/floatobj.h [new file with mode: 0644]
src/frameobj.cpp [new file with mode: 0644]
src/frameobj.h [new file with mode: 0644]
src/geometry.cpp [new file with mode: 0644]
src/geometry.h [new file with mode: 0644]
src/heading.cpp [new file with mode: 0644]
src/heading.h [new file with mode: 0644]
src/headingeditor.cpp [new file with mode: 0644]
src/headingeditor.h [new file with mode: 0644]
src/headingobj.cpp [new file with mode: 0644]
src/headingobj.h [new file with mode: 0644]
src/highlighter.cpp [new file with mode: 0644]
src/highlighter.h [new file with mode: 0644]
src/historywindow.cpp [new file with mode: 0644]
src/historywindow.h [new file with mode: 0644]
src/imageitem.cpp [new file with mode: 0644]
src/imageitem.h [new file with mode: 0644]
src/imageobj.cpp [new file with mode: 0644]
src/imageobj.h [new file with mode: 0644]
src/imports.cpp [new file with mode: 0644]
src/imports.h [new file with mode: 0644]
src/jira-agent.cpp [new file with mode: 0644]
src/jira-agent.h [new file with mode: 0644]
src/jira-settings-dialog.cpp [new file with mode: 0644]
src/jira-settings-dialog.h [new file with mode: 0644]
src/lineeditdialog.cpp [new file with mode: 0644]
src/lineeditdialog.h [new file with mode: 0644]
src/linkablemapobj.cpp [new file with mode: 0644]
src/linkablemapobj.h [new file with mode: 0644]
src/lockedfiledialog.cpp [new file with mode: 0644]
src/lockedfiledialog.h [new file with mode: 0644]
src/macros.cpp [new file with mode: 0644]
src/macros.h [new file with mode: 0644]
src/main.cpp [new file with mode: 0644]
src/mainwindow.cpp [new file with mode: 0644]
src/mainwindow.h [new file with mode: 0644]
src/mapeditor.cpp [new file with mode: 0644]
src/mapeditor.h [new file with mode: 0644]
src/mapitem.cpp [new file with mode: 0644]
src/mapitem.h [new file with mode: 0644]
src/mapobj.cpp [new file with mode: 0644]
src/mapobj.h [new file with mode: 0644]
src/misc.cpp [new file with mode: 0644]
src/misc.h [new file with mode: 0644]
src/mkdtemp.cpp [new file with mode: 0644]
src/mkdtemp.h [new file with mode: 0644]
src/mysortfilterproxymodel.cpp [new file with mode: 0644]
src/mysortfilterproxymodel.h [new file with mode: 0644]
src/noteeditor.cpp [new file with mode: 0644]
src/noteeditor.h [new file with mode: 0644]
src/options.cpp [new file with mode: 0644]
src/options.h [new file with mode: 0644]
src/ornamentedobj.cpp [new file with mode: 0644]
src/ornamentedobj.h [new file with mode: 0644]
src/scripteditor.cpp [new file with mode: 0644]
src/scripteditor.h [new file with mode: 0644]
src/scripting.cpp [new file with mode: 0644]
src/scripting.h [new file with mode: 0644]
src/scriptoutput.cpp [new file with mode: 0644]
src/scriptoutput.h [new file with mode: 0644]
src/settings.cpp [new file with mode: 0644]
src/settings.h [new file with mode: 0644]
src/shortcuts.cpp [new file with mode: 0644]
src/shortcuts.h [new file with mode: 0644]
src/showtextdialog.cpp [new file with mode: 0644]
src/showtextdialog.h [new file with mode: 0644]
src/slidecontrolwidget.cpp [new file with mode: 0644]
src/slidecontrolwidget.h [new file with mode: 0644]
src/slideeditor.cpp [new file with mode: 0644]
src/slideeditor.h [new file with mode: 0644]
src/slideitem.cpp [new file with mode: 0644]
src/slideitem.h [new file with mode: 0644]
src/slidemodel.cpp [new file with mode: 0644]
src/slidemodel.h [new file with mode: 0644]
src/task.cpp [new file with mode: 0644]
src/task.h [new file with mode: 0644]
src/taskeditor.cpp [new file with mode: 0644]
src/taskeditor.h [new file with mode: 0644]
src/taskfiltermodel.cpp [new file with mode: 0644]
src/taskfiltermodel.h [new file with mode: 0644]
src/taskmodel.cpp [new file with mode: 0644]
src/taskmodel.h [new file with mode: 0644]
src/texteditor.cpp [new file with mode: 0644]
src/texteditor.h [new file with mode: 0644]
src/treedelegate.cpp [new file with mode: 0644]
src/treedelegate.h [new file with mode: 0644]
src/treeeditor.cpp [new file with mode: 0644]
src/treeeditor.h [new file with mode: 0644]
src/treeitem.cpp [new file with mode: 0644]
src/treeitem.h [new file with mode: 0644]
src/treemodel.cpp [new file with mode: 0644]
src/treemodel.h [new file with mode: 0644]
src/version.cpp [new file with mode: 0644]
src/version.h [new file with mode: 0644]
src/vymlock.cpp [new file with mode: 0644]
src/vymlock.h [new file with mode: 0644]
src/vymmodel.cpp [new file with mode: 0644]
src/vymmodel.h [new file with mode: 0644]
src/vymmodelwrapper.cpp [new file with mode: 0644]
src/vymmodelwrapper.h [new file with mode: 0644]
src/vymnote.cpp [new file with mode: 0644]
src/vymnote.h [new file with mode: 0644]
src/vymprocess.cpp [new file with mode: 0644]
src/vymprocess.h [new file with mode: 0644]
src/vymtext.cpp [new file with mode: 0644]
src/vymtext.h [new file with mode: 0644]
src/vymview.cpp [new file with mode: 0644]
src/vymview.h [new file with mode: 0644]
src/warningdialog.cpp [new file with mode: 0644]
src/warningdialog.h [new file with mode: 0644]
src/winter.cpp [new file with mode: 0644]
src/winter.h [new file with mode: 0644]
src/xlink.cpp [new file with mode: 0644]
src/xlink.h [new file with mode: 0644]
src/xlinkitem.cpp [new file with mode: 0644]
src/xlinkitem.h [new file with mode: 0644]
src/xlinkobj.cpp [new file with mode: 0644]
src/xlinkobj.h [new file with mode: 0644]
src/xml-base.cpp [new file with mode: 0644]
src/xml-base.h [new file with mode: 0644]
src/xml-freemind.cpp [new file with mode: 0644]
src/xml-freemind.h [new file with mode: 0644]
src/xml-vym.cpp [new file with mode: 0644]
src/xml-vym.h [new file with mode: 0644]
src/xmlobj.cpp [new file with mode: 0644]
src/xmlobj.h [new file with mode: 0644]
src/xsltproc.cpp [new file with mode: 0644]
src/xsltproc.h [new file with mode: 0644]
src/zip-settings-dialog.cpp [new file with mode: 0644]
src/zip-settings-dialog.h [new file with mode: 0644]
task.cpp [deleted file]
task.h [deleted file]
taskeditor.cpp [deleted file]
taskeditor.h [deleted file]
taskfiltermodel.cpp [deleted file]
taskfiltermodel.h [deleted file]
taskmodel.cpp [deleted file]
taskmodel.h [deleted file]
test/default.vym
test/maps/legacy/external-note-plaintext.txt [new file with mode: 0644]
test/maps/legacy/external-note-richtext.html [new file with mode: 0644]
test/maps/legacy/faq-2.5.21.xml [new file with mode: 0644]
test/maps/legacy/legacy-text-2.4.0.xml [new file with mode: 0644]
test/maps/legacy/lifeforms-2.1.11.vym [new file with mode: 0644]
test/maps/legacy/notes.xml [new file with mode: 0644]
test/maps/legacy/time-management-1.13.33.vym [new file with mode: 0644]
test/maps/test-default.vym [new file with mode: 0644]
test/start-internal-tests.sh [new file with mode: 0644]
test/start-ruby-tests-legacy.sh [new file with mode: 0644]
test/start-ruby-tests.sh [new file with mode: 0755]
test/start-test.sh [deleted file]
test/vym-selftest.vys [new file with mode: 0644]
test/vym-test-legacy.rb [new file with mode: 0644]
test/vym-test.rb
tex/commands.tex
tex/help.tex [new file with mode: 0644]
tex/images/default-flags.png
tex/images/flags/add-userflag.png [new file with mode: 0644]
tex/images/flags/arrow-up.png [new file with mode: 0644]
tex/images/flags/arrow2-up.png [new file with mode: 0644]
tex/images/flags/arrows.png [new file with mode: 0644]
tex/images/flags/stopsign.png [new file with mode: 0644]
tex/images/flags/system/note.png [new file with mode: 0644]
tex/images/flags/system/target.png [new file with mode: 0644]
tex/images/flags/system/task-finished.png [new file with mode: 0644]
tex/images/flags/system/task-new-sleeping.png [new file with mode: 0644]
tex/images/flags/system/task-new.png [new file with mode: 0644]
tex/images/flags/system/task-not-started.png [new file with mode: 0644]
tex/images/flags/system/task-wip-sleeping.png [new file with mode: 0644]
tex/images/flags/system/task-wip.png [new file with mode: 0644]
tex/images/flags/systemflags.png [new file with mode: 0644]
tex/images/modmodes.png
tex/images/scripteditor.png
tex/images/taskeditor.png
tex/vym.tex
texteditor.cpp [deleted file]
texteditor.h [deleted file]
treedelegate.cpp [deleted file]
treedelegate.h [deleted file]
treeeditor.cpp [deleted file]
treeeditor.h [deleted file]
treeitem.cpp [deleted file]
treeitem.h [deleted file]
treemodel.cpp [deleted file]
treemodel.h [deleted file]
version.cpp [deleted file]
version.h [deleted file]
vym.pro
vym.qrc
vym.rc
vymlock.cpp [deleted file]
vymlock.h [deleted file]
vymmodel.cpp [deleted file]
vymmodel.h [deleted file]
vymnote.cpp [deleted file]
vymnote.h [deleted file]
vymprocess.cpp [deleted file]
vymprocess.h [deleted file]
vymtext.cpp [deleted file]
vymtext.h [deleted file]
vymview.cpp [deleted file]
vymview.h [deleted file]
warningdialog.cpp [deleted file]
warningdialog.h [deleted file]
warningdialog.ui [deleted file]
winter.cpp [deleted file]
winter.h [deleted file]
xlink.cpp [deleted file]
xlink.h [deleted file]
xlinkitem.cpp [deleted file]
xlinkitem.h [deleted file]
xlinkobj.cpp [deleted file]
xlinkobj.h [deleted file]
xml-base.cpp [deleted file]
xml-base.h [deleted file]
xml-freemind.cpp [deleted file]
xml-freemind.h [deleted file]
xml-vym.cpp [deleted file]
xml-vym.h [deleted file]
xmlobj.cpp [deleted file]
xmlobj.h [deleted file]
xsltproc.cpp [deleted file]
xsltproc.h [deleted file]

diff --git a/.clang-format b/.clang-format
new file mode 100644 (file)
index 0000000..5f82f86
--- /dev/null
@@ -0,0 +1,3 @@
+BreakBeforeBraces: Stroustrup
+IndentWidth: 4
+TabWidth: 4
\ No newline at end of file
index 81102ba70591b9b74aee77ebcc2741458750318b..c730a490c9cf17c121141375e0e14e76f07ff54d 100644 (file)
-project( vym )
-cmake_minimum_required( VERSION 2.6 )
-
-if( NOT CMAKE_BUILD_TYPE )
-       set( CMAKE_BUILD_TYPE Debug )
-endif( NOT CMAKE_BUILD_TYPE )
-
-if( CMAKE_COMPILER_IS_GNUCXX )
-       add_definitions ( -Wall )
-endif( CMAKE_COMPILER_IS_GNUCXX )
-
-if( UNIX AND NOT APPLE )
-    set( NO_DBUS_DEFAULT OFF )
-else( UNIX AND NOT APPLE )
-    set( NO_DBUS_DEFAULT ON )
-endif( UNIX AND NOT APPLE )
-
-option( NO_DBUS "Build vym without dbus support" ${NO_DBUS_DEFAULT} )
-
-find_package ( Qt4 REQUIRED )
-include ( ${QT_USE_FILE} )
-add_definitions( ${QT_DEFINITIONS} )
-
-if( WIN32 )
-       add_definitions( -DUNICODE -D_USE_MATH_DEFINES )
-       if( MSVC )
-               set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:wchar_t-" )
-       endif( MSVC )
-endif( WIN32 )
-
-find_package( cppcheck )
-if(CPPCHECK_FOUND)
-       set(_cppcheck_args)
-       list(APPEND _cppcheck_args ${CPPCHECK_INCLUDEPATH_ARG} ${CMAKE_SOURCE_DIR})
-#      list(APPEND _cppcheck_args ${CPPCHECK_INCLUDEPATH_ARG} ${QT_QTCORE_INCLUDE_DIR})
-#      list(APPEND _cppcheck_args ${CPPCHECK_INCLUDEPATH_ARG} ${QT_QTDBUS_INCLUDE_DIR})
-#      list(APPEND _cppcheck_args ${CPPCHECK_INCLUDEPATH_ARG} ${QT_QTGUI_INCLUDE_DIR})
-#      list(APPEND _cppcheck_args ${CPPCHECK_INCLUDEPATH_ARG} ${QT_QTNETWORK_INCLUDE_DIR})
-#      list(APPEND _cppcheck_args ${CPPCHECK_INCLUDEPATH_ARG} ${QT_QTXML_INCLUDE_DIR})
-#      list(APPEND _cppcheck_args ${CPPCHECK_INCLUDEPATH_ARG} ${QT_QTSVG_INCLUDE_DIR})
-
-       list(APPEND _cppcheck_args "enable" "all")
-       
-       add_custom_target(
-               cppcheck
-               COMMAND 
-               "${CPPCHECK_EXECUTABLE}"
-               ${CPPCHECK_TEMPLATE_ARG}
-               ${CPPCHECK_QUIET_ARG}
-               "--force"
-#              "--std=c++11"
-               ${_cppcheck_args}
-               ${CMAKE_SOURCE_DIR}
-       )
-
-       message(STATUS "cppcheck target added.")
-endif(CPPCHECK_FOUND)
-
-include_directories (
-       ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}
-       ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTNETWORK_INCLUDE_DIR} ${QT_QTXML_INCLUDE_DIR} ${QT_QTSVG_INCLUDE_DIR}
-       )
-
-if(NOT NO_DBUS )
-    include_directories( ${QT_QTDBUS_INCLUDE_DIR} )
-endif(NOT NO_DBUS )
-
-set ( vym_HDRS
-      aboutdialog.h
-      taskfiltermodel.h
-      animpoint.h
-      attribute.h
-      attributeitem.h
-      #   attributedelegate.h
-      #   attributedialog.h
-      #   attributewidget.h
-      branchitem.h
-      branchobj.h
-      branchpropeditor.h
-      bugagent.h
-      command.h
-      dockeditor.h
-      downloadagent.h
-      editxlinkdialog.h
-      exportoofiledialog.h
-      exporthtmldialog.h
-      exports.h
-      extrainfodialog.h
-      file.h
-      findwidget.h
-      findresultwidget.h
-      findresultitem.h
-      findresultmodel.h
-      flag.h
-      flagobj.h
-      flagrowobj.h
-      flagrow.h
-      floatimageobj.h
-      floatobj.h
-      frameobj.h
-      geometry.h
-      headingeditor.h
-      headingobj.h
-      highlighter.h
-      historywindow.h
-      imageitem.h
-      imageobj.h
-      imports.h
-      lineeditdialog.h
-      linkablemapobj.h
-      macros.h
-      mainwindow.h
-      mapeditor.h
-      mapitem.h
-      mapobj.h
-      misc.h
-      mysortfilterproxymodel.h
-      noteeditor.h
-      noteobj.h
-      options.h
-      ornamentedobj.h
-      parser.h
-      process.h
-      scripteditor.h
-      settings.h
-      shortcuts.h
-      showtextdialog.h
-      slidecontrolwidget.h
-      slideeditor.h
-      slideitem.h
-      slidemodel.h
-      task.h
-      taskeditor.h
-      taskmodel.h
-      treedelegate.h
-      treeeditor.h
-      treeitem.h
-      treemodel.h
-      texteditor.h
-      version.h
-      vymmodel.h
-      vymview.h
-      winter.h
-      warningdialog.h
-      xlink.h
-      xlinkitem.h
-      xlinkobj.h
-      xml-base.h
-      xml-vym.h
-      xml-freemind.h
-      xmlobj.h
-      xsltproc.h
-       )
-
-set ( vym_SRCS
-      aboutdialog.cpp
-      taskfiltermodel.cpp
-      animpoint.cpp
-      attribute.cpp
-      attributeitem.cpp
-      #   attributedelegate.cpp
-      #   attributedialog.cpp
-      #   attributewidget.cpp
-      branchitem.cpp
-      branchobj.cpp
-      branchpropeditor.cpp
-      bugagent.cpp
-      command.cpp
-      dockeditor.cpp
-      downloadagent.cpp
-      editxlinkdialog.cpp
-      exportoofiledialog.cpp
-      exports.cpp
-      exporthtmldialog.cpp
-      extrainfodialog.cpp
-      file.cpp
-      findwidget.cpp
-      findresultwidget.cpp
-      findresultitem.cpp
-      findresultmodel.cpp
-      flag.cpp
-      flagobj.cpp
-      flagrow.cpp
-      flagrowobj.cpp
-      floatimageobj.cpp
-      floatobj.cpp
-      frameobj.cpp
-      geometry.cpp
-      headingeditor.cpp
-      headingobj.cpp
-      highlighter.cpp
-      historywindow.cpp
-      imageitem.cpp
-      imageobj.cpp
-      imports.cpp
-      lineeditdialog.cpp
-      linkablemapobj.cpp
-      macros.cpp
-      main.cpp
-      mainwindow.cpp
-      mapeditor.cpp
-      mapitem.cpp
-      mapobj.cpp
-      misc.cpp
-      mysortfilterproxymodel.cpp
-      noteeditor.cpp
-      noteobj.cpp
-      options.cpp
-      ornamentedobj.cpp
-      parser.cpp
-      process.cpp
-      scripteditor.cpp
-      settings.cpp
-      shortcuts.cpp
-      showtextdialog.cpp
-      slidecontrolwidget.cpp
-      slideeditor.cpp
-      slideitem.cpp
-      slidemodel.cpp
-      task.cpp
-      taskeditor.cpp
-      taskmodel.cpp
-      texteditor.cpp
-      treedelegate.cpp
-      treeeditor.cpp
-      treeitem.cpp
-      treemodel.cpp
-      version.cpp
-      vymmodel.cpp
-      vymview.cpp
-      winter.cpp
-      warningdialog.cpp
-      xlink.cpp
-      xlinkitem.cpp
-      xlinkobj.cpp
-      xml-base.cpp
-      xml-vym.cpp
-      xml-freemind.cpp
-      xmlobj.cpp
-      xsltproc.cpp
-       )
-
-set ( vym_UIS
-      attributewidget.ui
-      branchpropeditor.ui
-      exporthtmldialog.ui
-      extrainfodialog.ui
-      editxlinkdialog.ui
-      historywindow.ui
-      lineeditdialog.ui
-      scripteditor.ui
-      showtextdialog.ui
-      warningdialog.ui
-       )
-QT4_WRAP_UI(UIS ${vym_UIS})
-
-set ( vym_TRS
-       lang/vym_de_DE.ts
-       lang/vym_en.ts
-       lang/vym_es.ts
-       lang/vym_fr.ts
-       lang/vym_it.ts
-       lang/vym_pt_BR.ts
-       lang/vym_ru.ts
-       lang/vym_sv.ts
-       lang/vym_zh_CN.ts
-       lang/vym_zh_TW.ts
-       lang/vym_cs_CZ.ts
-       )
-QT4_ADD_TRANSLATION(TRS ${vym_TRS})
-
-set ( vym_MOCS
-      aboutdialog.h
-      branchpropeditor.h
-      bugagent.h
-      dockeditor.h
-      downloadagent.h
-      editxlinkdialog.h
-      exportoofiledialog.h
-      exporthtmldialog.h
-      extrainfodialog.h
-      findwidget.h
-      findresultwidget.h
-      findresultmodel.h
-      headingeditor.h
-      highlighter.h
-      historywindow.h
-      lineeditdialog.h
-      mainwindow.h
-      mapeditor.h
-      mysortfilterproxymodel.h
-      noteeditor.h
-      process.h
-      scripteditor.h
-      showtextdialog.h
-      slidecontrolwidget.h
-      slideeditor.h
-      slidemodel.h
-      taskeditor.h
-      taskmodel.h
-      treedelegate.h
-      treeeditor.h
-      treemodel.h
-      texteditor.h
-      vymmodel.h
-      vymview.h
-      winter.h
-      warningdialog.h
-       )
-if( NOT NO_DBUS )
-    add_definitions(-DVYM_DBUS)
-    list(APPEND vym_HDRS adaptormodel.h adaptorvym.h)
-    list(APPEND vym_SRCS adaptormodel.cpp adaptorvym.cpp)
-    list(APPEND vym_MOCS adaptormodel.h adaptorvym.h)
-endif( NOT NO_DBUS )
-QT4_WRAP_CPP(MOCS ${vym_MOCS})
-
-
-
-if( WIN32 )
-       set( vym_SRCS ${vym_SRCS} mkdtemp.cpp vym.rc )
-endif( WIN32 )
-
-add_executable ( vym WIN32 ${vym_SRCS} ${UIS} ${RSCS} ${TRS} ${MOCS} )
-target_link_libraries ( vym  ${QT_QTMAIN_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTSVG_LIBRARY} )
-if( NOT NO_DBUS )
-    target_link_libraries( vym ${QT_QTDBUS_LIBRARY} )
-endif( NOT NO_DBUS )
-
-install( TARGETS vym RUNTIME DESTINATION bin )
-
-set( _installfolders demos exports flags icons macros scripts styles )
-install( DIRECTORY ${_installfolders} DESTINATION share/vym )
-install( FILES ${TRS} DESTINATION share/vym/lang )
+cmake_minimum_required(VERSION 3.12)
+
+project(ViewYourMind)
+
+find_package(Qt5 COMPONENTS Widgets LinguistTools REQUIRED)
+
+set(QtComponents
+    LinguistTools
+    Network
+    PrintSupport
+    Script
+    Svg
+    Widgets
+    Xml
+)
+
+set(QtLibraries
+    Qt5::Network
+    Qt5::PrintSupport
+    Qt5::Script
+    Qt5::Svg
+    Qt5::Widgets
+    Qt5::Xml
+)
+
+# Switch on Debug mode with one of below:
+# cmake -DCMAKE_BUILD_TYPE=Debug .
+# set(CMAKE_BUILD_TYPE Debug)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+# On Linux DBUS is used for IPC with vym
+# On openSUSE install it using:  zypper install dbus-1-devel
+
+if (UNIX)
+    find_package(DBus1)
+
+    if(DBus1_FOUND)
+        LIST(APPEND QtComponents DBus)
+        LIST(APPEND QtLibraries Qt5::DBus)
+    endif()
+endif()
+
+if(WIN32)
+    set(OPENSSL_ROOT_DIR "C:/OpenSSL-Win64")
+    find_package(OpenSSL)
+
+    if( OPENSSL_FOUND )
+        include_directories(${OPENSSL_INCLUDE_DIRS})
+        link_directories(${OPENSSL_LIBRARIES})
+        message(STATUS "Using OpenSSL version: ${OPENSSL_VERSION}")
+    else()
+        message(STATUS "No openSSL found?!")
+        # Error; with REQUIRED, pkg_search_module() will throw an error by it's own
+    endif()
+
+    #target_link_libraries(${YOUR_TARGET_HERE} ${OPENSSL_LIBRARIES})
+    #target_link_libraries(project_name /path/of/libssl.so /path/of/libcrypto.so)
+
+    set(CMAKE_INSTALL_DATAROOTDIR ".")
+ endif()
+
+include(GNUInstallDirs)
+
+find_package(Qt5 COMPONENTS ${QtComponents} REQUIRED)
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+list(APPEND CMAKE_AUTOUIC_SEARCH_PATHS "${CMAKE_SOURCE_DIR}/forms")
+
+get_target_property(QtLibraryType Qt5::Widgets TYPE)
+
+if(QtLibraryType STREQUAL STATIC_LIBRARY)
+    message(STATUS "Static Qt linkage")
+    list(APPEND QtLibraries Qt5::QSvgPlugin)
+endif()
+
+include_directories(
+    ${CMAKE_SOURCE_DIR}
+)
+
+# Source files
+file(GLOB VymSources RELATIVE ${CMAKE_SOURCE_DIR} "src/*.cpp")
+
+if(WIN32)
+    list(APPEND VymSources
+        src/mkdtemp.cpp
+        vym.rc
+    )
+    ADD_COMPILE_DEFINITIONS(_USE_MATH_DEFINES)
+endif()
+
+
+# Add DBUS interfaces, if DBUS is available on platform
+if(DBus1_FOUND)
+    list(APPEND VymSources src/dbus/adaptormodel.cpp src/dbus/adaptorvym.cpp)
+    include_directories(${CMAKE_SOURCE_DIR}/src/dbus ${CMAKE_SOURCE_DIR}/src)
+    ADD_COMPILE_DEFINITIONS(VYM_DBUS)
+endif()
+
+# Translations  (release)
+
+    # To update the translation files based on source code changes 
+    # first call manually 
+    # lupdate-qt5 src/ -ts lang/*.ts
+    #
+    # Qt6 will have a dedicated macro:
+    # https://doc.qt.io/qt-6/qtlinguist-cmake-qt-add-lrelease.html
+
+#file(GLOB ts_files ABSOLUTE ${CMAKE_BINARY_DIR} "lang/*.ts")
+file(GLOB ts_files RELATIVE ${CMAKE_SOURCE_DIR} "lang/*.ts")
+message(STATUS "Creating ${CMAKE_BINARY_DIR}/translations")
+file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/translations")
+set_source_files_properties(${ts_files} PROPERTIES OUTPUT_LOCATION ${CMAKE_BINARY_DIR}/translations)
+#set_source_files_properties(${ts_files} PROPERTIES OUTPUT_LOCATION ${CMAKE_SOURCE_DIR}/translations)
+
+#QT5_create_translation(qm_files ${CMAKE_SOURCE_DIR} ${ts_files})
+#QT5_create_translation(qm_files ${CMAKE_BINARY_DIR} ${ts_files})
+#QT5_create_translation(qm_files ${CMAKE_SOURCE_DIR}/src)
+
+QT5_add_translation(qm_files ${ts_files})
+add_compile_definitions(CMAKE_SOURCE_DIR)
+
+message(STATUS "CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}")
+message(STATUS "ts_files: ${ts_files}")
+message(STATUS "qm_files: ${qm_files}")
+
+ADD_COMPILE_DEFINITIONS(VYMBASEDIR="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}")
+
+add_executable(vym ${VymSources} vym.qrc ${qm_files})
+target_link_libraries(vym ${QtLibraries})
+
+if(WIN32)
+    set_target_properties(vym PROPERTIES WIN32_EXECUTABLE TRUE)
+    install(TARGETS vym DESTINATION "${CMAKE_INSTALL_PREFIX}")
+else()
+    install(TARGETS vym DESTINATION bin)
+endif()
+
+if(APPLE)
+    message(STATUS "Detected APPLE")
+    set_target_properties(vym PROPERTIES MACOSX_BUNDLE TRUE )
+
+    # Add property to Info.plist
+    set(MACOSX_BUNDLE_ICON_FILE vym.icns)
+
+    # tell CMake where to find and install the file itself
+    set(APP_ICON_MACOSX ${CMAKE_CURRENT_SOURCE_DIR}/icons/vym.icns)
+    set_source_files_properties(${APP_ICON_MACOSX} PROPERTIES
+           MACOSX_PACKAGE_LOCATION "Resources")
+
+#FIXME-0    add_executable(vym MACOSX_BUNDLE main.cpp ${APP_ICON_MACOSX})
+target_sources(vym PUBLIC ${APP_ICON_MACOSX})
+endif()
+
+add_custom_target(make-translations-directory ALL
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/translations)
+add_dependencies(vym make-translations-directory)
+
+install(DIRECTORY demos DESTINATION ${CMAKE_INSTALL_DATAROOTDIR})
+install(DIRECTORY doc DESTINATION ${CMAKE_INSTALL_DOCDIR})
+install(FILES doc/vym.1.gz DESTINATION ${CMAKE_INSTALL_MANDIR})
+install(FILES README.md LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR})
+install(DIRECTORY exports flags icons macros ${CMAKE_BINARY_DIR}/translations scripts styles DESTINATION ${CMAKE_INSTALL_DATAROOTDIR})
+
+if(UNIX)
+    install(FILES icons/vym.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps)
+    install(FILES config/vym.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mime/packages)
+    install(FILES config/vym.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
+endif()
diff --git a/INSTALL.txt b/INSTALL.txt
deleted file mode 100644 (file)
index ad33349..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-Installation of vym - view your mind
-====================================
-
-Mac OSX:
-
-Drag the vym application to your desktop, or if you have admin rights,
-directly to your Application folder
-
-
-Please check the vym webpage for installation tipps:
-
-    http://www.insilmaril.de/vym
-
-For general questions please contact the vym mailinglist:
-
-    vym-forum@lists.sourceforge.net
-
-
index 586634ee41d15fa382b5941b3ae681f3d9e15ec2..427f9a1480778f81a16639a469e21cee341bfc7e 100644 (file)
@@ -1,5 +1,5 @@
     VYM - View Your Mind
-    Copyright (C) 2004-2016 Uwe Drechsel  
+    Copyright (C) 2004-2023 Uwe Drechsel  
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License version 2 as published by
index 6334cde86d33839e9e926f47ef817e718411889e..570a5254e8589e54538b2bd0ad95fa3e36f20afe 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
-###VYM - View Your Mind (c) 2004-2017 by Uwe Drechsel###
+VYM - View Your Mind (c) 2004-2023 by Uwe Drechsel
+==================================================
 
 Documentation
 -------------
@@ -6,19 +7,18 @@ Documentation
 * PDF
 
     The complete documentation of vym is available as PDF document in
-    english and spanish. (The spanish version is not really up to date,
-    translators are welcome). It can be accessed directly from vym via
-    the help section It also can be downloaded from the vym site at
-    Sourceforge:
+    English, French and Spanish. (Only the English version is really up
+    to date, translators are welcome). PDFs can be accessed directly from
+    vym via the help section. They also can be downloaded from github at
 
-       https://sourceforge.net/projects/vym/
+    https://github.com/insilmaril/vym/tree/develop/doc
 
 * Screencasts
 
     There are several screencasts available on YouTube, which show some
-    feature of vym and how to use them:
+    features of vym and how to use them:
 
-       http://www.youtube.com/user/ViewYourMind
+    http://www.youtube.com/user/ViewYourMind
 
 
 Download
@@ -27,13 +27,23 @@ Download
 The official downloads for all platforms are available at the project
 site:
 
-       https://sourceforge.net/projects/vym/
+https://sourceforge.net/projects/vym/
 
-The latest binaries for Linux (currently mainly openSUSE) are found in the
-Open Build Service project of Uwe Drechsel (aka insilmaril):
+The latest development drops can be found in the Files/Development folder there.
 
-    http://download.opensuse.org/repositories/home%3A//insilmaril/
+The latest binaries for Linux, Debian and Ubuntu are built and available in the authors
+Open Build Service project:
 
+https://software.opensuse.org/download.html?project=home%3Ainsilmaril&package=vym
+
+
+Source code
+-----------
+
+The source code was hosted on Sourceforge for 16 years, but in
+2021 the development moved to github:
+
+https://github.com/insilmaril/vym
 
 
 Installation
@@ -41,43 +51,43 @@ Installation
 
 * Binaries
 
-    Installation depends on the platform you use, please check the
-    homepage for details:
+    Binaries for all major platforms can be found on:
 
-       http://www.insilmaril.de/vym
+    https://sourceforge.net/projects/vym/
 
-* Compiling
+    Packages there are: openSUSE rpm, Ubuntu deb, Apple dmg, Windows exe
 
-    Compiling vym from scratch is pretty easy, if you have the
-    development packages of the Qt5 toolkit installed. (Check also the
-    homepage above for details):
+    More Linux like packages and developer versions are built in
+    Open Build Service:
+
+    https://build.opensuse.org/package/show/home:insilmaril/vym
 
-    qmake
-    make
-    make install
 
-* Testing (without installing!)
+* Compiling
+
+    Compiling vym from scratch is pretty easy, if you have the
+    development packages of the Qt5 toolkit installed.
 
-    You can also run vym virtually in your webbrowser: vym is available
-    as appliance in SUSE Studio. SUSE Studio is a very easy way to
-    create appliances, which are customized Linux operating systems.
+    On the command line you can
 
-    All you need is to quickly create a free account and search for
-    "vym" by user "insilmaril" in the gallery:
+      cmake .
+      make
+      make install
 
-       http://susestudio.com
+    or using Qt Creator:
 
-    The appliance can be downloaded as installable iso image, or run in
-    the testdrive - in your webbrowser! That's a bit slow, but gives you
-    an idea without having to install anything at all on your system.
+    In "File" do "Open file or project" and select the
+    "CMakeLists.txt". This will setup the project.
 
 
 Questions and feedback
 ----------------------
 
-Please direct questions to the mailinglist first: 
+Bugs and feature requests will be taken care of in
 
-    vym-forum@lists.sourceforge.net
+  https://github.com/insilmaril/vym/issues
 
+Please direct support questions to the mailinglist first:
 
+  vym-forum@lists.sourceforge.net
 
diff --git a/aboutdialog.cpp b/aboutdialog.cpp
deleted file mode 100644 (file)
index 8d3ae05..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-#include <QDate>
-#include <QFrame>
-#include <QProcess>
-#include <QVBoxLayout>
-
-#include "aboutdialog.h"
-#include "settings.h"
-
-
-extern Settings settings;
-extern QString iconPath;    // FIXME-4 embed vym logo as ressource?
-extern QString vymVersion;
-extern QString vymBuildDate;
-extern QString vymCodeName;
-
-AboutDialog::AboutDialog( QWidget *parent)
-    : QDialog( parent)
-{
-    mainLayout=new QVBoxLayout( this);
-
-    tabs=new QTabWidget (this);
-    credits=new AboutTextBrowser (parent);
-
-    credits->setHtml( QString(
-    "<center><img src=\"" + iconPath + "vym-128x128.png\"></center>"
-    "<h3><center>VYM - View Your Mind </h3>"
-    "<p align=\"center\"> A tool to put the things you have got in your mind into a map.</p>"
-    "<p align=\"center\"> (c) 2004-%1 by Uwe Drechsel (<a href=\"mailto:vym@InSilmaril.de\">vym@InSilmaril.de</a>)</p>"
-    "<p align=\"center\"> Version " +vymVersion+" - " +vymBuildDate+"</p>"
-    "<p align=\"center\"> " +vymCodeName+"</p>"
-    "<ul>"
-    "<li> Contact</li>"
-       "<ul>"
-           "<li> vym homepage:<br> <a href=\"http://www.InSilmaril.de/vym\">"
-           "http://www.InSilmaril.de/vym</a></li>"
-           "<li> Project homepage on Sourceforge:<br> <a href=\"http://sourceforge.net/projects/vym/\">"
-           "http://sourceforge.net/projects/vym/</a></li>"
-           "<li> Mailinglists are also on Sourceforge:"
-               "<ul>"
-                   "<li>Please ask general questions about vym  on "
-               "<a href=\"mailto:vym-forum@lists.sourceforge.net\">vym-forum</a></li>"
-               "<li>Subscribe/Unsubscribe and archives can be found  "
-               "<a href=\"https://sourceforge.net/mail/?group_id=127802\">here</a></li>"
-               "</ul>"
-       "</ul>"     
-    "<li> Credits " 
-    "<ul>"
-    "<li>Documentation"
-    "  <ul>"
-    "    <li>Peter Adams: documentation proofreading and polishing</li>"
-    "  </ul>"
-    "</li>"
-    "<li>Translation"
-    "  <ul>"
-    "    <li>Brasilian: Amadeu Júnior</li>"
-    "    <li>Chinese (simplified): Moligaloo</li>"
-    "    <li>Chinese (traditional): Wei-Lun Chao </li>"
-    "    <li>Croatian: Damir Brašnić </li>"
-    "    <li>Czech: Pavel Fric</li>"
-    "    <li>French: Marc Sert, Philippe Caillaud and Claude </li>"
-    "    <li>Greek: Yannis Kaskamanidis</li>"
-    "    <li>Interlingua: Giovanni Sora</li>"
-    "    <li>Italian: Giovanni Sora, Seyed Puria Nafisi Azizi </li>"
-    "    <li>Japanese: Tsuren Tsuchiya</li>"
-    "    <li>Russian: Anton Olenev</li>"
-    "    <li>Spanish: <a href=\"http://ieee.udistrital.edu.co/aclibre\">" 
-    "                 ACLibre (Academia y Conocimiento Libre)</a> and David Amian</li>"
-    "  </ul>"
-    "</li>"
-    "<li> Patches"
-    "  <ul>"
-    "    <li>Darren Lissimore: Windows compiler patch </li>"
-    "    <li>Konstantin Goudkov: sort branches</li>"
-    "    <li>Jakob Hilmer: image drag and drop in 1.8.1, &quot;About vym&quot; window patch </li>"
-    "    <li>Edward Wang: adding close tab buttons</li>"
-    "    <li>p0llox (Pierre): various patches for Debian packaging</li>"
-    "  </ul>"
-    "</li>"
-    "<li> Patches in previous vym versions"
-    "  <ul>"
-    "    <li>Łukasz Pietrzak, Scott Dillman and Patrick Spendrin, Andrew Ng, " 
-            "Juha Ruotsalainen and Thomas Kriener: windows patches</li>"
-    "    <li>Thomas Schraitle for the stylesheet"  
-    "        formerly used for XHTML-export and help with XML processing in general</li>"
-    "    <li>Matt from <a href=\"http://www.satbp.com\">www.satbp.com</a>: "
-    "        <a href=\"http://www.taskjuggler.org\">Taskjuggler</a> export</li>"
-    "  </ul>"
-    "</li>"
-    "<li> Packaging"
-    "</li>"
-    "  <ul>"
-    "    <li>Jon Ciesla: Sourceforge file releases</li>"
-    "    <li>Xavier Oswald, Christoph Thielecke, Pierre, and Steffen Joeris: Debian packaging</li>"
-    "  </ul>"
-    "<li> General"
-    "  <ul>"
-    "    <li>CMake setup by Costantino Giuliodori and Patrick Spendrin</li>"
-    "    <li>All the guys at Trolltech (now Digia) for their Qt toolkit</li>"
-    "    <li>All the guys at SUSE Linux for openSUSE Linux and support,"
-    "        e.g. to get Linux running on PowerPC and also Macbooks</li>"
-    "  </ul>"
-    "</li>"
-    "</ul>"
-    "</li>").arg( QDate::currentDate().year() ) );;
-    credits->setFrameStyle( QFrame::Panel | QFrame::Plain );
-    tabs->addTab (credits, tr("Credits","Help->About vym dialog"));
-
-    license=new AboutTextBrowser (parent);
-    license->setText ( QString(
-    "<center>"
-    "<h3>VYM - View Your Mind</h3>"
-    "<p>Copyright (C) 2004-%1 Uwe Drechsel</p>"  
-    "</center>"
-
-    "<p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.</p>"
-
-    "<p>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 below for more details.</p>"
-
-    "<p>In addition, as a special exception, Uwe Drechsel gives permission to link the code of this program with the QT libraries from trolltech.com (or with modified versions of QT that use the same license as QT), and distribute linked combinations including the two. You must obey the GNU General Public License in all respects for all of the code used other than QT. If you modify this file, you may extend this exception to your version of the file, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.</p> "
-
-    "<p>Uwe Drechsel can be contacted at <a href=\"mailto:vym@insilmaril.de\">vym@insilmaril.de</a></p>"
-
-    "<hr>"
-
- "<p align=\"center\">GNU GENERAL PUBLIC LICENSE<br>"
-"Version 2, June 1991</p>"
-
-"<p align=\"center\">Copyright (C) 1989, 1991 Free Software Foundation, Inc.  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</p>"
-     
-"<p align=\"center\"> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.</p>"
-
-"<p align=\"center\">Preamble</p>"
-
-"<p>The licenses for most software are designed to take away your freedom to share and change it.  By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.  This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it.  (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.)  You can apply it to your programs, too.</p>"
-
-"<p>When we speak of free software, we are referring to freedom, not price.  Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.</p>"
-
-"<p>  To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights.  These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.</p>"
-
-"<p>  For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have.  You must make sure that they, too, receive or can get the source code.  And you must show them these terms so they know their rights.</p>"
-
-"<p>  We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.</p>"
-
-"<p>  Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software.  If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.</p>"
-
-"<p>  Finally, any free program is threatened constantly by software patents.  We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary.  To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.</p>"
-
-"<p>  The precise terms and conditions for copying, distribution and modification follow.</p>"
-
-"<p align=\"center\">          GNU GENERAL PUBLIC LICENSE</p>"
-"<p align=\"center\">   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</p>"
-
-"<p>  0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License.  The \"Program\", below, refers to any such program or work, and a \"work based on the Program\" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.  (Hereinafter, translation is included without limitation in the term \"modification\".)  Each licensee is addressed as \"you\".</p>"
-
-"<p>Activities other than copying, distribution and modification are not covered by this License; they are outside its scope.  The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program).  Whether that is true depends on what the Program does.</p>"
-
-"<p>  1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.</p>"
-
-"<p>You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.</p>"
-
-"<p>  2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:"
-"<ol type=\"a\">"
-    "<li> You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.</li>"
-
-    "<li> You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.</li>"
-
-    "<li> If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License.  (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)</li>"
-"</ol>"
-"</p>"
-
-"<p>These requirements apply to the modified work as a whole.  If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works.  But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.</p>"
-
-"<p>Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.</p>"
-
-"<p>In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.</p>"
-
-"<p>  3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:" "<ol type=\"a\">"
-
-"    <li> Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,</li>"
-
-"    <li> Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,</li>"
-
-"    <li> Accompany it with the information you received as to the offer to distribute corresponding source code.  (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)</li>"
-"</ol></p>"
-
-"<p>The source code for a work means the preferred form of the work for making modifications to it.  For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.  However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.</p>"
-
-"<p>If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.</p>"
-
-"<p>  4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License.  Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License.  However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.</p>"
-
-"<p>  5. You are not required to accept this License, since you have not signed it.  However, nothing else grants you permission to modify or distribute the Program or its derivative works.  These actions are prohibited by law if you do not accept this License.  Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.</p>"
-
-"<p>  6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions.  You may not impose any further restrictions on the recipients' exercise of the rights granted herein.  You are not responsible for enforcing compliance by third parties to this License.</p>"
-
-"<p>  7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License.  If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all.  For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.</p>"
-
-"<p>If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.</p>"
-
-"<p>It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices.  Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.</p>"
-
-"<p>This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.</p>"
-
-"<p>  8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded.  In such case, this License incorporates the limitation as if written in the body of this License.</p>"
-
-"<p>  9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time.  Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.</p>"
-
-"<p>Each version is given a distinguishing version number.  If the Program specifies a version number of this License which applies to it and \"any later version\", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation.  If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.</p>"
-
-"<p>  10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission.  For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this.  Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.</p>"
-
-"<p align=\"center\">NO WARRANTY</p>"
-
-"<p>  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>"
-
-"<p>  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>"
-
-"<p align=\"center\">END OF TERMS AND CONDITIONS</p>").arg( QDate::currentDate().year() ) );
-
-    credits->setFrameStyle( QFrame::Panel | QFrame::Plain );
-    tabs->addTab (license, tr("License","Help->About vym dialog"));
-
-    mainLayout->addWidget (tabs);
-
-    okbutton =new QPushButton (this);
-    okbutton->setText (tr("Ok","Ok Button"));
-    okbutton->setMaximumSize (QSize (50,30));
-    okbutton->setAutoDefault (true);
-    mainLayout->addWidget( okbutton); 
-
-    connect( okbutton, SIGNAL( clicked() ), this, SLOT( accept() ) );
-}
-
-AboutTextBrowser::AboutTextBrowser(QWidget *parent)
-    : QTextBrowser(parent)
-{
-}
-
-void AboutTextBrowser::setSource(const QUrl &url )
-{
-    QProcess *proc= new QProcess ();
-    proc->start( settings.value("/system/readerURL").toString(),QStringList ()<<url.toString());
-    //if (!proc->waitForStarted() &&mainWindow->settingsURL() ) setSource(url);
-    if (!proc->waitForStarted() )
-       QMessageBox::warning(0, 
-       tr("Warning","About window"),
-       tr("Couldn't find a viewer to open %1.\n","About window").arg(url.toString())+
-       tr("Please use Settings->")+tr("Set application to open an URL..."));
-
-}
diff --git a/aboutdialog.h b/aboutdialog.h
deleted file mode 100644 (file)
index c5a0dfd..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef ABOUTDIALOG_H
-#define ABOUTDIALOG_H
-
-#include <QTabWidget>
-#include <QTextBrowser>
-#include <QLayout>
-#include <QDialog>
-#include <QPushButton>
-#include <QString>
-#include <QMessageBox>
-
-class AboutTextBrowser;
-
-/*! \mainpage View Your Mind - Development documentation
-  \section intro_sec Introduction
-VYM  (View Your Mind) is a tool to generate and manipulate maps which
-show your thoughts. Such maps can help you to improve your creativity
-and effectivity. You can use them for time management, to organize
-tasks, to get an overview over complex contexts, to sort your ideas
-etc. Some people even think it is fun to work with such maps...
-
-  
-  \section install_sec Installation
-
-  Please look at the INSTALL.TXT file 
-  \section doc_sec Documentation
-
-  The complete documentation is available as a PDF file. Please look
-  into the doc subdirectory.
-
-*/
-
-
-
-/*! \brief Dialog showing authors, version and license
-*/
-
-
-class AboutDialog :public QDialog
-{
-    Q_OBJECT
-
-public:
-    AboutDialog(QWidget* parent = 0);
-
-private:
-    QTabWidget *tabs;
-    AboutTextBrowser *credits;
-    AboutTextBrowser *license;
-
-    QLayout *mainLayout;
-    QLayout *topLayout;
-    QLayout *bottomLayout;
-    QPushButton *okbutton;
-    
-};
-
-/*! \brief Overloaded QTextBrowser which is used in AboutDialog
-*/
-class AboutTextBrowser : public QTextBrowser
-{
-  Q_OBJECT;
- public:
-  AboutTextBrowser(QWidget *parent);
- public slots:
-    virtual void setSource(const QUrl &url);
-};
-
-#endif
diff --git a/adaptormodel.cpp b/adaptormodel.cpp
deleted file mode 100644 (file)
index 27ddd8f..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#include "adaptormodel.h"
-#include <QtCore/QMetaObject>
-#include <QtCore/QString>
-#include <QtCore/QVariant>
-
-#include "branchitem.h"
-#include "mainwindow.h"
-#include "vymmodel.h"
-
-extern QString vymInstanceName;
-extern Main *mainWindow;
-
-AdaptorModel::AdaptorModel(QObject *obj)
-         : QDBusAbstractAdaptor(obj)
-{
-    model=static_cast <VymModel*> (obj);
-    setAutoRelaySignals (true);
-}
-
-void AdaptorModel::setModel(VymModel *vm)
-{
-    model=vm;
-}
-
-QString AdaptorModel::caption()
-{
-    return m_caption;
-}
-
-void AdaptorModel::setCaption (const QString &newCaption)
-{
-    m_caption=newCaption;
-}
-
-QDBusVariant AdaptorModel::getCurrentModelID()
-{
-    return QDBusVariant (mainWindow->currentModelID());
-}
-
-QDBusVariant AdaptorModel::branchCount()
-{
-    BranchItem *selbi=model->getSelectedBranch();
-    if (selbi) 
-       return QDBusVariant (selbi->branchCount() );
-    else       
-       return QDBusVariant (-1 );
-}
-
-QDBusVariant AdaptorModel::execute (const QString &s)
-{
-    return QDBusVariant (model->execute (s));
-}
-
-QDBusVariant AdaptorModel::errorLevel()
-{
-    return QDBusVariant (model->parser.errorLevel() );
-}
-
-QDBusVariant AdaptorModel::errorDescription()
-{
-    return QDBusVariant (model->parser.errorDescription() );
-}
-
-QDBusVariant AdaptorModel::listCommands ()
-{
-    return QDBusVariant (model->parser.getCommands().join(",") );
-}
-
diff --git a/adaptormodel.h b/adaptormodel.h
deleted file mode 100644 (file)
index eeb61e6..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef ADAPTORModel_H
-#define ADAPTORModel_H
-
-#include <QtCore/QObject>
-#include <QtDBus/QtDBus>
-
-class VymModel;
-class QString;
-
-class AdaptorModel: public QDBusAbstractAdaptor
-{
-    Q_OBJECT
-    Q_CLASSINFO("D-Bus Interface", "org.insilmaril.vym.model.adaptor")
-
-private:
-       VymModel *model;
-
-public:
-    AdaptorModel(QObject *obj);
-    void setModel (VymModel *vm);
-
-public: // PROPERTIES
-    QString m_caption;
-    QString caption();
-    void setCaption(const QString &newCaption);
-
-public slots: // METHODS
-    QDBusVariant getCurrentModelID();
-    QDBusVariant branchCount();
-    QDBusVariant execute (const QString &s);
-    QDBusVariant errorLevel();
-    QDBusVariant errorDescription();
-    QDBusVariant listCommands();
-
-Q_SIGNALS: // SIGNALS
-    void crashed();
-};
-
-#endif
diff --git a/adaptorvym.cpp b/adaptorvym.cpp
deleted file mode 100644 (file)
index 5bff85c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <QtCore/QMetaObject>
-#include <QtCore/QString>
-#include <QtCore/QVariant>
-
-#include "adaptorvym.h"
-#include "mainwindow.h"
-
-extern QString vymInstanceName;
-extern QString vymVersion;
-extern Main *mainWindow;
-
-AdaptorVym::AdaptorVym(QObject *obj)
-         : QDBusAbstractAdaptor(obj)
-{
-    setAutoRelaySignals (true);
-}
-
-QDBusVariant AdaptorVym::modelCount()
-{
-    return QDBusVariant (mainWindow->modelCount() );
-}
-
-void AdaptorVym::gotoModel(const int &n)
-{
-    mainWindow->gotoWindow (n);
-}
-
-QDBusVariant AdaptorVym::getInstanceName()
-{
-    return QDBusVariant (vymInstanceName);
-}
-
-QDBusVariant AdaptorVym::getVersion()
-{
-    return QDBusVariant (vymVersion);
-}
-
-QDBusVariant AdaptorVym::execute(const QString &s)
-{
-    return QDBusVariant (mainWindow->execute (s) );
-}
diff --git a/adaptorvym.h b/adaptorvym.h
deleted file mode 100644 (file)
index 6e867f3..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef ADAPTORVYM_H
-#define ADAPTORVYM_H
-
-#include <QtCore/QObject>
-#include <QtDBus/QtDBus>
-
-class MainWindow;
-
-class AdaptorVym: public QDBusAbstractAdaptor
-{
-    Q_OBJECT
-    Q_CLASSINFO("D-Bus Interface", "org.insilmaril.vym.main.adaptor")
-
-public:
-    AdaptorVym (QObject *obj);
-
-public slots: // METHODS
-    QDBusVariant modelCount ();
-    void gotoModel (const int &n);
-    QDBusVariant getInstanceName();
-    QDBusVariant getVersion();
-    QDBusVariant execute ( const QString &s);
-
-Q_SIGNALS: // SIGNALS
-    void crashed();
-};
-
-#endif
diff --git a/animpoint.cpp b/animpoint.cpp
deleted file mode 100644 (file)
index 530b459..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-#include "animpoint.h"
-
-#include <math.h>
-
-AnimPoint::AnimPoint()
-{
-    init();
-}
-
-void AnimPoint::operator= ( const AnimPoint & other )
-{
-    copy (other);
-}
-
-void AnimPoint::operator= ( const QPointF & other )
-{
-    init();
-    setX (other.x() );
-    setY (other.x() );
-}
-
-bool AnimPoint::operator== ( const QPointF& other )
-{
-    QPointF p( x(),y());
-    return p == other;
-}
-
-bool AnimPoint::operator== ( AnimPoint  other )
-{
-    if (rx() != other.rx() ) return false;
-    if (ry() != other.ry() ) return false;
-    if (startPos != other.startPos) return false;
-    if (destPos  != other.destPos) return false;
-    if (animated != other.animated ) return false;
-
-    return true;
-}
-
-void AnimPoint::init ()
-{
-    animated=false;
-    n=0;
-    startPos=QPointF(0,0);
-    destPos=QPointF(0,0);
-    vector=QPointF(0,0);
-    animTicks=10;
-}
-
-void AnimPoint::copy (AnimPoint other)
-{
-    setX (other.x() );
-    setY (other.x() );
-    startPos=other.startPos;
-    destPos=other.destPos;
-    vector=other.vector;
-    animated=other.animated;
-    n=other.n;
-    animTicks=other.animTicks;
-}
-
-void AnimPoint::setStart(const QPointF &p)
-{
-    startPos=p;
-    initVector();
-}
-
-QPointF AnimPoint::getStart()
-{
-    return startPos;
-}
-
-
-void AnimPoint::setDest(const QPointF &p)
-{
-    destPos=p;
-    initVector();
-}
-
-QPointF AnimPoint::getDest()
-{
-    return destPos;
-}
-
-void AnimPoint::setTicks (const uint &t)
-{
-    animTicks=t;
-}
-
-uint AnimPoint::getTicks()
-{
-    return (uint) animTicks;
-}
-
-void AnimPoint::setAnimated(bool b)
-{
-    animated=b;
-    if (b) n=0;
-}
-
-bool AnimPoint::isAnimated()
-{
-    return animated;
-}
-
-bool AnimPoint::animate()
-{
-    if (!animated) return false;
-    n++;
-    if (n>animTicks)
-    {
-       vector=QPointF(0,0);
-       animated=false;
-       setX (destPos.x() );
-       setY (destPos.y() );
-       return false;
-    }
-
-    // Some math to slow down the movement in the end
-    qreal f=1-n/(qreal)animTicks;
-    qreal ff=1-f*f*f;
-    setX (startPos.x() + vector.x()*ff );
-    setY (startPos.y() + vector.y()*ff );
-
-    return animated;
-}
-
-void AnimPoint::stop()
-{
-    animated=false;
-    setX (destPos.x());
-    setY (destPos.y());
-}
-
-void AnimPoint::initVector()
-{
-    vector.setX (destPos.x()-startPos.x() );
-    vector.setY (destPos.y()-startPos.y() );
-}
-
-
diff --git a/animpoint.h b/animpoint.h
deleted file mode 100644 (file)
index a7c6435..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef ANIMPOINT_H
-#define ANIMPOINT_H
-
-#include <QPointF>
-
-class AnimPoint: public QPointF
-{
-public:
-    AnimPoint();
-    void operator= ( const AnimPoint & );
-    void operator= ( const QPointF & );
-    bool operator== ( const QPointF & );
-    bool operator== ( AnimPoint  );
-    void init();
-    void copy(AnimPoint other);
-    void setStart (const QPointF &);
-    QPointF getStart();
-    void setDest (const QPointF &);
-    QPointF getDest();
-    void setTicks (const uint &t);
-    uint getTicks();
-    void setAnimated(bool);
-    bool isAnimated ();
-    bool animate();
-    void stop();
-
-private:
-    void initVector();
-
-    QPointF startPos;
-    QPointF destPos;
-    QPointF vector;
-    qreal n;
-    uint animTicks;
-    bool animated;
-
-};
-
-#endif
diff --git a/arrowobj.cpp b/arrowobj.cpp
deleted file mode 100644 (file)
index 67f6c0e..0000000
+++ /dev/null
@@ -1,218 +0,0 @@
-#include "arrowobj.h"
-#include "misc.h"
-
-#include <QDebug>
-#include <QGraphicsScene>
-
-/////////////////////////////////////////////////////////////////
-// ArrowObj
-/////////////////////////////////////////////////////////////////
-
-ArrowObj::ArrowObj (MapObj* parent):MapObj(parent)
-{
-    init();
-}
-
-ArrowObj::~ArrowObj ()
-{
-    delete arrowBegin;
-    delete arrowEnd;
-    delete line;
-}
-
-void ArrowObj::init () 
-{
-    QPen pen;
-
-    pen.setStyle (Qt::SolidLine);
-    arrowBegin=scene()->addPolygon (QPolygonF(), pen );        
-    arrowBegin->setZValue (dZ_XLINK);
-    arrowEnd=scene()->addPolygon (QPolygonF(), pen );  
-    arrowEnd->setZValue (dZ_XLINK);
-
-    line=scene()->addLine ( QLineF(), pen );   
-    line->setZValue (dZ_XLINK);
-
-    arrowSize=4;
-    useFixedLength=false;
-    setStyleBegin (None);
-    setStyleEnd   (HeadFull);
-}
-
-void ArrowObj::setPen (QPen p)
-{
-    pen = p;
-    line->setPen( pen);
-
-    // end shall have same style as xlink
-    QPen pen_solid = pen;
-    pen_solid.setStyle (Qt::SolidLine);
-    arrowBegin->setPen( pen_solid );
-    arrowEnd->setPen( pen_solid );
-
-    setStyleBegin( styleBegin );
-    setStyleEnd( styleEnd );
-}
-
-QPen ArrowObj::getPen()
-{
-    return pen;
-}
-
-void ArrowObj::setArrowSize(qreal r)
-{
-    arrowSize = r;
-}
-
-qreal ArrowObj::getArrowSize()
-{
-    return arrowSize;
-}
-
-void ArrowObj::setUseFixedLength( bool b)
-{
-    useFixedLength = b;
-}
-
-bool ArrowObj::getUseFixedLength()
-{
-    return useFixedLength;
-}
-
-void ArrowObj::setFixedLength(int i)
-{
-    fixedLength = i;
-}
-
-int ArrowObj::getFixedLength()
-{
-    return fixedLength;
-}
-
-void ArrowObj::show()
-{
-    setVisibility( true );
-}
-
-void ArrowObj::hide()
-{
-    setVisibility( false );
-}
-
-void ArrowObj::setVisibility (bool b)
-{
-    MapObj::setVisibility (b);
-    if (b)
-    {
-        if (styleEnd != None)
-            arrowEnd->show();
-        else
-            arrowEnd->hide();
-        if (useFixedLength && fixedLength == 0)
-            line->hide();
-        else
-            line->show();
-    }
-    else
-    {
-       arrowEnd->hide();
-       line->hide();
-    }
-}
-
-void ArrowObj::setEndPoint (QPointF p)
-{
-    endPoint = p;
-
-    line->setLine(absPos.x(),absPos.y(), p.x(), p.y());
-    arrowEnd->setPos(absPos);
-
-    qreal a = getAngle( endPoint - absPos );
-    arrowEnd->setRotation( -a / 6.28 * 360);
-    arrowEnd->setPos( endPoint );
-}
-
-QPointF ArrowObj::getEndPoint ()
-{
-    return endPoint;
-}
-
-void ArrowObj::setStyleBegin (const QString &s) 
-{
-    if (s=="HeadFull")
-        setStyleBegin( ArrowObj::HeadFull );
-    else
-        setStyleBegin( ArrowObj::None );
-}
-
-void ArrowObj::setStyleBegin (OrnamentStyle os) 
-{
-    styleBegin = os;
-    switch (styleBegin) 
-    {
-        case HeadFull:
-            arrowEnd->setPolygon( getArrowHead() );
-            arrowBegin->setBrush( pen.color() ); 
-            break;
-        case Foot: break;
-        case None: 
-            arrowBegin->setPolygon( QPolygonF() );
-            break;
-    }
-}
-
-ArrowObj::OrnamentStyle ArrowObj::getStyleBegin()
-{
-    return styleBegin;
-}
-
-void ArrowObj::setStyleEnd (const QString &s) 
-{
-    if (s=="HeadFull")
-        setStyleEnd( ArrowObj::HeadFull );
-    else
-        setStyleEnd( ArrowObj::None );
-}
-
-void ArrowObj::setStyleEnd (OrnamentStyle os)
-{
-    styleEnd = os;
-    switch (styleEnd) 
-    {
-        case HeadFull:
-            arrowEnd->setPolygon( getArrowHead() );
-            arrowEnd->setBrush( pen.color() ); 
-            break;
-        case Foot: break;
-        case None: 
-            arrowEnd->setPolygon( QPolygonF() );
-            break;
-    }
-}
-
-QPolygonF ArrowObj::getArrowHead()
-{
-    QPointF a,b,c;
-    QPolygonF pa;
-    b = a + QPointF( -arrowSize *2, -arrowSize);
-    c = a + QPointF( -arrowSize *2, +arrowSize);
-    pa << a << b << c;
-    return pa;
-}
-
-ArrowObj::OrnamentStyle ArrowObj::getStyleEnd()
-{
-    return styleEnd;
-}
-
-QString ArrowObj::styleToString(const OrnamentStyle &os)
-{
-    switch (os)
-    {
-        case HeadFull: return "HeadFull"; break;
-        case None: return "None"; break;
-        default: qWarning()<<"ArrowObj::styleToString unknown style "<<os;
-    }
-    return "Unknown";
-}
-
diff --git a/arrowobj.h b/arrowobj.h
deleted file mode 100644 (file)
index fd03952..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef ARROWOBJ_H
-#define ARROWOBJ_H
-
-#include "mapobj.h"
-
-#include <QPen>
-
-/*! \brief arrows are used to indicate partially hidden ends of xlinks and
-    also the ends of xlinks. 
-*/
-
-/////////////////////////////////////////////////////////////////////////////
-
-class ArrowObj:public MapObj {
-public:
-    enum OrnamentStyle {None, HeadFull, Foot};
-    ArrowObj (MapObj* parent);
-    virtual ~ArrowObj ();
-    virtual void init ();
-    void setPen( QPen pen );
-    QPen getPen();
-    void setArrowSize(qreal r);
-    qreal getArrowSize();
-    void setFixedLength(int i);
-    int  getFixedLength();
-    void setUseFixedLength(bool b);
-    bool getUseFixedLength();
-    void show();
-    void hide();
-    void setVisibility (bool b);
-    void setEndPoint (QPointF p);
-    QPointF getEndPoint ();
-    void setStyleBegin (OrnamentStyle os);
-    void setStyleBegin (const QString &s);
-    OrnamentStyle getStyleBegin ();
-    void setStyleEnd (const QString &s);
-    void setStyleEnd (OrnamentStyle os);
-    OrnamentStyle getStyleEnd ();
-    static QString styleToString(const OrnamentStyle &os);
-
-private:
-    QPolygonF getArrowHead();
-    QPen pen;
-    qreal arrowSize;
-    int fixedLength;
-    bool useFixedLength;
-    QGraphicsPolygonItem *arrowEnd;        
-    QGraphicsPolygonItem *arrowBegin;      
-    QGraphicsLineItem *line;
-    QPointF endPoint;
-
-    OrnamentStyle styleBegin;
-    OrnamentStyle styleEnd;
-};
-
-#endif
diff --git a/attribute.cpp b/attribute.cpp
deleted file mode 100644 (file)
index 95edd99..0000000
+++ /dev/null
@@ -1,296 +0,0 @@
-#include <iostream>
-#include <QDebug>
-
-#include "attribute.h"
-
-using namespace std;
-
-extern bool debug;
-
-Attribute::Attribute()
-{
-    table=NULL;
-    definition=NULL;
-}
-
-void Attribute::setKey (const QString &k, const AttributeType &t)
-{
-    if (!table)
-    {
-       qWarning ()<< QString("Attribute::setKey (%1)  No table defined!\n").arg(k).toUtf8();
-       return; 
-    }
-    
-    if (!definition)
-    {
-       definition=table->getDef(k);
-       if (!definition)
-       {
-           table->addKey (k,t);
-           return; 
-       }
-    }  
-    qWarning ()<< QString("Attribute::setKey (%1)  attribute already defined!\n").arg(k).toUtf8();
-}
-
-QString Attribute::getKey ()
-{
-    if (!table)
-    {
-       qWarning ("Attribute::getKey ()  No table defined!");
-       return QString();   
-    }
-    if (!definition)
-    {
-       qWarning ("Attribute::getKey ()  No attribute defined!");
-       return QString ();  
-    }  
-    return definition->getKey();
-}
-
-void Attribute::setValue(const QString &v)
-{
-    if (!table)
-    {
-       qWarning ()<<QString ("Attribute::setValue (%1)  No table defined!").arg(v);
-       return; 
-    }
-    if (!definition)
-    {
-       qWarning ()<<QString ("Attribute::setValue (%1)  No attribute defined!").arg(v);
-       return; 
-    }  
-    definition->setValue (v);
-}
-
-QVariant Attribute::getValue()
-{
-    if (!table)
-    {
-       qWarning ("Attribute::getValue  No table defined!");
-       return QString();   
-    }
-    if (!definition)
-    {
-       qWarning()<<"Attribute::getValue  No attribute defined!";
-       return QString();   
-    }  
-    QVariant v= definition->getValue();
-    return v;
-}
-
-void Attribute::setType (const AttributeType &t)
-{
-    if (!table)
-    {
-       qWarning ()<<"Attribute::setType  No table defined!";
-       return;
-    }
-    if (!definition)
-    {
-       qWarning()<<"Attribute::setType  No attribute defined!";
-       return; 
-    }  
-    definition->setType (t);
-}
-
-AttributeType Attribute::getType()
-{
-    if (!table)
-    {
-       qWarning ()<<"Attribute::getType  No table defined!";
-       return Undefined;   
-    }
-    if (!definition)
-    {
-       qWarning ()<<"Attribute::getType  No attribute defined!";
-       return Undefined;   
-    }  
-    return definition->getType();
-}
-
-QString Attribute::getTypeString()
-{
-    if (!table)
-    {
-       qWarning ()<<"Attribute::getTypeString  No table defined!";
-       return "Undefined"; 
-    }
-    if (!definition)
-    {
-       qWarning ()<<"Attribute::getTypeString  No attribute defined!";
-       return "Undefined"; 
-    }  
-    return definition->getTypeString();
-}
-
-void Attribute::setTable (AttributeTable *at)
-{
-    if (at)
-       table=at;
-     else
-       qWarning ()<<"Attribute::setTable  table==NULL";
-    
-}
-
-AttributeTable* Attribute::getTable()
-{
-    return table;
-}
-
-QString Attribute::getDataXML()
-{
-    QString a=beginElement ("attribute");
-    a+=attribut ("key",getKey());
-    a+=attribut ("value",getValue().toString() );
-    a+=attribut ("type",getTypeString () );
-    return a;
-}
-
-
-///////////////////////////////////////////////////////////////
-AttributeDef::AttributeDef()
-{
-}
-
-AttributeDef::~AttributeDef()
-{
-}
-
-void AttributeDef::setType (const AttributeType &t)
-{
-    type=t;
-}
-
-AttributeType AttributeDef::getType ()
-{
-    return type;
-}
-
-QString AttributeDef::getTypeString ()
-{
-    if (type==StringList)
-       return "StringList";
-    else if (type==FreeString)
-       return "FreeString";
-    else if (type==UniqueString)
-       return "UniqueString";
-    return "Undefined";
-}
-
-void AttributeDef::setKey (const QString &k)
-{
-    key=k;
-}
-
-void AttributeDef::setValue (const QString &)
-{
-}
-
-void AttributeDef::setValue (const QVariant &v)
-{
-    if (type==Undefined)
-       qWarning ()<<"AttributeDef::setValue  No type defined!";
-    else if (type==StringList)
-       value=v;
-    else if (type==UniqueString)
-       value=v;
-    else
-       qWarning ()<<"AttributeDef::setValue Unknown type???";
-       
-}
-
-QVariant AttributeDef::getValue ()
-{
-    return QVariant ();
-}
-
-QString AttributeDef::getKey ()
-{
-    return key;
-}
-
-///////////////////////////////////////////////////////////////
-AttributeTable::AttributeTable()
-{
-    typeList
-       << "Undefined"
-       << "IntList"
-       << "FreeInt"
-       << "StringList"
-       << "FreeString"
-       << "UniqueString";
-}
-
-AttributeTable::~AttributeTable()
-{
-    clear();
-}
-
-void AttributeTable::clear ()
-{
-    attdefs.clear();
-}
-
-AttributeDef* AttributeTable::addKey (const QString &k, const AttributeType &t)
-{
-    for (int i=0; i<attdefs.count();++i)
-    {
-       if (attdefs.at(i)->getKey()==k )
-       {
-           qWarning () << QString ("AttributeTable::addKey (%1) already in table\n").arg(k).toUtf8();
-           return NULL;
-       }
-    }
-    AttributeDef *ad=new AttributeDef;
-    ad->setKey (k);
-    ad->setType (t);
-    attdefs.append (ad);
-    return ad;
-}
-
-void AttributeTable::removeKey (const QString &k)
-{
-    for (int i=0; i<attdefs.count();++i)
-    {
-       if (attdefs.at(i)->getKey()==k )
-       {
-           
-           delete (attdefs.at(i));
-           attdefs.removeAt (i);
-           return ;
-       }
-    }
-    qWarning () << QString ("AttributeTable::removeKey (%1) key not in table\n").arg(k).toUtf8();
-}
-
-AttributeDef* AttributeTable::getDef(const QString &key)
-{
-    for (int i=0; i<attdefs.count();++i)
-       if (attdefs.at(i)->getKey()==key ) return attdefs.at(i);
-    qWarning () << QString ("AttributeTable::getDef (%1) key not in table\n").arg(key).toUtf8();
-    return NULL;    
-}
-
-int AttributeTable::countKeys()
-{
-    return attdefs.count();
-}
-
-QStringList AttributeTable::getKeys ()
-{
-    QStringList kl;
-    for (int i=0; i<attdefs.count();i++)
-       kl.append (attdefs.at(i)->getKey());
-    return kl;
-}
-
-QStringList AttributeTable::getTypes ()
-{
-    return typeList;
-}
-
-QString AttributeTable::getDataXML()
-{
-    return valueElement ("attributeList","key","value");
-}
diff --git a/attribute.h b/attribute.h
deleted file mode 100644 (file)
index 636fee3..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef ATTRIBUTE_H
-#define ATTRIBUTE_H
-
-#include <QStringList>
-#include <QVariant>
-
-#include "xmlobj.h"
-
-class AttributeTable;  //FIXME-3 remove from CVS
-class AttributeDef;    //FIXME-3 remove from CVS
-
-enum AttributeType {
-    Undefined, //!< Undefined type
-    IntList,   //!< Free integer
-    FreeInt,   //!< Free integer
-    StringList, //!< List of strings, one can be attribute value
-    FreeString,        //!< Any string can be attribute value, not unique
-    UniqueString//!< UniqueString, e.g. for IDs
-};
-
-/*! \brief A key and a value 
-    The data itself is stored in Attribute Definitions (AttributeDef). 
-    A list of these tables AttributeTable is maintained for every MapEditor.
-*/
-class Attribute:public XMLObj {
-public:
-    Attribute();
-    void setKey (const QString &k, const AttributeType &t);
-    QString getKey ();
-    void setValue (const QString &v);
-    QVariant getValue ();
-    void setType (const AttributeType &t);
-    AttributeType getType ();
-    QString getTypeString ();
-    void setTable (AttributeTable *at);
-    AttributeTable* getTable();
-    QString getDataXML();
-protected:
-    AttributeTable *table;
-    AttributeDef *definition;
-    QString freeString;            //!< String value for type FreeString
-};
-
-
-/*! \brief 
-    Attribute definition, defines possible values and type of attribute.
-*/
-class AttributeDef {
-public:
-    AttributeDef();
-    ~AttributeDef();
-    void setType (const AttributeType &t);
-    AttributeType getType();
-    QString getTypeString ();
-    void setKey (const QString &k);
-    QString getKey ();
-    void setValue (const QString &v);
-    void setValue (const QVariant &v);
-    QVariant getValue ();
-private:
-    QString key;
-    AttributeType type;
-
-    QVariant value;            //!< value (except FreeString, FreeInt ...
-};
-
-/*! \brief A table containing a list of keys and each of these keys has
-   a list of default values. The keys and the values for each key are
-   unique.
-*/
-
-class AttributeTable:public XMLObj{
-public:
-    AttributeTable();
-    ~AttributeTable();
-    void clear();
-    AttributeDef* addKey (const QString &k, const AttributeType &t);   //!< Adds a key to the table
-    void removeKey (const QString &k); //!< Removes key and its default values
-    AttributeDef* getDef(const QString &k); //!< Get defintion of attribute
-    int countKeys();                   //!< Return number of keys
-    QStringList getKeys ();
-    QStringList getTypes();
-    QString getDataXML();
-
-protected:
-    QList <AttributeDef*> attdefs;
-    QStringList typeList;
-};
-
-
-
-#endif
-
diff --git a/attributedelegate.cpp b/attributedelegate.cpp
deleted file mode 100644 (file)
index bd807a7..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-#include <QtGui>
-
-#include "attributedelegate.h"
-#include <iostream>
-
-using namespace::std;
-
-AttributeDelegate::AttributeDelegate(QObject *parent)
-    : QItemDelegate(parent)
-{
-}
-
-QWidget *AttributeDelegate::createEditor(QWidget *parent,
-    const QStyleOptionViewItem &/* option */,
-    const QModelIndex & index ) const
-{
-    int col=index.column();
-    int row=index.row();
-    
-    if (col==0 && row==index.model()->rowCount() -1 )
-    {
-       //We are editing a new attribute, starting with attribute name
-       QComboBox *editor = new QComboBox(parent);
-       editor->insertItems (0,attributeTable->getKeys());
-       return editor;
-    }
-    if (col==1 && row==index.model()->rowCount() -1 )
-    {
-       qDebug()<< "Edit value now...";
-       //We are editing a new attribute, starting with attribute name
-       QComboBox *editor = new QComboBox(parent);
-       editor->insertItems (0,attributeTable->getKeys());
-       return editor;
-
-    }
-
-    // Is there already an atttribute defined or 
-    // do we need to create a new one?
-
-    QVariant var=index.model()->data(index.model()->index(row,2,QModelIndex()));
-    QString typeName=var.toString();
-    qDebug()<< "AttrDel::createEditor type="<<qPrintable (typeName);
-
-    if (typeName=="IntList")
-    {
-       QSpinBox *editor = new QSpinBox(parent);
-       editor->setMinimum(0);
-       editor->setMaximum(5);
-       return editor;
-    } else if (typeName=="FreeInt")
-    {
-       QSpinBox *editor = new QSpinBox(parent);
-       editor->setMinimum(0);
-       editor->setMaximum(100);
-       return editor;
-    } else if (typeName=="FreeString")
-    {
-       QComboBox *editor = new QComboBox(parent);
-       return editor;
-    } else if (typeName=="StringList")
-    {
-       QComboBox *editor = new QComboBox(parent);
-       return editor;
-    } 
-
-    return NULL;
-}
-
-void AttributeDelegate::setEditorData(QWidget *editor,
-                                    const QModelIndex &index) const
-{
-    QVariant value= index.model()->data(index, Qt::DisplayRole);
-    switch (value.type())
-    {
-       case QVariant::Int:
-       {
-           int value = index.model()->data(index, Qt::DisplayRole).toInt();
-           QSpinBox *spinBox = static_cast<QSpinBox*>(editor);
-           spinBox->setValue(value);
-           break;
-       }   
-       /*
-       {
-           QString value = index.model()->data(index, Qt::DisplayRole).toString();
-           QLineEdit *le= static_cast<QLineEdit*>(editor);
-           le->setText(value);
-           break;
-       }
-       */
-       case QVariant::String:
-       {
-           QComboBox *cb= static_cast<QComboBox*>(editor);
-           QStringList sl;
-           sl<< index.model()->data(index, Qt::DisplayRole).toString();
-           cb->insertStringList (sl);
-           break;
-       }
-       default: 
-           break;
-    }      
-}
-
-void AttributeDelegate::setModelData(QWidget *editor, QAbstractItemModel *model,
-                                   const QModelIndex &index) const
-{
-    QVariant value= index.model()->data(index, Qt::DisplayRole);
-    switch (value.type())
-    {
-       case QVariant::Int:
-       {
-           QSpinBox *spinBox = static_cast<QSpinBox*>(editor);
-           spinBox->interpretText();
-           model->setData(index, spinBox->value(), Qt::EditRole);
-           break;
-       }   
-       case QVariant::String:
-       {
-           QComboBox *cb = static_cast<QComboBox*>(editor);
-           model->setData(index, cb->currentText(), Qt::EditRole);
-           break;
-       }
-       default:
-           break;
-    }      
-
-}
-
-void AttributeDelegate::updateEditorGeometry(QWidget *editor,
-    const QStyleOptionViewItem &option, const QModelIndex &/* index */) const
-{
-    editor->setGeometry(option.rect);
-}
-
-void AttributeDelegate::setAttributeTable (AttributeTable *table)
-{
-    attributeTable=table;
-}
-
diff --git a/attributedelegate.h b/attributedelegate.h
deleted file mode 100644 (file)
index 5b15382..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#ifndef ATTRIBUTEDELEGATE_H
-#define ATTRIBUTEDELEGATE_H
-
-#include <QItemDelegate>
-#include <QModelIndex>
-#include <QObject>
-#include <QSize>
-#include <QSpinBox>
-#include <QLineEdit>
-
-#include "attribute.h"
-
-class AttributeDelegate : public QItemDelegate
-{
-    Q_OBJECT
-
-enum EditorType {Undefined,SpinBox,LineEdit,ComboBox};
-
-public:
-    AttributeDelegate(QObject *parent = 0);
-
-    QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
-                          const QModelIndex &index) const;
-
-    void setEditorData(QWidget *editor, const QModelIndex &index) const ;
-    void setModelData(QWidget *editor, QAbstractItemModel *model,
-                      const QModelIndex &index) const ;
-
-    void updateEditorGeometry(QWidget *editor,
-    const QStyleOptionViewItem &option, const QModelIndex &index) const;
-    void setAttributeTable(AttributeTable *table);
-private:
-    AttributeTable *attributeTable;
-};
-
-#endif
diff --git a/attributedialog.cpp b/attributedialog.cpp
deleted file mode 100644 (file)
index c7bd614..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-#include "attributedialog.h"
-
-#include "attributewidget.h"
-
-#include <QtGui/QApplication>
-#include <QtGui/QButtonGroup>
-
-AttributeDialog::AttributeDialog (QWidget *parent):QDialog (parent)
-{
-    if (this->objectName().isEmpty())
-        this->setObjectName(QString::fromUtf8("AttributeDialog"));
-    QSize size(468, 75);
-    size = size.expandedTo(this->minimumSizeHint());
-    this->resize(size);
-    QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred);
-    sizePolicy.setHorizontalStretch(0);
-    sizePolicy.setVerticalStretch(0);
-    sizePolicy.setHeightForWidth(this->sizePolicy().hasHeightForWidth());
-    this->setSizePolicy(sizePolicy);
-
-    vboxLayout = new QVBoxLayout(this);
-    vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
-
-    tableLayout = new QVBoxLayout();
-    tableLayout->setObjectName(QString::fromUtf8("tableLayout"));
-
-    hboxLayout = new QHBoxLayout();
-    hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
-    addButton = new QPushButton(this);
-    addButton->setObjectName(QString::fromUtf8("addButton"));
-
-    hboxLayout->addWidget(addButton);
-
-    spacerItem = new QSpacerItem(111, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-    hboxLayout->addItem(spacerItem);
-
-    closeButton = new QPushButton(this);
-    closeButton->setObjectName(QString::fromUtf8("closeButton"));
-
-    hboxLayout->addWidget(closeButton);
-
-    vboxLayout->addLayout(tableLayout);
-    vboxLayout->addLayout(hboxLayout);
-
-
-    
-    setWindowTitle(QApplication::translate("AttributeDialog", "Attributes", 0, QApplication::UnicodeUTF8));
-    addButton->setText(QApplication::translate("AttributeDialog", "Add key", 0, QApplication::UnicodeUTF8));
-    closeButton->setText(QApplication::translate("AttributeDialog", "Close", 0, QApplication::UnicodeUTF8));
-
-    connect (addButton, SIGNAL (clicked()), this, SLOT (addKey()));
-    connect (closeButton, SIGNAL (clicked()), this, SLOT (accept()));
-
-    table=NULL;
-}
-
-void AttributeDialog::setTable (AttributeTable *t)
-{
-    table=t;
-}
-
-void AttributeDialog::setBranch (BranchObj *bo)
-{
-    branch=bo;
-}
-
-void AttributeDialog::setMode (const AttributeDialogMode &m)
-{
-    mode=m;
-
-    QString title;
-    if (mode==Definition)
-    title= QApplication::translate("Attribute Dialog","AttributeDialog - Edit definitions", 0, QApplication::UnicodeUTF8);
-    else    
-    title= QApplication::translate("Attribute Dialog","AttributeDialog - Edit %1", 0, QApplication::UnicodeUTF8).arg("objname");
-    setWindowTitle(title);
-}
-
-void AttributeDialog::updateTable()
-{
-    if (table)
-    {
-    // Update list of keys and values
-    QStringList keyList=table->getKeys();
-    AttributeWidget *aw;
-    for (int i=0; i<keyList.count();i++)
-    {
-       aw=new AttributeWidget (this);
-       aw->setKey (keyList.at(i) );
-       // TODO aw->setValues (table->getValues (keyList.at(i) ));
-       aw->show();
-       tableLayout->addWidget (aw);
-    }
-
-    // Update attributes in dialog from data in selected branch
-
-    // TODO
-    }
-
-}
-void AttributeDialog::addKey()
-{
-    AttributeWidget *aw1=new AttributeWidget (this);
-    aw1->show();
-    tableLayout->addWidget (aw1);
-
-}
-
-void AttributeDialog::closeEvent( QCloseEvent* ce )
-{
-    ce->accept();   // can be reopened with show()
-    hide();
-    emit (windowClosed() );
-    return;
-}
-
-
diff --git a/attributedialog.h b/attributedialog.h
deleted file mode 100644 (file)
index b56cf80..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef ATTRIBUTEDIALOG_H
-#define ATTRIBUTEDIALOG_H
-
-#include "attribute.h"
-#include "branchobj.h"
-
-#include <QDialog>
-#include <QCloseEvent>
-#include <QtGui/QHBoxLayout>
-#include <QtGui/QPushButton>
-#include <QtGui/QSpacerItem>
-#include <QtGui/QVBoxLayout>
-
-
-/*! \brief Set the dialog mode  */
-enum AttributeDialogMode {
-    Definition,        //!< Edit attribute definitions (AttributeDef)
-    Object     //!< Edit attributes of OrnamentedObj
-};
-
-class AttributeDialog:public QDialog
-{
-    Q_OBJECT 
-public:
-    AttributeDialog (QWidget *parent=0 );
-    void setTable (AttributeTable *table=0);
-    void setBranch (BranchObj *bo);
-    void setMode (const AttributeDialogMode &m);
-    void updateTable();
-signals:
-    void windowClosed();
-private slots:
-    void addKey();
-protected:
-    void closeEvent(QCloseEvent*);
-private:
-    QVBoxLayout *vboxLayout;
-    QVBoxLayout *tableLayout;
-    QHBoxLayout *hboxLayout;
-    QPushButton *addButton;
-    QSpacerItem *spacerItem;
-    QPushButton *closeButton;
-
-    AttributeDialogMode mode;
-    AttributeTable *table;
-    BranchObj *branch;
-};
-
-#endif
diff --git a/attributedialog.ui b/attributedialog.ui
deleted file mode 100644 (file)
index fc16698..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<ui version="4.0" >
- <class>AttributeDialog</class>
- <widget class="QDialog" name="AttributeDialog" >
-  <property name="geometry" >
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>468</width>
-    <height>75</height>
-   </rect>
-  </property>
-  <property name="sizePolicy" >
-   <sizepolicy vsizetype="Preferred" hsizetype="Minimum" >
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="windowTitle" >
-   <string>Attributes</string>
-  </property>
-  <layout class="QVBoxLayout" >
-   <item>
-    <widget class="QLineEdit" name="dummyLineEdit" />
-   </item>
-   <item>
-    <layout class="QHBoxLayout" >
-     <item>
-      <widget class="QPushButton" name="addButton" >
-       <property name="text" >
-        <string>Add key</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>111</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="closeButton" >
-       <property name="text" >
-        <string>Close</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/attributeitem.cpp b/attributeitem.cpp
deleted file mode 100644 (file)
index af014f2..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-#include "attributeitem.h"
-
-
-extern bool debug;
-
-AttributeItem::AttributeItem(const QList<QVariant> &data, TreeItem *parent):BranchItem (data,parent)
-{
-    TreeItem::setType (Attribute);
-    internal=false;
-}
-
-AttributeItem::~AttributeItem()
-{
-}
-
-void AttributeItem::set (const QString &k, const QString &v, const Type &)
-{
-    key=k;
-    value=QVariant (v);
-    createHeading();
-}
-
-void AttributeItem::get (QString &k, QString &v, Type &t)
-{
-    k=key;
-    v=value.toString();
-    t=attrType;
-}
-
-void AttributeItem::setKey (const QString &k)
-{
-/*
-    if (!table)
-    {
-       qWarning (QString("AttributeItem::setKey (%1)  No table defined!\n").arg(k).ascii());
-       return; 
-    }
-    
-    if (!definition)
-    {
-       definition=table->getDef(k);
-       if (!definition)
-       {
-           table->addKey (k,t);
-           return; 
-       }
-    }  
-    qWarning (QString("AttributeItem::setKey (%1)  attribute already defined!\n").arg(k).ascii());
-    */
-    key=k;
-    createHeading();
-}
-
-QString AttributeItem::getKey ()
-{
-/*
-    if (!table)
-    {
-       qWarning ("AttributeItem::getKey ()  No table defined!");
-       return QString();   
-    }
-    if (!definition)
-    {
-       qWarning ("AttributeItem::getKey ()  No attribute defined!");
-       return QString ();  
-    }  
-    return definition->getKey();
-    */
-    return key;
-}
-
-void AttributeItem::setValue(const QString &v)
-{
-/*
-    if (!table)
-    {
-       qWarning (QString ("AttributeItem::setValue (%1)  No table defined!").arg(v));
-       return; 
-    }
-    if (!definition)
-    {
-       qWarning (QString ("AttributeItem::setValue (%1)  No attribute defined!").arg(v));
-       return; 
-    }  
-    definition->setValue (v);
-*/
-    value=v;
-    createHeading();
-}
-
-QVariant AttributeItem::getValue()
-{
-/*
-    if (!table)
-    {
-       qWarning ("AttributeItem::getValue  No table defined!");
-       return QString();   
-    }
-    if (!definition)
-    {
-       qWarning ("AttributeItem::getValue  No attribute defined!");
-       return QString();   
-    }  
-    QVariant v= definition->getValue();
-    return v;
-    */
-    return value;
-}
-
-void AttributeItem::setType (const Type &t)
-{
-/*
-    if (!table)
-    {
-       qWarning ("AttributeItem::setType  No table defined!");
-       return;
-    }
-    if (!definition)
-    {
-       qWarning ("Attribute::setType  No attribute defined!");
-       return; 
-    }  
-    definition->setType (t);
-*/
-    attrType=t;
-}
-
-AttributeItem::Type AttributeItem::getAttributeType()
-{
-/*
-    if (!table)
-    {
-       qWarning ("AttributeItem::getType  No table defined!");
-       return Undefined;   
-    }
-    if (!definition)
-    {
-       qWarning ("AttributeItem::getType  No attribute defined!");
-       return Undefined;   
-    }  
-    return definition->getType();
-*/
-    return attrType;
-}
-
-QString AttributeItem::getTypeString()
-{
-/*
-    if (!table)
-    {
-       qWarning ("AttributeItem::getTypeString  No table defined!");
-       return "Undefined"; 
-    }
-    if (!definition)
-    {
-       qWarning ("Attribute::getTypeString  No AttributeItem defined!");
-       return "Undefined"; 
-    }  
-    return definition->getTypeString();
-*/  
-    switch (attrType)
-    {
-       case IntList: return "IntList";
-       case FreeInt: return "FreeInt";
-       case StringList:return "StringList";
-       case FreeString:return "FreeString";
-       case UniqueString: return "UniqueString";
-       default: return "Undefined";
-    }
-}
-
-void AttributeItem::setInternal(bool b)
-{
-    internal=b;
-}
-
-bool AttributeItem::isInternal()
-{
-    return internal;
-}
-
-QString AttributeItem::getDataXML()
-{
-    QString a;
-    a=attribut ("key",getKey());
-    a+=attribut ("value",getValue().toString() );
-    a+=attribut ("type",getTypeString () );
-    return singleElement ("attribute",a);
-}
-
-void AttributeItem::createHeading()
-{
-    setHeadingPlainText (QString ("K: %1 | V: %2").arg(key).arg(value.toString()));
-}
-
diff --git a/attributeitem.h b/attributeitem.h
deleted file mode 100644 (file)
index a1c4767..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef ATTRIBUTEITEM_H
-#define ATTRIBUTEITEM_H
-
-#include <QStringList>
-#include <QVariant>
-
-#include "branchitem.h"
-
-/*! \brief A key and a value 
-    The data itself is stored in Attribute Definitions (AttributeDef). 
-    A list of these tables AttributeTable is maintained for every MapEditor.
-*/
-class AttributeItem:public BranchItem {
-public:
-enum Type {
-    Undefined, //!< Undefined type
-    IntList,   //!< Integer
-    FreeInt,   //!< Integer
-    StringList, //!< List of strings
-    FreeString,        //!< String
-    UniqueString//!< String which is unique in a map, e.g. for IDs
-};
-
-    AttributeItem(const QList<QVariant> &data, TreeItem *parent = 0);
-    virtual ~AttributeItem();
-    void set (const QString &k, const QString &v, const Type &t);
-    void get (QString &k, QString &v, Type &t);
-    void setKey (const QString &k);
-    QString getKey ();
-    void setValue (const QString &v);
-    QVariant getValue ();
-    using BranchItem::setType;
-    virtual void setType (const Type &t);
-    AttributeItem::Type getAttributeType ();
-    QString getTypeString ();
-    void setInternal (bool b);
-    bool isInternal();
-    QString getDataXML();
-protected:
-    void createHeading();
-    bool internal;         //!< Internal attributes cannot be edited by user
-    QString key;
-    QVariant value;
-    Type attrType;
-};
-
-#endif
-
diff --git a/attributewidget.cpp b/attributewidget.cpp
deleted file mode 100644 (file)
index 65e7a18..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#include "attributewidget.h"
-
-AttributeWidget::AttributeWidget (QWidget *parent):QWidget (parent)
-{
-    ui.setupUi (this);
-    //ui.keyComboBox->setEditable (true);
-    ui.valueComboBox->setEditable (true);
-}
-
-void AttributeWidget::setTable(AttributeTable *at)
-{
-    table=at;
-}
-
-void AttributeWidget::setKey (const QString &k)
-{
-    key=k;
-    ui.keyComboBox->insertItem (ui.keyComboBox->count(), key);
-}
-
-void AttributeWidget::setValues(const QStringList &vl)
-{
-    ui.valueComboBox->clear();
-    ui.valueComboBox->insertStringList(vl);
-}
-
-/*
-void AttributeWidget::setValue (const QString &v)
-{
-}
-*/
-
-void AttributeWidget::keyTextChanged(const QString &t)
-{
-}
-
-void AttributeWidget::valueTextChanged(const QString &t)
-{
-}
diff --git a/attributewidget.h b/attributewidget.h
deleted file mode 100644 (file)
index 065fd78..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef ATTRIBUTEWIDGET_H
-#define ATTRIBUTEWIDGET_H
-
-#include "ui_attributewidget.h"
-
-#include "attribute.h"
-
-#include <QWidget>
-
-class AttributeWidget: public QWidget
-{
-    Q_OBJECT
-public:
-    AttributeWidget (QWidget *parent=0);
-    void setTable (AttributeTable *at=0);
-    void setKey (const QString &k);
-    void setValues (const QStringList &vl);
-
-public slots:
-    virtual void keyTextChanged(const QString &t);
-    virtual void valueTextChanged(const QString &t);
-
-private:
-    Ui::AttributeWidget ui;
-    AttributeTable *table;
-    QString key;
-};
-#endif
diff --git a/attributewidget.ui b/attributewidget.ui
deleted file mode 100644 (file)
index 3327fee..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>AttributeWidget</class>
- <widget class="QWidget" name="AttributeWidget">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>400</width>
-    <height>115</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string notr="true">Form</string>
-  </property>
-  <layout class="QHBoxLayout">
-   <property name="spacing">
-    <number>0</number>
-   </property>
-   <item>
-    <widget class="QPushButton" name="pushButton">
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QComboBox" name="keyComboBox">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QComboBox" name="valueComboBox">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/branchitem.cpp b/branchitem.cpp
deleted file mode 100644 (file)
index ed97e5d..0000000
+++ /dev/null
@@ -1,575 +0,0 @@
-#include "branchitem.h"
-
-#include "attributeitem.h"
-#include "branchobj.h"
-#include "task.h"
-#include "taskmodel.h"
-#include "vymmodel.h"
-#include "xlink.h"
-#include "xlinkitem.h"
-
-extern TaskModel *taskModel;
-
-//#include <QDir>
-
-BranchItem::BranchItem(const QList<QVariant> &data, TreeItem *parent):MapItem (data,parent)
-{
-    //qDebug()<< "Constr. BranchItem this="<<this;
-
-    // Set type if parent is known yet 
-    // if not, type is set in insertBranch or TreeItem::appendChild
-    if (parent==rootItem)
-       setType (MapCenter);
-    else
-       setType (Branch);
-
-    scrolled=false;
-    tmpUnscrolled=false;
-
-    includeImagesVer=false;
-    includeImagesHor=false;
-    includeChildren=false;
-    childrenLayout = BranchItem::AutoPositioning;
-     
-    lastSelectedBranchNum=-1;
-    lastSelectedBranchNumAlt=-1;
-
-    task=NULL;
-}
-
-BranchItem::~BranchItem()
-{
-    //qDebug()<< "Destr. BranchItem  this="<<this<<"  "<<getHeading();
-    if (mo) 
-    {
-       delete mo;
-       mo=NULL;
-    }
-    clear();
-}
-
-void BranchItem::clear()
-{
-    if (task) taskModel->deleteTask (task);
-}
-
-void BranchItem::copy (BranchItem *other)  // TODO lacks most of data...
-{
-    scrolled=other->scrolled;
-    tmpUnscrolled=other->tmpUnscrolled;
-}
-
-BranchItem* BranchItem::parentBranch ()
-{
-    return (BranchItem*) parentItem;
-}
-
-void BranchItem::insertBranch (int pos, BranchItem *branch)
-{
-    if (pos<0) pos=0;
-    if (pos>branchCounter) pos=branchCounter;
-    childItems.insert(pos+branchOffset,branch);
-    branch->parentItem=this;
-    branch->rootItem=rootItem;
-    branch->setModel (model);
-    if (parentItem==rootItem)
-       setType (MapCenter);
-    else
-       setType (Branch);
-
-
-    if (branchCounter==0)
-       branchOffset=childItems.count()-1;
-    branchCounter++;
-}
-
-QString BranchItem::saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset, QList <Link*> &tmpLinks ) 
-{
-    // Cloudy stuff can be hidden during exports
-    if (hidden) return QString();
-
-    // Save uuid 
-    QString idAttr=attribut("uuid",uuid.toString());
-
-    QString s,a;
-
-    // Update of note is usually done while unselecting a branch
-    
-    QString scrolledAttr;
-    if (scrolled) 
-       scrolledAttr=attribut ("scrolled","yes");
-    else
-       scrolledAttr="";
-
-    // save area, if not scrolled   // not needed if HTML is rewritten...
-                                   // also we could check if _any_ of parents is scrolled
-    QString areaAttr;
-    if (mo && parentItem->isBranchLikeType() && !((BranchItem*)parentItem)->isScrolled() )
-    {
-       qreal x=mo->getAbsPos().x();
-       qreal y=mo->getAbsPos().y();
-       areaAttr=
-           attribut("x1",QString().setNum(x-offset.x())) +
-           attribut("y1",QString().setNum(y-offset.y())) +
-           attribut("x2",QString().setNum(x+mo->width()-offset.x())) +
-           attribut("y2",QString().setNum(y+mo->height()-offset.y()));
-
-    } else
-       areaAttr="";
-    
-    QString elementName;
-    if (parentItem==rootItem)
-        elementName="mapcenter";
-    else
-        elementName="branch";
-
-    // Free positioning of children
-    QString layoutAttr;
-    if (childrenLayout == BranchItem::FreePositioning)
-        layoutAttr += attribut ("childrenFreePos","true");
-
-    // Save rotation
-    QString rotAttr;
-    if (mo && mo->getRotation() !=0 )
-       rotAttr=attribut ("rotation",QString().setNum (mo->getRotation() ) );
-
-    s=beginElement (elementName
-       + getMapAttr()
-       + getGeneralAttr()
-       + scrolledAttr 
-       + getIncludeImageAttr() 
-    + rotAttr
-    + layoutAttr
-       + idAttr
-       );
-    incIndent();
-
-    // save heading
-    s += heading.saveToDir();
-
-    // Save frame  // not saved if there is no MO
-    if (mo)
-    {
-        // Avoid saving NoFrame for objects other than MapCenter
-        if (depth() == 0  || ((OrnamentedObj*)mo)->getFrame()->getFrameType()!=FrameObj::NoFrame)
-            s+=((OrnamentedObj*)mo)->getFrame()->saveToDir ();
-    }
-
-    // save names of flags set
-    s+=standardFlags.saveToDir(tmpdir,prefix,0);
-    
-    // Save Images
-    for (int i=0; i<imageCount(); ++i)
-       s+=getImageNum(i)->saveToDir (tmpdir,prefix);
-
-    // save attributes
-    for (int i=0; i<attributeCount(); ++i)
-       s+=getAttributeNum(i)->getDataXML();
-
-    // save note
-    if (!note.isEmpty() )
-       s+=note.saveToDir();
-    
-    // save task
-    if (task)
-       s+=task->saveToDir();
-
-    // Save branches
-    int i=0;
-    TreeItem *ti=getBranchNum(i);
-    while (ti)
-    {
-       s+=getBranchNum(i)->saveToDir(tmpdir,prefix,offset,tmpLinks);
-       i++;
-       ti=getBranchNum(i);
-    }  
-
-    // Mark Links for save
-    for (int i=0; i<xlinkCount(); ++i)
-    {
-       Link *l=getXLinkItemNum (i)->getLink();
-       if (l && !tmpLinks.contains (l)) tmpLinks.append (l);
-    }
-    decIndent();
-    s += endElement (elementName);
-    return s;
-}
-
-void BranchItem::updateVisibility()
-{
-    // Needed to hide relinked branch, if parent is scrolled
-    if (mo)
-    {
-       if (hasScrolledParent(this) || hidden)
-           mo->setVisibility (false);
-       else    
-           mo->setVisibility (true);
-    }
-}
-
-void BranchItem::setHeadingColor (QColor color)
-{
-    TreeItem::setHeadingColor (color);
-    if (mo) ((BranchObj*)mo)->setColor (color);
-}
-
-void BranchItem::updateTaskFlag()
-{
-    systemFlags.deactivateGroup ("system-tasks");
-    if (task)
-    {
-       QString s="system-" + task->getIconString();
-       systemFlags.activate (s);
-       model->emitDataChanged(this);
-    } 
-}
-
-void BranchItem::setTask(Task *t) 
-{
-    task=t;
-    updateTaskFlag();
-}
-
-Task* BranchItem::getTask()
-{
-    return task;
-}
-
-void BranchItem::unScroll()
-{
-    if (tmpUnscrolled) resetTmpUnscroll();
-    if (scrolled) toggleScroll();
-}
-
-bool BranchItem::toggleScroll()        
-{
-    // MapCenters are not scrollable
-    if (depth()==0) return false;
-
-    BranchObj *bo;
-    if (scrolled)
-    {
-       scrolled=false;
-       systemFlags.deactivate("system-scrolledright");
-       if (branchCounter>0)
-           for (int i=0;i<branchCounter;++i)
-           {
-               bo=(BranchObj*)(getBranchNum(i)->getMO());
-               if (bo) bo->setVisibility(true);
-           }
-    } else
-    {
-       scrolled=true;
-       systemFlags.activate("system-scrolledright");
-       if (branchCounter>0)
-           for (int i=0;i<branchCounter;++i)
-           {
-               bo=(BranchObj*)(getBranchNum(i)->getMO());
-               if (bo) bo->setVisibility(false);
-           }
-    }
-    return true;
-}
-
-bool BranchItem::isScrolled()
-{
-    return scrolled;
-}
-
-bool BranchItem::hasScrolledParent(BranchItem *start)
-{
-    // Calls parents recursivly to
-    // find out, if we are scrolled at all.
-    // But ignore myself, just look at parents.
-
-    if (!start) start=this;
-
-    if (this !=start && scrolled) return true;
-
-    BranchItem* bi=(BranchItem*)parentItem;
-    if (bi && bi!=rootItem ) 
-       return bi->hasScrolledParent(start);
-    else
-       return false;
-}
-
-bool BranchItem::tmpUnscroll(BranchItem *start)
-{
-    bool result=false;
-
-    if (!start) start=this;
-
-    // Unscroll parent (recursivly)
-    BranchItem * pi=(BranchItem*)parentItem;
-    if (pi && pi->isBranchLikeType() ) result=pi->tmpUnscroll(start);
-       
-    // Unscroll myself
-    if (start !=this && scrolled)
-    {
-       tmpUnscrolled=true;
-       systemFlags.activate("system-tmpUnscrolledRight");
-       toggleScroll();
-       model->emitDataChanged (this); 
-       result=true;
-    }  
-    return result;
-}
-
-bool BranchItem::resetTmpUnscroll()
-{
-    bool result=false;
-
-    // Unscroll parent (recursivly)
-    BranchItem * pi=(BranchItem*)parentItem;
-    if (pi && pi->isBranchLikeType() ) result=pi->resetTmpUnscroll();
-       
-    // Unscroll myself
-    if (tmpUnscrolled)
-    {
-       tmpUnscrolled=false;
-       systemFlags.deactivate("system-tmpUnscrolledRight");
-       toggleScroll();
-       model->emitDataChanged (this);
-       result=true;
-    }  
-    return result;
-}
-
-void BranchItem::sortChildren(bool inverse) //FIXME-4 optimize by not using moveUp/Down
-{
-    int childCount=branchCounter; 
-    int curChildIndex;
-    bool madeChanges=false;
-    do
-    {
-       madeChanges=false;
-       for(curChildIndex=1;curChildIndex<childCount;curChildIndex++)
-       {
-           BranchItem* curChild =getBranchNum(curChildIndex);
-           BranchItem* prevChild=getBranchNum(curChildIndex-1);
-           if (inverse)
-           {
-        if (prevChild->getHeadingPlain().compare(curChild->getHeadingPlain())<0)
-               {
-                   model->moveUp (curChild);
-                   madeChanges=true;
-               }   
-           } else  
-        if (prevChild->getHeadingPlain().compare(curChild->getHeadingPlain())>0)
-               {
-                   model->moveUp (curChild);
-                   madeChanges=true;
-               }   
-       } 
-    }while(madeChanges);
-}
-
-void BranchItem::setChildrenLayout(BranchItem::LayoutHint layoutHint)
-{
-    childrenLayout = layoutHint;
-}
-
-BranchItem::LayoutHint BranchItem::getChildrenLayout()
-{
-    return childrenLayout;
-}
-
-void BranchItem::setIncludeImagesVer(bool b)
-{
-    includeImagesVer=b;
-}
-
-bool BranchItem::getIncludeImagesVer()
-{
-    return includeImagesVer;
-}
-
-void BranchItem::setIncludeImagesHor(bool b)
-{
-    includeImagesHor=b;
-}
-
-bool BranchItem::getIncludeImagesHor()
-{
-    return includeImagesHor;
-}
-
-QString BranchItem::getIncludeImageAttr()
-{
-    QString a;
-    if (includeImagesVer)
-       a=attribut ("incImgV","true");
-    if (includeImagesHor)
-       a+=attribut ("incImgH","true");
-    return a;  
-}
-
-BranchItem* BranchItem::getFramedParentBranch(BranchItem *start)
-{
-    BranchObj *bo=getBranchObj();
-    if (bo && bo->getFrameType() != FrameObj::NoFrame)
-    {
-       if (bo->getFrame()->getFrameIncludeChildren() ) return this;
-        if (this == start) return this;
-    } 
-    BranchItem* bi=(BranchItem*)parentItem;
-    if (bi && bi!=rootItem ) 
-       return bi->getFramedParentBranch(start);
-    else
-       return NULL;
-}
-
-void BranchItem::setFrameIncludeChildren(bool b)
-{
-    includeChildren=b; // FIXME-4 ugly: same information stored in FrameObj
-    BranchObj *bo=getBranchObj();
-    if (bo) bo->getFrame()->setFrameIncludeChildren(b);
-}
-
-bool BranchItem::getFrameIncludeChildren()
-{
-    BranchObj *bo=getBranchObj();
-    if (bo) 
-       return bo->getFrame()->getFrameIncludeChildren();
-    else       
-       return includeChildren;
-}
-
-void BranchItem::setLastSelectedBranch()
-{
-    int d=depth();
-    if (d>=0)
-    {
-       if (d==1)
-           // Hack to save an additional lastSelected for mapcenters in MapEditor
-           // depending on orientation
-           // this allows to go both left and right from there
-           if (mo && ((BranchObj*)mo)->getOrientation()==LinkableMapObj::LeftOfCenter)
-           {
-               ((BranchItem*)parentItem)->lastSelectedBranchNumAlt=parentItem->num(this);
-               return;
-           }
-       ((BranchItem*)parentItem)->lastSelectedBranchNum=parentItem->num(this);
-    }
-}
-
-void BranchItem::setLastSelectedBranch(int i)
-{
-       lastSelectedBranchNum=i;
-}
-
-BranchItem* BranchItem::getLastSelectedBranch()
-{
-    if (lastSelectedBranchNum>=branchCounter)
-       return getBranchNum (branchCounter-1);
-    else    
-       return getBranchNum (lastSelectedBranchNum);
-}
-
-BranchItem* BranchItem::getLastSelectedBranchAlt()
-{
-    return getBranchNum (lastSelectedBranchNumAlt);
-}
-
-
-
-
-TreeItem* BranchItem::findMapItem (QPointF p, TreeItem* excludeTI)
-{
-    // Search branches
-    TreeItem *ti;
-    for (int i=0; i<branchCount(); ++i)
-    {  
-       ti=getBranchNum(i)->findMapItem(p, excludeTI);
-       if (ti != NULL) return ti;
-    }
-    
-    // Search images
-    ImageItem *ii;
-    for (int i=0; i<imageCount(); ++i )
-    {
-       ii=getImageNum (i);
-       MapObj *mo=ii->getMO();
-       if (mo && mo->isInClickBox(p) && 
-           (ii != excludeTI) && 
-           this!= excludeTI &&
-           mo->isVisibleObj() 
-       ) return ii;
-    }
-
-    // Search myself
-    if (getBranchObj()->isInClickBox (p) && (this != excludeTI) && getBranchObj()->isVisibleObj() ) 
-       return this;
-
-
-    // Search attributes
-    AttributeItem *ai;
-    for (int i=0; i<attributeCount(); ++i )
-    {
-       ai=getAttributeNum (i);
-       MapObj *mo=ai->getMO();
-       if (mo && mo->isInClickBox(p) && 
-           (ai != excludeTI) && 
-           this!= excludeTI &&
-           mo->isVisibleObj() 
-       ) return ai;
-    }
-    return NULL;
-}
-
-void BranchItem::updateStyles(const bool &keepFrame)
-{
-    // Update styles when relinking branches
-    if (mo)
-    { 
-       BranchObj *bo=getBranchObj();
-       if ( parentItem != rootItem)
-           bo->setParObj ( (LinkableMapObj*) ( ((MapItem*)parentItem)->getMO() ) );
-       else
-           bo->setParObj (NULL);
-       bo->setDefAttr(BranchObj::MovedBranch,keepFrame);
-    }
-}
-
-BranchObj* BranchItem::getBranchObj()  
-{
-    return (BranchObj*)mo;
-}
-
-BranchObj* BranchItem::createMapObj(QGraphicsScene *scene)  
-{
-    BranchObj *newbo;
-
-    if (parentItem==rootItem)
-    {
-       newbo=new BranchObj(NULL,this);
-       mo=newbo;
-       scene->addItem (newbo);
-    } else
-    {
-       newbo=new BranchObj( ((MapItem*)parentItem)->getMO(),this);
-       mo=newbo;
-       // Set visibility depending on parents
-       if (parentItem!=rootItem && 
-           ( ((BranchItem*)parentItem)->scrolled || !((MapItem*)parentItem)->getLMO()->isVisibleObj() ) )
-           newbo->setVisibility (false);
-       if (depth()==1) 
-       {
-          qreal r=190;
-          qreal a= -M_PI_4 + M_PI_2 * (num()) + (M_PI_4/2)*(num()/4 % 4);
-          QPointF p (r*cos (a), r*sin (a));
-          newbo->setRelPos (p);
-       }
-    }
-    newbo->setDefAttr(BranchObj::NewBranch);
-    initLMO();
-
-    if (!getHeading().isEmpty() ) 
-    {
-       newbo->updateData();    
-        newbo->setColor (heading.getColor());
-    }  
-       
-    return newbo;
-}
-
diff --git a/branchitem.h b/branchitem.h
deleted file mode 100644 (file)
index 207ab0c..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef BRANCHITEM_H
-#define BRANCHITEM_H
-
-#include "mapitem.h"
-#include "task.h"
-
-#include <QList>
-
-class QString;
-class QGraphicsScene;
-class BranchObj;
-class Link;
-class XLinkItem;
-
-class BranchItem:public MapItem
-{
-public:
-    enum LayoutHint {AutoPositioning, FreePositioning};
-
-    BranchItem(const QList<QVariant> &data, TreeItem *parent = 0);
-    virtual ~BranchItem();
-    virtual void clear();
-    virtual void copy (BranchItem *item);
-    virtual BranchItem* parentBranch();
-
-    virtual void insertBranch (int pos,BranchItem *branch);
-
-    virtual QString saveToDir (const QString &tmpdir,const QString &prefix, const QPointF& offset,QList <Link*> &tmpLinks);
-
-    virtual void updateVisibility();
-
-    virtual void setHeadingColor (QColor color); //!Overloaded from TreeItem to update QGraphicsView
-
-protected:  
-    bool scrolled;     // true if all children are scrolled and thus invisible
-    bool tmpUnscrolled;            // can only be true (temporary) for a scrolled subtree
-
-public:
-    void updateTaskFlag();
-    void setTask (Task* t);
-    Task* getTask();
-private:
-    Task* task;
-
-public:
-    virtual void unScroll();           
-    virtual bool toggleScroll();       // scroll or unscroll
-    virtual bool isScrolled();         // returns scroll state
-    virtual bool hasScrolledParent(BranchItem* start=NULL);    // true, if any of the parents is scrolled
-    virtual bool tmpUnscroll(BranchItem* start=NULL);          // unscroll scrolled parents temporary e.g. during "find" process
-    virtual bool resetTmpUnscroll();       // scroll all tmp scrolled parents again e.g. when unselecting
-    virtual void sortChildren(bool inverse=false);  //! Sort children 
-    virtual void setChildrenLayout(BranchItem::LayoutHint layoutHint);
-    virtual BranchItem::LayoutHint getChildrenLayout();
-
-protected:
-    bool includeImagesVer;     //! include floatimages in bbox vertically
-    bool includeImagesHor;     //! include floatimages in bbox horizontally
-    bool includeChildren;      //! include children in frame
-    LayoutHint childrenLayout;  //! should children be positioned freely?
-
-public:
-    void setIncludeImagesVer(bool);
-    bool getIncludeImagesVer();
-    void setIncludeImagesHor(bool);
-    bool getIncludeImagesHor();
-    QString getIncludeImageAttr();
-    BranchItem* getFramedParentBranch(BranchItem *start);
-    void setFrameIncludeChildren(bool);
-    bool getFrameIncludeChildren();
-
-protected:
-    int lastSelectedBranchNum;
-    int lastSelectedBranchNumAlt;
-public:
-    virtual void setLastSelectedBranch();      //! Set myself as last selected in parent
-    virtual void setLastSelectedBranch(int i);     //! Set last selected branch directly
-    virtual BranchItem* getLastSelectedBranch();    //! Returns last selected branch usually
-    virtual BranchItem* getLastSelectedBranchAlt(); //! Used to return last selected branch left of a mapcenter
-
-public:
-    TreeItem* findMapItem (QPointF p,TreeItem* excludeTI);  //! search map for branches or images. Ignore excludeTI, where search is started 
-
-    virtual void updateStyles (const bool &keepFrame=false);       //! update related fonts, parObjects, links, ...
-    virtual BranchObj* getBranchObj(); 
-    virtual BranchObj* createMapObj(QGraphicsScene *scene); //! Create classic object in GraphicsView
-};
-
-#endif
diff --git a/branchobj.cpp b/branchobj.cpp
deleted file mode 100644 (file)
index 8615ab8..0000000
+++ /dev/null
@@ -1,737 +0,0 @@
-#include <QDebug>
-
-#include "branchobj.h"
-
-#include "attributeitem.h"
-#include "branchitem.h"
-#include "geometry.h"
-#include "mapeditor.h"
-#include "mainwindow.h"   
-#include "misc.h"
-
-extern FlagRow *standardFlagsMaster;
-extern FlagRow *systemFlagsMaster;
-extern bool debug;
-
-/////////////////////////////////////////////////////////////////
-// BranchObj
-/////////////////////////////////////////////////////////////////
-
-BranchObj::BranchObj (QGraphicsItem *parent,TreeItem *ti):OrnamentedObj (parent,ti)
-{
-    //qDebug ()<< "Const BranchObj  (s,ti) ti="<<ti;
-    treeItem=ti;
-    BranchItem *pi=(BranchItem*)(ti->parent());
-    if (pi && pi!=ti->getModel()->getRootItem() )
-        parObj=pi->getLMO();
-    else
-        parObj=NULL;
-    init();
-}
-
-BranchObj::~BranchObj ()
-{
-    //qDebug()<< "Destr BranchObj  of "<<this;
-
-    // If I'm animated, I need to un-animate myself first
-    if (anim.isAnimated() )
-    {
-        anim.setAnimated (false);
-        VymModel *model=treeItem->getModel();
-        model->stopAnimation (this);
-    }
-
-    clear();
-}
-
-void BranchObj::init () 
-{
-    if (parObj) absPos=parObj->getChildRefPos();
-}
-
-void BranchObj::copy (BranchObj* other)
-{
-    OrnamentedObj::copy(other);
-
-    setVisibility (other->visible);
-
-    positionBBox();
-}
-
-void BranchObj::clear() 
-{
-}
-
-void BranchObj::setParObjTmp(LinkableMapObj* dst, QPointF m, int off)  
-{
-    // Temporary link to dst
-    // m is position of mouse pointer
-    // offset 0: default 1: below dst   -1 above dst  (if possible)
-
-    BranchItem *dsti=(BranchItem*)(dst->getTreeItem());
-
-    BranchItem *pi=(BranchItem*)(dsti->parent());
-    int pi_depth=pi->depth();
-    BranchObj* bodst=(BranchObj*)dst;
-
-    if (!tmpParent)
-    {
-        tmpParent=true;
-        parObjTmpBuf=parObj;
-    }
-
-    if (pi_depth<1) off=0;
-    if (off==0)
-        link2ParPos=false;
-    else
-        link2ParPos=true;
-    parObj=bodst;
-
-    setLinkStyle (dst->getDefLinkStyle (dsti));
-
-    // Move temporary to new position at destination
-    // Usually the positioning would be done by reposition(),
-    // but then also the destination branch would "Jump" around...
-    // Better just do it approximately
-    if (dsti->depth()==0)
-    {  // new parent is a mapcenter
-        Vector v= ( m - bodst->getChildRefPos());
-        v.normalize();
-        v.scale (150);
-        move2RelPos (v.toQPointF());
-    } else
-    {
-        qreal y;
-        if (off==0)
-        {
-            // Below is needed e.g. in a freshly loaded map,
-            // bboxTotal seems not to be correct yet
-            // relinking positions too far below then
-            calcBBoxSizeWithChildren();
-
-            // new parent is just a branch, link to it
-            bodst->calcBBoxSizeWithChildren();
-            QRectF t = bodst->getTotalBBox();
-            if (dsti->getLastBranch())
-                // Move below children of destination
-                y = t.y() + t.height() ;
-            else
-                // Move left or right to destination
-                y = t.y()  ;
-        } else
-        {
-            if (off < 0)
-                // we want to link above dst
-                y = bodst->y() - height() + 12;
-            else
-                // we want to link below dst
-                // Bottom of sel should be 5 pixels above
-                // the bottom of the branch _below_ the target:
-                // Don't try to find that branch, guess 12 pixels
-                y = bodst->getChildRefPos().y()  -height() + 12;
-        }
-        if (bodst->getOrientation()==LinkableMapObj::LeftOfCenter)
-            move ( bodst->getChildRefPos().x() - linkwidth - bboxTotal.width(), y );    
-        else
-            move ( bodst->getChildRefPos().x() + linkwidth, y );
-    }
-
-    // updateLinkGeometry is called implicitly in move
-    requestReposition();
-}
-
-void BranchObj::unsetParObjTmp()
-{
-    if (tmpParent)
-    {
-        tmpParent=false;
-        link2ParPos=false;
-        parObj=parObjTmpBuf;
-        parObjTmpBuf=NULL;
-        setLinkStyle (getDefLinkStyle(treeItem->parent() ) );
-        updateLinkGeometry();
-    }
-}
-
-void BranchObj::setVisibility(bool v, int toDepth) 
-{
-    BranchItem *bi=(BranchItem*)treeItem;
-    if (bi->depth() <= toDepth)
-    {
-        frame->setVisibility(v);
-        heading->setVisibility(v);
-        systemFlags->setVisibility(v);
-        standardFlags->setVisibility(v);
-        LinkableMapObj::setVisibility (v);
-        int i;
-        for (i=0; i<treeItem->imageCount(); ++i)
-            treeItem->getImageObjNum(i)->setVisibility (v);
-        for (i=0; i<treeItem->xlinkCount(); ++i)
-            treeItem->getXLinkObjNum(i)->setVisibility ();
-
-        // Only change children, if I am not scrolled
-        if (! bi->isScrolled() && (bi->depth() < toDepth))
-        {
-            // Now go recursivly through all children
-            for (i=0; i<treeItem->branchCount(); ++i)
-                treeItem->getBranchObjNum(i)->setVisibility (v,toDepth);
-        }
-    }
-}   
-
-void BranchObj::setVisibility(bool v)
-{
-    setVisibility (v,MAX_DEPTH);
-}
-
-
-void BranchObj::setLinkColor ()
-{
-    // Overloaded from LinkableMapObj
-    // BranchObj can use color of heading
-
-    VymModel *model=treeItem->getModel();
-    if (model)
-    {
-        if (model->getMapLinkColorHint()==HeadingColor)
-            LinkableMapObj::setLinkColor (heading->getColor() );
-        else
-            LinkableMapObj::setLinkColor ();
-    }
-}
-
-void BranchObj::positionContents()
-{
-    OrnamentedObj::positionContents();
-    updateLinkGeometry();// required before positioning images
-    for (int i=0; i<treeItem->imageCount(); ++i)
-        treeItem->getImageObjNum(i)->reposition();
-}
-
-void BranchObj::move (double x, double y)
-{
-    OrnamentedObj::move (x,y);
-}
-
-void BranchObj::move (QPointF p)
-{
-    move (p.x(), p.y());
-}
-
-void BranchObj::moveBy (double x, double y)
-{
-    OrnamentedObj::moveBy (x,y);
-    for (int i=0; i<treeItem->branchCount(); ++i)
-       treeItem->getBranchObjNum(i)->moveBy (x,y);
-    positionBBox();
-}
-    
-void BranchObj::moveBy (QPointF p)
-{
-    moveBy (p.x(), p.y());
-}
-
-void BranchObj::positionBBox() // FIXME-3 consider dimensions of frame (thickness, geometry, padding...
-{
-    QPointF ap=getAbsPos();
-    bbox.moveTopLeft (ap);
-    positionContents();   // this positions FIOs
-
-    //Update links to other branches
-    XLinkObj *xlo;
-    for (int i=0; i<treeItem->xlinkCount(); ++i)
-    {
-        xlo=treeItem->getXLinkObjNum(i);
-        if (xlo) xlo->updateXLink();
-    }
-}
-
-void BranchObj::calcBBoxSize()
-{
-    QSizeF heading_r=heading->getSize();
-    qreal heading_w=(qreal) heading_r.width() ;
-    qreal heading_h=(qreal) heading_r.height() ;
-    QSizeF sysflags_r=systemFlags->getSize();
-    qreal sysflags_h=sysflags_r.height();
-    qreal sysflags_w=sysflags_r.width();
-    QSizeF stanflags_r=standardFlags->getSize();
-    qreal stanflags_h=stanflags_r.height();
-    qreal stanflags_w=stanflags_r.width();
-    qreal w;
-    qreal h;
-
-    // set width to sum of all widths
-    w=heading_w + sysflags_w + stanflags_w;
-
-    // set height to maximum needed height
-    h=max (sysflags_h,stanflags_h);
-    h=max (h,heading_h);
-
-    // Save the dimension of flags and heading
-    ornamentsBBox.setSize ( QSizeF(w,h));
-
-    // clickBox includes Flags and Heading
-    clickPoly=QPolygonF (ornamentsBBox);
-
-    // Floatimages 
-    QPointF rp;
-
-    topPad = botPad = leftPad = rightPad = 0;
-    bool incV=((BranchItem*)treeItem)->getIncludeImagesVer();
-    bool incH=((BranchItem*)treeItem)->getIncludeImagesHor();
-    if (incH || incV)
-    {
-       FloatImageObj *fio;
-       for (int i=0; i<treeItem->imageCount(); ++i )   
-       {
-           fio=treeItem->getImageObjNum(i);
-           rp=fio->getRelPos();
-           if (incV)
-           {
-                qreal y;
-                if (rp.y() > 0)
-                {
-                    y = rp.y() + fio->height()/2 - ornamentsBBox.height()/2;
-                    botPad = max(botPad, y);
-                } else
-                {
-                    y=-rp.y() + fio->height()/2 - ornamentsBBox.height()/2;
-                    topPad=max(topPad, y);
-                }
-           }       
-           if (incH)
-           {
-                qreal x;
-                if (rp.x() > 0)
-                {
-                    x=rp.x() + fio->width()/2 - ornamentsBBox.width()/2;
-                    rightPad=max(rightPad, x);
-                } else
-                {
-                    x=-rp.x() + fio->width()/2 - ornamentsBBox.width()/2;
-                    leftPad=max(leftPad, x);
-                }
-           }       
-       }   
-       h += topPad + botPad;
-       w += leftPad + rightPad;
-    }
-
-    // Frame thickness  
-    w += frame->getTotalPadding() * 2;
-    h += frame->getTotalPadding() * 2;
-    
-    // Finally set size
-    bbox.setSize (QSizeF (w,h));
-    //if (debug) qDebug()<<"BO: calcBBox "<<treeItem->getHeading()<<" bbox="<<bbox;
-}
-
-void BranchObj::setDockPos()
-{
-    floatRefPos=ornamentsBBox.center();
-
-    if (treeItem->getType() == TreeItem::MapCenter)
-    {
-        // set childRefPos to middle of MapCenterObj
-        QRectF r=clickPoly.boundingRect();
-        childRefPos.setX( r.topLeft().x() + r.width()/2 );
-        childRefPos.setY( r.topLeft().y() + r.height()/2 );
-        parPos=childRefPos;
-        for (int i=0; i<treeItem->branchCount(); ++i)
-            treeItem->getBranchObjNum(i)->updateLinkGeometry();
-    } else
-    {
-        if (orientation == LinkableMapObj::LeftOfCenter )
-        {
-            // Left of center
-            if ( ((BranchItem*)treeItem)->getFrameIncludeChildren() )
-            {
-                childRefPos=QPointF (ornamentsBBox.bottomLeft().x() - leftPad,  bottomlineY);
-                parPos=QPointF   (bboxTotal.bottomRight().x()-frame->getPadding()/2, bottomlineY);
-            } else
-            {
-                childRefPos=QPointF (ornamentsBBox.bottomLeft().x() - frame->getPadding(),  bottomlineY);
-                parPos=QPointF   (ornamentsBBox.bottomRight().x(), bottomlineY);
-            }
-        } else
-        {
-            // Right of center
-            if ( ((BranchItem*)treeItem)->getFrameIncludeChildren() )
-            {
-                childRefPos=QPointF(ornamentsBBox.bottomRight().x() + rightPad , bottomlineY);
-                parPos=QPointF ( bboxTotal.bottomLeft().x()+frame->getPadding()/2,  bottomlineY);
-            } else
-            {
-                childRefPos=QPointF(ornamentsBBox.bottomRight().x() + frame->getPadding(), bottomlineY);
-                parPos=QPointF ( ornamentsBBox.bottomLeft().x(),  bottomlineY);
-            }
-        }
-    }
-}
-
-void BranchObj::updateData()
-{
-    if (!treeItem)
-    {
-        qWarning ("BranchObj::udpateHeading treeItem==NULL");
-        return;
-    }
-    QString s = treeItem->getHeadingText();
-    if ( s!=heading->text()) heading->setText (s);
-
-    QStringList TIactiveFlags=treeItem->activeStandardFlagNames();
-
-    // Add missing standard flags active in TreeItem
-    for (int i=0;i<=TIactiveFlags.size()-1;i++)
-    {
-        if (!standardFlags->isActive (TIactiveFlags.at(i) ))
-        {
-            Flag *f=standardFlagsMaster->getFlag(TIactiveFlags.at(i));
-            if (f) standardFlags->activate (f);
-        }
-    }
-    // Remove standard flags no longer active in TreeItem
-    QStringList BOactiveFlags=standardFlags->activeFlagNames();
-    for (int i=0;i<BOactiveFlags.size();++i)
-        if (!TIactiveFlags.contains (BOactiveFlags.at(i)))
-            standardFlags->deactivate (BOactiveFlags.at(i));
-
-    // Add missing system flags active in TreeItem
-    TIactiveFlags=treeItem->activeSystemFlagNames();
-    for (int i=0;i<TIactiveFlags.size();++i)
-    {
-        if (!systemFlags->isActive (TIactiveFlags.at(i) ))
-        {
-            Flag *f=systemFlagsMaster->getFlag(TIactiveFlags.at(i));
-            if (f) systemFlags->activate (f);
-        }
-    }
-    // Remove system flags no longer active in TreeItem
-    BOactiveFlags=systemFlags->activeFlagNames();
-    for (int i=0;i<BOactiveFlags.size();++i)
-    {
-        if (!TIactiveFlags.contains (BOactiveFlags.at(i)))
-            systemFlags->deactivate (BOactiveFlags.at(i));
-    }
-    calcBBoxSize();
-}
-
-void BranchObj::setDefAttr (BranchModification mod, bool keepFrame)
-{
-    QFont font=treeItem->getModel()->getMapDefaultFont();
-    qreal fontsize=font.pointSizeF();
-    switch (treeItem->depth())
-    {
-    case 0:
-        break;
-    case 1:
-        fontsize=fontsize-2;
-        break;
-    case 2:
-        fontsize=fontsize-4;
-        break;
-    default:
-        fontsize=fontsize-6;
-        break;
-    }
-    setLinkStyle(getDefLinkStyle(treeItem->parent() ));
-    setLinkColor ();
-    font.setPointSizeF (fontsize);
-    heading->setFont(font );
-
-    if (mod==NewBranch && !keepFrame)
-    {
-        if (treeItem->depth()==0)
-            setFrameType (FrameObj::Rectangle);
-        else
-            setFrameType (FrameObj::NoFrame);
-    }
-    if (mod==NewBranch)
-        setColor (treeItem->getHeadingColor() );
-    else
-    {
-        // Relinked mapcenters
-        if (!keepFrame && getFrameType()!=FrameObj::NoFrame)
-            setFrameType (FrameObj::NoFrame);
-
-        // Also set styles for children
-        for (int i=0; i<treeItem->branchCount(); ++i)
-            treeItem->getBranchObjNum(i)->setDefAttr(MovedBranch, keepFrame);
-    }
-    calcBBoxSize();
-}
-
-void BranchObj::alignRelativeTo (QPointF ref,bool alignSelf)
-{
-    // Define some heights
-    qreal th = bboxTotal.height();  
-    qreal ch=0; // Sum of childrens heights
-    for (int i=0; i<treeItem->branchCount(); ++i)
-        ch+=treeItem->getBranchObjNum(i)->getTotalBBox().height();
-
-    int depth = 0;
-    BranchItem::LayoutHint layoutHint = BranchItem::AutoPositioning;
-    if (parObj)
-    {
-        TreeItem *pi = parObj->getTreeItem();
-        depth = 1 + pi->depth();
-        layoutHint = ((BranchItem*)treeItem)->parentBranch()->getChildrenLayout();
-    }
-    
-    // set useRelPos, depending on layout
-    if (depth > 1)
-    {
-        if (layoutHint == BranchItem::FreePositioning)
-        {
-            if (!useRelPos) 
-            {
-                useRelPos = true;
-                // if we used relPos before, set known positions
-                // "known" means any position != (0,0)
-                if (relPos == QPointF(0,0) )
-                    // use current position to get relPos()
-                    setRelPos();
-            }
-        }
-        else
-            useRelPos = false;
-    }
-
-// TODO testing
-/*
-    if (debug)
-    {
-        QString o;
-        switch (orientation)
-        {      
-            case UndefinedOrientation: o = "UndefOrientation"; break;
-            case LeftOfCenter: o = "LeftOfCenter"; break;
-            case RightOfCenter: o = "RightOfCenter"; break;
-        }
-            
-        QString h=QString (depth+1,' ');
-        h += treeItem->getHeadingPlain();
-        h += QString (25,' ');
-        h.truncate (25);
-        QPointF pp; 
-        if (parObj) pp = parObj->getChildRefPos();
-        qDebug() << "BO::alignRelTo for "<<h
-    //    qDebug() << "    d="<<depth;
-    //    qDebug() <<"   ref="<<ref;
-    //    qDebug() <<"    th="<<th;
-    //    qDebug() <<"    ch="<<ch;
-    //    if (ch < th) qDebug()<<"   ch<th !";
-    //    qDebug() <<"  parO="<<parObj;
-        //qDebug() <<   "  bbox.tL="<<bboxTotal.topLeft();
-        << "  useRelPos=" << useRelPos 
-        << " layoutHint= " << layoutHint
-    //    qDebug() <<"absPos="<<absPos
-       << "  relPos="<<relPos
-    // << "  parPos="<<pp
-    // << "  bbox="<<bbox
-       << "  orient="<<o<<" "<<orientation;
-    // << "  alignSelf="<<alignSelf
-    // << "  scrolled="<<((BranchItem*)treeItem)->isScrolled()
-    // << "  pad="<<topPad<<","<<botPad<<","<<leftPad<<","<<rightPad
-    // << "  hidden="<<hidden
-    // << "  th="<<th
-        ;
-    }
-   */
-
-    setOrientation();
-
-    // Align myself
-    if (depth==0)
-        move (getAbsPos()); // Trigger update of frames etc.
-    else if(depth==1)
-        move2RelPos (getRelPos() );
-    else if (depth>1)
-    {
-        if (layoutHint == BranchItem::FreePositioning)
-            move2RelPos (getRelPos() );
-        else
-        {
-            if (anim.isAnimated())
-                move2RelPos(anim);
-            else
-            {
-                if (alignSelf)
-                    switch (orientation)
-                    {
-                    case LinkableMapObj::LeftOfCenter:
-                        move (ref.x() - bbox.width(), ref.y() + (th-bbox.height())/2 );
-                        break;
-                    case LinkableMapObj::RightOfCenter:
-                        move (ref.x() , ref.y() + (th - bbox.height())/2 );
-                        break;
-                    default:
-                        qWarning ("LMO::alignRelativeTo: oops, no orientation given for BO...");
-                        break;
-                    }
-            }
-        }
-    }
-
-    // Without ancestors I am done
-    if ( ((BranchItem*)treeItem)->isScrolled() ) return;
-
-    // Set reference point for alignment of children
-    QPointF ref2;
-    if (orientation==LinkableMapObj::LeftOfCenter)
-        ref2.setX(childRefPos.x() - linkwidth);
-    else
-        ref2.setX(childRefPos.x() + linkwidth);
-
-    if (depth==1)
-        ref2.setY (absPos.y() + (bbox.height() - ch)/2);
-    else
-    {
-        if (ch > th)
-            ref2.setY (ref.y() + frame->getPadding());
-        else
-            // Parent is bigger than all of childs, center childs vertically
-            ref2.setY (ref.y() + (th - ch)/2 );
-    }
-
-    // Align the branch children depending on reference point
-    for (int i=0; i<treeItem->branchCount(); ++i)
-    {
-        if (!treeItem->getBranchNum(i)->isHidden())
-        {
-            treeItem->getBranchObjNum(i)->alignRelativeTo (ref2,true);
-
-            // append next branch below current one
-            ref2.setY(ref2.y() + treeItem->getBranchObjNum(i)->getTotalBBox().height() );
-        }
-    }
-}
-
-void BranchObj::reposition()
-{   
-/* TODO testing only
-    if (debug) 
-    {
-        if (!treeItem->getHeading().isEmpty())
-            qDebug()<< "  BO::reposition  a) d="<<treeItem->depth()<<" "<<treeItem->getHeading();
-        else    
-            qDebug()<< "  BO::reposition  a) d="<<treeItem->depth()<<" ???";
-    }
-*/     
-
-    if (treeItem->depth()==0)
-       // only calculate the sizes once. If the deepest LMO 
-       // changes its height,
-       // all upper LMOs have to change, too.
-       calcBBoxSizeWithChildren(); 
-
-    alignRelativeTo ( QPointF (absPos.x(),
-        absPos.y()-(bboxTotal.height()-bbox.height())/2) );    
-}
-
-void BranchObj::unsetAllRepositionRequests()
-{
-    repositionRequest=false;
-    for (int i=0; i<treeItem->branchCount(); ++i)
-        treeItem->getBranchObjNum(i)->unsetAllRepositionRequests();
-}
-
-QRectF BranchObj::getTotalBBox()
-{
-    return bboxTotal;
-}
-
-ConvexPolygon BranchObj::getBoundingPolygon()  
-{
-    if (treeItem->branchCount()==0 || treeItem->depth()==0)
-    {
-        if (boundingPolygon)
-            boundingPolygon->setPolygon (MapObj::getBoundingPolygon() );
-        return MapObj::getBoundingPolygon();
-    }
-
-    QPolygonF p;
-    p<<bboxTotal.topLeft();
-    p<<bboxTotal.topRight();
-    p<<bboxTotal.bottomRight();
-    p<<bboxTotal.bottomLeft();
-    if (boundingPolygon) boundingPolygon->setPolygon (p );
-    return p;
-}
-
-void BranchObj::calcBBoxSizeWithChildren()  
-{   
-    // if branch is scrolled, ignore children, but still consider floatimages
-    BranchItem *bi=(BranchItem*)treeItem;
-    if ( bi->isScrolled() )
-    {
-        bboxTotal.setWidth (bbox.width());
-        bboxTotal.setHeight(bbox.height());
-        return;
-    }
-    
-    if (bi->isHidden())
-    {
-        bboxTotal.setWidth (0);
-        bboxTotal.setHeight(0);
-        return;
-    }
-    
-    QRectF r(0,0,0,0);
-    QRectF br;
-
-    // Now calculate
-    // sum of heights
-    // maximum of widths
-    // minimum of y
-    for (int i=0; i<treeItem->branchCount(); i++)
-    {
-        if (!bi->getBranchNum(i)->isHidden())
-        {
-            BranchObj *bo=bi->getBranchObjNum(i);
-            bo->calcBBoxSizeWithChildren();
-            br=bo->getTotalBBox();
-            r.setWidth( max (br.width(), r.width() ));
-            r.setHeight(br.height() + r.height() );
-        }
-    }
-
-    // Add myself and also
-    // add width of link to sum if necessary
-    if (bi->branchCount()<1)
-        bboxTotal.setWidth (bbox.width() + r.width()  );
-    else
-        bboxTotal.setWidth (bbox.width() + r.width() + linkwidth );
-    
-    // bbox already contains frame->padding()*2
-    bboxTotal.setHeight(max (r.height() + frame->getPadding()*2,  bbox.height()) );
-}
-
-void BranchObj::setAnimation(const AnimPoint &ap)
-{
-    anim=ap;
-}
-
-void BranchObj::stopAnimation()
-{
-    anim.stop();
-    if (useRelPos)
-        setRelPos (anim);
-    else
-        move (anim);
-}
-
-bool BranchObj::animate()
-{
-    anim.animate ();
-    if ( anim.isAnimated() )
-    {
-        if (useRelPos)
-            setRelPos (anim);
-        else
-            move (anim);
-        return true;
-    }
-    return false;
-}
-
diff --git a/branchobj.h b/branchobj.h
deleted file mode 100644 (file)
index 7a1c5d1..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef BRANCHOBJ_H
-#define BRANCHOBJ_H
-
-#include "floatimageobj.h"
-#include "linkablemapobj.h"
-#include "ornamentedobj.h"
-#include "xlinkobj.h"
-
-/*! \brief A branch visible in the map */
-
-/////////////////////////////////////////////////////////////////////////////
-class BranchObj:public OrnamentedObj {
-public:
-    /*! New branches will get use same color for heading as parent */
-    enum BranchModification {NewBranch, MovedBranch};
-
-    BranchObj (QGraphicsItem *parent=NULL,TreeItem *ti=NULL);
-    ~BranchObj ();
-    virtual void init ();
-    virtual void copy (BranchObj*);
-    void clear();
-
-    virtual void setParObjTmp (LinkableMapObj*,QPointF,int);// Only for moving Obj around
-    virtual void unsetParObjTmp();         // reuse original ParObj
-
-    virtual void setVisibility(bool,int);   // set visibility
-    virtual void setVisibility(bool);      // set vis. for w
-    virtual void setLinkColor();           // set the color of link
-
-    virtual void positionContents();
-    virtual void move (double x,double y);
-    virtual void move (QPointF);
-    virtual void moveBy (double x,double y);
-    virtual void moveBy (QPointF);
-
-    virtual void positionBBox();
-    virtual void calcBBoxSize();
-    virtual void setDockPos();
-    
-    virtual void updateData(); //! Update represantatio of heading, flags, etc.
-
-public:        
-    virtual void setDefAttr (BranchModification, bool keepFrame=false);        // set default attributes (frame, font, size, ...)
-
-    virtual void alignRelativeTo(const QPointF, bool alignSelf=false );
-    virtual void reposition();
-    virtual void unsetAllRepositionRequests();
-
-    virtual QRectF getTotalBBox();     // return size of BBox including children  
-    virtual ConvexPolygon getBoundingPolygon();
-    virtual void calcBBoxSizeWithChildren();   // calc size of  BBox including children recursivly
-
-    virtual void setAnimation(const AnimPoint &ap);
-    virtual void stopAnimation();
-    virtual bool animate();
-
-protected:
-    AnimPoint anim;
-};
-
-
-#endif
-
diff --git a/branchpropeditor.cpp b/branchpropeditor.cpp
deleted file mode 100644 (file)
index c5d7a6d..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-#include "branchpropeditor.h"
-
-#include <QColorDialog>
-
-#include "branchitem.h"
-#include "frameobj.h"
-#include "settings.h"
-#include "vymmodel.h"
-
-extern Settings settings;
-extern QString vymName;
-
-
-BranchPropertyEditor::BranchPropertyEditor (QWidget *parent): QDialog (parent) // FIXME-4 not updating when data is set elsewhere (connect to dataCHanged)
-
-{
-    ui.setupUi (this);
-
-    setWindowTitle (vymName +" - " +tr ("Property Editor","Window caption"));
-
-    branchObj=NULL;
-    branchItem=NULL;
-    model=NULL;
-
-    ui.tabWidget->setEnabled(false);
-
-    penColor=QColor (Qt::black);
-    brushColor=QColor (Qt::black);
-    QPixmap pix( 16,16);
-    pix.fill (penColor);
-    ui.framePenColorButton->setIcon (pix);
-    ui.frameBrushColorButton->setIcon (pix);
-
-    if (!settings.value( "/mainwindow/showTestMenu",false).toBool() )
-        ui.tabWidget->widget (3)->hide();
-
-
-    /* Create Model and View to hold attributes
-    attributeModel = new QStandardItemModel (1,3,this);
-    attributeModel->setHeaderData(0, Qt::Horizontal, tr("Name","Branchprop window: Attribute name"));
-    attributeModel->setHeaderData(1, Qt::Horizontal, tr("Value","Branchprop window: Attribute value"));
-    attributeModel->setHeaderData(2, Qt::Horizontal, tr("Type","Branchprop window: Attribute type"));
-    ui.attributeTableView->setModel (attributeModel);
-    */
-
-    // Load Settings
-    resize (settings.value ( "/satellite/propertywindow/geometry/size", QSize(450,600)).toSize());
-    move   (settings.value ( "/satellite/propertywindow/geometry/pos", QPoint (250,50)).toPoint());
-    
-    if (settings.value ( "/satellite/propertywindow/showWithMain",true).toBool())
-        show();
-    else
-        hide();
-}
-
-BranchPropertyEditor::~BranchPropertyEditor ()
-{
-    settings.setValue( "/satellite/propertywindow/geometry/size", size() );
-    settings.setValue( "/satellite/propertywindow/geometry/pos", pos() );
-    settings.setValue( "/satellite/propertywindow/showWithMain",isVisible() );
-}
-
-void BranchPropertyEditor::setItem (TreeItem *ti)   
-{
-    disconnectSignals();
-    if (!ti)
-        ui.tabWidget->setEnabled (false);
-    else if (ti->isBranchLikeType() )
-    {
-        branchItem=(BranchItem*)ti;
-
-        branchObj=(BranchObj*)(branchItem->getLMO());
-        if (branchObj)     // FIXME-4 replace by branchItem later, when Frame is ported...
-        {
-            ui.tabWidget->setEnabled (true);
-            for (int i=0; i<3;++i)
-                ui.tabWidget->setTabEnabled (i,true);
-            ui.tabWidget->setTabEnabled (3,false);
-
-            // Frame
-            FrameObj::FrameType t=branchObj->getFrameType();
-            if (t==FrameObj::NoFrame)   // FIXME-3 Check if all below depends on frame type???
-            {
-                ui.frameTypeCombo->setCurrentIndex (0);
-                penColor=Qt::white;
-                brushColor=Qt::white;
-                ui.colorGroupBox->setEnabled (false);
-                ui.framePaddingSpinBox->setEnabled (false);
-                ui.frameWidthSpinBox->setEnabled (false);
-                ui.framePaddingLabel->setEnabled (false);
-                ui.frameBorderLabel->setEnabled (false);
-                ui.includeChildrenCheckBox->setEnabled (false);
-                ui.includeChildrenCheckBox->setEnabled (false);
-            } else
-            {
-                penColor=branchObj->getFramePenColor();
-                brushColor=branchObj->getFrameBrushColor();
-                QPixmap pix( 16,16);
-                pix.fill (penColor);
-                ui.framePenColorButton->setIcon (pix);
-                pix.fill (brushColor);
-                ui.frameBrushColorButton->setIcon (pix);
-                ui.colorGroupBox->setEnabled (true);
-                ui.framePaddingSpinBox->setEnabled (true);
-                ui.framePaddingSpinBox->setValue (branchObj->getFramePadding());
-                ui.frameWidthSpinBox->setEnabled (true);
-                ui.frameWidthSpinBox->setValue (branchObj->getFrameBorderWidth());
-                ui.framePaddingLabel->setEnabled (true);
-                ui.frameBorderLabel->setEnabled (true);
-                ui.includeChildrenCheckBox->setEnabled (true);
-
-                switch (t)
-                {
-                case FrameObj::Rectangle:
-                    ui.frameTypeCombo->setCurrentIndex (1);
-                    break;
-                case FrameObj::RoundedRectangle:
-                    ui.frameTypeCombo->setCurrentIndex (2);
-                    break;
-                case FrameObj::Ellipse:
-                    ui.frameTypeCombo->setCurrentIndex (3);
-                    break;
-                case FrameObj::Cloud:
-                    ui.frameTypeCombo->setCurrentIndex (4);
-                    break;
-                default:
-                    break;
-                }
-                if (branchItem->getFrameIncludeChildren())
-                    ui.includeChildrenCheckBox->setCheckState (Qt::Checked);
-                else
-                    ui.includeChildrenCheckBox->setCheckState (Qt::Unchecked);
-            }
-            // Link
-            if (branchItem->getHideLinkUnselected())
-                ui.hideLinkIfUnselected->setCheckState (Qt::Checked);
-            else
-                ui.hideLinkIfUnselected->setCheckState (Qt::Unchecked);
-
-            // Layout
-            if (branchItem->getIncludeImagesVer())
-                ui.incImgVer->setCheckState (Qt::Checked);
-            else
-                ui.incImgVer->setCheckState (Qt::Unchecked);
-            if (branchItem->getIncludeImagesHor())
-                ui.incImgHor->setCheckState (Qt::Checked);
-            else
-                ui.incImgHor->setCheckState (Qt::Unchecked);
-            if (branchItem->getChildrenLayout() == BranchItem::FreePositioning)
-                ui.childrenFreePositioning->setCheckState( Qt::Checked);
-            else
-                ui.childrenFreePositioning->setCheckState( Qt::Unchecked);
-
-
-            /*
-        // Attributes
-        attributeModel->removeRows(0, attributeModel->rowCount(), QModelIndex());
-
-        // some samples for attribute testing
-        QStringList attrTypes=mapEditor->attributeTable()->getTypes();
-        for (int i=0; i<attrTypes.count()-1;i++)
-        {
-        attributeModel->insertRow (i,QModelIndex ());
-        attributeModel->setData(attributeModel->index(i, 0, QModelIndex()), QString ("Name %1").arg(i));
-        attributeModel->setData(attributeModel->index(i, 1, QModelIndex()), i);
-        attributeModel->setData(attributeModel->index(i, 2, QModelIndex()), attrTypes.at(i));
-        }
-
-
-        ui.attributeTableView->resizeColumnsToContents();
-
-        // Initialize Delegate
-        delegate.setAttributeTable (mapEditor->attributeTable());
-        ui.attributeTableView->setItemDelegate (&delegate);
-    */
-
-            // Finally activate signals
-            connectSignals();
-        } // BranchItem
-    } else if (ti->getType()==TreeItem::Attribute)
-    {
-        ui.tabWidget->setEnabled (true);
-        for (int i=0; i<3;++i)
-            ui.tabWidget->setTabEnabled (i,false);
-        ui.tabWidget->setTabEnabled (3,true);
-    } else
-    {
-        ui.tabWidget->setEnabled (false);
-    }
-}
-
-void BranchPropertyEditor::setModel (VymModel *m)
-{
-    model=m;
-    if (model) 
-       setItem (model->getSelectedItem() );
-    else
-       ui.tabWidget->setEnabled (false);
-       
-}
-
-void BranchPropertyEditor::frameTypeChanged (int i)
-{
-    if (model)
-    {
-       switch (i)
-       {
-           case 0: model->setFrameType (FrameObj::NoFrame); break;
-           case 1: 
-               model->setFrameType (FrameObj::Rectangle); 
-               break;
-           case 2: 
-               model->setFrameType (FrameObj::RoundedRectangle); 
-               break;
-           case 3: 
-               model->setFrameType (FrameObj::Ellipse); 
-               break;
-           case 4: 
-               model->setFrameType (FrameObj::Cloud); 
-               break;
-       }
-       setItem (branchItem);
-    }  
-}
-
-void BranchPropertyEditor::framePenColorClicked()
-{
-    if (model) 
-    {  
-       QColor col = QColorDialog::getColor( penColor, this );
-       if ( col.isValid() ) 
-       {
-           penColor=col;
-           model->setFramePenColor (penColor);
-       }   
-    }
-}
-
-void BranchPropertyEditor::frameBrushColorClicked()
-{
-    if (model) 
-    {
-       QColor col = QColorDialog::getColor( brushColor, this );
-       if ( col.isValid() ) 
-       {
-           brushColor=col;
-           model->setFrameBrushColor (brushColor);
-       }   
-    }  
-}
-
-void BranchPropertyEditor::framePaddingChanged(int i)
-{
-    if (model) model->setFramePadding (i);
-}
-
-void BranchPropertyEditor::frameBorderWidthChanged(int i)
-{
-    if (model) model->setFrameBorderWidth(i);
-}
-
-void BranchPropertyEditor::frameIncludeChildrenChanged(int i)
-{
-    if (model) model->setFrameIncludeChildren(i);
-}
-
-void BranchPropertyEditor::linkHideUnselectedChanged (int i)
-{
-    if (!branchItem) return;
-    model->setHideLinkUnselected(i);
-}
-
-void BranchPropertyEditor::incImgVerChanged (int  i)
-{
-    if (model) model->setIncludeImagesVer (i);
-}
-
-void BranchPropertyEditor::incImgHorChanged (int  i)
-{
-    if (model) model->setIncludeImagesHor (i);
-}
-
-void BranchPropertyEditor::childrenFreePositioningChanged (int  i)
-{
-    if (model)
-    {
-        if (i>0)
-            model->setChildrenLayout( BranchItem::FreePositioning);
-        else
-            model->setChildrenLayout( BranchItem::AutoPositioning);
-    }
-}
-
-void BranchPropertyEditor::closeEvent( QCloseEvent* ce )
-{
-    ce->accept();   // can be reopened with show()
-    hide();
-    emit (windowClosed() );
-    return;
-}
-
-/*
-void BranchPropertyEditor::addAttributeClicked()
-{
-    // Add empty line for adding attributes
-    attributeModel->insertRow (attributeModel->rowCount (),QModelIndex ());
-    attributeModel->setData(attributeModel->index(attributeModel->rowCount()-1, 0, QModelIndex()),  "Add new");
-    attributeModel->setData(attributeModel->index(attributeModel->rowCount()-1, 2, QModelIndex()),  "Undefined");
-
-    // Select attribute from list
-    ui.attributeTableView->edit (attributeModel->index(attributeModel->rowCount()-1,0, QModelIndex() ));
-    ui.attributeTableView->resizeColumnsToContents();
-
-//  QString attname=attributeModel->in
-//  attributeModel->setData(attributeModel->index(attributeModel->rowCount()-1, 2, QModelIndex()),  );
-
-
-
-    ui.attributeTableView->edit (attributeModel->index(attributeModel->rowCount()-1,1, QModelIndex() ));
-
-}
-
-void BranchPropertyEditor::deleteAttributeClicked()
-{
-    //qDebug() << "BPW::delete";
-}
-*/
-
-void BranchPropertyEditor::connectSignals()
-{
-    // Frame
-    connect ( 
-        ui.framePenColorButton, SIGNAL (clicked()),
-        this, SLOT (framePenColorClicked()));
-    connect ( 
-        ui.framePaddingSpinBox, SIGNAL (valueChanged( int)),
-        this, SLOT (framePaddingChanged (int)));
-    connect ( 
-        ui.frameWidthSpinBox, SIGNAL (valueChanged( int)),
-        this, SLOT (frameBorderWidthChanged (int)));
-    connect ( 
-        ui.frameBrushColorButton, SIGNAL (clicked()),
-        this, SLOT (frameBrushColorClicked()));
-    connect ( 
-        ui.frameTypeCombo, SIGNAL (currentIndexChanged( int)),
-        this, SLOT (frameTypeChanged (int)));
-    connect ( 
-        ui.includeChildrenCheckBox, SIGNAL (stateChanged( int)),
-        this, SLOT (frameIncludeChildrenChanged (int)));
-
-    // Link 
-    connect ( 
-        ui.hideLinkIfUnselected, SIGNAL (stateChanged( int)),
-        this, SLOT (linkHideUnselectedChanged (int)));
-
-    // Layout  
-    connect ( 
-        ui.incImgVer, SIGNAL (stateChanged( int)),
-        this, SLOT (incImgVerChanged (int)));
-    connect ( 
-        ui.incImgHor, SIGNAL (stateChanged( int)),
-        this, SLOT (incImgHorChanged (int)));
-    connect (
-        ui.childrenFreePositioning, SIGNAL (stateChanged( int)),
-        this, SLOT (childrenFreePositioningChanged (int)));
-
-/*
-    // Attributes   
-    connect ( 
-       ui.addAttributeButton, SIGNAL (clicked()), 
-       this, SLOT (addAttributeClicked()));
-    connect ( 
-       ui.deleteAttributeButton, SIGNAL (clicked()), 
-       this, SLOT (deleteAttributeClicked()));
-*/     
-}
-
-
-void BranchPropertyEditor::disconnectSignals()
-{
-    // Frame 
-    disconnect ( ui.frameTypeCombo, 0,0,0);
-    disconnect ( ui.framePenColorButton, 0,0,0);
-    disconnect ( ui.framePaddingSpinBox, 0,0,0);
-    disconnect ( ui.frameWidthSpinBox, 0,0,0);
-    disconnect ( ui.frameBrushColorButton, 0,0,0);
-    disconnect ( ui.includeChildrenCheckBox, 0,0,0);
-
-    // Link 
-    disconnect ( ui.hideLinkIfUnselected, 0,0,0);
-
-    // Layout  
-    disconnect ( ui.incImgVer, 0,0,0);
-    disconnect ( ui.incImgHor, 0,0,0);
-    disconnect ( ui.childrenFreePositioning, 0,0,0);
-
-    // Attributes
-    /*
-    disconnect ( ui.addAttributeButton, 0,0,0);
-    disconnect ( ui.deleteAttributeButton, 0,0,0);
-    */
-}
-
-
diff --git a/branchpropeditor.h b/branchpropeditor.h
deleted file mode 100644 (file)
index 26ca3dc..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef BRANCHPROPERTYEDITOR_H
-#define BRANCHPROPERTYEDITOR_H
-
-#include "ui_branchpropeditor.h"
-
-#include <QDialog>
-#include <QCloseEvent>
-#include <QtGui>
-
-
-//#include "attributedelegate.h"
-#include "branchobj.h"
-
-class QAbstractItemModel;
-class VymModel;
-
-class BranchPropertyEditor:public QDialog
-{
-    Q_OBJECT
-public:
-    BranchPropertyEditor (QWidget *parent=0);
-    ~BranchPropertyEditor ();
-    void setItem (TreeItem *);
-    void setModel (VymModel *);
-
-private slots:
-    void frameTypeChanged (int);
-    void framePenColorClicked ();
-    void frameBrushColorClicked ();
-    void framePaddingChanged(int);
-    void frameBorderWidthChanged(int);
-    void frameIncludeChildrenChanged(int);
-    void linkHideUnselectedChanged (int);
-    void incImgVerChanged (int);
-    void incImgHorChanged (int);
-    void childrenFreePositioningChanged (int);
-//  void addAttributeClicked();
-//  void deleteAttributeClicked();
-
-signals:
-    void windowClosed();
-    
-protected:
-    void closeEvent( QCloseEvent* );
-
-private:
-    void connectSignals();
-    void disconnectSignals();
-    
-    Ui::BranchPropertyEditor ui;
-
-    BranchObj *branchObj;
-    BranchItem *branchItem;
-    VymModel *model;
-
-    QColor penColor;
-    QColor brushColor;
-
-//  QAbstractItemModel *attributeModel;
-
-//  AttributeDelegate delegate;
-};
-
-#endif // 
diff --git a/branchpropeditor.ui b/branchpropeditor.ui
deleted file mode 100644 (file)
index 9b9f839..0000000
+++ /dev/null
@@ -1,406 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>BranchPropertyEditor</class>
- <widget class="QWidget" name="BranchPropertyEditor">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>298</width>
-    <height>304</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="windowTitle">
-   <string>Branch Property Editor</string>
-  </property>
-  <layout class="QVBoxLayout">
-   <item>
-    <widget class="QTabWidget" name="tabWidget">
-     <property name="currentIndex">
-      <number>1</number>
-     </property>
-     <widget class="QWidget" name="tab">
-      <attribute name="title">
-       <string>Frame</string>
-      </attribute>
-      <layout class="QVBoxLayout">
-       <property name="spacing">
-        <number>6</number>
-       </property>
-       <property name="leftMargin">
-        <number>9</number>
-       </property>
-       <property name="topMargin">
-        <number>9</number>
-       </property>
-       <property name="rightMargin">
-        <number>9</number>
-       </property>
-       <property name="bottomMargin">
-        <number>9</number>
-       </property>
-       <item>
-        <widget class="QGroupBox" name="groupBox">
-         <property name="title">
-          <string>Geometry</string>
-         </property>
-         <layout class="QGridLayout">
-          <item row="0" column="0" colspan="4">
-           <widget class="QComboBox" name="frameTypeCombo">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <item>
-             <property name="text">
-              <string>No Frame</string>
-             </property>
-            </item>
-            <item>
-             <property name="text">
-              <string>Rectangle</string>
-             </property>
-            </item>
-            <item>
-             <property name="text">
-              <string>Rounded Rectangle</string>
-             </property>
-            </item>
-            <item>
-             <property name="text">
-              <string>Ellipse</string>
-             </property>
-            </item>
-            <item>
-             <property name="text">
-              <string>Cloud</string>
-             </property>
-            </item>
-           </widget>
-          </item>
-          <item row="2" column="3">
-           <spacer>
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item row="2" column="1" colspan="2">
-           <widget class="QLabel" name="framePaddingLabel">
-            <property name="text">
-             <string>Padding</string>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="1" colspan="2">
-           <widget class="QLabel" name="frameBorderLabel">
-            <property name="text">
-             <string>Borderline width</string>
-            </property>
-           </widget>
-          </item>
-          <item row="2" column="0">
-           <widget class="QSpinBox" name="framePaddingSpinBox">
-            <property name="maximum">
-             <number>50</number>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="0">
-           <widget class="QSpinBox" name="frameWidthSpinBox">
-            <property name="minimum">
-             <number>1</number>
-            </property>
-            <property name="maximum">
-             <number>20</number>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="0" colspan="3">
-           <widget class="QCheckBox" name="includeChildrenCheckBox">
-            <property name="text">
-             <string>Include children</string>
-            </property>
-           </widget>
-          </item>
-         </layout>
-        </widget>
-       </item>
-       <item>
-        <layout class="QVBoxLayout">
-         <property name="spacing">
-          <number>6</number>
-         </property>
-         <property name="leftMargin">
-          <number>0</number>
-         </property>
-         <property name="topMargin">
-          <number>0</number>
-         </property>
-         <property name="rightMargin">
-          <number>0</number>
-         </property>
-         <property name="bottomMargin">
-          <number>0</number>
-         </property>
-         <item>
-          <widget class="QGroupBox" name="colorGroupBox">
-           <property name="sizePolicy">
-            <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-             <horstretch>0</horstretch>
-             <verstretch>0</verstretch>
-            </sizepolicy>
-           </property>
-           <property name="title">
-            <string>Colors</string>
-           </property>
-           <layout class="QGridLayout">
-            <property name="leftMargin">
-             <number>7</number>
-            </property>
-            <property name="topMargin">
-             <number>7</number>
-            </property>
-            <property name="rightMargin">
-             <number>7</number>
-            </property>
-            <property name="bottomMargin">
-             <number>7</number>
-            </property>
-            <property name="spacing">
-             <number>6</number>
-            </property>
-            <item row="0" column="0">
-             <widget class="QPushButton" name="framePenColorButton">
-              <property name="maximumSize">
-               <size>
-                <width>20</width>
-                <height>16777215</height>
-               </size>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-             </widget>
-            </item>
-            <item row="0" column="1">
-             <widget class="QLabel" name="penColorLabelDesc">
-              <property name="sizePolicy">
-               <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-                <horstretch>0</horstretch>
-                <verstretch>0</verstretch>
-               </sizepolicy>
-              </property>
-              <property name="text">
-               <string>Borderline color</string>
-              </property>
-              <property name="buddy">
-               <cstring>framePenColorButton</cstring>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="0">
-             <widget class="QPushButton" name="frameBrushColorButton">
-              <property name="maximumSize">
-               <size>
-                <width>20</width>
-                <height>16777215</height>
-               </size>
-              </property>
-              <property name="text">
-               <string/>
-              </property>
-             </widget>
-            </item>
-            <item row="1" column="1">
-             <widget class="QLabel" name="brushColorLabelDesc">
-              <property name="text">
-               <string>Background color</string>
-              </property>
-              <property name="buddy">
-               <cstring>frameBrushColorButton</cstring>
-              </property>
-             </widget>
-            </item>
-            <item row="0" column="2">
-             <spacer>
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-           </layout>
-          </widget>
-         </item>
-        </layout>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="Layout">
-      <attribute name="title">
-       <string>Layout</string>
-      </attribute>
-      <layout class="QVBoxLayout">
-       <item>
-        <layout class="QVBoxLayout">
-         <item>
-          <widget class="QCheckBox" name="incImgHor">
-           <property name="text">
-            <string>Include images horizontally</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QCheckBox" name="incImgVer">
-           <property name="text">
-            <string>Include images vertically</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QCheckBox" name="childrenFreePositioning">
-           <property name="text">
-            <string>Free positioning of children (experimental!)</string>
-           </property>
-          </widget>
-         </item>
-        </layout>
-       </item>
-       <item>
-        <spacer>
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="tab_2">
-      <attribute name="title">
-       <string>Link</string>
-      </attribute>
-      <layout class="QVBoxLayout">
-       <item>
-        <widget class="QCheckBox" name="hideLinkIfUnselected">
-         <property name="text">
-          <string>Hide link if unselected</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <spacer>
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>20</width>
-           <height>40</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="tab_3">
-      <attribute name="title">
-       <string>Attributes</string>
-      </attribute>
-      <layout class="QVBoxLayout">
-       <item>
-        <widget class="QTableView" name="attributeTableView"/>
-       </item>
-       <item>
-        <layout class="QHBoxLayout">
-         <property name="spacing">
-          <number>6</number>
-         </property>
-         <property name="leftMargin">
-          <number>0</number>
-         </property>
-         <property name="topMargin">
-          <number>0</number>
-         </property>
-         <property name="rightMargin">
-          <number>0</number>
-         </property>
-         <property name="bottomMargin">
-          <number>0</number>
-         </property>
-         <item>
-          <widget class="QPushButton" name="addAttributeButton">
-           <property name="text">
-            <string>+</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <widget class="QPushButton" name="deleteAttributeButton">
-           <property name="text">
-            <string>-</string>
-           </property>
-          </widget>
-         </item>
-         <item>
-          <spacer>
-           <property name="orientation">
-            <enum>Qt::Horizontal</enum>
-           </property>
-           <property name="sizeHint" stdset="0">
-            <size>
-             <width>41</width>
-             <height>31</height>
-            </size>
-           </property>
-          </spacer>
-         </item>
-        </layout>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>40</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/bugagent.cpp b/bugagent.cpp
deleted file mode 100644 (file)
index d1677d2..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-#include "bugagent.h"\r
-\r
-#include "branchitem.h"\r
-#include "mainwindow.h"\r
-#include "vymmodel.h"\r
-\r
-#include <QHash>\r
-\r
-extern Main *mainWindow;\r
-extern QDir vymBaseDir;\r
-extern bool debug;\r
-\r
-\r
-BugAgent::BugAgent (BranchItem *bi,const QString &u)\r
-{\r
-    if (!bi) \r
-    {\r
-       qWarning ("Const BugAgent: bi==NULL");\r
-       delete (this);\r
-       return;\r
-    }\r
-    branchID=bi->getID();\r
-    VymModel *model=bi->getModel();\r
-    modelID=model->getModelID();\r
-\r
-    //qDebug()<<"Constr. BugAgent for "<<branchID;\r
-\r
-    url=u;\r
-\r
-    QStringList args;\r
-\r
-    if (url.contains("show_bug"))\r
-    {\r
-       missionType=SingleBug;\r
-       QRegExp rx("(\\d+)");\r
-       if (rx.indexIn(url) !=-1)\r
-       {\r
-           bugID=rx.cap(1);\r
-           args<<bugID;\r
-       } else\r
-       {\r
-           qDebug()<<"BugAgent: No bugID found in: "<<url;\r
-           delete (this);\r
-           return;\r
-       }\r
-\r
-    } else if (u.contains("buglist.cgi"))\r
-    {\r
-       missionType=Query; //FIXME-3 query not supported yet by new bugger\r
-       args<<"--query";\r
-       args<<url;\r
-    } else\r
-    {\r
-       qDebug()<<"Unknown Bugzilla command:\n"<<url;\r
-       delete (this);\r
-       return;\r
-    }\r
-       \r
-\r
-    bugScript=vymBaseDir.path()+"/scripts/bugger";\r
-\r
-    p=new VymProcess;\r
-\r
-    connect (p, SIGNAL (finished(int,QProcess::ExitStatus) ), \r
-       this, SLOT (processFinished(int,QProcess::ExitStatus) ));\r
-\r
-    p->start (bugScript,args);\r
-    if (!p->waitForStarted())\r
-    {\r
-       qWarning()<<"BugAgent::getBugzillaData couldn't start "<<bugScript;\r
-       return;\r
-    }  \r
-\r
-    // Visual hint that we are doing something  // FIXME-4 show spinner instead?\r
-    if (missionType==SingleBug)\r
-        model->setHeading ("Updating: "+bi->getHeadingPlain(),bi );//FIXME-4 translation needed?\r
-       \r
-}\r
-\r
-BugAgent::~BugAgent ()\r
-{\r
-    //qDebug()<<"Destr. BugAgent for "<<branchID;\r
-    delete p;\r
-}\r
-\r
-void BugAgent::processFinished(int exitCode, QProcess::ExitStatus exitStatus)\r
-{\r
-    if (exitStatus==QProcess::NormalExit)\r
-    {\r
-       result=p->getStdout().split("\n");\r
-       QString err=p->getErrout();\r
-       if (!err.isEmpty())\r
-           qWarning() << "BugAgent Error: "<<err;\r
-       else \r
-           processBugzillaData ();\r
-\r
-    } else     \r
-       qWarning()<< "BugAgent: Process finished with exitCode="<<exitCode;\r
-    deleteLater();\r
-}\r
-\r
-\r
-void BugAgent::processBugzillaData()\r
-{\r
-    // Find model from which we had been started\r
-    VymModel *model=mainWindow->getModel (modelID);\r
-    if (model)\r
-    {\r
-       // and find branch which triggered this mission\r
-       BranchItem *missionBI=(BranchItem*)(model->findID (branchID));      \r
-       if (missionBI)\r
-       {\r
-           // Here we go...\r
-\r
-           QRegExp re("(\\d*):(\\S*):\"(.*)\"");\r
-           re.setMinimal(false);\r
-           bug_desc.clear();\r
-           bug_prio.clear();\r
-           bug_sev.clear();\r
-           bug_deltats.clear();\r
-           bug_status.clear();\r
-           bug_whiteboard.clear();\r
-\r
-           QStringList bugs; \r
-           foreach (QString line,result)\r
-           {\r
-               if (debug) qDebug()<<"BugAgent::procBugData  line="<<line;\r
-               if (re.indexIn(line) !=-1) \r
-               {\r
-                   if (re.cap(2)=="short_desc") \r
-                   {\r
-                       bugs.append(re.cap(1));\r
-                       bug_desc[re.cap(1)]=re.cap(3).replace("\\\"","\"");\r
-                   }   \r
-                   else if (re.cap(2)=="priority") \r
-                       bug_prio[re.cap(1)]=re.cap(3).left(2);\r
-                   else if (re.cap(2)=="bug_severity") \r
-                   {\r
-                       if (re.cap(3)=="Critical")\r
-                           bug_sev[re.cap(1)]="S1";\r
-                       else if (re.cap(3)=="Major")\r
-                           bug_sev[re.cap(1)]="S2";\r
-                       else if (re.cap(3)=="Normal")\r
-                           bug_sev[re.cap(1)]="S3";\r
-                       else if (re.cap(3)=="Minor")\r
-                           bug_sev[re.cap(1)]="S4";\r
-                       else if (re.cap(3)=="Enhancement")\r
-                           bug_sev[re.cap(1)]="S5";\r
-                       else \r
-                       {\r
-                           qWarning()<<"BugAgent: Bugzilla returned severity "<<re.cap(3);\r
-                           bug_sev[re.cap(1)]=re.cap(3);\r
-                       }\r
-                   }   \r
-                   else if (re.cap(2)=="delta_ts") \r
-                       bug_deltats[re.cap(1)]=re.cap(3);\r
-                   else if (re.cap(2)=="bug_status") \r
-                       bug_status[re.cap(1)]=re.cap(3);\r
-                   else if (re.cap(2)=="status_whiteboard") \r
-                       bug_whiteboard[re.cap(1)]=re.cap(3);\r
-               }\r
-           }\r
-           if (bug_desc.count()<=0)\r
-               qWarning()<<"BugAgent: Couldn't find data";\r
-           else if (missionType==SingleBug)\r
-           {\r
-               // Only single bug changed\r
-               QString b=bugs.first();\r
-               setModelBugzillaData (model, missionBI,b);\r
-           } else\r
-           {\r
-               // Process results of query\r
-               BranchItem *newbi;\r
-               foreach (QString b,bugs)\r
-               {\r
-                   //qDebug ()<<" -> "<<b<<" "<<bug_desc[b];\r
-                   newbi=model->addNewBranch(missionBI);    \r
-                   newbi->setURL ("https://bugzilla.novell.com/show_bug.cgi?id="+b);\r
-                   if (!newbi)\r
-                       qWarning()<<"BugAgent: Couldn't create new branch?!";\r
-                   else\r
-                       setModelBugzillaData (model, newbi,b);\r
-               }\r
-           } \r
-       } else\r
-           qWarning ()<<"BugAgent: Found model, but not branch #"<<branchID;\r
-    } else\r
-       qWarning ()<<"BugAgent: Couldn't find model #"<<modelID;\r
-\r
-\r
-}\r
-\r
-void BugAgent::setModelBugzillaData (VymModel *model, BranchItem *bi, const QString &bugID)\r
-{\r
-    QString ps=bug_prio[bugID];\r
-    if (bug_whiteboard[bugID].contains ("PNEW")) ps=ps+"/"+bug_sev[bugID];\r
-    if (bug_status[bugID]=="CLOSED" \r
-       || bug_status[bugID]=="VERIFIED"\r
-       || bug_status[bugID]=="RESOLVED")\r
-    {\r
-    model->setHeadingPlainText ("("+ps+") - " + bugID + " - " + bug_desc[bugID],bi);\r
-       model->colorSubtree (Qt::blue,bi);\r
-    }else   \r
-    model->setHeadingPlainText (ps+ " - " + bugID + " - " + bug_desc[bugID],bi);\r
-}\r
-\r
diff --git a/bugagent.h b/bugagent.h
deleted file mode 100644 (file)
index aa9a0d8..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef BUGAGENT_H
-#define BUGAGENT_H
-
-#include <QHash>
-#include <QObject>
-
-#include "vymprocess.h"
-
-class BranchItem;
-class VymModel;
-
-class BugAgent:public QObject
-{
-    Q_OBJECT
-
-enum MissionType {SingleBug,Query};
-
-public:        
-    BugAgent (BranchItem *bi,const QString &bug);
-    ~BugAgent();
-
-public slots:
-    virtual void processFinished(int exitCode, QProcess::ExitStatus exitStatus);
-
-protected:
-    virtual void processBugzillaData ();
-    virtual void setModelBugzillaData (VymModel *model, BranchItem *bi,const QString &bugID);
-
-private:
-    MissionType missionType;
-    uint branchID;
-    uint modelID;
-    QString url;
-    QString bugID;
-    QString bugScript;
-    QStringList result;
-    VymProcess *p;
-
-    QHash <QString,QString> bug_desc;
-    QHash <QString,QString> bug_prio;
-    QHash <QString,QString> bug_sev;
-    QHash <QString,QString> bug_deltats;
-    QHash <QString,QString> bug_status;
-    QHash <QString,QString> bug_whiteboard;
-
-};
-#endif
-
diff --git a/cmake/Findcppcheck.cmake b/cmake/Findcppcheck.cmake
deleted file mode 100644 (file)
index 7cfdc74..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-# - try to find cppcheck tool
-#
-# Cache Variables:
-#  CPPCHECK_EXECUTABLE
-#
-# Non-cache variables you might use in your CMakeLists.txt:
-#  CPPCHECK_FOUND
-#  CPPCHECK_POSSIBLEERROR_ARG
-#  CPPCHECK_UNUSEDFUNC_ARG
-#  CPPCHECK_STYLE_ARG
-#  CPPCHECK_QUIET_ARG
-#  CPPCHECK_INCLUDEPATH_ARG
-#  CPPCHECK_FAIL_REGULAR_EXPRESSION
-#  CPPCHECK_WARN_REGULAR_EXPRESSION
-#  CPPCHECK_MARK_AS_ADVANCED - whether to mark our vars as advanced even
-#    if we don't find this program.
-#
-# Requires these CMake modules:
-#  FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
-#
-# Original Author:
-# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
-# http://academic.cleardefinition.com
-# Iowa State University HCI Graduate Program/VRAC
-#
-# Copyright Iowa State University 2009-2010.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
-
-file(TO_CMAKE_PATH "${CPPCHECK_ROOT_DIR}" CPPCHECK_ROOT_DIR)
-set(CPPCHECK_ROOT_DIR
-       "${CPPCHECK_ROOT_DIR}"
-       CACHE
-       PATH
-       "Path to search for cppcheck")
-
-# cppcheck app bundles on Mac OS X are GUI, we want command line only
-set(_oldappbundlesetting ${CMAKE_FIND_APPBUNDLE})
-set(CMAKE_FIND_APPBUNDLE NEVER)
-
-if(CPPCHECK_EXECUTABLE AND NOT EXISTS "${CPPCHECK_EXECUTABLE}")
-       set(CPPCHECK_EXECUTABLE "notfound" CACHE PATH FORCE "")
-endif()
-
-# If we have a custom path, look there first.
-if(CPPCHECK_ROOT_DIR)
-       find_program(CPPCHECK_EXECUTABLE
-               NAMES
-               cppcheck
-               cli
-               PATHS
-               "${CPPCHECK_ROOT_DIR}"
-               PATH_SUFFIXES
-               cli
-               NO_DEFAULT_PATH)
-endif()
-
-find_program(CPPCHECK_EXECUTABLE NAMES cppcheck)
-
-# Restore original setting for appbundle finding
-set(CMAKE_FIND_APPBUNDLE ${_oldappbundlesetting})
-
-# Find out where our test file is
-get_filename_component(_cppcheckmoddir ${CMAKE_CURRENT_LIST_FILE} PATH)
-set(_cppcheckdummyfile "${_cppcheckmoddir}/Findcppcheck.cpp")
-
-function(_cppcheck_test_arg _resultvar _arg)
-       if(NOT CPPCHECK_EXECUTABLE)
-               set(${_resultvar} NO)
-               return()
-       endif()
-       execute_process(COMMAND
-               "${CPPCHECK_EXECUTABLE}"
-               "${_arg}"
-               "--quiet"
-               "${_cppcheckdummyfile}"
-               RESULT_VARIABLE
-               _cppcheck_result
-               OUTPUT_QUIET
-               ERROR_QUIET)
-       if("${_cppcheck_result}" EQUAL 0)
-               set(${_resultvar} YES PARENT_SCOPE)
-       else()
-               set(${_resultvar} NO PARENT_SCOPE)
-       endif()
-endfunction()
-
-function(_cppcheck_set_arg_var _argvar _arg)
-       if("${${_argvar}}" STREQUAL "")
-               _cppcheck_test_arg(_cppcheck_arg "${_arg}")
-               if(_cppcheck_arg)
-                       set(${_argvar} "${_arg}" PARENT_SCOPE)
-               endif()
-       endif()
-endfunction()
-
-if(CPPCHECK_EXECUTABLE)
-
-       # Check for the two types of command line arguments by just trying them
-       _cppcheck_set_arg_var(CPPCHECK_STYLE_ARG "--enable=style")
-       _cppcheck_set_arg_var(CPPCHECK_STYLE_ARG "--style")
-       if("${CPPCHECK_STYLE_ARG}" STREQUAL "--enable=style")
-
-               _cppcheck_set_arg_var(CPPCHECK_UNUSEDFUNC_ARG "--enable=unusedFunction")
-               _cppcheck_set_arg_var(CPPCHECK_INFORMATION_ARG "--enable=information")
-               _cppcheck_set_arg_var(CPPCHECK_INCLUDE_ARG "--enable=missingInclude")
-               _cppcheck_set_arg_var(CPPCHECK_POSIX_ARG "--enable=posix")
-               _cppcheck_set_arg_var(CPPCHECK_POSSIBLEERROR_ARG "--enable=possibleError")
-               _cppcheck_set_arg_var(CPPCHECK_POSSIBLEERROR_ARG "--enable=all")
-
-               if(MSVC)
-                       set(CPPCHECK_TEMPLATE_ARG --template vs)
-                       set(CPPCHECK_FAIL_REGULAR_EXPRESSION "[(]error[)]")
-                       set(CPPCHECK_WARN_REGULAR_EXPRESSION "[(]style[)]")
-               elseif(CMAKE_COMPILER_IS_GNUCXX)
-                       set(CPPCHECK_TEMPLATE_ARG --template gcc)
-                       set(CPPCHECK_FAIL_REGULAR_EXPRESSION " error: ")
-                       set(CPPCHECK_WARN_REGULAR_EXPRESSION " style: ")
-               else()
-                       set(CPPCHECK_TEMPLATE_ARG --template gcc)
-                       set(CPPCHECK_FAIL_REGULAR_EXPRESSION " error: ")
-                       set(CPPCHECK_WARN_REGULAR_EXPRESSION " style: ")
-               endif()
-       elseif("${CPPCHECK_STYLE_ARG}" STREQUAL "--style")
-               # Old arguments
-               _cppcheck_set_arg_var(CPPCHECK_UNUSEDFUNC_ARG "--unused-functions")
-               _cppcheck_set_arg_var(CPPCHECK_POSSIBLEERROR_ARG "--all")
-               set(CPPCHECK_FAIL_REGULAR_EXPRESSION "error:")
-               set(CPPCHECK_WARN_REGULAR_EXPRESSION "[(]style[)]")
-       else()
-               # No idea - some other issue must be getting in the way
-               message(STATUS
-                       "WARNING: Can't detect whether CPPCHECK wants new or old-style arguments!")
-       endif()
-
-       set(CPPCHECK_QUIET_ARG "--quiet")
-       set(CPPCHECK_INCLUDEPATH_ARG "-I")
-
-endif()
-
-set(CPPCHECK_ALL
-       "${CPPCHECK_EXECUTABLE} ${CPPCHECK_POSSIBLEERROR_ARG} ${CPPCHECK_UNUSEDFUNC_ARG} ${CPPCHECK_STYLE_ARG} ${CPPCHECK_QUIET_ARG} ${CPPCHECK_INCLUDEPATH_ARG} some/include/path")
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(cppcheck
-       DEFAULT_MSG
-       CPPCHECK_ALL
-       CPPCHECK_EXECUTABLE
-       CPPCHECK_POSSIBLEERROR_ARG
-        CPPCHECK_UNUSEDFUNC_ARG
-       CPPCHECK_STYLE_ARG
-       CPPCHECK_INCLUDEPATH_ARG
-       CPPCHECK_QUIET_ARG)
-
-if(CPPCHECK_FOUND OR CPPCHECK_MARK_AS_ADVANCED)
-       mark_as_advanced(CPPCHECK_ROOT_DIR)
-endif()
-
-mark_as_advanced(CPPCHECK_EXECUTABLE)
diff --git a/cmake/Findcppcheck.cpp b/cmake/Findcppcheck.cpp
deleted file mode 100644 (file)
index 84350db..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * \file Findcppcheck.cpp
- * \brief Dummy C++ source file used by CMake module Findcppcheck.cmake
- *
- * \author
- * Ryan Pavlik, 2009-2010
- * <rpavlik@iastate.edu>
- * http://academic.cleardefinition.com/
- *
- */
-
-
-
-int main(int argc, char* argv[]) {
-       return 0;
-}
diff --git a/command.cpp b/command.cpp
deleted file mode 100644 (file)
index bc48489..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-#include "command.h"
-
-#include <QDebug>
-Command::Command (const QString &n, SelectionType st)
-{
-    name=n;
-    selectionType=st;
-}
-
-QString Command::getName()
-{
-    return name;
-}
-
-QString Command::getDescription()
-{
-    QString s;
-    s=QString("%1\n").arg(name);
-    s+=QString("  Selection: %1\n").arg(getSelectionTypeName());
-    //s+=QString(" Parameters: %1\n").arg(parCount() );
-    for (int i=0;i<parCount();i++)
-    {
-       s+=QString("   Parameter %1:\n").arg(i);
-       s+=QString("        Comment: %1\n").arg(getParComment(i));
-       s+=QString("           Type: %1\n").arg(getParTypeName(i));
-       s+=QString("       Optional: ");
-       isParOptional(i) ? s+="yes\n" :s+="No\n";
-    }
-    return s;
-}
-
-QString Command::getDescriptionLaTeX()
-{
-    QString s;
-    s=QString("\\item %1\\\\\n").arg(name);
-    s+="\\begin{tabular}{rl}\n";
-    s+=QString("  Selection: & %1\\\\\n").arg(getSelectionTypeName());
-    for (int i=0;i<parCount();i++)
-    {
-       s+=QString("   Parameter: &  %1:\\\\\n").arg(i);
-       s+=QString("        Comment: & %1\\\\\n").arg(getParComment(i));
-       s+=QString("           Type: & %1\\\\\n").arg(getParTypeName(i));
-       s+=QString("       Optional: &  ");
-       isParOptional(i) ? s+="yes\\\\\n" :s+="No\\\\\n";
-    }
-    s+="\\end{tabular}\n";
-    return s;
-}
-
-void Command::addPar (ParameterType t, bool opt, const QString &c)  
-{
-    parTypes.append (t);
-    parOpts.append (opt);
-    parComments.append (c);
-}
-
-int Command::parCount()
-{
-    return parTypes.count();
-}
-
-Command::ParameterType Command::getParType (int n)
-{
-    if (n>=0 && n<parTypes.count() )
-    {
-       return parTypes.at(n);
-    }
-    qDebug()<<"Command::getParType n out of range";
-    return Undefined;
-}
-
-QString Command::getParTypeName (int n)
-{
-    switch (getParType(n))
-    {
-       case String: return "String";
-       case Int: return "Int";
-       case Double: return "Double";
-       case Color: return "Color";
-       case Bool: return "Bool";
-       default: return "Undefined";
-    }
-}
-
-Command::SelectionType Command::getSelectionType ()
-{
-    return selectionType;
-}
-
-QString Command::getSelectionTypeName ()
-{
-    switch (getSelectionType())
-    {
-       case Any: return "Any";
-       case TreeItem: return "TreeItem";
-       case Branch: return "Branch";
-       case BranchLike: return "BranchLike";
-       case Image: return "Image";
-       case BranchOrImage: return "BranchOrImage";
-       case XLink: return "XLink";
-       default: return "Undefined";
-    }
-}
-
-bool Command::isParOptional (int n)
-{
-    if (n>=0 && n<parTypes.count() )
-    {
-       return parOpts.at(n);
-    }
-    qDebug()<<"Command::isParOpt n out of range";
-    return false;
-}
-
-QString Command::getParComment(int n)
-{
-    if (n>=0 && n<parTypes.count() )
-    {
-       return parComments.at(n);
-    }
-    qDebug()<<"Command::getParComment n out of range";
-    return QString();
-}
diff --git a/command.h b/command.h
deleted file mode 100644 (file)
index 97b1889..0000000
--- a/command.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef COMMAND_H
-#define COMMAND_H
-
-#include <QColor>
-#include <QStringList>
-
-class Command
-{
-public:
-    enum SelectionType {Any, TreeItem, Branch, BranchLike, Image, BranchOrImage, XLink}; 
-    enum ParameterType {Undefined,String, Int, Double, Color, Bool};
-    Command (const QString &n, SelectionType st);
-    QString getName();
-    QString getDescription();
-    QString getDescriptionLaTeX();
-    void addPar (ParameterType t, bool opt, const QString &c=QString() );
-    int parCount();
-    ParameterType getParType (int n);
-    QString getParTypeName (int n);
-    SelectionType getSelectionType ();
-    QString getSelectionTypeName ();
-    bool isParOptional (int n);
-    QString getParComment(int n);
-
-private:
-       QString name;
-       SelectionType selectionType;
-       QList <ParameterType> parTypes;
-       QList <bool> parOpts;
-       QStringList parComments;
-};
-
-#endif
diff --git a/config/vym.desktop b/config/vym.desktop
new file mode 100644 (file)
index 0000000..d0960fe
--- /dev/null
@@ -0,0 +1,40 @@
+[Desktop Entry]
+Type=Application
+Exec=vym
+Name=VYM - View Your Mind
+Name[de]=VYM - View Your Mind
+Name[zh_TW]=心智檢視
+GenericName=Planning and Brainstorming Tool
+Icon=vym
+MimeType=application/x-vym;
+Comment=Planning and brainstorming
+Comment[af]=View Your Mind (Besigitig jou verstand)
+Comment[sq]=View Your Mind (Shfaq Mendjen Tënde)
+Comment[ast]=View Your Mind (Ve la to miente)
+Comment[bn]=View Your Mind (আপনার উদ্দেশ্য প্রদর্শন করুন)
+Comment[bs]=View Your Mind (Pogledajte svoje misli)
+Comment[ca@valencia]=View Your Mind (Visualitzeu la vostra ment)
+Comment[ca]=View Your Mind (Visualitzeu la vostra ment)
+Comment[zh_CN]=View Your Mind (浏览您的思维)
+Comment[da]=View Your Mind (Vis dit sind)
+Comment[et]=View Your Mind (Vaata oma mõtteid)
+Comment[fi]=View Your Mind (Näytä mielesi)
+Comment[fr]=View Your Mind (Cartographier vos idées)
+Comment[gl]=View Your Mind (Vexa a súa mente)
+Comment[ky]=View Your Mind (Акылыңды иштетип көр)
+Comment[oc]=View Your Mind (Cartografiar vòstras idèas)
+Comment[pl]=View Your Mind (Uzewnętrznia myśli)
+Comment[ro]=View Your Mind (Hărți mentale)
+Comment[ru]=View Your Mind (Просмотр ваших мыслей)
+Comment[sl]=View Your Mind (Oglejte si svoje misli)
+Comment[es]=View Your Mind (Vea su mente)
+Comment[vi]=View Your Mind (Xem tư duy của bạn)
+Comment[zh_TW]=VYM 腦力激盪工具
+
+X-AppInstall-Package=vym
+X-AppInstall-Popcon=430
+X-AppInstall-Section=universe
+X-Ubuntu-Gettext-Domain=app-install-data
+Categories=Qt;KDE;Office;
+
+
diff --git a/config/vym.xml b/config/vym.xml
new file mode 100644 (file)
index 0000000..1a9ac46
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+  <mime-type type="application/x-vym">
+    <comment xml:lang="en">VYM - View Your Mind files</comment>
+    <glob pattern="*.vym" />
+    <glob pattern="*.vyp" />
+    <glob pattern="*.vys" />
+  </mime-type>
+</mime-info>
diff --git a/demos/default-dark.vym b/demos/default-dark.vym
new file mode 100644 (file)
index 0000000..7df80d7
Binary files /dev/null and b/demos/default-dark.vym differ
diff --git a/demos/default.vym b/demos/default.vym
new file mode 100644 (file)
index 0000000..5722de3
Binary files /dev/null and b/demos/default.vym differ
index c7cc9cedcd87d99221e26f4868eca9b89f4f6a0c..d1d91e02e7a712e14c8d2263aed847b80bd71068 100644 (file)
Binary files a/demos/frames.vym and b/demos/frames.vym differ
index cead5c9f3fed2bd9e2e1c0b0cbeec1ab42ec462e..9070fc752ec318e553e0605dc768e511299f8c84 100644 (file)
Binary files a/demos/lifeforms.vym and b/demos/lifeforms.vym differ
index 1f9a75e00315d1a7682070c923b3fc83b3e6c1e7..b8e2c639639048435830529398038b340971d78a 100644 (file)
Binary files a/demos/math.vym and b/demos/math.vym differ
diff --git a/demos/new-flags.vym b/demos/new-flags.vym
new file mode 100644 (file)
index 0000000..f1371e3
Binary files /dev/null and b/demos/new-flags.vym differ
diff --git a/demos/scripts/examplescript.vys b/demos/scripts/examplescript.vys
new file mode 100644 (file)
index 0000000..65790f5
--- /dev/null
@@ -0,0 +1,16 @@
+//Example function definition
+function foofunction(s) {
+  print ("Foofunction output: " +  s); 
+  s = "changed par";
+  return {a: "ret-value", b: "bla"};
+}
+
+par = "I am a parameter!";
+print (foofunction(par));
+print ("par is now: " + par);
+//abort("xxx");
+print ("bar");
+
+m=vym.currentMap();
+m.setHeadingPlainText("foobar");
+print( m.getHeadingPlainText());
\ No newline at end of file
diff --git a/demos/scripts/export-image.vys b/demos/scripts/export-image.vys
new file mode 100644 (file)
index 0000000..2ea58a5
--- /dev/null
@@ -0,0 +1,16 @@
+vym.clearConsole();
+map = vym.currentMap();
+map.exportMap("Image","export-test.png","PNG");        // Last parameter is optional
+
+
+// Parameters
+
+0: Export type
+1: Filname
+2: Image format (optional) for "Image"
+
+// Export types
+["Last", "AO", "ASCII", "CSV", "HTML", "Image", "Impress", "LaTeX", "Markdown", "OrgMode", "PDF", "SVG", "XML"]
+
+// Image formats
+["PNG", "GIF", "JPG", "JPEG", "PNG", "PBM", "PGM", "PPM", "TIFF", "XBM", "]XPM"
diff --git a/demos/scripts/iterating-branches.vys b/demos/scripts/iterating-branches.vys
new file mode 100644 (file)
index 0000000..da70ac8
--- /dev/null
@@ -0,0 +1,10 @@
+vym.clearConsole();
+m1 = vym.currentMap();
+
+m1.initIterator("foobar");
+print ("Starting with branch: " + m1.getHeadingPlainText() );
+
+while (m1.nextIterator("foobar") )
+{
+    print ("Selected branch: " + m1.getHeadingPlainText() );
+}
diff --git a/demos/scripts/setSelectionBoxDarkTheme.vys b/demos/scripts/setSelectionBoxDarkTheme.vys
new file mode 100644 (file)
index 0000000..f77dad2
--- /dev/null
@@ -0,0 +1,5 @@
+map = vym.currentMap();
+map.setSelectionPenWidth(2);
+map.setSelectionPenColor("#ffffff00");
+map.setSelectionBrushColor("#44ffff00");
+print ("Updated selection box colors.");
diff --git a/demos/scripts/strip-url.vys b/demos/scripts/strip-url.vys
new file mode 100644 (file)
index 0000000..ddcaf5f
--- /dev/null
@@ -0,0 +1,50 @@
+// Strip URLs from confluence and generate readable heading
+// by removing path and replacing characters like  "+" 
+
+vym.clearConsole();
+m1 = vym.currentMap();
+
+org = m1.getURL();
+print ("Original:");
+print (org);
+
+s = org;
+
+// Chop trailing "/"
+if (s[s.length-1] == '/') {
+  s = s.slice(0, s.length - 1);
+}
+
+// Remove confluence parts
+if (s.indexOf("infohub") != -1) {
+  print("Found infohub page");
+  if (s.indexOf("spaceKey") != -1) {
+    s = s.replace(/^.*spaceKey=/g, "");
+    s = s.replace(/(&title=)/g, ": ");
+  } else
+  {
+    s = s.replace(/^.*display\//g, "");
+    s = s.replace(/\//g, ": ");
+  }
+} else // no infohub page
+{
+  // remove path
+  s = s.replace(/^.*\//g, "");
+}
+
+print (s);
+
+// Replace "+" and "-"
+s = s.replace(/\+/g, " ");
+s = s.replace(/%3A/g, "");
+print ("After replacing:");
+print (s);
+
+// Write new header
+m1.setHeadingPlainText(s);
+
+if ( org == s ) {
+  statusMessage ("Heading not changed.");
+} else {
+  statusMessage("Changed heading: " + org + " -> " + s);
+}
\ No newline at end of file
diff --git a/demos/task-management.vym b/demos/task-management.vym
new file mode 100644 (file)
index 0000000..9057a98
Binary files /dev/null and b/demos/task-management.vym differ
index bb7c4fdd6434bf6f953ea003bf20a5c79c9da6b0..c7bb5645826ec9e3c433e6c8bc694780bb05c6cf 100644 (file)
Binary files a/doc/vym.1.gz and b/doc/vym.1.gz differ
index db3802c33945e1cec403eb9b9bfda40444dd4703..c276efe6bce1f164b135a7d325bcc62ae1eca860 100644 (file)
Binary files a/doc/vym.pdf and b/doc/vym.pdf differ
index 443eab706d4750be877c63cbccc685fa7f14219c..757fe98c33700af26a6a9cd6cf99fb4a90f9e631 100644 (file)
Binary files a/doc/vym_es.pdf and b/doc/vym_es.pdf differ
index 072f9a65558cdd52b89b0a5847ec5819e115831d..9c2155547a511f7dcc68fbf3df8cc006b8096ab2 100644 (file)
Binary files a/doc/vym_fr.pdf and b/doc/vym_fr.pdf differ
diff --git a/dockeditor.cpp b/dockeditor.cpp
deleted file mode 100644 (file)
index c6ef3ef..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "dockeditor.h"
-
-#include "vymmodel.h"
-
-DockEditor::DockEditor () { init (); }
-DockEditor::DockEditor ( QString title, QWidget *p, VymModel *m):QDockWidget (title,p) 
-{
-    editorTitle=title;
-    model=m;
-    init();
-}
-
-void DockEditor::init()
-{
-    connect ( this, SIGNAL ( topLevelChanged ( bool ) ),
-             this, SLOT (changeTopLevel ( bool ) ) );
-}
-
-void DockEditor::changeTopLevel (bool topLevel) 
-{
-    if (topLevel && model)
-       setWindowTitle (editorTitle+": "+model->getFileName() );
-    else       
-       setWindowTitle (editorTitle);
-}
diff --git a/dockeditor.h b/dockeditor.h
deleted file mode 100644 (file)
index f00e137..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef DOCKEDITOR_H 
-#define DOCKEDITOR_H
-
-#include <QDockWidget>
-
-class VymModel;
-
-class DockEditor:public QDockWidget
-{
-    Q_OBJECT
-public:
-    DockEditor ();
-    DockEditor (QString title, QWidget *p=0, VymModel *m=0);
-    void init();
-
-public slots:
-    void changeTopLevel( bool topLevel);
-private:
-    QString editorTitle;
-    VymModel *model;
-};
-
-
-#endif
-
diff --git a/downloadagent.cpp b/downloadagent.cpp
deleted file mode 100644 (file)
index b5d5e9d..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-#include <QCoreApplication>
-#include <QDebug>
-#include <QFile>
-#include <QFileInfo>
-#include <QList>
-#include <QMessageBox>
-#include <QNetworkAccessManager>
-#include <QNetworkRequest>
-#include <QNetworkReply>
-#include <QSslError>
-#include <QStringList>
-#include <QTimer>
-#include <QUrl>
-
-#include <stdio.h>
-
-QT_BEGIN_NAMESPACE
-class QSslError;
-QT_END_NAMESPACE
-
-QT_USE_NAMESPACE
-
-#include "downloadagent.h"
-#include "mainwindow.h"
-#include "settings.h"
-#include "vymmodel.h"
-
-extern Main *mainWindow;
-extern QString vymVersion;
-extern QString vymPlatform;
-extern QString tmpVymDir;
-extern Settings settings;
-extern bool debug;
-
-DownloadAgent::DownloadAgent(const QUrl &u)
-{
-    finishedScriptModelID = 0;
-    url = u;
-    connect(&agent, SIGNAL(finished(QNetworkReply*)),
-            SLOT(requestFinished(QNetworkReply*)));
-
-    userAgent = QString("vym %1 ( %2)")
-        .arg(vymVersion)
-        .arg(vymPlatform).toUtf8();
-}
-
-QString  DownloadAgent::getDestination()
-{
-    return tmpFile.fileName();
-}
-
-bool DownloadAgent::isSuccess()
-{
-    return success;
-}
-
-QString DownloadAgent::getResultMessage()
-{
-    return resultMessage;
-}
-
-void DownloadAgent::setFinishedAction (VymModel *m, const QString &script)
-{
-    finishedScriptModelID = m->getModelID();
-    finishedScript = script;
-}
-
-uint DownloadAgent::getFinishedScriptModelID()
-{
-    return finishedScriptModelID;
-}
-
-QString DownloadAgent::getFinishedScript ()
-{
-    return finishedScript;
-}
-
-void DownloadAgent::setUserAgent(const QString &s)
-{
-    userAgent = s.toLocal8Bit();
-}
-
-void DownloadAgent::doDownload(const QUrl &url) 
-{
-    QNetworkRequest request(url);
-    if (!userAgent.isEmpty()) request.setRawHeader("User-Agent", userAgent);
-
-    // Only send cookies if talking to my own domain
-    bool useCookies = false;
-    if (url.host().contains("insilmaril.de") ) useCookies = true;
-
-    if (useCookies)
-    {
-        if (debug) qDebug() << "DownloadAgent::doDownload  Using cookies to download " << url.toString();
-        QByteArray idCookieValue = settings.value("/downloads/cookies/vymID/value",QByteArray() ).toByteArray();
-        //idCookieValue = QVariant("2000000002601").toByteArray(); //TESTING!!!
-        //qDebug()<<"idCookie="<<idCookieValue;
-        if (!idCookieValue.size() == 0 )
-        {
-            QNetworkCookie idCookie;
-            idCookie.setPath("/");
-    //        idCookie.setDomain("localhost");
-            idCookie.setDomain("www.insilmaril.de");
-            idCookie.setName("vymID");
-            idCookie.setValue(idCookieValue);
-            //idCookie.setExpirationDate( settings.value("/downloads/cookies/id/expires", QVariant(QDateTime::currentDateTime().addSecs(60) )).toDateTime() ); // testing
-            idCookie.setExpirationDate( QDateTime( QDate(2099,1,1) ) ); 
-            agent.cookieJar()->insertCookie(idCookie);
-
-            QNetworkCookie platformCookie;
-            platformCookie.setPath("/");
-    //        platformCookie.setDomain("localhost");
-            platformCookie.setDomain("www.insilmaril.de");
-            platformCookie.setName("vymPlatform");
-            platformCookie.setValue( QVariant(vymPlatform).toByteArray() );
-            platformCookie.setExpirationDate( QDateTime( QDate(2099,1,1) ) ); 
-            agent.cookieJar()->insertCookie(platformCookie);
-        }
-    }
-
-    QNetworkReply *reply = agent.get(request);
-    connect(reply, SIGNAL(sslErrors(QList<QSslError>)), SLOT(sslErrors(QList<QSslError>)));
-
-    currentDownloads.append(reply);
-}
-
-bool DownloadAgent::saveToDisk(const QString &filename, const QString &data)
-{
-    QFile file(filename);
-    if (!file.open(QIODevice::WriteOnly)) {
-        fprintf(stderr, "Could not open %s for writing: %s\n",
-                qPrintable(filename),
-                qPrintable(file.errorString()));
-        return false;
-    }
-
-    file.write(data.toLatin1() );
-    file.close();
-
-    return true;
-}
-
-void DownloadAgent::execute()
-{
-    doDownload(url);
-}
-
-void DownloadAgent::sslErrors(const QList<QSslError> &sslErrors)
-{
-#ifndef QT_NO_OPENSSL
-    foreach (const QSslError &error, sslErrors)
-        fprintf(stderr, "SSL error: %s\n", qPrintable(error.errorString()));
-#endif
-}
-
-void DownloadAgent::requestFinished(QNetworkReply *reply)
-{
-    QUrl url = reply->url();
-    if (reply->error()) 
-    {
-        success = false;
-        resultMessage = reply->errorString();
-        emit ( downloadFinished());
-    }
-    else {
-        success = true;
-        
-        if (debug) qDebug()<<"\n* DownloadAgent::reqFinished: ";
-        QList <QNetworkCookie> cookies =  reply->manager()->cookieJar()->cookiesForUrl(url);
-        foreach (QNetworkCookie c, cookies)
-        {
-            if (debug)
-            {
-                qDebug() << "           url: " << url.toString();
-                qDebug() << "   cookie name: " << c.name();
-                qDebug() << "   cookie path: " << c.path();
-                qDebug() << "  cookie value: " << c.value();
-                qDebug() << " cookie domain: " << c.domain();
-                qDebug() << " cookie exdate: " << c.expirationDate().toLocalTime().toString();
-            }
-
-            if (c.name() == "vymID" ) 
-            {
-                settings.setValue( "/downloads/cookies/vymID/value", c.value());
-                // settings.setValue( "/downloads/cookies/vymID/expires", c.expirationDate());
-            }
-        }
-
-        QString data = reply->readAll();
-        if (!tmpFile.open() )
-            QMessageBox::warning( 0, tr("Warning"), "Couldn't open tmpFile " + tmpFile.fileName());
-        else
-        {
-            if (!saveToDisk(tmpFile.fileName(), data))
-                QMessageBox::warning( 0, tr("Warning"), "Couldn't write to " + tmpFile.fileName());
-            else
-                resultMessage = QString ("saved to %1").arg(tmpFile.fileName());
-        }
-        emit ( downloadFinished());
-    }
-
-    currentDownloads.removeAll(reply);
-    reply->deleteLater();
-}
-
diff --git a/downloadagent.h b/downloadagent.h
deleted file mode 100644 (file)
index 929daff..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#include <QCoreApplication>
-#include <QFile>
-#include <QFileInfo>
-#include <QList>
-#include <QNetworkAccessManager>
-#include <QNetworkRequest>
-#include <QNetworkReply>
-#include <QSslError>
-#include <QStringList>
-#include <QTemporaryFile>
-#include <QTimer>
-#include <QUrl>
-
-#include <stdio.h>
-
-QT_BEGIN_NAMESPACE
-class QSslError;
-QT_END_NAMESPACE
-
-QT_USE_NAMESPACE
-
-class VymModel;
-
-class DownloadAgent: public QObject
-{
-    Q_OBJECT
-    QNetworkAccessManager agent;
-    QList<QNetworkReply *> currentDownloads;
-
-public:
-    DownloadAgent(const QUrl &u);
-    QString getDestination ();
-    void setFinishedAction (VymModel *m, const QString &script);
-    QString getFinishedScript();
-    uint getFinishedScriptModelID();
-    void setUserAgent(const QString &s);
-    bool  isSuccess();
-    QString getResultMessage();
-    void doDownload(const QUrl &url);
-    bool saveToDisk(const QString &filename, const QString &data);
-
-public slots:
-    void execute();
-    void requestFinished(QNetworkReply *reply);
-    void sslErrors(const QList<QSslError> &errors);
-
-signals:
-    void downloadFinished();
-
-private:
-    QTemporaryFile tmpFile;
-    QByteArray userAgent;
-    QUrl url;
-
-    bool success;
-    QString resultMessage;
-
-    QString finishedScript;
-    uint finishedScriptModelID;
-};
-
diff --git a/editxlinkdialog.cpp b/editxlinkdialog.cpp
deleted file mode 100644 (file)
index 1f06dfb..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-#include "editxlinkdialog.h"
-
-#include <typeinfo>
-#include <QColorDialog>
-#include <QColorDialog>
-
-#include "branchitem.h"
-#include "vymmodel.h"
-#include "xlinkobj.h"
-
-
-EditXLinkDialog::EditXLinkDialog (QWidget *parent):QDialog (parent) 
-{
-    ui.setupUi (this);
-
-    delink=false;
-    link=NULL;
-
-    ui.lineStyleCombo->addItem (QIcon("://linestyle-solid.png"),"Solid line",0);   
-    ui.lineStyleCombo->addItem (QIcon("://linestyle-dash.png"),"Dash line",1);
-    ui.lineStyleCombo->addItem (QIcon("://linestyle-dot.png"),"Dot line",2);
-    ui.lineStyleCombo->addItem (QIcon("://linestyle-dashdot.png"),"Dash Dot line",3);
-    ui.lineStyleCombo->addItem (QIcon("://linestyle-dashdotdot.png"),"Dash Dot Dot line",4);
-    connect ( ui.widthBox, SIGNAL (valueChanged( int)), this, SLOT (widthChanged (int)));
-    connect ( ui.colorButton, SIGNAL (clicked( )), this, SLOT (colorButtonPressed()));
-    connect ( ui.lineStyleCombo, SIGNAL (currentIndexChanged( int )), this, SLOT (lineStyleChanged(int)));
-    connect ( ui.checkBoxArrowBegin, SIGNAL (stateChanged( int )), this, SLOT (beginStyleChanged( int )));
-    connect ( ui.checkBoxArrowEnd  , SIGNAL (stateChanged( int )), this, SLOT (  endStyleChanged( int )));
-    //FIXME-4 connect ( ui.setColorHeadingButton, SIGNAL (clicked( )), this, SLOT (setColorHeadingButtonPressed()));
-    ui.setColorHeadingButton->hide();
-}
-
-
-void EditXLinkDialog::widthChanged( int  w)
-{
-    link->getModel()->setXLinkWidth( w );
-}
-
-void EditXLinkDialog::setLink( Link * l)
-{
-    link=l;
-    QPen pen=link->getPen();
-    colorChanged (pen.color() );
-    ui.widthBox->setValue(pen.width() );
-    switch (pen.style() )
-    {
-       case Qt::DashLine: ui.lineStyleCombo->setCurrentIndex (1); break;
-       case Qt::DotLine: ui.lineStyleCombo->setCurrentIndex (2); break;
-       case Qt::DashDotLine: ui.lineStyleCombo->setCurrentIndex (3); break;
-       case Qt::DashDotDotLine: ui.lineStyleCombo->setCurrentIndex (4); break;
-       default: ui.lineStyleCombo->setCurrentIndex (0);
-    }
-    if ( link->getXLinkObj()->getStyleEnd() )
-        ui.checkBoxArrowEnd->setChecked( true );
-    else
-        ui.checkBoxArrowEnd->setChecked( false );
-    if ( link->getXLinkObj()->getStyleBegin() )
-        ui.checkBoxArrowBegin->setChecked( true );
-    else
-        ui.checkBoxArrowBegin->setChecked( false );
-}
-
-void EditXLinkDialog::colorButtonPressed()
-{
-    if (link)
-    {  
-       QPen pen=link->getPen();
-       QColor col = QColorDialog::getColor(pen.color(), this );
-       if ( !col.isValid() ) return;
-        link->getModel()->setXLinkColor( col.name() );
-    }
-}
-
-void EditXLinkDialog::colorChanged (QColor c)
-{
-    
-    QPixmap pix( 16, 16 );
-    pix.fill( c );
-    ui.colorButton->setIcon( pix );
-}
-
-void EditXLinkDialog::setColorHeadingButtonPressed()   //FIXME-4 not implemented yet
-{
-    if (link)
-    {  
-    }
-}
-
-void EditXLinkDialog::lineStyleChanged (int i)
-{
-    if (link)
-    {  
-        QString style;
-       switch (i)
-       {
-            case 0: style = "Qt::SolidLine"; break;
-           case 1: style = "Qt::DashLine"; break;
-           case 2: style = "Qt::DotLine"; break;
-           case 3: style = "Qt::DashDotLine"; break;
-           case 4: style = "Qt::DashDotDotLine"; break;
-           default: style = "Qt::NoPen";
-       }
-        link->getModel()->setXLinkLineStyle( style );
-    }
-}
-
-void EditXLinkDialog::beginStyleChanged( int state )
-{
-    if (link)
-    {
-        if (state)
-            link->getModel()->setXLinkStyleBegin( "HeadFull" );
-        else
-            link->getModel()->setXLinkStyleBegin( "None" );
-    }
-}
-
-void EditXLinkDialog::endStyleChanged( int state )
-{
-    if (link)
-    {
-        if (state)
-            link->getModel()->setXLinkStyleEnd( "HeadFull" );
-        else
-            link->getModel()->setXLinkStyleEnd( "None" );
-    }
-}
-
-bool EditXLinkDialog::useSettingsGlobal ()
-{
-    return ui.useSettings->isChecked();
-}
diff --git a/editxlinkdialog.h b/editxlinkdialog.h
deleted file mode 100644 (file)
index e145eca..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef EDITXLINKDIALOG_H
-#define EDITXLINKDIALOG_H
-
-#include "ui_editxlinkdialog.h"
-
-/*! \brief Dialog to edit or delete XLinks 
-
-Using xLinks one can link one branch to any other, just like attaching a rope
-between two branches in a real tree. This is especially useful in complex maps,
-where you want to have crossreferences which don't fit on the same visible area
-*/
-
-class BranchItem;
-
-class EditXLinkDialog:public QDialog
-{
-    Q_OBJECT
-public:
-    EditXLinkDialog (QWidget *parent=0);
-    void setLink (Link *);
-    bool useSettingsGlobal();
-
-private slots:
-    void widthChanged (int);
-    void colorButtonPressed();
-    void colorChanged(QColor c);
-    void setColorHeadingButtonPressed ();
-    void lineStyleChanged( int );
-    void beginStyleChanged( int );
-    void endStyleChanged( int );
-
-private:
-    void emitChanged();
-
-    Ui::EditXLinkDialog ui;
-    bool delink;
-    Link *link;
-};
-
-#endif // EDITXLINKDIALOG_H
diff --git a/editxlinkdialog.ui b/editxlinkdialog.ui
deleted file mode 100644 (file)
index 8ea916f..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>EditXLinkDialog</class>
- <widget class="QDialog" name="EditXLinkDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>337</width>
-    <height>219</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="windowTitle">
-   <string>Edit XLink</string>
-  </property>
-  <layout class="QVBoxLayout">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="margin">
-    <number>11</number>
-   </property>
-   <item>
-    <layout class="QGridLayout" name="gridLayout">
-     <property name="margin">
-      <number>0</number>
-     </property>
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <item row="3" column="0">
-      <widget class="QLabel" name="label_2">
-       <property name="text">
-        <string>Arrow begin:</string>
-       </property>
-      </widget>
-     </item>
-     <item row="0" column="1">
-      <widget class="QSpinBox" name="widthBox">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="minimum">
-        <number>1</number>
-       </property>
-       <property name="maximum">
-        <number>15</number>
-       </property>
-      </widget>
-     </item>
-     <item row="0" column="0">
-      <widget class="QLabel" name="textLabel1">
-       <property name="text">
-        <string>XLink width:</string>
-       </property>
-       <property name="alignment">
-        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-       </property>
-      </widget>
-     </item>
-     <item row="1" column="4">
-      <widget class="QPushButton" name="setColorHeadingButton">
-       <property name="maximumSize">
-        <size>
-         <width>32767</width>
-         <height>20</height>
-        </size>
-       </property>
-       <property name="text">
-        <string>Use color of heading</string>
-       </property>
-      </widget>
-     </item>
-     <item row="1" column="1">
-      <widget class="QPushButton" name="colorButton">
-       <property name="enabled">
-        <bool>true</bool>
-       </property>
-       <property name="maximumSize">
-        <size>
-         <width>50</width>
-         <height>20</height>
-        </size>
-       </property>
-       <property name="text">
-        <string/>
-       </property>
-      </widget>
-     </item>
-     <item row="5" column="1" colspan="2">
-      <widget class="QCheckBox" name="useSettings">
-       <property name="text">
-        <string/>
-       </property>
-      </widget>
-     </item>
-     <item row="1" column="0">
-      <widget class="QLabel" name="textLabel2">
-       <property name="text">
-        <string>XLink color:</string>
-       </property>
-       <property name="alignment">
-        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-       </property>
-      </widget>
-     </item>
-     <item row="1" column="2" colspan="2">
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>285</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item row="0" column="2" colspan="2">
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>280</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item row="5" column="0">
-      <widget class="QLabel" name="textLabel1_2">
-       <property name="text">
-        <string>Use as default:</string>
-       </property>
-       <property name="alignment">
-        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-       </property>
-      </widget>
-     </item>
-     <item row="5" column="3" colspan="2">
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>241</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item row="2" column="0">
-      <widget class="QLabel" name="label">
-       <property name="text">
-        <string extracomment="Linestyle in Edit XLink dialog">Line style:</string>
-       </property>
-       <property name="alignment">
-        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-       </property>
-      </widget>
-     </item>
-     <item row="2" column="1" colspan="3">
-      <widget class="QComboBox" name="lineStyleCombo"/>
-     </item>
-     <item row="4" column="0">
-      <widget class="QLabel" name="label_3">
-       <property name="text">
-        <string>Arrow end:</string>
-       </property>
-      </widget>
-     </item>
-     <item row="3" column="1">
-      <widget class="QCheckBox" name="checkBoxArrowBegin">
-       <property name="text">
-        <string/>
-       </property>
-      </widget>
-     </item>
-     <item row="4" column="1">
-      <widget class="QCheckBox" name="checkBoxArrowEnd">
-       <property name="text">
-        <string/>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <spacer>
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeType">
-      <enum>QSizePolicy::Expanding</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>16</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <layout class="QHBoxLayout" name="boxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="margin">
-      <number>0</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>100</width>
-         <height>20</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>Close</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <includes>
-  <include location="local">xlinkitem.h</include>
-  <include location="local">linkablemapobj.h</include>
- </includes>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>EditXLinkDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>338</x>
-     <y>180</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>196</x>
-     <y>102</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/exporthtmldialog.cpp b/exporthtmldialog.cpp
deleted file mode 100644 (file)
index 41d59a5..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-#include "exporthtmldialog.h"  
-
-#include <QFileDialog>
-#include <QMessageBox>
-#include <QTextStream>
-
-#include "file.h"
-#include "options.h"
-#include "settings.h"
-#include "warningdialog.h"
-
-
-extern Options options;
-extern QDir vymBaseDir;
-extern Settings settings;
-extern bool debug;
-
-ExportHTMLDialog::ExportHTMLDialog(QWidget* parent) : QDialog(parent)
-{
-    ui.setupUi(this);
-
-    filepath="";
-    settingsChanged=false;
-
-    // signals and slots connections
-    connect(ui.browseExportDirButton, SIGNAL(pressed()), this, SLOT(browseDirectoryPressed()));
-    connect(ui.browseCssSrcButton, SIGNAL(pressed()), this, SLOT(browseCssSrcPressed()));
-    connect(ui.browseCssDstButton, SIGNAL(pressed()), this, SLOT(browseCssDstPressed()));
-    connect(ui.imageCheckBox, SIGNAL(toggled(bool)), this, SLOT(imageCheckBoxPressed(bool)));
-    connect(ui.includeImagesCheckBox, SIGNAL(toggled(bool)), this, SLOT(includeImagesCheckBoxPressed(bool)));
-    connect(ui.TOCCheckBox, SIGNAL(toggled(bool)), this, SLOT(TOCCheckBoxPressed(bool)));
-    connect(ui.numberingCheckBox, SIGNAL(toggled(bool)), this, SLOT(numberingCheckBoxPressed(bool)));
-    connect(ui.taskFlagsCheckBox, SIGNAL(toggled(bool)), this, SLOT(taskFlagsCheckBoxPressed(bool)));
-    connect(ui.userFlagsCheckBox, SIGNAL(toggled(bool)), this, SLOT(userFlagsCheckBoxPressed(bool)));
-    connect(ui.textColorCheckBox, SIGNAL(toggled(bool)), this, SLOT(textcolorCheckBoxPressed(bool)));
-    connect(ui.lineEditDir, SIGNAL(textChanged(const QString&)), this, SLOT(dirChanged()));
-    connect(ui.copyCssCheckBox, SIGNAL(pressed()), this, SLOT(copyCssPressed()));
-    connect(ui.lineEditCssSrc, SIGNAL(textChanged(const QString&)), this, SLOT(cssSrcChanged()));
-    connect(ui.lineEditCssDst, SIGNAL(textChanged(const QString&)), this, SLOT(cssDstChanged()));
-    connect(ui.saveSettingsInMapCheckBox, SIGNAL(toggled(bool)), this, SLOT(saveSettingsInMapCheckBoxPressed(bool)));
-    connect(ui.lineEditPostScript, SIGNAL(textChanged(const QString&)), this, SLOT(postscriptChanged()));
-    connect(ui.browsePostExportButton, SIGNAL(pressed()), this, SLOT(browsePostExportButtonPressed()));
-}   
-
-void ExportHTMLDialog::readSettings()
-{
-    dir=settings.localValue (filepath,"/export/html/exportDir",vymBaseDir.currentPath() ).toString(); //FIXME-3 exportDir only needed for dialog
-    ui.lineEditDir->setText(dir.absolutePath());
-    
-    includeMapImage = settings.localValue (filepath,"/export/html/includeMapImage","true").toBool();
-    ui.imageCheckBox->setChecked(includeMapImage);
-       
-    includeImages = settings.localValue (filepath,"/export/html/includeImages","true").toBool();
-    ui.includeImagesCheckBox->setChecked(includeImages);
-       
-    useTOC=settings.localValue (filepath,"/export/html/useTOC","true").toBool();
-    ui.TOCCheckBox->setChecked(useTOC);
-       
-    useNumbering=settings.localValue (filepath,"/export/html/useNumbering","true").toBool();
-    ui.numberingCheckBox->setChecked(useNumbering);
-       
-    useTaskFlags=settings.localValue (filepath,"/export/html/useTaskFlags","true").toBool();
-    ui.taskFlagsCheckBox->setChecked(useTaskFlags);
-       
-    useUserFlags=settings.localValue (filepath,"/export/html/useUserFlags","true").toBool();
-    ui.userFlagsCheckBox->setChecked(useUserFlags);
-       
-    useTextColor=settings.localValue (filepath,"/export/html/useTextColor","no").toBool();
-    ui.textColorCheckBox->setChecked(useTextColor);
-    
-/* FIXME-3 this was used in old html export, is not yet in new stylesheet
-    useHeading=settings.readValue ("/export/html/useHeading","false").toBool();
-    checkBox4_2->setChecked(useHeading);
-*/     
-
-    saveSettingsInMap=settings.localValue (filepath,"/export/html/saveSettingsInMap","no").toBool();
-    ui.saveSettingsInMapCheckBox->setChecked(saveSettingsInMap);
-
-    //CSS settings
-    css_copy=settings.localValue 
-        (filepath,"/export/html/copy_css",true).toBool();   
-    ui.copyCssCheckBox->setChecked (css_copy);
-
-    QString css_org=vymBaseDir.path() + "/styles/vym.css";
-    css_src=settings.localValue 
-        (filepath,"/export/html/css_src",css_org).toString();   
-    css_dst=settings.localValue 
-        (filepath,"/export/html/css_dst",basename(css_org)).toString();   
-    
-    ui.lineEditCssSrc->setText(css_src);
-    ui.lineEditCssDst->setText(css_dst);
-    
-    postscript=settings.localValue
-       (filepath,"/export/html/postscript","").toString();
-    ui.lineEditPostScript->setText (postscript);    
-
-    if (!postscript.isEmpty())
-    {
-       QMessageBox::warning( 0, tr( "Warning" ),tr(
-       "The settings saved in the map "
-       "would like to run script:\n\n"
-       "%1\n\n"
-       "Please check, if you really\n"
-       "want to allow this in your system!").arg(postscript));
-    }
-}
-
-void ExportHTMLDialog::setDirectory (const QString &d)
-{
-    dir.setPath(d);
-}
-
-void ExportHTMLDialog::dirChanged()
-{
-    setDirectory (ui.lineEditDir->text());
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::browseDirectoryPressed()
-{
-    QFileDialog fd( this);
-    fd.setFileMode (QFileDialog::DirectoryOnly);
-    fd.setWindowTitle (tr("VYM - Export HTML to directory"));
-    fd.setModal (true);
-    fd.setDirectory (QDir::current());
-    fd.show();
-
-    if ( fd.exec() == QDialog::Accepted )
-    {
-       QDir dir=fd.directory();
-       ui.lineEditDir->setText (dir.path() );
-       settingsChanged=true;
-    }
-}
-
-void ExportHTMLDialog::imageCheckBoxPressed(bool b)
-{
-    includeMapImage = b;
-    settingsChanged = true;
-}
-
-void ExportHTMLDialog::includeImagesCheckBoxPressed(bool b)
-{
-    includeImages = b;
-    settingsChanged = true;
-}
-
-void ExportHTMLDialog::TOCCheckBoxPressed(bool b)
-{
-    useTOC=b;
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::numberingCheckBoxPressed(bool b)
-{
-    useNumbering=b;
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::taskFlagsCheckBoxPressed(bool b)
-{
-    useTaskFlags=b;
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::userFlagsCheckBoxPressed(bool b)
-{
-    useUserFlags=b;
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::textcolorCheckBoxPressed(bool b)
-{
-    useTextColor=b; 
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::saveSettingsInMapCheckBoxPressed(bool b)
-{
-    saveSettingsInMap=b;    
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::warningsCheckBoxPressed(bool b)
-{
-    showWarnings=b;
-    settingsChanged=true;
-}
-
-
-void ExportHTMLDialog::outputCheckBoxPressed(bool b)
-{
-    showOutput=b;
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::cssSrcChanged()
-{
-    css_src=ui.lineEditCssSrc->text();
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::cssDstChanged()
-{
-    css_dst=ui.lineEditCssDst->text();
-    settingsChanged=true;
-}
-
-QString ExportHTMLDialog::getCssSrc()
-{
-    if (css_copy)
-        return css_src;
-    else
-        return QString();
-}
-
-QString ExportHTMLDialog::getCssDst()
-{
-    return css_dst;
-}
-
-void ExportHTMLDialog::copyCssPressed()
-{
-    css_copy=ui.imageCheckBox->isChecked();
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::browseCssSrcPressed()
-{
-    QFileDialog fd( this);
-    fd.setModal (true);
-    fd.setNameFilter ("Cascading Stylesheet (*.css)");
-    fd.setDirectory (QDir::current());
-    fd.show();
-
-    if ( fd.exec() == QDialog::Accepted )
-    {
-       if (!fd.selectedFiles().isEmpty())
-       {
-           css_src=fd.selectedFiles().first();
-           ui.lineEditCssSrc->setText (css_src );
-           settingsChanged=true;
-       }
-    }
-}
-
-void ExportHTMLDialog::browseCssDstPressed()
-{
-    QFileDialog fd( this);
-    fd.setModal (true);
-    fd.setNameFilter ("Cascading Stylesheet (*.css)");
-    fd.setDirectory (QDir::current());
-    fd.show();
-
-    if ( fd.exec() == QDialog::Accepted )
-    {
-       if (!fd.selectedFiles().isEmpty())
-       {
-           css_dst=fd.selectedFiles().first();
-           ui.lineEditCssDst->setText (css_dst );
-           settingsChanged=true;
-       }
-    }
-}
-
-void ExportHTMLDialog::postscriptChanged()
-{
-    postscript=ui.lineEditPostScript->text();
-    settingsChanged=true;
-}
-
-void ExportHTMLDialog::browsePostExportButtonPressed()
-{
-    QFileDialog fd( this);
-    fd.setModal (true);
-    fd.setNameFilter ("Scripts (*.sh *.pl *.py *.php)");
-    fd.setDirectory (QDir::current());
-    fd.show();
-
-    if ( fd.exec() == QDialog::Accepted )
-    {
-       if (!fd.selectedFiles().isEmpty())
-       {
-           postscript=fd.selectedFiles().first();
-           ui.lineEditPostScript->setText (postscript );
-           settingsChanged=true;
-       } 
-    }
-}
-
-void ExportHTMLDialog::saveSettings ()
-{
-    // Save options to settings file 
-    // (but don't save at destructor, which
-    // is called for "cancel", too)
-    if (!saveSettingsInMap)
-       settings.clearLocal(filepath,"/export/html");
-    else    
-    {
-       settings.setLocalValue (filepath,"/export/html/exportDir",dir.absolutePath()); //FIXME-3 exportDir only needed for dialog
-       settings.setLocalValue (filepath,"/export/html/saveSettingsInMap","yes");
-        settings.setLocalValue (filepath,"/export/html/postscript",postscript);
-        settings.setLocalValue (filepath,"/export/html/includeMapImage",includeMapImage);
-        settings.setLocalValue (filepath,"/export/html/includeImages",includeImages);
-        settings.setLocalValue (filepath,"/export/html/useTOC",useTOC);
-        settings.setLocalValue (filepath,"/export/html/useNumbering",useNumbering);
-        settings.setLocalValue (filepath,"/export/html/useTaskFlags",useTaskFlags);
-        settings.setLocalValue (filepath,"/export/html/useUserFlags",useUserFlags);
-        settings.setLocalValue (filepath,"/export/html/useTextColor",useTextColor);
-        settings.setLocalValue (filepath,"/export/html/css_copy",css_copy);    
-        settings.setLocalValue (filepath,"/export/html/css_src",css_src);      
-        settings.setLocalValue (filepath,"/export/html/css_dst",css_dst);      
-        settings.setValue ("/export/html/showWarnings",showWarnings);
-        settings.setValue ("/export/html/showOutput",showOutput);
-    }
-}
-
-void ExportHTMLDialog::setFilePath(const QString &s)
-{
-    filepath=s;
-}
-
-void ExportHTMLDialog::setMapName(const QString &s)
-{
-    mapname=s;
-}
-
-QDir ExportHTMLDialog::getDir()
-{
-    return dir;
-}
-
-bool ExportHTMLDialog::warnings()
-{
-    return showWarnings;
-}
-
-bool ExportHTMLDialog::hasChanged()
-{
-    return settingsChanged;
-}
-
-
diff --git a/exporthtmldialog.h b/exporthtmldialog.h
deleted file mode 100644 (file)
index 19c4757..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef EXPORTHTMLDIALOG_H
-#define EXPORTHTMLDIALOG_H
-
-#include "ui_exporthtmldialog.h"
-
-#include <QDir>
-
-/*! \brief Dialog to export a map as HTML document
-
-This is an overloaded QDialog with various settings needed to call
-convert the vym.xml to a HTML document. 
-*/
-
-class ExportHTMLDialog:public QDialog
-{
-    Q_OBJECT
-public:
-    ExportHTMLDialog(QWidget* parent = 0);
-
-    virtual QDir getDir();
-    virtual bool warnings();
-    virtual bool hasChanged();
-
-public slots:
-    virtual void readSettings();
-    virtual void setDirectory (const QString&);
-    virtual void dirChanged();
-    virtual void browseDirectoryPressed();
-    virtual void imageCheckBoxPressed( bool b );
-    virtual void includeImagesCheckBoxPressed( bool b );
-    virtual void TOCCheckBoxPressed( bool b );
-    virtual void numberingCheckBoxPressed( bool b );
-    virtual void taskFlagsCheckBoxPressed( bool b );
-    virtual void userFlagsCheckBoxPressed( bool b );
-    virtual void textcolorCheckBoxPressed( bool b );
-    virtual void saveSettingsInMapCheckBoxPressed( bool b );
-    virtual void warningsCheckBoxPressed( bool b );
-    virtual void outputCheckBoxPressed( bool b );
-    virtual void cssSrcChanged();
-    virtual void cssDstChanged();
-    virtual QString getCssSrc();
-    virtual QString getCssDst();
-    virtual void copyCssPressed();
-    virtual void browseCssSrcPressed();
-    virtual void browseCssDstPressed();
-    virtual void postscriptChanged();
-    virtual void browsePostExportButtonPressed();
-    virtual void saveSettings ();
-    virtual void setFilePath( const QString & s );
-    virtual void setMapName( const QString & s );
-
-public:
-    bool includeMapImage;
-    bool includeImages;
-    bool useTOC;
-    bool useNumbering;
-    bool useTaskFlags;
-    bool useUserFlags;
-    bool useTextColor;
-    QString postscript;
-    bool css_copy;
-protected:
-    QString css_src;
-    QString css_dst;
-    bool showWarnings;
-    bool showOutput;
-    QDir dir;
-    QString filepath;
-    bool settingsChanged;
-    QString mapname;
-    bool saveSettingsInMap;
-
-private:
-    Ui::ExportHTMLDialog ui;
-    void init();
-
-};
-
-#endif // EXPORTHTMLDIALOG_H
diff --git a/exporthtmldialog.ui b/exporthtmldialog.ui
deleted file mode 100644 (file)
index 57ddf18..0000000
+++ /dev/null
@@ -1,440 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ExportHTMLDialog</class>
- <widget class="QDialog" name="ExportHTMLDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>629</width>
-    <height>547</height>
-   </rect>
-  </property>
-  <property name="sizePolicy">
-   <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-    <horstretch>0</horstretch>
-    <verstretch>0</verstretch>
-   </sizepolicy>
-  </property>
-  <property name="minimumSize">
-   <size>
-    <width>0</width>
-    <height>130</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>Export HTML</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="leftMargin">
-      <number>0</number>
-     </property>
-     <property name="topMargin">
-      <number>0</number>
-     </property>
-     <property name="rightMargin">
-      <number>0</number>
-     </property>
-     <property name="bottomMargin">
-      <number>0</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="textLabel1">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="minimumSize">
-        <size>
-         <width>125</width>
-         <height>0</height>
-        </size>
-       </property>
-       <property name="text">
-        <string>Export to directory:</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="lineEditDir">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="minimumSize">
-        <size>
-         <width>300</width>
-         <height>0</height>
-        </size>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="browseExportDirButton">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="text">
-        <string>Browse</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>0</width>
-       <height>600</height>
-      </size>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>16777214</height>
-      </size>
-     </property>
-     <property name="title">
-      <string>Options</string>
-     </property>
-     <widget class="QWidget" name="layoutWidget">
-      <property name="geometry">
-       <rect>
-        <x>20</x>
-        <y>20</y>
-        <width>581</width>
-        <height>259</height>
-       </rect>
-      </property>
-      <layout class="QVBoxLayout" name="verticalLayout">
-       <item>
-        <widget class="QCheckBox" name="imageCheckBox">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text">
-          <string>Image of map</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="includeImagesCheckBox">
-         <property name="text">
-          <string>Include images</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="TOCCheckBox">
-         <property name="text">
-          <string>Table of contents</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="taskFlagsCheckBox">
-         <property name="text">
-          <string>Task flags</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="userFlagsCheckBox">
-         <property name="text">
-          <string>General flags</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="numberingCheckBox">
-         <property name="text">
-          <string>Number sections</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="textColorCheckBox">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text">
-          <string>Colored headings in text</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="saveSettingsInMapCheckBox">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text">
-          <string>Save settings in map</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox_3">
-     <property name="minimumSize">
-      <size>
-       <width>0</width>
-       <height>100</height>
-      </size>
-     </property>
-     <property name="title">
-      <string>Stylesheets</string>
-     </property>
-     <widget class="QWidget" name="layoutWidget1^">
-      <property name="geometry">
-       <rect>
-        <x>20</x>
-        <y>30</y>
-        <width>533</width>
-        <height>78</height>
-       </rect>
-      </property>
-      <layout class="QGridLayout" name="gridLayout">
-       <item row="0" column="0">
-        <widget class="QCheckBox" name="copyCssCheckBox">
-         <property name="text">
-          <string>Copy CSS from </string>
-         </property>
-        </widget>
-       </item>
-       <item row="0" column="1">
-        <widget class="QLineEdit" name="lineEditCssSrc">
-         <property name="minimumSize">
-          <size>
-           <width>300</width>
-           <height>0</height>
-          </size>
-         </property>
-        </widget>
-       </item>
-       <item row="1" column="1">
-        <widget class="QLineEdit" name="lineEditCssDst"/>
-       </item>
-       <item row="1" column="0">
-        <widget class="QLabel" name="label">
-         <property name="text">
-          <string>Use CSS from</string>
-         </property>
-         <property name="alignment">
-          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-         </property>
-        </widget>
-       </item>
-       <item row="0" column="2">
-        <widget class="QPushButton" name="browseCssSrcButton">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text">
-          <string>Browse</string>
-         </property>
-        </widget>
-       </item>
-       <item row="1" column="2">
-        <widget class="QPushButton" name="browseCssDstButton">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text">
-          <string>Browse</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox_2">
-     <property name="minimumSize">
-      <size>
-       <width>0</width>
-       <height>70</height>
-      </size>
-     </property>
-     <property name="title">
-      <string>Scripts</string>
-     </property>
-     <widget class="QWidget" name="layoutWidget2">
-      <property name="geometry">
-       <rect>
-        <x>10</x>
-        <y>20</y>
-        <width>519</width>
-        <height>27</height>
-       </rect>
-      </property>
-      <layout class="QHBoxLayout" name="horizontalLayout">
-       <item>
-        <widget class="QLabel" name="textLabel2_2">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="minimumSize">
-          <size>
-           <width>125</width>
-           <height>0</height>
-          </size>
-         </property>
-         <property name="frameShape">
-          <enum>QFrame::NoFrame</enum>
-         </property>
-         <property name="text">
-          <string>After Export:</string>
-         </property>
-         <property name="alignment">
-          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QLineEdit" name="lineEditPostScript">
-         <property name="minimumSize">
-          <size>
-           <width>300</width>
-           <height>0</height>
-          </size>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QPushButton" name="browsePostExportButton">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text">
-          <string>Browse</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>61</width>
-         <height>21</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="exportButton">
-       <property name="text">
-        <string>Export</string>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <includes>
-  <include location="local">xsltproc.h</include>
-  <include location="local">vymprocess.h</include>
- </includes>
- <resources/>
- <connections>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>ExportHTMLDialog</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>459</x>
-     <y>443</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>256</x>
-     <y>233</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>exportButton</sender>
-   <signal>clicked()</signal>
-   <receiver>ExportHTMLDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>368</x>
-     <y>443</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>256</x>
-     <y>233</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/exportoofiledialog.cpp b/exportoofiledialog.cpp
deleted file mode 100644 (file)
index 9de9ffb..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "exportoofiledialog.h"
-
-ExportOOFileDialog::ExportOOFileDialog():QFileDialog()
-{
-    init();
-}
-
-ExportOOFileDialog::ExportOOFileDialog (QWidget * parent, const QString &caption ):QFileDialog(parent, caption)
-{
-    init();
-}
-
-bool ExportOOFileDialog::foundConfig()
-{
-    return !filters.isEmpty();
-}
-
-
-QString ExportOOFileDialog::selectedConfig()
-{
-    QStringList::Iterator itpath=configPaths.begin();
-    QStringList::Iterator itf=filters.begin();
-    while (itf != filters.end()) 
-    {
-       if (*itf==selectedNameFilter()) return *itpath;
-       itpath++;   
-       itf++;
-    }
-    qWarning ("ExportOOFileDialog::selectedConfig  No filter found!");
-    return "";
-}
-
-void ExportOOFileDialog::newConfigPath(const QString &s)
-{
-    lastFilter=s;
-}
-
-void ExportOOFileDialog::show()
-{
-    setNameFilters (filters);
-    QFileDialog::show();
-}
-
-void ExportOOFileDialog::init()
-{
-    setFileMode( QFileDialog::AnyFile );
-    QDir d;
-    d.setPath ("/usr/share/vym/exports");
-    scanExportConfigs(d);
-    d.setPath (d.homePath()+"/.vym/exports");
-    scanExportConfigs(d);
-    d.setPath (d.currentPath()+"/exports");
-    scanExportConfigs(d);
-
-    setNameFilters (filters);
-    connect (
-       this,SIGNAL (filterSelected(const QString&)),
-       this, SLOT( newConfigPath(const QString &)));
-}
-
-void ExportOOFileDialog::addFilter(const QString &f)
-{
-    lastFilter=f;
-    filters.append (f);
-}
-
-void ExportOOFileDialog::scanExportConfigs(QDir dir)
-{
-    // Scan existing export configurations
-    SimpleSettings set;
-    QFile f;
-    if (dir.exists())
-    {
-       // Traverse files
-        dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
-
-        QFileInfoList list = dir.entryInfoList();
-        for (int i = 0; i < list.size(); ++i) {
-            QFileInfo fi = list.at(i);
-
-           if (fi.fileName().endsWith(".conf") )
-           {
-               configPaths.append (fi.absoluteFilePath());
-               set.clear();
-               set.readSettings (fi.absoluteFilePath());
-               addFilter (set.value (QString("Name")) + " (*.odp)");
-           }       
-        }
-    }      
-}
diff --git a/exportoofiledialog.h b/exportoofiledialog.h
deleted file mode 100644 (file)
index ff9bf39..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef EXPORTOOFILEDIALOG
-#define EXPORTOOFILEDIALOG
-
-#include <QFileDialog>
-#include <QStringList>
-
-#include "settings.h"
-
-/*! \brief Dialog to select output file and format for Open Office documents
-
-This is an overloaded QFileDialog, which allows to select templates by setting a type.
-*/
-
-class ExportOOFileDialog:public QFileDialog
-{
-    Q_OBJECT
-public:
-    ExportOOFileDialog();
-
-    ExportOOFileDialog (QWidget * parent , const  QString &caption=QString());
-    bool foundConfig();
-    QString selectedConfig();
-    void show();
-     
-private slots:
-    void  newConfigPath (const QString&f);
-
-private:
-    void init();
-    void addFilter(const QString &);
-    void scanExportConfigs(QDir );
-    QStringList configPaths;
-    QStringList filters;
-    QString lastFilter;
-    
-};
-#endif
diff --git a/exports.cpp b/exports.cpp
deleted file mode 100644 (file)
index 4542441..0000000
+++ /dev/null
@@ -1,1402 +0,0 @@
-#include "exports.h"
-
-#include <cstdlib>
-
-#include <QDebug>
-#include <QFileDialog>
-#include <QMessageBox>
-
-#include "branchitem.h"
-#include "file.h"
-#include "linkablemapobj.h"
-#include "misc.h"
-#include "mainwindow.h"
-#include "warningdialog.h"
-#include "xsltproc.h"
-#include "vymprocess.h"
-
-
-extern Main *mainWindow;
-extern QDir vymBaseDir;
-extern QString flagsPath;
-extern QString vymName;
-extern QString vymVersion;
-extern QString vymHome;
-extern Settings settings;
-extern QDir lastExportDir;
-
-ExportBase::ExportBase()
-{
-    init();
-}
-
-ExportBase::ExportBase(VymModel *m)
-{
-    model=m;
-    init();
-}
-
-ExportBase::~ExportBase()
-{
-    // Cleanup tmpdir
-    removeDir (tmpDir);
-
-    // Remember current directory
-    lastExportDir = QDir(dirPath);
-}
-
-void ExportBase::init()
-{
-    indentPerDepth = "  ";
-    exportName     = "unnamed";
-    lastCommand    = "";
-    bool ok;
-    tmpDir.setPath (makeTmpDir(ok,"vym-export"));
-    if (!tmpDir.exists() || !ok)
-        QMessageBox::critical( 0, QObject::tr( "Error" ),
-                               QObject::tr("Couldn't access temporary directory\n"));
-    cancelFlag = false;
-    defaultDirPath = lastExportDir.absolutePath();
-    dirPath = defaultDirPath;
-}
-
-void ExportBase::setDirPath (const QString &s)
-{
-    if (!s.isEmpty())
-        dirPath=s;
-    // Otherwise lastExportDir is used, which defaults to current dir
-}
-
-QString ExportBase::getDirPath()
-{
-    return dirPath;
-}
-
-void ExportBase::setFilePath (const QString &s)
-{
-    if(!s.isEmpty())
-    {
-        filePath=s;
-        if (!filePath.contains("/"))
-            // Absolute path
-            filePath=lastExportDir.absolutePath() + "/" + filePath;
-    }
-}
-
-QString ExportBase::getFilePath ()
-{
-    if (!filePath.isEmpty())
-        return filePath;
-    else
-        return dirPath + "/" + model->getMapName() + extension;
-}
-
-QString ExportBase::getMapName ()
-{
-    QString fn=basename(filePath);
-    return fn.left(fn.lastIndexOf("."));
-}
-
-void ExportBase::setModel(VymModel *m)
-{
-    model=m;
-}
-
-void ExportBase::setWindowTitle (const QString &s)
-{
-    caption = s;
-}
-
-void ExportBase::setName (const QString &s)
-{
-    exportName = s;
-}
-
-QString ExportBase::getName ()
-{
-    return exportName;
-}
-
-void ExportBase::addFilter(const QString &s)
-{
-    filter=s;
-}
-
-void ExportBase::setListTasks(bool b)
-{
-    listTasks = b;
-}
-
-bool ExportBase::execDialog()
-{
-    QString fn=QFileDialog::getSaveFileName(
-                NULL,
-                caption,
-                dirPath,
-                filter,
-                NULL,
-                QFileDialog::DontConfirmOverwrite);
-
-    if (!fn.isEmpty() )
-    {
-        if (QFile (fn).exists() )
-        {
-            WarningDialog dia;
-            dia.showCancelButton (true);
-            dia.setCaption(QObject::tr("Warning: Overwriting file"));
-            dia.setText(QObject::tr("Exporting to %1 will overwrite the existing file:\n%2").arg(exportName).arg(fn));
-            dia.setShowAgainName("/exports/overwrite/" + exportName);
-            if (!(dia.exec()==QDialog::Accepted))
-            {
-                cancelFlag=true;
-                return false;
-            }
-        }
-        dirPath=fn.left(fn.lastIndexOf ("/"));
-        filePath=fn;
-        return true;
-    }
-    return false;
-}
-
-bool ExportBase::canceled()
-{
-    return cancelFlag;
-}
-
-void ExportBase::setLastCommand( const QString &s)
-{
-    lastCommand = s;
-}
-
-void ExportBase::completeExport(QString args) 
-{
-    QString command;
-    if (args.isEmpty()) 
-        // Add at least filepath as argument. exportName is added anyway
-        command = QString("export%1(\"%2\")").arg(exportName).arg(filePath);
-        // new syntax: command = QString("vym.currentMap().exportMap(\"%1\",\"%2\")").arg(exportName).arg(filePath);
-    else
-        command = QString("export%1(%2)").arg(exportName).arg(args);
-        // new syntax: command = QString("vym.currentMap().exportMap(\"%1\",%2)").arg(exportName).arg(args);
-
-    settings.setLocalValue ( model->getFilePath(), "/export/last/exportPath", filePath);
-    settings.setLocalValue ( model->getFilePath(), "/export/last/command", command);
-    settings.setLocalValue ( model->getFilePath(), "/export/last/description", exportName);
-
-    // Trigger saving of export command if it has changed
-    if (model && (lastCommand != command) ) model->setChanged();
-
-    mainWindow->statusMessage(QString("Exported as %1: %2").arg(exportName).arg(filePath));
-}
-
-QString ExportBase::getSectionString(TreeItem *start)
-{
-    // Make prefix like "2.5.3" for "bo:2,bo:5,bo:3"
-    QString r;
-    TreeItem *ti=start;
-    int depth=ti->depth();
-    while (depth>0)
-    {
-        r=QString("%1").arg(1+ti->num(),0,10)+"." + r;
-        ti=ti->parent();
-        depth=ti->depth();
-    }
-    if (r.isEmpty())
-        return r;
-    else
-        return r + " ";
-}
-
-QString ExportBase::indent (const int &n, bool useBullet)
-{
-    QString s;
-    for (int i=0; i<n; i++) s += indentPerDepth;
-    if (useBullet && s.length() >= 2 && bulletPoints.count() > n)
-        s.replace( s.length() - 2, 1, bulletPoints.at(n) );
-    return s;
-}
-
-////////////////////////////////////////////////////////////////////////
-ExportAO::ExportAO()
-{
-    exportName="AO";
-    filter="TXT (*.txt);;All (* *.*)";
-    caption=vymName+ " -" +QObject::tr("Export as ASCII")+" "+QObject::tr("(still experimental)");
-    indentPerDepth="   ";
-    bulletPoints.clear();
-    for (int i=0; i<10; i++)
-        bulletPoints << "-";
-}
-
-void ExportAO::doExport()   
-{
-    QFile file (filePath);
-    if ( !file.open( QIODevice::WriteOnly ) )
-    {
-        QMessageBox::critical (0, QObject::tr("Critical Export Error"), QObject::tr("Could not export as AO to %1").arg(filePath));
-        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
-        return;
-    }
-
-    settings.setLocalValue ( model->getFilePath(), "/export/last/command","exportAO");
-    settings.setLocalValue ( model->getFilePath(), "/export/last/description","A&O report");
-
-    QTextStream ts( &file );
-    ts.setCodec("UTF-8");
-
-    // Main loop over all branches
-    QString s;
-    QString curIndent;
-    QString dashIndent;
-
-    int i;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-
-    model->nextBranch (cur,prev);
-    while (cur)
-    {
-        QString line;
-        QString colString="";
-        QString noColString;
-        QString statusString ="";
-        QColor col;
-
-        if (cur->getType()==TreeItem::Branch || cur->getType()==TreeItem::MapCenter)
-        {
-            // Make indentstring
-            curIndent=indent(cur->depth()-4,true);
-
-            if (!cur->hasHiddenExportParent() )
-            {
-                col=cur->getHeadingColor();
-                if (col==QColor (255,0,0))
-                    colString="[R] ";
-                else if (col==QColor (217,81,0))
-                    colString="[O] ";
-                else if (col==QColor (0,85,0))
-                    colString="[G] ";
-                else if (cur->depth()==4)
-                    colString=" *  ";
-                else
-                    colString="    ";
-
-                noColString=QString(" ").repeated(colString.length() );
-
-                dashIndent="";
-                switch (cur->depth())
-                {
-                case 0: break;  // Mapcenter (Ignored)
-                case 1: break;  // Mainbranch "Archive" (Ignored)
-                case 2: // Title: "Current week number..."
-                    ts << "\n";
-                    ts << underline ( cur->getHeadingPlain(), QString("=") );
-                    ts << "\n";
-                    break;
-                case 3: // Headings: "Achievement", "Bonus", "Objective", ...
-                    ts << "\n";
-                    ts << underline ( cur->getHeadingPlain(), "-");
-                    ts << "\n";
-                    break;
-                default:    // depth 4 and higher are the items we need to know
-                    Task *task=cur->getTask();
-                    if (task)
-                    {
-                        // Task status overrides other flags
-                        switch ( task->getStatus() )
-                        {
-                        case Task::NotStarted:
-                            statusString="[NOT STARTED]";
-                            break;
-                        case Task::WIP:
-                            statusString="[WIP]";
-                            break;
-                        case Task::Finished:
-                            statusString="[DONE]";
-                            break;
-                        }
-                    } else
-                    {
-                        if (cur->hasActiveStandardFlag ("hook-green") )
-                            statusString="[DONE]";
-                        else if (cur->hasActiveStandardFlag ("wip"))
-                            statusString="[WIP]";
-                        else if (cur->hasActiveStandardFlag ("cross-red"))
-                            statusString="[NOT STARTED]";
-                    }
-
-                    line += colString;
-                    line += curIndent;
-                    if (cur->depth() >3)
-                        line += cur->getHeadingPlain();
-
-                    // Pad line width before status
-                    i = 80 - line.length() - statusString.length() -1;
-                    for (int j=0; j<i; j++) line += " ";
-                    line += " "  + statusString + "\n";
-
-                    ts << line;
-
-                    // If necessary, write URL
-                    if (!cur->getURL().isEmpty())
-                        ts << noColString << indent(cur->depth()-4, false) + cur->getURL() + "\n";
-
-                    // If necessary, write note
-                    if (!cur->isNoteEmpty())
-                    {
-                        curIndent = noColString + indent(cur->depth()-4,false) + "| ";
-                        s=cur->getNoteASCII( curIndent, 80);
-                        ts << s + "\n";
-                    }
-                    break;
-                }
-            }
-        }
-        model->nextBranch(cur,prev);
-    }
-    file.close();
-    completeExport();
-}
-
-QString ExportAO::underline (const QString &text, const QString &line)
-{
-    QString r=text + "\n";
-    for (int j=0;j<text.length();j++) r+=line;
-    return r;
-}
-
-
-////////////////////////////////////////////////////////////////////////
-ExportASCII::ExportASCII() 
-{
-    exportName = "ASCII";
-    filter = "TXT (*.txt);;All (* *.*)";
-    caption = vymName + " -" + QObject::tr("Export as ASCII");
-}
-
-void ExportASCII::doExport()
-{
-    QFile file (filePath);
-    if ( !file.open( QIODevice::WriteOnly ) )
-    {
-        QMessageBox::critical (0, QObject::tr("Critical Export Error"), QObject::tr("Could not export as ASCII to %1").arg(filePath));
-        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
-        return;
-    }
-    QTextStream ts( &file );
-    ts.setCodec("UTF-8");
-
-    // Main loop over all branches
-    QString s;
-    QString curIndent;
-    QString dashIndent;
-    int i;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-
-    int lastDepth=0;
-
-    QStringList tasks;
-
-    model->nextBranch (cur,prev);
-    while (cur)
-    {
-        if (cur->getType()==TreeItem::Branch || cur->getType()==TreeItem::MapCenter)
-        {
-            // Insert newline after previous list
-            if ( cur->depth() < lastDepth ) ts << "\n";
-
-            // Make indentstring
-            curIndent="";
-            for (i=1;i<cur->depth()-1;i++) curIndent+= indentPerDepth;
-
-            if (!cur->hasHiddenExportParent() )
-            {
-                //qDebug() << "ExportASCII::  "<<curIndent.toStdString()<<cur->getHeadingPlain().toStdString();
-
-                dashIndent="";
-                switch (cur->depth())
-                {
-                case 0:
-                    ts << underline (cur->getHeadingPlain(),QString("="));
-                    ts << "\n";
-                    break;
-                case 1:
-                    ts << "\n";
-                    ts << (underline (getSectionString(cur) + cur->getHeadingPlain(), QString("-") ) );
-                    ts << "\n";
-                    break;
-                case 2:
-                    ts << "\n";
-                    ts << (curIndent + "* " + cur->getHeadingPlain());
-                    ts << "\n";
-                    dashIndent="  ";
-                    break;
-                case 3:
-                    ts << (curIndent + "- " + cur->getHeadingPlain());
-                    ts << "\n";
-                    dashIndent="  ";
-                    break;
-                default:
-                    ts << (curIndent + "- " + cur->getHeadingPlain());
-                    ts << "\n";
-                    dashIndent="  ";
-                    break;
-                }
-
-                // If there is a task, save it for potential later display
-                if (listTasks && cur->getTask() )
-                {
-                    tasks.append( QString("[%1]: %2").arg(cur->getTask()->getStatusString()).arg(cur->getHeadingPlain() ) );
-                }
-
-                // If necessary, write URL
-                if (!cur->getURL().isEmpty())
-                    ts << (curIndent + dashIndent + cur->getURL()) +"\n";
-
-                // If necessary, write vymlink
-                if (!cur->getVymLink().isEmpty())
-                    ts << (curIndent + dashIndent + cur->getVymLink()) +" (vym mindmap)\n";
-
-                // If necessary, write note
-                if (!cur->isNoteEmpty())
-                {
-                    // curIndent +="  | ";
-                    // Only indent for bullet points
-                    if (cur->depth() > 2) curIndent +="  ";
-                    ts << '\n' +  cur->getNoteASCII(curIndent, 80) ;
-                }
-                lastDepth = cur->depth();
-            }
-        }
-        model->nextBranch(cur,prev);
-    }
-
-    if (listTasks)
-    {
-        ts << "\n\nTasks\n-----\n\n";
-
-
-        foreach (QString t, tasks)
-        {
-            ts << " - " << t << "\n";
-        }
-    }
-    file.close();
-
-    QString listTasksString = listTasks ? "true" : "false";
-    completeExport( QString("\"%1\",%2").arg(filePath).arg(listTasksString) );
-}
-
-QString ExportASCII::underline (const QString &text, const QString &line)
-{
-    QString r=text + "\n";
-    for (int j=0;j<text.length();j++) r+=line;
-    return r;
-}
-
-
-////////////////////////////////////////////////////////////////////////
-ExportCSV::ExportCSV() 
-{
-    exportName="CSV";
-    filter="CSV (*.csv);;All (* *.*)";
-    caption=vymName+ " -" +QObject::tr("Export as CSV");
-}
-
-void ExportCSV::doExport()
-{
-    QFile file (filePath);
-    if ( !file.open( QIODevice::WriteOnly ) )
-    {
-        QMessageBox::critical (0, QObject::tr("Critical Export Error"), QObject::tr("Could not export as CSV to %1").arg(filePath));
-        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
-        return;
-    }
-    QTextStream ts( &file );
-    ts.setCodec("UTF-8");
-
-    // Write header
-    ts << "\"Note\""  <<endl;
-
-    // Main loop over all branches
-    QString s;
-    QString curIndent("");
-    int i;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    model->nextBranch (cur,prev);
-    while (cur)
-    {
-        if (!cur->hasHiddenExportParent() )
-        {
-            // If necessary, write note
-            if (!cur->isNoteEmpty())
-            {
-                s =cur->getNoteASCII();
-                s=s.replace ("\n","\n"+curIndent);
-                ts << ("\""+s+"\",");
-            } else
-                ts <<"\"\",";
-
-            // Make indentstring
-            for (i=0;i<cur->depth();i++) curIndent+= "\"\",";
-
-            // Write heading
-            ts << curIndent << "\"" << cur->getHeadingPlain()<<"\""<<endl;
-        }
-
-        model->nextBranch(cur,prev);
-        curIndent="";
-    }
-    file.close();
-    completeExport();
-}
-
-////////////////////////////////////////////////////////////////////////
-void ExportKDE4Bookmarks::doExport() 
-{
-    WarningDialog dia;
-    dia.showCancelButton (true);
-    dia.setText(QObject::tr("Exporting the %1 bookmarks will overwrite\nyour existing bookmarks file.").arg("KDE 4"));
-    dia.setCaption(QObject::tr("Warning: Overwriting %1 bookmarks").arg("KDE"));
-    dia.setShowAgainName("/exports/overwrite/KDE4Bookmarks");
-    if (dia.exec()==QDialog::Accepted)
-    {
-        model->exportXML("",tmpDir.path(),false);
-
-        XSLTProc p;
-        p.setInputFile (tmpDir.path()+"/"+model->getMapName()+".xml");
-        p.setOutputFile (tmpDir.home().path()+"/.kde4/share/apps/konqueror/bookmarks.xml");
-        p.setXSLFile (vymBaseDir.path()+"/styles/vym2kdebookmarks.xsl");
-        p.process();
-
-        QString ub=vymBaseDir.path()+"/scripts/update-bookmarks";
-        QProcess *proc= new QProcess ;
-        proc->start( ub);
-        if (!proc->waitForStarted())
-        {
-            QMessageBox::warning(0,
-                                 QObject::tr("Warning"),
-                                 QObject::tr("Couldn't find script %1\nto notifiy Browsers of changed bookmarks.").arg(ub));
-        }
-    }
-}
-
-////////////////////////////////////////////////////////////////////////
-void ExportFirefoxBookmarks::doExport() 
-{
-    WarningDialog dia;
-    dia.showCancelButton (true);
-    dia.setText(QObject::tr("Exporting the %1 bookmarks will overwrite\nyour existing bookmarks file.").arg("Firefox"));
-    dia.setCaption(QObject::tr("Warning: Overwriting %1 bookmarks").arg("Firefox"));
-    dia.setShowAgainName("/vym/warnings/overwriteImportBookmarks");
-    if (dia.exec()==QDialog::Accepted)
-    {
-        model->exportXML("",tmpDir.path(),false);
-
-        /*
-    XSLTProc p;
-    p.setInputFile (tmpDir.path()+"/"+me->getMapName()+".xml");
-    p.setOutputFile (tmpDir.home().path()+"/.kde/share/apps/konqueror/bookmarks.xml");
-    p.setXSLFile (vymBaseDir.path()+"/styles/vym2kdebookmarks.xsl");
-    p.process();
-
-    QString ub=vymBaseDir.path()+"/scripts/update-bookmarks";
-    QProcess *proc = new QProcess( );
-    proc->addArgument(ub);
-
-    if ( !proc->start() )
-    {
-        QMessageBox::warning(0,
-        QObject::tr("Warning"),
-        QObject::tr("Couldn't find script %1\nto notifiy Browsers of changed bookmarks.").arg(ub));
-    }
-
-*/
-    }
-}
-
-////////////////////////////////////////////////////////////////////////
-ExportHTML::ExportHTML():ExportBase()
-{
-    init();
-}
-
-ExportHTML::ExportHTML(VymModel *m):ExportBase(m)
-{
-    init();
-}
-
-void ExportHTML::init()
-{
-    exportName="HTML";
-    extension=".html";
-    frameURLs=true;
-}
-
-QString ExportHTML::getBranchText(BranchItem *current)
-{
-    if (current)
-    {
-        bool vis = false;
-        QRectF hr;
-        LinkableMapObj *lmo = current->getLMO();
-        if (lmo)
-        {
-            hr = ((BranchObj*)lmo)->getBBoxHeading();
-            vis = lmo->isVisibleObj();
-        }
-        QString col;
-        QString id = model->getSelectString(current);
-        if (dia.useTextColor)
-            col = QString("style='color:%1'").arg(current->getHeadingColor().name());
-        QString s = QString("<span class='vym-branch-%1' %2 id='%3'>")
-                .arg(current->depth())
-                .arg(col)
-                .arg(id);
-        QString url = current->getURL();
-        QString heading = quotemeta(current->getHeadingPlain());
-
-        // Task flags
-        QString taskFlags;
-        if (dia.useTaskFlags)
-        {
-            Task *task = current->getTask();
-            if (task)
-            {
-                QString taskName = task->getIconString();
-                taskFlags += QString("<img src=\"flags/flag-%1.png\" alt=\"%2\">")
-                    .arg(taskName)
-                    .arg(QObject::tr("Flag: %1","Alt tag in HTML export").arg(taskName));
-            }
-        }
-
-        // User flags
-        QString userFlags;
-        if (dia.useUserFlags)
-        {
-            foreach (QString flag, current->activeStandardFlagNames())
-                userFlags += QString("<img src=\"flags/flag-%1.png\" alt=\"%2\">")
-                    .arg(flag)
-                    .arg(QObject::tr("Flag: %1","Alt tag in HTML export").arg(flag));
-        }
-
-        // Numbering
-        QString number;
-        if (dia.useNumbering) number = getSectionString(current) + " ";
-        
-        // URL
-        if (!url.isEmpty())
-        {
-            s += QString ("<a href=\"%1\">%2<img src=\"flags/flag-url.png\" alt=\"%3\"></a>")
-                    .arg(url)
-                    .arg(number + taskFlags + heading + userFlags)
-                    .arg(QObject::tr("Flag: url","Alt tag in HTML export"));
-
-            QRectF fbox = current->getBBoxURLFlag ();
-            if (vis)
-                imageMap += QString("  <area shape='rect' coords='%1,%2,%3,%4' href='%5' alt='%6'>\n")
-                        .arg(fbox.left()   - offset.x())
-                        .arg(fbox.top()    - offset.y())
-                        .arg(fbox.right()  - offset.x())
-                        .arg(fbox.bottom() - offset.y())
-                        .arg(url)
-                        .arg(QObject::tr("External link: %1","Alt tag in HTML export").arg(heading));
-        } else
-            s += number + taskFlags + heading + userFlags;
-
-        s += "</span>";
-
-        // Create imagemap
-        if (vis && dia.includeMapImage)
-            imageMap += QString("  <area shape='rect' coords='%1,%2,%3,%4' href='#%5' alt='%6'>\n")
-                    .arg(hr.left()   - offset.x())
-                    .arg(hr.top()    - offset.y())
-                    .arg(hr.right()  - offset.x())
-                    .arg(hr.bottom() - offset.y())
-                    .arg(id)
-                    .arg(heading);
-
-        // Include images experimental
-        if (dia.includeImages)
-        {
-            int imageCount = current->imageCount();
-            ImageItem *image; 
-            QString imagePath;
-            for (int i=0; i< imageCount; i++)
-            {
-                image = current->getImageNum(i);
-                imagePath =  "image-" + image->getUuid().toString() + ".png";
-                image->save( dirPath + "/" + imagePath, "PNG");
-                s += "</br><img src=\"" + imagePath;
-                s += "\" alt=\"" + QObject::tr("Image: %1","Alt tag in HTML export").arg(image->getOriginalFilename());
-                s += "\"></br>";
-            }
-        }
-
-        // Include note
-        if (!current->isNoteEmpty())
-        {
-            VymNote  note = current->getNote();
-            QString n;
-            if (note.isRichText())
-            {
-                n = note.getText();
-                QRegExp re("<p.*>");
-                re.setMinimal (true);
-                if (current->getNote().getFontHint() == "fixed")
-                    n.replace(re,"<p class=\"vym-fixed-note-paragraph\">");
-                else
-                    n.replace(re,"<p class=\"vym-note-paragraph\">");
-
-                re.setPattern("</?html>");
-                n.replace(re,"");
-
-                re.setPattern("</?head.*>");
-                n.replace(re,"");
-
-                re.setPattern("</?body.*>");
-                n.replace(re,"");
-
-                re.setPattern("</?meta.*>");
-                n.replace(re,"");
-
-                re.setPattern("<style.*>.*</style>");
-                n.replace(re,"");
-
-                //re.setPattern("<!DOCTYPE.*>");
-                //n.replace(re,"");
-            }
-            else
-            {
-                n = current->getNoteASCII().replace ("<","&lt;").replace (">","&gt;");
-                n.replace("\n","<br/>");
-                if (current->getNote().getFontHint()=="fixed")
-                    n = "<pre>" + n + "</pre>";
-            } 
-            s += "\n<table class=\"vym-note\"><tr><td class=\"vym-note-flag\">\n<td>\n" + n + "\n</td></tr></table>\n";
-        }
-        return s;
-    }
-    return QString();
-}
-
-QString ExportHTML::buildList (BranchItem *current)
-{
-    QString r;
-
-    uint i = 0;
-    uint visChilds = 0;
-
-    BranchItem *bi = current->getFirstBranch();
-
-    QString ind = "\n" + indent(current->depth() + 1, false);
-
-    QString sectionBegin;
-    QString sectionEnd;
-    QString itemBegin;
-    QString itemEnd;
-
-    switch (current->depth() + 1)
-    {
-    case 0:
-        sectionBegin = "";
-        sectionEnd   = "";
-        itemBegin    = "<h1>";
-        itemEnd      = "</h1>";
-        break;
-    case 1:
-        sectionBegin = "";
-        sectionEnd   = "";
-        itemBegin    = "<h2>";
-        itemEnd      = "</h2>";
-        break;
-    default:
-        sectionBegin = "<ul " + QString("class=\"vym-list-ul-%1\"").arg(current->depth() + 1)  +">";
-        sectionEnd   = "</ul>";
-        itemBegin    = "  <li>";
-        itemEnd      = "  </li>";
-        break;
-    }
-    
-    if (bi && !bi->hasHiddenExportParent() && !bi->isHidden() )
-    {
-        r += ind + sectionBegin;
-        while (bi)
-        {
-            if (!bi->hasHiddenExportParent() && !bi->isHidden())
-            {
-                visChilds++;
-                r += ind + itemBegin;
-                r += getBranchText (bi);
-
-                if (itemBegin.startsWith("<h") )
-                    r += itemEnd + buildList (bi);
-                else
-                    r += buildList (bi) + itemEnd;
-            }
-            i++;
-            bi = current->getBranchNum(i);
-        }
-        r += ind + sectionEnd;
-    }
-
-    return r;
-}
-
-QString ExportHTML::createTOC()
-{
-    QString toc;
-    QString number;
-    toc += "<table class=\"vym-toc\">\n";
-    toc += "<tr><td class=\"vym-toc-title\">\n";
-    toc += QObject::tr("Contents:","Used in HTML export");
-    toc += "\n";
-    toc += "</td></tr>\n";
-    toc += "<tr><td>\n";
-    BranchItem *cur  = NULL;
-    BranchItem *prev = NULL;
-    model->nextBranch(cur, prev);
-    while (cur)
-    {
-        if (!cur->hasHiddenExportParent() && !cur->hasScrolledParent() )
-        {
-            if (dia.useNumbering) number = getSectionString(cur);
-            toc += QString("<div class=\"vym-toc-branch-%1\">").arg(cur->depth());
-            toc += QString("<a href=\"#%1\"> %2 %3</a></br>\n")
-                    .arg(model->getSelectString(cur))
-                    .arg(number)
-                    .arg(quotemeta( cur->getHeadingPlain() ));
-            toc += "</div>";
-        }
-        model->nextBranch(cur,prev);
-    }
-    toc += "</td></tr>\n";
-    toc += "</table>\n";
-    return toc;
-}
-
-void ExportHTML::doExport(bool useDialog) 
-{
-    // Setup dialog and read settings
-    dia.setMapName (model->getMapName());
-    dia.setFilePath (model->getFilePath());
-    dia.readSettings();
-
-    if (dirPath != defaultDirPath)
-        dia.setDirectory(dirPath);
-
-    if (useDialog)
-    {
-        if (dia.exec()!=QDialog::Accepted) return;
-        model->setChanged();
-    }
-
-    // Check, if warnings should be used before overwriting
-    // the output directory
-    if (dia.getDir().exists() && dia.getDir().count()>0)
-    {
-        WarningDialog warn;
-        warn.showCancelButton (true);
-        warn.setText(QString(
-                         "The directory %1 is not empty.\n"
-                         "Do you risk to overwrite some of its contents?").arg(dia.getDir().absolutePath() ));
-        warn.setCaption("Warning: Directory not empty");
-        warn.setShowAgainName("mainwindow/export-XML-overwrite-dir");
-
-        if (warn.exec()!=QDialog::Accepted)
-        {
-            mainWindow->statusMessage(QString(QObject::tr("Export aborted.")));
-            return;
-        }
-    }
-
-    dirPath=dia.getDir().absolutePath();
-    filePath=getFilePath();
-    
-    // Copy CSS file
-    if (dia.css_copy)
-    {
-        cssSrc=dia.getCssSrc();
-        cssDst=dirPath + "/" + basename(dia.getCssDst());
-        if (cssSrc.isEmpty() )
-        {
-            QMessageBox::critical( 0,
-                                   QObject:: tr( "Critical" ),
-                                   QObject::tr("Could not find stylesheet %1").arg(cssSrc));
-            return;
-        }
-        QFile src(cssSrc);
-        QFile dst(cssDst);
-        if (dst.exists() ) dst.remove();
-
-        if (!src.copy(cssDst))
-        {
-            QMessageBox::critical (0,
-                                   QObject::tr( "Error","ExportHTML" ),
-                                   QObject::tr("Could not copy\n%1 to\n%2","ExportHTML").arg(cssSrc).arg(cssDst));
-            return;
-        }
-    }
-
-    // Copy flags
-    QDir flagsDst(dia.getDir().absolutePath() + "/flags");
-    if (!flagsDst.exists())
-    {
-        if (!dia.getDir().mkdir("flags"))
-        {
-            QMessageBox::critical( 0,
-                                   QObject::tr( "Critical" ),
-                                   QObject::tr("Trying to create directory for flags:") + "\n\n" +
-                                   QObject::tr("Could not create %1").arg(flagsDst.absolutePath()));
-            return;
-        }
-    }
-
-    QDir flagsSrc(flagsPath);   // FIXME-3 don't use flagsPath as source anymore, but copy required flags directly from memory
-    if (!copyDir(flagsSrc, flagsDst, true))
-    {
-        QMessageBox::critical( 0,
-                               QObject::tr( "Critical" ),
-                               QObject::tr("Could not copy %1 to %2").arg(flagsSrc.absolutePath()).arg(flagsDst.absolutePath()));
-        return;
-    }
-
-    // Open file for writing
-    QFile file (filePath);
-    if ( !file.open( QIODevice::WriteOnly ) )
-    {
-        QMessageBox::critical (0,
-                               QObject::tr("Critical Export Error"),
-                               QObject::tr("Trying to save HTML file:") + "\n\n"+
-                               QObject::tr("Could not write %1").arg(filePath));
-        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
-        return;
-    }
-    QTextStream ts( &file );
-    ts.setCodec("UTF-8");
-
-    // Hide stuff during export
-    model->setExportMode (true);
-
-    // Write header
-    ts << "<html>";
-    ts << "\n<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"> ";
-    ts << "\n<meta name=\"generator=\" content=\" vym - view your mind - " + vymVersion + " - " + vymHome + "\">";
-    ts << "\n<meta name=\"author\" content=\"" + quotemeta(model->getAuthor()) + "\"> ";
-    ts << "\n<meta name=\"description\" content=\"" + quotemeta(model->getComment()) + "\"> ";
-    ts << "\n<link rel='stylesheet' id='css.stylesheet' href='" << basename(cssDst) << "' />\n";
-    QString title=model->getTitle();
-    if (title.isEmpty()) title=model->getMapName();
-    ts << "\n<head><title>" + quotemeta(title) + "</title></head>";
-    ts << "\n<body>\n";
-
-    // Include image
-    // (be careful: this resets Export mode, so call before exporting branches)
-    if (dia.includeMapImage)
-    {
-        QString mapName = getMapName();
-        ts << "<center><img src=\"" << mapName << ".png\"";
-        ts << "alt=\"" << QObject::tr("Image of map: %1.vym","Alt tag in HTML export").arg(mapName) << "\"";
-        ts << " usemap='#imagemap'></center>\n";
-        offset = model->exportImage (dirPath + "/" + mapName + ".png", false, "PNG");
-    }
-
-    // Include table of contents
-    if (dia.useTOC) ts << createTOC();
-
-    // Main loop over all mapcenters
-    ts << buildList(model->getRootItem()) << "\n";
-
-    // Imagemap
-    ts << "<map name='imagemap'>\n" + imageMap + "</map>\n";
-
-    // Write footer
-    ts << "<hr/>\n";
-    ts << "<table class=\"vym-footer\">   \n\
-        <tr> \n\
-        <td class=\"vym-footerL\">" + filePath + "</td> \n\
-            <td class=\"vym-footerC\">" + model->getDate() + "</td> \n\
-            <td class=\"vym-footerR\"> <a href='" + vymHome + "'>vym " + vymVersion + "</a></td> \n\
-            </tr> \n \
-            </table>\n";
-            ts << "</body></html>";
-    file.close();
-
-    if (!dia.postscript.isEmpty())
-    {
-        VymProcess p;
-        p.runScript (dia.postscript,dirPath + "/" + filePath);  
-    }
-
-    completeExport( QString("\"%1\",\"%2\"").arg(dirPath).arg(filePath));
-
-    dia.saveSettings();
-    model->setExportMode (false);
-}
-
-////////////////////////////////////////////////////////////////////////
-void ExportTaskjuggler::doExport() 
-{
-    model->exportXML("",tmpDir.path(),false);
-
-    XSLTProc p;
-    p.setInputFile (tmpDir.path()+"/"+model->getMapName()+".xml");
-    p.setOutputFile (filePath);
-    p.setXSLFile (vymBaseDir.path()+"/styles/vym2taskjuggler.xsl");
-    p.process();
-
-    completeExport();
-}
-
-////////////////////////////////////////////////////////////////////////
-ExportOrgMode::ExportOrgMode() 
-{
-    exportName="OrgMode";
-    filter="org-mode (*.org);;All (* *.*)";
-}
-
-void ExportOrgMode::doExport() 
-{
-    // Exports a map to an org-mode file.
-    // This file needs to be read
-    // by EMACS into an org mode buffer
-    QFile file (filePath);
-    if ( !file.open( QIODevice::WriteOnly ) )
-    {
-        QMessageBox::critical (0, QObject::tr("Critical Export Error"), QObject::tr("Could not export as OrgMode to %1").arg(filePath));
-        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
-        return;
-    }
-    QTextStream ts( &file );
-    ts.setCodec("UTF-8");
-
-    // Main loop over all branches
-    QString s;
-    int i;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    model->nextBranch(cur,prev);
-    while (cur)
-    {
-        if (!cur->hasHiddenExportParent() )
-        {
-            for(i=0;i<=cur->depth();i++)
-                ts << ("*");
-            ts << (" " + cur->getHeadingPlain()+ "\n");
-            // If necessary, write note
-            if (!cur->isNoteEmpty())
-            {
-                ts << (cur->getNoteASCII());
-                ts << ("\n");
-            }
-        }
-        model->nextBranch(cur,prev);
-    }
-    file.close();
-
-    completeExport();
-}
-
-////////////////////////////////////////////////////////////////////////
-ExportLaTeX::ExportLaTeX()
-{
-    exportName="LaTeX";
-    filter="LaTeX files (*.tex);;All (* *.*)";
-
-    // Note: key in hash on left side is the regular expression, which
-    // will be replaced by string on right side
-    // E.g. a literal $ will be replaced by \$
-    esc["\\$"]="\\$";
-    esc["\\^"]="\\^";
-    esc["%"]="\\%";
-    esc["&"]="\\&";
-    esc["~"]="\\~";
-    esc["_"]="\\_";
-    esc["\\\\"]="\\";
-    esc["\\{"]="\\{";
-    esc["\\}"]="\\}";
-}
-
-QString ExportLaTeX::escapeLaTeX(const QString &s)
-{
-    QString r=s;
-
-    QRegExp rx;
-    rx.setMinimal(true);
-
-    foreach (QString p,esc.keys() )
-    {
-        rx.setPattern (p);
-        r.replace (rx, esc[p] );
-    }
-    return r;
-}
-
-void ExportLaTeX::doExport()
-{
-    // Exports a map to a LaTex file.
-    // This file needs to be included
-    // or inported into a LaTex document
-    // it will not add a preamble, or anything
-    // that makes a full LaTex document.
-    QFile file (filePath);
-    if ( !file.open( QIODevice::WriteOnly ) ) {
-        QMessageBox::critical (
-                    0,
-                    QObject::tr("Critical Export Error"),
-                    QObject::tr("Could not export as LaTeX to %1").arg(filePath));
-        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
-        return;
-    }
-    QTextStream ts( &file );
-    ts.setCodec("UTF-8");
-
-    // Read default section names
-    QStringList sectionNames;
-    sectionNames << ""
-                 << "chapter"
-                 << "section"
-                 << "subsection"
-                 << "subsubsection"
-                 << "paragraph";
-
-    for (int i=0; i<6; i++)
-        sectionNames.replace(i,settings.value(
-                                 QString("/export/latex/sectionName-%1").arg(i),sectionNames.at(i)).toString() );
-
-    // Main loop over all branches
-    QString s;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    model->nextBranch(cur,prev);
-    while (cur)
-    {
-        if (!cur->hasHiddenExportParent() )
-        {
-            int d=cur->depth();
-            s=escapeLaTeX (cur->getHeadingPlain() );
-            if ( sectionNames.at(d).isEmpty() || d>=sectionNames.count() )
-                ts << s << endl;
-            else
-                ts << endl
-                   << "\\"
-                   << sectionNames.at(d)
-                   << "{"
-                   << s
-                   << "}"
-                   << endl;
-
-            // If necessary, write note
-            if (!cur->isNoteEmpty()) {
-                ts << (cur->getNoteASCII());
-                ts << endl;
-            }
-        }
-        model->nextBranch(cur,prev);
-    }
-    
-    file.close();
-    completeExport();
-}
-
-////////////////////////////////////////////////////////////////////////
-ExportOO::ExportOO()
-{
-    exportName="Impress";
-    filter="LibreOffice Impress (*.odp);;All (* *.*)";
-    caption=vymName+ " -" +QObject::tr("Export as LibreOffice Impress presentation");
-    useSections=false;
-}
-
-ExportOO::~ExportOO()
-{
-}   
-
-QString ExportOO::buildList (TreeItem *current)
-{
-    QString r;
-
-    uint i=0;
-    BranchItem *bi=current->getFirstBranch();
-    if (bi)
-    {
-        // Start list
-        r+="<text:list text:style-name=\"vym-list\">\n";
-        while (bi)
-        {
-            if (!bi->hasHiddenExportParent() )
-            {
-                r += "<text:list-item><text:p >";
-                r += quotemeta(bi->getHeadingPlain());
-                // If necessary, write note
-                if (! bi->isNoteEmpty())
-                    r += "<text:line-break/>" + bi->getNoteASCII();
-                r += "</text:p>";
-                r += buildList (bi);  // recursivly add deeper branches
-                r += "</text:list-item>\n";
-            }
-            i++;
-            bi = current->getBranchNum(i);
-        }
-        r += "</text:list>\n";
-    }
-    return r;
-}
-
-
-void ExportOO::exportPresentation()
-{
-    QString allPages;
-
-    BranchItem *firstMCO=(BranchItem*)(model->getRootItem()->getFirstBranch());
-    if (!firstMCO)
-    {
-        QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("No objects in map!"));
-        return;
-    }
-
-    // Insert new content
-    // FIXME add extra title in mapinfo for vym 1.13.x
-    content.replace ("<!-- INSERT TITLE -->",quotemeta(firstMCO->getHeadingPlain()));
-    content.replace ("<!-- INSERT AUTHOR -->",quotemeta(model->getAuthor()));
-
-    QString onePage;
-    QString list;
-    
-    BranchItem *sectionBI;
-    int i=0;
-    BranchItem *pagesBI;
-    int j=0;
-
-    int mapcenters=model->getRootItem()->branchCount();
-
-    // useSections already has been set in setConfigFile
-    if (mapcenters>1)
-        sectionBI=firstMCO;
-    else
-        sectionBI=firstMCO->getFirstBranch();
-
-    // Walk sections
-    while (sectionBI && !sectionBI->hasHiddenExportParent() )
-    {
-        if (useSections)
-        {
-            // Add page with section title
-            onePage=sectionTemplate;
-            onePage.replace ("<!-- INSERT PAGE HEADING -->", quotemeta(sectionBI->getHeadingPlain() ) );
-            allPages+=onePage;
-            pagesBI=sectionBI->getFirstBranch();
-        } else
-        {
-            //i=-2; // only use inner loop to
-            // turn mainbranches into pages
-            //sectionBI=firstMCO;
-            pagesBI=sectionBI;
-        }
-
-        j=0;
-        while (pagesBI && !pagesBI->hasHiddenExportParent() )
-        {
-            // Add page with list of items
-            onePage=pageTemplate;
-            onePage.replace ("<!-- INSERT PAGE HEADING -->", quotemeta (pagesBI->getHeadingPlain() ) );
-            list=buildList (pagesBI);
-            onePage.replace ("<!-- INSERT LIST -->", list);
-            allPages+=onePage;
-            if (pagesBI!=sectionBI)
-            {
-                j++;
-                pagesBI=((BranchItem*)pagesBI->parent())->getBranchNum(j);
-            } else
-                pagesBI=NULL;    // We are already iterating over the sectionBIs
-        }
-        i++;
-        if (mapcenters>1 )
-            sectionBI=model->getRootItem()->getBranchNum (i);
-        else
-            sectionBI=firstMCO->getBranchNum (i);
-    }
-    
-    content.replace ("<!-- INSERT PAGES -->",allPages);
-
-    // Write modified content
-    QFile f (contentFile);
-    if ( !f.open( QIODevice::WriteOnly ) )
-    {
-        QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Could not write %1").arg(contentFile));
-        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
-        return;
-    }
-
-    QTextStream t( &f );
-    t.setCodec("UTF-8");
-    t << content;
-    f.close();
-
-    // zip tmpdir to destination
-    zipDir (tmpDir,filePath);
-
-    completeExport(QString("\"%1\", \"%2\"").arg(filePath).arg(configFile) );
-}
-
-bool ExportOO::setConfigFile (const QString &cf)
-{
-    configFile=cf;
-    int i=cf.lastIndexOf ("/");
-    if (i>=0) configDir=cf.left(i);
-    SimpleSettings set;
-
-    if (!set.readSettings(configFile))
-    {
-        QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Couldn't read settings from \"%1\"").arg(configFile));
-        return false;
-    }
-
-    // set paths
-    templateDir=configDir+"/"+set.value ("Template");
-
-    QDir d (templateDir);
-    if (!d.exists())
-    {
-        QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Check \"%1\" in\n%2").arg("Template="+set.value ("Template")).arg(configFile));
-        return false;
-
-    }
-
-    contentTemplateFile = templateDir + "content-template.xml";
-    pageTemplateFile    = templateDir + "page-template.xml";
-    sectionTemplateFile = templateDir + "section-template.xml";
-    contentFile         = tmpDir.path() + "/content.xml";
-
-    if (set.value("useSections").contains("yes"))
-        useSections=true;
-
-    // Copy template to tmpdir
-    copyDir (templateDir,tmpDir);
-
-    // Read content-template
-    if (!loadStringFromDisk (contentTemplateFile,content))
-    {
-        QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Could not read %1").arg(contentTemplateFile));
-        return false;
-    }
-
-    // Read page-template
-    if (!loadStringFromDisk (pageTemplateFile,pageTemplate))
-    {
-        QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Could not read %1").arg(pageTemplateFile));
-        return false;
-    }
-    
-    // Read section-template
-    if (useSections && !loadStringFromDisk (sectionTemplateFile,sectionTemplate))
-    {
-        QMessageBox::critical (0,QObject::tr("Critical Export Error"),QObject::tr("Could not read %1").arg(sectionTemplateFile));
-        return false;
-    }
-    return true;
-}
-
diff --git a/exports.h b/exports.h
deleted file mode 100644 (file)
index 1dbc42a..0000000
--- a/exports.h
+++ /dev/null
@@ -1,180 +0,0 @@
-#ifndef EXPORTS_H
-#define EXPORTS_H
-
-#include <qdir.h>
-#include <qstring.h>
-#include <iostream>
-
-#include "settings.h"
-#include "vymmodel.h"
-
-
-/*! \brief Base class for all exports
-*/
-
-///////////////////////////////////////////////////////////////////////
-
-class ExportBase
-{
-public:
-    ExportBase();
-    ExportBase(VymModel *m);
-    virtual ~ExportBase();
-    virtual void init();
-    virtual void setDirPath (const QString&);
-    virtual QString getDirPath();
-    virtual void setFilePath (const QString&);
-    virtual QString getFilePath ();
-    virtual QString getMapName ();
-    virtual void setModel (VymModel *m);
-    virtual void setWindowTitle (const QString &);
-    virtual void setName( const QString &);
-    virtual QString getName();
-    virtual void addFilter (const QString &);
-    virtual void setListTasks( bool b);
-    virtual bool execDialog();
-    virtual bool canceled();
-    void setLastCommand( const QString& );
-    void completeExport(QString args="");  //! set lastExport and send status message
-
-protected:  
-    VymModel *model;
-    QString exportName;
-    QString lastCommand;
-    virtual QString getSectionString (TreeItem*);
-
-    QString indent (const int &n, bool useBullet);
-    QDir tmpDir;
-    QString dirPath;        // Path to dir  e.g. /tmp/vym-export/
-    QString defaultDirPath; // Default path
-    QString filePath;       // Path to file e.g. /tmp/vym-export/export.html
-    QString extension;      // Extension, e.g. .html
-    QString indentPerDepth;
-    int indentPerDepth2;
-    QStringList bulletPoints;
-    QString caption;
-    QString filter;
-    bool listTasks;         // Append task list
-    bool cancelFlag;
-};
-
-///////////////////////////////////////////////////////////////////////
-class ExportAO:public ExportBase
-{
-public:
-    ExportAO();
-    virtual void doExport();
-    virtual QString underline (const QString &text, const QString &line);
-};
-
-///////////////////////////////////////////////////////////////////////
-class ExportASCII:public ExportBase
-{
-public:
-    ExportASCII();
-    virtual void doExport();
-    virtual QString underline (const QString &text, const QString &line);
-};
-
-///////////////////////////////////////////////////////////////////////
-class ExportCSV:public ExportBase
-{
-public:
-    ExportCSV();
-    void doExport();
-};
-
-///////////////////////////////////////////////////////////////////////
-class ExportXMLBase:public ExportBase
-{
-};
-
-///////////////////////////////////////////////////////////////////////
-class ExportKDE4Bookmarks:public ExportXMLBase
-{
-public:
-    virtual void doExport();
-};  
-
-///////////////////////////////////////////////////////////////////////
-class ExportFirefoxBookmarks:public ExportXMLBase
-{
-public:
-    virtual void doExport();
-};  
-
-#include "exporthtmldialog.h"
-///////////////////////////////////////////////////////////////////////
-class ExportHTML:public ExportBase
-{
-public:
-    ExportHTML();
-    ExportHTML(VymModel *m);
-    virtual void init();
-    virtual QString createTOC();
-    virtual void doExport(bool useDialog=true);
-private:
-    QString getBranchText(BranchItem *);
-    QString buildList (BranchItem *);
-    QString imageMap;
-    QString cssSrc;
-    QString cssDst;
-
-    bool frameURLs;
-
-    QPointF offset;
-
-    ExportHTMLDialog dia;
-};  
-
-///////////////////////////////////////////////////////////////////////
-class ExportLaTeX:public ExportBase
-{
-public:
-    ExportLaTeX();
-    QString escapeLaTeX (const QString &s);
-    virtual void doExport();
-private:
-    QHash <QString,QString> esc;
-};  
-
-///////////////////////////////////////////////////////////////////////
-class ExportOrgMode:public ExportBase
-{
-public:
-    ExportOrgMode();
-    virtual void doExport();
-};  
-
-///////////////////////////////////////////////////////////////////////
-class ExportOO:public ExportBase
-{
-public:
-    ExportOO();
-    ~ExportOO();
-    void exportPresentation();
-    bool setConfigFile (const QString &);
-private:
-    QString buildList (TreeItem *);
-    bool useSections;
-    QString configFile;
-    QString configDir;
-    QString templateDir;
-    QString content;
-    QString contentTemplate;
-    QString contentTemplateFile;
-    QString contentFile;
-    QString pageTemplate;
-    QString pageTemplateFile;
-    QString sectionTemplate;
-    QString sectionTemplateFile;
-};
-
-///////////////////////////////////////////////////////////////////////
-class ExportTaskjuggler:public ExportXMLBase
-{
-public:
-    virtual void doExport();
-};  
-
-#endif
diff --git a/exportxhtmldialog.ui b/exportxhtmldialog.ui
deleted file mode 100644 (file)
index 90aa6e9..0000000
+++ /dev/null
@@ -1,489 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ExportXHTMLDialog</class>
- <widget class="QDialog" name="ExportXHTMLDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>588</width>
-    <height>523</height>
-   </rect>
-  </property>
-  <property name="minimumSize">
-   <size>
-    <width>0</width>
-    <height>130</height>
-   </size>
-  </property>
-  <property name="windowTitle">
-   <string>Export XHTML</string>
-  </property>
-  <layout class="QVBoxLayout">
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="margin">
-      <number>0</number>
-     </property>
-     <item>
-      <widget class="QLabel" name="textLabel1">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="text">
-        <string>Export to directory:</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="lineEditDir">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="browseExportDirButton">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="text">
-        <string>Browse</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="buttonGroup2">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="minimumSize">
-      <size>
-       <width>0</width>
-       <height>160</height>
-      </size>
-     </property>
-     <property name="title">
-      <string>Options</string>
-     </property>
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <widget class="QWidget" name="layoutWidget">
-      <property name="geometry">
-       <rect>
-        <x>20</x>
-        <y>30</y>
-        <width>511</width>
-        <height>104</height>
-       </rect>
-      </property>
-      <layout class="QVBoxLayout">
-       <property name="spacing">
-        <number>6</number>
-       </property>
-       <property name="margin">
-        <number>0</number>
-       </property>
-       <item>
-        <widget class="QCheckBox" name="imageButton">
-         <property name="text">
-          <string>Include image</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="textColorButton">
-         <property name="text">
-          <string>Colored headings in text</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="saveSettingsInMapButton">
-         <property name="text">
-          <string>Save settings in map</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="warningsButton">
-         <property name="text">
-          <string>show warnings of xslt processor</string>
-         </property>
-        </widget>
-       </item>
-       <item>
-        <widget class="QCheckBox" name="outputButton">
-         <property name="sizePolicy">
-          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-           <horstretch>0</horstretch>
-           <verstretch>0</verstretch>
-          </sizepolicy>
-         </property>
-         <property name="text">
-          <string>show output of external scripts</string>
-         </property>
-         <attribute name="buttonGroup">
-          <string/>
-         </attribute>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox2">
-     <property name="title">
-      <string>Stylesheets</string>
-     </property>
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <layout class="QGridLayout">
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <item row="1" column="0">
-       <layout class="QHBoxLayout">
-        <property name="spacing">
-         <number>6</number>
-        </property>
-        <property name="margin">
-         <number>0</number>
-        </property>
-        <item>
-         <widget class="QLabel" name="textLabel2">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>125</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="text">
-           <string>XSL:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLineEdit" name="lineEditXSL"/>
-        </item>
-        <item>
-         <widget class="QPushButton" name="browseXSLButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="text">
-           <string>Browse</string>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item row="0" column="0">
-       <layout class="QHBoxLayout">
-        <property name="spacing">
-         <number>6</number>
-        </property>
-        <property name="margin">
-         <number>0</number>
-        </property>
-        <item>
-         <widget class="QLabel" name="textLabel1_2">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>125</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="text">
-           <string>CSS:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLineEdit" name="lineEditCSS"/>
-        </item>
-        <item>
-         <widget class="QPushButton" name="browseCSSButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="text">
-           <string>Browse</string>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox1">
-     <property name="title">
-      <string>Scripts</string>
-     </property>
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <layout class="QGridLayout">
-      <property name="margin">
-       <number>11</number>
-      </property>
-      <property name="spacing">
-       <number>6</number>
-      </property>
-      <item row="0" column="0">
-       <layout class="QHBoxLayout">
-        <property name="spacing">
-         <number>6</number>
-        </property>
-        <property name="margin">
-         <number>0</number>
-        </property>
-        <item>
-         <widget class="QLabel" name="textLabel1_3">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>125</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="text">
-           <string>Before export:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLineEdit" name="lineEditPreScript"/>
-        </item>
-        <item>
-         <widget class="QPushButton" name="browsePreExportButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="text">
-           <string>Browse</string>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item row="1" column="0">
-       <layout class="QHBoxLayout">
-        <property name="spacing">
-         <number>6</number>
-        </property>
-        <property name="margin">
-         <number>0</number>
-        </property>
-        <item>
-         <widget class="QLabel" name="textLabel2_2">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>125</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="frameShape">
-           <enum>QFrame::NoFrame</enum>
-          </property>
-          <property name="text">
-           <string>After Export:</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLineEdit" name="lineEditPostScript"/>
-        </item>
-        <item>
-         <widget class="QPushButton" name="browsePostExportButton">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="text">
-           <string>Browse</string>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <spacer>
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeType">
-      <enum>QSizePolicy::MinimumExpanding</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>41</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>61</width>
-         <height>21</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="exportButton">
-       <property name="text">
-        <string>Export</string>
-       </property>
-       <property name="default">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <customwidgets>
-  <customwidget>
-   <class>QGroupBox</class>
-   <container>1</container>
-  </customwidget>
-  <customwidget>
-   <class>QGroupBox</class>
-   <container>1</container>
-  </customwidget>
- </customwidgets>
- <includes>
-  <include location="local">xsltproc.h</include>
-  <include location="local">process.h</include>
- </includes>
- <resources/>
- <connections>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>ExportXHTMLDialog</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>459</x>
-     <y>443</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>256</x>
-     <y>233</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>exportButton</sender>
-   <signal>clicked()</signal>
-   <receiver>ExportXHTMLDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>368</x>
-     <y>443</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>256</x>
-     <y>233</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/extrainfodialog.cpp b/extrainfodialog.cpp
deleted file mode 100644 (file)
index 09f819a..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#include "extrainfodialog.h"
-
-
-ExtraInfoDialog::ExtraInfoDialog(QWidget *parent):QDialog (parent)
-{
-    ui.setupUi (this);
-}
-
-
-void ExtraInfoDialog::setMapName(const QString &s)
-{
-    ui.mapNameLE->setText (s);
-}
-
-void ExtraInfoDialog::setMapTitle(const QString &s)
-{
-    ui.mapTitleLE->setText (s);
-}
-
-QString ExtraInfoDialog::getMapTitle()
-{
-    return ui.mapTitleLE->text();
-}
-
-void ExtraInfoDialog::setComment (const QString &s)
-{
-    ui.commentTE->setText (s);
-}
-
-QString ExtraInfoDialog::getComment()
-{
-    return ui.commentTE->toHtml();
-}   
-
-
-void ExtraInfoDialog::setAuthor(const QString &s)
-{
-    ui.authorLE->setText (s);
-}
-
-QString ExtraInfoDialog::getAuthor()
-{
-    return ui.authorLE->text();
-}
-
-void ExtraInfoDialog::setStats(const QString &s)
-{
-    ui.statsTE->setText (s);
-}
-
-void ExtraInfoDialog::setReadOnly(bool b)
-{
-    readOnly = b;
-    ui.authorLE->setReadOnly( readOnly );
-    ui.commentTE->setReadOnly( readOnly );
-    ui.mapTitleLE->setReadOnly( readOnly );
-}
-
-bool ExtraInfoDialog::isReadOnly()
-{
-    return readOnly;
-}
diff --git a/extrainfodialog.h b/extrainfodialog.h
deleted file mode 100644 (file)
index 8cc6c98..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef EXTRAINFODIALOG_H
-#define EXTRAINFODIALOG_H
-
-#include "ui_extrainfodialog.h"
-
-/* \brief Dialog to display and edit map specific information like author, comment, etc. 
-*/
-
-class ExtraInfoDialog : public QDialog
-{
-    Q_OBJECT
-
-public:
-    ExtraInfoDialog(QWidget* parent = 0);
-
-    virtual QString getComment();
-    virtual QString getAuthor();
-    virtual QString getMapTitle();
-    virtual void setStats( const QString & s );
-    void setReadOnly( bool b );
-    bool isReadOnly();
-
-public slots:
-    virtual void setMapName( const QString & s );
-    virtual void setMapTitle( const QString & s );
-    virtual void setComment( const QString & s );
-    virtual void setAuthor( const QString & s );
-
-private:
-    Ui::ExtraInfoDialog ui;
-    bool readOnly;
-
-};
-
-#endif // EXTRAINFODIALOG_H
diff --git a/extrainfodialog.ui b/extrainfodialog.ui
deleted file mode 100644 (file)
index ed756d2..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <author>Uwe Drechsel</author>
- <class>ExtraInfoDialog</class>
- <widget class="QDialog" name="ExtraInfoDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>551</width>
-    <height>651</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>VYM - Info</string>
-  </property>
-  <layout class="QVBoxLayout">
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <property name="leftMargin">
-    <number>11</number>
-   </property>
-   <property name="topMargin">
-    <number>11</number>
-   </property>
-   <property name="rightMargin">
-    <number>11</number>
-   </property>
-   <property name="bottomMargin">
-    <number>11</number>
-   </property>
-   <item>
-    <widget class="QLabel" name="textLabel1_2">
-     <property name="text">
-      <string>Map:</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QLineEdit" name="mapNameLE">
-     <property name="readOnly">
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QLabel" name="label">
-     <property name="accessibleDescription">
-      <string extracomment="Label for map title"/>
-     </property>
-     <property name="text">
-      <string>Title:</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QLineEdit" name="mapTitleLE"/>
-   </item>
-   <item>
-    <widget class="QLabel" name="textLabel1">
-     <property name="text">
-      <string>Author:</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QLineEdit" name="authorLE"/>
-   </item>
-   <item>
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>40</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <widget class="QLabel" name="textLabel2">
-     <property name="text">
-      <string>Comment:</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QTextEdit" name="commentTE"/>
-   </item>
-   <item>
-    <widget class="QLabel" name="textLabel2_2">
-     <property name="text">
-      <string>Statistics:</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QTextEdit" name="statsTE"/>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="leftMargin">
-      <number>0</number>
-     </property>
-     <property name="topMargin">
-      <number>0</number>
-     </property>
-     <property name="rightMargin">
-      <number>0</number>
-     </property>
-     <property name="bottomMargin">
-      <number>0</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>160</width>
-         <height>21</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="closeButton">
-       <property name="text">
-        <string>Close</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <tabstops>
-  <tabstop>authorLE</tabstop>
-  <tabstop>closeButton</tabstop>
-  <tabstop>cancelButton</tabstop>
-  <tabstop>mapNameLE</tabstop>
- </tabstops>
- <resources/>
- <connections>
-  <connection>
-   <sender>closeButton</sender>
-   <signal>clicked(bool)</signal>
-   <receiver>ExtraInfoDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>321</x>
-     <y>377</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>187</x>
-     <y>201</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>ExtraInfoDialog</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>230</x>
-     <y>377</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>187</x>
-     <y>201</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/file.cpp b/file.cpp
deleted file mode 100644 (file)
index 37402d5..0000000
--- a/file.cpp
+++ /dev/null
@@ -1,558 +0,0 @@
-#include <QDebug>
-#include <QDir>
-#include <QMessageBox>
-#include <QPixmap>
-#include <QLabel>
-#include <QTextStream>
-#include <iostream>
-#include <cstdlib>
-
-#include "file.h"
-#include "vymprocess.h"
-
-#if defined(Q_OS_WIN32)
-    #include "mkdtemp.h"
-    #include <windows.h>
-#endif
-
-#if defined(Q_OS_MACX)
-    #include "unistd.h"
-#endif
-
-using namespace File;
-
-extern QString zipToolPath;
-
-QString convertToRel (const QString &src, const QString &dst)
-{
-    // Creates a relative path pointing from src to dst
-
-    QString s=src;
-    QString d=dst;
-    int i;
-
-    if (s==d)
-    {
-        // Special case, we just need the name of the file,
-        // not the complete path
-        i=d.lastIndexOf ("/");
-        d=d.right (d.length()-i-1);
-    } else
-    {
-        // remove identical left parts
-        while (s.section("/",0,0) == d.section("/",0,0) )
-        {
-            i=s.indexOf ("/");
-            s=s.right (s.length()-i-1);
-            d=d.right (d.length()-i-1);
-        }
-
-        // Now take care of paths where we have to go back first
-        int srcsep=s.count("/");
-        while (srcsep > 0 )
-        {
-            d="../"+d;
-            srcsep--;
-        }
-    }
-    return d;
-}
-
-QString convertToAbs (const QString &src, const QString &dst)
-{
-    // Creates a relative path pointing from src to dst
-    QDir dd(src);
-    return dd.absoluteFilePath(dst);
-}
-
-
-QString basename(const QString &path)
-{
-    return path.section ('/', -1);
-}
-
-QString dirname(const QString &path)
-{
-    return path.section('/', 0, -2);
-}
-
-extern QString vymName;
-bool reallyWriteDirectory(const QString &dir)
-{
-    QStringList eList = QDir(dir).entryList();
-    if (eList.first() ==".")  eList.pop_front();    // remove "."
-    if (eList.first() =="..") eList.pop_front();    // remove "."
-    if (!eList.isEmpty())
-    {
-        QMessageBox mb( vymName,
-                        QObject::tr("The directory %1 is not empty.\nDo you risk to overwrite its contents?","write directory").arg(dir),
-                        QMessageBox::Warning,
-                        QMessageBox::Yes ,
-                        QMessageBox::Cancel | QMessageBox::Default,
-                        QMessageBox::NoButton );
-
-        mb.setButtonText( QMessageBox::Yes, QObject::tr("Overwrite") );
-        mb.setButtonText( QMessageBox::No, QObject::tr("Cancel"));
-        switch( mb.exec() )
-        {
-        case QMessageBox::Yes:
-            // save
-            return true;
-        case QMessageBox::Cancel:
-            // do nothing
-            return false;
-        }
-    }
-    return true;
-}
-
-QString makeTmpDir (bool &ok, QString prefix)   //FIXME-3 use QTemporaryDir
-{
-    bool b;
-    QString path=makeUniqueDir (b,QDir::tempPath()+"/"+prefix+"-XXXXXX");
-    ok=b;
-    return path;
-}
-
-bool isInTmpDir(QString fn)
-{
-    QString temp=QDir::tempPath();
-    int l=temp.length();
-    return fn.left(l)==temp;
-}
-
-QString makeUniqueDir (bool &ok,QString s)
-{
-    ok=true;
-
-    QString r;
-
-#if defined(Q_OS_WIN32)
-    r=mkdtemp (s);
-#else
-    // On Linux and friends use cstdlib
-    
-    // Convert QString to string 
-    ok=true;
-    char *p;
-    int bytes=s.length();
-    p=(char*) malloc (bytes+1);
-    int i;
-    for (i=0;i<bytes;i++)
-       p[i]=s.at(i).unicode();
-    p[bytes]=0;        
-
-    r=mkdtemp (p);
-    free (p);
-#endif
-
-    if (r.isEmpty()) ok=false;
-    return r;
-}
-
-void removeDir(QDir d)
-{
-    // This check should_ not be necessary, but proved to be useful ;-)
-    if (!isInTmpDir(d.path()))
-    {
-        qWarning ()<<"file.cpp::removeDir should remove " + d.path() + " - aborted.";
-        return;
-    }
-
-    // Traverse directories
-    d.setFilter( QDir::Dirs| QDir::Hidden | QDir::NoSymLinks );
-    QFileInfoList list = d.entryInfoList();
-    QFileInfo fi;
-
-    for (int i = 0; i < list.size(); ++i)
-    {
-        fi=list.at(i);
-        if (fi.fileName() != "." && fi.fileName() != ".." )
-        {
-            if ( !d.cd(fi.fileName()) )
-                qWarning ()<<"removeDir() cannot find the directory "+fi.fileName();
-            else
-            {
-                // Recursively remove subdirs
-                removeDir (d);
-                d.cdUp();
-            }
-        }
-    }
-
-    // Traverse files
-    d.setFilter( QDir::Files| QDir::Hidden | QDir::NoSymLinks );
-    list = d.entryInfoList();
-
-    for (int i = 0; i < list.size(); ++i)
-    {
-        fi=list.at(i);
-        QFile (fi.filePath()).remove();
-    }
-
-    QString dirName = d.dirName();
-    d.cdUp();
-    if (!d.rmdir(dirName))
-        qWarning ()<< "removeDir(" + dirName + ") failed!";
-}      
-
-bool copyDir (QDir src, QDir dst, const bool &override)   
-{
-    QStringList dirs  = src.entryList(QDir::AllDirs | QDir::Hidden | QDir::NoDotAndDotDot);
-    QStringList files = src.entryList(QDir::Files );
-
-    // Check if dst is a subdir of src, which would cause endless recursion...
-    if (dst.absolutePath().contains(src.absolutePath())) return false;
-    
-    // Traverse directories
-    QList<QString>::iterator d,f;
-    for (d = dirs.begin(); d != dirs.end(); ++d) 
-    {
-        if (!QFileInfo(src.path() + "/" + (*d)).isDir()) continue;
-
-        QDir cdir(dst.path() + "/" + (*d));
-        cdir.mkpath(cdir.path());
-
-        if (!copyDir (QDir(src.path() + "/" + (*d)), QDir(dst.path() + "/" + (*d)), override)) 
-            return false;
-    }
-
-    // Traverse files
-    for (f = files.begin(); f != files.end(); ++f) 
-    {
-        QFile cfile(src.path() + "/" + (*f));
-        QFile destFile(dst.path()+ "/" + src.relativeFilePath(cfile.fileName()));
-        if (destFile.exists() && override) 
-            destFile.remove();
-
-        if (!cfile.copy(dst.path() + "/" + src.relativeFilePath(cfile.fileName()))) 
-            return false;
-    }
-    return true;
-}
-
-void makeSubDirs (const QString &s)
-{
-    QDir d(s);
-    d.mkdir(s);
-    d.mkdir ("images");        
-    d.mkdir ("flags"); 
-}
-
-ErrorCode zipDir ( QDir zipInputDir, QString zipName)
-{
-    zipName = QDir::toNativeSeparators(zipName);
-    ErrorCode err = Success;
-
-    QString symLinkTarget;
-
-    QString newName;
-    // Move existing file away
-    QFile file(zipName);
-    if (file.exists() )
-    {
-        symLinkTarget = file.symLinkTarget();
-        newName = zipName + ".tmp";
-        int n = 0;
-        while (!file.rename (newName) && n < 5)
-        {
-            newName = newName + QString().setNum(n);
-            n++;
-        }
-        if (n >= 5)
-        {
-            QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                                   QObject::tr("Couldn't move existing file out of the way before saving."));
-            return Aborted;
-        }
-    }
-
-    // zip the temporary directory
-    VymProcess *zipProc=new VymProcess ();
-    QStringList args;
-
-#if defined(Q_OS_WIN32)
-    zipProc->setWorkingDirectory (QDir::toNativeSeparators(zipInputDir.path() + "\\") );    
-    args << "a" << zipName << "-tzip" << "-scsUTF-8"  << "*";
-    zipProc->start(zipToolPath, args);
-    if (!zipProc->waitForStarted())
-    {
-        QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-            QObject::tr("Couldn't start tool to decompress data."));
-        err=Aborted;
-
-    }
-    while(zipProc->state()!=QProcess::NotRunning){
-        zipProc->waitForReadyRead();
-        result = zipProc->readAll();
-    }
-    
-    if (!zipProc->waitForStarted() )
-    {
-        // zip could not be started
-        QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                               QObject::tr("Couldn't start zip to compress data."));
-        err=Aborted;
-    } else
-    {
-        // zip could be started
-        zipProc->waitForFinished();
-        if (zipProc->exitStatus()!=QProcess::NormalExit )
-        {
-            QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                                   QObject::tr("zip didn't exit normally")+
-                                   "\n" + zipProc->getErrout());
-            err=Aborted;
-        } else
-        {
-            if (zipProc->exitCode()>0)
-            {
-                QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                                       QString("zip exit code:  %1").arg(zipProc->exitCode() )+
-                                       "\n" + zipProc->getErrout() );
-                err=Aborted;
-            }
-        }
-    }
-    // qDebug() <<"Output: " << zipProc->getStdout()<<flush;   
-#else
-    zipProc->setWorkingDirectory (QDir::toNativeSeparators(zipInputDir.path() ));  
-    args <<"-r";
-    args <<zipName;
-    args <<".";
-
-    zipProc->start ("zip",args);
-    if (!zipProc->waitForStarted() )
-    {
-        // zip could not be started
-        QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                               QObject::tr("Couldn't start zip to compress data."));
-        err=Aborted;
-    } else
-    {
-        // zip could be started
-        zipProc->waitForFinished();
-        if (zipProc->exitStatus()!=QProcess::NormalExit )
-        {
-            QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                                   QObject::tr("zip didn't exit normally")+
-                                   "\n" + zipProc->getErrout());
-            err=Aborted;
-        } else
-        {
-            if (zipProc->exitCode()>0)
-            {
-                QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                                       QString("zip exit code:  %1").arg(zipProc->exitCode() )+
-                                       "\n" + zipProc->getErrout() );
-                err=Aborted;
-            }
-        }
-    }
-#endif
-    // Try to restore previous file, if zipping failed
-    if (err == Aborted && !newName.isEmpty() && !file.rename (zipName) )
-       QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-          QObject::tr("Couldn't rename %1 back to %2").arg(newName).arg(zipName) );
-    else
-    {
-        // Take care of symbolic link
-        if (!symLinkTarget.isEmpty() )
-        {
-            if (!QFile(symLinkTarget).remove() )
-            {
-                QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                   QObject::tr("Couldn't remove target of old symbolic link %1").arg(symLinkTarget));
-                err = Aborted;
-                return err;
-            }
-
-            if (!QFile(zipName).rename(symLinkTarget) )
-            {
-                QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                   QObject::tr("Couldn't rename output to target of old symbolic link %1").arg(symLinkTarget));
-                err = Aborted;
-                return err;
-            }
-            if (!QFile(symLinkTarget).link(zipName) )
-            {
-                QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                   QObject::tr("Couldn't link from %1 to target of old symbolic link %2").arg(zipName).arg(symLinkTarget));
-                err = Aborted;
-                return err;
-            }
-        }
-
-    // Remove temporary file
-       if (!newName.isEmpty()  && !file.remove() )
-           QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-           QObject::tr("Saved %1, but couldn't remove %2").arg(zipName).arg(newName));
-    }
-
-    return err;        
-}
-
-File::ErrorCode unzipDir ( QDir zipOutputDir, QString zipName)
-{
-    ErrorCode err=Success;
-
-    VymProcess *zipProc = new VymProcess ();
-    QStringList args;
-
-#if defined(Q_OS_WIN32)
-    zipProc->setWorkingDirectory (QDir::toNativeSeparators(zipOutputDir.path() + "\\") );
-    args << "-o" + zipOutputDir.path() << "x" << zipName.toUtf8() << "-scsUTF-8";
-    zipProc->start(zipToolPath, args);
-
-    if (!zipProc->waitForStarted())
-    {
-        QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                               QObject::tr("Couldn't start tool to decompress data."));
-        err=Aborted;
-    }
-
-    while(zipProc->state()!=QProcess::NotRunning){
-        zipProc->waitForReadyRead();
-        result = zipProc->readAll();
-        //qDebug() << result << flush;
-    }
-    //qDebug() << zipProc->getStdout()<<flush;
-#else
-    zipProc->setWorkingDirectory (QDir::toNativeSeparators(zipOutputDir.path()));
-    args << "-o";   // overwrite existing files!
-    args << zipName ;
-    args << "-d";
-    args << zipOutputDir.path();
-
-    zipProc->start ("unzip",args);
-#endif
-    if (!zipProc->waitForStarted() )
-    {
-        QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                               QObject::tr("Couldn't start %1 to decompress data.").arg(zipToolPath));
-        err=Aborted;
-
-
-    } else
-    {
-        zipProc->waitForFinished();
-        if (zipProc->exitStatus()!=QProcess::NormalExit )
-        {
-            QMessageBox::critical( 0,QObject::tr( "Critical Error" ),
-                                   QObject::tr("%1 didn't exit normally").arg(zipToolPath) +
-                                   zipProc->getErrout() );
-            err=Aborted;
-        } else
-        {
-            if (zipProc->exitCode()>0)
-            {
-                if (zipProc->exitCode()==9)
-                    // no zipped file, but maybe .xml or old version? Try again.
-                    err=NoZip;
-                else
-                {
-                    QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                                           QString("%1 exit code:  %2").arg(zipToolPath).arg(zipProc->exitCode() ) +
-                                           zipProc->getErrout() );
-                    err=Aborted;
-                }
-            }
-        }
-    }
-    return err;
-}
-
-bool loadStringFromDisk (const QString &fname, QString &s)
-{
-    s="";
-    QFile file(fname);
-    if (!file.open(QFile::ReadOnly | QFile::Text)) {
-        qWarning()<<QString("loadStringFromDisk: Cannot read file %1\n%2")
-                    .arg(fname)
-                    .arg(file.errorString());
-        return false;
-    }
-
-    QTextStream in(&file);
-    s=in.readAll();
-    return true;
-}
-
-bool saveStringToDisk (const QString &fname, const QString &s)
-{
-    QFile file(fname);
-    // Write as binary (default), QFile::Text would convert linebreaks
-    if (!file.open(QFile::WriteOnly  )) {
-        qWarning()<<QString("saveStringToDisk: Cannot write file %1:\n%2.")
-                    .arg(fname)
-                    .arg(file.errorString());
-        return false;
-    }
-
-    QTextStream out(&file);
-    out.setCodec("UTF-8");
-    out << s;
-
-    return true;
-}
-
-FileType getMapType (const QString &fn)
-{
-    int i=fn.lastIndexOf(".");
-    if (i>=0)
-    {
-        QString postfix=fn.mid(i+1);
-        if (postfix=="vym" || postfix=="vyp" || postfix=="xml") return VymMap;
-        if (postfix=="mm") return FreemindMap;
-    }
-    return UnknownMap;
-}
-
-ImageIO::ImageIO ()
-{
-    // Create list with supported image types
-    // foreach (QByteArray format, QImageWriter::supportedImageFormats())
-    // imageTypes.append( tr("%1...").arg(QString(format).toUpper()));
-    imageFilters.append ("Images (*.png *.jpg *.jpeg *.bmp *.bmp *.ppm *.xpm *.xbm)");
-    imageTypes.append ("PNG");
-    imageFilters.append ("Portable Network Graphics (*.png)");
-    imageTypes.append ("PNG");
-    imageFilters.append ("Joint Photographic Experts Group (*.jpg)");
-    imageTypes.append ("JPG");
-    imageFilters.append ("Joint Photographic Experts Group (*.jpeg)");
-    imageTypes.append ("JPG");
-    imageFilters.append ("Windows Bitmap (*.bmp)");
-    imageTypes.append ("BMP");
-    imageFilters.append ("Portable Pixmap (*.ppm)");
-    imageTypes.append ("PPM");
-    imageFilters.append ("X11 Bitmap (*.xpm)");
-    imageTypes.append ("XPM");
-    imageFilters.append ("X11 Bitmap (*.xbm)");
-    imageTypes.append ("XBM");
-}
-
-QStringList ImageIO::getFilters()
-{
-    return imageFilters;
-}
-
-QString ImageIO::getType(QString filter)
-{
-    for (int i=0;i<imageFilters.count()+1;i++)
-        if (imageFilters.at(i)==filter) return imageTypes.at(i);
-    return QString();
-}
-
-QString ImageIO::guessType(QString fn)
-{
-    int i=fn.lastIndexOf(".");
-    if (i>=0)
-    {
-        QString postfix=fn.mid(i+1);
-        for (int i=1;i<imageFilters.count();i++)
-            if (imageFilters.at(i).contains(postfix)) return imageTypes.at(i);
-    }
-    return QString();
-}
-
diff --git a/file.h b/file.h
deleted file mode 100644 (file)
index 678485c..0000000
--- a/file.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef FILE_H
-#define FILE_H
-
-#include <QDir>
-
-namespace File
-{
-    enum ErrorCode {Success,Aborted,NoZip};
-}
-
-enum LoadMode {NewMap,ImportAdd,ImportReplace};
-enum SaveMode {PartOfMap,CompleteMap,UndoCommand};
-enum FileType {VymMap, FreemindMap,UnknownMap};
-
-/////////////////////////////////////////////////////////////////////////////
-QString convertToRel (const QString &,const QString &);
-QString convertToAbs (const QString &,const QString &);
-QString basename (const QString&);
-QString dirname  (const QString&);
-
-QString browseDirectory (QWidget *parent=NULL, const QString &caption="");
-bool reallyWriteDirectory(const QString &dir);
-
-QString makeTmpDir (bool &ok, QString prefix);
-bool isInTmpDir (QString fn);
-QString makeUniqueDir (bool &ok, QString);
-void removeDir(QDir);
-bool copyDir (QDir src,QDir dst, const bool &override=false);
-void makeSubDirs (const QString &);
-File::ErrorCode zipDir (QDir , QString);
-File::ErrorCode unzipDir (QDir , QString);
-bool loadStringFromDisk (const QString &fn, QString &s);
-bool saveStringToDisk (const QString &fn, const QString &s);
-
-FileType getMapType ( const QString &fn);
-
-//////////////////////////////////////////////////////////
-// Helper function to select image format while in SaveDialogs
-
-class ImageIO
-{
-public:
-    ImageIO ();
-    QStringList getFilters();
-    QString getType ( QString );
-    QString guessType ( QString );
-
-private:    
-    QStringList imageFilters;
-    QStringList imageTypes;
-};
-
-#endif
diff --git a/findresultitem.cpp b/findresultitem.cpp
deleted file mode 100644 (file)
index f5fb501..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-#include <QStringList>
-
-#include "findresultitem.h"
-#include "treeitem.h"
-#include "vymmodel.h"
-
-FindResultItem::FindResultItem(const QVector<QVariant> &data, FindResultItem *parent)
-{
-    parentItem = parent;
-    itemData = data;
-    orgID=-1;
-    orgIndex=-1;
-    orgModel=NULL;
-    if (data.isEmpty()) itemData.append(QVariant("empty"));
-}
-
-FindResultItem::~FindResultItem()
-{
-    qDeleteAll(childItems);
-}
-
-FindResultItem *FindResultItem::child(int number)
-{
-    return childItems.value(number);
-}
-
-int FindResultItem::childCount() const
-{
-    return childItems.count();
-}
-
-int FindResultItem::childNumber() const
-{
-    if (parentItem)
-        return parentItem->childItems.indexOf(const_cast<FindResultItem*>(this));
-
-    return 0;
-}
-
-int FindResultItem::columnCount() const
-{
-    return itemData.count();
-}
-
-QVariant FindResultItem::data(int column) const
-{
-    return itemData.value(column);
-}
-
-int FindResultItem::row() const
-{
-    if (parentItem)
-        return parentItem->childItems.indexOf(const_cast<FindResultItem*>(this));
-
-    return 0;
-}
-
-bool FindResultItem::insertChildren(int position, int count, int columns)
-{
-    if (position < 0 || position > childItems.size())
-        return false;
-
-    for (int row = 0; row < count; ++row) {
-        QVector<QVariant> data(columns);
-        FindResultItem *item = new FindResultItem(data, this);
-        childItems.insert(position, item);
-    }
-
-    return true;
-}
-
-bool FindResultItem::insertColumns(int position, int columns)
-{
-    if (position < 0 || position > itemData.size())
-        return false;
-
-    for (int column = 0; column < columns; ++column)
-        itemData.insert(position, QVariant());
-
-    foreach (FindResultItem *child, childItems)
-        child->insertColumns(position, columns);
-
-    return true;
-}
-
-FindResultItem *FindResultItem::parent()
-{
-    return parentItem;
-}
-
-bool FindResultItem::removeChildren(int position, int count)
-{
-    if (position < 0 || position + count > childItems.size())
-        return false;
-
-    for (int row = 0; row < count; ++row)
-        delete childItems.takeAt(position);
-
-    return true;
-}
-
-bool FindResultItem::removeColumns(int position, int columns)
-{
-    if (position < 0 || position + columns > itemData.size())
-        return false;
-
-    for (int column = 0; column < columns; ++column)
-        itemData.remove(position);
-
-    foreach (FindResultItem *child, childItems)
-        child->removeColumns(position, columns);
-
-    return true;
-}
-
-bool FindResultItem::setData(int column, const QVariant &value)
-{
-    if (column < 0 || column >= itemData.size())
-        return false;
-
-    itemData[column] = value;
-    return true;
-}
-
-void FindResultItem::setOriginal (TreeItem *ti)
-{
-    orgModel=ti->getModel();
-    orgID=ti->getID();
-}
-
-int FindResultItem::getOriginalID()
-{
-    return orgID;
-}
-
-void FindResultItem::setOriginalIndex(int i)
-{
-    orgIndex=i;
-}
-
-int FindResultItem::getOriginalIndex()
-{
-    return orgIndex;
-}
-
-VymModel* FindResultItem::getOrgModel()
-{
-    return orgModel;
-}
-
diff --git a/findresultitem.h b/findresultitem.h
deleted file mode 100644 (file)
index 88ad2c5..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef FINDRESULTITEM_H
-#define FINDRESULTITEM_H
-
-#include <QList>
-#include <QVariant>
-#include <QVector>
-
-class TreeItem;
-class VymModel;
-
-class FindResultItem
-{
-public:
-    FindResultItem(const QVector<QVariant> &data, FindResultItem *parent = 0);
-    ~FindResultItem();
-
-    FindResultItem *child(int number);
-    int childCount() const;
-    int columnCount() const;
-    QVariant data(int column) const;
-    int row() const;
-    bool insertChildren(int position, int count, int columns);
-    bool insertColumns(int position, int columns);
-    FindResultItem *parent();
-    bool removeChildren(int position, int count);
-    bool removeColumns(int position, int columns);
-    int childNumber() const;
-    bool setData(int column, const QVariant &value);
-    void setOriginal (TreeItem *ti);
-    int getOriginalID();
-    void setOriginalIndex(int i);
-    int getOriginalIndex ();
-    VymModel* getOrgModel();
-
-private:
-    QList<FindResultItem*> childItems;
-    QVector<QVariant> itemData;
-    FindResultItem *parentItem;
-
-    int orgID;
-    int orgIndex;
-    VymModel *orgModel;
-};
-
-#endif
diff --git a/findresultmodel.cpp b/findresultmodel.cpp
deleted file mode 100644 (file)
index 954c914..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-#include <QtGui>
-
-#include "findresultitem.h"
-#include "findresultmodel.h"
-#include "settings.h"
-#include "treeitem.h"
-
-extern Settings settings;
-
-FindResultModel::FindResultModel( QObject *parent)
-    : QAbstractItemModel(parent)
-{
-    QVector<QVariant> rootData;
-    rootData << "Heading";
-    rootItem = new FindResultItem(rootData);
-    showParentsLevel = settings.value("/satellite/findResults/showParentsLevel", 1).toInt();
-}
-
-FindResultModel::~FindResultModel()
-{
-    delete rootItem;
-}
-
-void FindResultModel::clear()
-{
-    if (rootItem->childCount()>0)
-       removeRows (0,rowCount (QModelIndex ()));
-}
-
-int FindResultModel::columnCount(const QModelIndex & /* parent */) const
-{
-    return rootItem->columnCount();
-}
-
-QVariant FindResultModel::data(const QModelIndex &index, int role) const
-{
-    if (!index.isValid())
-        return QVariant();
-
-    if (role != Qt::DisplayRole && role != Qt::EditRole)
-        return QVariant();
-
-    FindResultItem *item = getItem(index);
-
-    return item->data(index.column());
-}
-
-Qt::ItemFlags FindResultModel::flags(const QModelIndex &index) const
-{
-    if (!index.isValid())
-        return 0;
-
-    return Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
-}
-
-QVariant FindResultModel::headerData(int section, Qt::Orientation orientation,
-                               int role) const
-{
-    if (orientation == Qt::Horizontal && role == Qt::DisplayRole)
-        return rootItem->data(section);
-
-    return QVariant();
-}
-
-QModelIndex FindResultModel::index (FindResultItem *fri)
-{
-    if (!fri->parent())
-       return QModelIndex();
-    else    
-       return createIndex (fri->row(),0,fri);
-}
-
-
-QModelIndex FindResultModel::index(int row, int column, const QModelIndex &parent) const
-{
-    if (parent.isValid() && parent.column() != 0)
-        return QModelIndex();
-
-    FindResultItem *parentItem = getItem(parent);
-
-    FindResultItem *childItem = parentItem->child(row);
-    if (childItem)
-        return createIndex(row, column, childItem);
-    else
-        return QModelIndex();
-}
-
-bool FindResultModel::insertColumns(int position, int columns, const QModelIndex &parent)
-{
-    bool success;
-
-    beginInsertColumns(parent, position, position + columns - 1);
-    success = rootItem->insertColumns(position, columns);
-    endInsertColumns();
-
-    return success;
-}
-
-bool FindResultModel::insertRows(int position, int rows, const QModelIndex &parent)
-{
-    FindResultItem *parentItem = getItem(parent);
-    bool success;
-
-    beginInsertRows(parent, position, position + rows - 1);
-    success = parentItem->insertChildren(position, rows, rootItem->columnCount());
-    endInsertRows();
-
-    return success;
-}
-
-QModelIndex FindResultModel::parent(const QModelIndex &index) const
-{
-    if (!index.isValid())
-        return QModelIndex();
-
-    FindResultItem *childItem = getItem(index);
-    FindResultItem *parentItem = childItem->parent();
-
-    if (parentItem == rootItem)
-        return QModelIndex();
-
-    return createIndex(parentItem->childNumber(), 0, parentItem);
-}
-
-bool FindResultModel::removeColumns(int position, int columns, const QModelIndex &parent)
-{
-    bool success;
-
-    beginRemoveColumns(parent, position, position + columns - 1);
-    success = rootItem->removeColumns(position, columns);
-    endRemoveColumns();
-
-    if (rootItem->columnCount() == 0)
-        removeRows(0, rowCount());
-
-    return success;
-}
-
-bool FindResultModel::removeRows(int position, int rows, const QModelIndex &parent)
-{
-    FindResultItem *parentItem = getItem(parent);
-    bool success = true;
-
-    beginRemoveRows(parent, position, position + rows - 1);
-    success = parentItem->removeChildren(position, rows);
-    endRemoveRows();
-
-    return success;
-}
-
-int FindResultModel::rowCount(const QModelIndex &parent) const
-{
-    FindResultItem *parentItem = getItem(parent);
-
-    return parentItem->childCount();
-}
-
-bool FindResultModel::setData(const QModelIndex &index, const QVariant &value,
-                        int role)
-{
-    if (role != Qt::EditRole)
-        return false;
-
-    FindResultItem *item = getItem(index);
-    bool result = item->setData(index.column(), value);
-
-    if (result)
-        emit dataChanged(index, index);
-
-    return result;
-}
-
-bool FindResultModel::setHeaderData(int section, Qt::Orientation orientation,
-                              const QVariant &value, int role)
-{
-    if (role != Qt::EditRole || orientation != Qt::Horizontal)
-        return false;
-
-    bool result = rootItem->setData(section, value);
-
-    if (result)
-        emit headerDataChanged(orientation, section, section);
-
-    return result;
-}
-
-FindResultItem* FindResultModel::getItem(const QModelIndex &index) const
-{
-    if (index.isValid()) {
-        FindResultItem *item = static_cast<FindResultItem*>(index.internalPointer());
-        if (item) return item;
-    }
-    return rootItem;
-}
-
-FindResultItem*  FindResultModel::addItem (TreeItem *ti)
-{
-    FindResultItem *ni=NULL;
-    if (ti)
-    {
-       QModelIndex parix (index (rootItem));
-       
-       emit (layoutAboutToBeChanged() );
-
-       int n=rowCount (parix);
-       beginInsertRows (parix,n,n);
-       if (rootItem->insertChildren (n,1,0) )
-        {
-            QString h=ti->getHeadingPlainWithParents( showParentsLevel );
-            QModelIndex ix=index(n,0,QModelIndex());
-            setData (ix,QVariant(h),Qt::EditRole);
-            ni=getItem(ix);
-            ni->setOriginal (ti);
-        }
-       endInsertRows ();
-
-       emit (layoutChanged() );
-    }
-    return ni;
-}
-
-FindResultItem*  FindResultModel::addSubItem (FindResultItem *parent,const QString &s, TreeItem *pi, int i)
-{
-    FindResultItem *ni=NULL;
-    if (pi && parent)
-    {
-       QModelIndex parix ( index (parent));
-       
-       emit (layoutAboutToBeChanged() );
-
-       int n=rowCount (parix);
-       beginInsertRows (parix,n,n);
-
-       QModelIndex ix;
-       if (parent->insertChildren (n,1,0))
-       {
-           ix=index(n,0,parix);
-           setData (ix,QVariant(s),Qt::EditRole);
-           ni=getItem(ix);
-           ni->setOriginal (pi);
-           ni->setOriginalIndex (i);
-       }
-       endInsertRows ();
-       emit (layoutChanged() );
-    }
-    return ni;
-}
-
-void FindResultModel::setSearchString( const QString &s)
-{
-    searchString=s;
-}
-
-QString FindResultModel::getSearchString()
-{
-    return searchString;
-}
-
-void FindResultModel::setSearchFlags( QTextDocument::FindFlags f)
-{
-    searchFlags=f;
-}
-
-QTextDocument::FindFlags FindResultModel::getSearchFlags()
-{
-    return searchFlags;
-}
-
-void FindResultModel::setShowParentsLevel(uint i)
-{
-    showParentsLevel = i;
-    settings.setValue("/findResults/showParentsLevel", showParentsLevel);
-}
-
-uint FindResultModel::getShowParentsLevel()
-{
-    return showParentsLevel;
-}
-
diff --git a/findresultmodel.h b/findresultmodel.h
deleted file mode 100644 (file)
index 634d1a0..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef FINDRESULTMODEL_H
-#define FINDRESULTMODEL_H
-
-#include <QAbstractItemModel>
-#include <QModelIndex>
-#include <QTextDocument>
-#include <QVariant>
-
-class FindResultItem;
-class TreeItem;
-
-class FindResultModel : public QAbstractItemModel
-{
-    Q_OBJECT
-
-public:
-    FindResultModel( QObject *parent = 0);
-    ~FindResultModel();
-    void clear();
-
-    QVariant data(const QModelIndex &index, int role) const;
-    QVariant headerData(int section, Qt::Orientation orientation,
-                        int role = Qt::DisplayRole) const;
-
-    QModelIndex index (FindResultItem *fri);
-    QModelIndex index(int row, int column,
-                      const QModelIndex &parent = QModelIndex()) const;
-    QModelIndex parent(const QModelIndex &index) const;
-
-    int rowCount(const QModelIndex &parent = QModelIndex()) const;
-    int columnCount(const QModelIndex &parent = QModelIndex()) const;
-
-    Qt::ItemFlags flags(const QModelIndex &index) const;
-    bool setData(const QModelIndex &index, const QVariant &value,
-                 int role = Qt::EditRole);
-    bool setHeaderData(int section, Qt::Orientation orientation,
-                       const QVariant &value, int role = Qt::EditRole);
-
-    bool insertColumns(int position, int columns,
-                       const QModelIndex &parent = QModelIndex());
-    bool removeColumns(int position, int columns,
-                       const QModelIndex &parent = QModelIndex());
-    bool insertRows(int position, int rows,
-                    const QModelIndex &parent = QModelIndex());
-    bool removeRows(int position, int rows,
-                    const QModelIndex &parent = QModelIndex());
-
-    FindResultItem* getItem(const QModelIndex &index) const;
-
-    FindResultItem* addItem (TreeItem *ti);
-    FindResultItem* addSubItem (FindResultItem *parent,const QString &s, TreeItem *pi, int i);
-
-    void setSearchString( const QString &s);
-    QString getSearchString();
-    void setSearchFlags( QTextDocument::FindFlags f);
-    QTextDocument::FindFlags getSearchFlags();
-    void setShowParentsLevel(uint i);
-    uint getShowParentsLevel();
-
-private:
-    uint showParentsLevel;
-
-    FindResultItem *rootItem;
-
-    QString searchString;
-    QTextDocument::FindFlags searchFlags;
-};
-
-#endif
diff --git a/findresultwidget.cpp b/findresultwidget.cpp
deleted file mode 100644 (file)
index cc2143d..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-#include "findresultwidget.h"
-
-#include <QVBoxLayout>
-#include <QTreeView>
-
-#include "findresultitem.h"
-#include "findresultmodel.h"
-#include "vymmodel.h"
-
-FindResultWidget::FindResultWidget(QWidget *)
-{
-    // Create results model
-    resultsModel=new FindResultModel;
-
-    // Create TreeView
-    view = new QTreeView (this);
-    view->setModel (resultsModel);
-
-    // Create FindWidget
-    findWidget = new FindWidget (this);
-    connect (
-       findWidget, SIGNAL (nextButton (QString) ), 
-       this, SLOT (nextButtonPressed (QString) ) );
-
-
-    QVBoxLayout* mainLayout = new QVBoxLayout;
-    
-    mainLayout->addWidget(view);
-    mainLayout->addWidget(findWidget);
-
-    setLayout (mainLayout);
-
-    // Selection
-    connect (view->selectionModel(),SIGNAL (selectionChanged (QItemSelection,QItemSelection)),
-       this, SLOT (updateSelection (QItemSelection,QItemSelection)));
-
-    connect (resultsModel, SIGNAL(layoutChanged() ), view, SLOT (expandAll() ));    
-}
-
-void FindResultWidget::addItem (TreeItem *ti)
-{
-    if (ti)
-    {
-       QModelIndex index = view->selectionModel()->currentIndex();
-       //QAbstractItemModel *resultsModel = view->model();
-       
-       if (!resultsModel->insertRow(index.row()+1, index.parent()))
-           return;
-
-       for (int column = 0; column < resultsModel->columnCount(index.parent()); ++column) {
-           QModelIndex child = resultsModel->index(index.row()+1, column, index.parent());
-        resultsModel->setData(child, QVariant(ti->getHeadingPlain()), Qt::EditRole);
-           resultsModel->getItem(child)->setOriginal (ti);
-       }
-    }
-}
-
-void FindResultWidget::addItem (const QString &s)
-{
-    if (!s.isEmpty())
-    {
-       QModelIndex index = view->selectionModel()->currentIndex();
-       
-       if (!resultsModel->insertRow(index.row()+1, index.parent()))
-           return;
-
-       for (int column = 0; column < resultsModel->columnCount(index.parent()); ++column) {
-           QModelIndex child = resultsModel->index(index.row()+1, column, index.parent());
-           resultsModel->setData(child, QVariant(s), Qt::EditRole);
-       }
-    }
-}
-
-QString FindResultWidget::getFindText()
-{
-    return findWidget->getFindText();
-}
-
-FindResultModel* FindResultWidget::getResultModel()
-{
-    return resultsModel;
-}
-
-void FindResultWidget::popup()
-{
-    show();
-    parentWidget()->show();
-    findWidget->setFocus();
-}
-
-void FindResultWidget::cancelPressed()
-{
-    emit (hideFindResultWidget() );
-}
-
-void FindResultWidget::nextButtonPressed(QString s)
-{
-    emit (findPressed(s) );
-}
-
-void FindResultWidget::updateSelection(QItemSelection newsel,QItemSelection)
-{
-    QModelIndex ix;
-    foreach (ix,newsel.indexes() )
-    {
-       FindResultItem *fri= static_cast<FindResultItem*>(ix.internalPointer());
-       if (fri->getOrgModel() && fri->getOriginalID()>0)
-       {
-           TreeItem *ti=fri->getOrgModel()->findID(fri->getOriginalID() );
-           if (ti)
-           {
-               fri->getOrgModel()->select (ti);
-               int i=fri->getOriginalIndex();
-               if (i>=0) emit (noteSelected (resultsModel->getSearchString(),i));
-           }   
-       }
-    }
-}
-
-void FindResultWidget::setStatus (FindWidget::Status st)
-{
-    findWidget->setStatus (st);
-}
-
-
diff --git a/findresultwidget.h b/findresultwidget.h
deleted file mode 100644 (file)
index e63caf3..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef FINDRESULTWIDGET_H 
-#define FINDRESULTWIDGET_H
-
-#include <QItemSelection>
-#include <QWidget>
-
-#include "findwidget.h"
-
-class FindResultModel;
-class TreeItem;
-class VymModel;
-class QTreeView;
-class QPushButton;
-class FindWidget;
-
-class FindResultWidget: public QWidget
-{
-    Q_OBJECT
-
-public:
-    FindResultWidget (QWidget *parent=NULL);
-    FindResultModel* getResultModel();
-    void addItem (TreeItem *ti);
-    void addItem (const QString &s);
-    QString getFindText();
-
-public slots:  
-    void popup();
-    void cancelPressed();
-    void nextButtonPressed (QString);
-    void updateSelection(QItemSelection ,QItemSelection);
-    void setStatus (FindWidget::Status st);
-
-signals:
-    void hideFindResultWidget();
-    void noteSelected (QString , int );
-    void findPressed (QString);
-
-public:
-    FindWidget *findWidget;
-private:
-    FindResultModel *resultsModel;
-    QTreeView *view;
-};
-
-#endif
-
diff --git a/findwidget.cpp b/findwidget.cpp
deleted file mode 100644 (file)
index a75184c..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#include <QAction>
-#include <QDebug>
-#include <QLineEdit>
-#include <QVBoxLayout>
-#include <QLabel>
-
-#include <QComboBox>
-#include <QPushButton>
-#include <QGroupBox>
-#include <QLabel>
-
-
-#include "findwidget.h"
-#include "mainwindow.h"
-
-
-extern Main *mainWindow;
-
-FindWidget::FindWidget(QWidget *)
-{
-    QVBoxLayout* mainLayout = new QVBoxLayout; 
-    QHBoxLayout *row2Layout = new QHBoxLayout;
-    
-    QLabel *label=new QLabel;
-    label->setText (tr("Find:","FindWidget"));
-    
-    // Create LineEdit (here QComboBox)
-    findcombo = new QComboBox;
-    findcombo->setMinimumWidth(250);
-    findcombo->setEditable(true);
-
-    QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
-    findcombo->setSizePolicy(sizePolicy);
-    connect ( findcombo, SIGNAL( highlighted(int) ), 
-       this, SLOT( nextPressed() ) );
-    connect ( findcombo, SIGNAL( editTextChanged(const QString &) ), 
-       this, SLOT( findTextChanged(const QString&) ) );
-
-    nextbutton = new QPushButton;
-    nextbutton->setIcon (QPixmap(":/find.png"));
-    //nextbutton->setText (tr("Find","Find widget"));
-    connect ( nextbutton, SIGNAL( clicked() ), this, SLOT( nextPressed() ) );
-
-    // QAction needed to only activate shortcut while FindWidget has focus
-    QAction *a=new QAction (nextbutton->text(),this);
-    a->setShortcut (Qt::Key_Return);
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    connect ( a, SIGNAL( triggered() ), this, SLOT( nextPressed() ) );
-    addAction (a);
-
-    row2Layout->addWidget (label);
-    row2Layout->addWidget(findcombo);
-    row2Layout->addWidget(nextbutton);
-
-    mainLayout->addLayout (row2Layout);
-
-    setLayout (mainLayout);
-    status=Undefined;
-}
-
-QString FindWidget::getFindText()
-{
-    return findcombo->currentText();
-}
-
-void FindWidget::cancelPressed()
-{
-    hide();
-    emit (hideFindWidget() );//Restore focus
-}
-
-void FindWidget::nextPressed()
-{
-    emit (nextButton(findcombo->currentText() ) );
-}
-
-void FindWidget::findTextChanged(const QString&)
-{
-    setStatus (Undefined);
-}
-
-void FindWidget::setFocus()
-{
-    findcombo->lineEdit()->selectAll();
-    findcombo->lineEdit()->setFocus();
-}
-
-void FindWidget::setStatus (Status st)
-{
-    if (st==status) return;
-
-    status=st;
-    QPalette p=palette();
-    QColor c;
-    switch (st)
-    {
-       case Success: c=QColor (120,255,120); break;
-       case Failed:  c=QColor (255,120,120); break;
-       default:  c=QColor (255,255,255); 
-    }
-    p.setColor(QPalette::Active, static_cast<QPalette::ColorRole>(9), c);
-    p.setColor(QPalette::Inactive, static_cast<QPalette::ColorRole>(9), c);
-    findcombo->setPalette(p);
-}
-
diff --git a/findwidget.h b/findwidget.h
deleted file mode 100644 (file)
index 94a19bc..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef FINDWIDGET_H 
-#define FINDWIDGET_H
-
-#include <QWidget>
-
-class QAction;
-class QGroupBox;
-class QComboBox;
-class QPushButton;
-
-class FindWidget: public QWidget
-{
-    Q_OBJECT
-
-public:
-    enum Status {Undefined,Success,Failed};
-
-    FindWidget (QWidget *parent=NULL);
-    QString getFindText ();
-
-public slots:  
-    void cancelPressed();
-    void nextPressed();
-    void findTextChanged(const QString&);
-    void setFocus();
-    void setStatus (Status st);
-
-private:
-    Status status;
-
-signals:
-    void hideFindWidget();
-    void nextButton(QString);
-
-private:
-    QComboBox *findcombo;
-    QGroupBox *findbox;
-    QPushButton *nextbutton;
-};
-
-#endif
-
diff --git a/flag.cpp b/flag.cpp
deleted file mode 100644 (file)
index 1e7cb82..0000000
--- a/flag.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-#include "flag.h"
-
-#include <QDebug>
-
-/////////////////////////////////////////////////////////////////
-// Flag
-/////////////////////////////////////////////////////////////////
-Flag::Flag()
-{
-    //qDebug() << "Const Flag ()";
-    init ();
-}
-
-Flag::Flag(const QString &fname)
-{
-    init ();
-    load (fname);
-}
-
-Flag::Flag (Flag* io)
-{
-    //qDebug() << "Const Flag (Flag);
-    copy (io);
-}
-
-Flag::~Flag()
-{
-   //qDebug() << "Destr Flag  this="<<this <<"  " << qPrintable(name);
-}
-
-
-void Flag::init ()
-{
-    action=NULL;
-    name="undefined";
-    visible=true;
-    unsetGroup();
-
-    state=false;
-    used=false;
-}
-
-void Flag::copy (Flag* other)
-{
-    action=other->action;
-    name=other->name;
-    group=other->group;
-    tooltip=other->tooltip;
-    state=other->state;
-    used=other->used;
-    pixmap=other->pixmap;
-}
-
-
-void Flag::load (const QString &fn)
-{
-    if (!pixmap.load(fn))
-       qDebug()<<"Flag::load ("<<fn<<") failed.";
-}
-
-void Flag::load (const QPixmap &pm)
-{
-    pixmap=pm;
-}
-
-void Flag::setName(const QString &n)
-{
-    name=n;
-}
-
-const QString Flag::getName()
-{
-    return name;
-}
-
-void Flag::setVisible (bool b)
-{
-    visible=b;
-}
-
-bool Flag::isVisible ()
-{
-    return visible;
-}
-
-void Flag::setGroup (const QString &n)
-{
-    group=n;
-}
-
-const QString Flag::getGroup()
-{
-    return group;
-}
-
-void Flag::unsetGroup()
-{
-    group.clear();
-}
-
-void Flag::setToolTip(const QString &n)
-{
-    tooltip=n;
-}
-
-const QString Flag::getToolTip()
-{
-    return tooltip;
-}
-
-QPixmap Flag::getPixmap()
-{
-    return pixmap;
-}
-
-void Flag::setAction (QAction *a)
-{
-    action=a;
-}
-
-QAction* Flag::getAction ()
-{
-    return action;
-}
-
-void Flag::setUsed (bool b)
-{
-    used=b;
-}
-
-bool Flag::isUsed()
-{
-    return used;
-}
-
-void Flag::saveToDir (const QString &tmpdir, const QString &prefix)
-{
-    QString fn=tmpdir + prefix + name + ".png";
-    pixmap.save (fn,"PNG");
-}
-
-
diff --git a/flag.h b/flag.h
deleted file mode 100644 (file)
index d63d752..0000000
--- a/flag.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef FLAG_H
-#define FLAG_H
-
-
-#include <QAction>
-#include <QPixmap>
-
-#include "xmlobj.h"
-
-/*! \brief One flag belonging to a FlagRow.
-
-    Each TreeItem in a VymModel has a set of standard flags and system
-    flags.
-*/
-
-
-/////////////////////////////////////////////////////////////////////////////
-class Flag:public XMLObj {
-public:
-    Flag ();
-    Flag (const QString &fname);
-    Flag (Flag*);
-    ~Flag ();
-    virtual void init ();
-    virtual void copy (Flag*);
-    void load (const QString&);
-    void load (const QPixmap&);
-    void setName (const QString&);
-    const QString getName ();
-    void setVisible (bool b);
-    bool isVisible ();
-    void setGroup (const QString&);
-    const QString getGroup();
-    void unsetGroup ();
-    void setToolTip(const QString&);
-    const QString getToolTip();
-    QPixmap getPixmap();
-    void setAction (QAction *a);
-    QAction* getAction ();
-    void setUsed (bool);    //FIXME-3 needed?
-    bool isUsed();
-    void saveToDir (const QString&, const QString&);
-    
-protected:  
-    QString name;
-    bool visible;
-    QString group;
-    QString tooltip;
-    QAction *action;
-    bool state;
-    bool used;
-private:
-    QPixmap pixmap;
-};
-
-#endif
diff --git a/flagobj.cpp b/flagobj.cpp
deleted file mode 100644 (file)
index fbf2510..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-#include <QDebug>
-
-#include "flagobj.h"
-
-/////////////////////////////////////////////////////////////////
-// FlagObj
-/////////////////////////////////////////////////////////////////
-FlagObj::FlagObj(QGraphicsItem *parent):MapObj(parent) 
-{
-//  qDebug() << "Const FlagObj  this="<<this<<"  scene="<<s;
-    init ();
-}
-
-FlagObj::~FlagObj()
-{
-//   qDebug() << "Destr FlagObj  this="<<this <<"  " <<name;
-    if (icon) delete (icon);
-}
-
-
-void FlagObj::init ()
-{
-    name="undefined";
-
-    icon=new ImageObj (parentItem());
-    icon->setPos (absPos.x(), absPos.y() );
-    state=false;
-    avis=true;
-}
-
-void FlagObj::copy (FlagObj* other)
-{
-    MapObj::copy(other);
-    name=other->name;
-    state=other->state;
-    avis=other->avis;
-    icon->copy(other->icon);
-    setVisibility (other->isVisibleObj() );
-}
-
-void FlagObj::move(double x, double y)
-{
-    MapObj::move(x,y);
-    icon->setPos(x,y);
-    positionBBox();
-}
-
-void FlagObj::moveBy(double x, double y)
-{
-    move (x+absPos.x(),y+absPos.y() );
-}
-
-void FlagObj::setZValue (double z)
-{
-    icon->setZValue (z);
-}
-
-void FlagObj::setVisibility (bool v)
-{
-    MapObj::setVisibility(v);
-    if (v && state)
-       icon->setVisibility(true);
-    else
-       icon->setVisibility(false);
-}
-
-void FlagObj::load (const QString &fn)
-{
-    icon->load(fn);
-    calcBBoxSize();
-    positionBBox();
-}
-
-void FlagObj::load (const QPixmap &pm)
-{
-    icon->load(pm);
-    calcBBoxSize();
-    positionBBox();
-}
-
-void FlagObj::setName(const QString &n)
-{
-    name=n;
-}
-
-const QString FlagObj::getName()
-{
-    return name;
-}
-
-void FlagObj::setAlwaysVisible(bool b)
-{
-    avis=b;
-}
-
-bool FlagObj::isAlwaysVisible()
-{
-    return avis;
-}
-
-bool FlagObj::isActive()
-{
-    return state;
-}
-
-void FlagObj::toggle()
-{
-    if (state)
-       deactivate();
-    else
-       activate();
-}
-
-void FlagObj::activate()
-{
-    state=true;
-    // only show icon, if flag itself is visible 
-    if (visible) 
-    {
-       icon->setVisibility (true);
-       calcBBoxSize();
-    }  
-}
-
-void FlagObj::deactivate()
-{
-    state=false;
-    // if flag itself is invisible we don't need to call 
-    if (visible) 
-    {
-       icon->setVisibility (false);
-       calcBBoxSize();
-    }  
-}
-
-void FlagObj::saveToDir (const QString &tmpdir, const QString &prefix)
-{
-    QString fn=tmpdir + prefix + name + ".png";
-    icon->save (fn,"PNG");
-}
-
-void FlagObj::positionBBox()
-{
-    bbox.moveTopLeft (absPos );
-    clickPoly=QPolygonF (bbox);
-}
-
-void FlagObj::calcBBoxSize()
-{
-    if (visible && state)
-       bbox.setSize (  QSizeF(
-           icon->boundingRect().width(), 
-           icon->boundingRect().height() ) );
-    else
-       bbox.setSize (QSizeF(0,0));
-    clickPoly= QPolygonF (bbox); 
-}
-
diff --git a/flagobj.h b/flagobj.h
deleted file mode 100644 (file)
index 2259d64..0000000
--- a/flagobj.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef FLAGOBJ_H
-#define FLAGOBJ_H
-
-
-#include <QAction>
-#include <QPixmap>
-
-#include "flag.h"
-#include "mapobj.h"
-#include "imageobj.h"
-
-/*! \brief One flag which is visible in the map. 
-
-    Flags are aligned in a row. 
-*/
-
-
-/////////////////////////////////////////////////////////////////////////////
-class FlagObj:public MapObj {
-public:
-    FlagObj (QGraphicsItem *);
-    ~FlagObj ();
-    virtual void init ();
-    virtual void copy (FlagObj*);
-    virtual void move (double x,double y);      // move to absolute Position
-    virtual void moveBy (double x,double y);    // move to relative Position
-    virtual void setZValue (double z);
-    virtual void setVisibility(bool);
-    void load (const QString&);
-    void load (const QPixmap&);
-    void setName (const QString&);
-    const QString getName ();
-    QPixmap getPixmap();
-    void setAction(QAction*);
-    void setAlwaysVisible (bool b);
-    bool isAlwaysVisible ();
-    bool isActive();
-    void toggle();
-    void activate();
-    void deactivate();
-    void saveToDir (const QString&, const QString&);
-    
-protected:  
-    QString name;
-    bool state;
-    bool avis;
-    virtual void positionBBox();
-    virtual void calcBBoxSize();
-private:
-    ImageObj* icon;
-};
-
-#endif
diff --git a/flagrow.cpp b/flagrow.cpp
deleted file mode 100644 (file)
index f2b8508..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-#include <QDebug>
-
-#include "flagrow.h"
-
-extern bool debug;
-
-/////////////////////////////////////////////////////////////////
-// FlagRow
-/////////////////////////////////////////////////////////////////
-FlagRow::FlagRow()
-{
-    toolBar=NULL;
-    masterRow=NULL;
-//    qDebug()<< "Const FlagRow ()";
-}
-
-FlagRow::~FlagRow()
-{
-    //qDebug()<< "Destr FlagRow";
-}
-
-void FlagRow::addFlag (Flag *flag)
-{
-    Flag *f=new Flag;
-;
-    f->copy (flag);
-    flags.append (f);
-    activeNames.append (flag->getName());
-}
-
-Flag* FlagRow::getFlag (const QString &name)
-{
-    int i=0;
-    while (i<=flags.size()-1)
-    {
-       if (flags.at(i)->getName()==name)
-           return flags.at(i);
-       i++;    
-    }
-    return NULL;
-}
-
-QStringList FlagRow::activeFlagNames()
-{
-    return activeNames;
-}
-
-
-bool FlagRow::isActive (const QString &name)   
-{
-    QString n;
-    foreach (n,activeNames)
-       if (n==name) return true;
-    return false;   
-}
-
-bool FlagRow::toggle (const QString &name, FlagRow *masterRow)
-{
-    if (isActive(name) )
-       return deactivate (name);
-    else
-    {
-       if (!activate (name) ) return false;    
-
-       // Deactivate group
-       if (!masterRow) return false;
-
-       Flag *flag=masterRow->getFlag (name);
-       if (!flag) return false;
-       QString mygroup=flag->getGroup();
-
-       for (int i=0;i<activeNames.size();++i)
-       {
-           flag=masterRow->getFlag (activeNames.at(i) );
-           if (name!=activeNames.at(i) && !mygroup.isEmpty() && mygroup==flag->getGroup())
-               deactivate (activeNames.at(i));
-       }
-       return true;
-    }
-}
-
-bool FlagRow::activate (const QString &name)
-{
-    if (isActive (name)) 
-    {
-       if (debug) qWarning ()<<QString("FlagRow::activate - %1 is already active").arg(name);
-       return false;
-    }
-
-    if (!masterRow)
-    {
-       qWarning()<<"FlagRow::activate - no masterRow to activate "<<name;
-       return false;
-    }
-
-    // Check, if flag exists after all...
-    Flag *flag=masterRow->getFlag (name);
-    if (!flag)
-    {
-       qWarning()<<"FlagRow::activate - flag "<<name<<" does not exist here!";
-       return false;
-    }
-
-    activeNames.append (name);
-    return true;
-}
-
-
-bool FlagRow::deactivate (const QString &name)
-{
-    int n=activeNames.indexOf (name);
-    if (n>=0)
-    {
-       activeNames.removeAt(n);
-       return true;
-    }
-    if (debug) 
-       qWarning ()<<QString("FlagRow::deactivate - %1 is not active").arg(name);
-    return false;
-}
-
-bool FlagRow::deactivateGroup (const QString &gname) 
-{
-    if (!masterRow) return false;
-    if (gname.isEmpty()) return false;
-
-    foreach (QString s, activeNames )
-    {
-       Flag *flag=masterRow->getFlag (s);
-       if (flag && gname == flag->getGroup())
-           deactivate (s);
-    }
-    return true;
-}
-
-void FlagRow::deactivateAll ()
-{
-    if (!toolBar) activeNames.clear();
-}
-
-void FlagRow::setEnabled (bool b)
-{
-    toolBar->setEnabled (b);
-}
-
-void FlagRow::resetUsedCounter()
-{
-    for (int i=0; i<flags.size(); ++i)
-       flags.at(i)->setUsed (false);
-}
-
-QString FlagRow::saveToDir (const QString &tmpdir,const QString &prefix, bool writeflags) 
-{
-    // Build xml string
-    QString s;
-    
-    if (!toolBar)
-    {
-       if (!activeNames.isEmpty())
-       for (int i=0; i<activeNames.size(); ++i)
-       {
-           // save flag to xml, if flag is set 
-           s+=valueElement("standardflag",activeNames.at(i));
-
-           // and tell parentRow, that this flag is used   
-           masterRow->getFlag(activeNames.at(i))->setUsed(true);
-       }   
-    } else
-       // Save icons to dir, if verbose is set (xml export)
-       // and I am a master
-       // and this flag is really used somewhere
-       if (writeflags)
-           for (int i=0; i<flags.size(); ++i)
-               if (flags.at(i)->isUsed()) flags.at(i)->saveToDir (tmpdir,prefix);
-    return s;      
-}
-
-void FlagRow::setName (const QString &n)
-{
-    rowName=n;
-}
-
-void FlagRow::setToolBar (QToolBar *tb)
-{
-    toolBar=tb;
-}
-
-void FlagRow::setMasterRow (FlagRow *row)
-{
-    masterRow=row; 
-}
-
-void FlagRow::updateToolBar (const QStringList &activeNames)
-{
-    if (toolBar )
-    {
-       for (int i=0;i<flags.size();++i)
-           flags.at(i)->getAction()->setChecked (false);
-       for (int i=0;i<flags.size();++i)
-       {
-           int n=activeNames.indexOf (flags.at(i)->getName());
-           if (n>=0)
-               flags.at(i)->getAction()->setChecked (true);    
-       }
-    }
-}
-
-
diff --git a/flagrow.h b/flagrow.h
deleted file mode 100644 (file)
index f94c171..0000000
--- a/flagrow.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef FLAGROW_H
-#define FLAGROW_H
-
-#include <QStringList>
-#include <QToolBar>
-
-#include "flag.h"
-#include "xmlobj.h"
-
-/*! \brief A set of flags (Flag). 
-
-   A toolbar can be created from the flags in this row.
-   The data needed for represention in a vym map 
-   is stored in FlagRowObj.
- */
-
-class FlagRow:public XMLObj {
-public:
-    FlagRow ();
-    ~FlagRow ();
-    void addFlag (Flag *flag);
-    Flag *getFlag (const QString &name);
-    QStringList  activeFlagNames();
-    bool isActive(const QString &name);
-
-    /*! \brief Toggle a Flag 
-       
-       To activate a flag it will be copied from masterRow to current row.
-    */ 
-    bool toggle (const QString&, FlagRow *masterRow=NULL);
-    bool activate(const QString&);
-    bool deactivate(const QString&);
-    bool deactivateGroup(const QString&);
-    void deactivateAll();
-    void setEnabled (bool);
-    void resetUsedCounter();
-    QString saveToDir (const QString &,const QString &,bool);
-    void setName (const QString&);         // prefix for exporting flags to dir
-    void setToolBar   (QToolBar *tb);
-    void setMasterRow (FlagRow *row);
-    void updateToolBar(const QStringList &activeNames);
-
-private:    
-    QToolBar *toolBar;
-    FlagRow *masterRow;
-    QList <Flag*> flags; 
-    QStringList activeNames;   //! Lists all names of currently active flags
-    QString rowName;           //! Name of this collection of flags
-};
-#endif
-
diff --git a/flagrowobj.cpp b/flagrowobj.cpp
deleted file mode 100644 (file)
index a546312..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-#include <QDebug>
-#include <QToolBar>
-
-#include "flag.h"
-#include "flagrowobj.h"
-
-#include "geometry.h"
-
-/////////////////////////////////////////////////////////////////
-// FlagRowObj
-/////////////////////////////////////////////////////////////////
-FlagRowObj::FlagRowObj()
-{
-//    qDebug() << "Const FlagRowObj ()";
-    init ();
-}
-
-FlagRowObj::FlagRowObj(QGraphicsItem *parent):MapObj(parent) 
-{
-//    qDebug() << "Const FlagRowObj (p)";
-    init ();
-}
-
-FlagRowObj::~FlagRowObj()
-{
-    //qDebug() << "Destr FlagRowObj";
-    while (!flag.isEmpty())
-       delete (flag.takeFirst() );
-}
-
-void FlagRowObj::init ()
-{
-    showFlags=true;
-}
-
-void FlagRowObj::copy (FlagRowObj* other)
-{
-    MapObj::copy(other);
-    flag.clear();
-    for (int i=0; i<flag.size(); ++i)
-       addFlag (flag.at(i));
-}
-
-void FlagRowObj::move(double x, double y)
-{
-    MapObj::move(x,y);
-    qreal dx=0;
-    for (int i=0; i<flag.size(); ++i)
-    {
-       flag.at(i)->move(x+dx,y);
-       dx+=QSizeF(flag.at(i)->getSize() ).width();
-    }
-}
-
-void FlagRowObj::moveBy(double x, double y)
-{
-    move (x+absPos.x(),y+absPos.y() );
-}
-
-void FlagRowObj::setZValue (double z)
-{
-    for (int i=0; i<flag.size(); ++i)
-       flag.at(i)->setZValue (z);
-}
-
-void FlagRowObj::setVisibility (bool v)
-{
-    MapObj::setVisibility(v);
-    for (int i=0; i<flag.size(); ++i)
-       flag.at(i)->setVisibility (v);
-}
-
-FlagObj* FlagRowObj::addFlag (FlagObj *fo)
-{
-    FlagObj *newfo=new FlagObj (parentItem() );
-    newfo->copy (fo);  // create a deep copy of fo
-    newfo->move (absPos.x() + bbox.width(), absPos.y() );
-    flag.append(newfo);
-    calcBBoxSize();
-    positionBBox();
-    return newfo;
-}
-
-QStringList FlagRowObj::activeFlagNames()
-{
-    QStringList list;
-    for (int i=0; i<flag.size(); ++i)
-       list.append (flag.at(i)->getName());
-    return list;
-}
-
-void FlagRowObj::positionBBox()
-{
-    bbox.moveTopLeft(absPos );
-    clickPoly=QPolygonF (bbox);
-}
-
-void FlagRowObj::calcBBoxSize()
-{
-    QSizeF size(0,0);
-    QSizeF boxsize(0,0);
-    for (int i=0; i<flag.size(); ++i)
-    {
-       size=flag.at(i)->getSize();
-       // add widths
-       boxsize.setWidth(boxsize.width() + size.width() );
-       // maximize height
-       if (size.height() > boxsize.height() ) 
-           boxsize.setHeight(size.height() );
-    }
-    bbox.setSize (boxsize);
-    clickPoly=QPolygonF (bbox);
-}
-
-QString FlagRowObj::getFlagName (const QPointF &p)
-{
-    if (!isInBox (p,clickPoly.boundingRect() )) return "";
-    for (int i=0; i<flag.size(); ++i)
-       if (isInBox (p,flag.at(i)->getClickPoly().boundingRect() )) return flag.at(i)->getName();
-    return ""; 
-}
-
-bool FlagRowObj::isActive (const QString &foname)
-{
-    FlagObj *fo=findFlag (foname);
-    if (fo) 
-       return true;
-    else
-       return false;
-}
-
-void FlagRowObj::activate (Flag *flag) 
-{
-    if (flag) 
-    {
-       FlagObj *fo=addFlag (new FlagObj (this));
-       fo->load (flag->getPixmap() );
-       fo->setName (flag->getName() );
-       fo->activate();
-       if (showFlags)  // necessary? only called from FIO::init
-           fo->setVisibility (visible);
-       else
-           fo->setVisibility (false);
-       calcBBoxSize();
-    }
-}
-
-void FlagRowObj::deactivate (const QString &foname)
-{
-    FlagObj *fo=findFlag (foname);
-    if (fo) 
-    {
-       flag.removeAll(fo);
-       delete (fo);
-    }  
-    calcBBoxSize();
-    positionBBox();
-}
-
-void FlagRowObj::setShowFlags (bool b)
-{
-    showFlags=b;
-}
-
-FlagObj* FlagRowObj::findFlag (const QString &name)
-{
-    for (int i=0; i<flag.size(); ++i)
-       if (flag.at(i)->getName()==name) return flag.at(i);
-    return NULL;
-}
-
diff --git a/flagrowobj.h b/flagrowobj.h
deleted file mode 100644 (file)
index a3fc536..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef FLAGROWOBJ_H
-#define FLAGROWOBJ_H
-
-#include <QMainWindow>
-
-//#include "mapobj.h"
-#include "flagobj.h"
-
-class Flag;
-
-/*! \brief A collection of flags (FlagObj) in a map. 
-
-   The flags are aligned horizontally  in a row on the map. 
- */
-
-class FlagRowObj:public MapObj {
-public:
-    FlagRowObj ();
-    FlagRowObj (QGraphicsItem*);
-    ~FlagRowObj ();
-    virtual void init ();
-    virtual void copy (FlagRowObj*);
-    virtual void move   (double,double);
-    virtual void moveBy (double,double);
-    virtual void setZValue (double z);
-    virtual void setVisibility(bool);
-    virtual FlagObj* addFlag (FlagObj *fo);        // make deep copy of FlagObj
-    virtual QStringList activeFlagNames();
-    virtual void positionBBox();
-    virtual void calcBBoxSize();
-    virtual QString getFlagName (const QPointF &p); // Find flag by position
-    bool isActive(const QString&);
-    void activate (Flag *flag);
-    void deactivate(const QString&);
-    void setShowFlags (bool);
-    FlagObj* findFlag (const QString&);
-private:    
-    QList <FlagObj*> flag; 
-    bool showFlags;                        // FloatObjects want to hide their flags
-};
-#endif
diff --git a/flags/flag-2arrow-down.png b/flags/flag-2arrow-down.png
deleted file mode 100644 (file)
index 4354fa0..0000000
Binary files a/flags/flag-2arrow-down.png and /dev/null differ
diff --git a/flags/flag-2arrow-up.png b/flags/flag-2arrow-up.png
deleted file mode 100644 (file)
index b166c7a..0000000
Binary files a/flags/flag-2arrow-up.png and /dev/null differ
diff --git a/flags/flag-arrow-down.png b/flags/flag-arrow-down.png
deleted file mode 100644 (file)
index ea9c00c..0000000
Binary files a/flags/flag-arrow-down.png and /dev/null differ
diff --git a/flags/flag-arrow-up.png b/flags/flag-arrow-up.png
deleted file mode 100644 (file)
index d6c2b99..0000000
Binary files a/flags/flag-arrow-up.png and /dev/null differ
diff --git a/flags/flag-clock.png b/flags/flag-clock.png
deleted file mode 100644 (file)
index e2e1745..0000000
Binary files a/flags/flag-clock.png and /dev/null differ
diff --git a/flags/flag-cross-red.png b/flags/flag-cross-red.png
deleted file mode 100644 (file)
index 8074159..0000000
Binary files a/flags/flag-cross-red.png and /dev/null differ
diff --git a/flags/flag-exclamationmark.png b/flags/flag-exclamationmark.png
deleted file mode 100644 (file)
index c15b7b9..0000000
Binary files a/flags/flag-exclamationmark.png and /dev/null differ
diff --git a/flags/flag-flash.png b/flags/flag-flash.png
deleted file mode 100644 (file)
index e4574d3..0000000
Binary files a/flags/flag-flash.png and /dev/null differ
diff --git a/flags/flag-heart.png b/flags/flag-heart.png
deleted file mode 100644 (file)
index 084c454..0000000
Binary files a/flags/flag-heart.png and /dev/null differ
diff --git a/flags/flag-hook-green.png b/flags/flag-hook-green.png
deleted file mode 100644 (file)
index 3252a16..0000000
Binary files a/flags/flag-hook-green.png and /dev/null differ
diff --git a/flags/flag-info.png b/flags/flag-info.png
deleted file mode 100644 (file)
index bb4a944..0000000
Binary files a/flags/flag-info.png and /dev/null differ
diff --git a/flags/flag-lamp.png b/flags/flag-lamp.png
deleted file mode 100644 (file)
index 5dd5860..0000000
Binary files a/flags/flag-lamp.png and /dev/null differ
diff --git a/flags/flag-lifebelt.png b/flags/flag-lifebelt.png
deleted file mode 100644 (file)
index 71f5906..0000000
Binary files a/flags/flag-lifebelt.png and /dev/null differ
diff --git a/flags/flag-note.png b/flags/flag-note.png
deleted file mode 100644 (file)
index 294f528..0000000
Binary files a/flags/flag-note.png and /dev/null differ
diff --git a/flags/flag-phone.png b/flags/flag-phone.png
deleted file mode 100644 (file)
index e680956..0000000
Binary files a/flags/flag-phone.png and /dev/null differ
diff --git a/flags/flag-questionmark.png b/flags/flag-questionmark.png
deleted file mode 100644 (file)
index 2b87fa8..0000000
Binary files a/flags/flag-questionmark.png and /dev/null differ
diff --git a/flags/flag-smiley-good.png b/flags/flag-smiley-good.png
deleted file mode 100644 (file)
index 49d678d..0000000
Binary files a/flags/flag-smiley-good.png and /dev/null differ
diff --git a/flags/flag-smiley-omb.png b/flags/flag-smiley-omb.png
deleted file mode 100644 (file)
index 9e16d53..0000000
Binary files a/flags/flag-smiley-omb.png and /dev/null differ
diff --git a/flags/flag-smiley-sad.png b/flags/flag-smiley-sad.png
deleted file mode 100644 (file)
index 34ecdb8..0000000
Binary files a/flags/flag-smiley-sad.png and /dev/null differ
diff --git a/flags/flag-stopsign.png b/flags/flag-stopsign.png
deleted file mode 100644 (file)
index 8de8409..0000000
Binary files a/flags/flag-stopsign.png and /dev/null differ
diff --git a/flags/flag-target.png b/flags/flag-target.png
deleted file mode 100644 (file)
index 7ecbe22..0000000
Binary files a/flags/flag-target.png and /dev/null differ
diff --git a/flags/flag-task-finished.png b/flags/flag-task-finished.png
deleted file mode 100644 (file)
index e9d8ae5..0000000
Binary files a/flags/flag-task-finished.png and /dev/null differ
diff --git a/flags/flag-task-new-morning.png b/flags/flag-task-new-morning.png
deleted file mode 100644 (file)
index dbcd2e9..0000000
Binary files a/flags/flag-task-new-morning.png and /dev/null differ
diff --git a/flags/flag-task-new-sleeping.png b/flags/flag-task-new-sleeping.png
deleted file mode 100644 (file)
index 014f070..0000000
Binary files a/flags/flag-task-new-sleeping.png and /dev/null differ
diff --git a/flags/flag-task-new.png b/flags/flag-task-new.png
deleted file mode 100644 (file)
index f0af0b6..0000000
Binary files a/flags/flag-task-new.png and /dev/null differ
diff --git a/flags/flag-task-wip-morning.png b/flags/flag-task-wip-morning.png
deleted file mode 100644 (file)
index 3758453..0000000
Binary files a/flags/flag-task-wip-morning.png and /dev/null differ
diff --git a/flags/flag-task-wip-sleeping.png b/flags/flag-task-wip-sleeping.png
deleted file mode 100644 (file)
index 7d9f2e2..0000000
Binary files a/flags/flag-task-wip-sleeping.png and /dev/null differ
diff --git a/flags/flag-task-wip.png b/flags/flag-task-wip.png
deleted file mode 100644 (file)
index db81875..0000000
Binary files a/flags/flag-task-wip.png and /dev/null differ
diff --git a/flags/flag-task.png b/flags/flag-task.png
deleted file mode 100644 (file)
index e3faccb..0000000
Binary files a/flags/flag-task.png and /dev/null differ
diff --git a/flags/flag-url-16x16.png b/flags/flag-url-16x16.png
deleted file mode 100644 (file)
index 44368e2..0000000
Binary files a/flags/flag-url-16x16.png and /dev/null differ
diff --git a/flags/flag-url-bugzilla-novell-closed.png b/flags/flag-url-bugzilla-novell-closed.png
deleted file mode 100644 (file)
index 3635063..0000000
Binary files a/flags/flag-url-bugzilla-novell-closed.png and /dev/null differ
diff --git a/flags/flag-url-bugzilla-novell.png b/flags/flag-url-bugzilla-novell.png
deleted file mode 100644 (file)
index e5bc0b9..0000000
Binary files a/flags/flag-url-bugzilla-novell.png and /dev/null differ
diff --git a/flags/flag-url.png b/flags/flag-url.png
deleted file mode 100644 (file)
index 75ca5ac..0000000
Binary files a/flags/flag-url.png and /dev/null differ
diff --git a/flags/flag-urlnew.png b/flags/flag-urlnew.png
deleted file mode 100644 (file)
index 23d822f..0000000
Binary files a/flags/flag-urlnew.png and /dev/null differ
diff --git a/flags/flag-wip.png b/flags/flag-wip.png
deleted file mode 100644 (file)
index b1dc715..0000000
Binary files a/flags/flag-wip.png and /dev/null differ
diff --git a/flags/standard/Dialog-STOP.svg b/flags/standard/Dialog-STOP.svg
new file mode 100644 (file)
index 0000000..1850c62
--- /dev/null
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   id="svg47"
+   version="1.1"
+   width="48"
+   height="48">
+  <metadata
+     id="metadata51">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs32">
+    <linearGradient
+       x1="15.74"
+       x2="53.6"
+       y1="10.5"
+       gradientUnits="userSpaceOnUse"
+       y2="45.4"
+       id="h"
+       gradientTransform="matrix(1.0416705,0,0,1.0416705,-0.99918093,0.84169374)">
+      <stop
+         id="stop2"
+         offset="0"
+         stop-color="#ff8b8b" />
+      <stop
+         id="stop4"
+         offset="1"
+         stop-color="#ec1b1b" />
+    </linearGradient>
+    <linearGradient
+       x1="24"
+       x2="41"
+       y1="18.1"
+       gradientUnits="userSpaceOnUse"
+       y2="35.96"
+       id="f"
+       gradientTransform="matrix(1.0416705,0,0,1.0416705,-0.99918093,0.84169374)">
+      <stop
+         id="stop7"
+         offset="0"
+         stop-color="#c00" />
+      <stop
+         id="stop9"
+         offset="1"
+         stop-color="#b30000" />
+    </linearGradient>
+    <linearGradient
+       x1="15.16"
+       x2="32.59"
+       y1="10.54"
+       gradientUnits="userSpaceOnUse"
+       y2="38.19"
+       id="g">
+      <stop
+         id="stop12"
+         offset="0"
+         stop-opacity=".3"
+         stop-color="#ff0202" />
+      <stop
+         id="stop14"
+         offset="1"
+         stop-opacity=".8"
+         stop-color="#ff9b9b" />
+    </linearGradient>
+    <radialGradient
+       r="21.25"
+       gradientTransform="matrix(4.3281409,0,0,3.3323039,-56.051467,-23.647979)"
+       cx="16.75"
+       cy="10.67"
+       gradientUnits="userSpaceOnUse"
+       id="d">
+      <stop
+         id="stop17"
+         offset="0"
+         stop-color="#fff" />
+      <stop
+         id="stop19"
+         offset="1"
+         stop-opacity="0"
+         stop-color="#fff" />
+    </radialGradient>
+    <radialGradient
+       r="18.5"
+       gradientTransform="matrix(1 0 0 .3027 0 29.03)"
+       cx="24.24"
+       cy="41.63"
+       gradientUnits="userSpaceOnUse"
+       id="c">
+      <stop
+         id="stop22"
+         offset="0" />
+      <stop
+         id="stop24"
+         offset="1"
+         stop-opacity="0" />
+    </radialGradient>
+    <radialGradient
+       r="316.9"
+       gradientTransform="matrix(0.1518,0,0,0.08065,-28.53,-6.355)"
+       cx="341.4"
+       cy="328.2"
+       gradientUnits="userSpaceOnUse"
+       id="a">
+      <stop
+         id="stop27"
+         offset="0"
+         stop-color="#fff" />
+      <stop
+         id="stop29"
+         offset="1"
+         stop-color="#b8b8b8" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#g"
+       id="linearGradient855"
+       gradientUnits="userSpaceOnUse"
+       x1="15.16"
+       y1="10.54"
+       x2="32.59"
+       y2="38.19" />
+    <linearGradient
+       xlink:href="#g"
+       id="linearGradient857"
+       gradientUnits="userSpaceOnUse"
+       x1="15.16"
+       y1="10.54"
+       x2="32.59"
+       y2="38.19" />
+  </defs>
+  <ellipse
+     style="display:none;opacity:0.62999998;fill:url(#c)"
+     id="ellipse34"
+     cx="24.24"
+     cy="41.630001"
+     ry="5.5999999"
+     rx="18.5" />
+  <path
+     style="display:inline;fill:url(#f);stroke:#880000;stroke-width:1.04167"
+     id="path36"
+     d="M 33.053028,1.3521123 46.407244,14.997997 V 33.633482 L 33.230112,46.133528 H 15.073795 L 1.6049954,32.758479 V 14.841746 L 15.250879,1.3416956 Z" />
+  <path
+     style="display:inline;opacity:0.8;fill:none;stroke:url(#h);stroke-width:1.04167"
+     id="path38"
+     d="M 32.573859,2.4041995 45.334323,15.341748 V 33.154314 L 32.980111,45.081441 H 15.511297 L 2.6362492,32.289727 V 15.247998 L 15.667547,2.3937828 Z" />
+  <g
+     id="g41"
+     stroke="url(#g)"
+     stroke-linejoin="round"
+     style="stroke:url(#linearGradient857)"
+     transform="matrix(1.0416705,0,0,1.0416705,-0.99918093,0.84169374)">
+    <path
+       fill="url(#a)"
+       d="m 41.2,22.34 c -0.66,0.7 -1.61,1.05 -2.84,1.05 h -2.27 v 6.42 H 34 V 15.18 h 4.36 c 0.57,0 1.09,0.1 1.56,0.29 0.47,0.2 0.88,0.47 1.22,0.83 0.34,0.36 0.6,0.79 0.78,1.3 0.18,0.51 0.27,1.07 0.27,1.68 0,1.34 -0.33,2.36 -0.99,3.06 M 39.62,17.8 c -0.35,-0.38 -0.81,-0.57 -1.37,-0.57 h -2.16 v 4.15 h 2.16 c 0.61,0 1.08,-0.18 1.41,-0.55 0.33,-0.36 0.49,-0.88 0.49,-1.55 0,-0.61 -0.17,-1.11 -0.52,-1.48 m -9.43,3.56 c -0.06,-1.12 -0.26,-2.25 -0.7,-3.29 -0.25,-0.58 -0.78,-1.07 -1.44,-1.1 -0.74,-0.03 -1.4,0.45 -1.69,1.11 -0.56,1.29 -0.71,2.72 -0.72,4.12 -10e-4,1.5 0.11,3 0.6,4.44 0.23,0.68 0.79,1.31 1.56,1.38 0.64,0.06 1.25,-0.27 1.56,-0.83 0.44,-0.82 0.66,-1.74 0.78,-2.66 0.14,-1.05 0.13,-2.11 0.07,-3.17 m 1.86,3.98 c -0.23,1.32 -0.65,2.66 -1.53,3.69 -0.94,1.1 -2.58,1.25 -3.89,0.86 -1.34,-0.41 -2.03,-1.76 -2.45,-3 -0.65,-1.93 -0.63,-4 -0.52,-6 0.09,-1.7 0.51,-3.47 1.59,-4.82 0.91,-1.13 2.53,-1.3 3.86,-0.97 1.26,0.31 1.96,1.51 2.4,2.64 0.78,2.05 0.79,4.27 0.68,6.43 -0.02,0.4 -0.07,0.81 -0.13,1.21 M 19.9,17.1 V 29.79 H 17.78 V 17.1 h -2.67 v -1.94 h 7.47 V 17.1 H 19.91 M 8.18,25.51 c -0.02,1.01 0.48,2.2 1.55,2.46 0.95,0.25 2,-0.3 2.36,-1.21 0.45,-0.95 0.16,-2.16 -0.67,-2.81 C 10.43,23.04 9.21,22.43 8.17,21.59 7.04,20.67 6.58,19.07 6.98,17.68 c 0.42,-1.63 2.03,-2.85 3.71,-2.76 1.47,0 2.85,0.98 3.35,2.36 0.18,0.46 0.27,0.95 0.28,1.44 h -2 c 0,-0.87 -0.74,-1.68 -1.62,-1.68 -0.96,-0.09 -1.9,0.77 -1.82,1.75 -0.02,0.69 0.54,1.2 1.09,1.51 1.51,0.88 3.09,1.88 3.9,3.48 0.87,1.74 0.51,4.07 -1.02,5.32 C 11.51,30.3 9.34,30.41 7.9,29.33 6.72,28.46 6.14,26.95 6.14,25.51 Z"
+       stroke-linejoin="round"
+       id="b"
+       style="fill:url(#a);stroke:url(#linearGradient855)" />
+  </g>
+  <use
+     height="100%"
+     width="100%"
+     y="0"
+     x="0"
+     style="display:inline;opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-opacity:0.76"
+     id="use43"
+     xlink:href="#b"
+     transform="matrix(1.0416705,0,0,1.0416705,-0.99918093,0.84169374)" />
+  <path
+     id="path45"
+     fill="url(#d)"
+     d="m 1.865413,14.966747 v 17.708398 l 3.0625113,3.031261 C 22.386322,35.768906 22.084237,22.16469 46.136409,23.331361 V 15.102164 L 32.917611,1.6229466 H 15.344629 Z"
+     opacity="0.3"
+     style="fill:url(#d);stroke-width:1.04167" />
+</svg>
diff --git a/flags/standard/Dialog-information_on.svg b/flags/standard/Dialog-information_on.svg
new file mode 100644 (file)
index 0000000..1d9583f
--- /dev/null
@@ -0,0 +1,608 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="64"
+   height="64"
+   version="1.1"
+   id="svg184">
+  <metadata
+     id="metadata188">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs142">
+    <linearGradient
+       id="b"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         stop-color="#929470"
+         id="stop2" />
+      <stop
+         offset=".265"
+         stop-color="#fcffc1"
+         id="stop4" />
+      <stop
+         offset=".632"
+         stop-color="#f3f5ba"
+         id="stop6" />
+      <stop
+         offset="1"
+         stop-color="#929470"
+         id="stop8" />
+    </linearGradient>
+    <linearGradient
+       id="c"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         stop-color="#ffe708"
+         id="stop11" />
+      <stop
+         offset=".412"
+         stop-color="#ffd604"
+         stop-opacity=".44"
+         id="stop13" />
+      <stop
+         offset="1"
+         stop-color="#4c3e1c"
+         stop-opacity=".48"
+         id="stop15" />
+    </linearGradient>
+    <linearGradient
+       id="a"
+       gradientUnits="userSpaceOnUse"
+       x1="19"
+       x2="30.17"
+       y1="37.23"
+       y2="37.23">
+      <stop
+         offset=".006"
+         stop-color="#a3a349"
+         id="stop18" />
+      <stop
+         offset=".021"
+         stop-color="#acac54"
+         id="stop20" />
+      <stop
+         offset=".066"
+         stop-color="#c1c172"
+         id="stop22" />
+      <stop
+         offset=".115"
+         stop-color="#d4d68e"
+         id="stop24" />
+      <stop
+         offset=".168"
+         stop-color="#e2e4a6"
+         id="stop26" />
+      <stop
+         offset=".227"
+         stop-color="#edf0b8"
+         id="stop28" />
+      <stop
+         offset=".296"
+         stop-color="#f3f6c3"
+         id="stop30" />
+      <stop
+         offset=".405"
+         stop-color="#f5f8c7"
+         id="stop32" />
+      <stop
+         offset=".524"
+         stop-color="#eef0be"
+         id="stop34" />
+      <stop
+         offset=".667"
+         stop-color="#dbdda9"
+         id="stop36" />
+      <stop
+         offset=".821"
+         stop-color="#bebd88"
+         id="stop38" />
+      <stop
+         offset=".983"
+         stop-color="#989564"
+         id="stop40" />
+      <stop
+         offset="1"
+         stop-color="#949160"
+         id="stop42" />
+    </linearGradient>
+    <radialGradient
+       id="e"
+       cx="14.77"
+       cy="74.209999"
+       gradientTransform="matrix(2.7521041,0,0,0.8118946,-7.1623335,-3.0400407)"
+       gradientUnits="userSpaceOnUse"
+       r="7.8299999">
+      <stop
+         offset="0"
+         stop-opacity=".52"
+         id="stop45" />
+      <stop
+         offset=".552"
+         stop-opacity=".14"
+         id="stop47" />
+      <stop
+         offset="1"
+         stop-opacity="0"
+         id="stop49" />
+    </radialGradient>
+    <linearGradient
+       id="j"
+       gradientTransform="matrix(0.79728107,-0.17090325,0.08075648,0.95980849,40.50239,21.228954)"
+       x1="-22.870001"
+       x2="-4.3899999"
+       xlink:href="#a"
+       y1="38.68"
+       y2="38.68" />
+    <linearGradient
+       id="k"
+       gradientTransform="matrix(0.79728107,-0.17090325,0.08075648,0.95980849,40.50239,21.228954)"
+       x1="-10.48"
+       x2="-23.85"
+       xlink:href="#b"
+       y1="39.029999"
+       y2="39.139999" />
+    <linearGradient
+       id="f"
+       gradientTransform="matrix(2.2978646,0,0,2.0033,-24.797108,-29.980972)"
+       gradientUnits="userSpaceOnUse"
+       x1="23.120001"
+       x2="26.48"
+       y1="43.169998"
+       y2="43.169998">
+      <stop
+         offset=".006"
+         stop-color="#686868"
+         id="stop54" />
+      <stop
+         offset=".03"
+         stop-color="#777"
+         id="stop56" />
+      <stop
+         offset=".084"
+         stop-color="#929292"
+         id="stop58" />
+      <stop
+         offset=".142"
+         stop-color="#a7a7a7"
+         id="stop60" />
+      <stop
+         offset=".207"
+         stop-color="#b6b6b6"
+         id="stop62" />
+      <stop
+         offset=".285"
+         stop-color="#bebebe"
+         id="stop64" />
+      <stop
+         offset=".405"
+         stop-color="#c1c1c1"
+         id="stop66" />
+      <stop
+         offset=".496"
+         stop-color="#bcbcbc"
+         id="stop68" />
+      <stop
+         offset=".606"
+         stop-color="#adadad"
+         id="stop70" />
+      <stop
+         offset=".725"
+         stop-color="#959595"
+         id="stop72" />
+      <stop
+         offset=".85"
+         stop-color="#747474"
+         id="stop74" />
+      <stop
+         offset=".979"
+         stop-color="#494949"
+         id="stop76" />
+      <stop
+         offset="1"
+         stop-color="#414141"
+         id="stop78" />
+    </linearGradient>
+    <linearGradient
+       id="v"
+       gradientTransform="matrix(1.4180809,0,0,1.194681,1.831011,-0.90249229)"
+       gradientUnits="userSpaceOnUse"
+       x1="17"
+       x2="32.099998"
+       y1="10.06"
+       y2="36.73">
+      <stop
+         offset="0"
+         stop-color="#fff"
+         id="stop81" />
+      <stop
+         offset="1"
+         stop-color="#fff"
+         stop-opacity="0"
+         id="stop83" />
+    </linearGradient>
+    <linearGradient
+       id="r"
+       gradientTransform="matrix(1.1123072,0,0,1.2711896,3.3820369,3.3074355)"
+       gradientUnits="userSpaceOnUse"
+       x1="37.939999"
+       x2="-5.25"
+       y1="16.65"
+       y2="3.8599999">
+      <stop
+         offset="0"
+         stop-color="#fffff1"
+         id="stop86" />
+      <stop
+         offset="1"
+         stop-color="#f1f3ff"
+         stop-opacity="0"
+         id="stop88" />
+    </linearGradient>
+    <radialGradient
+       id="p"
+       cx="68.139999"
+       cy="29.870001"
+       gradientTransform="matrix(0.68584024,0,0,0.98835548,-11.554735,7.8171414)"
+       gradientUnits="userSpaceOnUse"
+       r="33.93">
+      <stop
+         offset="0"
+         stop-color="#fff"
+         stop-opacity=".18"
+         id="stop91" />
+      <stop
+         offset=".882"
+         stop-color="#ffe300"
+         id="stop93" />
+      <stop
+         offset="1"
+         stop-color="#ffb900"
+         id="stop95" />
+    </radialGradient>
+    <linearGradient
+       id="n"
+       gradientTransform="matrix(1.9941763,0,0,0.70877978,2.2611274,3.3074355)"
+       gradientUnits="userSpaceOnUse"
+       x1="17.879999"
+       x2="11.91"
+       y1="55.360001"
+       y2="54.860001">
+      <stop
+         offset="0"
+         stop-color="#d6d87b"
+         id="stop98" />
+      <stop
+         offset="1"
+         stop-color="#fbe843"
+         id="stop100" />
+    </linearGradient>
+    <linearGradient
+       id="o"
+       gradientTransform="matrix(-1.1267748,-0.05656683,0.23578202,-1.2430366,2.2611274,3.3074355)"
+       gradientUnits="userSpaceOnUse"
+       x1="-29.01"
+       x2="-37.639999"
+       y1="-29.799999"
+       y2="-29.6">
+      <stop
+         offset="0"
+         stop-color="#dcd763"
+         id="stop103" />
+      <stop
+         offset=".265"
+         stop-color="#d9bb05"
+         id="stop105" />
+      <stop
+         offset=".632"
+         stop-color="#dcd763"
+         id="stop107" />
+      <stop
+         offset="1"
+         stop-color="#c7a107"
+         id="stop109" />
+    </linearGradient>
+    <linearGradient
+       id="u"
+       gradientTransform="matrix(2.4255961,0,0,0.60867995,2.5478717,8.2733255)"
+       gradientUnits="userSpaceOnUse"
+       x1="14.64"
+       x2="9.3699999"
+       y1="31.5"
+       y2="32.25">
+      <stop
+         offset="0"
+         stop-color="#ffb812"
+         id="stop112" />
+      <stop
+         offset="1"
+         stop-color="#ffb812"
+         stop-opacity="0"
+         id="stop114" />
+    </linearGradient>
+    <linearGradient
+       id="t"
+       gradientTransform="matrix(0.76899609,0,0,1.9198835,2.0916876,7.5173632)"
+       x1="30.620001"
+       x2="32.169998"
+       xlink:href="#c"
+       y1="10.31"
+       y2="18.16" />
+    <linearGradient
+       id="s"
+       gradientTransform="matrix(-0.76899609,0,0,1.9198835,62.307991,7.3739911)"
+       x1="30.620001"
+       x2="32.169998"
+       xlink:href="#c"
+       y1="10.31"
+       y2="18.16" />
+    <radialGradient
+       id="d"
+       cx="27.75"
+       cy="18.629999"
+       gradientUnits="userSpaceOnUse"
+       r="15.06"
+       gradientTransform="matrix(1.7491403,0,0,1.4206877,-16.325117,-3.7438676)">
+      <stop
+         offset="0"
+         stop-color="#ffd800"
+         stop-opacity="0"
+         id="stop119" />
+      <stop
+         offset=".5"
+         stop-color="#ffd800"
+         stop-opacity=".33"
+         id="stop121" />
+      <stop
+         offset="1"
+         stop-color="#ffd800"
+         stop-opacity="0"
+         id="stop123" />
+    </radialGradient>
+    <linearGradient
+       id="l"
+       gradientTransform="matrix(0.79754018,-0.17100388,0.08067942,0.95981139,40.50239,13.213148)"
+       x1="-22.870001"
+       x2="-4.3899999"
+       xlink:href="#a"
+       y1="38.68"
+       y2="38.68" />
+    <linearGradient
+       id="m"
+       gradientTransform="matrix(0.79754018,-0.17100388,0.08067942,0.95981139,40.50239,13.213148)"
+       x1="-10.48"
+       x2="-23.85"
+       xlink:href="#b"
+       y1="39.029999"
+       y2="39.139999" />
+    <linearGradient
+       id="h"
+       gradientTransform="matrix(0.73041595,0.03871048,-0.15288685,0.85019686,47.03234,28.462731)"
+       x1="-22.870001"
+       x2="-4.3899999"
+       xlink:href="#a"
+       y1="38.68"
+       y2="38.68" />
+    <linearGradient
+       id="i"
+       gradientTransform="matrix(0.73041595,0.03871048,-0.15288685,0.85019686,47.03234,28.462731)"
+       x1="-10.48"
+       x2="-23.85"
+       xlink:href="#b"
+       y1="39.029999"
+       y2="39.139999" />
+    <linearGradient
+       id="g"
+       gradientTransform="matrix(1.2925651,0,0,1.2915224,0.38425556,2.4602364)"
+       gradientUnits="userSpaceOnUse"
+       x1="24.610001"
+       x2="24.610001"
+       y1="31.15"
+       y2="26.74">
+      <stop
+         offset="0"
+         stop-color="#4c4428"
+         id="stop130" />
+      <stop
+         offset="1"
+         stop-color="#e7b600"
+         stop-opacity="0"
+         id="stop132" />
+    </linearGradient>
+    <linearGradient
+       id="q"
+       gradientUnits="userSpaceOnUse"
+       x1="23.41"
+       x2="23.41"
+       y1="2"
+       y2="34.009998"
+       gradientTransform="matrix(1.3033832,0,0,1.3033832,0.91864266,1.1438193)">
+      <stop
+         offset="0"
+         stop-color="#ab8104"
+         id="stop135" />
+      <stop
+         offset=".736"
+         stop-color="#ab8104"
+         id="stop137" />
+      <stop
+         offset="1"
+         stop-color="#616471"
+         id="stop139" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#a"
+       id="linearGradient1219"
+       gradientTransform="matrix(0.79728107,-0.17090325,0.08075648,0.95980849,40.50239,17.214534)"
+       x1="-22.870001"
+       y1="38.68"
+       x2="-4.3899999"
+       y2="38.68" />
+    <linearGradient
+       xlink:href="#b"
+       id="linearGradient1221"
+       gradientTransform="matrix(0.79728107,-0.17090325,0.08075648,0.95980849,40.50239,17.214534)"
+       x1="-10.48"
+       y1="39.029999"
+       x2="-23.85"
+       y2="39.139999" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter937"
+       x="-0.1161723"
+       width="1.2323446"
+       y="-0.097638264"
+       height="1.1952765">
+      <feGaussianBlur
+         stdDeviation="0.13879895"
+         id="feGaussianBlur939" />
+    </filter>
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter941"
+       x="-0.095259419"
+       width="1.1905188"
+       y="-0.080061806"
+       height="1.1601236">
+      <feGaussianBlur
+         stdDeviation="0.11381291"
+         id="feGaussianBlur943" />
+    </filter>
+  </defs>
+  <path
+     d="m 32.19984,4.4022775 c -9.775374,0 -17.595673,7.6899615 -17.595673,17.2046585 0,9.775375 7.168607,10.818081 7.168607,14.337216 0,4.301165 4.170827,8.993344 10.94842,8.863006 7.429284,-0.130338 10.427066,-4.301165 10.427066,-8.863006 0,-3.779812 6.647254,-3.91015 6.647254,-14.337216 0,-9.514697 -7.820299,-17.2046585 -17.595674,-17.2046585 z"
+     fill="#ffffff"
+     id="path144"
+     style="stroke-width:1.30338" />
+  <path
+     d="m 58.538088,22.680924 a 26.412019,21.452385 0 1 1 -52.6491237,0 26.412019,21.452385 0 1 1 52.6491237,0 z"
+     fill="url(#d)"
+     id="path146"
+     style="fill:url(#d);stroke-width:1.57638" />
+  <path
+     d="m 55.087641,57.264765 a 21.530067,6.3026401 0 1 1 -43.060133,0 21.530067,6.3026401 0 1 1 43.060133,0 z"
+     fill="url(#e)"
+     opacity="0.8"
+     id="path148"
+     style="fill:url(#e);stroke-width:1.49492" />
+  <path
+     d="m 28.289691,53.930841 v 1.824736 c 0,1.824737 1.824736,3.388797 3.910149,3.388797 2.085414,0 3.91015,-1.56406 3.91015,-3.388797 v -1.824736 z"
+     fill="url(#f)"
+     stroke="#565656"
+     id="path150"
+     style="fill:url(#f);stroke-width:1.30338" />
+  <path
+     d="m 31.939164,38.290242 c -4.170827,0 -8.993345,1.303383 -6.386578,3.649473 -0.651692,0.260676 -1.56406,0.78203 -1.56406,2.215751 0.130338,0.651692 0.912368,1.173045 1.955075,1.433722 -1.173045,0.912368 -1.955075,1.694398 -1.955075,2.476428 0.130338,0.78203 0.912368,1.303383 1.824736,1.56406 -1.042706,0.78203 -1.824736,1.694398 -1.824736,2.476428 0.130338,1.303383 2.737105,2.606767 8.471991,2.476428 4.040488,-0.130338 7.559623,-0.912368 7.820299,-2.476428 0.130339,-0.521353 -0.391015,-1.173045 -1.173044,-1.694398 0.651691,-0.521353 1.042706,-1.173045 1.042706,-1.694398 -0.130338,-0.78203 -0.78203,-1.173045 -1.824736,-1.56406 1.173044,-0.78203 1.824736,-1.694398 1.824736,-2.476428 -0.130338,-0.78203 -0.78203,-1.173045 -1.824736,-1.433722 1.173044,-0.912368 1.824736,-1.824736 1.824736,-2.606766 -0.130338,-0.78203 -4.170826,-2.34609 -8.211314,-2.34609 z"
+     fill="#aeae57"
+     stroke="url(#g)"
+     stroke-width="2.60677"
+     id="path152"
+     style="stroke:url(#g)" />
+  <path
+     d="m 40.280816,52.106104 c -0.260676,1.56406 -4.301164,2.476428 -10.687742,2.085413 -4.170827,-0.130338 -4.301165,-1.303383 -4.040488,-2.867443 0.260676,-1.56406 3.779811,-2.737105 7.820299,-2.476428 4.040488,0.260677 7.168608,1.694398 6.907931,3.258458 z"
+     fill="url(#h)"
+     stroke="url(#i)"
+     stroke-width="0.130338"
+     id="path154"
+     style="fill:url(#h);stroke:url(#i)" />
+  <path
+     d="M 40.037371,48.610144 A 3.2471648,8.2379027 76.548544 1 1 23.951875,52.058192 3.2471648,8.2379027 76.548544 1 1 40.037371,48.610144 Z"
+     fill="url(#j)"
+     stroke="url(#k)"
+     stroke-width="0.114769"
+     id="path156"
+     style="fill:url(#j);stroke:url(#k)" />
+  <path
+     d="M 40.037371,44.595723 A 3.2471648,8.2379027 76.548544 1 1 23.951875,48.043771 3.2471648,8.2379027 76.548544 1 1 40.037371,44.595723 Z"
+     fill="url(#j)"
+     stroke="url(#k)"
+     stroke-width="0.114769"
+     id="path158"
+     style="fill:url(#linearGradient1219);stroke:url(#linearGradient1221)" />
+  <path
+     d="m 40.02014,40.897008 c 0,1.694398 -3.388797,3.779812 -7.8203,4.69218 -4.431503,0.912368 -8.080976,0.260677 -8.211314,-1.56406 -0.260677,-1.694398 2.867443,-3.779811 7.298946,-4.040488 4.431503,-0.260677 8.732668,-0.130338 8.732668,0.912368 z"
+     fill="url(#l)"
+     stroke="url(#m)"
+     stroke-width="0.130338"
+     id="path160"
+     style="fill:url(#l);stroke:url(#m)" />
+  <path
+     d="m 28.941382,47.453026 a 1.4337216,1.4337216 0 1 1 -2.815308,0 1.4337216,1.4337216 0 1 1 2.815308,0 z"
+     fill="#ffffff"
+     id="path162"
+     style="stroke-width:1.30338;filter:url(#filter937)" />
+  <path
+     d="m 25.291909,45.719526 c 4.431503,0.651692 8.993345,-0.130338 12.773156,-2.476428 1.042707,-0.651692 1.173045,-1.433722 1.694398,-2.085413 -1.824736,1.433721 -6.516916,5.343871 -14.467554,4.561841 z"
+     fill-opacity="0.23"
+     id="path164"
+     style="stroke-width:1.30338" />
+  <path
+     d="m 28.941382,51.337108 a 1.4337216,1.4337216 0 1 1 -2.815308,0 1.4337216,1.4337216 0 1 1 2.815308,0 z"
+     fill="#ffffff"
+     id="path166"
+     style="stroke-width:1.30338;filter:url(#filter941)" />
+  <path
+     d="m 25.422247,53.670164 c 4.431503,0.651692 8.993345,-0.130338 12.773156,-2.476428 1.042707,-0.651692 1.173045,-1.433722 1.694398,-2.085413 -1.824736,1.433721 -6.516916,5.343871 -14.467554,4.561841 z m 0.130339,-4.040488 c 4.301164,0.651692 8.993344,-0.130338 12.642817,-2.476428 1.042707,-0.651692 1.303383,-1.433722 1.694398,-2.085413 -1.824736,1.433721 -6.386577,5.343871 -14.337215,4.561841 z"
+     fill-opacity="0.23"
+     id="path168"
+     style="stroke-width:1.30338" />
+  <path
+     d="m 25.031232,41.5487 c 0,-1.042707 1.955075,-2.34609 6.907932,-2.215752 4.561841,0 7.559622,1.173045 7.559622,2.737105 0,1.694398 -4.040488,2.737105 -8.341652,2.476428 C 26.986307,44.416143 25.031232,43.11276 25.031232,41.5487 Z"
+     fill="url(#n)"
+     stroke="url(#o)"
+     stroke-width="0.130338"
+     id="path170"
+     style="fill:url(#n);stroke:url(#o)" />
+  <path
+     d="m 32.19984,4.4022775 c -9.775374,0 -17.595673,7.6899615 -17.595673,17.2046585 0,9.775375 7.168607,10.818081 7.168607,14.337216 0,4.301165 4.170827,8.993344 10.94842,8.863006 7.429284,-0.130338 10.427066,-4.301165 10.427066,-8.863006 0,-3.779812 6.647254,-3.91015 6.647254,-14.337216 0,-9.514697 -7.820299,-17.2046585 -17.595674,-17.2046585 z"
+     fill="url(#p)"
+     stroke="url(#q)"
+     id="path172"
+     style="fill:url(#p);stroke:url(#q);stroke-width:1.30338" />
+  <path
+     d="m 32.19984,5.7056608 c -9.123682,0 -16.422629,7.2989462 -16.422629,16.0316132 0,9.123683 6.647255,10.16639 6.647255,13.424848 0,4.040488 3.91015,8.471991 10.296728,8.211314 6.907931,-0.130338 9.645036,-4.040488 9.645036,-8.211314 0,-3.519135 6.256239,-3.649473 6.256239,-13.424848 0,-8.732667 -7.298946,-16.0316132 -16.422629,-16.0316132 z"
+     fill="none"
+     stroke="url(#r)"
+     stroke-width="1.19911"
+     id="path174"
+     style="stroke:url(#r)" />
+  <path
+     d="m 39.368448,26.038439 c 0.391015,0.130339 0.651692,0.521353 0.521353,0.78203 L 35.197622,40.897008 C 35.067283,41.288023 34.676268,41.5487 34.285254,41.418362 33.894239,41.288023 33.633562,40.897008 33.7639,40.505993 l 4.69218,-13.946201 c 0.130338,-0.391014 0.521353,-0.651691 0.912368,-0.521353 z"
+     fill="url(#s)"
+     id="path176"
+     style="fill:url(#s);stroke-width:1.30338" />
+  <path
+     d="m 25.031232,26.168778 c -0.391015,0.130338 -0.651691,0.521353 -0.521353,0.912368 l 4.69218,13.946201 c 0.130338,0.391015 0.521353,0.651691 0.912368,0.521353 0.391015,-0.130338 0.651692,-0.521353 0.521353,-0.912368 L 25.943601,26.690131 c -0.130339,-0.391015 -0.521354,-0.651692 -0.912369,-0.521353 z"
+     fill="url(#t)"
+     id="path178"
+     style="fill:url(#t);stroke-width:1.30338" />
+  <path
+     d="m 25.161571,26.038439 c -0.391015,0.130339 -0.521354,0.260677 -0.651692,0.651692 0,0.260676 0.130338,0.521353 0.391015,0.651691 0,0 2.215752,1.303384 5.213533,1.955075 2.867443,0.651692 6.647255,0.78203 9.514698,-1.955075 0.260676,-0.260676 0.260676,-0.521353 0.260676,-0.78203 0,-0.260676 -0.260676,-0.391014 -0.521353,-0.521353 -0.260676,0 -0.521353,0 -0.78203,0.260677 -2.34609,2.34609 -5.474209,2.34609 -8.211314,1.694398 -2.737105,-0.651692 -4.69218,-1.824736 -4.69218,-1.824736 -0.260677,-0.130339 -0.391015,-0.130339 -0.521353,-0.130339 z"
+     fill="#ffd800"
+     stroke="url(#u)"
+     stroke-width="0.260677"
+     id="path180"
+     style="stroke:url(#u)" />
+  <path
+     d="m 32.590855,7.9214123 c -7.820299,0 -14.076539,5.2135327 -14.076539,11.6001107 0,2.476428 1.173045,4.69218 2.867443,6.647255 1.955075,0.782029 4.040488,1.433721 6.386578,1.433721 7.8203,0 14.076539,-5.213533 14.076539,-11.600111 0,-2.606766 -1.173045,-4.822518 -2.867443,-6.7775924 -1.955075,-0.78203 -4.040488,-1.3033833 -6.386578,-1.3033833 z"
+     fill="url(#v)"
+     opacity="0.6"
+     id="path182"
+     style="opacity:1;fill:url(#v);stroke-width:1.30338;" />
+</svg>
diff --git a/flags/standard/arrow-2down-blue.svg b/flags/standard/arrow-2down-blue.svg
new file mode 100644 (file)
index 0000000..8037312
--- /dev/null
@@ -0,0 +1,4516 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:ns="http://ns.adobe.com/SaveForWeb/1.0/"
+   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"
+   version="1.0"
+   id="Livello_1"
+   width="128"
+   height="128"
+   viewBox="0 0 121 120"
+   overflow="visible"
+   enable-background="new 0 0 121 120"
+   xml:space="preserve"
+   style="overflow:visible"><defs
+   id="defs2126"><linearGradient
+   id="linearGradient3969"><stop
+     style="stop-color:#bfbfff;stop-opacity:1;"
+     offset="0"
+     id="stop3965" /><stop
+     style="stop-color:#bfbfff;stop-opacity:0;"
+     offset="1"
+     id="stop3967" /></linearGradient><linearGradient
+   id="linearGradient4021"><stop
+     id="stop4023"
+     offset="0"
+     style="stop-color:#e2e9e4;stop-opacity:1" /><stop
+     id="stop4025"
+     offset="1"
+     style="stop-color:#a4c0e4;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4013"><stop
+     id="stop4015"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop4019"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4007"><stop
+     id="stop4009"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4011"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4001"><stop
+     id="stop4003"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4005"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient2868"><stop
+     id="stop2870"
+     offset="0"
+     style="stop-color:#00c4cc;stop-opacity:1" /><stop
+     id="stop2872"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient6212"><stop
+     style="stop-color:#041424;stop-opacity:1;"
+     offset="0"
+     id="stop6214" /><stop
+     style="stop-color:#113e69;stop-opacity:0"
+     offset="1"
+     id="stop6216" /></linearGradient><linearGradient
+   id="linearGradient6181"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop6183" /><stop
+     id="stop6189"
+     offset="0.44777471"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#e0e0e0;stop-opacity:1;"
+     offset="0.59900987"
+     id="stop6191" /><stop
+     style="stop-color:#8f8f8f;stop-opacity:1;"
+     offset="1"
+     id="stop6185" /></linearGradient><linearGradient
+   id="linearGradient6138"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop6140" /><stop
+     offset="1"
+     style="stop-color:#004c98;stop-opacity:1;"
+     id="stop6142" /></linearGradient><linearGradient
+   id="linearGradient5990"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5992" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5994" /></linearGradient><linearGradient
+   id="linearGradient5960"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop5962" /><stop
+     offset="1"
+     style="stop-color:#003871;stop-opacity:1;"
+     id="stop5964" /></linearGradient><linearGradient
+   id="linearGradient5919"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5921" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5923" /></linearGradient><linearGradient
+   id="linearGradient4353"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101">
+               <stop
+   offset="0"
+   style="stop-color:#1174ac;stop-opacity:1;"
+   id="stop4355" />
+               <stop
+   offset="0.1"
+   style="stop-color:#68b4f2;stop-opacity:1;"
+   id="stop4357" />
+               <stop
+   offset="1"
+   style="stop-color:#00a1f3;stop-opacity:1;"
+   id="stop4359" />
+       </linearGradient><linearGradient
+   id="linearGradient4343"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001">
+               <stop
+   offset="0"
+   style="stop-color:#0087bf;stop-opacity:1;"
+   id="stop4345" />
+               <stop
+   offset="0.05"
+   style="stop-color:#ffffff;stop-opacity:0;"
+   id="stop4347" />
+               <stop
+   offset="0.94999999"
+   style="stop-color:#ffffff;stop-opacity:0.6392405;"
+   id="stop4349" />
+               <stop
+   offset="1"
+   style="stop-color:#116dac;stop-opacity:1;"
+   id="stop4351" />
+       </linearGradient><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8736"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8738"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8740"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8742"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8744"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8746"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8748"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><radialGradient
+   xlink:href="#XMLID_281_"
+   id="radialGradient8750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699" /><linearGradient
+   xlink:href="#XMLID_283_"
+   id="linearGradient8752"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804" /><linearGradient
+   xlink:href="#XMLID_284_"
+   id="linearGradient8754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659" /><linearGradient
+   xlink:href="#XMLID_285_"
+   id="linearGradient8756"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897" /><linearGradient
+   xlink:href="#XMLID_286_"
+   id="linearGradient8758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202" /><linearGradient
+   xlink:href="#XMLID_287_"
+   id="linearGradient8760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,-166,216)"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251" /><linearGradient
+   xlink:href="#XMLID_288_"
+   id="linearGradient8762"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904" /><linearGradient
+   xlink:href="#XMLID_289_"
+   id="linearGradient8764"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_290_"
+   id="linearGradient8766"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,198,220.0005)"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851" /><linearGradient
+   xlink:href="#XMLID_291_"
+   id="linearGradient8768"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_292_"
+   id="linearGradient8770"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_293_"
+   id="linearGradient8772"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601" /><linearGradient
+   xlink:href="#XMLID_298_"
+   id="linearGradient8774"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_299_"
+   id="linearGradient8776"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_300_"
+   id="linearGradient8778"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_301_"
+   id="linearGradient8780"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268" /><radialGradient
+   xlink:href="#XMLID_302_"
+   id="radialGradient8782"
+   gradientUnits="userSpaceOnUse"
+   cx="38.211399"
+   cy="62.580101"
+   fx="38.123001"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_303_"
+   id="radialGradient8784"
+   gradientUnits="userSpaceOnUse"
+   cx="40.436001"
+   cy="62.580101"
+   fx="40.348598"
+   fy="62.5037"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_304_"
+   id="radialGradient8786"
+   gradientUnits="userSpaceOnUse"
+   cx="42.660599"
+   cy="62.580101"
+   fx="42.561901"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_305_"
+   id="radialGradient8788"
+   gradientUnits="userSpaceOnUse"
+   cx="44.8857"
+   cy="62.580101"
+   fx="44.754902"
+   fy="62.4711"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_306_"
+   id="linearGradient8790"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_307_"
+   id="linearGradient8792"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_308_"
+   id="linearGradient8794"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_309_"
+   id="linearGradient8796"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501" /><radialGradient
+   xlink:href="#XMLID_310_"
+   id="radialGradient8798"
+   gradientUnits="userSpaceOnUse"
+   cx="52.3447"
+   cy="67.421898"
+   fx="52.256302"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_311_"
+   id="radialGradient8800"
+   gradientUnits="userSpaceOnUse"
+   cx="54.569302"
+   cy="67.421898"
+   fx="54.481899"
+   fy="67.345497"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_312_"
+   id="radialGradient8802"
+   gradientUnits="userSpaceOnUse"
+   cx="56.7939"
+   cy="67.421898"
+   fx="56.695202"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_313_"
+   id="radialGradient8804"
+   gradientUnits="userSpaceOnUse"
+   cx="59.0186"
+   cy="67.421898"
+   fx="58.887699"
+   fy="67.312897"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_314_"
+   id="linearGradient8806"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601" /><radialGradient
+   xlink:href="#XMLID_315_"
+   id="radialGradient8808"
+   gradientUnits="userSpaceOnUse"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8810"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_207_"
+   id="linearGradient8812"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-10.79"
+   y1="0"
+   x2="10.7891"
+   y2="0" /><linearGradient
+   xlink:href="#XMLID_208_"
+   id="linearGradient8814"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-0.00048828119"
+   y1="-10.7891"
+   x2="-0.00048877468"
+   y2="0.5" /><linearGradient
+   xlink:href="#XMLID_210_"
+   id="linearGradient8816"
+   gradientUnits="userSpaceOnUse"
+   x1="-15.0005"
+   y1="6.5"
+   x2="14.9995"
+   y2="6.5" /><linearGradient
+   xlink:href="#XMLID_349_"
+   id="linearGradient8832"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798" /><linearGradient
+   xlink:href="#XMLID_350_"
+   id="linearGradient8834"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001" /><linearGradient
+   xlink:href="#XMLID_351_"
+   id="linearGradient8836"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101" /><linearGradient
+   xlink:href="#XMLID_352_"
+   id="linearGradient8838"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8840"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient8842"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient8844"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient8846"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient8848"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19528"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19530"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><radialGradient
+   id="XMLID_328_"
+   cx="112.0176"
+   cy="70.366203"
+   r="7.0664001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+               <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop1539" />
+               <stop
+   offset="0.6568"
+   style="stop-color:#555753"
+   id="stop1541" />
+               <stop
+   offset="0.8402"
+   style="stop-color:#DDDDDD"
+   id="stop1543" />
+               <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1545" />
+       </radialGradient><linearGradient
+   xlink:href="#XMLID_220_"
+   id="linearGradient3706"
+   gradientUnits="userSpaceOnUse"
+   x1="0.7852"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><linearGradient
+   xlink:href="#XMLID_221_"
+   id="linearGradient3708"
+   gradientUnits="userSpaceOnUse"
+   x1="5.2343998"
+   y1="91.173798"
+   x2="5.2343998"
+   y2="68.926804" /><linearGradient
+   xlink:href="#XMLID_222_"
+   id="linearGradient3710"
+   gradientUnits="userSpaceOnUse"
+   x1="2.2246001"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><radialGradient
+   xlink:href="#XMLID_353_"
+   id="radialGradient3712"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="579.21582"
+   r="1.702" /><radialGradient
+   xlink:href="#XMLID_354_"
+   id="radialGradient3714"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="581.23828"
+   r="1.8181" /><linearGradient
+   xlink:href="#XMLID_355_"
+   id="linearGradient3716"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.5751,3.367,522.1128)"
+   x1="1.5889"
+   y1="743.79388"
+   x2="1.5889"
+   y2="741.36517" /><radialGradient
+   xlink:href="#XMLID_356_"
+   id="radialGradient3718"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5898"
+   cy="582.99017"
+   r="1.6033" /><radialGradient
+   xlink:href="#XMLID_357_"
+   id="radialGradient3720"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="62.296902"
+   r="1.6866" /><radialGradient
+   xlink:href="#XMLID_358_"
+   id="radialGradient3722"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="64.318398"
+   r="1.8414" /><radialGradient
+   xlink:href="#XMLID_359_"
+   id="radialGradient3724"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.6543"
+   cy="65.9375"
+   r="1.5302" /><linearGradient
+   xlink:href="#XMLID_360_"
+   id="linearGradient3726"
+   gradientUnits="userSpaceOnUse"
+   x1="5.54"
+   y1="62.4492"
+   x2="7.1973"
+   y2="62.4492" /><linearGradient
+   xlink:href="#linearGradient4353"
+   id="linearGradient3728"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101" /><linearGradient
+   xlink:href="#linearGradient4343"
+   id="linearGradient3730"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001"
+   gradientTransform="matrix(1,0,0,0.7186714,0,19.059732)" /><linearGradient
+   xlink:href="#XMLID_363_"
+   id="linearGradient3732"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.2826,0,380.4185)"
+   x1="13.0859"
+   y1="1033.9258"
+   x2="19.367701"
+   y2="1033.9258" /><linearGradient
+   xlink:href="#XMLID_364_"
+   id="linearGradient3734"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.3392,0,157.863)"
+   x1="13.0859"
+   y1="275.6973"
+   x2="19.367701"
+   y2="275.6973" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3736"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><radialGradient
+   xlink:href="#XMLID_366_"
+   id="radialGradient3738"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="48.597198"
+   r="1.1084" /><radialGradient
+   xlink:href="#XMLID_367_"
+   id="radialGradient3740"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="49.9258"
+   r="1.2096" /><radialGradient
+   xlink:href="#XMLID_368_"
+   id="radialGradient3742"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.15143"
+   cy="50.9888"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_369_"
+   id="linearGradient3744"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,1,-533,8.5)"
+   x1="-547.96039"
+   y1="54.700199"
+   x2="-546.87109"
+   y2="54.700199" /><radialGradient
+   xlink:href="#XMLID_370_"
+   id="radialGradient3746"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="727.67682"
+   r="1.1083" /><radialGradient
+   xlink:href="#XMLID_371_"
+   id="radialGradient3748"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="729.00592"
+   r="1.21" /><radialGradient
+   xlink:href="#XMLID_372_"
+   id="radialGradient3750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.15143"
+   cy="730.06842"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_373_"
+   id="linearGradient3752"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,-533,649.9141)"
+   x1="-547.96039"
+   y1="553.74408"
+   x2="-546.87109"
+   y2="553.74408" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient3754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient3756"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient3758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient3760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3762"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3764"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient4705"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient4707"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,510,186)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient4709"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient4711"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient4713"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,286,472.002)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient4715"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,60,-162.002)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient5061"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient5063"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,510,186)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient5065"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient5067"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient5069"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,286,472.002)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient5071"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,60,-162.002)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   id="linearGradient2528"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop2530" /><stop
+     id="stop2532"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop2534" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2536"><stop
+     id="stop2538"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2540"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2542"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop2544" /><stop
+     id="stop2546"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop2548" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient2550"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient2552"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop2554" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop2556" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2558"><stop
+     id="stop2560"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2562"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2564"><stop
+     id="stop2566"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop2568"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient2570"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop2572" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop2574" /></linearGradient><linearGradient
+   id="linearGradient2576"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop2578" /><stop
+     id="stop2580"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2582"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop2584" /></linearGradient><linearGradient
+   id="linearGradient2586"><stop
+     id="stop2588"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2590"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2592"><stop
+     id="stop2594"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop2596"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2604"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop2606" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop2608" /></linearGradient><radialGradient
+   xlink:href="#linearGradient3291"
+   id="radialGradient2610"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.197802,0,92.82166)"
+   cx="63.912209"
+   cy="115.70919"
+   fx="63.975182"
+   fy="116.88514"
+   r="63.912209" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient2612"
+   xlink:href="#linearGradient5073" /><foreignObject
+   id="foreignObject2620"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="linearGradient2622"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop2624" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop2626" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop2628" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop2630" /></linearGradient><linearGradient
+   id="linearGradient2632"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop2634" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop2636" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop2638" /></linearGradient><linearGradient
+   id="linearGradient2640"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop2642" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop2644" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2646"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient3711"
+   id="radialGradient2648"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   xlink:href="#linearGradient3711"
+   id="linearGradient2650"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.591298,-1.591298,0,-146.0489,141.4862)"
+   x1="-88.058083"
+   y1="-131.93112"
+   x2="-45.096584"
+   y2="-131.93112" /><linearGradient
+   xlink:href="#linearGradient6537"
+   id="linearGradient2652"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   x1="-70.002899"
+   y1="-383.9971"
+   x2="-11.91648"
+   y2="-383.9971" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2654"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2656"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   id="linearGradient8332"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop8334" /><stop
+     id="stop8340"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop8336" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient6537"><stop
+     id="stop6539"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop6541"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3954"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop3956" /><stop
+     id="stop3962"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop3958" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient3112"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient26907"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop26909" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop26911" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3711"><stop
+     id="stop3713"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop3715"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3081"><stop
+     id="stop3083"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop3085"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient3290"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop3292" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop3294" /></linearGradient><linearGradient
+   id="linearGradient3638"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop3640" /><stop
+     id="stop3661"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop3659"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop3642" /></linearGradient><linearGradient
+   id="linearGradient1563"><stop
+     id="stop5369"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop5371"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient3273"><stop
+     id="stop3275"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop3277"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient12948"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop12950" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop12952" /></linearGradient><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient5079"
+   xlink:href="#linearGradient5073" /><linearGradient
+   id="linearGradient5073"><stop
+     id="stop5075"
+     offset="0"
+     style="stop-color:#000000;stop-opacity:1;" /><stop
+     id="stop5077"
+     offset="1"
+     style="stop-color:#000000;stop-opacity:0;" /></linearGradient><foreignObject
+   id="foreignObject7221"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="XMLID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop7227" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop7229" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop7231" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop7233" /></linearGradient><linearGradient
+   id="XMLID_3_"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop7261" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop7263" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop7265" /></linearGradient><linearGradient
+   id="XMLID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop7270" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop7272" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2149"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8330"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8345"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18746"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18674"
+   xlink:href="#linearGradient18668" />
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18649">
+                       <stop
+   id="stop18651"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop18653"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18657"
+   xlink:href="#XMLID_2_" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient15986"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15977"
+   xlink:href="#linearGradient2309" /><linearGradient
+   gradientTransform="translate(1.470416e-5,0)"
+   y2="30.441185"
+   x2="27.719746"
+   y1="7.881104"
+   x1="27.719746"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15973"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14189"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14180"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient12378"
+   xlink:href="#XMLID_2_" />
+       
+<foreignObject
+   id="foreignObject7"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject>
+       <radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2467"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2465"
+   xlink:href="#XMLID_7_" /><linearGradient
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2397"
+   xlink:href="#XMLID_12_" /><linearGradient
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2395"
+   xlink:href="#XMLID_11_" /><linearGradient
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2393"
+   xlink:href="#XMLID_10_" /><linearGradient
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2391"
+   xlink:href="#XMLID_9_" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="XMLID_2_">
+                       <stop
+   id="stop12"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop14"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient15967"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop15969" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop15971" />
+               </linearGradient><linearGradient
+   id="linearGradient18668"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   id="stop18670" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop18672" />
+               </linearGradient><linearGradient
+   id="linearGradient3291"><stop
+     id="stop3293"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop3295"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient5904"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient5908"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5925"
+   x1="-176.11095"
+   y1="28.732603"
+   x2="-160.81332"
+   y2="122.61434"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)" /><filter
+   id="filter5956"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958" /></filter><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5984"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5986"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6086"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient6187"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729"
+   gradientTransform="matrix(10.171775,0,0,6.7817499,1868.2052,-590.26609)"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6193"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient6218"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6236"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient6240"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#XMLID_329_"
+   id="linearGradient4067"
+   gradientUnits="userSpaceOnUse"
+   x1="108.0918"
+   y1="70.889603"
+   x2="105.4746"
+   y2="70.889603" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4076"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4088"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4092"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4094"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4096"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4098"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4100"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4117"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4119"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4121"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4123"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4125"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4127"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4129"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4131"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4133"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4138"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4150"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4166"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4168"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4170"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4180"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4185"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1138.9967)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4227"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.683805,0,0,-12.950746,-3045.9942,1253.793)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4241"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.686733,0,0,-11.843809,-3046.506,1155.1878)"
+   cx="-175.51489"
+   cy="93.132141"
+   fx="-175.51489"
+   fy="93.132141"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4243"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(17.683805,0,0,-12.950746,3161.348,1253.793)"
+   cx="-175.51489"
+   cy="95.502762"
+   fx="-175.51489"
+   fy="95.502762"
+   r="6.4729" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2951"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2954"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2957"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2961"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath3577"><path
+     id="path3579"
+     d="M 46.363028,30.704362 L 46.363028,29.237638 C 46.363047,22.4629 51.340008,17.052447 57.507624,17.052447 C 63.675241,17.052447 68.652211,22.462919 68.652211,29.237638 L 68.652211,30.704362 C 59.857264,19.685199 55.124316,21.096034 46.363028,30.704362 z"
+     style="fill:#0a0a0a;fill-opacity:0.31687239;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient2850"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient2852"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient2854"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2856"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2858"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2860"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2862"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient2866"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient3891"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient3893"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient3895"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3897"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3899"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3901"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3903"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3905"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3968"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3970"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3972"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3974"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5990"
+   id="linearGradient3977"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4169349,0,0,1.4662253,309.05192,-42.219506)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3980"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4169349,0,0,1.4662253,298.03271,-70.705894)"
+   x1="-158.7686"
+   y1="114.56229"
+   x2="-181.66037"
+   y2="92.122795" /><linearGradient
+   xlink:href="#linearGradient4021"
+   id="linearGradient3987"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.5856199,0,0,-1.6407784,335.13238,229.57407)"
+   x1="-146.91451"
+   y1="131.19989"
+   x2="-147.80945"
+   y2="43.034512" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4612"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4653"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,0.92781246,-26.708926,-9.8846577)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><linearGradient
+   id="linearGradient5960-5"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop5962-6" /><stop
+     offset="1"
+     style="stop-color:#003871;stop-opacity:1;"
+     id="stop5964-2" /></linearGradient><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath4727"><path
+     id="path4729"
+     style="display:inline;fill:url(#radialGradient4731);fill-opacity:1;stroke:none;stroke-width:1.75569;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 6.6174489,79.577162 c 0,4.501116 -0.078655,4.199435 54.4575341,4.199435 59.861117,0 53.307557,-0.797293 53.307557,-4.511124 0,0 -45.653941,-73.148026 -53.882546,-73.148026 -5.754082,0 -53.8825451,70.121392 -53.8825451,73.459715 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4731"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><filter
+   id="filter5956-3"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958-6" /></filter><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3977-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4169349,0,0,1.4662253,309.05191,-42.219505)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient2212"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.2566102,0,0,1.7806359,-130.82655,-148.61209)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath2215"><path
+     id="path2217"
+     style="display:block;overflow:visible;fill:url(#radialGradient2219);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m -21.192073,-2.9144046 c 4.989175,0 4.654775,0.084252 4.654775,-58.3331304 0,-64.121265 -0.190529,-57.101315 -5.000261,-57.101315 -3.866449,0 -81.079441,48.903011 -81.079441,57.717223 0,6.163586 77.724631,57.7172224 81.424927,57.7172224 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient2219"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.8806383,1.9460595,0,-224.52085,252.55526)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><radialGradient
+   xlink:href="#XMLID_281_-9"
+   id="radialGradient8750-7"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699" /><radialGradient
+   xlink:href="#XMLID_302_-4"
+   id="radialGradient8782-3"
+   gradientUnits="userSpaceOnUse"
+   cx="38.211399"
+   cy="62.580101"
+   fx="38.123001"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_303_-0"
+   id="radialGradient8784-6"
+   gradientUnits="userSpaceOnUse"
+   cx="40.436001"
+   cy="62.580101"
+   fx="40.348598"
+   fy="62.5037"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_304_-9"
+   id="radialGradient8786-1"
+   gradientUnits="userSpaceOnUse"
+   cx="42.660599"
+   cy="62.580101"
+   fx="42.561901"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_305_-3"
+   id="radialGradient8788-2"
+   gradientUnits="userSpaceOnUse"
+   cx="44.8857"
+   cy="62.580101"
+   fx="44.754902"
+   fy="62.4711"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_310_-9"
+   id="radialGradient8798-9"
+   gradientUnits="userSpaceOnUse"
+   cx="52.3447"
+   cy="67.421898"
+   fx="52.256302"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_311_-0"
+   id="radialGradient8800-3"
+   gradientUnits="userSpaceOnUse"
+   cx="54.569302"
+   cy="67.421898"
+   fx="54.481899"
+   fy="67.345497"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_312_-4"
+   id="radialGradient8802-1"
+   gradientUnits="userSpaceOnUse"
+   cx="56.7939"
+   cy="67.421898"
+   fx="56.695202"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_313_-6"
+   id="radialGradient8804-9"
+   gradientUnits="userSpaceOnUse"
+   cx="59.0186"
+   cy="67.421898"
+   fx="58.887699"
+   fy="67.312897"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_315_-9"
+   id="radialGradient8808-4"
+   gradientUnits="userSpaceOnUse"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001" /><radialGradient
+   id="XMLID_328_-7"
+   cx="112.0176"
+   cy="70.366203"
+   r="7.0664001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+               <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop1539-8" />
+               <stop
+   offset="0.6568"
+   style="stop-color:#555753"
+   id="stop1541-4" />
+               <stop
+   offset="0.8402"
+   style="stop-color:#DDDDDD"
+   id="stop1543-5" />
+               <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1545-0" />
+       </radialGradient><radialGradient
+   xlink:href="#XMLID_353_"
+   id="radialGradient3712-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="579.21582"
+   r="1.702" /><radialGradient
+   xlink:href="#XMLID_354_"
+   id="radialGradient3714-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="581.23828"
+   r="1.8181" /><radialGradient
+   xlink:href="#XMLID_356_"
+   id="radialGradient3718-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5898"
+   cy="582.99017"
+   r="1.6033" /><radialGradient
+   xlink:href="#XMLID_357_"
+   id="radialGradient3720-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="62.296902"
+   r="1.6866" /><radialGradient
+   xlink:href="#XMLID_358_"
+   id="radialGradient3722-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="64.318398"
+   r="1.8414" /><radialGradient
+   xlink:href="#XMLID_359_"
+   id="radialGradient3724-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.6543"
+   cy="65.9375"
+   r="1.5302" /><radialGradient
+   xlink:href="#XMLID_366_"
+   id="radialGradient3738-2"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="48.597198"
+   r="1.1084" /><radialGradient
+   xlink:href="#XMLID_367_"
+   id="radialGradient3740-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="49.9258"
+   r="1.2096" /><radialGradient
+   xlink:href="#XMLID_368_"
+   id="radialGradient3742-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.15143"
+   cy="50.9888"
+   r="1.0506999" /><radialGradient
+   xlink:href="#XMLID_370_"
+   id="radialGradient3746-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="727.67682"
+   r="1.1083" /><radialGradient
+   xlink:href="#XMLID_371_"
+   id="radialGradient3748-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="729.00592"
+   r="1.21" /><radialGradient
+   xlink:href="#XMLID_372_"
+   id="radialGradient3750-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.15143"
+   cy="730.06842"
+   r="1.0506999" /><radialGradient
+   xlink:href="#linearGradient5073"
+   id="radialGradient2610-4"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.197802,0,92.82166)"
+   cx="63.912209"
+   cy="115.70919"
+   fx="63.975182"
+   fy="116.88514"
+   r="63.912209" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient2612-9"
+   xlink:href="#linearGradient5073" /><foreignObject
+   id="foreignObject2620"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><radialGradient
+   xlink:href="#linearGradient2558"
+   id="radialGradient2648-9"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><radialGradient
+   xlink:href="#linearGradient2528"
+   id="radialGradient2654-5"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient2528"
+   id="radialGradient2656-0"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient5079-9"
+   xlink:href="#linearGradient5073" /><foreignObject
+   id="foreignObject7221"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><radialGradient
+   xlink:href="#linearGradient2528"
+   id="radialGradient8330-8"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient2528"
+   id="radialGradient8345-1"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient15986-3"
+   xlink:href="#linearGradient15967" /><foreignObject
+   id="foreignObject7"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject><radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2467-9"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2465-0"
+   xlink:href="#XMLID_7_" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient5904-5"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient5908-6"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><filter
+   id="filter5956-11"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958-5" /></filter><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient6086-9"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient6187-8"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729"
+   gradientTransform="matrix(10.171775,0,0,6.7817499,1868.2052,-590.26609)"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient6193-4"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient6218-8"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient6240-1"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4076-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4088-3"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient4090-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4092-4"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4117-4"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4119-4"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient4121-4"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4123-7"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4133-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4138-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4150-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4166-7"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient4168-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4170-9"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4180-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4185-2"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1138.9967)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4227-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.683805,0,0,-12.950746,-3045.9942,1253.793)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4241-7"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.686733,0,0,-11.843809,-3046.506,1155.1878)"
+   cx="-175.51489"
+   cy="93.132141"
+   fx="-175.51489"
+   fy="93.132141"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4243-8"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(17.683805,0,0,-12.950746,3161.348,1253.793)"
+   cx="-175.51489"
+   cy="95.502762"
+   fx="-175.51489"
+   fy="95.502762"
+   r="6.4729" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath3577-5"><path
+     id="path3579-7"
+     d="M 46.363028,30.704362 L 46.363028,29.237638 C 46.363047,22.4629 51.340008,17.052447 57.507624,17.052447 C 63.675241,17.052447 68.652211,22.462919 68.652211,29.237638 L 68.652211,30.704362 C 59.857264,19.685199 55.124316,21.096034 46.363028,30.704362 z"
+     style="fill:#0a0a0a;fill-opacity:0.31687239;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient2850-4"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient2852-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient2854-8"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient2866-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient3891-9"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient3893-7"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient3895-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3897-3"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3966-8"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229"
+   gradientTransform="matrix(-1.4269372,0,0,1.4765756,-173.53727,-37.575411)" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3977-8"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238518,0,0,1.4733829,308.43948,-55.209087)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3980-31"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238518,0,0,1.4733829,307.89637,-60.671636)"
+   x1="-158.7686"
+   y1="114.56229"
+   x2="-181.66037"
+   y2="92.122795" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3983"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238518,0,0,1.4733829,308.43948,-55.209087)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient4021"
+   id="linearGradient3987-8"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.5933602,0,0,1.6487879,334.52454,-57.292511)"
+   x1="-150.48445"
+   y1="68.066399"
+   x2="-151.66144"
+   y2="136.71812" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4612-9"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4653-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,0.92781246,-26.708926,-9.8846577)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,1.4948823,-26.708926,-17.566135)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient4646-1-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.6872078,0,0,1.7459002,-216.88023,-62.506024)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath4727-3"><path
+     id="path4729-8"
+     style="display:inline;fill:url(#radialGradient4731-6);fill-opacity:1;stroke:none;stroke-width:1.75569;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 6.6174489,79.577162 c 0,4.501116 -0.078655,4.199435 54.4575341,4.199435 59.861117,0 53.307557,-0.797293 53.307557,-4.511124 0,0 -45.653941,-73.148026 -53.882546,-73.148026 -5.754082,0 -53.8825451,70.121392 -53.8825451,73.459715 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4731-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><filter
+   style="color-interpolation-filters:sRGB"
+   id="filter6647"
+   x="-0.010738018"
+   width="1.021476"
+   y="-0.013598115"
+   height="1.0271962"><feGaussianBlur
+     stdDeviation="0.35186875"
+     id="feGaussianBlur6649" /></filter><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.2566102,0,0,1.7806359,-11.676925,-148.61209)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath6708"><path
+     id="path6710"
+     style="display:block;overflow:visible;fill:url(#radialGradient6712);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 97.957558,-2.9144046 c 4.989172,0 4.654772,0.084252 4.654772,-58.3331304 0,-64.121265 -0.88374,-57.101315 -5.000255,-57.101315 0,0 -81.079449,48.903011 -81.079449,57.717223 0,6.163586 77.724639,57.7172224 81.424932,57.7172224 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient6712"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.8806383,1.9460595,0,-105.37122,252.55526)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3980-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238517,0,0,1.4733829,307.89636,-102.34302)"
+   x1="-158.7686"
+   y1="114.56229"
+   x2="-181.66037"
+   y2="92.122795" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3977-5-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238517,0,0,1.4733829,308.43947,-96.880482)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3983-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238517,0,0,1.4733829,308.43947,-96.880482)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><filter
+   id="filter5956-1"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958-2" /></filter><linearGradient
+   id="linearGradient6138-6"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop6140-2" /><stop
+     offset="1"
+     style="stop-color:#004c98;stop-opacity:1;"
+     id="stop6142-6" /></linearGradient><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,1.4948823,-26.708926,-17.566135)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath4727-9"><path
+     id="path4729-2"
+     style="display:inline;fill:url(#radialGradient4731-6);fill-opacity:1;stroke:none;stroke-width:1.75569;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 6.6174489,79.577162 c 0,4.501116 -0.078655,4.199435 54.4575341,4.199435 59.861117,0 53.307557,-0.797293 53.307557,-4.511124 0,0 -45.653941,-73.148026 -53.882546,-73.148026 -5.754082,0 -53.8825451,70.121392 -53.8825451,73.459715 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660-3-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.2566102,0,0,1.7806359,-11.676925,-148.61209)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath6708-2"><path
+     id="path6710-3"
+     style="display:block;overflow:visible;fill:url(#radialGradient6712);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 97.957558,-2.9144046 c 4.989172,0 4.654772,0.084252 4.654772,-58.3331304 0,-64.121265 -0.88374,-57.101315 -5.000255,-57.101315 0,0 -81.079449,48.903011 -81.079449,57.717223 0,6.163586 77.724639,57.7172224 81.424932,57.7172224 z"
+     clip-path="none"
+     mask="none" /></clipPath><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3980-38"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4169349,0,0,1.4662253,297.69491,-113.98606)"
+   x1="-158.7686"
+   y1="114.56229"
+   x2="-181.66037"
+   y2="92.122795" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3977-5-7"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4169349,0,0,1.4662253,308.7141,-85.499676)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3977-9"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4169349,0,0,1.4662253,308.71411,-85.499677)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><filter
+   id="filter5956-8"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958-7" /></filter><radialGradient
+   xlink:href="#linearGradient6138-6"
+   id="radialGradient3966-7"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229"
+   gradientTransform="matrix(-1.4200053,0,0,-1.4694026,-170.81867,164.16877)" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient2212-2"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.2566102,0,0,1.7806359,-130.82655,-148.61209)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath2215-8"><path
+     id="path2217-7"
+     style="display:block;overflow:visible;fill:url(#radialGradient2219);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m -21.192073,-2.9144046 c 4.989175,0 4.654775,0.084252 4.654775,-58.3331304 0,-64.121265 -0.190529,-57.101315 -5.000261,-57.101315 -3.866449,0 -81.079441,48.903011 -81.079441,57.717223 0,6.163586 77.724631,57.7172224 81.424927,57.7172224 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient4646-1-9"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.6790115,0,0,-1.7374187,-213.95106,188.97827)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><filter
+   id="filter5956-9"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958-28" /></filter></defs>
+<metadata
+   id="metadata3">
+       <ns:sfw>
+               <ns:slices />
+               <ns:sliceSourceBounds
+   x="4"
+   y="3"
+   height="120"
+   width="121"
+   bottomLeftOrigin="true" />
+       </ns:sfw>
+<rdf:RDF><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata>
+<filter
+   id="AI_Sfocatura_3">
+       <feGaussianBlur
+   stdDeviation="3"
+   id="feGaussianBlur6" />
+</filter>
+<filter
+   id="AI_Sfocatura_2">
+       <feGaussianBlur
+   stdDeviation="2"
+   id="feGaussianBlur9" />
+</filter>
+<filter
+   id="AI_Sfocatura_1">
+       <feGaussianBlur
+   stdDeviation="1"
+   id="feGaussianBlur12" />
+</filter>
+<g
+   style="display:inline;overflow:visible"
+   id="g4188"
+   transform="translate(114.46804,0.43066025)"><path
+     id="path4644-9-6"
+     clip-path="none"
+     mask="none"
+     style="display:block;overflow:visible;fill:url(#radialGradient4646-1-3);fill-opacity:1;stroke:none;stroke-width:1.7163;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 64.09375,2.7773438 c -5.529639,0 -51.78125,69.7310752 -51.78125,73.0507812 0,3.49765 0.325914,4.07313 25.3125,4.160156 -12.790331,18.506787 -25.3125,38.194749 -25.3125,39.921879 0,4.47602 -0.07495,4.17578 52.333984,4.17578 57.526166,0 51.228516,-0.79321 51.228516,-4.48633 0,0 -12.36605,-20.48088 -25.148438,-39.712891 28.663508,-0.310145 25.148438,-1.388372 25.148438,-4.369141 0,0 -43.873614,-72.7402342 -51.78125,-72.7402342 z"
+     transform="matrix(0.9453125,0,0,0.9453125,0,-0.5)" /><ellipse
+     style="display:inline;opacity:0.714;fill:url(#radialGradient4660);fill-opacity:1;stroke-width:1.19991"
+     id="ellipse4651"
+     cx="60.923374"
+     cy="10.718739"
+     rx="5.375226"
+     ry="8.0353298"
+     clip-path="url(#clipPath4727-3)"
+     transform="matrix(0.90843951,0,0,0.94004114,5.6284994,38.046278)" /><path
+     id="path5906-4"
+     style="display:inline;fill:url(#radialGradient3966-8);fill-opacity:1;stroke:none;stroke-width:1.45155;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 64.28125,9.1855469 c -4.046666,0 -43.980469,61.2464151 -43.980469,64.1738281 0,1.492305 10.891206,1.978831 26.433594,2.130859 -12.305472,17.850409 -26.433594,40.209056 -26.433594,41.951176 0,2.00377 19.606753,2.19726 43.792969,2.19726 24.186214,0 43.79297,0.0511 43.79297,-2.45312 0,-1.37663 -13.679328,-23.767601 -25.812501,-41.671878 15.19432,-0.115169 25.812501,-0.571293 25.812501,-2.410156 0,-2.310517 -38.568981,-63.9179691 -43.60547,-63.9179691 z"
+     transform="matrix(0.9453125,0,0,0.9453125,0,-0.5)" /><path
+     id="path5927-30"
+     transform="matrix(-1.4238518,0,0,1.4733829,-88.986879,-51.347128)"
+     d="m -133.87593,109.8736 c 0,0.75659 12.34725,2.31486 28.3965,2.31486 16.049243,0 30.74561,-0.17854 29.504237,-2.32866 0,-0.74972 -15.776766,0.86112 -29.955397,0.87804 -16.21667,0 -27.94534,-1.66602 -27.94534,-0.86424 z"
+     style="display:inline;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956-11)" /><path
+     id="path5966"
+     d="m 60.888339,50.285093 c -14.035817,11.78694 -27.973027,40.977523 -34.522078,48.638543 0,-1.954085 32.193858,-46.06053 34.380253,-46.06053 2.882126,0 21.814154,27.583724 31.970854,42.709237 0,-1.451003 -19.852723,-35.563055 -31.829029,-45.28725 z"
+     style="display:none;fill:url(#linearGradient3983);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+     style="display:none;opacity:0.8;fill:url(#linearGradient3977-8);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="M 60.788051,49.972659 C 57.424427,49.035357 26.157708,95.418935 26.157708,100.17475 46.322397,74.112081 54.741521,55.611736 60.772421,55.534003 c 5.774521,-0.07444 24.105611,31.967956 31.213053,39.866224 0,-3.225459 -27.398931,-46.068017 -31.197423,-45.427568 z"
+     id="path6088-3" /><path
+     id="path5910-0"
+     style="display:inline;opacity:0.892193;fill:url(#linearGradient3987-8);fill-opacity:1;stroke:none;stroke-width:0.977567;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter6647)"
+     d="m 64.410156,9.640625 c -5.005232,0 -37.658203,50.551195 -37.658203,53.488281 0,1.795633 19.370164,2.234878 23.216797,2.226563 1.305951,0 2.438376,-0.02834 3.660156,-0.04102 -11.28749,15.10966 -26.876953,39.866681 -26.876953,41.896491 0,1.79563 19.370164,2.23683 23.216797,2.22851 21.742578,0 31.254615,-1.66948 47.337891,-7.99218 C 92.150829,90.169952 81.811277,74.29098 74.011719,64.001953 81.832762,62.832583 88.614933,60.782141 97.306641,57.365234 89.078816,39.368503 67.641628,9.6406259 64.410156,9.640625 Z"
+     transform="matrix(0.9453125,0,0,0.9453125,0,-0.5)" /><path
+     id="path5974-8"
+     d="m 60.863927,50.778964 c 5.547119,2.480057 22.785993,29.908769 31.121547,44.621263 -15.203722,5.976943 -27.301266,6.916153 -47.854799,6.916163 -8.004214,0.17556 -15.753905,-0.11142 -24.529108,-1.55917 0,0 2.61412,0.34364 2.6163,0.35848 8.700832,1.44007 15.35023,1.85159 24.970825,1.85159 20.553534,0 30.324948,-1.41801 45.528676,-7.394947 C 90.559807,90.994524 69.335275,55.375726 60.863927,50.778964 Z"
+     style="display:inline;opacity:0.6;fill:url(#linearGradient3980-31);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><ellipse
+     style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient4660-3-0);fill-opacity:1;stroke-width:1.46802"
+     id="ellipse4651-6-2"
+     cx="98.442719"
+     cy="-114.92043"
+     rx="6.7545643"
+     ry="9.5713205"
+     clip-path="url(#clipPath6708-2)"
+     transform="matrix(0,0.84808361,-0.84808361,0,9.1683939,-11.895505)" /><ellipse
+     style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient4660-1);fill-opacity:1;stroke-width:1.19991"
+     id="ellipse4651-8"
+     cx="60.923374"
+     cy="10.718739"
+     rx="5.375226"
+     ry="8.0353298"
+     clip-path="url(#clipPath4727-9)"
+     transform="matrix(0.90843951,0,0,0.94004114,5.6285005,-3.6251145)" /><path
+     id="path5927-3"
+     transform="matrix(-1.4238518,0,0,1.4733829,-88.986879,-93.018521)"
+     d="m -133.87593,109.8736 c 0,0.75659 12.34725,2.31486 28.3965,2.31486 16.049243,0 30.74561,-0.17854 29.504237,-2.32866 0,-0.74972 -15.776766,0.86112 -29.955397,0.87804 -16.21667,0 -27.94534,-1.66602 -27.94534,-0.86424 z"
+     style="display:none;overflow:visible;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956-1)" /><path
+     id="path5966-6"
+     d="M 60.888338,8.6136985 C 46.852521,20.400638 32.915312,49.591219 26.366261,57.252239 c 0,-1.954085 32.193856,-46.060528 34.380252,-46.060528 2.882125,0 21.814153,27.583723 31.970852,42.709235 0,-1.451002 -19.852722,-35.563053 -31.829027,-45.2872475 z"
+     style="display:inline;overflow:visible;fill:url(#linearGradient3983-6);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+     style="display:inline;overflow:visible;opacity:0.8;fill:url(#linearGradient3977-5-0);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="M 60.78805,8.3012645 C 57.424426,7.3639625 26.157708,53.747538 26.157708,58.503356 46.322397,32.440685 54.74152,13.940341 60.77242,13.862608 c 5.774521,-0.07444 24.105609,31.967955 31.213051,39.866222 0,-3.225459 -27.39893,-46.0680145 -31.197421,-45.4275655 z"
+     id="path6088-1" /><path
+     id="path5974-2"
+     d="M 60.863926,9.1075695 C 66.411044,11.587626 83.649918,39.016337 91.985471,53.72883 76.78175,59.705776 64.684206,60.644986 44.130674,60.644996 c -8.004214,0.17556 -15.753905,-0.11142 -24.529107,-1.55917 0,0 2.61412,0.34364 2.616301,0.35848 8.700831,1.44007 15.350229,1.85159 24.970823,1.85159 20.553533,0 30.324947,-1.41801 45.528674,-7.39495 C 90.559805,49.323128 69.335273,13.704331 60.863926,9.1075695 Z"
+     style="display:inline;overflow:visible;opacity:0.6;fill:url(#linearGradient3980-3);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><ellipse
+     style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient4660-3);fill-opacity:1;stroke-width:1.46802"
+     id="ellipse4651-6"
+     cx="98.442719"
+     cy="-114.92043"
+     rx="6.7545643"
+     ry="9.5713205"
+     clip-path="url(#clipPath6708)"
+     transform="matrix(0,0.84808361,-0.84808361,0,9.1683928,29.775887)" /></g><path
+   id="path4644-9-4"
+   clip-path="none"
+   mask="none"
+   style="display:inline;overflow:visible;fill:url(#radialGradient4646-1-9);fill-opacity:1;stroke:none;stroke-width:1.70796;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 48.996094,3.2890625 c -34.924941,0.00375 -34.867188,0.2626655 -34.867188,4.1601563 0,1.7785156 13.340524,22.6927072 26.515625,41.6406252 -25.77183,0.07605 -26.158203,0.620174 -26.158203,4.142578 0,3.30358 46.026521,72.695308 51.529297,72.695308 7.869224,0 51.529295,-68.934795 51.529295,-72.386714 0,-3.497522 3.56634,-4.249893 -25.824217,-4.41211 C 104.5964,30.325454 117.1875,9.6112987 117.1875,7.7578125 c 0,-4.2940731 6.26821,-4.4648437 -50.978516,-4.4648437 -6.519293,0 -12.223613,-0.00444 -17.21289,-0.00391 z"
+   transform="matrix(0.9453125,0,0,0.9453125,0,-0.5)" /><ellipse
+   style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient2212);fill-opacity:1;stroke-width:1.46802"
+   id="ellipse2210"
+   cx="-20.706902"
+   cy="-114.92044"
+   rx="6.7545643"
+   ry="9.5713205"
+   clip-path="url(#clipPath2215)"
+   transform="matrix(0,-0.84396375,-0.84396375,0,11.234656,31.936247)" /><path
+   id="path5906-0"
+   style="display:none;overflow:visible;fill:url(#radialGradient3966-7);fill-opacity:1;stroke:none;stroke-width:1.4445;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 65.658203,7.71875 c -24.068721,0 -43.580078,0.193462 -43.580078,2.1875 0,1.795763 15.091594,25.625246 27.619141,43.65625 -15.958406,0.141035 -27.261719,0.612483 -27.261719,2.126953 0,2.913193 39.740569,63.863277 43.767578,63.863277 5.012022,0 43.392575,-61.310079 43.392575,-63.609371 0,-1.895358 -11.34,-2.317535 -27.333981,-2.412109 12.369807,-18.086365 26.976561,-41.952388 26.976561,-43.371094 0,-2.4920423 -19.511357,-2.441406 -43.580077,-2.441406 z"
+   transform="matrix(0.9453125,0,0,0.9453125,0,-0.5)" /><path
+   id="path5927"
+   transform="matrix(-1.416935,0,0,-1.4662255,-86.443793,213.22313)"
+   d="m -94.163275,111.23107 c 0,0.75659 -13.273635,0.67226 2.775618,0.67226 16.049243,0 16.182211,-0.40609 15.412464,-2.04353 0,-0.74972 -8.28603,0.63356 -9.963979,0.65048 -2.713999,0 -8.224103,-0.081 -8.224103,0.72079 z"
+   style="display:inline;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956)" /><path
+   style="display:none;opacity:0.553303;fill:url(#linearGradient3977);fill-opacity:1;stroke:none;stroke-width:0.919617;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 63.907914,49.72718 c -3.347285,-0.09124 -44.185341,0.414611 -42.6998,2.416723 0.156035,3.223387 3.47087,7.729547 6.167659,12.283306 6.188434,8.26844 9.688288,14.053458 15.281484,21.163376 C 38.746987,79.589296 22.79642,56.91469 26.579556,54.710975 30.36269,52.50726 61.059015,52.609263 63.829223,52.609263 c 2.686531,0 29.838773,-0.0074 34.294776,1.31295 4.732251,1.402173 -11.441664,24.112099 -16.119987,31.543733 4.686412,-5.626842 7.211285,-8.017233 14.973337,-20.018484 1.909898,-2.952971 5.722061,-10.041587 6.006891,-12.464649 3.18249,-3.707331 -35.107206,-3.144469 -39.076326,-3.255633 z"
+   id="path6088" />
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_281_"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#00892C"
+   id="stop645" />
+       <stop
+   offset="1"
+   style="stop-color:#006E29"
+   id="stop647" />
+</radialGradient>
+
+
+
+
+
+<linearGradient
+   id="XMLID_283_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop671" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop673" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_284_"
+   gradientUnits="userSpaceOnUse"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop680" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop682" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop684" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_285_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897">
+       <stop
+   offset="0"
+   style="stop-color:#BBBBBB"
+   id="stop689" />
+       <stop
+   offset="0.2426"
+   style="stop-color:#EEEEEE"
+   id="stop691" />
+       <stop
+   offset="0.3965"
+   style="stop-color:#DDDDDD"
+   id="stop693" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#FFFFFF"
+   id="stop695" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_286_"
+   gradientUnits="userSpaceOnUse"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop700" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop702" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop704" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_287_"
+   gradientUnits="userSpaceOnUse"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251"
+   gradientTransform="matrix(0,-1,1,0,-166,216)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop709" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop711" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop713" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_288_"
+   gradientUnits="userSpaceOnUse"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop718" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop720" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop722" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_289_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop727" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop729" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop731" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_290_"
+   gradientUnits="userSpaceOnUse"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851"
+   gradientTransform="matrix(0,1,-1,0,198,220.0005)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop736" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop738" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop740" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_291_"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop745" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop747" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop749" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_292_"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop754" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop756" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop758" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_293_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop763" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop765" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop767" />
+</linearGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_298_"
+   gradientUnits="userSpaceOnUse"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop846" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop848" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_299_"
+   gradientUnits="userSpaceOnUse"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop853" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop855" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_300_"
+   gradientUnits="userSpaceOnUse"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop860" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop862" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_301_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop867" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop869" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_302_"
+   cx="38.211399"
+   cy="62.580101"
+   r="0.32710001"
+   fx="38.123001"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop874" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop876" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop878" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_303_"
+   cx="40.436001"
+   cy="62.580101"
+   r="0.32710001"
+   fx="40.348598"
+   fy="62.5037"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop883" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop885" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop887" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_304_"
+   cx="42.660599"
+   cy="62.580101"
+   r="0.32710001"
+   fx="42.561901"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop892" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop894" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop896" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_305_"
+   cx="44.8857"
+   cy="62.580101"
+   r="0.32710001"
+   fx="44.754902"
+   fy="62.4711"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop901" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop903" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop905" />
+</radialGradient>
+
+
+
+
+<linearGradient
+   id="XMLID_306_"
+   gradientUnits="userSpaceOnUse"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop918" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop920" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_307_"
+   gradientUnits="userSpaceOnUse"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop925" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop927" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_308_"
+   gradientUnits="userSpaceOnUse"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop932" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop934" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_309_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop939" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop941" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_310_"
+   cx="52.3447"
+   cy="67.421898"
+   r="0.32710001"
+   fx="52.256302"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop946" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop948" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop950" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_311_"
+   cx="54.569302"
+   cy="67.421898"
+   r="0.32710001"
+   fx="54.481899"
+   fy="67.345497"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop955" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop957" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop959" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_312_"
+   cx="56.7939"
+   cy="67.421898"
+   r="0.32710001"
+   fx="56.695202"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop964" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop966" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop968" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_313_"
+   cx="59.0186"
+   cy="67.421898"
+   r="0.32710001"
+   fx="58.887699"
+   fy="67.312897"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop973" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop975" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop977" />
+</radialGradient>
+
+
+
+<linearGradient
+   id="XMLID_314_"
+   gradientUnits="userSpaceOnUse"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop988" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop990" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_315_"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop995" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop997" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop999" />
+</radialGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_332_"
+   cx="16.095699"
+   cy="16.320299"
+   r="5.3958998"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1606" />
+       <stop
+   offset="1"
+   style="stop-color:#B2F8FF"
+   id="stop1608" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_333_"
+   gradientUnits="userSpaceOnUse"
+   x1="16.096201"
+   y1="20.246599"
+   x2="16.096201"
+   y2="12.3945">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1613" />
+       <stop
+   offset="1"
+   style="stop-color:#89BFC4"
+   id="stop1615" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_334_"
+   cx="16.095699"
+   cy="26.1353"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#F9CADE"
+   id="stop1620" />
+       <stop
+   offset="1"
+   style="stop-color:#E88BB2"
+   id="stop1622" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_335_"
+   cx="16.095699"
+   cy="36.211399"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D8E8C2"
+   id="stop1627" />
+       <stop
+   offset="0.2713"
+   style="stop-color:#D5E6BE"
+   id="stop1629" />
+       <stop
+   offset="0.563"
+   style="stop-color:#CBE1B1"
+   id="stop1631" />
+       <stop
+   offset="0.8632"
+   style="stop-color:#BAD79B"
+   id="stop1633" />
+       <stop
+   offset="1"
+   style="stop-color:#B1D28F"
+   id="stop1635" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_336_"
+   cx="16.095699"
+   cy="46.026402"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#FFDFBF"
+   id="stop1640" />
+       <stop
+   offset="0.2425"
+   style="stop-color:#FFDDBB"
+   id="stop1642" />
+       <stop
+   offset="0.5033"
+   style="stop-color:#FFD6AE"
+   id="stop1644" />
+       <stop
+   offset="0.7716"
+   style="stop-color:#FFCB98"
+   id="stop1646" />
+       <stop
+   offset="1"
+   style="stop-color:#FFBF80"
+   id="stop1648" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_337_"
+   cx="16.095699"
+   cy="55.971699"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555753"
+   id="stop1653" />
+       <stop
+   offset="0.3128"
+   style="stop-color:#515350"
+   id="stop1655" />
+       <stop
+   offset="0.6491"
+   style="stop-color:#444846"
+   id="stop1657" />
+       <stop
+   offset="0.9952"
+   style="stop-color:#2E3436"
+   id="stop1659" />
+       <stop
+   offset="1"
+   style="stop-color:#2E3436"
+   id="stop1661" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_338_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="16.320299"
+   x2="2907.6094"
+   y2="16.320299"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1666" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1668" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_339_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="26.1353"
+   x2="2907.6094"
+   y2="26.1353"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_347_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1673" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_340_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="36.211399"
+   x2="2907.6094"
+   y2="36.211399"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1680" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1682" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_341_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="46.026402"
+   x2="2907.6094"
+   y2="46.026402"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1687" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1689" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_342_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="55.971699"
+   x2="2907.6094"
+   y2="55.971699"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1694" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1696" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_349_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1801" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1803" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1805" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1807" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1809" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1811" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1813" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1815" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1817" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_350_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1822" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1824" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1826" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1828" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1830" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1832" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1834" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1836" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1838" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_351_"
+   gradientUnits="userSpaceOnUse"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1843" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1845" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1847" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1849" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1851" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1853" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1855" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1857" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1859" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_352_"
+   gradientUnits="userSpaceOnUse"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)">
+       <stop
+   offset="0"
+   style="stop-color:#EEEEEC"
+   id="stop1864" />
+       <stop
+   offset="0.15"
+   style="stop-color:#D3D7CF"
+   id="stop1866" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1868" />
+       <stop
+   offset="0.5266"
+   style="stop-color:#EBF0E7"
+   id="stop1870" />
+       <stop
+   offset="0.8"
+   style="stop-color:#ADB0AA"
+   id="stop1872" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1874" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_374_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2052" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2054" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2056" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2058" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2060" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2062" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2064" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2066" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_375_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2071" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2073" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2075" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2077" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_376_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2082" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2084" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2086" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2088" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2090" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2092" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2094" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2096" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_377_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2101" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2103" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2105" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2107" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_378_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2112" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2114" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_379_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2119" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2121" />
+</linearGradient>
+
+<path
+   style="display:none;overflow:visible;opacity:0.553303;fill:url(#linearGradient3977-5);fill-opacity:1;stroke:none;stroke-width:0.919617;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 63.907913,49.727182 c -3.347285,-0.09124 -44.18534,0.414611 -42.699799,2.416722 0.156035,3.223387 3.470869,7.729546 6.167658,12.283306 6.188434,8.268439 9.688288,14.053457 15.281484,21.163375 -3.910269,-6.001289 -21.825604,-29.797899 -18.042468,-32.001613 3.783135,-2.203716 36.53739,-2.383715 39.307598,-2.383715 2.686529,0 31.617211,0.08716 36.073216,1.40745 4.732238,1.402173 -13.313271,25.421606 -17.991592,32.853239 4.686412,-5.626842 7.211285,-8.017232 14.973339,-20.018484 1.909898,-2.95297 5.722061,-10.041586 6.006891,-12.464648 3.83741,-3.894832 -35.107208,-3.144468 -39.076327,-3.255632 z"
+   id="path6088-6" /><path
+   id="path5974"
+   d="m 99.779532,60.25412 c -3.212856,6.039267 -10.077477,16.61741 -16.781954,25.948173 -4.168766,5.801758 -9.35306,5.929032 -16.952559,6.116531 -9.1692,0.226229 -23.759362,-4.482249 -22.441407,-4.110745 24.942226,7.03066 35.660397,-0.459783 39.295233,-4.039642 4.192256,-6.175578 8.483042,-11.520132 16.880687,-23.914317 z"
+   style="display:none;opacity:0.6;fill:url(#linearGradient3980);fill-opacity:1;stroke:none;stroke-width:0.919617;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   id="path5927-7"
+   transform="matrix(-1.416935,0,0,-1.4662255,-86.037762,275.39831)"
+   d="m -119.15482,128.75481 c 2.49312,-1.33679 12.14805,-15.80112 13.9384,-15.80112 1.79229,0 14.434802,16.43913 13.193429,14.28901 -2.046101,-3.30118 -10.121139,-16.75206 -13.281559,-16.75206 -2.68494,0 -15.62003,20.58766 -13.85027,18.26417 z"
+   style="display:inline;overflow:visible;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956-3)" /><ellipse
+   style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient2212-2);fill-opacity:1;stroke-width:1.46802"
+   id="ellipse2210-1"
+   cx="-20.706902"
+   cy="-114.92044"
+   rx="6.7545643"
+   ry="9.5713205"
+   clip-path="url(#clipPath2215-8)"
+   transform="matrix(0,-0.84396375,-0.84396375,0,10.896858,-11.343926)" /><path
+   style="display:none;overflow:visible;opacity:0.553303;fill:url(#linearGradient3977-9);fill-opacity:1;stroke:none;stroke-width:0.919617;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 63.570113,6.4470063 c -3.347285,-0.09124 -44.185339,0.414611 -42.699798,2.416723 0.156035,3.2233867 3.470869,7.7295467 6.167658,12.2833057 6.188434,8.26844 9.688288,14.053457 15.281484,21.163375 C 38.409187,36.309121 22.45862,13.634516 26.241756,11.430801 30.02489,9.2270863 60.721214,9.3290893 63.491422,9.3290893 c 2.686531,0 29.838772,-0.0074 34.294774,1.3129497 4.732254,1.402173 -11.441663,24.112098 -16.119985,31.543732 4.686411,-5.626842 7.211284,-8.017233 14.973336,-20.018484 1.909898,-2.95297 5.722063,-10.041586 6.006893,-12.4646477 3.18249,-3.707331 -35.107207,-3.144469 -39.076327,-3.255633 z"
+   id="path6088-7" /><path
+   style="display:none;overflow:visible;opacity:0.553303;fill:url(#linearGradient3977-5-7);fill-opacity:1;stroke:none;stroke-width:0.919617;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 63.570112,6.4470083 c -3.347285,-0.09124 -44.185338,0.414611 -42.699797,2.416722 0.156035,3.2233867 3.470868,7.7295457 6.167657,12.2833057 6.188434,8.268439 9.688287,14.053456 15.281484,21.163374 C 38.409187,36.309121 20.493853,12.512512 24.276988,10.308798 28.060123,8.1050823 60.814377,7.9250833 63.584585,7.9250833 c 2.686529,0 31.617209,0.08716 36.073214,1.40745 4.732241,1.4021727 -13.31327,25.4216047 -17.99159,32.8532377 4.686411,-5.626842 7.211284,-8.017232 14.973338,-20.018484 1.909898,-2.952969 5.722063,-10.041585 6.006893,-12.4646467 3.83741,-3.894832 -35.107209,-3.144468 -39.076328,-3.255632 z"
+   id="path6088-6-0" /><path
+   id="path5974-86"
+   d="M 99.441729,16.973945 C 96.228873,23.013212 89.364253,33.591356 82.659777,42.922117 78.49101,48.723876 73.306717,48.85115 65.707218,49.038649 56.538019,49.264878 41.947857,44.5564 43.265811,44.927903 68.208037,51.958564 78.926207,44.46812 82.561043,40.888262 86.753299,34.712684 91.044085,29.36813 99.441729,16.973945 Z"
+   style="display:none;overflow:visible;opacity:0.6;fill:url(#linearGradient3980-38);fill-opacity:1;stroke:none;stroke-width:0.919617;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   id="path5910"
+   style="display:inline;opacity:0.892193;fill:url(#linearGradient3987);fill-opacity:1;stroke:none;stroke-width:0.972818;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 49.451901,52.246536 c -3.827947,-0.0083 -26.034597,0.62717 -27.117917,3.343308 C 23.821888,60.978125 46.917969,94.5 46.917969,94.5 c 0,0 16.226179,4.411739 24.060547,3.619141 15.213337,1.780365 19.885703,-10.650533 25.5,-19.673829 C 102.09281,69.422017 105.48165,62.717543 109.42188,55.667969 107.79226,53.843797 95.004386,52.603697 83.731522,52.58498 L 99.071508,28.667972 108.86548,9.8840287 C 92.460906,4.7357302 73.101644,6.5426558 66.716223,6.5426558 c -5.922405,0 -29.113549,-1.3034151 -44.638535,3.3627774 L 33.738379,27.912995 Z"
+   transform="matrix(0.9453125,0,0,0.9453125,0,-0.5)" /><path
+   id="path5927-301"
+   transform="matrix(-1.416935,0,0,-1.4662255,-31.298589,211.88587)"
+   d="m -94.989051,108.8943 c 0,0.75659 -3.36603,2.83814 4.60511,2.95237 16.047479,0.22997 13.240342,-0.21185 13.413847,-1.5075 0,-0.74972 3.143381,0.0966 -11.03525,0.11354 -14.093486,-0.11332 -6.983707,-2.36017 -6.983707,-1.55841 z"
+   style="display:inline;overflow:visible;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956-9)" /><path
+   id="path5927-8"
+   transform="matrix(-1.416935,0,0,-1.4662255,-86.781596,169.94297)"
+   d="m -133.87593,109.8736 c 0,0.75659 12.34725,2.31486 28.3965,2.31486 16.049243,0 30.74561,-0.17854 29.504237,-2.32866 0,-0.74972 -15.776766,0.86112 -29.955397,0.87804 -16.21667,0 -27.94534,-1.66602 -27.94534,-0.86424 z"
+   style="display:inline;overflow:visible;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956-8)" /></svg>
diff --git a/flags/standard/arrow-2up-blue.svg b/flags/standard/arrow-2up-blue.svg
new file mode 100644 (file)
index 0000000..8f87a47
--- /dev/null
@@ -0,0 +1,3698 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:ns="http://ns.adobe.com/SaveForWeb/1.0/"
+   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"
+   version="1.0"
+   id="Livello_1"
+   width="128"
+   height="128"
+   viewBox="0 0 121 120"
+   overflow="visible"
+   enable-background="new 0 0 121 120"
+   xml:space="preserve"
+   style="overflow:visible"><defs
+   id="defs2126"><linearGradient
+   id="linearGradient3969"><stop
+     style="stop-color:#bfbfff;stop-opacity:1;"
+     offset="0"
+     id="stop3965" /><stop
+     style="stop-color:#bfbfff;stop-opacity:0;"
+     offset="1"
+     id="stop3967" /></linearGradient><linearGradient
+   id="linearGradient4021"><stop
+     id="stop4023"
+     offset="0"
+     style="stop-color:#e2e9e4;stop-opacity:1" /><stop
+     id="stop4025"
+     offset="1"
+     style="stop-color:#a4c0e4;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4013"><stop
+     id="stop4015"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop4019"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4007"><stop
+     id="stop4009"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4011"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4001"><stop
+     id="stop4003"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4005"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient2868"><stop
+     id="stop2870"
+     offset="0"
+     style="stop-color:#00c4cc;stop-opacity:1" /><stop
+     id="stop2872"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient6212"><stop
+     style="stop-color:#041424;stop-opacity:1;"
+     offset="0"
+     id="stop6214" /><stop
+     style="stop-color:#113e69;stop-opacity:0"
+     offset="1"
+     id="stop6216" /></linearGradient><linearGradient
+   id="linearGradient6181"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop6183" /><stop
+     id="stop6189"
+     offset="0.44777471"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#e0e0e0;stop-opacity:1;"
+     offset="0.59900987"
+     id="stop6191" /><stop
+     style="stop-color:#8f8f8f;stop-opacity:1;"
+     offset="1"
+     id="stop6185" /></linearGradient><linearGradient
+   id="linearGradient6138"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop6140" /><stop
+     offset="1"
+     style="stop-color:#004c98;stop-opacity:1;"
+     id="stop6142" /></linearGradient><linearGradient
+   id="linearGradient5990"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5992" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5994" /></linearGradient><linearGradient
+   id="linearGradient5960"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop5962" /><stop
+     offset="1"
+     style="stop-color:#003871;stop-opacity:1;"
+     id="stop5964" /></linearGradient><linearGradient
+   id="linearGradient5919"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5921" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5923" /></linearGradient><linearGradient
+   id="linearGradient4353"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101">
+               <stop
+   offset="0"
+   style="stop-color:#1174ac;stop-opacity:1;"
+   id="stop4355" />
+               <stop
+   offset="0.1"
+   style="stop-color:#68b4f2;stop-opacity:1;"
+   id="stop4357" />
+               <stop
+   offset="1"
+   style="stop-color:#00a1f3;stop-opacity:1;"
+   id="stop4359" />
+       </linearGradient><linearGradient
+   id="linearGradient4343"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001">
+               <stop
+   offset="0"
+   style="stop-color:#0087bf;stop-opacity:1;"
+   id="stop4345" />
+               <stop
+   offset="0.05"
+   style="stop-color:#ffffff;stop-opacity:0;"
+   id="stop4347" />
+               <stop
+   offset="0.94999999"
+   style="stop-color:#ffffff;stop-opacity:0.6392405;"
+   id="stop4349" />
+               <stop
+   offset="1"
+   style="stop-color:#116dac;stop-opacity:1;"
+   id="stop4351" />
+       </linearGradient><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8736"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8738"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8740"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8742"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8744"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8746"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8748"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><radialGradient
+   xlink:href="#XMLID_281_"
+   id="radialGradient8750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699" /><linearGradient
+   xlink:href="#XMLID_283_"
+   id="linearGradient8752"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804" /><linearGradient
+   xlink:href="#XMLID_284_"
+   id="linearGradient8754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659" /><linearGradient
+   xlink:href="#XMLID_285_"
+   id="linearGradient8756"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897" /><linearGradient
+   xlink:href="#XMLID_286_"
+   id="linearGradient8758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202" /><linearGradient
+   xlink:href="#XMLID_287_"
+   id="linearGradient8760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,-166,216)"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251" /><linearGradient
+   xlink:href="#XMLID_288_"
+   id="linearGradient8762"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904" /><linearGradient
+   xlink:href="#XMLID_289_"
+   id="linearGradient8764"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_290_"
+   id="linearGradient8766"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,198,220.0005)"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851" /><linearGradient
+   xlink:href="#XMLID_291_"
+   id="linearGradient8768"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_292_"
+   id="linearGradient8770"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_293_"
+   id="linearGradient8772"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601" /><linearGradient
+   xlink:href="#XMLID_298_"
+   id="linearGradient8774"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_299_"
+   id="linearGradient8776"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_300_"
+   id="linearGradient8778"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_301_"
+   id="linearGradient8780"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268" /><radialGradient
+   xlink:href="#XMLID_302_"
+   id="radialGradient8782"
+   gradientUnits="userSpaceOnUse"
+   cx="38.211399"
+   cy="62.580101"
+   fx="38.123001"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_303_"
+   id="radialGradient8784"
+   gradientUnits="userSpaceOnUse"
+   cx="40.436001"
+   cy="62.580101"
+   fx="40.348598"
+   fy="62.5037"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_304_"
+   id="radialGradient8786"
+   gradientUnits="userSpaceOnUse"
+   cx="42.660599"
+   cy="62.580101"
+   fx="42.561901"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_305_"
+   id="radialGradient8788"
+   gradientUnits="userSpaceOnUse"
+   cx="44.8857"
+   cy="62.580101"
+   fx="44.754902"
+   fy="62.4711"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_306_"
+   id="linearGradient8790"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_307_"
+   id="linearGradient8792"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_308_"
+   id="linearGradient8794"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_309_"
+   id="linearGradient8796"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501" /><radialGradient
+   xlink:href="#XMLID_310_"
+   id="radialGradient8798"
+   gradientUnits="userSpaceOnUse"
+   cx="52.3447"
+   cy="67.421898"
+   fx="52.256302"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_311_"
+   id="radialGradient8800"
+   gradientUnits="userSpaceOnUse"
+   cx="54.569302"
+   cy="67.421898"
+   fx="54.481899"
+   fy="67.345497"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_312_"
+   id="radialGradient8802"
+   gradientUnits="userSpaceOnUse"
+   cx="56.7939"
+   cy="67.421898"
+   fx="56.695202"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_313_"
+   id="radialGradient8804"
+   gradientUnits="userSpaceOnUse"
+   cx="59.0186"
+   cy="67.421898"
+   fx="58.887699"
+   fy="67.312897"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_314_"
+   id="linearGradient8806"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601" /><radialGradient
+   xlink:href="#XMLID_315_"
+   id="radialGradient8808"
+   gradientUnits="userSpaceOnUse"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8810"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_207_"
+   id="linearGradient8812"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-10.79"
+   y1="0"
+   x2="10.7891"
+   y2="0" /><linearGradient
+   xlink:href="#XMLID_208_"
+   id="linearGradient8814"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-0.00048828119"
+   y1="-10.7891"
+   x2="-0.00048877468"
+   y2="0.5" /><linearGradient
+   xlink:href="#XMLID_210_"
+   id="linearGradient8816"
+   gradientUnits="userSpaceOnUse"
+   x1="-15.0005"
+   y1="6.5"
+   x2="14.9995"
+   y2="6.5" /><linearGradient
+   xlink:href="#XMLID_349_"
+   id="linearGradient8832"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798" /><linearGradient
+   xlink:href="#XMLID_350_"
+   id="linearGradient8834"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001" /><linearGradient
+   xlink:href="#XMLID_351_"
+   id="linearGradient8836"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101" /><linearGradient
+   xlink:href="#XMLID_352_"
+   id="linearGradient8838"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8840"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient8842"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient8844"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient8846"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient8848"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19528"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19530"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><radialGradient
+   id="XMLID_328_"
+   cx="112.0176"
+   cy="70.366203"
+   r="7.0664001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+               <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop1539" />
+               <stop
+   offset="0.6568"
+   style="stop-color:#555753"
+   id="stop1541" />
+               <stop
+   offset="0.8402"
+   style="stop-color:#DDDDDD"
+   id="stop1543" />
+               <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1545" />
+       </radialGradient><linearGradient
+   xlink:href="#XMLID_220_"
+   id="linearGradient3706"
+   gradientUnits="userSpaceOnUse"
+   x1="0.7852"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><linearGradient
+   xlink:href="#XMLID_221_"
+   id="linearGradient3708"
+   gradientUnits="userSpaceOnUse"
+   x1="5.2343998"
+   y1="91.173798"
+   x2="5.2343998"
+   y2="68.926804" /><linearGradient
+   xlink:href="#XMLID_222_"
+   id="linearGradient3710"
+   gradientUnits="userSpaceOnUse"
+   x1="2.2246001"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><radialGradient
+   xlink:href="#XMLID_353_"
+   id="radialGradient3712"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="579.21582"
+   r="1.702" /><radialGradient
+   xlink:href="#XMLID_354_"
+   id="radialGradient3714"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="581.23828"
+   r="1.8181" /><linearGradient
+   xlink:href="#XMLID_355_"
+   id="linearGradient3716"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.5751,3.367,522.1128)"
+   x1="1.5889"
+   y1="743.79388"
+   x2="1.5889"
+   y2="741.36517" /><radialGradient
+   xlink:href="#XMLID_356_"
+   id="radialGradient3718"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5898"
+   cy="582.99017"
+   r="1.6033" /><radialGradient
+   xlink:href="#XMLID_357_"
+   id="radialGradient3720"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="62.296902"
+   r="1.6866" /><radialGradient
+   xlink:href="#XMLID_358_"
+   id="radialGradient3722"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="64.318398"
+   r="1.8414" /><radialGradient
+   xlink:href="#XMLID_359_"
+   id="radialGradient3724"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.6543"
+   cy="65.9375"
+   r="1.5302" /><linearGradient
+   xlink:href="#XMLID_360_"
+   id="linearGradient3726"
+   gradientUnits="userSpaceOnUse"
+   x1="5.54"
+   y1="62.4492"
+   x2="7.1973"
+   y2="62.4492" /><linearGradient
+   xlink:href="#linearGradient4353"
+   id="linearGradient3728"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101" /><linearGradient
+   xlink:href="#linearGradient4343"
+   id="linearGradient3730"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001"
+   gradientTransform="matrix(1,0,0,0.7186714,0,19.059732)" /><linearGradient
+   xlink:href="#XMLID_363_"
+   id="linearGradient3732"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.2826,0,380.4185)"
+   x1="13.0859"
+   y1="1033.9258"
+   x2="19.367701"
+   y2="1033.9258" /><linearGradient
+   xlink:href="#XMLID_364_"
+   id="linearGradient3734"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.3392,0,157.863)"
+   x1="13.0859"
+   y1="275.6973"
+   x2="19.367701"
+   y2="275.6973" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3736"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><radialGradient
+   xlink:href="#XMLID_366_"
+   id="radialGradient3738"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="48.597198"
+   r="1.1084" /><radialGradient
+   xlink:href="#XMLID_367_"
+   id="radialGradient3740"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="49.9258"
+   r="1.2096" /><radialGradient
+   xlink:href="#XMLID_368_"
+   id="radialGradient3742"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.15143"
+   cy="50.9888"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_369_"
+   id="linearGradient3744"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,1,-533,8.5)"
+   x1="-547.96039"
+   y1="54.700199"
+   x2="-546.87109"
+   y2="54.700199" /><radialGradient
+   xlink:href="#XMLID_370_"
+   id="radialGradient3746"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="727.67682"
+   r="1.1083" /><radialGradient
+   xlink:href="#XMLID_371_"
+   id="radialGradient3748"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="729.00592"
+   r="1.21" /><radialGradient
+   xlink:href="#XMLID_372_"
+   id="radialGradient3750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.15143"
+   cy="730.06842"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_373_"
+   id="linearGradient3752"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,-533,649.9141)"
+   x1="-547.96039"
+   y1="553.74408"
+   x2="-546.87109"
+   y2="553.74408" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient3754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient3756"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient3758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient3760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3762"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3764"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient4705"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient4707"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,510,186)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient4709"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient4711"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient4713"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,286,472.002)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient4715"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,60,-162.002)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient5061"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient5063"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,510,186)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient5065"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient5067"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient5069"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,286,472.002)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient5071"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,60,-162.002)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   id="linearGradient2528"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop2530" /><stop
+     id="stop2532"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop2534" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2536"><stop
+     id="stop2538"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2540"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2542"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop2544" /><stop
+     id="stop2546"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop2548" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient2550"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient2552"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop2554" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop2556" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2558"><stop
+     id="stop2560"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2562"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2564"><stop
+     id="stop2566"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop2568"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient2570"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop2572" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop2574" /></linearGradient><linearGradient
+   id="linearGradient2576"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop2578" /><stop
+     id="stop2580"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2582"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop2584" /></linearGradient><linearGradient
+   id="linearGradient2586"><stop
+     id="stop2588"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2590"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2592"><stop
+     id="stop2594"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop2596"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2604"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop2606" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop2608" /></linearGradient><radialGradient
+   xlink:href="#linearGradient3291"
+   id="radialGradient2610"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.197802,0,92.82166)"
+   cx="63.912209"
+   cy="115.70919"
+   fx="63.975182"
+   fy="116.88514"
+   r="63.912209" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient2612"
+   xlink:href="#linearGradient5073" /><foreignObject
+   id="foreignObject2620"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="linearGradient2622"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop2624" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop2626" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop2628" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop2630" /></linearGradient><linearGradient
+   id="linearGradient2632"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop2634" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop2636" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop2638" /></linearGradient><linearGradient
+   id="linearGradient2640"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop2642" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop2644" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2646"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient3711"
+   id="radialGradient2648"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   xlink:href="#linearGradient3711"
+   id="linearGradient2650"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.591298,-1.591298,0,-146.0489,141.4862)"
+   x1="-88.058083"
+   y1="-131.93112"
+   x2="-45.096584"
+   y2="-131.93112" /><linearGradient
+   xlink:href="#linearGradient6537"
+   id="linearGradient2652"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   x1="-70.002899"
+   y1="-383.9971"
+   x2="-11.91648"
+   y2="-383.9971" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2654"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2656"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   id="linearGradient8332"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop8334" /><stop
+     id="stop8340"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop8336" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient6537"><stop
+     id="stop6539"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop6541"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3954"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop3956" /><stop
+     id="stop3962"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop3958" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient3112"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient26907"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop26909" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop26911" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3711"><stop
+     id="stop3713"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop3715"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3081"><stop
+     id="stop3083"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop3085"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient3290"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop3292" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop3294" /></linearGradient><linearGradient
+   id="linearGradient3638"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop3640" /><stop
+     id="stop3661"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop3659"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop3642" /></linearGradient><linearGradient
+   id="linearGradient1563"><stop
+     id="stop5369"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop5371"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient3273"><stop
+     id="stop3275"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop3277"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient12948"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop12950" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop12952" /></linearGradient><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient5079"
+   xlink:href="#linearGradient5073" /><linearGradient
+   id="linearGradient5073"><stop
+     id="stop5075"
+     offset="0"
+     style="stop-color:#000000;stop-opacity:1;" /><stop
+     id="stop5077"
+     offset="1"
+     style="stop-color:#000000;stop-opacity:0;" /></linearGradient><foreignObject
+   id="foreignObject7221"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="XMLID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop7227" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop7229" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop7231" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop7233" /></linearGradient><linearGradient
+   id="XMLID_3_"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop7261" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop7263" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop7265" /></linearGradient><linearGradient
+   id="XMLID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop7270" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop7272" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2149"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8330"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8345"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18746"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18674"
+   xlink:href="#linearGradient18668" />
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18649">
+                       <stop
+   id="stop18651"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop18653"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18657"
+   xlink:href="#XMLID_2_" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient15986"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15977"
+   xlink:href="#linearGradient2309" /><linearGradient
+   gradientTransform="translate(1.470416e-5,0)"
+   y2="30.441185"
+   x2="27.719746"
+   y1="7.881104"
+   x1="27.719746"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15973"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14189"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14180"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient12378"
+   xlink:href="#XMLID_2_" />
+       
+<foreignObject
+   id="foreignObject7"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject>
+       <radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2467"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2465"
+   xlink:href="#XMLID_7_" /><linearGradient
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2397"
+   xlink:href="#XMLID_12_" /><linearGradient
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2395"
+   xlink:href="#XMLID_11_" /><linearGradient
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2393"
+   xlink:href="#XMLID_10_" /><linearGradient
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2391"
+   xlink:href="#XMLID_9_" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="XMLID_2_">
+                       <stop
+   id="stop12"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop14"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient15967"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop15969" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop15971" />
+               </linearGradient><linearGradient
+   id="linearGradient18668"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   id="stop18670" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop18672" />
+               </linearGradient><linearGradient
+   id="linearGradient3291"><stop
+     id="stop3293"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop3295"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient5904"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient5908"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5925"
+   x1="-176.11095"
+   y1="28.732603"
+   x2="-160.81332"
+   y2="122.61434"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)" /><filter
+   id="filter5956"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958" /></filter><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5984"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5986"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6086"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient6187"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729"
+   gradientTransform="matrix(10.171775,0,0,6.7817499,1868.2052,-590.26609)"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6193"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient6218"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6236"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient6240"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#XMLID_329_"
+   id="linearGradient4067"
+   gradientUnits="userSpaceOnUse"
+   x1="108.0918"
+   y1="70.889603"
+   x2="105.4746"
+   y2="70.889603" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4076"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4088"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4092"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4094"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4096"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4098"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4100"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4117"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4119"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4121"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4123"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4125"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4127"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4129"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4131"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4133"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4138"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4150"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4166"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4168"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4170"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4180"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4185"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1138.9967)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4227"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.683805,0,0,-12.950746,-3045.9942,1253.793)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4241"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.686733,0,0,-11.843809,-3046.506,1155.1878)"
+   cx="-175.51489"
+   cy="93.132141"
+   fx="-175.51489"
+   fy="93.132141"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4243"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(17.683805,0,0,-12.950746,3161.348,1253.793)"
+   cx="-175.51489"
+   cy="95.502762"
+   fx="-175.51489"
+   fy="95.502762"
+   r="6.4729" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2951"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2954"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2957"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2961"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath3577"><path
+     id="path3579"
+     d="M 46.363028,30.704362 L 46.363028,29.237638 C 46.363047,22.4629 51.340008,17.052447 57.507624,17.052447 C 63.675241,17.052447 68.652211,22.462919 68.652211,29.237638 L 68.652211,30.704362 C 59.857264,19.685199 55.124316,21.096034 46.363028,30.704362 z"
+     style="fill:#0a0a0a;fill-opacity:0.31687239;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient2850"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient2852"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient2854"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2856"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2858"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2860"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2862"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient2866"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient3891"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient3893"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient3895"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3897"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3899"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3901"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3903"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3905"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3966"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229"
+   gradientTransform="matrix(-1.4269372,0,0,1.4765756,-173.53727,-37.575411)" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3968"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3970"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3972"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3974"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5990"
+   id="linearGradient3977"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238518,0,0,1.4733829,308.43948,-55.209087)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3980"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238518,0,0,1.4733829,307.89637,-60.671636)"
+   x1="-158.7686"
+   y1="114.56229"
+   x2="-181.66037"
+   y2="92.122795" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3983"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238518,0,0,1.4733829,308.43948,-55.209087)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient4021"
+   id="linearGradient3987"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.5933602,0,0,1.6487879,334.52454,-57.292511)"
+   x1="-150.48445"
+   y1="68.066399"
+   x2="-151.66144"
+   y2="136.71812" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4612"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4653"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,0.92781246,-26.708926,-9.8846577)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,1.4948823,-26.708926,-17.566135)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><linearGradient
+   id="linearGradient5960-5"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop5962-6" /><stop
+     offset="1"
+     style="stop-color:#003871;stop-opacity:1;"
+     id="stop5964-2" /></linearGradient><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient4646-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.6872078,0,0,1.7459002,-216.88023,-62.506024)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath4727"><path
+     id="path4729"
+     style="display:inline;fill:url(#radialGradient4731);fill-opacity:1;stroke:none;stroke-width:1.75569;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 6.6174489,79.577162 c 0,4.501116 -0.078655,4.199435 54.4575341,4.199435 59.861117,0 53.307557,-0.797293 53.307557,-4.511124 0,0 -45.653941,-73.148026 -53.882546,-73.148026 -5.754082,0 -53.8825451,70.121392 -53.8825451,73.459715 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4731"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><filter
+   style="color-interpolation-filters:sRGB"
+   id="filter6647"
+   x="-0.010738018"
+   width="1.021476"
+   y="-0.013598115"
+   height="1.0271962"><feGaussianBlur
+     stdDeviation="0.35186875"
+     id="feGaussianBlur6649" /></filter><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.2566102,0,0,1.7806359,-11.676925,-148.61209)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath6708"><path
+     id="path6710"
+     style="display:block;overflow:visible;fill:url(#radialGradient6712);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 97.957558,-2.9144046 c 4.989172,0 4.654772,0.084252 4.654772,-58.3331304 0,-64.121265 -0.88374,-57.101315 -5.000255,-57.101315 0,0 -81.079449,48.903011 -81.079449,57.717223 0,6.163586 77.724639,57.7172224 81.424932,57.7172224 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient6712"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.8806383,1.9460595,0,-105.37122,252.55526)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3980-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238517,0,0,1.4733829,307.89636,-102.34302)"
+   x1="-158.7686"
+   y1="114.56229"
+   x2="-181.66037"
+   y2="92.122795" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3977-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238517,0,0,1.4733829,308.43947,-96.880482)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3983-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4238517,0,0,1.4733829,308.43947,-96.880482)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><filter
+   id="filter5956-1"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958-2" /></filter><linearGradient
+   id="linearGradient6138-6"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop6140-2" /><stop
+     offset="1"
+     style="stop-color:#004c98;stop-opacity:1;"
+     id="stop6142-6" /></linearGradient><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,1.4948823,-26.708926,-17.566135)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath4727-9"><path
+     id="path4729-2"
+     style="display:inline;fill:url(#radialGradient4731);fill-opacity:1;stroke:none;stroke-width:1.75569;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 6.6174489,79.577162 c 0,4.501116 -0.078655,4.199435 54.4575341,4.199435 59.861117,0 53.307557,-0.797293 53.307557,-4.511124 0,0 -45.653941,-73.148026 -53.882546,-73.148026 -5.754082,0 -53.8825451,70.121392 -53.8825451,73.459715 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660-3-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.2566102,0,0,1.7806359,-11.676925,-148.61209)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath6708-2"><path
+     id="path6710-3"
+     style="display:block;overflow:visible;fill:url(#radialGradient6712);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 97.957558,-2.9144046 c 4.989172,0 4.654772,0.084252 4.654772,-58.3331304 0,-64.121265 -0.88374,-57.101315 -5.000255,-57.101315 0,0 -81.079449,48.903011 -81.079449,57.717223 0,6.163586 77.724639,57.7172224 81.424932,57.7172224 z"
+     clip-path="none"
+     mask="none" /></clipPath></defs>
+<metadata
+   id="metadata3">
+       <ns:sfw>
+               <ns:slices />
+               <ns:sliceSourceBounds
+   x="4"
+   y="3"
+   height="120"
+   width="121"
+   bottomLeftOrigin="true" />
+       </ns:sfw>
+<rdf:RDF><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata>
+<filter
+   id="AI_Sfocatura_3">
+       <feGaussianBlur
+   stdDeviation="3"
+   id="feGaussianBlur6" />
+</filter>
+<filter
+   id="AI_Sfocatura_2">
+       <feGaussianBlur
+   stdDeviation="2"
+   id="feGaussianBlur9" />
+</filter>
+<filter
+   id="AI_Sfocatura_1">
+       <feGaussianBlur
+   stdDeviation="1"
+   id="feGaussianBlur12" />
+</filter>
+<path
+   id="path4644-9"
+   clip-path="none"
+   mask="none"
+   style="display:block;overflow:visible;fill:url(#radialGradient4646-1);fill-opacity:1;stroke:none;stroke-width:1.7163;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="M 64.09375 2.7773438 C 58.564111 2.7773438 12.3125 72.508419 12.3125 75.828125 C 12.3125 79.325775 12.638414 79.901255 37.625 79.988281 C 24.834669 98.495068 12.3125 118.18303 12.3125 119.91016 C 12.3125 124.38618 12.237548 124.08594 64.646484 124.08594 C 122.17265 124.08594 115.875 123.29273 115.875 119.59961 C 115.875 119.59961 103.50895 99.11873 90.726562 79.886719 C 119.39007 79.576574 115.875 78.498347 115.875 75.517578 C 115.875 75.517578 72.001386 2.7773438 64.09375 2.7773438 z "
+   transform="matrix(0.9453125,0,0,0.9453125,0,-0.5)" /><ellipse
+   style="display:inline;opacity:0.714;fill:url(#radialGradient4660);fill-opacity:1;stroke-width:1.19991"
+   id="ellipse4651"
+   cx="60.923374"
+   cy="10.718739"
+   rx="5.375226"
+   ry="8.0353298"
+   clip-path="url(#clipPath4727)"
+   transform="matrix(0.90843951,0,0,0.94004114,5.6284994,38.046278)" /><path
+   id="path5906"
+   style="display:inline;fill:url(#radialGradient3966);fill-opacity:1;stroke:none;stroke-width:1.45155;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 64.28125,9.1855469 c -4.046666,0 -43.980469,61.2464151 -43.980469,64.1738281 0,1.492305 10.891206,1.978831 26.433594,2.130859 -12.305472,17.850409 -26.433594,40.209056 -26.433594,41.951176 0,2.00377 19.606753,2.19726 43.792969,2.19726 24.186214,0 43.79297,0.0511 43.79297,-2.45312 0,-1.37663 -13.679328,-23.767601 -25.812501,-41.671878 15.19432,-0.115169 25.812501,-0.571293 25.812501,-2.410156 0,-2.310517 -38.568981,-63.9179691 -43.60547,-63.9179691 z"
+   transform="matrix(0.9453125,0,0,0.9453125,0,-0.5)" /><path
+   id="path5927"
+   transform="matrix(-1.4238518,0,0,1.4733829,-88.986879,-51.347128)"
+   d="m -133.87593,109.8736 c 0,0.75659 12.34725,2.31486 28.3965,2.31486 16.049243,0 30.74561,-0.17854 29.504237,-2.32866 0,-0.74972 -15.776766,0.86112 -29.955397,0.87804 -16.21667,0 -27.94534,-1.66602 -27.94534,-0.86424 z"
+   style="display:inline;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956)" /><path
+   id="path5966"
+   d="m 60.888339,50.285093 c -14.035817,11.78694 -27.973027,40.977523 -34.522078,48.638543 0,-1.954085 32.193858,-46.06053 34.380253,-46.06053 2.882126,0 21.814154,27.583724 31.970854,42.709237 0,-1.451003 -19.852723,-35.563055 -31.829029,-45.28725 z"
+   style="display:none;fill:url(#linearGradient3983);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   style="display:none;opacity:0.8;fill:url(#linearGradient3977);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="M 60.788051,49.972659 C 57.424427,49.035357 26.157708,95.418935 26.157708,100.17475 46.322397,74.112081 54.741521,55.611736 60.772421,55.534003 c 5.774521,-0.07444 24.105611,31.967956 31.213053,39.866224 0,-3.225459 -27.398931,-46.068017 -31.197423,-45.427568 z"
+   id="path6088" /><path
+   id="path5910"
+   style="display:inline;opacity:0.892193;fill:url(#linearGradient3987);fill-opacity:1;stroke:none;stroke-width:0.977567;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter6647)"
+   d="m 64.410156,9.640625 c -5.005232,0 -37.658203,50.551195 -37.658203,53.488281 0,1.795633 19.370164,2.234878 23.216797,2.226563 1.305951,0 2.438376,-0.02834 3.660156,-0.04102 -11.28749,15.10966 -26.876953,39.866681 -26.876953,41.896491 0,1.79563 19.370164,2.23683 23.216797,2.22851 21.742578,0 31.254615,-1.66948 47.337891,-7.99218 C 92.150829,90.169952 81.811277,74.29098 74.011719,64.001953 81.832762,62.832583 88.614933,60.782141 97.306641,57.365234 89.078816,39.368503 67.641628,9.6406259 64.410156,9.640625 Z"
+   transform="matrix(0.9453125,0,0,0.9453125,0,-0.5)" />
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_281_"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#00892C"
+   id="stop645" />
+       <stop
+   offset="1"
+   style="stop-color:#006E29"
+   id="stop647" />
+</radialGradient>
+
+
+
+
+
+<linearGradient
+   id="XMLID_283_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop671" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop673" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_284_"
+   gradientUnits="userSpaceOnUse"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop680" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop682" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop684" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_285_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897">
+       <stop
+   offset="0"
+   style="stop-color:#BBBBBB"
+   id="stop689" />
+       <stop
+   offset="0.2426"
+   style="stop-color:#EEEEEE"
+   id="stop691" />
+       <stop
+   offset="0.3965"
+   style="stop-color:#DDDDDD"
+   id="stop693" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#FFFFFF"
+   id="stop695" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_286_"
+   gradientUnits="userSpaceOnUse"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop700" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop702" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop704" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_287_"
+   gradientUnits="userSpaceOnUse"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251"
+   gradientTransform="matrix(0,-1,1,0,-166,216)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop709" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop711" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop713" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_288_"
+   gradientUnits="userSpaceOnUse"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop718" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop720" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop722" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_289_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop727" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop729" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop731" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_290_"
+   gradientUnits="userSpaceOnUse"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851"
+   gradientTransform="matrix(0,1,-1,0,198,220.0005)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop736" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop738" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop740" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_291_"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop745" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop747" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop749" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_292_"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop754" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop756" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop758" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_293_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop763" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop765" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop767" />
+</linearGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_298_"
+   gradientUnits="userSpaceOnUse"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop846" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop848" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_299_"
+   gradientUnits="userSpaceOnUse"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop853" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop855" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_300_"
+   gradientUnits="userSpaceOnUse"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop860" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop862" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_301_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop867" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop869" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_302_"
+   cx="38.211399"
+   cy="62.580101"
+   r="0.32710001"
+   fx="38.123001"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop874" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop876" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop878" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_303_"
+   cx="40.436001"
+   cy="62.580101"
+   r="0.32710001"
+   fx="40.348598"
+   fy="62.5037"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop883" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop885" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop887" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_304_"
+   cx="42.660599"
+   cy="62.580101"
+   r="0.32710001"
+   fx="42.561901"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop892" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop894" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop896" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_305_"
+   cx="44.8857"
+   cy="62.580101"
+   r="0.32710001"
+   fx="44.754902"
+   fy="62.4711"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop901" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop903" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop905" />
+</radialGradient>
+
+
+
+
+<linearGradient
+   id="XMLID_306_"
+   gradientUnits="userSpaceOnUse"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop918" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop920" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_307_"
+   gradientUnits="userSpaceOnUse"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop925" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop927" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_308_"
+   gradientUnits="userSpaceOnUse"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop932" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop934" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_309_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop939" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop941" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_310_"
+   cx="52.3447"
+   cy="67.421898"
+   r="0.32710001"
+   fx="52.256302"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop946" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop948" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop950" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_311_"
+   cx="54.569302"
+   cy="67.421898"
+   r="0.32710001"
+   fx="54.481899"
+   fy="67.345497"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop955" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop957" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop959" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_312_"
+   cx="56.7939"
+   cy="67.421898"
+   r="0.32710001"
+   fx="56.695202"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop964" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop966" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop968" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_313_"
+   cx="59.0186"
+   cy="67.421898"
+   r="0.32710001"
+   fx="58.887699"
+   fy="67.312897"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop973" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop975" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop977" />
+</radialGradient>
+
+
+
+<linearGradient
+   id="XMLID_314_"
+   gradientUnits="userSpaceOnUse"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop988" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop990" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_315_"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop995" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop997" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop999" />
+</radialGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_332_"
+   cx="16.095699"
+   cy="16.320299"
+   r="5.3958998"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1606" />
+       <stop
+   offset="1"
+   style="stop-color:#B2F8FF"
+   id="stop1608" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_333_"
+   gradientUnits="userSpaceOnUse"
+   x1="16.096201"
+   y1="20.246599"
+   x2="16.096201"
+   y2="12.3945">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1613" />
+       <stop
+   offset="1"
+   style="stop-color:#89BFC4"
+   id="stop1615" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_334_"
+   cx="16.095699"
+   cy="26.1353"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#F9CADE"
+   id="stop1620" />
+       <stop
+   offset="1"
+   style="stop-color:#E88BB2"
+   id="stop1622" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_335_"
+   cx="16.095699"
+   cy="36.211399"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D8E8C2"
+   id="stop1627" />
+       <stop
+   offset="0.2713"
+   style="stop-color:#D5E6BE"
+   id="stop1629" />
+       <stop
+   offset="0.563"
+   style="stop-color:#CBE1B1"
+   id="stop1631" />
+       <stop
+   offset="0.8632"
+   style="stop-color:#BAD79B"
+   id="stop1633" />
+       <stop
+   offset="1"
+   style="stop-color:#B1D28F"
+   id="stop1635" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_336_"
+   cx="16.095699"
+   cy="46.026402"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#FFDFBF"
+   id="stop1640" />
+       <stop
+   offset="0.2425"
+   style="stop-color:#FFDDBB"
+   id="stop1642" />
+       <stop
+   offset="0.5033"
+   style="stop-color:#FFD6AE"
+   id="stop1644" />
+       <stop
+   offset="0.7716"
+   style="stop-color:#FFCB98"
+   id="stop1646" />
+       <stop
+   offset="1"
+   style="stop-color:#FFBF80"
+   id="stop1648" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_337_"
+   cx="16.095699"
+   cy="55.971699"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555753"
+   id="stop1653" />
+       <stop
+   offset="0.3128"
+   style="stop-color:#515350"
+   id="stop1655" />
+       <stop
+   offset="0.6491"
+   style="stop-color:#444846"
+   id="stop1657" />
+       <stop
+   offset="0.9952"
+   style="stop-color:#2E3436"
+   id="stop1659" />
+       <stop
+   offset="1"
+   style="stop-color:#2E3436"
+   id="stop1661" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_338_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="16.320299"
+   x2="2907.6094"
+   y2="16.320299"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1666" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1668" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_339_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="26.1353"
+   x2="2907.6094"
+   y2="26.1353"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_347_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1673" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_340_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="36.211399"
+   x2="2907.6094"
+   y2="36.211399"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1680" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1682" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_341_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="46.026402"
+   x2="2907.6094"
+   y2="46.026402"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1687" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1689" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_342_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="55.971699"
+   x2="2907.6094"
+   y2="55.971699"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1694" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1696" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_349_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1801" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1803" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1805" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1807" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1809" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1811" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1813" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1815" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1817" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_350_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1822" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1824" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1826" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1828" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1830" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1832" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1834" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1836" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1838" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_351_"
+   gradientUnits="userSpaceOnUse"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1843" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1845" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1847" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1849" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1851" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1853" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1855" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1857" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1859" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_352_"
+   gradientUnits="userSpaceOnUse"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)">
+       <stop
+   offset="0"
+   style="stop-color:#EEEEEC"
+   id="stop1864" />
+       <stop
+   offset="0.15"
+   style="stop-color:#D3D7CF"
+   id="stop1866" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1868" />
+       <stop
+   offset="0.5266"
+   style="stop-color:#EBF0E7"
+   id="stop1870" />
+       <stop
+   offset="0.8"
+   style="stop-color:#ADB0AA"
+   id="stop1872" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1874" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_374_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2052" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2054" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2056" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2058" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2060" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2062" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2064" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2066" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_375_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2071" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2073" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2075" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2077" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_376_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2082" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2084" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2086" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2088" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2090" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2092" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2094" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2096" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_377_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2101" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2103" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2105" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2107" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_378_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2112" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2114" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_379_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2119" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2121" />
+</linearGradient>
+
+<path
+   id="path5974"
+   d="m 60.863927,50.778964 c 5.547119,2.480057 22.785993,29.908769 31.121547,44.621263 -15.203722,5.976943 -27.301266,6.916153 -47.854799,6.916163 -8.004214,0.17556 -15.753905,-0.11142 -24.529108,-1.55917 0,0 2.61412,0.34364 2.6163,0.35848 8.700832,1.44007 15.35023,1.85159 24.970825,1.85159 20.553534,0 30.324948,-1.41801 45.528676,-7.394947 C 90.559807,90.994524 69.335275,55.375726 60.863927,50.778964 Z"
+   style="display:inline;opacity:0.6;fill:url(#linearGradient3980);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><ellipse
+   style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient4660-3-0);fill-opacity:1;stroke-width:1.46802"
+   id="ellipse4651-6-2"
+   cx="98.442719"
+   cy="-114.92043"
+   rx="6.7545643"
+   ry="9.5713205"
+   clip-path="url(#clipPath6708-2)"
+   transform="matrix(0,0.84808361,-0.84808361,0,9.1683939,-11.895505)" /><ellipse
+   style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient4660-1);fill-opacity:1;stroke-width:1.19991"
+   id="ellipse4651-8"
+   cx="60.923374"
+   cy="10.718739"
+   rx="5.375226"
+   ry="8.0353298"
+   clip-path="url(#clipPath4727-9)"
+   transform="matrix(0.90843951,0,0,0.94004114,5.6285005,-3.6251145)" /><path
+   id="path5927-3"
+   transform="matrix(-1.4238518,0,0,1.4733829,-88.986879,-93.018521)"
+   d="m -133.87593,109.8736 c 0,0.75659 12.34725,2.31486 28.3965,2.31486 16.049243,0 30.74561,-0.17854 29.504237,-2.32866 0,-0.74972 -15.776766,0.86112 -29.955397,0.87804 -16.21667,0 -27.94534,-1.66602 -27.94534,-0.86424 z"
+   style="display:none;overflow:visible;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956-1)" /><path
+   id="path5966-6"
+   d="M 60.888338,8.6136985 C 46.852521,20.400638 32.915312,49.591219 26.366261,57.252239 c 0,-1.954085 32.193856,-46.060528 34.380252,-46.060528 2.882125,0 21.814153,27.583723 31.970852,42.709235 0,-1.451002 -19.852722,-35.563053 -31.829027,-45.2872475 z"
+   style="display:inline;overflow:visible;fill:url(#linearGradient3983-6);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   style="display:inline;overflow:visible;opacity:0.8;fill:url(#linearGradient3977-5);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="M 60.78805,8.3012645 C 57.424426,7.3639625 26.157708,53.747538 26.157708,58.503356 46.322397,32.440685 54.74152,13.940341 60.77242,13.862608 c 5.774521,-0.07444 24.105609,31.967955 31.213051,39.866222 0,-3.225459 -27.39893,-46.0680145 -31.197421,-45.4275655 z"
+   id="path6088-1" /><path
+   id="path5974-2"
+   d="M 60.863926,9.1075695 C 66.411044,11.587626 83.649918,39.016337 91.985471,53.72883 76.78175,59.705776 64.684206,60.644986 44.130674,60.644996 c -8.004214,0.17556 -15.753905,-0.11142 -24.529107,-1.55917 0,0 2.61412,0.34364 2.616301,0.35848 8.700831,1.44007 15.350229,1.85159 24.970823,1.85159 20.553533,0 30.324947,-1.41801 45.528674,-7.39495 C 90.559805,49.323128 69.335273,13.704331 60.863926,9.1075695 Z"
+   style="display:inline;overflow:visible;opacity:0.6;fill:url(#linearGradient3980-3);fill-opacity:1;stroke:none;stroke-width:0.924106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><ellipse
+   style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient4660-3);fill-opacity:1;stroke-width:1.46802"
+   id="ellipse4651-6"
+   cx="98.442719"
+   cy="-114.92043"
+   rx="6.7545643"
+   ry="9.5713205"
+   clip-path="url(#clipPath6708)"
+   transform="matrix(0,0.84808361,-0.84808361,0,9.1683928,29.775887)" /></svg>
diff --git a/flags/standard/arrow-down-blue.svg b/flags/standard/arrow-down-blue.svg
new file mode 100644 (file)
index 0000000..8f61ad4
--- /dev/null
@@ -0,0 +1,4249 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:ns="http://ns.adobe.com/SaveForWeb/1.0/"
+   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"
+   version="1.0"
+   id="Livello_1"
+   width="128"
+   height="128"
+   viewBox="0 0 121 120"
+   overflow="visible"
+   enable-background="new 0 0 121 120"
+   xml:space="preserve"
+   style="overflow:visible"><defs
+   id="defs2126"><linearGradient
+   id="linearGradient3969"><stop
+     style="stop-color:#bfbfff;stop-opacity:1;"
+     offset="0"
+     id="stop3965" /><stop
+     style="stop-color:#bfbfff;stop-opacity:0;"
+     offset="1"
+     id="stop3967" /></linearGradient><linearGradient
+   id="linearGradient4741"><stop
+     style="stop-color:#00316e;stop-opacity:1;"
+     offset="0"
+     id="stop4743" /><stop
+     style="stop-color:#00316e;stop-opacity:0;"
+     offset="1"
+     id="stop4745" /></linearGradient><linearGradient
+   id="linearGradient4021"><stop
+     id="stop4023"
+     offset="0"
+     style="stop-color:#e2e9e4;stop-opacity:1" /><stop
+     id="stop4025"
+     offset="1"
+     style="stop-color:#a4c0e4;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4013"><stop
+     id="stop4015"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop4019"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4007"><stop
+     id="stop4009"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4011"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4001"><stop
+     id="stop4003"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4005"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient2868"><stop
+     id="stop2870"
+     offset="0"
+     style="stop-color:#00c4cc;stop-opacity:1" /><stop
+     id="stop2872"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient6212"><stop
+     style="stop-color:#041424;stop-opacity:1;"
+     offset="0"
+     id="stop6214" /><stop
+     style="stop-color:#113e69;stop-opacity:0"
+     offset="1"
+     id="stop6216" /></linearGradient><linearGradient
+   id="linearGradient6181"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop6183" /><stop
+     id="stop6189"
+     offset="0.44777471"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#e0e0e0;stop-opacity:1;"
+     offset="0.59900987"
+     id="stop6191" /><stop
+     style="stop-color:#8f8f8f;stop-opacity:1;"
+     offset="1"
+     id="stop6185" /></linearGradient><linearGradient
+   id="linearGradient6138"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop6140" /><stop
+     offset="1"
+     style="stop-color:#004c98;stop-opacity:1;"
+     id="stop6142" /></linearGradient><linearGradient
+   id="linearGradient5990"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5992" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5994" /></linearGradient><linearGradient
+   id="linearGradient5960"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop5962" /><stop
+     offset="1"
+     style="stop-color:#003871;stop-opacity:1;"
+     id="stop5964" /></linearGradient><linearGradient
+   id="linearGradient5919"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5921" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5923" /></linearGradient><linearGradient
+   id="linearGradient4353"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101">
+               <stop
+   offset="0"
+   style="stop-color:#1174ac;stop-opacity:1;"
+   id="stop4355" />
+               <stop
+   offset="0.1"
+   style="stop-color:#68b4f2;stop-opacity:1;"
+   id="stop4357" />
+               <stop
+   offset="1"
+   style="stop-color:#00a1f3;stop-opacity:1;"
+   id="stop4359" />
+       </linearGradient><linearGradient
+   id="linearGradient4343"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001">
+               <stop
+   offset="0"
+   style="stop-color:#0087bf;stop-opacity:1;"
+   id="stop4345" />
+               <stop
+   offset="0.05"
+   style="stop-color:#ffffff;stop-opacity:0;"
+   id="stop4347" />
+               <stop
+   offset="0.94999999"
+   style="stop-color:#ffffff;stop-opacity:0.6392405;"
+   id="stop4349" />
+               <stop
+   offset="1"
+   style="stop-color:#116dac;stop-opacity:1;"
+   id="stop4351" />
+       </linearGradient><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8736"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8738"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8740"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8742"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8744"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8746"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8748"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><radialGradient
+   xlink:href="#XMLID_281_"
+   id="radialGradient8750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699" /><linearGradient
+   xlink:href="#XMLID_283_"
+   id="linearGradient8752"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804" /><linearGradient
+   xlink:href="#XMLID_284_"
+   id="linearGradient8754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659" /><linearGradient
+   xlink:href="#XMLID_285_"
+   id="linearGradient8756"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897" /><linearGradient
+   xlink:href="#XMLID_286_"
+   id="linearGradient8758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202" /><linearGradient
+   xlink:href="#XMLID_287_"
+   id="linearGradient8760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,-166,216)"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251" /><linearGradient
+   xlink:href="#XMLID_288_"
+   id="linearGradient8762"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904" /><linearGradient
+   xlink:href="#XMLID_289_"
+   id="linearGradient8764"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_290_"
+   id="linearGradient8766"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,198,220.0005)"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851" /><linearGradient
+   xlink:href="#XMLID_291_"
+   id="linearGradient8768"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_292_"
+   id="linearGradient8770"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_293_"
+   id="linearGradient8772"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601" /><linearGradient
+   xlink:href="#XMLID_298_"
+   id="linearGradient8774"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_299_"
+   id="linearGradient8776"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_300_"
+   id="linearGradient8778"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_301_"
+   id="linearGradient8780"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268" /><radialGradient
+   xlink:href="#XMLID_302_"
+   id="radialGradient8782"
+   gradientUnits="userSpaceOnUse"
+   cx="38.211399"
+   cy="62.580101"
+   fx="38.123001"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_303_"
+   id="radialGradient8784"
+   gradientUnits="userSpaceOnUse"
+   cx="40.436001"
+   cy="62.580101"
+   fx="40.348598"
+   fy="62.5037"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_304_"
+   id="radialGradient8786"
+   gradientUnits="userSpaceOnUse"
+   cx="42.660599"
+   cy="62.580101"
+   fx="42.561901"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_305_"
+   id="radialGradient8788"
+   gradientUnits="userSpaceOnUse"
+   cx="44.8857"
+   cy="62.580101"
+   fx="44.754902"
+   fy="62.4711"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_306_"
+   id="linearGradient8790"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_307_"
+   id="linearGradient8792"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_308_"
+   id="linearGradient8794"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_309_"
+   id="linearGradient8796"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501" /><radialGradient
+   xlink:href="#XMLID_310_"
+   id="radialGradient8798"
+   gradientUnits="userSpaceOnUse"
+   cx="52.3447"
+   cy="67.421898"
+   fx="52.256302"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_311_"
+   id="radialGradient8800"
+   gradientUnits="userSpaceOnUse"
+   cx="54.569302"
+   cy="67.421898"
+   fx="54.481899"
+   fy="67.345497"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_312_"
+   id="radialGradient8802"
+   gradientUnits="userSpaceOnUse"
+   cx="56.7939"
+   cy="67.421898"
+   fx="56.695202"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_313_"
+   id="radialGradient8804"
+   gradientUnits="userSpaceOnUse"
+   cx="59.0186"
+   cy="67.421898"
+   fx="58.887699"
+   fy="67.312897"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_314_"
+   id="linearGradient8806"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601" /><radialGradient
+   xlink:href="#XMLID_315_"
+   id="radialGradient8808"
+   gradientUnits="userSpaceOnUse"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8810"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_207_"
+   id="linearGradient8812"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-10.79"
+   y1="0"
+   x2="10.7891"
+   y2="0" /><linearGradient
+   xlink:href="#XMLID_208_"
+   id="linearGradient8814"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-0.00048828119"
+   y1="-10.7891"
+   x2="-0.00048877468"
+   y2="0.5" /><linearGradient
+   xlink:href="#XMLID_210_"
+   id="linearGradient8816"
+   gradientUnits="userSpaceOnUse"
+   x1="-15.0005"
+   y1="6.5"
+   x2="14.9995"
+   y2="6.5" /><linearGradient
+   xlink:href="#XMLID_349_"
+   id="linearGradient8832"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798" /><linearGradient
+   xlink:href="#XMLID_350_"
+   id="linearGradient8834"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001" /><linearGradient
+   xlink:href="#XMLID_351_"
+   id="linearGradient8836"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101" /><linearGradient
+   xlink:href="#XMLID_352_"
+   id="linearGradient8838"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8840"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient8842"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient8844"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient8846"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient8848"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19528"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19530"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><radialGradient
+   id="XMLID_328_"
+   cx="112.0176"
+   cy="70.366203"
+   r="7.0664001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+               <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop1539" />
+               <stop
+   offset="0.6568"
+   style="stop-color:#555753"
+   id="stop1541" />
+               <stop
+   offset="0.8402"
+   style="stop-color:#DDDDDD"
+   id="stop1543" />
+               <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1545" />
+       </radialGradient><linearGradient
+   xlink:href="#XMLID_220_"
+   id="linearGradient3706"
+   gradientUnits="userSpaceOnUse"
+   x1="0.7852"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><linearGradient
+   xlink:href="#XMLID_221_"
+   id="linearGradient3708"
+   gradientUnits="userSpaceOnUse"
+   x1="5.2343998"
+   y1="91.173798"
+   x2="5.2343998"
+   y2="68.926804" /><linearGradient
+   xlink:href="#XMLID_222_"
+   id="linearGradient3710"
+   gradientUnits="userSpaceOnUse"
+   x1="2.2246001"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><radialGradient
+   xlink:href="#XMLID_353_"
+   id="radialGradient3712"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="579.21582"
+   r="1.702" /><radialGradient
+   xlink:href="#XMLID_354_"
+   id="radialGradient3714"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="581.23828"
+   r="1.8181" /><linearGradient
+   xlink:href="#XMLID_355_"
+   id="linearGradient3716"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.5751,3.367,522.1128)"
+   x1="1.5889"
+   y1="743.79388"
+   x2="1.5889"
+   y2="741.36517" /><radialGradient
+   xlink:href="#XMLID_356_"
+   id="radialGradient3718"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5898"
+   cy="582.99017"
+   r="1.6033" /><radialGradient
+   xlink:href="#XMLID_357_"
+   id="radialGradient3720"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="62.296902"
+   r="1.6866" /><radialGradient
+   xlink:href="#XMLID_358_"
+   id="radialGradient3722"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="64.318398"
+   r="1.8414" /><radialGradient
+   xlink:href="#XMLID_359_"
+   id="radialGradient3724"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.6543"
+   cy="65.9375"
+   r="1.5302" /><linearGradient
+   xlink:href="#XMLID_360_"
+   id="linearGradient3726"
+   gradientUnits="userSpaceOnUse"
+   x1="5.54"
+   y1="62.4492"
+   x2="7.1973"
+   y2="62.4492" /><linearGradient
+   xlink:href="#linearGradient4353"
+   id="linearGradient3728"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101" /><linearGradient
+   xlink:href="#linearGradient4343"
+   id="linearGradient3730"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001"
+   gradientTransform="matrix(1,0,0,0.7186714,0,19.059732)" /><linearGradient
+   xlink:href="#XMLID_363_"
+   id="linearGradient3732"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.2826,0,380.4185)"
+   x1="13.0859"
+   y1="1033.9258"
+   x2="19.367701"
+   y2="1033.9258" /><linearGradient
+   xlink:href="#XMLID_364_"
+   id="linearGradient3734"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.3392,0,157.863)"
+   x1="13.0859"
+   y1="275.6973"
+   x2="19.367701"
+   y2="275.6973" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3736"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><radialGradient
+   xlink:href="#XMLID_366_"
+   id="radialGradient3738"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="48.597198"
+   r="1.1084" /><radialGradient
+   xlink:href="#XMLID_367_"
+   id="radialGradient3740"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="49.9258"
+   r="1.2096" /><radialGradient
+   xlink:href="#XMLID_368_"
+   id="radialGradient3742"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.15143"
+   cy="50.9888"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_369_"
+   id="linearGradient3744"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,1,-533,8.5)"
+   x1="-547.96039"
+   y1="54.700199"
+   x2="-546.87109"
+   y2="54.700199" /><radialGradient
+   xlink:href="#XMLID_370_"
+   id="radialGradient3746"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="727.67682"
+   r="1.1083" /><radialGradient
+   xlink:href="#XMLID_371_"
+   id="radialGradient3748"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="729.00592"
+   r="1.21" /><radialGradient
+   xlink:href="#XMLID_372_"
+   id="radialGradient3750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.15143"
+   cy="730.06842"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_373_"
+   id="linearGradient3752"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,-533,649.9141)"
+   x1="-547.96039"
+   y1="553.74408"
+   x2="-546.87109"
+   y2="553.74408" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient3754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient3756"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient3758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient3760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3762"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3764"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient4705"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient4707"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,510,186)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient4709"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient4711"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient4713"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,286,472.002)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient4715"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,60,-162.002)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient5061"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient5063"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,510,186)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient5065"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient5067"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient5069"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,286,472.002)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient5071"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,60,-162.002)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   id="linearGradient2528"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop2530" /><stop
+     id="stop2532"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop2534" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2536"><stop
+     id="stop2538"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2540"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2542"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop2544" /><stop
+     id="stop2546"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop2548" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient2550"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient2552"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop2554" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop2556" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2558"><stop
+     id="stop2560"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2562"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2564"><stop
+     id="stop2566"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop2568"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient2570"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop2572" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop2574" /></linearGradient><linearGradient
+   id="linearGradient2576"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop2578" /><stop
+     id="stop2580"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2582"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop2584" /></linearGradient><linearGradient
+   id="linearGradient2586"><stop
+     id="stop2588"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2590"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2592"><stop
+     id="stop2594"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop2596"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2604"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop2606" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop2608" /></linearGradient><radialGradient
+   xlink:href="#linearGradient3291"
+   id="radialGradient2610"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.197802,0,92.82166)"
+   cx="63.912209"
+   cy="115.70919"
+   fx="63.975182"
+   fy="116.88514"
+   r="63.912209" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient2612"
+   xlink:href="#linearGradient5073" /><foreignObject
+   id="foreignObject2620"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="linearGradient2622"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop2624" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop2626" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop2628" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop2630" /></linearGradient><linearGradient
+   id="linearGradient2632"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop2634" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop2636" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop2638" /></linearGradient><linearGradient
+   id="linearGradient2640"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop2642" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop2644" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2646"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient3711"
+   id="radialGradient2648"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   xlink:href="#linearGradient3711"
+   id="linearGradient2650"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.591298,-1.591298,0,-146.0489,141.4862)"
+   x1="-88.058083"
+   y1="-131.93112"
+   x2="-45.096584"
+   y2="-131.93112" /><linearGradient
+   xlink:href="#linearGradient6537"
+   id="linearGradient2652"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   x1="-70.002899"
+   y1="-383.9971"
+   x2="-11.91648"
+   y2="-383.9971" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2654"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2656"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   id="linearGradient8332"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop8334" /><stop
+     id="stop8340"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop8336" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient6537"><stop
+     id="stop6539"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop6541"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3954"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop3956" /><stop
+     id="stop3962"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop3958" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient3112"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient26907"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop26909" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop26911" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3711"><stop
+     id="stop3713"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop3715"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3081"><stop
+     id="stop3083"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop3085"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient3290"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop3292" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop3294" /></linearGradient><linearGradient
+   id="linearGradient3638"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop3640" /><stop
+     id="stop3661"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop3659"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop3642" /></linearGradient><linearGradient
+   id="linearGradient1563"><stop
+     id="stop5369"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop5371"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient3273"><stop
+     id="stop3275"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop3277"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient12948"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop12950" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop12952" /></linearGradient><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient5079"
+   xlink:href="#linearGradient5073" /><linearGradient
+   id="linearGradient5073"><stop
+     id="stop5075"
+     offset="0"
+     style="stop-color:#000000;stop-opacity:1;" /><stop
+     id="stop5077"
+     offset="1"
+     style="stop-color:#000000;stop-opacity:0;" /></linearGradient><foreignObject
+   id="foreignObject7221"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="XMLID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop7227" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop7229" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop7231" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop7233" /></linearGradient><linearGradient
+   id="XMLID_3_"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop7261" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop7263" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop7265" /></linearGradient><linearGradient
+   id="XMLID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop7270" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop7272" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2149"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8330"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8345"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18746"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18674"
+   xlink:href="#linearGradient18668" />
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18649">
+                       <stop
+   id="stop18651"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop18653"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18657"
+   xlink:href="#XMLID_2_" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient15986"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15977"
+   xlink:href="#linearGradient2309" /><linearGradient
+   gradientTransform="translate(1.470416e-5,0)"
+   y2="30.441185"
+   x2="27.719746"
+   y1="7.881104"
+   x1="27.719746"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15973"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14189"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14180"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient12378"
+   xlink:href="#XMLID_2_" />
+       
+<foreignObject
+   id="foreignObject7"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject>
+       <radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2467"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2465"
+   xlink:href="#XMLID_7_" /><linearGradient
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2397"
+   xlink:href="#XMLID_12_" /><linearGradient
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2395"
+   xlink:href="#XMLID_11_" /><linearGradient
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2393"
+   xlink:href="#XMLID_10_" /><linearGradient
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2391"
+   xlink:href="#XMLID_9_" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="XMLID_2_">
+                       <stop
+   id="stop12"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop14"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient15967"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop15969" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop15971" />
+               </linearGradient><linearGradient
+   id="linearGradient18668"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   id="stop18670" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop18672" />
+               </linearGradient><linearGradient
+   id="linearGradient3291"><stop
+     id="stop3293"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop3295"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient5904"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient5908"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5925"
+   x1="-176.11095"
+   y1="28.732603"
+   x2="-160.81332"
+   y2="122.61434"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)" /><filter
+   id="filter5956"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958" /></filter><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5984"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5986"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6086"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient6187"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729"
+   gradientTransform="matrix(10.171775,0,0,6.7817499,1868.2052,-590.26609)"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6193"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient6218"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6236"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient6240"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#XMLID_329_"
+   id="linearGradient4067"
+   gradientUnits="userSpaceOnUse"
+   x1="108.0918"
+   y1="70.889603"
+   x2="105.4746"
+   y2="70.889603" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4076"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4088"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4092"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4094"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4096"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4098"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4100"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4117"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4119"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4121"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4123"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4125"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4127"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4129"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4131"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4133"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4138"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4150"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4166"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4168"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4170"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4180"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4185"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1138.9967)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4227"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.683805,0,0,-12.950746,-3045.9942,1253.793)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4241"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.686733,0,0,-11.843809,-3046.506,1155.1878)"
+   cx="-175.51489"
+   cy="93.132141"
+   fx="-175.51489"
+   fy="93.132141"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4243"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(17.683805,0,0,-12.950746,3161.348,1253.793)"
+   cx="-175.51489"
+   cy="95.502762"
+   fx="-175.51489"
+   fy="95.502762"
+   r="6.4729" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2951"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2954"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2957"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2961"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath3577"><path
+     id="path3579"
+     d="M 46.363028,30.704362 L 46.363028,29.237638 C 46.363047,22.4629 51.340008,17.052447 57.507624,17.052447 C 63.675241,17.052447 68.652211,22.462919 68.652211,29.237638 L 68.652211,30.704362 C 59.857264,19.685199 55.124316,21.096034 46.363028,30.704362 z"
+     style="fill:#0a0a0a;fill-opacity:0.31687239;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient2850"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient2852"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient2854"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2856"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2858"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2860"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2862"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient2866"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient3891"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient3893"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient3895"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3897"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3899"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3901"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3903"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3905"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3966"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229"
+   gradientTransform="matrix(-1.590529,0,0,-1.6458583,-204.24324,196.73206)" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3968"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3970"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3972"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3974"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5990"
+   id="linearGradient3977"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.678905,0,0,1.7373085,352.87922,-87.866044)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3980"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.678905,0,0,1.7373085,339.82272,-121.61914)"
+   x1="-158.7686"
+   y1="114.56229"
+   x2="-181.66037"
+   y2="92.122795" /><linearGradient
+   xlink:href="#linearGradient4021"
+   id="linearGradient3987"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.7760316,0,0,1.8378139,362.06552,-99.560011)"
+   x1="-150.48445"
+   y1="107.98795"
+   x2="-150.36014"
+   y2="49.903114" /><filter
+   id="filter4737"><feGaussianBlur
+     stdDeviation="0.61380459"
+     id="feGaussianBlur4739" /></filter><linearGradient
+   xlink:href="#linearGradient4741"
+   id="linearGradient4747"
+   x1="-175.8602"
+   y1="125.05635"
+   x2="-174.98068"
+   y2="67.385735"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4612"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4653"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,0.92781246,-26.708926,-9.8846577)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><linearGradient
+   id="linearGradient5960-5"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop5962-6" /><stop
+     offset="1"
+     style="stop-color:#003871;stop-opacity:1;"
+     id="stop5964-2" /></linearGradient><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient4646-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.8806384,0,0,-1.9460596,-252.55527,224.52085)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath4727"><path
+     id="path4729"
+     style="display:inline;fill:url(#radialGradient4731);fill-opacity:1;stroke:none;stroke-width:1.75569;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 6.6174489,79.577162 c 0,4.501116 -0.078655,4.199435 54.4575341,4.199435 59.861117,0 53.307557,-0.797293 53.307557,-4.511124 0,0 -45.653941,-73.148026 -53.882546,-73.148026 -5.754082,0 -53.8825451,70.121392 -53.8825451,73.459715 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4731"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><filter
+   id="filter5956-3"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958-6" /></filter><filter
+   style="color-interpolation-filters:sRGB"
+   id="filter2148"
+   x="-0.018177587"
+   width="1.0363552"
+   y="-0.035310072"
+   height="1.0706201"><feGaussianBlur
+     stdDeviation="0.73882442"
+     id="feGaussianBlur2150" /></filter><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3977-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.678905,0,0,1.7373085,352.87921,-87.866042)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient2212"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.2566102,0,0,1.7806359,-130.82655,-148.61209)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath2215"><path
+     id="path2217"
+     style="display:block;overflow:visible;fill:url(#radialGradient2219);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m -21.192073,-2.9144046 c 4.989175,0 4.654775,0.084252 4.654775,-58.3331304 0,-64.121265 -0.190529,-57.101315 -5.000261,-57.101315 -3.866449,0 -81.079441,48.903011 -81.079441,57.717223 0,6.163586 77.724631,57.7172224 81.424927,57.7172224 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient2219"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.8806383,1.9460595,0,-224.52085,252.55526)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><radialGradient
+   xlink:href="#XMLID_281_-5"
+   id="radialGradient8750-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699" /><radialGradient
+   xlink:href="#XMLID_302_-2"
+   id="radialGradient8782-1"
+   gradientUnits="userSpaceOnUse"
+   cx="38.211399"
+   cy="62.580101"
+   fx="38.123001"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_303_-2"
+   id="radialGradient8784-2"
+   gradientUnits="userSpaceOnUse"
+   cx="40.436001"
+   cy="62.580101"
+   fx="40.348598"
+   fy="62.5037"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_304_-8"
+   id="radialGradient8786-9"
+   gradientUnits="userSpaceOnUse"
+   cx="42.660599"
+   cy="62.580101"
+   fx="42.561901"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_305_-1"
+   id="radialGradient8788-3"
+   gradientUnits="userSpaceOnUse"
+   cx="44.8857"
+   cy="62.580101"
+   fx="44.754902"
+   fy="62.4711"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_310_-3"
+   id="radialGradient8798-1"
+   gradientUnits="userSpaceOnUse"
+   cx="52.3447"
+   cy="67.421898"
+   fx="52.256302"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_311_-6"
+   id="radialGradient8800-9"
+   gradientUnits="userSpaceOnUse"
+   cx="54.569302"
+   cy="67.421898"
+   fx="54.481899"
+   fy="67.345497"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_312_-0"
+   id="radialGradient8802-4"
+   gradientUnits="userSpaceOnUse"
+   cx="56.7939"
+   cy="67.421898"
+   fx="56.695202"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_313_-6"
+   id="radialGradient8804-7"
+   gradientUnits="userSpaceOnUse"
+   cx="59.0186"
+   cy="67.421898"
+   fx="58.887699"
+   fy="67.312897"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_315_-7"
+   id="radialGradient8808-8"
+   gradientUnits="userSpaceOnUse"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001" /><radialGradient
+   id="XMLID_328_-4"
+   cx="112.0176"
+   cy="70.366203"
+   r="7.0664001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+               <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop1539-5" />
+               <stop
+   offset="0.6568"
+   style="stop-color:#555753"
+   id="stop1541-0" />
+               <stop
+   offset="0.8402"
+   style="stop-color:#DDDDDD"
+   id="stop1543-3" />
+               <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1545-6" />
+       </radialGradient><radialGradient
+   xlink:href="#XMLID_353_"
+   id="radialGradient3712-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="579.21582"
+   r="1.702" /><radialGradient
+   xlink:href="#XMLID_354_"
+   id="radialGradient3714-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="581.23828"
+   r="1.8181" /><radialGradient
+   xlink:href="#XMLID_356_"
+   id="radialGradient3718-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5898"
+   cy="582.99017"
+   r="1.6033" /><radialGradient
+   xlink:href="#XMLID_357_"
+   id="radialGradient3720-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="62.296902"
+   r="1.6866" /><radialGradient
+   xlink:href="#XMLID_358_"
+   id="radialGradient3722-2"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="64.318398"
+   r="1.8414" /><radialGradient
+   xlink:href="#XMLID_359_"
+   id="radialGradient3724-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.6543"
+   cy="65.9375"
+   r="1.5302" /><radialGradient
+   xlink:href="#XMLID_366_"
+   id="radialGradient3738-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="48.597198"
+   r="1.1084" /><radialGradient
+   xlink:href="#XMLID_367_"
+   id="radialGradient3740-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="49.9258"
+   r="1.2096" /><radialGradient
+   xlink:href="#XMLID_368_"
+   id="radialGradient3742-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.15143"
+   cy="50.9888"
+   r="1.0506999" /><radialGradient
+   xlink:href="#XMLID_370_"
+   id="radialGradient3746-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="727.67682"
+   r="1.1083" /><radialGradient
+   xlink:href="#XMLID_371_"
+   id="radialGradient3748-4"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="729.00592"
+   r="1.21" /><radialGradient
+   xlink:href="#XMLID_372_"
+   id="radialGradient3750-7"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.15143"
+   cy="730.06842"
+   r="1.0506999" /><radialGradient
+   xlink:href="#linearGradient5073"
+   id="radialGradient2610-2"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.197802,0,92.82166)"
+   cx="63.912209"
+   cy="115.70919"
+   fx="63.975182"
+   fy="116.88514"
+   r="63.912209" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient2612-0"
+   xlink:href="#linearGradient5073" /><foreignObject
+   id="foreignObject2620"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><radialGradient
+   xlink:href="#linearGradient2558"
+   id="radialGradient2648-0"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><radialGradient
+   xlink:href="#linearGradient2528"
+   id="radialGradient2654-4"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient2528"
+   id="radialGradient2656-8"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient5079-7"
+   xlink:href="#linearGradient5073" /><foreignObject
+   id="foreignObject7221"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><radialGradient
+   xlink:href="#linearGradient2528"
+   id="radialGradient8330-2"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient2528"
+   id="radialGradient8345-9"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient15986-0"
+   xlink:href="#linearGradient15967" /><foreignObject
+   id="foreignObject7"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject><radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2467-8"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2465-8"
+   xlink:href="#XMLID_7_" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient5904-1"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient5908-1"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient6086-8"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient6187-4"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729"
+   gradientTransform="matrix(10.171775,0,0,6.7817499,1868.2052,-590.26609)"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient6193-8"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient6218-1"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient6240-0"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4076-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4088-0"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient4090-4"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4092-4"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4117-4"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4119-4"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient4121-7"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4123-6"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4133-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4138-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4150-7"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4166-5"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient4168-9"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4170-6"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4180-2"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4185-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1138.9967)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4227-7"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.683805,0,0,-12.950746,-3045.9942,1253.793)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4241-8"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.686733,0,0,-11.843809,-3046.506,1155.1878)"
+   cx="-175.51489"
+   cy="93.132141"
+   fx="-175.51489"
+   fy="93.132141"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4243-5"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(17.683805,0,0,-12.950746,3161.348,1253.793)"
+   cx="-175.51489"
+   cy="95.502762"
+   fx="-175.51489"
+   fy="95.502762"
+   r="6.4729" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath3577-7"><path
+     id="path3579-4"
+     d="M 46.363028,30.704362 L 46.363028,29.237638 C 46.363047,22.4629 51.340008,17.052447 57.507624,17.052447 C 63.675241,17.052447 68.652211,22.462919 68.652211,29.237638 L 68.652211,30.704362 C 59.857264,19.685199 55.124316,21.096034 46.363028,30.704362 z"
+     style="fill:#0a0a0a;fill-opacity:0.31687239;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient2850-1"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient2852-8"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient2854-5"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient2866-9"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient3891-7"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient3893-5"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient4013"
+   id="radialGradient3895-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3897-8"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4612-6"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4653-4"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,0.92781246,-26.708926,-9.8846577)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath4727-8"><path
+     id="path4729-6"
+     style="display:inline;fill:url(#radialGradient4731-0);fill-opacity:1;stroke:none;stroke-width:1.75569;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 6.6174489,79.577162 c 0,4.501116 -0.078655,4.199435 54.4575341,4.199435 59.861117,0 53.307557,-0.797293 53.307557,-4.511124 0,0 -45.653941,-73.148026 -53.882546,-73.148026 -5.754082,0 -53.8825451,70.121392 -53.8825451,73.459715 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4731-0"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath6708"><path
+     id="path6710"
+     style="display:block;overflow:visible;fill:url(#radialGradient6712);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 97.957558,-2.9144046 c 4.989172,0 4.654772,0.084252 4.654772,-58.3331304 0,-64.121265 -0.88374,-57.101315 -5.000255,-57.101315 0,0 -81.079449,48.903011 -81.079449,57.717223 0,6.163586 77.724639,57.7172224 81.424932,57.7172224 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient6712"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.8806383,1.9460595,0,-105.37122,252.55526)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /></defs>
+<metadata
+   id="metadata3">
+       <ns:sfw>
+               <ns:slices />
+               <ns:sliceSourceBounds
+   x="4"
+   y="3"
+   height="120"
+   width="121"
+   bottomLeftOrigin="true" />
+       </ns:sfw>
+<rdf:RDF><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata>
+<filter
+   id="AI_Sfocatura_3">
+       <feGaussianBlur
+   stdDeviation="3"
+   id="feGaussianBlur6" />
+</filter>
+<filter
+   id="AI_Sfocatura_2">
+       <feGaussianBlur
+   stdDeviation="2"
+   id="feGaussianBlur9" />
+</filter>
+<filter
+   id="AI_Sfocatura_1">
+       <feGaussianBlur
+   stdDeviation="1"
+   id="feGaussianBlur12" />
+</filter>
+<circle
+   style="display:none;fill:url(#linearGradient4747);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter4737)"
+   id="path4723"
+   transform="matrix(-1.7683599,0,0,1.7683599,-233.98893,-105.04387)"
+   clip-path="none"
+   cx="-166.53223"
+   cy="93.331604"
+   r="30.690229" /><path
+   id="path4644-9"
+   style="display:block;overflow:visible;fill:url(#radialGradient4646-1);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 2.9144046,21.192066 c 0,-4.989175 -0.084252,-4.654775 58.3331324,-4.654775 64.121273,0 57.101323,0.190529 57.101323,5.000261 0,3.866449 -48.903019,81.079448 -57.717231,81.079448 -6.163586,0 -57.7172244,-77.724638 -57.7172244,-81.424934 z"
+   clip-path="none"
+   mask="none" /><ellipse
+   style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient2212);fill-opacity:1;stroke-width:1.46802"
+   id="ellipse2210"
+   cx="-20.706902"
+   cy="-114.92044"
+   rx="6.7545643"
+   ry="9.5713205"
+   clip-path="url(#clipPath2215)"
+   transform="matrix(0,-1,-1,0,0,0)" /><path
+   id="path5906"
+   style="display:inline;fill:url(#radialGradient3966);fill-opacity:1;stroke:none;stroke-width:1.61796;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 11.817401,23.943749 c 0,-2.233495 21.854648,-2.449218 48.813702,-2.449218 26.959053,0 48.813697,-0.05695 48.813697,2.734347 0,2.575405 -42.9905,71.24635 -48.6044,71.24635 -4.510597,0 -49.022999,-68.26845 -49.022999,-71.531479 z" /><path
+   id="path5910"
+   d="m 66.189248,47.681133 c -8.77517,-0.887779 -26.948019,4.053745 -26.948019,4.053745 0,0 -25.870893,37.547625 -27.537474,43.582967 1.213412,3.04231 44.077596,2.281239 48.365228,2.271971 24.235265,0 46.261807,0.909192 49.182297,-2.359977 C 104.83789,87.333705 101.04049,79.824105 94.75199,69.717233 88.463492,59.610361 83.229504,45.68697 66.189248,47.681133 Z"
+   style="display:inline;opacity:0.892193;fill:url(#linearGradient3987);fill-opacity:1;stroke:none;stroke-width:1.08964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter2148)"
+   transform="matrix(1,0,0,-1,0,119.14962)" /><path
+   id="path5927"
+   transform="matrix(-1.678905,0,0,-1.7373085,-115.73773,214.80412)"
+   d="m -133.87593,109.8736 c 0,0.75659 12.34725,2.31486 28.3965,2.31486 16.049243,0 30.74561,-0.17854 29.504237,-2.32866 0,-0.74972 -15.776766,0.86112 -29.955397,0.87804 -16.21667,0 -27.94534,-1.66602 -27.94534,-0.86424 z"
+   style="display:inline;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956)" /><path
+   style="display:inline;opacity:0.553303;fill:url(#linearGradient3977);fill-opacity:1;stroke:none;stroke-width:1.08964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 62.411753,21.080209 c -3.966147,-0.108115 -52.354547,0.491267 -50.594352,2.86354 0.184884,3.819343 4.112581,9.158623 7.307966,14.554305 7.332583,9.79715 11.479507,16.651731 18.106801,25.076167 -4.633219,-7.110838 -23.532807,-33.977639 -19.050227,-36.588787 4.482579,-2.611149 40.854194,-2.490287 44.136572,-2.490287 3.18323,0 35.355515,-0.0087 40.635367,1.555695 5.60717,1.661413 -13.557058,28.570064 -19.100332,37.375695 5.552859,-6.66716 8.544544,-9.499498 17.741682,-23.719601 2.26301,-3.498931 6.77998,-11.898126 7.11748,-14.769176 3.77089,-4.392761 -41.598006,-3.725834 -46.300957,-3.857551 z"
+   id="path6088" />
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_281_"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#00892C"
+   id="stop645" />
+       <stop
+   offset="1"
+   style="stop-color:#006E29"
+   id="stop647" />
+</radialGradient>
+
+
+
+
+
+<linearGradient
+   id="XMLID_283_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop671" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop673" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_284_"
+   gradientUnits="userSpaceOnUse"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop680" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop682" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop684" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_285_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897">
+       <stop
+   offset="0"
+   style="stop-color:#BBBBBB"
+   id="stop689" />
+       <stop
+   offset="0.2426"
+   style="stop-color:#EEEEEE"
+   id="stop691" />
+       <stop
+   offset="0.3965"
+   style="stop-color:#DDDDDD"
+   id="stop693" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#FFFFFF"
+   id="stop695" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_286_"
+   gradientUnits="userSpaceOnUse"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop700" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop702" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop704" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_287_"
+   gradientUnits="userSpaceOnUse"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251"
+   gradientTransform="matrix(0,-1,1,0,-166,216)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop709" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop711" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop713" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_288_"
+   gradientUnits="userSpaceOnUse"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop718" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop720" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop722" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_289_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop727" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop729" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop731" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_290_"
+   gradientUnits="userSpaceOnUse"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851"
+   gradientTransform="matrix(0,1,-1,0,198,220.0005)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop736" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop738" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop740" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_291_"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop745" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop747" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop749" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_292_"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop754" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop756" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop758" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_293_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop763" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop765" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop767" />
+</linearGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_298_"
+   gradientUnits="userSpaceOnUse"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop846" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop848" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_299_"
+   gradientUnits="userSpaceOnUse"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop853" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop855" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_300_"
+   gradientUnits="userSpaceOnUse"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop860" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop862" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_301_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop867" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop869" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_302_"
+   cx="38.211399"
+   cy="62.580101"
+   r="0.32710001"
+   fx="38.123001"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop874" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop876" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop878" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_303_"
+   cx="40.436001"
+   cy="62.580101"
+   r="0.32710001"
+   fx="40.348598"
+   fy="62.5037"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop883" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop885" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop887" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_304_"
+   cx="42.660599"
+   cy="62.580101"
+   r="0.32710001"
+   fx="42.561901"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop892" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop894" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop896" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_305_"
+   cx="44.8857"
+   cy="62.580101"
+   r="0.32710001"
+   fx="44.754902"
+   fy="62.4711"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop901" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop903" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop905" />
+</radialGradient>
+
+
+
+
+<linearGradient
+   id="XMLID_306_"
+   gradientUnits="userSpaceOnUse"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop918" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop920" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_307_"
+   gradientUnits="userSpaceOnUse"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop925" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop927" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_308_"
+   gradientUnits="userSpaceOnUse"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop932" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop934" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_309_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop939" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop941" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_310_"
+   cx="52.3447"
+   cy="67.421898"
+   r="0.32710001"
+   fx="52.256302"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop946" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop948" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop950" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_311_"
+   cx="54.569302"
+   cy="67.421898"
+   r="0.32710001"
+   fx="54.481899"
+   fy="67.345497"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop955" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop957" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop959" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_312_"
+   cx="56.7939"
+   cy="67.421898"
+   r="0.32710001"
+   fx="56.695202"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop964" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop966" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop968" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_313_"
+   cx="59.0186"
+   cy="67.421898"
+   r="0.32710001"
+   fx="58.887699"
+   fy="67.312897"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop973" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop975" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop977" />
+</radialGradient>
+
+
+
+<linearGradient
+   id="XMLID_314_"
+   gradientUnits="userSpaceOnUse"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop988" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop990" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_315_"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop995" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop997" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop999" />
+</radialGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_332_"
+   cx="16.095699"
+   cy="16.320299"
+   r="5.3958998"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1606" />
+       <stop
+   offset="1"
+   style="stop-color:#B2F8FF"
+   id="stop1608" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_333_"
+   gradientUnits="userSpaceOnUse"
+   x1="16.096201"
+   y1="20.246599"
+   x2="16.096201"
+   y2="12.3945">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1613" />
+       <stop
+   offset="1"
+   style="stop-color:#89BFC4"
+   id="stop1615" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_334_"
+   cx="16.095699"
+   cy="26.1353"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#F9CADE"
+   id="stop1620" />
+       <stop
+   offset="1"
+   style="stop-color:#E88BB2"
+   id="stop1622" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_335_"
+   cx="16.095699"
+   cy="36.211399"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D8E8C2"
+   id="stop1627" />
+       <stop
+   offset="0.2713"
+   style="stop-color:#D5E6BE"
+   id="stop1629" />
+       <stop
+   offset="0.563"
+   style="stop-color:#CBE1B1"
+   id="stop1631" />
+       <stop
+   offset="0.8632"
+   style="stop-color:#BAD79B"
+   id="stop1633" />
+       <stop
+   offset="1"
+   style="stop-color:#B1D28F"
+   id="stop1635" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_336_"
+   cx="16.095699"
+   cy="46.026402"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#FFDFBF"
+   id="stop1640" />
+       <stop
+   offset="0.2425"
+   style="stop-color:#FFDDBB"
+   id="stop1642" />
+       <stop
+   offset="0.5033"
+   style="stop-color:#FFD6AE"
+   id="stop1644" />
+       <stop
+   offset="0.7716"
+   style="stop-color:#FFCB98"
+   id="stop1646" />
+       <stop
+   offset="1"
+   style="stop-color:#FFBF80"
+   id="stop1648" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_337_"
+   cx="16.095699"
+   cy="55.971699"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555753"
+   id="stop1653" />
+       <stop
+   offset="0.3128"
+   style="stop-color:#515350"
+   id="stop1655" />
+       <stop
+   offset="0.6491"
+   style="stop-color:#444846"
+   id="stop1657" />
+       <stop
+   offset="0.9952"
+   style="stop-color:#2E3436"
+   id="stop1659" />
+       <stop
+   offset="1"
+   style="stop-color:#2E3436"
+   id="stop1661" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_338_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="16.320299"
+   x2="2907.6094"
+   y2="16.320299"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1666" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1668" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_339_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="26.1353"
+   x2="2907.6094"
+   y2="26.1353"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_347_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1673" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_340_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="36.211399"
+   x2="2907.6094"
+   y2="36.211399"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1680" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1682" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_341_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="46.026402"
+   x2="2907.6094"
+   y2="46.026402"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1687" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1689" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_342_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="55.971699"
+   x2="2907.6094"
+   y2="55.971699"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1694" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1696" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_349_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1801" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1803" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1805" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1807" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1809" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1811" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1813" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1815" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1817" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_350_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1822" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1824" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1826" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1828" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1830" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1832" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1834" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1836" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1838" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_351_"
+   gradientUnits="userSpaceOnUse"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1843" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1845" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1847" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1849" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1851" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1853" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1855" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1857" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1859" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_352_"
+   gradientUnits="userSpaceOnUse"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)">
+       <stop
+   offset="0"
+   style="stop-color:#EEEEEC"
+   id="stop1864" />
+       <stop
+   offset="0.15"
+   style="stop-color:#D3D7CF"
+   id="stop1866" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1868" />
+       <stop
+   offset="0.5266"
+   style="stop-color:#EBF0E7"
+   id="stop1870" />
+       <stop
+   offset="0.8"
+   style="stop-color:#ADB0AA"
+   id="stop1872" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1874" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_374_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2052" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2054" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2056" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2058" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2060" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2062" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2064" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2066" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_375_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2071" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2073" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2075" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2077" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_376_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2082" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2084" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2086" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2088" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2090" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2092" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2094" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2096" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_377_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2101" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2103" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2105" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2107" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_378_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2112" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2114" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_379_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2119" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2121" />
+</linearGradient>
+
+<path
+   style="display:inline;overflow:visible;opacity:0.553303;fill:url(#linearGradient3977-5);fill-opacity:1;stroke:none;stroke-width:1.08964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 62.411751,21.080211 c -3.966147,-0.108115 -52.354545,0.491267 -50.59435,2.863539 0.184884,3.819343 4.11258,9.158623 7.307965,14.554305 7.332583,9.797149 11.479507,16.65173 18.106801,25.076166 -4.633219,-7.110838 -25.86083,-35.307084 -21.37825,-37.918232 4.48258,-2.611149 43.292605,-2.824428 46.574983,-2.824428 3.183229,0 37.462759,0.103272 42.74261,1.667667 5.60717,1.661413 -15.774691,30.121679 -21.317965,38.927309 5.552859,-6.66716 8.544544,-9.499497 17.741685,-23.7196 2.26301,-3.498931 6.77998,-11.898126 7.11748,-14.769176 4.54689,-4.614927 -41.598008,-3.725833 -46.300959,-3.85755 z"
+   id="path6088-6" /><path
+   id="path5974"
+   d="M 104.91549,33.553423 C 101.10863,40.70926 92.974844,53.243143 85.030809,64.299024 80.091301,71.17344 73.948508,71.324245 64.943976,71.54641 54.079529,71.814465 36.791865,66.235461 38.35349,66.675649 c 29.55367,8.330524 42.25347,-0.54479 46.560332,-4.78651 4.967342,-7.31735 10.05143,-13.650032 20.001668,-28.335716 z"
+   style="display:inline;opacity:0.6;fill:url(#linearGradient3980);fill-opacity:1;stroke:none;stroke-width:1.08964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   id="path5927-7"
+   transform="matrix(-1.678905,0,0,-1.7373085,-115.25663,288.47456)"
+   d="m -119.15482,128.75481 c 2.49312,-1.33679 12.14805,-15.80112 13.9384,-15.80112 1.79229,0 14.434802,16.43913 13.193429,14.28901 -2.046101,-3.30118 -10.121139,-16.75206 -13.281559,-16.75206 -2.68494,0 -15.62003,20.58766 -13.85027,18.26417 z"
+   style="display:inline;overflow:visible;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956-3)" /></svg>
diff --git a/flags/standard/arrow-up-blue.svg b/flags/standard/arrow-up-blue.svg
new file mode 100644 (file)
index 0000000..dc3ad53
--- /dev/null
@@ -0,0 +1,3618 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:ns="http://ns.adobe.com/SaveForWeb/1.0/"
+   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"
+   version="1.0"
+   id="Livello_1"
+   width="128"
+   height="128"
+   viewBox="0 0 121 120"
+   overflow="visible"
+   enable-background="new 0 0 121 120"
+   xml:space="preserve"
+   style="overflow:visible"><defs
+   id="defs2126"><linearGradient
+   id="linearGradient3969"><stop
+     style="stop-color:#bfbfff;stop-opacity:1;"
+     offset="0"
+     id="stop3965" /><stop
+     style="stop-color:#bfbfff;stop-opacity:0;"
+     offset="1"
+     id="stop3967" /></linearGradient><linearGradient
+   id="linearGradient4741"><stop
+     style="stop-color:#00316e;stop-opacity:1;"
+     offset="0"
+     id="stop4743" /><stop
+     style="stop-color:#00316e;stop-opacity:0;"
+     offset="1"
+     id="stop4745" /></linearGradient><linearGradient
+   id="linearGradient4021"><stop
+     id="stop4023"
+     offset="0"
+     style="stop-color:#e2e9e4;stop-opacity:1" /><stop
+     id="stop4025"
+     offset="1"
+     style="stop-color:#a4c0e4;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4013"><stop
+     id="stop4015"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop4019"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4007"><stop
+     id="stop4009"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4011"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4001"><stop
+     id="stop4003"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4005"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient2868"><stop
+     id="stop2870"
+     offset="0"
+     style="stop-color:#00c4cc;stop-opacity:1" /><stop
+     id="stop2872"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient6212"><stop
+     style="stop-color:#041424;stop-opacity:1;"
+     offset="0"
+     id="stop6214" /><stop
+     style="stop-color:#113e69;stop-opacity:0"
+     offset="1"
+     id="stop6216" /></linearGradient><linearGradient
+   id="linearGradient6181"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop6183" /><stop
+     id="stop6189"
+     offset="0.44777471"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#e0e0e0;stop-opacity:1;"
+     offset="0.59900987"
+     id="stop6191" /><stop
+     style="stop-color:#8f8f8f;stop-opacity:1;"
+     offset="1"
+     id="stop6185" /></linearGradient><linearGradient
+   id="linearGradient6138"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop6140" /><stop
+     offset="1"
+     style="stop-color:#004c98;stop-opacity:1;"
+     id="stop6142" /></linearGradient><linearGradient
+   id="linearGradient5990"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5992" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5994" /></linearGradient><linearGradient
+   id="linearGradient5960"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop5962" /><stop
+     offset="1"
+     style="stop-color:#003871;stop-opacity:1;"
+     id="stop5964" /></linearGradient><linearGradient
+   id="linearGradient5919"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5921" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5923" /></linearGradient><linearGradient
+   id="linearGradient4353"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101">
+               <stop
+   offset="0"
+   style="stop-color:#1174ac;stop-opacity:1;"
+   id="stop4355" />
+               <stop
+   offset="0.1"
+   style="stop-color:#68b4f2;stop-opacity:1;"
+   id="stop4357" />
+               <stop
+   offset="1"
+   style="stop-color:#00a1f3;stop-opacity:1;"
+   id="stop4359" />
+       </linearGradient><linearGradient
+   id="linearGradient4343"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001">
+               <stop
+   offset="0"
+   style="stop-color:#0087bf;stop-opacity:1;"
+   id="stop4345" />
+               <stop
+   offset="0.05"
+   style="stop-color:#ffffff;stop-opacity:0;"
+   id="stop4347" />
+               <stop
+   offset="0.94999999"
+   style="stop-color:#ffffff;stop-opacity:0.6392405;"
+   id="stop4349" />
+               <stop
+   offset="1"
+   style="stop-color:#116dac;stop-opacity:1;"
+   id="stop4351" />
+       </linearGradient><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8736"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8738"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8740"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8742"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8744"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8746"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8748"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><radialGradient
+   xlink:href="#XMLID_281_"
+   id="radialGradient8750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699" /><linearGradient
+   xlink:href="#XMLID_283_"
+   id="linearGradient8752"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804" /><linearGradient
+   xlink:href="#XMLID_284_"
+   id="linearGradient8754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659" /><linearGradient
+   xlink:href="#XMLID_285_"
+   id="linearGradient8756"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897" /><linearGradient
+   xlink:href="#XMLID_286_"
+   id="linearGradient8758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202" /><linearGradient
+   xlink:href="#XMLID_287_"
+   id="linearGradient8760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,-166,216)"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251" /><linearGradient
+   xlink:href="#XMLID_288_"
+   id="linearGradient8762"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904" /><linearGradient
+   xlink:href="#XMLID_289_"
+   id="linearGradient8764"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_290_"
+   id="linearGradient8766"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,198,220.0005)"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851" /><linearGradient
+   xlink:href="#XMLID_291_"
+   id="linearGradient8768"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_292_"
+   id="linearGradient8770"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_293_"
+   id="linearGradient8772"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601" /><linearGradient
+   xlink:href="#XMLID_298_"
+   id="linearGradient8774"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_299_"
+   id="linearGradient8776"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_300_"
+   id="linearGradient8778"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_301_"
+   id="linearGradient8780"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268" /><radialGradient
+   xlink:href="#XMLID_302_"
+   id="radialGradient8782"
+   gradientUnits="userSpaceOnUse"
+   cx="38.211399"
+   cy="62.580101"
+   fx="38.123001"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_303_"
+   id="radialGradient8784"
+   gradientUnits="userSpaceOnUse"
+   cx="40.436001"
+   cy="62.580101"
+   fx="40.348598"
+   fy="62.5037"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_304_"
+   id="radialGradient8786"
+   gradientUnits="userSpaceOnUse"
+   cx="42.660599"
+   cy="62.580101"
+   fx="42.561901"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_305_"
+   id="radialGradient8788"
+   gradientUnits="userSpaceOnUse"
+   cx="44.8857"
+   cy="62.580101"
+   fx="44.754902"
+   fy="62.4711"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_306_"
+   id="linearGradient8790"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_307_"
+   id="linearGradient8792"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_308_"
+   id="linearGradient8794"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_309_"
+   id="linearGradient8796"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501" /><radialGradient
+   xlink:href="#XMLID_310_"
+   id="radialGradient8798"
+   gradientUnits="userSpaceOnUse"
+   cx="52.3447"
+   cy="67.421898"
+   fx="52.256302"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_311_"
+   id="radialGradient8800"
+   gradientUnits="userSpaceOnUse"
+   cx="54.569302"
+   cy="67.421898"
+   fx="54.481899"
+   fy="67.345497"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_312_"
+   id="radialGradient8802"
+   gradientUnits="userSpaceOnUse"
+   cx="56.7939"
+   cy="67.421898"
+   fx="56.695202"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_313_"
+   id="radialGradient8804"
+   gradientUnits="userSpaceOnUse"
+   cx="59.0186"
+   cy="67.421898"
+   fx="58.887699"
+   fy="67.312897"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_314_"
+   id="linearGradient8806"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601" /><radialGradient
+   xlink:href="#XMLID_315_"
+   id="radialGradient8808"
+   gradientUnits="userSpaceOnUse"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8810"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_207_"
+   id="linearGradient8812"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-10.79"
+   y1="0"
+   x2="10.7891"
+   y2="0" /><linearGradient
+   xlink:href="#XMLID_208_"
+   id="linearGradient8814"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-0.00048828119"
+   y1="-10.7891"
+   x2="-0.00048877468"
+   y2="0.5" /><linearGradient
+   xlink:href="#XMLID_210_"
+   id="linearGradient8816"
+   gradientUnits="userSpaceOnUse"
+   x1="-15.0005"
+   y1="6.5"
+   x2="14.9995"
+   y2="6.5" /><linearGradient
+   xlink:href="#XMLID_349_"
+   id="linearGradient8832"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798" /><linearGradient
+   xlink:href="#XMLID_350_"
+   id="linearGradient8834"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001" /><linearGradient
+   xlink:href="#XMLID_351_"
+   id="linearGradient8836"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101" /><linearGradient
+   xlink:href="#XMLID_352_"
+   id="linearGradient8838"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8840"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient8842"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient8844"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient8846"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient8848"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19528"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19530"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><radialGradient
+   id="XMLID_328_"
+   cx="112.0176"
+   cy="70.366203"
+   r="7.0664001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+               <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop1539" />
+               <stop
+   offset="0.6568"
+   style="stop-color:#555753"
+   id="stop1541" />
+               <stop
+   offset="0.8402"
+   style="stop-color:#DDDDDD"
+   id="stop1543" />
+               <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1545" />
+       </radialGradient><linearGradient
+   xlink:href="#XMLID_220_"
+   id="linearGradient3706"
+   gradientUnits="userSpaceOnUse"
+   x1="0.7852"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><linearGradient
+   xlink:href="#XMLID_221_"
+   id="linearGradient3708"
+   gradientUnits="userSpaceOnUse"
+   x1="5.2343998"
+   y1="91.173798"
+   x2="5.2343998"
+   y2="68.926804" /><linearGradient
+   xlink:href="#XMLID_222_"
+   id="linearGradient3710"
+   gradientUnits="userSpaceOnUse"
+   x1="2.2246001"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><radialGradient
+   xlink:href="#XMLID_353_"
+   id="radialGradient3712"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="579.21582"
+   r="1.702" /><radialGradient
+   xlink:href="#XMLID_354_"
+   id="radialGradient3714"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="581.23828"
+   r="1.8181" /><linearGradient
+   xlink:href="#XMLID_355_"
+   id="linearGradient3716"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.5751,3.367,522.1128)"
+   x1="1.5889"
+   y1="743.79388"
+   x2="1.5889"
+   y2="741.36517" /><radialGradient
+   xlink:href="#XMLID_356_"
+   id="radialGradient3718"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5898"
+   cy="582.99017"
+   r="1.6033" /><radialGradient
+   xlink:href="#XMLID_357_"
+   id="radialGradient3720"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="62.296902"
+   r="1.6866" /><radialGradient
+   xlink:href="#XMLID_358_"
+   id="radialGradient3722"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="64.318398"
+   r="1.8414" /><radialGradient
+   xlink:href="#XMLID_359_"
+   id="radialGradient3724"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.6543"
+   cy="65.9375"
+   r="1.5302" /><linearGradient
+   xlink:href="#XMLID_360_"
+   id="linearGradient3726"
+   gradientUnits="userSpaceOnUse"
+   x1="5.54"
+   y1="62.4492"
+   x2="7.1973"
+   y2="62.4492" /><linearGradient
+   xlink:href="#linearGradient4353"
+   id="linearGradient3728"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101" /><linearGradient
+   xlink:href="#linearGradient4343"
+   id="linearGradient3730"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001"
+   gradientTransform="matrix(1,0,0,0.7186714,0,19.059732)" /><linearGradient
+   xlink:href="#XMLID_363_"
+   id="linearGradient3732"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.2826,0,380.4185)"
+   x1="13.0859"
+   y1="1033.9258"
+   x2="19.367701"
+   y2="1033.9258" /><linearGradient
+   xlink:href="#XMLID_364_"
+   id="linearGradient3734"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.3392,0,157.863)"
+   x1="13.0859"
+   y1="275.6973"
+   x2="19.367701"
+   y2="275.6973" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3736"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><radialGradient
+   xlink:href="#XMLID_366_"
+   id="radialGradient3738"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="48.597198"
+   r="1.1084" /><radialGradient
+   xlink:href="#XMLID_367_"
+   id="radialGradient3740"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="49.9258"
+   r="1.2096" /><radialGradient
+   xlink:href="#XMLID_368_"
+   id="radialGradient3742"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.15143"
+   cy="50.9888"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_369_"
+   id="linearGradient3744"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,1,-533,8.5)"
+   x1="-547.96039"
+   y1="54.700199"
+   x2="-546.87109"
+   y2="54.700199" /><radialGradient
+   xlink:href="#XMLID_370_"
+   id="radialGradient3746"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="727.67682"
+   r="1.1083" /><radialGradient
+   xlink:href="#XMLID_371_"
+   id="radialGradient3748"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="729.00592"
+   r="1.21" /><radialGradient
+   xlink:href="#XMLID_372_"
+   id="radialGradient3750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.15143"
+   cy="730.06842"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_373_"
+   id="linearGradient3752"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,-533,649.9141)"
+   x1="-547.96039"
+   y1="553.74408"
+   x2="-546.87109"
+   y2="553.74408" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient3754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient3756"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient3758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient3760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3762"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3764"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient4705"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient4707"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,510,186)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient4709"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient4711"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient4713"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,286,472.002)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient4715"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,60,-162.002)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient5061"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient5063"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,-1,510,186)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient5065"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient5067"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient5069"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1,1,0,286,472.002)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient5071"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,60,-162.002)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   id="linearGradient2528"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop2530" /><stop
+     id="stop2532"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop2534" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2536"><stop
+     id="stop2538"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2540"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2542"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop2544" /><stop
+     id="stop2546"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop2548" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient2550"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient2552"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop2554" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop2556" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2558"><stop
+     id="stop2560"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2562"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2564"><stop
+     id="stop2566"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop2568"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient2570"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop2572" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop2574" /></linearGradient><linearGradient
+   id="linearGradient2576"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop2578" /><stop
+     id="stop2580"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2582"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop2584" /></linearGradient><linearGradient
+   id="linearGradient2586"><stop
+     id="stop2588"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2590"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2592"><stop
+     id="stop2594"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop2596"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2604"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop2606" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop2608" /></linearGradient><radialGradient
+   xlink:href="#linearGradient3291"
+   id="radialGradient2610"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.197802,0,92.82166)"
+   cx="63.912209"
+   cy="115.70919"
+   fx="63.975182"
+   fy="116.88514"
+   r="63.912209" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient2612"
+   xlink:href="#linearGradient5073" /><foreignObject
+   id="foreignObject2620"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="linearGradient2622"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop2624" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop2626" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop2628" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop2630" /></linearGradient><linearGradient
+   id="linearGradient2632"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop2634" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop2636" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop2638" /></linearGradient><linearGradient
+   id="linearGradient2640"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop2642" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop2644" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2646"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient3711"
+   id="radialGradient2648"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   xlink:href="#linearGradient3711"
+   id="linearGradient2650"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.591298,-1.591298,0,-146.0489,141.4862)"
+   x1="-88.058083"
+   y1="-131.93112"
+   x2="-45.096584"
+   y2="-131.93112" /><linearGradient
+   xlink:href="#linearGradient6537"
+   id="linearGradient2652"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   x1="-70.002899"
+   y1="-383.9971"
+   x2="-11.91648"
+   y2="-383.9971" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2654"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2656"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   id="linearGradient8332"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop8334" /><stop
+     id="stop8340"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop8336" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient6537"><stop
+     id="stop6539"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop6541"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3954"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop3956" /><stop
+     id="stop3962"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop3958" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient3112"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient26907"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop26909" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop26911" /></linearGradient><linearGradient
+   gradientTransform="matrix(0,1,-1,0,-39.9985,140.0029)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3711"><stop
+     id="stop3713"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop3715"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3081"><stop
+     id="stop3083"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop3085"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient3290"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop3292" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop3294" /></linearGradient><linearGradient
+   id="linearGradient3638"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop3640" /><stop
+     id="stop3661"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop3659"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop3642" /></linearGradient><linearGradient
+   id="linearGradient1563"><stop
+     id="stop5369"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop5371"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient3273"><stop
+     id="stop3275"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop3277"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient12948"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop12950" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop12952" /></linearGradient><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient5079"
+   xlink:href="#linearGradient5073" /><linearGradient
+   id="linearGradient5073"><stop
+     id="stop5075"
+     offset="0"
+     style="stop-color:#000000;stop-opacity:1;" /><stop
+     id="stop5077"
+     offset="1"
+     style="stop-color:#000000;stop-opacity:0;" /></linearGradient><foreignObject
+   id="foreignObject7221"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="XMLID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop7227" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop7229" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop7231" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop7233" /></linearGradient><linearGradient
+   id="XMLID_3_"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop7261" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop7263" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop7265" /></linearGradient><linearGradient
+   id="XMLID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop7270" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop7272" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2149"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8330"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8345"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18746"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18674"
+   xlink:href="#linearGradient18668" />
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18649">
+                       <stop
+   id="stop18651"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop18653"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18657"
+   xlink:href="#XMLID_2_" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient15986"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15977"
+   xlink:href="#linearGradient2309" /><linearGradient
+   gradientTransform="translate(1.470416e-5,0)"
+   y2="30.441185"
+   x2="27.719746"
+   y1="7.881104"
+   x1="27.719746"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15973"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14189"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14180"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient12378"
+   xlink:href="#XMLID_2_" />
+       
+<foreignObject
+   id="foreignObject7"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject>
+       <radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2467"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2465"
+   xlink:href="#XMLID_7_" /><linearGradient
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2397"
+   xlink:href="#XMLID_12_" /><linearGradient
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2395"
+   xlink:href="#XMLID_11_" /><linearGradient
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2393"
+   xlink:href="#XMLID_10_" /><linearGradient
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2391"
+   xlink:href="#XMLID_9_" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="XMLID_2_">
+                       <stop
+   id="stop12"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop14"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient15967"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop15969" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop15971" />
+               </linearGradient><linearGradient
+   id="linearGradient18668"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   id="stop18670" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop18672" />
+               </linearGradient><linearGradient
+   id="linearGradient3291"><stop
+     id="stop3293"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop3295"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient5904"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient5908"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5925"
+   x1="-176.11095"
+   y1="28.732603"
+   x2="-160.81332"
+   y2="122.61434"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)" /><filter
+   id="filter5956"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958" /></filter><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5984"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5986"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6086"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient6187"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729"
+   gradientTransform="matrix(10.171775,0,0,6.7817499,1868.2052,-590.26609)"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6193"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient6218"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6236"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient6240"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#XMLID_329_"
+   id="linearGradient4067"
+   gradientUnits="userSpaceOnUse"
+   x1="108.0918"
+   y1="70.889603"
+   x2="105.4746"
+   y2="70.889603" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4076"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4088"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4092"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4094"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4096"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4098"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4100"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4117"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4119"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4121"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4123"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4125"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248,0)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4127"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4129"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4131"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4133"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4138"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4150"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4166"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4168"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4170"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4180"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4185"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1138.9967)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4227"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.683805,0,0,-12.950746,-3045.9942,1253.793)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4241"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.686733,0,0,-11.843809,-3046.506,1155.1878)"
+   cx="-175.51489"
+   cy="93.132141"
+   fx="-175.51489"
+   fy="93.132141"
+   r="6.4729" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4243"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(17.683805,0,0,-12.950746,3161.348,1253.793)"
+   cx="-175.51489"
+   cy="95.502762"
+   fx="-175.51489"
+   fy="95.502762"
+   r="6.4729" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2951"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2954"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2957"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2961"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath3577"><path
+     id="path3579"
+     d="M 46.363028,30.704362 L 46.363028,29.237638 C 46.363047,22.4629 51.340008,17.052447 57.507624,17.052447 C 63.675241,17.052447 68.652211,22.462919 68.652211,29.237638 L 68.652211,30.704362 C 59.857264,19.685199 55.124316,21.096034 46.363028,30.704362 z"
+     style="fill:#0a0a0a;fill-opacity:0.31687239;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient2850"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient2852"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient2854"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2856"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2858"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2860"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2862"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient2866"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient3891"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient3893"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient3895"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3897"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3899"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3901"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3903"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3905"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3966"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229"
+   gradientTransform="matrix(-1.590529,0,0,1.6458583,-204.24324,-77.582437)" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3968"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3970"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3972"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3974"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5990"
+   id="linearGradient3977"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.678905,0,0,1.7373085,352.87922,-100.20825)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.82246"
+   y2="100.83141" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3980"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.678905,0,0,1.7373085,352.23883,-106.6493)"
+   x1="-158.7686"
+   y1="114.56229"
+   x2="-181.66037"
+   y2="92.122795" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3983"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.678905,0,0,1.7373085,352.87922,-100.20825)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient4021"
+   id="linearGradient3987"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.7760316,0,0,1.8378139,362.06552,-99.560011)"
+   x1="-150.48445"
+   y1="68.066399"
+   x2="-150.48445"
+   y2="117.80468" /><filter
+   id="filter4737"><feGaussianBlur
+     stdDeviation="0.61380459"
+     id="feGaussianBlur4739" /></filter><linearGradient
+   xlink:href="#linearGradient4741"
+   id="linearGradient4747"
+   x1="-175.8602"
+   y1="125.05635"
+   x2="-174.98068"
+   y2="67.385735"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4612"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4653"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,0.92781246,-26.708926,-9.8846577)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.99999996,0,0,1.4948823,-26.708926,-17.566135)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><linearGradient
+   id="linearGradient5960-5"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop5962-6" /><stop
+     offset="1"
+     style="stop-color:#003871;stop-opacity:1;"
+     id="stop5964-2" /></linearGradient><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient4646-1"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.8806384,0,0,1.9460596,-252.55527,-105.37123)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath4727"><path
+     id="path4729"
+     style="display:inline;fill:url(#radialGradient4731);fill-opacity:1;stroke:none;stroke-width:1.75569;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 6.6174489,79.577162 c 0,4.501116 -0.078655,4.199435 54.4575341,4.199435 59.861117,0 53.307557,-0.797293 53.307557,-4.511124 0,0 -45.653941,-73.148026 -53.882546,-73.148026 -5.754082,0 -53.8825451,70.121392 -53.8825451,73.459715 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4731"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.7556905,0,0,1.7556905,-231.87906,-103.86142)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /><filter
+   style="color-interpolation-filters:sRGB"
+   id="filter6647"
+   x="-0.010738018"
+   width="1.021476"
+   y="-0.013598115"
+   height="1.0271962"><feGaussianBlur
+     stdDeviation="0.35186875"
+     id="feGaussianBlur6649" /></filter><radialGradient
+   xlink:href="#linearGradient3969"
+   id="radialGradient4660-3"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.2566102,0,0,1.7806359,-11.676925,-148.61209)"
+   cx="87.411514"
+   cy="18.802368"
+   fx="87.411514"
+   fy="18.802368"
+   r="5.375226" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath6708"><path
+     id="path6710"
+     style="display:block;overflow:visible;fill:url(#radialGradient6712);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+     d="m 97.957558,-2.9144046 c 4.989172,0 4.654772,0.084252 4.654772,-58.3331304 0,-64.121265 -0.88374,-57.101315 -5.000255,-57.101315 0,0 -81.079449,48.903011 -81.079449,57.717223 0,6.163586 77.724639,57.7172224 81.424932,57.7172224 z"
+     clip-path="none"
+     mask="none" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960-5"
+   id="radialGradient6712"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.8806383,1.9460595,0,-105.37122,252.55526)"
+   cx="-167.33514"
+   cy="84.452995"
+   fx="-167.33514"
+   fy="84.452995"
+   r="31.190229" /></defs>
+<metadata
+   id="metadata3">
+       <ns:sfw>
+               <ns:slices />
+               <ns:sliceSourceBounds
+   x="4"
+   y="3"
+   height="120"
+   width="121"
+   bottomLeftOrigin="true" />
+       </ns:sfw>
+<rdf:RDF><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata>
+<filter
+   id="AI_Sfocatura_3">
+       <feGaussianBlur
+   stdDeviation="3"
+   id="feGaussianBlur6" />
+</filter>
+<filter
+   id="AI_Sfocatura_2">
+       <feGaussianBlur
+   stdDeviation="2"
+   id="feGaussianBlur9" />
+</filter>
+<filter
+   id="AI_Sfocatura_1">
+       <feGaussianBlur
+   stdDeviation="1"
+   id="feGaussianBlur12" />
+</filter>
+<circle
+   style="display:none;fill:url(#linearGradient4747);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter4737)"
+   id="path4723"
+   transform="matrix(-1.7683599,0,0,1.7683599,-233.98893,-105.04387)"
+   clip-path="none"
+   cx="-166.53223"
+   cy="93.331604"
+   r="30.690229" /><path
+   id="path4644-9"
+   style="display:block;overflow:visible;fill:url(#radialGradient4646-1);fill-opacity:1;stroke:none;stroke-width:1.91307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 2.9144046,97.957555 c 0,4.989175 -0.084252,4.654775 58.3331324,4.654775 64.121273,0 57.101323,-0.88374 57.101323,-5.000261 0,0 -48.903019,-81.079448 -57.717231,-81.079448 -6.163586,0 -57.7172244,77.724638 -57.7172244,81.424934 z"
+   clip-path="none"
+   mask="none" /><ellipse
+   style="display:inline;overflow:visible;opacity:0.714;fill:url(#radialGradient4660-3);fill-opacity:1;stroke-width:1.46802"
+   id="ellipse4651-6"
+   cx="98.442719"
+   cy="-114.92043"
+   rx="6.7545643"
+   ry="9.5713205"
+   clip-path="url(#clipPath6708)"
+   transform="rotate(90)" /><ellipse
+   style="display:inline;opacity:0.714;fill:url(#radialGradient4660);fill-opacity:1;stroke-width:1.19991"
+   id="ellipse4651"
+   cx="60.923374"
+   cy="10.718739"
+   rx="5.375226"
+   ry="8.0353298"
+   clip-path="url(#clipPath4727)"
+   transform="matrix(1.0711674,0,0,1.1084298,-4.173991,9.7518579)" /><path
+   id="path5906"
+   style="display:inline;fill:url(#radialGradient3966);fill-opacity:1;stroke:none;stroke-width:1.61796;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 11.817401,95.205872 c 0,2.233495 21.854648,2.449218 48.813702,2.449218 26.959053,0 48.813697,0.05695 48.813697,-2.734347 0,-2.575405 -42.9905,-71.24635 -48.6044,-71.24635 -4.510597,0 -49.022999,68.26845 -49.022999,71.531479 z" /><path
+   id="path5910"
+   d="m 60.98449,24.183 c -5.579059,0 -41.976871,56.345332 -41.976871,59.619142 0,2.001494 21.591267,2.493093 25.878899,2.483825 24.235265,0 34.838357,-1.858835 52.765506,-8.906403 C 88.480917,57.31959 64.586435,24.183001 60.98449,24.183 Z"
+   style="display:inline;opacity:0.892193;fill:url(#linearGradient3987);fill-opacity:1;stroke:none;stroke-width:1.08964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter6647)" /><path
+   id="path5927"
+   transform="matrix(-1.678905,0,0,1.7373085,-115.73773,-95.654501)"
+   d="m -133.87593,109.8736 c 0,0.75659 12.34725,2.31486 28.3965,2.31486 16.049243,0 30.74561,-0.17854 29.504237,-2.32866 0,-0.74972 -15.776766,0.86112 -29.955397,0.87804 -16.21667,0 -27.94534,-1.66602 -27.94534,-0.86424 z"
+   style="display:inline;fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956)" /><path
+   id="path5966"
+   d="M 60.98449,24.183 C 44.43445,38.081324 28.000682,72.500787 20.278506,81.534118 c 0,-2.304118 37.960712,-54.311307 40.538754,-54.311307 3.398398,0 25.721702,32.524769 37.697762,50.359701 0,-1.71092 -23.408922,-41.933431 -37.530532,-53.399512 z"
+   style="display:inline;fill:url(#linearGradient3983);fill-opacity:1;stroke:none;stroke-width:1.08964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   style="display:inline;opacity:0.8;fill:url(#linearGradient3977);fill-opacity:1;stroke:none;stroke-width:1.08964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="M 60.866237,23.8146 C 56.90009,22.709401 20.032594,77.401624 20.032594,83.009338 43.809365,52.278094 53.736598,30.4638 60.847807,30.372143 c 6.808906,-0.08777 28.423626,37.694344 36.804217,47.007421 0,-3.803232 -32.306875,-54.320135 -36.785787,-53.564964 z"
+   id="path6088" />
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_281_"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#00892C"
+   id="stop645" />
+       <stop
+   offset="1"
+   style="stop-color:#006E29"
+   id="stop647" />
+</radialGradient>
+
+
+
+
+
+<linearGradient
+   id="XMLID_283_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop671" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop673" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_284_"
+   gradientUnits="userSpaceOnUse"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop680" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop682" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop684" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_285_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897">
+       <stop
+   offset="0"
+   style="stop-color:#BBBBBB"
+   id="stop689" />
+       <stop
+   offset="0.2426"
+   style="stop-color:#EEEEEE"
+   id="stop691" />
+       <stop
+   offset="0.3965"
+   style="stop-color:#DDDDDD"
+   id="stop693" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#FFFFFF"
+   id="stop695" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_286_"
+   gradientUnits="userSpaceOnUse"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop700" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop702" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop704" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_287_"
+   gradientUnits="userSpaceOnUse"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251"
+   gradientTransform="matrix(0,-1,1,0,-166,216)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop709" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop711" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop713" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_288_"
+   gradientUnits="userSpaceOnUse"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop718" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop720" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop722" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_289_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop727" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop729" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop731" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_290_"
+   gradientUnits="userSpaceOnUse"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851"
+   gradientTransform="matrix(0,1,-1,0,198,220.0005)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop736" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop738" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop740" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_291_"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop745" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop747" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop749" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_292_"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop754" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop756" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop758" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_293_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop763" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop765" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop767" />
+</linearGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_298_"
+   gradientUnits="userSpaceOnUse"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop846" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop848" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_299_"
+   gradientUnits="userSpaceOnUse"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop853" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop855" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_300_"
+   gradientUnits="userSpaceOnUse"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop860" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop862" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_301_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop867" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop869" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_302_"
+   cx="38.211399"
+   cy="62.580101"
+   r="0.32710001"
+   fx="38.123001"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop874" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop876" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop878" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_303_"
+   cx="40.436001"
+   cy="62.580101"
+   r="0.32710001"
+   fx="40.348598"
+   fy="62.5037"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop883" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop885" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop887" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_304_"
+   cx="42.660599"
+   cy="62.580101"
+   r="0.32710001"
+   fx="42.561901"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop892" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop894" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop896" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_305_"
+   cx="44.8857"
+   cy="62.580101"
+   r="0.32710001"
+   fx="44.754902"
+   fy="62.4711"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop901" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop903" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop905" />
+</radialGradient>
+
+
+
+
+<linearGradient
+   id="XMLID_306_"
+   gradientUnits="userSpaceOnUse"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop918" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop920" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_307_"
+   gradientUnits="userSpaceOnUse"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop925" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop927" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_308_"
+   gradientUnits="userSpaceOnUse"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop932" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop934" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_309_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop939" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop941" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_310_"
+   cx="52.3447"
+   cy="67.421898"
+   r="0.32710001"
+   fx="52.256302"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop946" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop948" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop950" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_311_"
+   cx="54.569302"
+   cy="67.421898"
+   r="0.32710001"
+   fx="54.481899"
+   fy="67.345497"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop955" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop957" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop959" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_312_"
+   cx="56.7939"
+   cy="67.421898"
+   r="0.32710001"
+   fx="56.695202"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop964" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop966" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop968" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_313_"
+   cx="59.0186"
+   cy="67.421898"
+   r="0.32710001"
+   fx="58.887699"
+   fy="67.312897"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop973" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop975" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop977" />
+</radialGradient>
+
+
+
+<linearGradient
+   id="XMLID_314_"
+   gradientUnits="userSpaceOnUse"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop988" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop990" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_315_"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop995" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop997" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop999" />
+</radialGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_332_"
+   cx="16.095699"
+   cy="16.320299"
+   r="5.3958998"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1606" />
+       <stop
+   offset="1"
+   style="stop-color:#B2F8FF"
+   id="stop1608" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_333_"
+   gradientUnits="userSpaceOnUse"
+   x1="16.096201"
+   y1="20.246599"
+   x2="16.096201"
+   y2="12.3945">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1613" />
+       <stop
+   offset="1"
+   style="stop-color:#89BFC4"
+   id="stop1615" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_334_"
+   cx="16.095699"
+   cy="26.1353"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#F9CADE"
+   id="stop1620" />
+       <stop
+   offset="1"
+   style="stop-color:#E88BB2"
+   id="stop1622" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_335_"
+   cx="16.095699"
+   cy="36.211399"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D8E8C2"
+   id="stop1627" />
+       <stop
+   offset="0.2713"
+   style="stop-color:#D5E6BE"
+   id="stop1629" />
+       <stop
+   offset="0.563"
+   style="stop-color:#CBE1B1"
+   id="stop1631" />
+       <stop
+   offset="0.8632"
+   style="stop-color:#BAD79B"
+   id="stop1633" />
+       <stop
+   offset="1"
+   style="stop-color:#B1D28F"
+   id="stop1635" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_336_"
+   cx="16.095699"
+   cy="46.026402"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#FFDFBF"
+   id="stop1640" />
+       <stop
+   offset="0.2425"
+   style="stop-color:#FFDDBB"
+   id="stop1642" />
+       <stop
+   offset="0.5033"
+   style="stop-color:#FFD6AE"
+   id="stop1644" />
+       <stop
+   offset="0.7716"
+   style="stop-color:#FFCB98"
+   id="stop1646" />
+       <stop
+   offset="1"
+   style="stop-color:#FFBF80"
+   id="stop1648" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_337_"
+   cx="16.095699"
+   cy="55.971699"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555753"
+   id="stop1653" />
+       <stop
+   offset="0.3128"
+   style="stop-color:#515350"
+   id="stop1655" />
+       <stop
+   offset="0.6491"
+   style="stop-color:#444846"
+   id="stop1657" />
+       <stop
+   offset="0.9952"
+   style="stop-color:#2E3436"
+   id="stop1659" />
+       <stop
+   offset="1"
+   style="stop-color:#2E3436"
+   id="stop1661" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_338_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="16.320299"
+   x2="2907.6094"
+   y2="16.320299"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1666" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1668" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_339_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="26.1353"
+   x2="2907.6094"
+   y2="26.1353"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_347_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1673" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_340_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="36.211399"
+   x2="2907.6094"
+   y2="36.211399"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1680" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1682" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_341_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="46.026402"
+   x2="2907.6094"
+   y2="46.026402"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1687" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1689" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_342_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="55.971699"
+   x2="2907.6094"
+   y2="55.971699"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1694" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1696" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_349_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1801" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1803" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1805" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1807" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1809" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1811" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1813" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1815" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1817" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_350_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1822" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1824" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1826" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1828" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1830" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1832" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1834" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1836" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1838" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_351_"
+   gradientUnits="userSpaceOnUse"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1843" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1845" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1847" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1849" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1851" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1853" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1855" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1857" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1859" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_352_"
+   gradientUnits="userSpaceOnUse"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)">
+       <stop
+   offset="0"
+   style="stop-color:#EEEEEC"
+   id="stop1864" />
+       <stop
+   offset="0.15"
+   style="stop-color:#D3D7CF"
+   id="stop1866" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1868" />
+       <stop
+   offset="0.5266"
+   style="stop-color:#EBF0E7"
+   id="stop1870" />
+       <stop
+   offset="0.8"
+   style="stop-color:#ADB0AA"
+   id="stop1872" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1874" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_374_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2052" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2054" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2056" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2058" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2060" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2062" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2064" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2066" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_375_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2071" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2073" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2075" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2077" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_376_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2082" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2084" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2086" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2088" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2090" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2092" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2094" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2096" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_377_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2101" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2103" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2105" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2107" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_378_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2112" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2114" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_379_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2119" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2121" />
+</linearGradient>
+
+<path
+   id="path5974"
+   d="m 60.955705,24.765338 c 6.540769,2.924307 26.867625,35.266298 36.696319,52.614226 -17.92715,7.047583 -32.191715,8.155036 -56.426982,8.155054 -9.438001,0.207005 -18.575887,-0.131383 -28.922983,-1.838463 0,0 3.082384,0.405195 3.084955,0.422687 10.259403,1.698027 18.099902,2.18326 29.443824,2.18326 24.235269,0 35.757027,-1.672008 53.684184,-8.71959 C 95.970979,72.184672 70.944517,30.185514 60.955705,24.765338 Z"
+   style="display:inline;opacity:0.6;fill:url(#linearGradient3980);fill-opacity:1;stroke:none;stroke-width:1.08964;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /></svg>
diff --git a/flags/standard/dialog-ok-apply.svg b/flags/standard/dialog-ok-apply.svg
new file mode 100644 (file)
index 0000000..808da45
--- /dev/null
@@ -0,0 +1,413 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   enable-background="new"
+   version="1.0"
+   height="48"
+   width="48"
+   id="svg104">
+  <metadata
+     id="metadata108">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs74">
+    <linearGradient
+       id="g">
+      <stop
+         offset="0"
+         stop-color="#fff"
+         id="stop2" />
+      <stop
+         offset="1"
+         stop-color="#fff"
+         stop-opacity="0"
+         id="stop4" />
+    </linearGradient>
+    <linearGradient
+       id="f">
+      <stop
+         offset="0"
+         stop-color="#f0ff80"
+         id="stop7" />
+      <stop
+         offset="1"
+         stop-color="#f0ff80"
+         stop-opacity="0"
+         id="stop9" />
+    </linearGradient>
+    <linearGradient
+       id="e">
+      <stop
+         offset="0"
+         stop-color="#fff"
+         id="stop12" />
+      <stop
+         offset="1"
+         stop-color="#fff"
+         stop-opacity="0"
+         id="stop14" />
+    </linearGradient>
+    <linearGradient
+       id="d">
+      <stop
+         offset="0"
+         stop-color="#001400"
+         id="stop17" />
+      <stop
+         offset="1"
+         stop-color="#001400"
+         stop-opacity="0"
+         id="stop19" />
+    </linearGradient>
+    <linearGradient
+       id="c">
+      <stop
+         offset="0"
+         stop-color="#bfffbf"
+         id="stop22" />
+      <stop
+         offset="1"
+         stop-color="#bfffbf"
+         stop-opacity="0"
+         id="stop24" />
+    </linearGradient>
+    <linearGradient
+       id="b">
+      <stop
+         offset="0"
+         stop-color="#003100"
+         id="stop27" />
+      <stop
+         offset="1"
+         stop-color="#008c00"
+         id="stop29" />
+    </linearGradient>
+    <linearGradient
+       id="a">
+      <stop
+         offset="0"
+         stop-color="#66f515"
+         id="stop32" />
+      <stop
+         offset="1"
+         stop-color="#002e00"
+         id="stop34" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.41620037,0,0,0.41620037,-1.9662228,4.1525157)"
+       gradientUnits="userSpaceOnUse"
+       y2="30.849001"
+       x2="89.091003"
+       y1="103.897"
+       x1="89.091003"
+       id="i"
+       xlink:href="#b" />
+    <linearGradient
+       gradientTransform="matrix(0.41620037,0,0,0.41620037,-1.9662228,4.1525157)"
+       gradientUnits="userSpaceOnUse"
+       y2="89.995003"
+       x2="83.324997"
+       y1="24.063"
+       x1="83.324997"
+       id="x"
+       xlink:href="#c" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="47.379002"
+       x2="71.603996"
+       y1="96.884003"
+       x1="71.603996"
+       id="y"
+       xlink:href="#f" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="46.277"
+       x2="77.138"
+       y1="74.838997"
+       x1="87.532997"
+       id="A"
+       xlink:href="#g"
+       gradientTransform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877147)" />
+    <linearGradient
+       y2="69.837997"
+       x2="83.324997"
+       y1="24.063"
+       x1="83.324997"
+       gradientTransform="matrix(0.41620037,0,0,0.41620037,-1.9662228,4.1525157)"
+       gradientUnits="userSpaceOnUse"
+       id="B"
+       xlink:href="#g" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.54593835,0,0,0.40945792,-9.0025067,3.0346017)"
+       r="48"
+       fy="99.884003"
+       fx="54.537998"
+       cy="77.542"
+       cx="54.537998"
+       id="w"
+       xlink:href="#a" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.2350117,0,0,0.3819221,8.1990547,2.5476477)"
+       r="52"
+       fy="87.081001"
+       fx="53.16"
+       cy="95.459"
+       cx="52.792"
+       id="v"
+       xlink:href="#d" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-96.241,-146.148)"
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       id="t"
+       xlink:href="#e" />
+    <radialGradient
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-96.241,-146.148)"
+       gradientUnits="userSpaceOnUse"
+       id="r"
+       xlink:href="#e" />
+    <radialGradient
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-167.241,-126.148)"
+       gradientUnits="userSpaceOnUse"
+       id="p"
+       xlink:href="#e" />
+    <radialGradient
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-96.241,-146.148)"
+       gradientUnits="userSpaceOnUse"
+       id="n"
+       xlink:href="#e" />
+    <radialGradient
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-167.241,-126.148)"
+       gradientUnits="userSpaceOnUse"
+       id="l"
+       xlink:href="#f" />
+    <radialGradient
+       r="52"
+       fy="51.919998"
+       fx="53.632999"
+       cy="51.919998"
+       cx="53.632999"
+       gradientTransform="matrix(1.09614,0.08791,-0.10023,1.24973,1.06,-18.687)"
+       gradientUnits="userSpaceOnUse"
+       id="j"
+       xlink:href="#e" />
+    <filter
+       id="z">
+      <feGaussianBlur
+         stdDeviation=".425"
+         id="feGaussianBlur50" />
+    </filter>
+    <filter
+       id="h">
+      <feGaussianBlur
+         stdDeviation=".461"
+         id="feGaussianBlur53" />
+    </filter>
+    <filter
+       id="k">
+      <feBlend
+         in2="BackgroundImage"
+         mode="lighten"
+         id="feBlend56" />
+    </filter>
+    <filter
+       height="1.206"
+       y="-0.103"
+       width="1.365"
+       x="-0.182"
+       id="m">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur59" />
+    </filter>
+    <filter
+       height="1.206"
+       y="-0.103"
+       width="1.365"
+       x="-0.182"
+       id="q">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur62" />
+    </filter>
+    <filter
+       height="1.37"
+       y="-0.185"
+       width="1.2079999"
+       x="-0.104"
+       id="o">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur65" />
+    </filter>
+    <filter
+       height="1.206"
+       y="-0.103"
+       width="1.365"
+       x="-0.182"
+       id="u">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur68" />
+    </filter>
+    <filter
+       height="1.37"
+       y="-0.185"
+       width="1.2079999"
+       x="-0.104"
+       id="s">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur71" />
+    </filter>
+  </defs>
+  <path
+     d="M 54.394,74.154 28.631,47.75 16,60.698 54.394,100.053 112,41 99.367,28.053 Z"
+     fill="none"
+     stroke="#004d00"
+     stroke-width="8.1"
+     stroke-linecap="round"
+     stroke-linejoin="round"
+     filter="url(#h)"
+     id="path76"
+     transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+  <path
+     d="M 20.672579,33.350635 9.9500098,22.361285 4.6929831,27.750245 20.672579,44.129815 44.648218,19.55193 39.390359,14.163384 Z"
+     fill="none"
+     stroke="url(#i)"
+     stroke-width="3.3296"
+     stroke-linecap="round"
+     stroke-linejoin="round"
+     id="path78"
+     style="stroke:url(#i)" />
+  <path
+     d="M 54.394,74.154 28.631,47.75 16,60.698 54.394,100.053 112,41 99.367,28.053 Z"
+     opacity="0.286"
+     fill="none"
+     stroke="url(#j)"
+     stroke-width="8"
+     stroke-linecap="round"
+     stroke-linejoin="round"
+     filter="url(#k)"
+     id="path80"
+     style="stroke:url(#j)"
+     transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+  <path
+     transform="matrix(0.41620037,0,0,-0.41620037,8.8549867,63.981325)"
+     d="m 28.406,44.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.687,9.688 c 0.111,-0.114 0.85,-0.848 0.938,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+     opacity="0.41"
+     fill="url(#l)"
+     filter="url(#m)"
+     id="path82"
+     style="fill:url(#l)" />
+  <path
+     transform="matrix(-0.14234891,0.39110041,0.39110041,0.14234891,8.1103064,-15.077374)"
+     d="m 99.406,24.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.688,9.688 c 0.11,-0.114 0.85,-0.848 0.937,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+     opacity="0.238"
+     fill="url(#n)"
+     filter="url(#o)"
+     id="path84"
+     style="fill:url(#n)" />
+  <path
+     d="m 28.406,44.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.687,9.688 c 0.111,-0.114 0.85,-0.848 0.938,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+     opacity="0.776"
+     fill="url(#p)"
+     filter="url(#q)"
+     id="path86"
+     style="fill:url(#p)"
+     transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+  <path
+     d="m 99.406,24.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.688,9.688 c 0.11,-0.114 0.85,-0.848 0.937,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+     transform="matrix(0.14234891,0.39110041,-0.39110041,0.14234891,41.540516,-23.401123)"
+     opacity="0.371"
+     fill="url(#r)"
+     filter="url(#s)"
+     id="path88"
+     style="fill:url(#r)" />
+  <path
+     d="m 99.406,24.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.688,9.688 c 0.11,-0.114 0.85,-0.848 0.937,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+     opacity="0.871"
+     fill="url(#t)"
+     filter="url(#u)"
+     id="path90"
+     style="fill:url(#t)"
+     transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+  <path
+     d="M 20.672579,33.350635 9.9500098,22.361285 4.6929831,27.750245 20.672579,44.129815 44.648218,19.55193 39.390359,14.163384 Z"
+     opacity="0.286"
+     fill="none"
+     stroke="url(#v)"
+     stroke-width="3.3296"
+     stroke-linecap="round"
+     stroke-linejoin="round"
+     id="path92"
+     style="stroke:url(#v)" />
+  <path
+     d="M 20.672579,33.350635 9.9500098,22.361285 4.6929831,27.750245 20.672579,44.129815 44.648218,19.55193 39.390359,14.163384 Z"
+     fill="url(#w)"
+     id="path94"
+     style="fill:url(#w);stroke-width:0.4162" />
+  <path
+     d="m 39.393688,14.167546 c 0,0 -14.673976,15.041479 -18.716114,19.183919 C 17.286373,29.876195 9.9475125,22.361285 9.9475125,22.361285 l -5.2545294,5.3848 6.8544039,7.02296 h 0.233904 c 7.295993,0 14.207832,-0.87111 20.40672,-2.43186 L 44.648218,19.55193 Z"
+     fill="url(#x)"
+     id="path96"
+     style="fill:url(#x);stroke-width:0.4162" />
+  <path
+     d="M 54.394,74.154 28.631,47.75 16,60.698 54.394,100.053 112,41 99.367,28.053 Z"
+     fill="none"
+     stroke="url(#y)"
+     filter="url(#z)"
+     id="path98"
+     style="stroke:url(#y)"
+     transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+  <path
+     d="m 39.393688,14.167546 -0.168977,0.18188 5.072233,5.111356 -12.486011,12.577163 c -6.212206,1.53494 -12.925518,2.58835 -20.237742,2.58835 h -0.156075 l 0.130271,0.14317 h 0.233904 c 7.295993,0 14.207832,-0.87153 20.407136,-2.43228 L 44.648218,19.55193 Z"
+     fill="url(#A)"
+     id="path100"
+     style="fill:url(#A);stroke-width:0.4162" />
+  <path
+     d="m 39.393688,14.167546 c 0,0 -14.673976,15.041479 -18.716114,19.183919 C 17.286373,29.876195 9.9475125,22.361285 9.9475125,22.361285 l -5.2545294,5.3848 0.2081004,0.2081 5.046429,-5.1767 c 0,0 7.3388605,7.51491 10.7300615,10.99019 l 18.716114,-19.184345 5.04643,5.176705 0.2081,-0.208105 z"
+     fill="url(#B)"
+     id="path102"
+     style="fill:url(#B);stroke-width:0.4162" />
+</svg>
diff --git a/flags/standard/dialog-warning.svg b/flags/standard/dialog-warning.svg
new file mode 100644 (file)
index 0000000..bc82e91
--- /dev/null
@@ -0,0 +1,486 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="64"
+   height="64"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient3377">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3379" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3381" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3320">
+      <stop
+         style="stop-color:#ea3b18;stop-opacity:1;"
+         offset="0"
+         id="stop3322" />
+      <stop
+         style="stop-color:#ea3b18;stop-opacity:0;"
+         offset="1"
+         id="stop3324" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3306">
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:1"
+         offset="0"
+         id="stop3308" />
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:0"
+         offset="1"
+         id="stop3310" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3282">
+      <stop
+         style="stop-color:#ac4311;stop-opacity:1;"
+         offset="0"
+         id="stop3284" />
+      <stop
+         style="stop-color:#ea5418;stop-opacity:1"
+         offset="1"
+         id="stop3286" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3252">
+      <stop
+         id="stop3254"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop3256"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4193">
+      <stop
+         style="stop-color:#ffc404;stop-opacity:1;"
+         offset="0"
+         id="stop4195" />
+      <stop
+         style="stop-color:#ffc404;stop-opacity:0;"
+         offset="1"
+         id="stop4197" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4068">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4070" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4072" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4056">
+      <stop
+         style="stop-color:#ffd500;stop-opacity:1"
+         offset="0"
+         id="stop4058" />
+      <stop
+         style="stop-color:#ffff99;stop-opacity:0"
+         offset="1"
+         id="stop4060" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3993">
+      <stop
+         style="stop-color:#ffffbf;stop-opacity:1;"
+         offset="0"
+         id="stop3995" />
+      <stop
+         style="stop-color:#ffffbf;stop-opacity:0;"
+         offset="1"
+         id="stop3997" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3971">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3973" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3975" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3954">
+      <stop
+         style="stop-color:#ffffbf;stop-opacity:1"
+         offset="0"
+         id="stop3956" />
+      <stop
+         style="stop-color:#ffffbf;stop-opacity:0"
+         offset="1"
+         id="stop3958" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3932">
+      <stop
+         id="stop3934"
+         offset="0"
+         style="stop-color:#ffff00;stop-opacity:1" />
+      <stop
+         id="stop3936"
+         offset="1"
+         style="stop-color:#ff7e00;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3924">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3926" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3928" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3863">
+      <stop
+         style="stop-color:#ffff00;stop-opacity:1;"
+         offset="0"
+         id="stop3865" />
+      <stop
+         style="stop-color:#ffff00;stop-opacity:0;"
+         offset="1"
+         id="stop3867" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3851">
+      <stop
+         style="stop-color:#ffdd00;stop-opacity:1"
+         offset="0"
+         id="stop3853" />
+      <stop
+         style="stop-color:#e15800;stop-opacity:1"
+         offset="1"
+         id="stop3855" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#linearGradient3932"
+       id="radialGradient3849"
+       cx="63.683678"
+       cy="85.945168"
+       fx="63.683678"
+       fy="85.945168"
+       r="48.004356"
+       gradientTransform="matrix(2.2650884,-0.23806992,0.08235175,0.78352476,-118.98631,-4.8924383)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3851"
+       id="linearGradient3857"
+       x1="74.685875"
+       y1="37.71302"
+       x2="74.685875"
+       y2="108.00891"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.58544297,0,0,0.63911509,-5.1138675,-8.0541618)" />
+    <radialGradient
+       xlink:href="#linearGradient3863"
+       id="radialGradient3869"
+       cx="64"
+       cy="85.107361"
+       fx="64"
+       fy="85.107361"
+       r="44.376011"
+       gradientTransform="matrix(1.2869508,0,0,1.1214233,-18.364853,-13.046791)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3924"
+       id="linearGradient3930"
+       x1="88.959549"
+       y1="69.507797"
+       x2="78.860336"
+       y2="31.817015"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0076278,0,0,1.0920256,-0.8831547,-2.1497485)" />
+    <linearGradient
+       xlink:href="#linearGradient3954"
+       id="linearGradient3960"
+       x1="72.742889"
+       y1="102.71508"
+       x2="72.742889"
+       y2="42.471062"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.54810629,0,0,0.60356948,-2.9384384,-5.9059022)" />
+    <linearGradient
+       xlink:href="#linearGradient3971"
+       id="linearGradient3977"
+       x1="65.980019"
+       y1="15.087444"
+       x2="67.189468"
+       y2="82.910049"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.55748583,0,0,0.59961682,-3.5538623,-5.6055093)" />
+    <radialGradient
+       xlink:href="#linearGradient3993"
+       id="radialGradient3999"
+       cx="64"
+       cy="64.5"
+       fx="64"
+       fy="64.5"
+       r="7"
+       gradientTransform="matrix(7.4243342,0,0,4.3571426,-411.15739,-216.53569)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient4056"
+       id="radialGradient4062"
+       cx="22.004967"
+       cy="102"
+       fx="22.004967"
+       fy="102"
+       r="5.9950328"
+       gradientTransform="matrix(4.5508198,-2.6275176,0.30004545,0.51971382,-123.23578,60.363027)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient4056"
+       id="radialGradient4066"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-4.5508198,-2.6275176,-0.30004545,0.51971382,188.07156,60.363027)"
+       cx="22.004967"
+       cy="102"
+       fx="22.004967"
+       fy="102"
+       r="5.9950328" />
+    <radialGradient
+       xlink:href="#linearGradient4068"
+       id="radialGradient4076"
+       cx="64"
+       cy="21.994045"
+       fx="64"
+       fy="21.994045"
+       r="4.21875"
+       gradientTransform="matrix(-1,0,0,-12.343127,128,293.46933)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3252"
+       id="linearGradient4179"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.56169667,0,0,0.59961682,-3.6050627,-5.4320765)"
+       x1="56.87429"
+       y1="22.873119"
+       x2="72.923073"
+       y2="77.707237" />
+    <linearGradient
+       xlink:href="#linearGradient4193"
+       id="linearGradient4199"
+       x1="64.653976"
+       y1="20.939892"
+       x2="82.169357"
+       y2="149.0795"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3924"
+       id="linearGradient3250"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0229652,0,0,1.0920256,-1.8592398,-2.1497485)"
+       x1="96.932816"
+       y1="77.581039"
+       x2="76.824234"
+       y2="40.685932" />
+    <filter
+       id="filter3274">
+      <feGaussianBlur
+         stdDeviation="1.4432763"
+         id="feGaussianBlur3276" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient3282"
+       id="linearGradient3288"
+       x1="70.005867"
+       y1="100.14268"
+       x2="59.42857"
+       y2="40.155846"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient3306"
+       id="radialGradient3312"
+       cx="63.999996"
+       cy="72"
+       fx="63.999996"
+       fy="72"
+       r="8.7854013"
+       gradientTransform="matrix(7.9280565,-0.2768537,0.1496998,4.2868418,-454.17398,-218.93398)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient3320"
+       id="radialGradient3326"
+       cx="64.025276"
+       cy="25.956657"
+       fx="64.025276"
+       fy="25.956657"
+       r="52.025276"
+       gradientTransform="matrix(0.83752937,-0.02924717,0.02005627,0.57433599,-21.789168,-4.2214803)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3282"
+       id="linearGradient3358"
+       gradientUnits="userSpaceOnUse"
+       x1="70.005867"
+       y1="100.14268"
+       x2="59.42857"
+       y2="40.155846" />
+    <linearGradient
+       xlink:href="#linearGradient3282"
+       id="linearGradient3361"
+       gradientUnits="userSpaceOnUse"
+       x1="70.005867"
+       y1="100.14268"
+       x2="59.42857"
+       y2="40.155846" />
+    <linearGradient
+       xlink:href="#linearGradient3252"
+       id="linearGradient3366"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9986369,0,0,1.0660549,0.08382712,-1.3146341)"
+       x1="54.046303"
+       y1="13.634459"
+       x2="78.194069"
+       y2="92.522026" />
+    <linearGradient
+       xlink:href="#linearGradient3252"
+       id="linearGradient3372"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9995069,0,0,1.0617264,-0.1793381,-1.2280911)"
+       x1="54.046303"
+       y1="13.634459"
+       x2="78.194069"
+       y2="92.522026" />
+    <linearGradient
+       xlink:href="#linearGradient3252"
+       id="linearGradient3374"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0229652,0,0,1.0920256,-1.4644437,-1.8338916)"
+       x1="54.046303"
+       y1="13.634459"
+       x2="78.194069"
+       y2="92.522026" />
+    <linearGradient
+       xlink:href="#linearGradient3377"
+       id="linearGradient3383"
+       x1="85.398132"
+       y1="82.805801"
+       x2="61.264969"
+       y2="46.195744"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.54908677,0,0,0.54908677,-2.800956,-4.4251107)" />
+    <linearGradient
+       xlink:href="#linearGradient3282"
+       id="linearGradient3391"
+       gradientUnits="userSpaceOnUse"
+       x1="67.096779"
+       y1="35.311508"
+       x2="67.096779"
+       y2="105.4052"
+       gradientTransform="matrix(1.1428583,0,0,1.1330637,79.142787,-9.5896362)" />
+    <linearGradient
+       xlink:href="#linearGradient3282"
+       id="linearGradient3232"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.62752838,0,0,0.6221503,-7.6643345,-9.6906532)"
+       x1="67.096779"
+       y1="35.311508"
+       x2="67.096779"
+       y2="105.4052" />
+    <radialGradient
+       xlink:href="#linearGradient4056"
+       id="radialGradient4062-3"
+       cx="22.004967"
+       cy="102"
+       fx="22.004967"
+       fy="102"
+       r="5.9950328"
+       gradientTransform="matrix(-1.35998,5.0758511,-0.57965735,-0.155329,121.27882,-90.459981)"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <path
+       style="opacity:1;fill:#ffc404;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4199);stroke-width:1.78558;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3274)"
+       d="m 63.594525,15.80685 c -2.506042,0.148021 -4.772901,1.659513 -6.024187,4.016797 L 16.791222,96.142808 c -1.324729,2.487114 -1.323664,5.551202 0.0028,8.037242 1.326458,2.48602 3.776617,4.01599 6.426867,4.01315 h 81.558231 c 2.65026,0.003 5.10041,-1.52713 6.42686,-4.01315 1.32646,-2.48604 1.32753,-5.550128 0.003,-8.037242 L 70.429661,19.823647 C 69.033862,17.19393 66.390069,15.640255 63.594525,15.80685 Z"
+       id="path4137"
+       transform="matrix(0.61403125,0,0,0.61602014,-6.9574012,-6.3748961)" />
+    <path
+       style="fill:url(#linearGradient3857);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:8.78539;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 32.098348,2.1716791 C 30.515322,2.2658865 29.083387,3.227864 28.292969,4.7281395 L 2.5334803,53.300885 c -0.8368098,1.582907 -0.8361367,3.533021 0.00177,5.115236 0.8379016,1.582222 2.3856268,2.555951 4.0597453,2.554144 H 58.113969 c 1.674122,0.0016 3.221837,-0.971922 4.059746,-2.554144 0.837894,-1.582215 0.838564,-3.532329 0.0016,-5.115236 L 36.41599,4.7281395 C 35.534286,3.0544762 33.864246,2.0656509 32.098348,2.1716791 Z"
+       id="path3833" />
+    <path
+       id="path3318"
+       d="m 32.094036,1.6767752 c -1.609678,0.095793 -3.065722,1.0739664 -3.869448,2.5995015 L 2.0314113,53.666796 c -0.8508986,1.609555 -0.8502139,3.592503 0.0018,5.201361 0.8520093,1.608857 2.4257919,2.598982 4.1280955,2.597147 H 58.54766 c 1.702306,0.0016 3.276077,-0.98829 4.128094,-2.597147 0.852002,-1.608858 0.852688,-3.591806 0.0016,-5.201361 L 36.48437,4.2762767 C 35.587821,2.5744349 33.889665,1.5689613 32.094036,1.6767752 Z"
+       style="opacity:0.367347;fill:url(#radialGradient3326);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:8.78539;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       style="opacity:0.80102;fill:url(#radialGradient4062-3);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:8.78539;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 32.229665,10.476111 4.14699,-5.8164657 C 35.729595,3.6016027 34.702828,2.785836 33.501464,2.4204193 31.891774,1.9308012 30.207135,2.3204043 29.089392,3.4405496 L 27.9897,4.5402394 Z"
+       id="path4041-5" />
+    <path
+       style="display:none;opacity:0.921951;fill:url(#radialGradient4076);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 63.59375,16 c -1.389197,0.08205 -2.704285,0.602887 -3.8125,1.4375 L 64,28 68.21875,17.4375 C 66.88987,16.43384 65.2712,15.900036 63.59375,16 Z"
+       id="path4051"
+       transform="matrix(1.0919838,0,0,1.0920256,-7.2516225,-2.1497485)" />
+    <path
+       style="opacity:0.80102;fill:url(#radialGradient4062);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:8.78539;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 11.104075,51.957702 4.0588473,53.1382 c -0.290608,1.205691 -0.1414091,2.508559 0.4496954,3.61644 0.7920101,1.484435 2.2587203,2.400163 3.8411477,2.398466 h 1.5551975 z"
+       id="path4041" />
+    <path
+       id="path4064"
+       d="M 53.731702,51.957702 60.77693,53.1382 c 0.290609,1.205691 0.141406,2.508559 -0.449695,3.61644 -0.79201,1.484435 -2.258719,2.400163 -3.841149,2.398466 h -1.555195 z"
+       style="opacity:0.719388;fill:url(#radialGradient4066);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:8.78539;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       style="fill:url(#radialGradient3849);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.3927;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 32.220498,6.560271 c -0.742293,0.044315 -1.413739,0.4968769 -1.78437,1.2026739 L 6.2785004,53.464589 C 5.8861148,54.20925 5.88643,55.126686 6.2793241,55.871022 6.672221,56.615369 7.3979604,57.073456 8.1829669,57.07261 H 56.498221 c 0.785013,0.0011 1.510757,-0.457241 1.903646,-1.201588 0.392904,-0.744336 0.393212,-1.661772 0.0011,-2.406433 L 34.245071,7.7629449 C 33.831634,6.9755778 33.04854,6.5103892 32.220498,6.560271 Z"
+       id="path3831" />
+    <path
+       id="path3948"
+       d="m 32.020466,6.1654877 c -0.741033,0.044487 -1.411342,0.498722 -1.781347,1.2071387 L 6.1224436,53.243909 c -0.3917211,0.747434 -0.3914058,1.668266 8.222e-4,2.41537 0.3922364,0.747111 1.1167458,1.206898 1.9004216,1.206045 H 56.25704 c 0.783677,6.04e-4 1.508186,-0.458934 1.900416,-1.206045 0.392237,-0.747104 0.392549,-1.667936 0.0011,-2.41537 L 34.041876,7.3726264 C 33.62914,6.5823369 32.847373,6.1154217 32.020733,6.1654877 Z"
+       style="display:inline;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3960);stroke-width:0.549086;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       style="fill:url(#linearGradient3977);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.3927;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 32.003284,6.3868276 C 31.24957,6.4310133 30.567791,6.8822826 30.191455,7.586061 L 15.9233,34.100367 h 0.01743 l 14.250729,-25.821 c 0.376334,-0.6860469 1.058113,-1.1186779 1.811827,-1.1617573 0.840786,-0.048484 1.635931,0.3964228 2.05573,1.1617573 l 13.85004,25.071479 c 0.0056,-0.0012 0.01191,0.0012 0.01742,0 L 34.059015,7.586061 C 33.639216,6.8009463 32.844071,6.3370891 32.003284,6.3868276 Z"
+       id="path3962" />
+    <path
+       style="opacity:0.867347;fill:url(#linearGradient4179);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.3927;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 32.220655,6.5602603 c -0.759408,0.044186 -1.446336,0.4954549 -1.825516,1.1992333 L 16.019214,34.2738 c 4.409117,0.694707 9.144569,1.068067 14.077523,1.068067 6.497323,0 12.652941,-0.645798 18.167379,-1.817589 L 34.29191,7.7594936 C 33.868941,6.9743789 33.06779,6.5105228 32.220655,6.5602603 Z"
+       id="path3895" />
+    <path
+       style="font-style:normal;font-weight:normal;font-size:83.7139px;font-family:'Liberation Sans';fill:url(#linearGradient3232);fill-opacity:1;stroke:none;stroke-width:0.549086px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 32.30628,17.589839 c -2.410732,0 -4.358376,1.930482 -4.358376,4.341216 v 13.212402 c 0,2.410734 1.947644,4.358376 4.358376,4.358376 h 0.06864 c 2.410733,0 4.358376,-1.947642 4.358376,-4.358376 V 21.931055 c 0,-2.410734 -1.947643,-4.341216 -4.358376,-4.341216 z m 0.03432,26.373324 c -2.42476,0 -4.392694,1.954387 -4.392694,4.358377 0,2.40399 1.967926,4.358375 4.392694,4.358375 2.424783,0 4.392694,-1.954381 4.392694,-4.358375 0,-2.403992 -1.967915,-4.358377 -4.392694,-4.358377 z"
+       id="text3278" />
+    <path
+       style="opacity:1;fill:url(#linearGradient3383);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:4.3927;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 32.529348,6.5737842 c 0.663213,0.09854 1.254182,0.5186993 1.595782,1.149651 L 47.783664,32.775521 c -5.387981,1.139276 -11.411197,1.767372 -17.759525,1.767372 -4.763058,0 -9.325235,-0.369344 -13.5899,-1.029538 l -0.411813,0.754995 c 4.409115,0.694706 9.137393,1.081014 14.070348,1.081014 6.497324,10e-7 12.656904,-0.64706 18.171342,-1.818851 L 34.296721,7.7577529 C 33.92662,7.0707774 33.255991,6.639983 32.529348,6.5737842 Z"
+       id="path3368" />
+  </g>
+</svg>
diff --git a/flags/standard/edit-delete.svg b/flags/standard/edit-delete.svg
new file mode 100644 (file)
index 0000000..0d789bb
--- /dev/null
@@ -0,0 +1,5205 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="48"
+   height="48"
+   id="svg2606"
+   version="1.0">
+  <defs
+     id="defs2608">
+    <linearGradient
+       id="linearGradient4179">
+      <stop
+         id="stop4181"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0" />
+      <stop
+         id="stop4183"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3654">
+      <stop
+         style="stop-color:#f9ede0;stop-opacity:1;"
+         offset="0"
+         id="stop3656" />
+      <stop
+         id="stop3670"
+         offset="0.5"
+         style="stop-color:#f9ede0;stop-opacity:0.80575538;" />
+      <stop
+         style="stop-color:#f9ede0;stop-opacity:0;"
+         offset="1"
+         id="stop3658" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3149">
+      <stop
+         style="stop-color:#faf0e5;stop-opacity:1;"
+         offset="0"
+         id="stop3151" />
+      <stop
+         id="stop3378"
+         offset="0.591133"
+         style="stop-color:#f7e7d6;stop-opacity:1;" />
+      <stop
+         style="stop-color:#efcfac;stop-opacity:1;"
+         offset="1"
+         id="stop3153" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#linearGradient3279"
+       id="radialGradient3291"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.4395859,0.3535533,-174.66839)"
+       cx="412.43237"
+       cy="395.73904"
+       fx="412.43237"
+       fy="395.73904"
+       r="22.444885" />
+    <mask
+       maskUnits="userSpaceOnUse"
+       id="mask3287">
+      <path
+         style="opacity:1;fill:url(#radialGradient3291);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 412.56716,362.7206 c -7.77656,0.205 -16.77771,5.86053 -19.90625,12.8125 -3.18672,7.08121 -2.72281,15.53626 -0.8125,25.3125 1.91032,9.77623 8.18827,19.94656 11.375,23.625 3.0204,3.48645 6.88924,2.85632 9.34375,2.78125 0.1258,0 0.30234,-0.004 0.4375,0 2.45451,0.0751 6.32335,0.7052 9.34375,-2.78125 3.18673,-3.67844 9.46468,-13.84877 11.375,-23.625 1.91033,-9.77624 2.37422,-18.23129 -0.8125,-25.3125 -3.12855,-6.95197 -12.12969,-12.6075 -19.90625,-12.8125 z"
+         id="path3289" />
+    </mask>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3429">
+      <path
+         style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 303.70236,398.81874 -0.17678,-13.25825 2.65166,-7.24784 5.3033,-1.76777 8.48528,2.65165 7.42462,1.41421 7.24784,-3.71231 h 5.3033 l 3.71231,5.12653 1.94455,8.13172 -0.17678,5.3033 0.35355,1.94455 -7.77817,-15.02602 -9.54594,3.71231 -6.89429,0.17678 -10.42983,-4.94975 z"
+         id="path3431" />
+    </clipPath>
+    <linearGradient
+       id="linearGradient3433">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3435" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3437" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3433"
+       id="linearGradient3439"
+       x1="324.65039"
+       y1="398.85446"
+       x2="325.7691"
+       y2="370.57019"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient3489">
+      <stop
+         style="stop-color:#765c44;stop-opacity:1;"
+         offset="0"
+         id="stop3491" />
+      <stop
+         style="stop-color:#765c44;stop-opacity:0;"
+         offset="1"
+         id="stop3493" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3499">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3501" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3503" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3397">
+      <stop
+         style="stop-color:#f4f5f8;stop-opacity:1;"
+         offset="0"
+         id="stop3399" />
+      <stop
+         style="stop-color:#fdfdfe;stop-opacity:1;"
+         offset="1"
+         id="stop3401" />
+    </linearGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath4063">
+      <path
+         style="fill:#f4f5f8;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 410.16587,443.06739 c -10.24281,0.28613 -13.36749,-3.95368 -14.25,-7.69239 -1.27779,0.21006 -2.03383,1.22613 -2,2 -7.08333,2.83488 -15.64784,5.69235 -23.25,9.5 -2.82182,1.41335 -6.03661,5.72037 -6.875,8 -2.55698,6.95256 -5.375,16.75 -5.375,16.75 l 1.5,1.75 c 15.64476,8.91215 36.87916,8.5 50.25,8.5 13.37084,0 34.60524,0.41215 50.25,-8.5 l 1.5,-1.75 c 0,0 -2.81802,-9.79744 -5.375,-16.75 -0.83839,-2.27963 -4.05318,-6.58665 -6.875,-8 -7.60216,-3.80765 -16.16667,-6.66512 -23.25,-9.5 0.0338,-0.77387 -0.72221,-1.78994 -2,-2 -2.41363,3.74264 -4.00719,7.40626 -14.25,7.69239 z"
+         id="path4065" />
+    </clipPath>
+    <linearGradient
+       id="linearGradient4067">
+      <stop
+         style="stop-color:#8d97b7;stop-opacity:1;"
+         offset="0"
+         id="stop4069" />
+      <stop
+         style="stop-color:#8d97b7;stop-opacity:0;"
+         offset="1"
+         id="stop4071" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient4067"
+       id="linearGradient4073"
+       x1="414.41586"
+       y1="458.62646"
+       x2="461.90625"
+       y2="458.62646"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       x="-0.020813677"
+       width="1.0416274"
+       y="-0.13193184"
+       height="1.2638637"
+       id="filter3283">
+      <feGaussianBlur
+         stdDeviation="0.60896269"
+         id="feGaussianBlur3285" />
+    </filter>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3289">
+      <path
+         id="path3291"
+         d="m 463.75,435.375 c -1.27779,0.21006 -2.03383,1.22613 -2,2 -0.0793,0.0317 -0.87749,1.12269 -0.95711,1.15441 1.25202,4.0018 5.15727,8.27208 16.75,7.96875 11.50018,-0.3009 15.9101,-5.26943 17.17586,-8.93566 -0.15115,-0.06 -0.3189,-0.12753 -0.46875,-0.1875 0.0338,-0.77387 -0.72221,-1.78994 -2,-2 -2.41363,3.74264 -4.00719,7.40137 -14.25,7.6875 -10.24281,0.28614 -13.36749,-3.94879 -14.25,-7.6875 z m -4.625,3.03125 c -5.44302,2.09883 -11.45793,4.26384 -17.21875,6.875 5.89563,-2.22917 11.62166,-3.16524 16.85447,-5.12684 -0.0106,-0.22696 0.25035,-1.50511 0.36428,-1.74816 z m 38.34375,0.21875 c 0.0532,0.16802 0.10109,0.31159 0.0937,0.46875 4.20807,1.57746 8.83741,3.15593 13.5625,4.875 -4.63354,-1.95913 -9.30506,-3.67529 -13.65625,-5.34375 z"
+         style="fill:#f4f5f8;fill-opacity:1;fill-rule:evenodd;stroke:#98a2bf;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3283)" />
+    </clipPath>
+    <linearGradient
+       id="linearGradient10207">
+      <stop
+         offset="0"
+         id="stop10209"
+         style="stop-color:#a2a2a2;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop10211"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <radialGradient
+       id="XMLID_8_"
+       r="139.55859"
+       cx="102"
+       cy="112.3047"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         id="stop41"
+         style="stop-color:#b7b8b9;stop-opacity:1;" />
+      <stop
+         offset="0.18851049"
+         id="stop47"
+         style="stop-color:#ECECEC" />
+      <stop
+         offset="0.25718147"
+         id="stop49"
+         style="stop-color:#FAFAFA" />
+      <stop
+         offset="0.30111277"
+         id="stop51"
+         style="stop-color:#FFFFFF" />
+      <stop
+         offset="0.5313"
+         id="stop53"
+         style="stop-color:#FAFAFA" />
+      <stop
+         offset="0.8449"
+         id="stop55"
+         style="stop-color:#EBECEC" />
+      <stop
+         offset="1"
+         id="stop57"
+         style="stop-color:#E1E2E3" />
+    </radialGradient>
+    <clipPath
+       id="clipPath7084"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path7086"
+         d="M 72,88 40,120 H 32 V 80 h 40 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </clipPath>
+    <radialGradient
+       id="XMLID_5_"
+       r="111.0006"
+       cx="51.9995"
+       cy="-9"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0.15"
+         id="stop4094"
+         style="stop-color:#80B3FF" />
+      <stop
+         offset="0.316"
+         id="stop4096"
+         style="stop-color:#69A1F0" />
+      <stop
+         offset="0.6029"
+         id="stop4098"
+         style="stop-color:#4888DA" />
+      <stop
+         offset="0.8412"
+         id="stop4100"
+         style="stop-color:#3378CC" />
+      <stop
+         offset="1"
+         id="stop4102"
+         style="stop-color:#2C72C7" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient4029"
+       r="130.5231"
+       gradientTransform="matrix(0.198406,0,-0.00525635,-0.198406,-452.9859,-58.52922)"
+       cx="336.8938"
+       cy="-319.7261"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         id="stop4031"
+         style="stop-color:#eaf1f9;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop4033"
+         style="stop-color:#6f9dd4;stop-opacity:1;" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient4043"
+       gradientTransform="matrix(0.6271072,1.3435609,-0.7440573,0.3472888,538.32007,-171.10992)"
+       r="6.4375601"
+       cy="449.10031"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3966"
+       cx="345.53156"
+       fy="447.89981"
+       fx="343.00021" />
+    <clipPath
+       id="clipPath4039"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path4041"
+         style="fill:url(#radialGradient4043);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 415.8125,440.4375 c -1.11354,0.17817 -1.47404,3.31624 -1.40625,4.875 0.002,0.043 0.0266,0.0821 0.0312,0.125 0.058,-1.63492 1.53915,0.44541 2.47942,0.29496 7.32059,0.61351 10.09276,3.39798 10.33308,10.08004 0.13557,-6.95839 -3.74867,-14.73063 -11.4375,-15.375 z" />
+    </clipPath>
+    <clipPath
+       id="clipPath3962"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path3964"
+         style="fill:#9e4d00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 358.01834,438.97595 c -0.42087,1.26261 -0.78872,3.18113 -2.08251,3.47085 -6.05826,1.35664 -10.50936,6.50885 -14.57758,9.02421 -0.97453,0.60254 -2.93394,-1.62343 -2.77668,-2.77668 1.45021,-10.83276 9.50038,-16.43146 20.08883,-15.43296 1.45886,0.27788 0.084,3.50634 -0.65206,5.71458 z" />
+    </clipPath>
+    <linearGradient
+       id="linearGradient3960"
+       y2="457.31671"
+       y1="443.57492"
+       x2="338.31857"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3954"
+       x1="344.42279" />
+    <linearGradient
+       id="linearGradient3826"
+       y2="481.68478"
+       y1="490.76556"
+       x2="414.53983"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3725"
+       x1="406.42133" />
+    <linearGradient
+       id="linearGradient3753"
+       y2="481.68478"
+       y1="490.76556"
+       x2="414.53983"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3725"
+       x1="406.42133" />
+    <clipPath
+       id="clipPath3721"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         d="m 412.19342,476.96031 c -1.84281,3.96772 -4.50584,7.93545 -8.95806,11.90317 l 7.36278,9.3262 3.6917,-20.25343 z"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#443d39;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3715)"
+         id="path3723" />
+    </clipPath>
+    <linearGradient
+       id="linearGradient3666"
+       y2="601.20837"
+       y1="507.61142"
+       x2="335.73438"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3660"
+       x1="335.73438" />
+    <radialGradient
+       id="radialGradient3658"
+       gradientTransform="matrix(1.2052707,-0.04000334,0.02683445,0.808502,-82.264072,161.43979)"
+       r="33.234375"
+       cy="497.40625"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3344"
+       cx="335.73438"
+       fy="477.125"
+       fx="333.77097" />
+    <clipPath
+       id="clipPath3654"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path3656"
+         style="fill:url(#radialGradient3658);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 324.40625,531.66319 c -7.72664,4.3706 -21.17315,5.76775 -21.90625,29.40625 9.51264,4.30025 18.70376,6.75614 27.625,7.59375 -1.5464,-12.4233 -1.79467,-25.17112 -5.71875,-37 z m 22.65625,0 c -3.90451,12.8329 -4.2048,24.76474 -5.71875,37 8.92124,-0.83761 18.11236,-3.2935 27.625,-7.59375 -0.7331,-23.6385 -14.17961,-25.03565 -21.90625,-29.40625 z" />
+    </clipPath>
+    <linearGradient
+       id="linearGradient3279"
+       x1="338.62283"
+       y1="457.90872"
+       gradientTransform="translate(-95.225391)"
+       x2="339.51855"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3215"
+       y2="502.82175" />
+    <linearGradient
+       id="linearGradient3277"
+       x1="338.62283"
+       y1="457.90872"
+       gradientTransform="translate(-95.225391)"
+       x2="339.51855"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3243"
+       y2="502.82175" />
+    <linearGradient
+       id="linearGradient3275"
+       x1="335.75745"
+       y1="507.97568"
+       gradientTransform="translate(-95.225391)"
+       x2="335.75745"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3163"
+       y2="464.28983" />
+    <clipPath
+       id="clipPath3271"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path3273"
+         d="m 229.42268,467.3088 c 0.0903,3.92084 3.7184,8.91588 1.34375,10.625 -7.31192,5.26264 -22.65274,5.07068 -23.4375,30.375 11.30016,5.10832 22.1451,7.63036 32.625,7.90625 v 0.0312 c 0.18774,-0.002 0.37453,-0.0278 0.5625,-0.0312 0.19841,0.004 0.3956,0.0292 0.59375,0.0312 v -0.0312 c 10.4799,-0.27589 21.32483,-2.79793 32.625,-7.90625 -0.78476,-25.30432 -16.12559,-25.11236 -23.4375,-30.375 -2.37465,-1.70912 1.25344,-6.70416 1.34375,-10.625 h -10.53125 -1.15625 z"
+         style="fill:url(#linearGradient3275);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3277);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3263)" />
+    </clipPath>
+    <linearGradient
+       id="linearGradient3231"
+       y2="434.86758"
+       y1="470.94525"
+       x2="379.6608"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3215"
+       x1="379.90604" />
+    <linearGradient
+       id="linearGradient3229"
+       y2="434.86758"
+       y1="470.94525"
+       x2="379.6608"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3215"
+       x1="379.90604" />
+    <clipPath
+       id="clipPath3225"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path3227"
+         d="m 383.54353,478.3067 c 0,0 0,-0.0312 0,-0.0312 4.22539,-0.24439 9.46319,-2.93205 11.875,-10.5 2.31875,-7.27591 4.58337,-26.1831 -12.125,-26.28125 -0.0435,-2.6e-4 -0.0812,0 -0.125,0 -16.71127,0.0962 -14.47511,19.00495 -12.15625,26.28125 2.41632,7.5821 7.67679,10.26443 11.90625,10.5 0,5e-5 0,0.0312 0,0.0312 0.10369,0 0.20732,0.003 0.3125,0 0.10124,0.003 0.21264,0 0.3125,0 z"
+         style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3229);stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3211)" />
+    </clipPath>
+    <linearGradient
+       id="linearGradient3163">
+      <stop
+         offset="0"
+         id="stop3165"
+         style="stop-color:#fff5e4;stop-opacity:1;" />
+      <stop
+         offset="0.25"
+         id="stop3173"
+         style="stop-color:#ffecd0;stop-opacity:1;" />
+      <stop
+         offset="0.5"
+         id="stop3171"
+         style="stop-color:#ffd390;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3167"
+         style="stop-color:#ffc46a;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3215">
+      <stop
+         offset="0"
+         id="stop3217"
+         style="stop-color:#671800;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3219"
+         style="stop-color:#7b3900;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3243">
+      <stop
+         offset="0"
+         id="stop3245"
+         style="stop-color:#492200;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3247"
+         style="stop-color:#492200;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3344">
+      <stop
+         offset="0"
+         id="stop3346"
+         style="stop-color:#4190f0;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3348"
+         style="stop-color:#003474;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3660">
+      <stop
+         offset="0"
+         id="stop3662"
+         style="stop-color:#002565;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3664"
+         style="stop-color:#002565;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3725">
+      <stop
+         offset="0"
+         id="stop3727"
+         style="stop-color:#443d39;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3729"
+         style="stop-color:#443d39;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3733">
+      <stop
+         offset="0"
+         id="stop3735"
+         style="stop-color:#e2e2e2;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3737"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3776">
+      <stop
+         offset="0"
+         id="stop3778"
+         style="stop-color:#e2e2e2;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3780"
+         style="stop-color:#f6f6f6;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3954">
+      <stop
+         offset="0"
+         id="stop3956"
+         style="stop-color:#582b00;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3958"
+         style="stop-color:#582b00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3966">
+      <stop
+         offset="0"
+         id="stop3968"
+         style="stop-color:#9e4d00;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop3970"
+         style="stop-color:#582b00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8788-240"
+       y2="-47.429035"
+       y1="175.07643"
+       gradientTransform="matrix(0.09260092,0,0,0.06730682,53.462461,80.322293)"
+       x2="81.170044"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient5138-431"
+       x1="68.151932" />
+    <linearGradient
+       id="linearGradient5138-431">
+      <stop
+         offset="0"
+         id="stop9560"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9562"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8790-390"
+       y2="-52.535206"
+       y1="151.92928"
+       gradientTransform="matrix(0.09260092,0,0,0.06730682,53.462461,80.322293)"
+       x2="46.899311"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient5138-357"
+       x1="69.878143" />
+    <linearGradient
+       id="linearGradient5138-357">
+      <stop
+         offset="0"
+         id="stop9566"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9568"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8792-242"
+       y2="-30.656776"
+       y1="154.70549"
+       gradientTransform="matrix(0.09260092,0,0,0.06730682,53.462461,80.322293)"
+       x2="59.615398"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient5138-963"
+       x1="56.796875" />
+    <linearGradient
+       id="linearGradient5138-963">
+      <stop
+         offset="0"
+         id="stop9572"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9574"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8794-273"
+       y2="-30.656776"
+       y1="225.10069"
+       gradientTransform="matrix(0.09260092,0,0,0.06730682,53.462461,80.322293)"
+       x2="59.615398"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient5138-418"
+       x1="50.794651" />
+    <linearGradient
+       id="linearGradient5138-418">
+      <stop
+         offset="0"
+         id="stop9578"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9580"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8796-338"
+       y2="2.4206059"
+       x2="-245.23932"
+       gradientTransform="matrix(0.09260078,0,0,0.06730672,81.430716,80.369907)"
+       y1="2.4206059"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       xlink:href="#linearGradient3155-136"
+       x1="-271.94705" />
+    <linearGradient
+       id="linearGradient3155-136">
+      <stop
+         offset="0"
+         id="stop9584"
+         style="stop-color:#c0c0c0;stop-opacity:1;" />
+      <stop
+         offset="0.05494506"
+         id="stop9586"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="0.13802682"
+         id="stop9588"
+         style="stop-color:#cdcdcd;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9590"
+         style="stop-color:#c0c0c0;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient8798-742"
+       r="1.71875"
+       gradientTransform="matrix(3.701324,0,0,4.437062,825.0355,-247.7547)"
+       cx="-305.8125"
+       cy="72.04689"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient4314-431"
+       fy="72.04689"
+       fx="-305.8125" />
+    <linearGradient
+       id="linearGradient4314-431">
+      <stop
+         offset="0"
+         id="stop9594"
+         style="stop-color:#000000;stop-opacity:0;" />
+      <stop
+         offset="1"
+         id="stop9596"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient8800-380"
+       r="1.71875"
+       gradientTransform="matrix(-3.701324,0,0,4.437062,-1441.79,-247.7547)"
+       cx="-305.8125"
+       cy="72.04689"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient4314-973"
+       fy="72.04689"
+       fx="-305.8125" />
+    <linearGradient
+       id="linearGradient4314-973">
+      <stop
+         offset="0"
+         id="stop9600"
+         style="stop-color:#000000;stop-opacity:0;" />
+      <stop
+         offset="1"
+         id="stop9602"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient8802-299"
+       r="3.1579585"
+       gradientTransform="matrix(1.197994,0,0,11.8021,61.03381,-775.397)"
+       cx="-308.26053"
+       cy="71.782082"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient4328-565"
+       fy="71.782082"
+       fx="-308.26053" />
+    <linearGradient
+       id="linearGradient4328-565">
+      <stop
+         offset="0"
+         id="stop9606"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9608"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8804-885"
+       y2="11.619458"
+       y1="57.962109"
+       gradientTransform="matrix(0.09260078,0,0,0.06730672,81.430716,80.369907)"
+       x2="-263.14236"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3185-940"
+       x1="-263.14236" />
+    <linearGradient
+       id="linearGradient3185-940">
+      <stop
+         offset="0"
+         id="stop9612"
+         style="stop-color:#575757;stop-opacity:1;" />
+      <stop
+         offset="0.95604396"
+         id="stop9614"
+         style="stop-color:#575757;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9616"
+         style="stop-color:#575757;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8806-280"
+       y2="75.477737"
+       y1="68.347794"
+       gradientTransform="matrix(0.09260078,0,0,0.06730672,75.802165,80.117371)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-504"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-504">
+      <stop
+         offset="0"
+         id="stop9620"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9622"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8808-332"
+       y2="75.602806"
+       y1="70.558701"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-68.94974,12.35235)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-936"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-936">
+      <stop
+         offset="0"
+         id="stop9626"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9628"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8810-82"
+       y2="75.602806"
+       y1="70.193672"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-54.78969,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-362"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-362">
+      <stop
+         offset="0"
+         id="stop9632"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9634"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8812-828"
+       y2="75.602806"
+       y1="70.558701"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-40.62962,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-408"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-408">
+      <stop
+         offset="0"
+         id="stop9638"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9640"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8814-817"
+       y2="75.602806"
+       y1="70.558701"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-68.94974,12.35235)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-537"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-537">
+      <stop
+         offset="0"
+         id="stop9644"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9646"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8816-697"
+       y2="75.602806"
+       y1="69.834503"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-54.78969,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-734"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-734">
+      <stop
+         offset="0"
+         id="stop9650"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9652"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8818-387"
+       y2="75.602806"
+       y1="70.105728"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-40.62962,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-288"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-288">
+      <stop
+         offset="0"
+         id="stop9656"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9658"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8820-174"
+       y2="75.602806"
+       y1="70.558701"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-68.94974,12.35235)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-880"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-880">
+      <stop
+         offset="0"
+         id="stop9662"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9664"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8822-224"
+       y2="75.602806"
+       y1="70.09758"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-54.78969,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-633"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-633">
+      <stop
+         offset="0"
+         id="stop9668"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9670"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8824-600"
+       y2="75.602806"
+       y1="69.925575"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-40.62962,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-626"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-626">
+      <stop
+         offset="0"
+         id="stop9674"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9676"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8826-227"
+       y2="75.602806"
+       y1="69.289864"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-68.94974,12.35235)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-637"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-637">
+      <stop
+         offset="0"
+         id="stop9680"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9682"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8828-860"
+       y2="75.602806"
+       y1="69.473351"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-54.78969,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-1"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-1">
+      <stop
+         offset="0"
+         id="stop9686"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9688"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8830-802"
+       y2="75.602806"
+       y1="68.387428"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-40.62962,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-384"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-384">
+      <stop
+         offset="0"
+         id="stop9692"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9694"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8832-779"
+       y2="75.602806"
+       y1="67.799118"
+       gradientTransform="matrix(0.09260078,0,0,0.06730672,78.389987,80.117371)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-595"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-595">
+      <stop
+         offset="0"
+         id="stop9698"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9700"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8834-162"
+       y2="17.674025"
+       y1="-5.8208742"
+       gradientTransform="matrix(0.09260078,0,0,0.06730672,87.267725,80.302597)"
+       x2="-308.16672"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3332-935"
+       x1="-308.16672" />
+    <linearGradient
+       id="linearGradient3332-935">
+      <stop
+         offset="0"
+         id="stop9704"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9706"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8836-403"
+       y2="74.042549"
+       y1="68.347794"
+       gradientTransform="matrix(0.09260078,0,0,0.06730672,75.802165,-90.302128)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-345"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-345">
+      <stop
+         offset="0"
+         id="stop9710"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9712"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8838-639"
+       y2="74.050728"
+       y1="67.799118"
+       gradientTransform="matrix(0.09260078,0,0,0.06730672,78.389987,-90.302128)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-924"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-924">
+      <stop
+         offset="0"
+         id="stop9716"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9718"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient8840-852"
+       r="3.0016239"
+       gradientTransform="matrix(0.993747,-0.111657,0.181818,1.618182,-15.10182,-79.18066)"
+       cx="-308.11151"
+       cy="73.535744"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3373-257"
+       fy="73.535744"
+       fx="-308.11151" />
+    <linearGradient
+       id="linearGradient3373-257">
+      <stop
+         offset="0"
+         id="stop9722"
+         style="stop-color:#a1a1a1;stop-opacity:1;" />
+      <stop
+         offset="0.81318682"
+         id="stop9724"
+         style="stop-color:#d7d7d7;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9726"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient8842-960"
+       r="3.0016239"
+       cx="-307.9166"
+       cy="72.469955"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3394-952"
+       fy="72.469955"
+       fx="-307.9166" />
+    <linearGradient
+       id="linearGradient3394-952">
+      <stop
+         offset="0"
+         id="stop9730"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         offset="0.93406594"
+         id="stop9732"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9734"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient8844-345"
+       r="3.0016239"
+       cx="-307.9166"
+       cy="72.469955"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3373-528"
+       fy="73.394211"
+       fx="-307.9166" />
+    <linearGradient
+       id="linearGradient3373-528">
+      <stop
+         offset="0"
+         id="stop9738"
+         style="stop-color:#a1a1a1;stop-opacity:1;" />
+      <stop
+         offset="0.81318682"
+         id="stop9740"
+         style="stop-color:#d7d7d7;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9742"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8846-419"
+       y2="75.602806"
+       y1="69.289864"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-68.94974,12.35235)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-145"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-145">
+      <stop
+         offset="0"
+         id="stop9746"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9748"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8848-408"
+       y2="75.602806"
+       y1="69.473351"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-54.78969,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-95"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-95">
+      <stop
+         offset="0"
+         id="stop9752"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9754"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8850-218"
+       y2="75.602806"
+       y1="68.387428"
+       gradientTransform="matrix(0.960548,0,0,0.977778,-40.62962,12.35236)"
+       x2="-199.18291"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient3197-851"
+       x1="-199.18291" />
+    <linearGradient
+       id="linearGradient3197-851">
+      <stop
+         offset="0"
+         id="stop9758"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9760"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient8852-503"
+       r="17.759607"
+       gradientTransform="matrix(0.09260078,0,0,0.06099038,87.267725,80.593034)"
+       cx="-326.17645"
+       cy="20.49044"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       xlink:href="#linearGradient4645-53"
+       fy="32.982586"
+       fx="-324.23087" />
+    <linearGradient
+       id="linearGradient4645-53">
+      <stop
+         offset="0"
+         id="stop9764"
+         style="stop-color:#c4c4c4;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9766"
+         style="stop-color:#c4c4c4;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8854-34"
+       y2="143.7717"
+       y1="-29.916986"
+       gradientTransform="matrix(0.09260078,0,0,0.06730672,87.218595,80.369907)"
+       x2="-237.00941"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient4367-760"
+       x1="-344.84647" />
+    <linearGradient
+       id="linearGradient4367-760">
+      <stop
+         offset="0"
+         id="stop9770"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9772"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8856-755"
+       y2="81.967781"
+       y1="213.61119"
+       gradientTransform="matrix(0.08886274,0,0,0.06458975,53.234665,80.265175)"
+       x2="61.920132"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient5298-641"
+       x1="79.793121" />
+    <linearGradient
+       id="linearGradient5298-641">
+      <stop
+         offset="0"
+         id="stop9776"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9778"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient8858-758"
+       y2="12.583951"
+       y1="64.938179"
+       gradientTransform="matrix(0.09260078,0,0,0.06730672,87.267725,80.369907)"
+       x2="-268.89709"
+       gradientUnits="userSpaceOnUse"
+       xlink:href="#linearGradient4635-148"
+       x1="-313.55511" />
+    <linearGradient
+       id="linearGradient4635-148">
+      <stop
+         offset="0"
+         id="stop9782"
+         style="stop-color:#c4c4c4;stop-opacity:1;" />
+      <stop
+         offset="1"
+         id="stop9784"
+         style="stop-color:#c4c4c4;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="29.061501"
+       y1="20.361799"
+       x2="29.112801"
+       y2="20.361799"
+       id="XMLID_102_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop270" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop272" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop274" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="28.059601"
+       y1="23.623501"
+       x2="28.2612"
+       y2="23.623501"
+       id="XMLID_101_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop261" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop263" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop265" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="28.949699"
+       y1="20.691401"
+       x2="29.024401"
+       y2="20.691401"
+       id="XMLID_100_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop252" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop254" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop256" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="28.805201"
+       y1="21.127001"
+       x2="28.9102"
+       y2="21.127001"
+       id="XMLID_99_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop243" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop245" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop247" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="28.278799"
+       y1="22.257799"
+       x2="28.795401"
+       y2="22.257799"
+       id="XMLID_98_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop234" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop236" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop238" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="21.637699"
+       y1="60.8311"
+       x2="22.4736"
+       y2="60.8311"
+       id="XMLID_96_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop216" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop218" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop220" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="22.757299"
+       y1="39.152802"
+       x2="27.8032"
+       y2="39.152802"
+       id="XMLID_95_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop11322" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop11324" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop211" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="22.4995"
+       y1="54.563499"
+       x2="22.7397"
+       y2="54.563499"
+       id="XMLID_94_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop198" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop11317" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop11319" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="27.808599"
+       y1="24.5352"
+       x2="28.0327"
+       y2="24.5352"
+       id="XMLID_93_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop189" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop191" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop11313" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="29.142599"
+       y1="20.1499"
+       x2="29.165001"
+       y2="20.1499"
+       id="XMLID_91_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop171" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop173" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop11303" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="96.549797"
+       y1="38.7085"
+       x2="101.8271"
+       y2="38.7085"
+       id="XMLID_90_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop162" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop164" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop166" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="102.1084"
+       y1="60.8242"
+       x2="102.9473"
+       y2="60.8242"
+       id="XMLID_89_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop153" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop155" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop157" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="translate(3.719016,26.033112)"
+       x1="101.8428"
+       y1="54.5625"
+       x2="102.084"
+       y2="54.5625"
+       id="XMLID_88_"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         style="stop-color:#204fa1;stop-opacity:1"
+         offset="0"
+         id="stop144" />
+      <stop
+         style="stop-color:#4a8cd9;stop-opacity:1"
+         offset="0.118"
+         id="stop146" />
+      <stop
+         style="stop-color:#bae1ff;stop-opacity:1"
+         offset="1"
+         id="stop148" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3163"
+       id="linearGradient3330"
+       x1="412.78592"
+       y1="400.84558"
+       x2="412.78592"
+       y2="422.63611"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2403">
+      <stop
+         style="stop-color:#28691f;stop-opacity:1;"
+         offset="0"
+         id="stop2405" />
+      <stop
+         style="stop-color:#42ad33;stop-opacity:1;"
+         offset="1"
+         id="stop2407" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2389">
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="0"
+         id="stop2391" />
+      <stop
+         id="stop2393"
+         offset="0.4375"
+         style="stop-color:#000000;stop-opacity:0;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="0.56588125"
+         id="stop2395" />
+      <stop
+         id="stop2423"
+         offset="0.76237977"
+         style="stop-color:#000000;stop-opacity:0.24705882;" />
+      <stop
+         id="stop2421"
+         offset="0.77884614"
+         style="stop-color:#000000;stop-opacity:0.49803922;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0.875"
+         id="stop2397" />
+      <stop
+         id="stop2411"
+         offset="0.875"
+         style="stop-color:#000000;stop-opacity:0.49803922;" />
+      <stop
+         id="stop2399"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2362">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2364" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2366" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2321">
+      <stop
+         style="stop-color:#c3c3c3;stop-opacity:1;"
+         offset="0"
+         id="stop2323" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop2325" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2287">
+      <stop
+         id="stop2299"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="0.4375"
+         id="stop2307" />
+      <stop
+         id="stop2309"
+         offset="0.58240438"
+         style="stop-color:#000000;stop-opacity:0;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.49803922;"
+         offset="0.76442307"
+         id="stop2419" />
+      <stop
+         id="stop2303"
+         offset="0.875"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.49803922;"
+         offset="0.91826922"
+         id="stop2413" />
+      <stop
+         id="stop2417"
+         offset="0.96048182"
+         style="stop-color:#000000;stop-opacity:0;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop2291" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3325">
+      <stop
+         id="stop3327"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3329"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3311">
+      <stop
+         style="stop-color:#2d2d2d;stop-opacity:1;"
+         offset="0"
+         id="stop3313" />
+      <stop
+         id="stop3319"
+         offset="0.5"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop1492" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3303">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.68345326;"
+         offset="0"
+         id="stop3305" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3307" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3273">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.55035973;"
+         offset="0"
+         id="stop3275" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3277" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3259">
+      <stop
+         id="stop3261"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0.55035973;" />
+      <stop
+         id="stop3263"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3251">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3253" />
+      <stop
+         style="stop-color:#131313;stop-opacity:0;"
+         offset="1"
+         id="stop3255" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3235">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3237" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3239" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3225">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3227" />
+      <stop
+         style="stop-color:#aeaeae;stop-opacity:1;"
+         offset="1"
+         id="stop3229" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3217">
+      <stop
+         style="stop-color:#252525;stop-opacity:1;"
+         offset="0"
+         id="stop3550" />
+      <stop
+         style="stop-color:#252525;stop-opacity:0;"
+         offset="1"
+         id="stop3221" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3207">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3209" />
+      <stop
+         style="stop-color:#790000;stop-opacity:0;"
+         offset="1"
+         id="stop3211" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2257">
+      <stop
+         style="stop-color:#b4942a;stop-opacity:1;"
+         offset="0"
+         id="stop2259" />
+      <stop
+         style="stop-color:#e4dcc9;stop-opacity:1"
+         offset="1"
+         id="stop2261" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#linearGradient3291"
+       id="radialGradient1527"
+       cx="63.912209"
+       cy="115.70919"
+       fx="63.912209"
+       fy="115.7093"
+       r="63.912209"
+       gradientTransform="matrix(1,0,0,0.197802,0,92.82166)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient2257"
+       id="radialGradient1405"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.519831,0.09412826,-0.895354,13.78472,115.1882,-1545.166)"
+       cx="42.617531"
+       cy="120.64188"
+       fx="42.617531"
+       fy="120.64188"
+       r="3.406888" />
+    <radialGradient
+       xlink:href="#linearGradient3311"
+       id="radialGradient1407"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.0622884,-1.47547e-4,0.00188971,0.798624,69.12243,5.487066)"
+       cx="95.505852"
+       cy="59.591507"
+       fx="95.505852"
+       fy="59.591507"
+       r="47.746403" />
+    <radialGradient
+       xlink:href="#linearGradient3225"
+       id="radialGradient1409"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.297066,0.00301262,-0.00113473,0.488669,7.096503,-13.69501)"
+       cx="49.009884"
+       cy="8.4953117"
+       fx="47.370888"
+       fy="6.7701697"
+       r="3.9750404" />
+    <linearGradient
+       xlink:href="#linearGradient3217"
+       id="linearGradient1411"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.29707,0,0,1.29707,7.064707,-20.57911)"
+       x1="48.914677"
+       y1="2.9719031"
+       x2="48.913002"
+       y2="2.5548496" />
+    <radialGradient
+       xlink:href="#linearGradient3207"
+       id="radialGradient1413"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.29707,0,0,0.1578,7.064707,-17.56653)"
+       cx="49.011971"
+       cy="2.6743078"
+       fx="49.011971"
+       fy="2.6743078"
+       r="1.7246193" />
+    <linearGradient
+       xlink:href="#linearGradient3235"
+       id="linearGradient1415"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.297066,0.00301262,-0.00301262,1.297066,7.112448,-20.56258)"
+       x1="48.498562"
+       y1="0.81150496"
+       x2="48.732723"
+       y2="2.3657269" />
+    <linearGradient
+       xlink:href="#linearGradient3251"
+       id="linearGradient1417"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.28993,0,0,1.29707,7.402337,-20.57911)"
+       x1="46.051746"
+       y1="3.0999987"
+       x2="46.051746"
+       y2="2.395859" />
+    <radialGradient
+       xlink:href="#linearGradient3273"
+       id="radialGradient1419"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.860164,0,0,0.1578,24.75801,-17.56653)"
+       cx="49.011971"
+       cy="2.6743078"
+       fx="49.011971"
+       fy="2.6743078"
+       r="1.7246193" />
+    <linearGradient
+       xlink:href="#linearGradient3251"
+       id="linearGradient1421"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.279856,0,0,1.29707,-133.3868,-20.57911)"
+       x1="46.051746"
+       y1="3.0999987"
+       x2="46.051746"
+       y2="2.395859" />
+    <radialGradient
+       xlink:href="#linearGradient3259"
+       id="radialGradient1423"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.853446,0,0,0.1578,-116.1668,-17.56653)"
+       cx="49.011971"
+       cy="2.6743078"
+       fx="49.011971"
+       fy="2.6743078"
+       r="1.7246193" />
+    <radialGradient
+       xlink:href="#linearGradient3303"
+       id="radialGradient1425"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.02608014,0,7.26766)"
+       cx="34.677639"
+       cy="7.4622769"
+       fx="34.677639"
+       fy="7.4622769"
+       r="47.595196" />
+    <radialGradient
+       xlink:href="#linearGradient3325"
+       id="radialGradient1427"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.511766,-0.00686574,4.187271e-5,-0.00911064,87.10184,7.76835)"
+       cx="34.677639"
+       cy="7.4622769"
+       fx="34.677639"
+       fy="7.4622769"
+       r="47.595196" />
+    <radialGradient
+       xlink:href="#linearGradient3259"
+       id="radialGradient1433"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.853446,0,0,0.1578,-115.9141,-7.300115)"
+       cx="49.011971"
+       cy="2.6743078"
+       fx="49.011971"
+       fy="2.6743078"
+       r="1.7246193" />
+    <linearGradient
+       xlink:href="#linearGradient3251"
+       id="linearGradient1436"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.279856,0,0,1.29707,-133.1341,-10.31269)"
+       x1="46.051746"
+       y1="3.0999987"
+       x2="46.051746"
+       y2="2.395859" />
+    <radialGradient
+       xlink:href="#linearGradient3273"
+       id="radialGradient1439"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.860164,0,0,0.1578,24.50481,-7.300115)"
+       cx="49.011971"
+       cy="2.6743078"
+       fx="49.011971"
+       fy="2.6743078"
+       r="1.7246193" />
+    <linearGradient
+       xlink:href="#linearGradient3251"
+       id="linearGradient1442"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.28993,0,0,1.29707,7.14915,-10.31269)"
+       x1="46.051746"
+       y1="3.0999987"
+       x2="46.051746"
+       y2="2.395859" />
+    <linearGradient
+       xlink:href="#linearGradient3235"
+       id="linearGradient1445"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.297068,-0.00188004,0.00188004,1.297068,6.796523,-10.3225)"
+       x1="48.498562"
+       y1="0.81150496"
+       x2="48.732723"
+       y2="2.3657269" />
+    <radialGradient
+       xlink:href="#linearGradient3207"
+       id="radialGradient1448"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.29707,0,0,0.1578,6.81152,-7.300115)"
+       cx="49.011971"
+       cy="2.6743078"
+       fx="49.011971"
+       fy="2.6743078"
+       r="1.7246193" />
+    <linearGradient
+       xlink:href="#linearGradient3217"
+       id="linearGradient1451"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.29707,0,0,1.29707,6.81152,-10.31269)"
+       x1="48.914677"
+       y1="2.9719031"
+       x2="48.913002"
+       y2="2.5548496" />
+    <radialGradient
+       xlink:href="#linearGradient3225"
+       id="radialGradient1455"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.297068,-0.00188004,7.085819e-4,0.48867,6.806484,-3.45491)"
+       cx="49.009884"
+       cy="8.4953117"
+       fx="47.370888"
+       fy="6.7701697"
+       r="3.9750404" />
+    <radialGradient
+       xlink:href="#linearGradient3311"
+       id="radialGradient1462"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.06228741,-3.825032e-4,0.00490218,0.798611,68.90433,5.49306)"
+       cx="95.505852"
+       cy="59.591507"
+       fx="95.505852"
+       fy="59.591507"
+       r="47.746403" />
+    <radialGradient
+       xlink:href="#linearGradient2257"
+       id="radialGradient1466"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.520175,0.08839467,-0.843351,13.788,109.1206,-1545.323)"
+       cx="42.617531"
+       cy="120.64188"
+       fx="42.617531"
+       fy="120.64188"
+       r="3.406888" />
+    <radialGradient
+       xlink:href="#linearGradient3325"
+       id="radialGradient1470"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.511766,-0.00686574,4.187271e-5,-0.00911064,87.10184,7.76835)"
+       cx="34.677639"
+       cy="7.4622769"
+       fx="34.677639"
+       fy="7.4622769"
+       r="47.595196" />
+    <linearGradient
+       xlink:href="#linearGradient2362"
+       id="linearGradient2368"
+       x1="74.332748"
+       y1="17.912012"
+       x2="54.983063"
+       y2="90.126022"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.180422,0,0,1.180422,-10.39088,-10.58642)" />
+    <linearGradient
+       id="linearGradient7281">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1.0000000"
+         offset="0.0000000"
+         id="stop7283" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.0000000"
+         offset="1.0000000"
+         id="stop7285" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3291">
+      <stop
+         id="stop3293"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3295"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       r="139.55859"
+       fy="142.6467"
+       fx="128.37613"
+       cy="142.6467"
+       cx="128.37613"
+       gradientTransform="matrix(1.2968852,0,0,1.439407,-188.06465,-41.410401)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3308"
+       xlink:href="#XMLID_8_" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="108"
+       x2="96"
+       y1="56"
+       x1="100"
+       id="linearGradient3300"
+       xlink:href="#radialGradient3696" />
+    <linearGradient
+       gradientTransform="translate(144)"
+       y2="75.945503"
+       x2="-45.818714"
+       y1="96.082298"
+       x1="-45.818714"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4197"
+       xlink:href="#linearGradient3109" />
+    <linearGradient
+       y2="19.281664"
+       x2="80"
+       y1="15.336544"
+       x1="73.742638"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3223"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       y2="19.281664"
+       x2="80"
+       y1="15.336544"
+       x1="73.742638"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3219"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       y2="19.281664"
+       x2="80"
+       y1="15.336544"
+       x1="73.742638"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4193"
+       xlink:href="#linearGradient5412" />
+    <linearGradient
+       y2="19.281664"
+       x2="80"
+       y1="15.336544"
+       x1="73.742638"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3205"
+       xlink:href="#linearGradient5412" />
+    <linearGradient
+       y2="19.281664"
+       x2="80"
+       y1="15.336544"
+       x1="73.742638"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3097"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       y2="19.281664"
+       x2="80"
+       y1="15.336544"
+       x1="73.742638"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3093"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       y2="72"
+       x2="14.697635"
+       y1="96"
+       x1="26.697636"
+       gradientTransform="translate(81.302365)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3089"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       y2="96.001434"
+       x2="11.68106"
+       y1="52"
+       x1="6.6976352"
+       gradientTransform="translate(81.302365)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3085"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       gradientTransform="translate(81.3125)"
+       gradientUnits="userSpaceOnUse"
+       y2="108.0104"
+       x2="11.68106"
+       y1="60.539303"
+       x1="11.68106"
+       id="linearGradient3060"
+       xlink:href="#linearGradient3202" />
+    <radialGradient
+       gradientTransform="translate(144)"
+       gradientUnits="userSpaceOnUse"
+       r="24"
+       fy="100"
+       fx="-60"
+       cy="84"
+       cx="-44"
+       id="radialGradient3036"
+       xlink:href="#linearGradient3030" />
+    <radialGradient
+       gradientTransform="translate(144)"
+       gradientUnits="userSpaceOnUse"
+       r="20"
+       fy="96"
+       fx="-40"
+       cy="84"
+       cx="-44"
+       id="radialGradient3026"
+       xlink:href="#XMLID_4_" />
+    <linearGradient
+       gradientTransform="translate(144)"
+       gradientUnits="userSpaceOnUse"
+       y2="104.80668"
+       x2="-62.424866"
+       y1="76.708466"
+       x1="-13.757333"
+       id="linearGradient3024"
+       xlink:href="#XMLID_4_" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="117.07014"
+       x2="95.5"
+       y1="57.608395"
+       x1="95.5"
+       id="linearGradient3971"
+       xlink:href="#radialGradient3351" />
+    <radialGradient
+       r="139.55859"
+       fy="142.6467"
+       fx="128.37613"
+       cy="142.6467"
+       cx="128.37613"
+       gradientTransform="matrix(1.2968852,0,0,1.439407,-43.366528,-58.450233)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3909"
+       xlink:href="#XMLID_8_" />
+    <clipPath
+       id="clipPath3905"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         style="fill:url(#radialGradient3909);fill-opacity:1"
+         d="M 10,9 C 9.449,9 9,9.449 9,10 v 108 c 0,0.552 0.449,1 1,1 l 92.307,-0.121 c 0.22155,0 0.693,-0.444 0.693,-0.707 V 10 c 0,-0.551 -0.448,-1 -1,-1 z"
+         id="path3907" />
+    </clipPath>
+    <radialGradient
+       r="56"
+       fy="76"
+       fx="172"
+       cy="76"
+       cx="172"
+       gradientTransform="matrix(1,0,0,1.1383929,-136,-152.52234)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3832"
+       xlink:href="#XMLID_4_" />
+    <linearGradient
+       y2="65.448112"
+       x2="173.98071"
+       y1="123.75864"
+       x1="179.17224"
+       gradientTransform="translate(-136,-142.00448)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3828"
+       xlink:href="#linearGradient3295" />
+    <linearGradient
+       id="linearGradient3449">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3451" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3453" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3678">
+      <stop
+         style="stop-color:#baff63;stop-opacity:1;"
+         offset="0"
+         id="stop3680" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3682" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3202">
+      <stop
+         style="stop-color:#cbff9c;stop-opacity:1;"
+         offset="0"
+         id="stop3204" />
+      <stop
+         style="stop-color:#65c171;stop-opacity:0"
+         offset="1"
+         id="stop3206" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3647">
+      <stop
+         style="stop-color:#c2ebab;stop-opacity:1;"
+         offset="0"
+         id="stop3649" />
+      <stop
+         style="stop-color:#71d03c;stop-opacity:0;"
+         offset="1"
+         id="stop3651" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient3696"
+       cx="48"
+       cy="-0.2148"
+       r="55.147999"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#72D13D"
+         id="stop3698" />
+      <stop
+         offset="0.3553"
+         style="stop-color:#35AC1C"
+         id="stop3700" />
+      <stop
+         offset="0.6194"
+         style="stop-color:#0F9508"
+         id="stop3702" />
+      <stop
+         offset="0.7574"
+         style="stop-color:#008C00"
+         id="stop3704" />
+      <stop
+         offset="1"
+         style="stop-color:#007A00"
+         id="stop3706" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#XMLID_4_"
+       id="linearGradient3470"
+       x1="123.5"
+       y1="76"
+       x2="220.5"
+       y2="76"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3482"
+       cx="172"
+       cy="76"
+       fx="172"
+       fy="76"
+       r="56"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3575"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       cx="172"
+       cy="76"
+       fx="172"
+       fy="76"
+       r="56" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3592"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,-108,-22.517857)"
+       cx="172"
+       cy="76"
+       fx="175"
+       fy="103.23137"
+       r="56" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3712"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       cx="172"
+       cy="76"
+       fx="172"
+       fy="76"
+       r="56" />
+    <linearGradient
+       xlink:href="#XMLID_4_"
+       id="linearGradient3633"
+       gradientUnits="userSpaceOnUse"
+       x1="123.5"
+       y1="76"
+       x2="220.5"
+       y2="76" />
+    <linearGradient
+       xlink:href="#linearGradient3647"
+       id="linearGradient3653"
+       x1="174.5"
+       y1="36.566975"
+       x2="174.5"
+       y2="93.199982"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3647"
+       id="linearGradient3953"
+       gradientUnits="userSpaceOnUse"
+       x1="174.5"
+       y1="36.566975"
+       x2="174.5"
+       y2="93.199982" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3184"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       cx="172"
+       cy="76"
+       fx="172"
+       fy="76"
+       r="56" />
+    <linearGradient
+       xlink:href="#XMLID_4_"
+       id="linearGradient3286"
+       gradientUnits="userSpaceOnUse"
+       x1="123.5"
+       y1="76"
+       x2="220.5"
+       y2="76" />
+    <linearGradient
+       xlink:href="#linearGradient3295"
+       id="linearGradient4144"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       x1="74.75"
+       y1="14.275884"
+       x2="78.939339"
+       y2="16.750759" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3465"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       cx="172"
+       cy="76"
+       fx="172"
+       fy="76"
+       r="56" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3467"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       cx="172"
+       cy="76"
+       fx="180.75"
+       fy="125.04931"
+       r="56" />
+    <linearGradient
+       xlink:href="#linearGradient3295"
+       id="linearGradient3517"
+       x1="179.17224"
+       y1="123.75864"
+       x2="173.98071"
+       y2="65.448112"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3295"
+       id="linearGradient2220"
+       gradientUnits="userSpaceOnUse"
+       x1="179.17224"
+       y1="123.75864"
+       x2="173.98071"
+       y2="65.448112" />
+    <linearGradient
+       xlink:href="#linearGradient3295"
+       id="linearGradient3738"
+       gradientUnits="userSpaceOnUse"
+       x1="179.17224"
+       y1="123.75864"
+       x2="173.98071"
+       y2="65.448112" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient2236"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       cx="172"
+       cy="76"
+       fx="172"
+       fy="76"
+       r="56" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient2238"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       cx="172"
+       cy="76"
+       fx="180.75"
+       fy="125.04931"
+       r="56" />
+    <linearGradient
+       y2="57.279232"
+       x2="226.659"
+       y1="53.784153"
+       x1="223.32712"
+       spreadMethod="reflect"
+       gradientTransform="matrix(1,0,0,0.8610463,-108.16138,-1.4361867)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3418"
+       xlink:href="#linearGradient3202" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="65.448112"
+       x2="173.98071"
+       y1="123.75864"
+       x1="179.17224"
+       id="linearGradient3415"
+       xlink:href="#linearGradient3295" />
+    <radialGradient
+       r="56"
+       fy="125.04931"
+       fx="180.75"
+       cy="76"
+       cx="172"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3409"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       r="56"
+       fy="76"
+       fx="172"
+       cy="76"
+       cx="172"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3407"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.5816285,0.01767767,-0.02698625,0.8878982,31.921846,5.9419094)"
+       r="60"
+       fy="66.344505"
+       fx="72.020813"
+       cy="66.344505"
+       cx="72.020813"
+       id="radialGradient3405"
+       xlink:href="#linearGradient3449" />
+    <linearGradient
+       spreadMethod="reflect"
+       y2="57.279232"
+       x2="226.659"
+       y1="53.784153"
+       x1="223.32712"
+       gradientTransform="matrix(1,0,0,0.8610463,-108.16138,-1.4361867)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3399"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       gradientTransform="matrix(1,0,0,0.8610463,-108,-1.4361867)"
+       y2="108.51858"
+       x2="212"
+       y1="76"
+       x1="108"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4127"
+       xlink:href="#XMLID_4_" />
+    <linearGradient
+       y2="16.750759"
+       x2="78.939339"
+       y1="14.275884"
+       x1="74.75"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3395"
+       xlink:href="#linearGradient3295" />
+    <linearGradient
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       y2="16.750759"
+       x2="78.939339"
+       y1="15.336544"
+       x1="73.742638"
+       id="linearGradient3389"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       y2="76"
+       x2="220.5"
+       y1="76"
+       x1="123.5"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3387"
+       xlink:href="#XMLID_4_" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="76.455902"
+       x2="67.73996"
+       y1="13.043323"
+       x1="79.589897"
+       id="linearGradient3385"
+       xlink:href="#linearGradient3260" />
+    <radialGradient
+       r="56"
+       fy="125.04931"
+       fx="180.75"
+       cy="76"
+       cx="172"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3383"
+       xlink:href="#XMLID_4_" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="83.235832"
+       x2="75.957108"
+       y1="16.154284"
+       x1="74.03466"
+       id="linearGradient3381"
+       xlink:href="#linearGradient3202" />
+    <radialGradient
+       r="56"
+       fy="76"
+       fx="172"
+       cy="76"
+       cx="172"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3379"
+       xlink:href="#XMLID_4_" />
+    <linearGradient
+       y2="93.199982"
+       x2="174.5"
+       y1="36.566975"
+       x1="174.5"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3377"
+       xlink:href="#linearGradient3647" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="93.199982"
+       x2="174.5"
+       y1="36.566975"
+       x1="174.5"
+       id="linearGradient3375"
+       xlink:href="#linearGradient3647" />
+    <linearGradient
+       y2="76"
+       x2="220.5"
+       y1="76"
+       x1="123.5"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3373"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       r="56"
+       fy="76"
+       fx="172"
+       cy="76"
+       cx="172"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3371"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       r="56"
+       fy="103.23137"
+       fx="175"
+       cy="76"
+       cx="172"
+       gradientTransform="matrix(1,0,0,1.1383929,-108,-22.517857)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3369"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       r="56"
+       fy="76"
+       fx="172"
+       cy="76"
+       cx="172"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3367"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       r="56"
+       fy="76"
+       fx="172"
+       cy="76"
+       cx="172"
+       id="radialGradient3365"
+       xlink:href="#XMLID_4_" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="76"
+       x2="220.5"
+       y1="76"
+       x1="123.5"
+       id="linearGradient3363"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="radialGradient3351">
+      <stop
+         id="stop3353"
+         style="stop-color:#72D13D"
+         offset="0" />
+      <stop
+         id="stop3355"
+         style="stop-color:#35AC1C"
+         offset="0.3553" />
+      <stop
+         id="stop3357"
+         style="stop-color:#0F9508"
+         offset="0.6194" />
+      <stop
+         id="stop3359"
+         style="stop-color:#008C00"
+         offset="0.7574" />
+      <stop
+         id="stop3361"
+         style="stop-color:#007A00"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient3345">
+      <stop
+         id="stop4103"
+         offset="0"
+         style="stop-color:#c2ebab;stop-opacity:1;" />
+      <stop
+         id="stop3349"
+         offset="1"
+         style="stop-color:#71d03c;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3339">
+      <stop
+         id="stop3341"
+         offset="0"
+         style="stop-color:#cbff9c;stop-opacity:1;" />
+      <stop
+         id="stop3343"
+         offset="1"
+         style="stop-color:#65c171;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3327">
+      <stop
+         id="stop4095"
+         offset="0"
+         style="stop-color:#baff63;stop-opacity:1;" />
+      <stop
+         id="stop4097"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3453"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.1383929,0,-10.517857)"
+       cx="172"
+       cy="76"
+       fx="172"
+       fy="76"
+       r="56" />
+    <linearGradient
+       xlink:href="#linearGradient3295"
+       id="linearGradient3458"
+       gradientUnits="userSpaceOnUse"
+       x1="179.17224"
+       y1="123.75864"
+       x2="173.98071"
+       y2="65.448112" />
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5446">
+      <stop
+         id="stop5448"
+         style="stop-color:#FFEA00"
+         offset="0" />
+      <stop
+         id="stop5450"
+         style="stop-color:#c66200;stop-opacity:1;"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5412"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:#fff14d;stop-opacity:1;"
+         id="stop5414" />
+      <stop
+         offset="1"
+         style="stop-color:#f8ffa0;stop-opacity:0;"
+         id="stop5416" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5368">
+      <stop
+         style="stop-color:#0590ff;stop-opacity:1;"
+         offset="0"
+         id="stop5370" />
+      <stop
+         style="stop-color:#c6e6ff;stop-opacity:1;"
+         offset="1"
+         id="stop5372" />
+    </linearGradient>
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4992">
+      <stop
+         id="stop4994"
+         style="stop-color:#FFEA00"
+         offset="0" />
+      <stop
+         id="stop4996"
+         style="stop-color:#ffa000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#XMLID_8_"
+       id="radialGradient3401"
+       gradientUnits="userSpaceOnUse"
+       cx="111"
+       cy="144.49577"
+       r="139.55859"
+       gradientTransform="translate(-12,4)"
+       fx="111"
+       fy="144.49577" />
+    <radialGradient
+       xlink:href="#XMLID_7_"
+       id="radialGradient3403"
+       gradientUnits="userSpaceOnUse"
+       cx="138.91406"
+       cy="148.63283"
+       r="139.5585"
+       gradientTransform="translate(-12,4)"
+       fx="138.91406"
+       fy="148.63283" />
+    <linearGradient
+       id="linearGradient3443">
+      <stop
+         style="stop-color:#747474;stop-opacity:1;"
+         offset="0"
+         id="stop3445" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3447" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="111.0006"
+       cy="-9"
+       cx="51.9995"
+       id="radialGradient4071"
+       gradientTransform="translate(-103.157,-34.959)">
+      <stop
+         id="stop2424"
+         style="stop-color:#80B3FF"
+         offset="0.15" />
+      <stop
+         id="stop22"
+         style="stop-color:#163a66;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient2575"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:#FFEA00"
+         id="stop2577" />
+      <stop
+         offset="1"
+         style="stop-color:#ffa000;stop-opacity:1;"
+         id="stop2579" />
+    </linearGradient>
+    <linearGradient
+       y2="65.448112"
+       x2="173.98071"
+       y1="123.75864"
+       x1="179.17224"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2226"
+       xlink:href="#linearGradient3295"
+       gradientTransform="translate(-136,-142.00448)" />
+    <radialGradient
+       r="56"
+       fy="76"
+       fx="172"
+       cy="76"
+       cx="172"
+       gradientTransform="matrix(1,0,0,1.1383929,-136,-152.52234)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3629"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="XMLID_4_">
+      <stop
+         id="stop3082"
+         style="stop-color:#72D13D"
+         offset="0" />
+      <stop
+         id="stop3084"
+         style="stop-color:#35AC1C"
+         offset="0.3553" />
+      <stop
+         id="stop3086"
+         style="stop-color:#0F9508"
+         offset="0.6194" />
+      <stop
+         id="stop3088"
+         style="stop-color:#008C00"
+         offset="0.7574" />
+      <stop
+         id="stop3090"
+         style="stop-color:#007A00"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient3260">
+      <stop
+         id="stop3262"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3264"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3295">
+      <stop
+         id="stop3297"
+         offset="0"
+         style="stop-color:#fdff63;stop-opacity:1;" />
+      <stop
+         id="stop3299"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3751"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-1.9038358,1.6066243,0,10.102626,349.18714)"
+       cx="172"
+       cy="76"
+       fx="172"
+       fy="76"
+       r="56" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient4745"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-1.9038358,1.6066243,0,10.102626,349.18714)"
+       cx="172"
+       cy="76"
+       fx="172"
+       fy="76"
+       r="56" />
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3446">
+      <stop
+         id="stop3448"
+         style="stop-color:#FFEA00"
+         offset="0" />
+      <stop
+         id="stop3450"
+         style="stop-color:#FFCC00"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3456"
+       xlink:href="#linearGradient3287" />
+    <linearGradient
+       y2="51.1875"
+       x2="-39.53125"
+       y1="78"
+       x1="-39.53125"
+       gradientTransform="translate(69.54139,-45.18897)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4708"
+       xlink:href="#linearGradient18668" />
+    <radialGradient
+       gradientTransform="translate(-157.79665,3.3542977)"
+       fy="135.7422"
+       fx="121.14062"
+       r="139.5585"
+       cy="135.7422"
+       cx="121.14062"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2886"
+       xlink:href="#XMLID_7_" />
+    <radialGradient
+       fy="142.6467"
+       fx="128.37613"
+       r="139.55859"
+       cy="142.6467"
+       cx="128.37613"
+       gradientTransform="matrix(1.2968852,0,0,1.439407,-43.366528,-58.450233)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2883"
+       xlink:href="#XMLID_8_" />
+    <linearGradient
+       gradientTransform="translate(69.54139,-45.18897)"
+       y2="51.1875"
+       x2="-39.53125"
+       y1="78"
+       x1="-39.53125"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient18749"
+       xlink:href="#linearGradient18668" />
+    <linearGradient
+       y2="51.1875"
+       x2="-39.53125"
+       y1="78"
+       x1="-39.53125"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient18746"
+       xlink:href="#linearGradient18668" />
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient18744"
+       xlink:href="#XMLID_2_" />
+    <linearGradient
+       y2="51.1875"
+       x2="-39.53125"
+       y1="78"
+       x1="-39.53125"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient18674"
+       xlink:href="#linearGradient18668" />
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient18649">
+      <stop
+         id="stop18651"
+         style="stop-color:#FFEA00"
+         offset="0" />
+      <stop
+         id="stop18653"
+         style="stop-color:#FFCC00"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient18657"
+       xlink:href="#XMLID_2_" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.754978,-0.02959381,0,0.905772,7.650275,10.87807)"
+       r="8.968153"
+       fy="31.045055"
+       fx="26.954102"
+       cy="31.045055"
+       cx="26.954102"
+       id="radialGradient15986"
+       xlink:href="#linearGradient15967" />
+    <linearGradient
+       y2="100.82378"
+       x2="-18.121965"
+       y1="100.82378"
+       x1="-74.820709"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient15977"
+       xlink:href="#linearGradient2309" />
+    <linearGradient
+       gradientTransform="translate(1.470416e-5)"
+       y2="30.441185"
+       x2="27.719746"
+       y1="7.881104"
+       x1="27.719746"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient15973"
+       xlink:href="#linearGradient15967" />
+    <linearGradient
+       y2="100.82378"
+       x2="-18.121965"
+       y1="100.82378"
+       x1="-74.820709"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient14189"
+       xlink:href="#linearGradient2309" />
+    <linearGradient
+       y2="100.82378"
+       x2="-18.121965"
+       y1="100.82378"
+       x1="-74.820709"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient14180"
+       xlink:href="#linearGradient2309" />
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient12378"
+       xlink:href="#XMLID_2_" />
+    <foreignObject
+       id="foreignObject7"
+       height="1"
+       width="1"
+       y="0"
+       x="0"
+       requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" />
+    <radialGradient
+       r="139.55859"
+       cy="112.3047"
+       cx="102"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2467"
+       xlink:href="#XMLID_8_" />
+    <radialGradient
+       r="139.5585"
+       cy="112.3047"
+       cx="102"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2465"
+       xlink:href="#XMLID_7_" />
+    <linearGradient
+       y2="96.000198"
+       x2="88.000198"
+       y1="104"
+       x1="96"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2397"
+       xlink:href="#XMLID_12_" />
+    <linearGradient
+       y2="95.292999"
+       x2="87.292999"
+       y1="103"
+       x1="95"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2395"
+       xlink:href="#XMLID_11_" />
+    <linearGradient
+       y2="94.586502"
+       x2="86.586502"
+       y1="103"
+       x1="95"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2393"
+       xlink:href="#XMLID_10_" />
+    <linearGradient
+       y2="94.536598"
+       x2="86.535599"
+       y1="102.3447"
+       x1="94.343803"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2391"
+       xlink:href="#XMLID_9_" />
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="XMLID_2_">
+      <stop
+         id="stop12"
+         style="stop-color:#FFEA00"
+         offset="0" />
+      <stop
+         id="stop14"
+         style="stop-color:#FFCC00"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient15967"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:white;stop-opacity:1;"
+         id="stop15969" />
+      <stop
+         offset="1"
+         style="stop-color:white;stop-opacity:0;"
+         id="stop15971" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient18668"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:#fff8a8;stop-opacity:1;"
+         id="stop18670" />
+      <stop
+         offset="1"
+         style="stop-color:white;stop-opacity:0;"
+         id="stop18672" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4005">
+      <stop
+         id="stop4007"
+         offset="0"
+         style="stop-color:black;stop-opacity:1" />
+      <stop
+         id="stop4009"
+         offset="1"
+         style="stop-color:black;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3287"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:#FFEA00"
+         id="stop3289" />
+      <stop
+         offset="1"
+         style="stop-color:#ffa000;stop-opacity:1;"
+         id="stop3291" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3030">
+      <stop
+         id="stop3032"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.77902622" />
+      <stop
+         id="stop3034"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="0"
+       x2="28"
+       y1="57.5"
+       x1="28"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3109">
+      <stop
+         id="stop3111"
+         style="stop-color:#fff8a8;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop3113"
+         style="stop-color:white;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient4226"
+       gradientTransform="scale(1.039383,0.9621093)"
+       x1="64.341988"
+       y1="18.50366"
+       x2="76.284439"
+       y2="18.50366"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3225"
+       id="linearGradient4228"
+       x1="79.75"
+       y1="84"
+       x2="120.25"
+       y2="84"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#radialGradient3696"
+       id="linearGradient4230"
+       gradientUnits="userSpaceOnUse"
+       x1="100"
+       y1="56"
+       x2="96"
+       y2="108" />
+    <linearGradient
+       xlink:href="#XMLID_4_"
+       id="linearGradient4232"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(144)"
+       x1="-13.757333"
+       y1="76.708466"
+       x2="-62.424866"
+       y2="104.80668" />
+    <linearGradient
+       xlink:href="#linearGradient3260"
+       id="linearGradient4234"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664" />
+    <linearGradient
+       xlink:href="#linearGradient3260"
+       id="linearGradient4236"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664" />
+    <linearGradient
+       xlink:href="#linearGradient5412"
+       id="linearGradient4238"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664" />
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient4240"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.039383,0.9621093)"
+       x1="64.341988"
+       y1="18.50366"
+       x2="76.284439"
+       y2="18.50366" />
+    <linearGradient
+       xlink:href="#linearGradient3260"
+       id="linearGradient4242"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664" />
+    <radialGradient
+       xlink:href="#linearGradient3030"
+       id="radialGradient4244"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(144)"
+       cx="-44"
+       cy="84"
+       fx="-60"
+       fy="100"
+       r="24" />
+    <linearGradient
+       xlink:href="#linearGradient3260"
+       id="linearGradient4246"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient4248"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(144)"
+       cx="-44"
+       cy="84"
+       fx="-40"
+       fy="96"
+       r="20" />
+    <linearGradient
+       xlink:href="#linearGradient3202"
+       id="linearGradient4250"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(81.3125)"
+       x1="11.68106"
+       y1="60.539303"
+       x2="11.68106"
+       y2="108.0104" />
+    <linearGradient
+       xlink:href="#linearGradient3260"
+       id="linearGradient4252"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(81.302365)"
+       x1="6.6976352"
+       y1="52"
+       x2="11.68106"
+       y2="96.001434" />
+    <linearGradient
+       xlink:href="#linearGradient3260"
+       id="linearGradient4254"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(81.302365)"
+       x1="26.697636"
+       y1="96"
+       x2="14.697635"
+       y2="72" />
+    <linearGradient
+       xlink:href="#linearGradient3225"
+       id="linearGradient4256"
+       gradientUnits="userSpaceOnUse"
+       x1="79.75"
+       y1="84"
+       x2="120.25"
+       y2="84" />
+    <linearGradient
+       xlink:href="#radialGradient3696"
+       id="linearGradient4301"
+       gradientUnits="userSpaceOnUse"
+       x1="100"
+       y1="56"
+       x2="96"
+       y2="108"
+       gradientTransform="translate(-138.69812,17.039832)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4576062,0,0,0.782313,-19.847694,18.82067)"
+       r="25.986174"
+       fy="90.072952"
+       fx="-36.592777"
+       cy="90.072952"
+       cx="-36.592777"
+       id="radialGradient3581"
+       xlink:href="#linearGradient3575" />
+    <linearGradient
+       y2="-15.688621"
+       x2="58.743717"
+       y1="78.411346"
+       x1="58.743717"
+       gradientTransform="translate(-96.166522)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3563"
+       xlink:href="#linearGradient5826" />
+    <clipPath
+       id="clipPath3559"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         style="fill:url(#linearGradient3563);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m -64.510272,10.75 c -1.042316,0.0084 -2.040208,0.423209 -2.78125,1.15625 L -84.260272,28.875 c -1.561474,1.562119 -1.561474,4.094131 0,5.65625 L -58.822772,60 l -25.4375,25.46875 c -1.561474,1.562119 -1.561474,4.094131 0,5.65625 l 16.96875,16.96875 c 1.562119,1.56147 4.094131,1.56147 5.65625,0 l 25.46875,-25.4375 25.46875,25.4375 c 1.5621191,1.56147 4.0941311,1.56147 5.6562501,0 L 11.927228,91.125 c 1.56147,-1.562119 1.56147,-4.094131 0,-5.65625 L -13.510272,60 11.927228,34.53125 c 1.56147,-1.562119 1.56147,-4.094131 0,-5.65625 L -5.0415219,11.90625 c -1.562119,-1.561474 -4.094131,-1.561474 -5.6562501,0 l -25.46875,25.4375 -25.46875,-25.4375 c -0.764077,-0.756011 -1.800247,-1.172731 -2.875,-1.15625 z m 31.1875,63.40625 c -0.751409,-0.759464 -1.775386,-1.18681 -2.84375,-1.18681 -1.068364,0 -2.092341,0.427346 -2.84375,1.18681 z"
+         id="path3561" />
+    </clipPath>
+    <linearGradient
+       y2="-15.688621"
+       x2="58.743717"
+       y1="78.411346"
+       x1="58.743717"
+       gradientTransform="translate(-96.166522)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3557"
+       xlink:href="#linearGradient5826" />
+    <clipPath
+       id="clipPath3553"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path3555"
+         d="m -64.510272,10.75 c -1.042316,0.0084 -2.040208,0.423209 -2.78125,1.15625 L -84.260272,28.875 c -1.561474,1.562119 -1.561474,4.094131 0,5.65625 L -58.822772,60 l -25.4375,25.46875 c -1.561474,1.562119 -1.561474,4.094131 0,5.65625 l 16.96875,16.96875 c 1.562119,1.56147 4.094131,1.56147 5.65625,0 l 25.46875,-25.4375 25.46875,25.4375 c 1.5621191,1.56147 4.0941311,1.56147 5.6562501,0 L 11.927228,91.125 c 1.56147,-1.562119 1.56147,-4.094131 0,-5.65625 L -13.510272,60 11.927228,34.53125 c 1.56147,-1.562119 1.56147,-4.094131 0,-5.65625 L -5.0415219,11.90625 c -1.562119,-1.561474 -4.094131,-1.561474 -5.6562501,0 l -25.46875,25.4375 -25.46875,-25.4375 c -0.764077,-0.756011 -1.800247,-1.172731 -2.875,-1.15625 z m 31.1875,63.40625 c -0.751409,-0.759464 -1.775386,-1.18681 -2.84375,-1.18681 -1.068364,0 -2.092341,0.427346 -2.84375,1.18681 z"
+         style="fill:url(#linearGradient3557);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+    </clipPath>
+    <filter
+       id="filter3549"
+       height="1.2960713"
+       y="-0.14803563"
+       width="1.2328371"
+       x="-0.11641854">
+      <feGaussianBlur
+         id="feGaussianBlur3551"
+         stdDeviation="2.5695681" />
+    </filter>
+    <linearGradient
+       y2="13.510336"
+       x2="34.875107"
+       y1="13.510336"
+       x1="31.90625"
+       spreadMethod="reflect"
+       gradientTransform="translate(-0.3)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4611"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       y2="13.510336"
+       x2="34.875107"
+       y1="13.510336"
+       x1="31.90625"
+       spreadMethod="reflect"
+       gradientTransform="translate(-0.3)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4609"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       y2="13.510336"
+       x2="34.875107"
+       y1="13.510336"
+       x1="31.90625"
+       spreadMethod="reflect"
+       gradientTransform="translate(-0.3)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4606"
+       xlink:href="#linearGradient3366" />
+    <filter
+       id="filter3477"
+       height="1.2774813"
+       y="-0.13874064"
+       width="1.279832"
+       x="-0.13991599">
+      <feGaussianBlur
+         id="feGaussianBlur3479"
+         stdDeviation="0.28784801" />
+    </filter>
+    <linearGradient
+       y2="47.729851"
+       x2="62.466938"
+       y1="75.45768"
+       x1="75.548416"
+       gradientTransform="translate(0.0125,1.25)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4599"
+       xlink:href="#linearGradient3207" />
+    <filter
+       id="filter3354">
+      <feGaussianBlur
+         id="feGaussianBlur3356"
+         stdDeviation="0.45754832" />
+    </filter>
+    <linearGradient
+       id="linearGradient4587">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4589" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4591" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5433">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop5435" />
+      <stop
+         style="stop-color:#7f0000;stop-opacity:1;"
+         offset="1"
+         id="stop5437" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2922">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2924" />
+      <stop
+         style="stop-color:#515151;stop-opacity:1;"
+         offset="1"
+         id="stop2926" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4575">
+      <stop
+         id="stop4577"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop4579"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3623">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.68345326;"
+         offset="0"
+         id="stop3625" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3627" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5826">
+      <stop
+         id="stop5828"
+         offset="0"
+         style="stop-color:#810000;stop-opacity:1;" />
+      <stop
+         id="stop5830"
+         offset="1"
+         style="stop-color:#c50000;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3058">
+      <stop
+         style="stop-color:#9a7600;stop-opacity:1;"
+         offset="0"
+         id="stop3060" />
+      <stop
+         id="stop3066"
+         offset="0.09292036"
+         style="stop-color:#e3ad00;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffcd2c;stop-opacity:1;"
+         offset="0.5043171"
+         id="stop3070" />
+      <stop
+         style="stop-color:#e3ad00;stop-opacity:1;"
+         offset="0.91571385"
+         id="stop3068" />
+      <stop
+         style="stop-color:#b98d00;stop-opacity:1;"
+         offset="1"
+         id="stop3062" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7364">
+      <stop
+         style="stop-color:#d4a100;stop-opacity:0.97647059;"
+         offset="0"
+         id="stop7366" />
+      <stop
+         style="stop-color:#ffc712;stop-opacity:1;"
+         offset="1"
+         id="stop7368" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2598">
+      <stop
+         style="stop-color:#252525;stop-opacity:1;"
+         offset="0"
+         id="stop2600" />
+      <stop
+         id="stop2606"
+         offset="0.29354507"
+         style="stop-color:#252525;stop-opacity:1;" />
+      <stop
+         style="stop-color:#252525;stop-opacity:1;"
+         offset="0.45366704"
+         id="stop2608" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop2602" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4549">
+      <stop
+         style="stop-color:#b4942a;stop-opacity:1;"
+         offset="0"
+         id="stop4551" />
+      <stop
+         style="stop-color:#e4dcc9;stop-opacity:1"
+         offset="1"
+         id="stop4553" />
+    </linearGradient>
+    <radialGradient
+       id="path2489_1_"
+       cx="305.02731"
+       cy="-349"
+       r="34.178398"
+       gradientTransform="matrix(1.1658,0,0,-1,-353.77589,-376.98677)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#4b73ad;stop-opacity:1;"
+         id="stop44" />
+      <stop
+         offset="1"
+         style="stop-color:#80B3FF"
+         id="stop46" />
+    </radialGradient>
+    <radialGradient
+       id="path4248_1_"
+       cx="354.85159"
+       cy="-426"
+       r="34.1791"
+       gradientTransform="matrix(1,0,0,-1,-359.20739,-378.98677)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#538BCF"
+         id="stop38" />
+      <stop
+         offset="1"
+         style="stop-color:#80B3FF"
+         id="stop40" />
+    </radialGradient>
+    <radialGradient
+       id="path2471_1_"
+       cx="354.85159"
+       cy="-426"
+       r="34.1791"
+       gradientTransform="matrix(1,0,0,-1,-359.20739,-376.98677)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#538BCF"
+         id="stop32" />
+      <stop
+         offset="1"
+         style="stop-color:#80B3FF"
+         id="stop34" />
+    </radialGradient>
+    <linearGradient
+       id="front_1_"
+       gradientUnits="userSpaceOnUse"
+       x1="354.68549"
+       y1="-601.27588"
+       x2="354.68549"
+       y2="-503.146"
+       gradientTransform="matrix(1,0,0,-0.6522,-359.42609,-340.63827)">
+      <stop
+         offset="0"
+         style="stop-color:#B3D9FF"
+         id="stop20" />
+      <stop
+         offset="0.4863"
+         style="stop-color:#71A8F5"
+         id="stop4535" />
+      <stop
+         offset="0.7988"
+         style="stop-color:#2C72C7"
+         id="stop24" />
+      <stop
+         offset="0.98"
+         style="stop-color:#2C72C7"
+         id="stop26" />
+      <stop
+         offset="1"
+         style="stop-color:#DEEBFF"
+         id="stop28" />
+    </linearGradient>
+    <linearGradient
+       id="XMLID_1_"
+       gradientUnits="userSpaceOnUse"
+       x1="63.4995"
+       y1="-79.239304"
+       x2="63.4995"
+       y2="9.3268995"
+       gradientTransform="translate(-68.240592,44.013228)">
+      <stop
+         offset="0"
+         style="stop-color:#73A3E7"
+         id="stop6" />
+      <stop
+         offset="0.1394"
+         style="stop-color:#83B1F5"
+         id="stop8" />
+      <stop
+         offset="0.3689"
+         style="stop-color:#BCD6FC"
+         id="stop10" />
+      <stop
+         offset="0.5007"
+         style="stop-color:#659FEE"
+         id="stop4529" />
+      <stop
+         offset="1"
+         style="stop-color:#0066FF"
+         id="stop4531" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="122.91273"
+       x2="273.56915"
+       y1="-33.695843"
+       x1="305.35327"
+       id="linearGradient4523"
+       xlink:href="#linearGradient3303" />
+    <clipPath
+       id="clipPath3367"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path3369"
+         d="m 240.04888,9 c -2.95344,0 -5.36008,2.347166 -5.36008,5.32684 v 96.93221 l 10.64004,10.65368 h 95.9992 c 2.95345,0 5.35982,-2.34717 5.35982,-5.32658 V 14.32684 C 346.68786,11.347166 344.28149,9 341.32804,9 Z"
+         style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+    </clipPath>
+    <linearGradient
+       y2="1895.421"
+       x2="-97.742668"
+       y1="1937.9885"
+       x1="-97.742668"
+       gradientTransform="matrix(2.5599786,0,0,2.5827101,158.24797,-4821.2784)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4519"
+       xlink:href="#linearGradient3174" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="119.03187"
+       x2="-43.770939"
+       y1="127.91319"
+       x1="-44.117901"
+       id="linearGradient3323"
+       xlink:href="#linearGradient3317" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="130.6806"
+       x2="-44.802357"
+       y1="71.894066"
+       x1="-44.802357"
+       id="linearGradient3309"
+       xlink:href="#linearGradient3303" />
+    <linearGradient
+       y2="76.315697"
+       x2="53.747078"
+       y1="122.13094"
+       x1="92.574883"
+       gradientTransform="translate(-106.875)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3293"
+       xlink:href="#linearGradient3270" />
+    <clipPath
+       id="clipPath4512"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         style="opacity:1;fill:url(#linearGradient3293);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m -69.78125,80 c -0.599904,0 -1.09375,0.470333 -1.09375,1.0625 v 41.875 c 0,0.59217 0.493846,1.0625 1.09375,1.0625 h 60.6875 c 0.599904,0 1.093746,-0.47033 1.09375,-1.0625 V 81.0625 C -8,80.470333 -8.493846,80 -9.09375,80 Z"
+         id="path4514" />
+    </clipPath>
+    <linearGradient
+       gradientTransform="translate(-106.875)"
+       y2="76.315697"
+       x2="53.747078"
+       y1="122.13094"
+       x1="92.574883"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3285"
+       xlink:href="#linearGradient3270" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="76.315697"
+       x2="53.747078"
+       y1="122.13094"
+       x1="92.574883"
+       id="linearGradient3276"
+       xlink:href="#linearGradient3270" />
+    <linearGradient
+       id="linearGradient4504">
+      <stop
+         id="stop4506"
+         offset="0"
+         style="stop-color:#6b696a;stop-opacity:1;" />
+      <stop
+         id="stop4508"
+         offset="1"
+         style="stop-color:#6b696a;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3174">
+      <stop
+         id="stop3176"
+         offset="0"
+         style="stop-color:#2e2a2b;stop-opacity:1;" />
+      <stop
+         style="stop-color:#4c494a;stop-opacity:1;"
+         offset="0.33497536"
+         id="stop3182" />
+      <stop
+         id="stop3214"
+         offset="0.66748768"
+         style="stop-color:#5b595a;stop-opacity:1;" />
+      <stop
+         id="stop3178"
+         offset="1"
+         style="stop-color:#6b696a;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3206">
+      <stop
+         id="stop3208"
+         offset="0"
+         style="stop-color:#e3e2e6;stop-opacity:1" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.54117647;"
+         offset="0.5"
+         id="stop3216" />
+      <stop
+         id="stop3210"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3270">
+      <stop
+         id="stop3272"
+         offset="0"
+         style="stop-color:#a0a1a5;stop-opacity:1;" />
+      <stop
+         id="stop3274"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3317">
+      <stop
+         id="stop4483"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3321"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3448">
+      <stop
+         id="stop4479"
+         offset="0"
+         style="stop-color:#cac7dc;stop-opacity:1;" />
+      <stop
+         id="stop3452"
+         offset="1"
+         style="stop-color:#cac7dc;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3366">
+      <stop
+         id="stop3368"
+         offset="0"
+         style="stop-color:#ff8787;stop-opacity:1;" />
+      <stop
+         id="stop4472"
+         offset="1"
+         style="stop-color:#ff8787;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3575">
+      <stop
+         id="stop3577"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3579"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4576062,0,0,0.782313,-19.847694,18.82067)"
+       r="25.986174"
+       fy="90.072952"
+       fx="-36.592777"
+       cy="90.072952"
+       cx="-36.592777"
+       id="radialGradient5153"
+       xlink:href="#linearGradient3575" />
+    <linearGradient
+       y2="-15.688621"
+       x2="58.743717"
+       y1="78.411346"
+       x1="58.743717"
+       gradientTransform="translate(-96.166522)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5151"
+       xlink:href="#linearGradient5826" />
+    <clipPath
+       id="clipPath5147"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         style="fill:url(#linearGradient3563);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m -64.510272,10.75 c -1.042316,0.0084 -2.040208,0.423209 -2.78125,1.15625 L -84.260272,28.875 c -1.561474,1.562119 -1.561474,4.094131 0,5.65625 L -58.822772,60 l -25.4375,25.46875 c -1.561474,1.562119 -1.561474,4.094131 0,5.65625 l 16.96875,16.96875 c 1.562119,1.56147 4.094131,1.56147 5.65625,0 l 25.46875,-25.4375 25.46875,25.4375 c 1.5621191,1.56147 4.0941311,1.56147 5.6562501,0 L 11.927228,91.125 c 1.56147,-1.562119 1.56147,-4.094131 0,-5.65625 L -13.510272,60 11.927228,34.53125 c 1.56147,-1.562119 1.56147,-4.094131 0,-5.65625 L -5.0415219,11.90625 c -1.562119,-1.561474 -4.094131,-1.561474 -5.6562501,0 l -25.46875,25.4375 -25.46875,-25.4375 c -0.764077,-0.756011 -1.800247,-1.172731 -2.875,-1.15625 z m 31.1875,63.40625 c -0.751409,-0.759464 -1.775386,-1.18681 -2.84375,-1.18681 -1.068364,0 -2.092341,0.427346 -2.84375,1.18681 z"
+         id="path5149" />
+    </clipPath>
+    <linearGradient
+       y2="-15.688621"
+       x2="58.743717"
+       y1="78.411346"
+       x1="58.743717"
+       gradientTransform="translate(-96.166522)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5145"
+       xlink:href="#linearGradient5826" />
+    <clipPath
+       id="clipPath5141"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path5143"
+         d="m -64.510272,10.75 c -1.042316,0.0084 -2.040208,0.423209 -2.78125,1.15625 L -84.260272,28.875 c -1.561474,1.562119 -1.561474,4.094131 0,5.65625 L -58.822772,60 l -25.4375,25.46875 c -1.561474,1.562119 -1.561474,4.094131 0,5.65625 l 16.96875,16.96875 c 1.562119,1.56147 4.094131,1.56147 5.65625,0 l 25.46875,-25.4375 25.46875,25.4375 c 1.5621191,1.56147 4.0941311,1.56147 5.6562501,0 L 11.927228,91.125 c 1.56147,-1.562119 1.56147,-4.094131 0,-5.65625 L -13.510272,60 11.927228,34.53125 c 1.56147,-1.562119 1.56147,-4.094131 0,-5.65625 L -5.0415219,11.90625 c -1.562119,-1.561474 -4.094131,-1.561474 -5.6562501,0 l -25.46875,25.4375 -25.46875,-25.4375 c -0.764077,-0.756011 -1.800247,-1.172731 -2.875,-1.15625 z m 31.1875,63.40625 c -0.751409,-0.759464 -1.775386,-1.18681 -2.84375,-1.18681 -1.068364,0 -2.092341,0.427346 -2.84375,1.18681 z"
+         style="fill:url(#linearGradient3557);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+    </clipPath>
+    <linearGradient
+       gradientTransform="translate(-96.166522)"
+       y2="-15.688621"
+       x2="58.743717"
+       y1="78.411346"
+       x1="58.743717"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3503"
+       xlink:href="#linearGradient5826" />
+    <linearGradient
+       y2="13.510336"
+       x2="34.875107"
+       y1="13.510336"
+       x1="31.90625"
+       spreadMethod="reflect"
+       gradientTransform="translate(-0.3)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5134"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       y2="13.510336"
+       x2="34.875107"
+       y1="13.510336"
+       x1="31.90625"
+       spreadMethod="reflect"
+       gradientTransform="translate(-0.3)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5132"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       y2="13.510336"
+       x2="34.875107"
+       y1="13.510336"
+       x1="31.90625"
+       spreadMethod="reflect"
+       gradientTransform="translate(56.7)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5130"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       y2="13.510336"
+       x2="34.875107"
+       y1="13.510336"
+       x1="31.90625"
+       spreadMethod="reflect"
+       gradientTransform="translate(-0.3)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5128"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       y2="13.510336"
+       x2="34.875107"
+       y1="13.510336"
+       x1="31.90625"
+       spreadMethod="reflect"
+       gradientTransform="translate(56.7)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5126"
+       xlink:href="#linearGradient3207" />
+    <linearGradient
+       gradientTransform="translate(-0.3)"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       y2="13.510336"
+       x2="34.875107"
+       y1="13.510336"
+       x1="31.90625"
+       id="linearGradient5120"
+       xlink:href="#linearGradient3207" />
+    <linearGradient
+       y2="61.87199"
+       x2="63.174042"
+       y1="10.40386"
+       x1="63.174049"
+       gradientTransform="translate(0.0125,1.25)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5118"
+       xlink:href="#linearGradient3207" />
+    <linearGradient
+       y2="47.729851"
+       x2="62.466938"
+       y1="75.45768"
+       x1="75.548416"
+       gradientTransform="translate(0.0125,1.25)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5116"
+       xlink:href="#linearGradient3207" />
+    <linearGradient
+       y2="70.357269"
+       x2="47.264141"
+       y1="21.738457"
+       x1="47.264141"
+       gradientTransform="translate(159.3125,1.25)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3394"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       y2="70.357269"
+       x2="47.264141"
+       y1="21.738457"
+       x1="47.264141"
+       gradientTransform="translate(159.3125,1.25)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3392"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       y2="70.357269"
+       x2="47.264141"
+       y1="21.738457"
+       x1="47.264141"
+       gradientTransform="translate(175.45,-0.3)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5112"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       gradientTransform="translate(177.25)"
+       y2="70.357269"
+       x2="47.264141"
+       y1="21.738457"
+       x1="47.264141"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5110"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       y2="70.357269"
+       x2="47.264141"
+       y1="21.738457"
+       x1="47.264141"
+       gradientTransform="translate(161.25,1)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3380"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       gradientTransform="translate(161.25)"
+       y2="70.357269"
+       x2="47.264141"
+       y1="21.738457"
+       x1="47.264141"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3376"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="70.357269"
+       x2="47.264141"
+       y1="21.738457"
+       x1="47.264141"
+       id="linearGradient5106"
+       xlink:href="#linearGradient3366" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="55.07938"
+       x2="57.434441"
+       y1="92.973083"
+       x1="59.999996"
+       id="linearGradient5100"
+       xlink:href="#linearGradient3330" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="36.655769"
+       x2="55.007042"
+       y1="88.460976"
+       x1="55.007042"
+       id="linearGradient5098"
+       xlink:href="#linearGradient5433" />
+    <linearGradient
+       y2="-15.688621"
+       x2="58.743717"
+       y1="78.411346"
+       x1="58.743717"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5096"
+       xlink:href="#linearGradient5826" />
+    <radialGradient
+       r="1.7246193"
+       fy="2.6743078"
+       fx="49.011971"
+       cy="2.6743078"
+       cx="49.011971"
+       gradientTransform="matrix(1.5495914,0,0,0.1876849,-193.24041,-23.535874)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3775"
+       xlink:href="#linearGradient3207" />
+    <radialGradient
+       r="1.7246193"
+       fy="2.6743078"
+       fx="49.011971"
+       cy="2.6743078"
+       cx="49.011971"
+       gradientTransform="matrix(1.550633,0,0,0.1873121,21.621938,-31.864287)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3773"
+       xlink:href="#linearGradient3207" />
+    <radialGradient
+       r="1.7246193"
+       fy="2.6743078"
+       fx="49.011971"
+       cy="2.6743078"
+       cx="49.011971"
+       gradientTransform="matrix(2.2600183,0,0,0.2752449,-2.2590409,-25.415382)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3771"
+       xlink:href="#linearGradient3207" />
+    <linearGradient
+       y2="57.15118"
+       x2="96.579895"
+       y1="54.119438"
+       x1="92.226158"
+       gradientTransform="matrix(0.9973012,0,0,0.9997782,0.28069,0.0106459)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3769"
+       xlink:href="#linearGradient5433" />
+    <linearGradient
+       y2="2.3657269"
+       x2="48.732723"
+       y1="0.81150496"
+       x1="48.498562"
+       gradientTransform="matrix(1.6732108,1.5189394,-1.5009523,1.6928488,18.675678,-24.465565)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3767"
+       xlink:href="#linearGradient3235" />
+    <linearGradient
+       y2="107.35519"
+       x2="24.450998"
+       y1="117.83894"
+       x1="33.342377"
+       gradientTransform="matrix(0.6182226,0,0,0.6232687,24.10803,47.993844)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3765"
+       xlink:href="#linearGradient2922" />
+    <radialGradient
+       r="47.595196"
+       fy="7.4622769"
+       fx="34.677639"
+       cy="7.4622769"
+       cx="34.677639"
+       gradientTransform="matrix(-1.5103,0.00264127,-1.167078e-4,-0.00911022,87.0522,7.438666)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3763"
+       xlink:href="#linearGradient3325" />
+    <linearGradient
+       y2="7.4622769"
+       x2="82.172836"
+       y1="7.4622769"
+       x1="-12.817558"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3761"
+       xlink:href="#linearGradient3303" />
+    <linearGradient
+       y2="-22.052734"
+       x2="100.65602"
+       y1="-22.560064"
+       x1="114.92793"
+       gradientTransform="matrix(0.9992082,0,0,0.9993395,0.1083622,-0.09037494)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3759"
+       xlink:href="#linearGradient5826" />
+    <linearGradient
+       y2="57.383999"
+       x2="14.493531"
+       y1="57.383999"
+       x1="11.326384"
+       gradientTransform="matrix(1.2875994,1.1737414,-0.5465891,0.6213041,81.686465,27.89447)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3757"
+       xlink:href="#linearGradient3058" />
+    <linearGradient
+       y2="87.154587"
+       x2="80.579521"
+       y1="83.325729"
+       x1="76.708534"
+       gradientTransform="matrix(0.9986497,0,0,0.9998891,0.1404398,0.00532324)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3755"
+       xlink:href="#linearGradient7364" />
+    <linearGradient
+       y2="77.047241"
+       x2="81.452583"
+       y1="72.804123"
+       x1="75.848022"
+       gradientTransform="matrix(0.9986497,0,0,0.9998891,0.1404398,0.00532324)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient5077"
+       xlink:href="#linearGradient2598" />
+    <radialGradient
+       r="3.406888"
+       fy="120.64188"
+       fx="42.617531"
+       cy="120.64188"
+       cx="42.617531"
+       gradientTransform="matrix(1.909059,1.8392116,-8.6222515,7.5766472,1009.8522,-881.36145)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient5075"
+       xlink:href="#linearGradient2257" />
+    <linearGradient
+       y2="93.999413"
+       x2="87.757362"
+       y1="79.998817"
+       x1="63.911137"
+       gradientTransform="matrix(1.3755238,0,0,1.8570645,-22.548199,-92.562977)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3749"
+       xlink:href="#linearGradient3291" />
+    <radialGradient
+       r="63.912209"
+       fy="115.70919"
+       fx="14.046639"
+       cy="115.70919"
+       cx="63.912209"
+       gradientTransform="matrix(1,0,0,0.197802,0,92.82166)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3747"
+       xlink:href="#linearGradient3291" />
+    <linearGradient
+       id="linearGradient5067">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop5069" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5071" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5061">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop5063" />
+      <stop
+         style="stop-color:#7f0000;stop-opacity:1;"
+         offset="1"
+         id="stop5065" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5049">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop5051" />
+      <stop
+         style="stop-color:#515151;stop-opacity:1;"
+         offset="1"
+         id="stop5053" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5043">
+      <stop
+         id="stop5045"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop5047"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5037">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.68345326;"
+         offset="0"
+         id="stop5039" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5041" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5031">
+      <stop
+         id="stop5033"
+         offset="0"
+         style="stop-color:#810000;stop-opacity:1;" />
+      <stop
+         id="stop5035"
+         offset="1"
+         style="stop-color:#c50000;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5019">
+      <stop
+         style="stop-color:#9a7600;stop-opacity:1;"
+         offset="0"
+         id="stop5021" />
+      <stop
+         id="stop5023"
+         offset="0.09292036"
+         style="stop-color:#e3ad00;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffcd2c;stop-opacity:1;"
+         offset="0.5043171"
+         id="stop5025" />
+      <stop
+         style="stop-color:#e3ad00;stop-opacity:1;"
+         offset="0.91571385"
+         id="stop5027" />
+      <stop
+         style="stop-color:#b98d00;stop-opacity:1;"
+         offset="1"
+         id="stop5029" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5013">
+      <stop
+         style="stop-color:#d4a100;stop-opacity:0.97647059;"
+         offset="0"
+         id="stop5015" />
+      <stop
+         style="stop-color:#ffc712;stop-opacity:1;"
+         offset="1"
+         id="stop5017" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5003">
+      <stop
+         style="stop-color:#252525;stop-opacity:1;"
+         offset="0"
+         id="stop5005" />
+      <stop
+         id="stop5007"
+         offset="0.29354507"
+         style="stop-color:#252525;stop-opacity:1;" />
+      <stop
+         style="stop-color:#252525;stop-opacity:1;"
+         offset="0.45366704"
+         id="stop5009" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop5011" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4997">
+      <stop
+         style="stop-color:#b4942a;stop-opacity:1;"
+         offset="0"
+         id="stop4999" />
+      <stop
+         style="stop-color:#e4dcc9;stop-opacity:1"
+         offset="1"
+         id="stop5001" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient4984"
+       cx="305.02731"
+       cy="-349"
+       r="34.178398"
+       gradientTransform="matrix(1.1658,0,0,-1,-353.77589,-376.98677)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#4b73ad;stop-opacity:1;"
+         id="stop4986" />
+      <stop
+         offset="1"
+         style="stop-color:#80B3FF"
+         id="stop4988" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient4978"
+       cx="354.85159"
+       cy="-426"
+       r="34.1791"
+       gradientTransform="matrix(1,0,0,-1,-359.20739,-378.98677)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#538BCF"
+         id="stop4980" />
+      <stop
+         offset="1"
+         style="stop-color:#80B3FF"
+         id="stop4982" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient4972"
+       cx="354.85159"
+       cy="-426"
+       r="34.1791"
+       gradientTransform="matrix(1,0,0,-1,-359.20739,-376.98677)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#538BCF"
+         id="stop4974" />
+      <stop
+         offset="1"
+         style="stop-color:#80B3FF"
+         id="stop4976" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient4960"
+       gradientUnits="userSpaceOnUse"
+       x1="354.68549"
+       y1="-601.27588"
+       x2="354.68549"
+       y2="-503.146"
+       gradientTransform="matrix(1,0,0,-0.6522,-359.42609,-340.63827)">
+      <stop
+         offset="0"
+         style="stop-color:#B3D9FF"
+         id="stop4962" />
+      <stop
+         offset="0.4863"
+         style="stop-color:#71A8F5"
+         id="stop4964" />
+      <stop
+         offset="0.7988"
+         style="stop-color:#2C72C7"
+         id="stop4966" />
+      <stop
+         offset="0.98"
+         style="stop-color:#2C72C7"
+         id="stop4968" />
+      <stop
+         offset="1"
+         style="stop-color:#DEEBFF"
+         id="stop4970" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4948"
+       gradientUnits="userSpaceOnUse"
+       x1="63.4995"
+       y1="-79.239304"
+       x2="63.4995"
+       y2="9.3268995"
+       gradientTransform="translate(-68.240592,44.013228)">
+      <stop
+         offset="0"
+         style="stop-color:#73A3E7"
+         id="stop4950" />
+      <stop
+         offset="0.1394"
+         style="stop-color:#83B1F5"
+         id="stop4952" />
+      <stop
+         offset="0.3689"
+         style="stop-color:#BCD6FC"
+         id="stop4954" />
+      <stop
+         offset="0.5007"
+         style="stop-color:#659FEE"
+         id="stop4956" />
+      <stop
+         offset="1"
+         style="stop-color:#0066FF"
+         id="stop4958" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.1754626,0,0,0.2980578,-307.41253,7.0194215)"
+       r="38"
+       fy="10"
+       fx="64"
+       cy="10"
+       cx="64"
+       id="radialGradient3460"
+       xlink:href="#linearGradient3448" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7621131,0,0,0.2593063,-280.95816,19.258036)"
+       r="38"
+       fy="26"
+       fx="64"
+       cy="26"
+       cx="64"
+       id="radialGradient3458"
+       xlink:href="#linearGradient3448" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.5941899,0,0,0.2205548,-270.21108,32.736698)"
+       r="38"
+       fy="42"
+       fx="64"
+       cy="42"
+       cx="64"
+       id="radialGradient3456"
+       xlink:href="#linearGradient3448" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2841778,0,0,0.2205548,-250.3703,45.20782)"
+       r="38"
+       fy="58"
+       fx="64"
+       cy="58"
+       cx="64"
+       id="radialGradient3454"
+       xlink:href="#linearGradient3448" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="122.91273"
+       x2="273.56915"
+       y1="-33.695843"
+       x1="305.35327"
+       id="linearGradient4940"
+       xlink:href="#linearGradient3303" />
+    <clipPath
+       id="clipPath4936"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         id="path4938"
+         d="m 240.04888,9 c -2.95344,0 -5.36008,2.347166 -5.36008,5.32684 v 96.93221 l 10.64004,10.65368 h 95.9992 c 2.95345,0 5.35982,-2.34717 5.35982,-5.32658 V 14.32684 C 346.68786,11.347166 344.28149,9 341.32804,9 Z"
+         style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+    </clipPath>
+    <linearGradient
+       y2="1895.421"
+       x2="-97.742668"
+       y1="1937.9885"
+       x1="-97.742668"
+       gradientTransform="matrix(2.5599786,0,0,2.5827101,158.24797,-4821.2784)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4934"
+       xlink:href="#linearGradient3174" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="119.03187"
+       x2="-43.770939"
+       y1="127.91319"
+       x1="-44.117901"
+       id="linearGradient4932"
+       xlink:href="#linearGradient3317" />
+    <linearGradient
+       gradientTransform="matrix(1,0,0,0.9545455,-232.18292,3.6363636)"
+       y2="76.315697"
+       x2="53.747078"
+       y1="122.13094"
+       x1="92.574883"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4930"
+       xlink:href="#linearGradient3270" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="130.6806"
+       x2="-44.802357"
+       y1="71.894066"
+       x1="-44.802357"
+       id="linearGradient4928"
+       xlink:href="#linearGradient3303" />
+    <linearGradient
+       y2="76.315697"
+       x2="53.747078"
+       y1="122.13094"
+       x1="92.574883"
+       gradientTransform="translate(-106.875)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4926"
+       xlink:href="#linearGradient3270" />
+    <clipPath
+       id="clipPath4922"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         style="opacity:1;fill:url(#linearGradient3293);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m -69.78125,80 c -0.599904,0 -1.09375,0.470333 -1.09375,1.0625 v 41.875 c 0,0.59217 0.493846,1.0625 1.09375,1.0625 h 60.6875 c 0.599904,0 1.093746,-0.47033 1.09375,-1.0625 V 81.0625 C -8,80.470333 -8.493846,80 -9.09375,80 Z"
+         id="path4924" />
+    </clipPath>
+    <linearGradient
+       gradientTransform="translate(-106.875)"
+       y2="76.315697"
+       x2="53.747078"
+       y1="122.13094"
+       x1="92.574883"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4920"
+       xlink:href="#linearGradient3270" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="76.315697"
+       x2="53.747078"
+       y1="122.13094"
+       x1="92.574883"
+       id="linearGradient4918"
+       xlink:href="#linearGradient3270" />
+    <linearGradient
+       y2="1947.2522"
+       x2="-103.92092"
+       y1="1930.9812"
+       x1="-103.92092"
+       gradientTransform="matrix(-2.6579135,0,0,-2.2846145,-427.87025,4455.3781)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3266"
+       xlink:href="#linearGradient3186" />
+    <linearGradient
+       y2="1939.0886"
+       x2="-103.92092"
+       y1="1924.9473"
+       x1="-103.92092"
+       gradientTransform="matrix(2.3917848,0,0,2.5674116,69.510078,-4858.699)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3264"
+       xlink:href="#linearGradient3186" />
+    <linearGradient
+       y2="1895.421"
+       x2="-97.742668"
+       y1="1937.9885"
+       x1="-97.742668"
+       gradientTransform="matrix(2.5599786,0,0,2.5827101,85.065988,-4887.3657)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3250"
+       xlink:href="#linearGradient3174" />
+    <linearGradient
+       id="linearGradient4909">
+      <stop
+         id="stop4911"
+         offset="0"
+         style="stop-color:#6b696a;stop-opacity:1;" />
+      <stop
+         id="stop4913"
+         offset="1"
+         style="stop-color:#6b696a;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4899">
+      <stop
+         id="stop4901"
+         offset="0"
+         style="stop-color:#2e2a2b;stop-opacity:1;" />
+      <stop
+         style="stop-color:#4c494a;stop-opacity:1;"
+         offset="0.33497536"
+         id="stop4903" />
+      <stop
+         id="stop4905"
+         offset="0.66748768"
+         style="stop-color:#5b595a;stop-opacity:1;" />
+      <stop
+         id="stop4907"
+         offset="1"
+         style="stop-color:#6b696a;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3186">
+      <stop
+         id="stop3188"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3190"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4888">
+      <stop
+         id="stop4890"
+         offset="0"
+         style="stop-color:#e3e2e6;stop-opacity:1" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.54117647;"
+         offset="0.5"
+         id="stop4892" />
+      <stop
+         id="stop4894"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4882">
+      <stop
+         id="stop4884"
+         offset="0"
+         style="stop-color:#a0a1a5;stop-opacity:1;" />
+      <stop
+         id="stop4886"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4864">
+      <stop
+         id="stop4866"
+         offset="0"
+         style="stop-color:#cac7dc;stop-opacity:1;" />
+      <stop
+         id="stop4868"
+         offset="1"
+         style="stop-color:#cac7dc;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient5826"
+       id="linearGradient5173"
+       gradientUnits="userSpaceOnUse"
+       x1="58.743717"
+       y1="78.411346"
+       x2="58.743717"
+       y2="-15.688621" />
+    <linearGradient
+       xlink:href="#linearGradient3499"
+       id="linearGradient5175"
+       gradientTransform="scale(1.0975951,0.9110828)"
+       x1="26.091133"
+       y1="14.856744"
+       x2="31.500689"
+       y2="14.856744"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3489"
+       id="linearGradient5177"
+       gradientTransform="scale(1.0975951,0.9110828)"
+       x1="26.091133"
+       y1="14.856744"
+       x2="31.500689"
+       y2="14.856744"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3489"
+       id="linearGradient5179"
+       gradientUnits="userSpaceOnUse"
+       x1="304.88663"
+       y1="385.86127"
+       x2="345.62039"
+       y2="384.62384" />
+    <linearGradient
+       xlink:href="#linearGradient5433"
+       id="linearGradient5181"
+       gradientUnits="userSpaceOnUse"
+       x1="55.007042"
+       y1="88.460976"
+       x2="55.007042"
+       y2="36.655769" />
+    <linearGradient
+       xlink:href="#linearGradient3366"
+       id="linearGradient5183"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(56.7)"
+       spreadMethod="reflect"
+       x1="31.90625"
+       y1="13.510336"
+       x2="34.875107"
+       y2="13.510336" />
+    <linearGradient
+       xlink:href="#linearGradient3163"
+       id="linearGradient5185"
+       gradientUnits="userSpaceOnUse"
+       x1="59.999996"
+       y1="92.973083"
+       x2="57.434441"
+       y2="55.07938" />
+    <radialGradient
+       xlink:href="#linearGradient3575"
+       id="radialGradient5187"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4576062,0,0,0.782313,-19.847694,18.82067)"
+       cx="-36.592777"
+       cy="90.072952"
+       fx="-36.592777"
+       fy="90.072952"
+       r="25.986174" />
+    <linearGradient
+       xlink:href="#linearGradient3366"
+       id="linearGradient5189"
+       gradientUnits="userSpaceOnUse"
+       x1="47.264141"
+       y1="21.738457"
+       x2="47.264141"
+       y2="70.357269" />
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient5191"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.0125,1.25)"
+       x1="63.174049"
+       y1="10.40386"
+       x2="63.174042"
+       y2="61.87199" />
+    <linearGradient
+       xlink:href="#linearGradient3397"
+       id="linearGradient5193"
+       gradientTransform="scale(1.4176659,0.7053848)"
+       x1="68.313011"
+       y1="109.97649"
+       x2="51.544849"
+       y2="32.750854"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient5195"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.3)"
+       spreadMethod="reflect"
+       x1="31.90625"
+       y1="13.510336"
+       x2="34.875107"
+       y2="13.510336" />
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient5197"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(56.7)"
+       spreadMethod="reflect"
+       x1="31.90625"
+       y1="13.510336"
+       x2="34.875107"
+       y2="13.510336" />
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient5202"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.5519938,-0.5519938,0.5519938,0.5519938,106.62882,77.079228)"
+       x1="63.174049"
+       y1="10.40386"
+       x2="63.174042"
+       y2="61.87199" />
+    <linearGradient
+       xlink:href="#linearGradient3366"
+       id="linearGradient5205"
+       gradientUnits="userSpaceOnUse"
+       x1="47.264141"
+       y1="21.738457"
+       x2="47.264141"
+       y2="70.357269"
+       gradientTransform="matrix(0.5519938,-0.5519938,0.5519938,0.5519938,105.93193,76.396136)" />
+    <linearGradient
+       xlink:href="#linearGradient3397"
+       id="linearGradient5208"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7825428,-0.7825428,0.389368,0.389368,105.93193,76.396136)"
+       x1="68.313011"
+       y1="109.97649"
+       x2="51.544849"
+       y2="32.750854" />
+    <linearGradient
+       xlink:href="#linearGradient5433"
+       id="linearGradient5214"
+       gradientUnits="userSpaceOnUse"
+       x1="55.007042"
+       y1="88.460976"
+       x2="55.007042"
+       y2="36.655769"
+       gradientTransform="matrix(0.5519938,-0.5519938,0.5519938,0.5519938,105.93193,76.396136)" />
+    <linearGradient
+       xlink:href="#linearGradient5826"
+       id="linearGradient5221"
+       gradientUnits="userSpaceOnUse"
+       x1="58.743717"
+       y1="78.411346"
+       x2="58.743717"
+       y2="-15.688621"
+       gradientTransform="matrix(0.5519938,-0.5519938,0.5519938,0.5519938,105.93193,76.396136)" />
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient5223"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(56.7)"
+       spreadMethod="reflect"
+       x1="31.90625"
+       y1="13.510336"
+       x2="34.875107"
+       y2="13.510336" />
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient5225"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.3)"
+       spreadMethod="reflect"
+       x1="31.90625"
+       y1="13.510336"
+       x2="34.875107"
+       y2="13.510336" />
+    <linearGradient
+       xlink:href="#linearGradient3499"
+       id="linearGradient5227"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.0975951,0.9110828)"
+       x1="26.091133"
+       y1="14.856744"
+       x2="31.500689"
+       y2="14.856744" />
+    <linearGradient
+       xlink:href="#linearGradient3366"
+       id="linearGradient5229"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(56.7)"
+       spreadMethod="reflect"
+       x1="31.90625"
+       y1="13.510336"
+       x2="34.875107"
+       y2="13.510336" />
+    <linearGradient
+       xlink:href="#linearGradient3489"
+       id="linearGradient5231"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.0975951,0.9110828)"
+       x1="26.091133"
+       y1="14.856744"
+       x2="31.500689"
+       y2="14.856744" />
+    <linearGradient
+       xlink:href="#linearGradient3489"
+       id="linearGradient5233"
+       gradientUnits="userSpaceOnUse"
+       x1="304.88663"
+       y1="385.86127"
+       x2="345.62039"
+       y2="384.62384" />
+    <linearGradient
+       xlink:href="#linearGradient3499"
+       id="linearGradient5253"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.0975951,0.9110828)"
+       x1="26.091133"
+       y1="14.856744"
+       x2="31.500689"
+       y2="14.856744" />
+    <linearGradient
+       xlink:href="#linearGradient3489"
+       id="linearGradient5255"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="scale(1.0975951,0.9110828)"
+       x1="26.091133"
+       y1="14.856744"
+       x2="31.500689"
+       y2="14.856744" />
+    <linearGradient
+       xlink:href="#linearGradient3489"
+       id="linearGradient5257"
+       gradientUnits="userSpaceOnUse"
+       x1="304.88663"
+       y1="385.86127"
+       x2="345.62039"
+       y2="384.62384" />
+    <linearGradient
+       xlink:href="#linearGradient3366"
+       id="linearGradient5261"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(56.7)"
+       spreadMethod="reflect"
+       x1="31.90625"
+       y1="13.510336"
+       x2="34.875107"
+       y2="13.510336" />
+    <linearGradient
+       xlink:href="#linearGradient3163"
+       id="linearGradient5263"
+       gradientUnits="userSpaceOnUse"
+       x1="59.999996"
+       y1="92.973083"
+       x2="57.434441"
+       y2="55.07938" />
+    <radialGradient
+       xlink:href="#linearGradient3575"
+       id="radialGradient5265"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4576062,0,0,0.782313,-19.847694,18.82067)"
+       cx="-36.592777"
+       cy="90.072952"
+       fx="-36.592777"
+       fy="90.072952"
+       r="25.986174" />
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient5273"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.3)"
+       spreadMethod="reflect"
+       x1="31.90625"
+       y1="13.510336"
+       x2="34.875107"
+       y2="13.510336" />
+    <linearGradient
+       xlink:href="#linearGradient3207"
+       id="linearGradient5275"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(56.7)"
+       spreadMethod="reflect"
+       x1="31.90625"
+       y1="13.510336"
+       x2="34.875107"
+       y2="13.510336" />
+    <linearGradient
+       xlink:href="#linearGradient4179"
+       id="linearGradient3188"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.44888944,0,0,0.44888944,-2.9247893,-2.3734471)"
+       x1="57.654171"
+       y1="71.824867"
+       x2="56.770992"
+       y2="20.362558" />
+    <linearGradient
+       xlink:href="#linearGradient3366"
+       id="linearGradient3191"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.44888944,0,0,0.44888944,-2.9303992,-2.9345578)"
+       x1="47.264141"
+       y1="21.738457"
+       x2="47.264141"
+       y2="70.357269" />
+    <linearGradient
+       xlink:href="#linearGradient3397"
+       id="linearGradient3194"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.63637523,0,0,0.31663974,-2.9303992,-2.9345578)"
+       x1="68.313011"
+       y1="109.97649"
+       x2="51.544849"
+       y2="32.750854" />
+    <linearGradient
+       xlink:href="#linearGradient5433"
+       id="linearGradient3200"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.44888944,0,0,0.44888944,-2.9303992,-2.9345578)"
+       x1="55.007042"
+       y1="88.460976"
+       x2="55.007042"
+       y2="36.655769" />
+    <linearGradient
+       xlink:href="#linearGradient5826"
+       id="linearGradient3208"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.44888944,0,0,0.44888944,-2.9303992,-2.9345578)"
+       x1="58.743717"
+       y1="78.411346"
+       x2="58.743717"
+       y2="-15.688621" />
+  </defs>
+  <metadata
+     id="metadata2611">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <g
+       transform="matrix(0.46071815,0,0,0.46071815,93.537268,-51.702018)"
+       id="g3232" />
+    <g
+       transform="matrix(0.46071815,0,0,0.46071815,93.537268,-51.702018)"
+       id="g4591" />
+    <path
+       style="fill:url(#linearGradient3208);fill-opacity:1;stroke:none;stroke-width:3.68575;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1"
+       d="m 11.279757,1.8910053 c -0.467884,0.00374 -0.91583,0.1899716 -1.248473,0.5190278 L 2.4141908,10.027126 c -0.700931,0.701216 -0.7009292,1.837812 -1.8e-6,2.539029 L 13.832817,23.99881 2.4141916,35.431463 c -0.70093,0.701214 -0.70093,1.837812 0,2.539026 l 7.6170924,7.617092 c 0.701215,0.700931 1.837813,0.700931 2.539031,4e-6 L 24.002968,34.168962 35.435619,45.587585 c 0.701218,0.700927 1.837813,0.700927 2.539029,-4e-6 l 7.617093,-7.617091 c 0.700928,-0.701215 0.700928,-1.837811 0,-2.539029 L 34.173119,23.99881 45.591746,12.566158 c 0.700923,-0.70122 0.700923,-1.837816 -5e-6,-2.539033 L 37.974649,2.4100322 C 37.273432,1.7091039 36.136837,1.7091021 35.43562,2.410034 L 24.002968,13.828659 12.570313,2.4100313 C 12.227326,2.0706664 11.762203,1.8836066 11.279757,1.8910053 Z M 25.279495,30.353399 c -0.337298,-0.340914 -0.79695,-0.532745 -1.276527,-0.532745 -0.479577,0 -0.939232,0.19183 -1.27653,0.532747 z"
+       id="path3300" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.493731px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3549)"
+       d="M -62.57895,106.7868 -36.415999,79.916739 -10.606602,106.43324 -36.415999,66.128157 Z"
+       id="path3507"
+       clip-path="url(#clipPath3559)"
+       transform="matrix(0.44888944,0,0,0.44888944,40.261773,-2.9345596)" />
+    <path
+       id="path5159"
+       d="m 31.7,16 2.875,-3.375 c -1.051205,-1.695758 -3.935136,-2.288018 -5.9375,-0.3125 l 2.8125,3.375 z"
+       style="opacity:0.498127;fill:url(#linearGradient5253);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3477)"
+       transform="matrix(0,0.83683808,-0.83683808,0,54.664654,10.260166)" />
+    <path
+       id="path3485"
+       d="m 31.7,16 2.875,-3.375 c -1.051205,-1.695758 -3.935136,-2.288018 -5.9375,-0.3125 l 2.8125,3.375 z"
+       style="opacity:0.790262;fill:url(#linearGradient5255);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3477)"
+       transform="matrix(0.82644456,0,0,-0.82644456,-14.824868,54.841142)" />
+    <path
+       transform="matrix(0,0.7577982,0.7577982,0,-5.8167206,12.750233)"
+       style="opacity:0.498127;fill:url(#linearGradient5257);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3477)"
+       d="m 31.7,16 2.875,-3.375 c -1.051205,-1.695758 -3.935136,-2.288018 -5.9375,-0.3125 l 2.8125,3.375 z"
+       id="path3493" />
+    <path
+       style="opacity:0.921348;fill:url(#linearGradient3200);fill-opacity:1;stroke:none;stroke-width:0.32214;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:0"
+       d="M 36.699477,5.3108209 24.002966,18.007331 11.306457,5.3108227 5.3149804,11.3023 18.011489,23.998809 5.3149768,36.69532 11.306457,42.686793 24.002965,29.990285 36.699475,42.686793 42.690949,36.695317 29.994443,23.998808 42.690949,11.302299 Z"
+       id="rect2323" />
+    <path
+       style="opacity:0.790262;fill:url(#linearGradient5261);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3477)"
+       d="m 88.7,16 2.875,-3.375 c -1.051205,-1.695758 -3.935136,-2.288018 -5.9375,-0.3125 l 2.8125,3.375 z"
+       id="path3487"
+       transform="matrix(0.7577982,0,0,-0.7577982,-30.270038,54.192704)" />
+    <path
+       transform="matrix(0.44888944,0,0,-0.44888944,40.261775,50.720478)"
+       clip-path="url(#clipPath3559)"
+       id="path3565"
+       d="M -62.57895,106.7868 -36.415999,79.916739 -10.606602,106.43324 -36.415999,66.128157 Z"
+       style="fill:url(#radialGradient5265);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3549)" />
+    <path
+       style="opacity:0.790262;fill:url(#linearGradient5273);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3477)"
+       d="m 31.7,16 2.875,-3.375 c -1.051205,-1.695758 -3.935136,-2.288018 -5.9375,-0.3125 l 2.8125,3.375 z"
+       id="path3403"
+       transform="matrix(0.68915183,0,0,0.68915183,-10.499605,-5.2040965)" />
+    <path
+       id="path3481"
+       d="m 88.7,16 2.875,-3.375 c -1.051205,-1.695758 -3.935136,-2.288018 -5.9375,-0.3125 l 2.8125,3.375 z"
+       style="opacity:0.790262;fill:url(#linearGradient5275);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3477)"
+       transform="matrix(0.70752187,0,0,0.70752187,-25.820382,-5.3776212)" />
+    <path
+       id="path3328"
+       d="M 88.284271,18.368396 60,46.652666 31.715729,18.368396 18.368396,31.715729 46.652666,60 18.368396,88.284271 31.715729,101.63161 60,73.347334 88.284271,101.63161 101.63161,88.284271 73.347334,60 101.63161,31.715729 Z"
+       style="opacity:0.921348;fill:none;fill-opacity:1;stroke:url(#linearGradient5263);stroke-width:1.53953;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3354)"
+       transform="matrix(0.44888944,0,0,0.44888944,-2.9303992,-2.9345578)" />
+    <path
+       style="fill:url(#linearGradient3194);fill-opacity:1;stroke:none;stroke-width:0.46779;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+       d="M 11.299653,5.2819435 10.962985,5.6186112 5.30899,11.272606 11.187429,5.8430542 24.003573,18.00866 36.577737,5.8430542 41.614514,10.879828 c -0.04405,0.227833 -0.103529,0.448804 -0.168337,0.673334 l -5.457208,6.354989 c -4.921766,2.453693 -11.784508,4.873997 -19.162762,4.881673 l 0.126247,0.126247 c 0.211691,0.0025 0.418413,0.01403 0.631255,0.01403 7.4004,-1e-6 12.489091,-1.52399 17.423314,-3.983894 l 7.252768,-7.252771 c 0.02986,-0.10346 0.05756,-0.205643 0.08417,-0.308612 0.03114,-0.120492 0.06041,-0.241868 0.08417,-0.36472 L 36.689959,5.281939 36.353292,5.6186067 24.003571,18.008655 Z"
+       id="path3374" />
+    <path
+       style="fill:url(#linearGradient3191);fill-opacity:1;stroke:none;stroke-width:0.46779;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+       d="M 11.307811,5.3129899 5.3171485,11.303653 16.960617,22.947122 c 0.211685,0.0025 0.418408,0.01403 0.63125,0.01403 7.400401,-10e-7 12.489092,-1.52399 17.423316,-3.983894 l 7.252772,-7.252765 c 0.06481,-0.224532 0.124279,-0.445504 0.168332,-0.673337 L 36.69812,5.3129908 24.002966,18.008146 Z"
+       id="path5167" />
+    <path
+       id="path3399"
+       d="M 11.299653,5.2819435 10.962985,5.6186112 5.30899,11.272606 11.187429,5.8430542 24.006523,18.855536 l -0.0029,-0.846876 0.0045,0.840355 12.569704,-13.0059608 5.036777,5.0367738 c -0.04405,0.227833 -0.103528,0.448804 -0.168338,0.673334 l -5.457207,6.354989 c -4.921853,2.453693 -11.784594,4.873997 -19.162849,4.881673 l 0.126248,0.126247 c 0.21169,0.0025 0.418412,0.01403 0.631254,0.01403 7.4004,-1e-6 12.489092,-1.52399 17.423315,-3.983894 l 7.252759,-7.252771 c 0.02986,-0.10346 0.05756,-0.205643 0.08417,-0.308612 0.03114,-0.120492 0.06041,-0.241868 0.08417,-0.36472 L 36.689954,5.281939 36.353287,5.6186067 24.003566,18.008655 Z"
+       style="fill:url(#linearGradient3188);fill-opacity:1;stroke:none;stroke-width:0.46779;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+  </g>
+  <g
+     id="g5368" />
+</svg>
diff --git a/flags/standard/edit-undo.svg b/flags/standard/edit-undo.svg
new file mode 100644 (file)
index 0000000..3f0b242
--- /dev/null
@@ -0,0 +1,621 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   version="1.0"
+   id="svg2606"
+   height="48"
+   width="48">
+  <defs
+     id="defs2608">
+    <linearGradient
+       id="linearGradient3342">
+      <stop
+         id="stop3344"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3347"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3326">
+      <stop
+         id="stop3328"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3330"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3825">
+      <stop
+         id="stop3827"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.18705036;"
+         offset="0.5"
+         id="stop3833" />
+      <stop
+         id="stop3829"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:#beba2c;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:#b6be2c;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3528">
+      <stop
+         id="stop3530"
+         offset="0"
+         style="stop-color:#eaf209;stop-opacity:1;" />
+      <stop
+         id="stop3532"
+         offset="1"
+         style="stop-color:#c7c634;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3295">
+      <stop
+         id="stop3297"
+         offset="0"
+         style="stop-color:#fffe63;stop-opacity:1;" />
+      <stop
+         id="stop3299"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3202">
+      <stop
+         id="stop3204"
+         offset="0"
+         style="stop-color:#fcff9c;stop-opacity:1;" />
+      <stop
+         id="stop3206"
+         offset="1"
+         style="stop-color:#c1a965;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="XMLID_4_">
+      <stop
+         id="stop3082"
+         style="stop-color:#cfd13d;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop3090"
+         style="stop-color:#db8900;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient3260">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3262" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3264" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3344">
+      <stop
+         style="stop-color:#fdff63;stop-opacity:1;"
+         offset="0"
+         id="stop3346" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3348" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3449">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3451" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3453" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="123.90625"
+       x2="8.083992"
+       y1="33.40625"
+       x1="147.09375"
+       id="linearGradient3516"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="116.90625"
+       fx="67.09375"
+       cy="116.90625"
+       cx="67.09375"
+       id="radialGradient3524"
+       xlink:href="#XMLID_4_" />
+    <radialGradient
+       gradientTransform="matrix(0.693735,0.05867125,-0.0362428,0.4285387,33.939389,26.8809)"
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="68.231934"
+       fx="64.689766"
+       cy="27.418272"
+       cx="99.726295"
+       id="radialGradient3535"
+       xlink:href="#linearGradient3528" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       id="linearGradient3548"
+       xlink:href="#linearGradient3295" />
+    <linearGradient
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       gradientTransform="translate(0.00421611,0.00197057)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3581"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       gradientTransform="translate(-137)"
+       gradientUnits="userSpaceOnUse"
+       y2="63.426777"
+       x2="208.59375"
+       y1="130.40625"
+       x1="208.59375"
+       id="linearGradient3613"
+       xlink:href="#linearGradient3295" />
+    <filter
+       id="filter3639">
+      <feGaussianBlur
+         id="feGaussianBlur3641"
+         stdDeviation="1.0580524" />
+    </filter>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4582893,-2.1035589e-8,4.5903973e-8,1.0000813,20.447953,-0.00519744)"
+       r="59.995121"
+       fy="66.906013"
+       fx="-10.165252"
+       cy="66.906013"
+       cx="-10.165252"
+       id="radialGradient3654"
+       xlink:href="#linearGradient3449" />
+    <radialGradient
+       r="59.995121"
+       fy="80.404922"
+       fx="167.67001"
+       cy="80.404922"
+       cx="167.67001"
+       gradientTransform="matrix(0.2676699,0.521376,-0.7037472,0.3612977,108.99386,-36.062981)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3658"
+       xlink:href="#linearGradient3449" />
+    <linearGradient
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       y2="14.444496"
+       x2="125.30366"
+       y1="12.569496"
+       x1="120.0625"
+       id="linearGradient3676"
+       xlink:href="#linearGradient3260" />
+    <filter
+       id="filter3738"
+       height="1.2746474"
+       y="-0.13732363"
+       width="1.301924"
+       x="-0.15096202">
+      <feGaussianBlur
+         id="feGaussianBlur3740"
+         stdDeviation="0.39257441" />
+    </filter>
+    <radialGradient
+       r="59.995121"
+       fy="26.862719"
+       fx="74.871155"
+       cy="48.228905"
+       cx="72.684891"
+       gradientTransform="matrix(0.982366,0.01671718,-0.00358011,0.2103843,-18.56344,30.477792)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3744"
+       xlink:href="#linearGradient3449" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.675025,0,0,0.3583625,19.527377,41.004647)"
+       r="59.995121"
+       fy="126.69183"
+       fx="66.01458"
+       cy="126.69183"
+       cx="66.01458"
+       id="radialGradient3757"
+       xlink:href="#linearGradient3751" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3093869,0,0,0.4779247,44.260611,3.8644223)"
+       r="59.995121"
+       fy="7.4108429"
+       fx="64.088867"
+       cy="7.4108429"
+       cx="64.088867"
+       id="radialGradient3767"
+       xlink:href="#linearGradient3260" />
+    <linearGradient
+       y2="14.444496"
+       x2="125.30366"
+       y1="12.569496"
+       x1="120.0625"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3771"
+       xlink:href="#linearGradient3344" />
+    <filter
+       id="filter3438">
+      <feGaussianBlur
+         id="feGaussianBlur3440"
+         stdDeviation="1.3342697" />
+    </filter>
+    <filter
+       id="filter3630">
+      <feGaussianBlur
+         id="feGaussianBlur3632"
+         stdDeviation="0.89883985" />
+    </filter>
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2361"
+       xlink:href="#linearGradient3825" />
+    <linearGradient
+       y2="57.25"
+       x2="-152.26776"
+       y1="37.68198"
+       x1="-151.43935"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2363"
+       xlink:href="#linearGradient3326" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="39.803303"
+       x1="-132.51041"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2365"
+       xlink:href="#linearGradient3326" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="44.753052"
+       x1="-83.012932"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2367"
+       xlink:href="#linearGradient3326" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="86.125"
+       x2="-163"
+       y1="105.625"
+       x1="-73"
+       id="linearGradient3349"
+       xlink:href="#linearGradient3342" />
+    <filter
+       id="filter3363"
+       height="1.2042203"
+       y="-0.10211017"
+       width="1.1754827"
+       x="-0.087741368">
+      <feGaussianBlur
+         id="feGaussianBlur3365"
+         stdDeviation="3.0526685" />
+    </filter>
+    <linearGradient
+       y2="92.603989"
+       x2="-138.0043"
+       y1="137.13324"
+       x1="-83.593941"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3372"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="112.70422"
+       x2="-136.51074"
+       y1="99.979607"
+       x1="-61.802711"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3376"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3388"
+       xlink:href="#linearGradient3825" />
+    <linearGradient
+       y2="57.25"
+       x2="-152.26776"
+       y1="37.68198"
+       x1="-151.43935"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3390"
+       xlink:href="#linearGradient3326" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="39.803303"
+       x1="-132.51041"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3392"
+       xlink:href="#linearGradient3326" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="44.753052"
+       x1="-83.012932"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3394"
+       xlink:href="#linearGradient3326" />
+    <linearGradient
+       y2="86.125"
+       x2="-163"
+       y1="105.625"
+       x1="-73"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3396"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="92.603989"
+       x2="-138.0043"
+       y1="137.13324"
+       x1="-83.593941"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3398"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="112.70422"
+       x2="-136.51074"
+       y1="99.979607"
+       x1="-61.802711"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3400"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3422"
+       xlink:href="#linearGradient3825" />
+    <linearGradient
+       y2="57.25"
+       x2="-152.26776"
+       y1="37.68198"
+       x1="-151.43935"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3424"
+       xlink:href="#linearGradient3326" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="39.803303"
+       x1="-132.51041"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3426"
+       xlink:href="#linearGradient3326" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="44.753052"
+       x1="-83.012932"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3428"
+       xlink:href="#linearGradient3326" />
+    <linearGradient
+       y2="86.125"
+       x2="-163"
+       y1="105.625"
+       x1="-73"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3430"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="92.603989"
+       x2="-138.0043"
+       y1="137.13324"
+       x1="-83.593941"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3432"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="112.70422"
+       x2="-136.51074"
+       y1="99.979607"
+       x1="-61.802711"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3434"
+       xlink:href="#linearGradient3342" />
+    <mask
+       id="mask3402"
+       maskUnits="userSpaceOnUse">
+      <g
+         transform="translate(167.50257,-0.00375516)"
+         id="g3404">
+        <g
+           transform="translate(80.51637,30.885255)"
+           id="g3406">
+          <path
+             id="path3408"
+             d="m -184.42232,-32.47243 c -33.12519,0 -64,32.374805 -64,65.5 0,33.12519 31.37481,64 64.5,64 30.28912,0 55.33661,-26.21626 59.40625,-55.34375 l -35.03125,-5.03125 c -1.62468,11.96113 -11.93007,20.96875 -24.375,20.96875 -13.57163,0 -22.09375,-11.52212 -22.09375,-25.09375 0,-13.571634 6.02212,-20.09375 19.59375,-20.09375 6.78582,-1e-6 9.92129,-2.234956 14.375,2.21875 l -4.82718,11.327179 c -2.05587,2.05587 -2.24372,3.30578 -1.67961,4.615529 0.50857,1.180779 1.52073,2.526042 4.20973,2.526042 h 43.95331 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.843229 -2.18147,-4.349615 -1.31432,-0.520385 -3.03321,-0.122678 -5.10709,1.9512 l -10.19531,0.195314 c -10.85935,-10.859351 -26.3749,-13.0625 -42.9375,-13.0625 z"
+             style="opacity:1;fill:url(#radialGradient3422);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+          <path
+             id="path3410"
+             d="M -161.5,34.5 C -162,37 -180,54 -180,54 l 47.5,26 20.5,-41.5 z"
+             style="fill:url(#linearGradient3424);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+          <path
+             style="fill:url(#linearGradient3426);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             id="path3412" />
+          <path
+             id="path3414"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             style="fill:url(#linearGradient3428);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+        </g>
+        <rect
+           style="opacity:1;fill:url(#linearGradient3430);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           id="rect3416"
+           width="83.5"
+           height="71.75"
+           x="-119"
+           y="69.75" />
+        <path
+           transform="rotate(50.254681,-117.75,104.12499)"
+           style="fill:url(#linearGradient3432);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           id="path3418" />
+        <path
+           id="path3420"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           style="fill:url(#linearGradient3434);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           transform="rotate(50.254681,-117.75,104.12499)" />
+      </g>
+    </mask>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="18.103027"
+       x2="-33.476654"
+       y1="18.103027"
+       x1="-267.47665"
+       id="linearGradient3565"
+       xlink:href="#linearGradient3751" />
+    <linearGradient
+       y2="63.426777"
+       x2="208.59375"
+       y1="130.40625"
+       x1="208.59375"
+       gradientTransform="translate(-137)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3567"
+       xlink:href="#linearGradient3295" />
+  </defs>
+  <metadata
+     id="metadata2611">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     transform="matrix(0.34716023,0,0,0.34716023,2.9958402,1.472076)">
+    <g
+       transform="translate(-7.7264404e-6)"
+       mask="url(#mask3402)"
+       id="g3835">
+      <path
+         style="opacity:1;fill:url(#linearGradient3516);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         id="rect3204" />
+      <path
+         id="path3749"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         style="opacity:0.797753;fill:url(#radialGradient3757);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+      <path
+         style="opacity:0.689139;fill:url(#radialGradient3658);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         id="path3656" />
+      <path
+         id="path3643"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         style="opacity:1;fill:url(#radialGradient3654);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+      <path
+         style="opacity:0.797753;fill:url(#radialGradient3744);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         id="path3742" />
+      <path
+         id="path3759"
+         d="m 64.09375,4.20625 c -33.125192,-10e-8 -60.0000001,26.574805 -60,59.7 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,4.20625 64.09375,4.20625 Z"
+         style="opacity:0.745318;fill:url(#radialGradient3767);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3630)" />
+      <path
+         style="opacity:0.820225;fill:url(#linearGradient3676);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3738)"
+         d="m 117.6875,10.75 0.9375,4.375 1.25,0.875 4,-2.625 c 0.24688,-1.723751 -0.35117,-3.347429 -1.9375,-4.0000001 -1.58634,-0.6525714 -3.16128,0.1267033 -4.25,1.3750001 z"
+         id="path3660" />
+      <path
+         id="path3769"
+         d="m 117.6875,10.75 2.1875,3.125 0.5,-0.125 3.5,-0.375 c 0.24688,-1.723751 -0.35117,-3.347429 -1.9375,-4.0000001 -1.58634,-0.6525714 -3.16128,0.1267033 -4.25,1.3750001 z"
+         style="opacity:0.820225;fill:url(#linearGradient3771);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3738)"
+         transform="matrix(0,1,1,0,60.363582,-60.363586)" />
+      <path
+         style="opacity:1;fill:url(#radialGradient3524);fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 64.09375,7.90625 c -30.961698,-1e-7 -56.0000001,25.038299 -56,56 10e-8,30.961698 25.038304,56 56,56 26.932896,0 49.12173,-18.80675 54.53125,-44 L 91.5,72.03125 C 88.061436,83.928551 77.059621,92.5 64.09375,92.5 48.356404,92.499999 35.5,79.643599 35.5,63.90625 35.500001,48.168899 48.356402,35.3125 64.09375,35.3125 c 7.872416,-10e-7 15.051554,3.207804 20.21875,8.375 0.759464,0.751409 1.187497,1.775386 1.1875,2.84375 0,1.068364 -0.428036,2.092341 -1.1875,2.84375 L 73.6875,60 h 43.9375 c 2.00539,0 2.46875,-0.592164 2.46875,-2.25 L 120,13.65625 109.375,24.3125 c -0.75141,0.759464 -1.77539,1.1875 -2.84375,1.1875 -1.06836,0 -2.09234,-0.428036 -2.84375,-1.1875 C 93.549835,14.174833 79.577106,7.90625 64.09375,7.90625 Z"
+         id="path3494" />
+      <path
+         id="path3526"
+         d="m 64.09375,7.90625 c -30.961698,-1e-7 -56.0000001,25.038299 -56,56 10e-8,30.961698 25.038304,56 56,56 26.932896,0 49.12173,-18.80675 54.53125,-44 L 91.5,72.03125 C 88.061436,83.928551 77.059621,92.5 64.09375,92.5 48.356404,92.499999 35.5,79.643599 35.5,63.90625 35.500001,48.168899 48.356402,35.3125 64.09375,35.3125 c 7.872416,-10e-7 15.051554,3.207804 20.21875,8.375 0.759464,0.751409 1.187497,1.775386 1.1875,2.84375 0,1.068364 -0.428036,2.092341 -1.1875,2.84375 L 73.6875,60 h 43.9375 c 2.00539,0 2.46875,-0.592164 2.46875,-2.25 L 120,13.65625 109.375,24.3125 c -0.75141,0.759464 -1.77539,1.1875 -2.84375,1.1875 -1.06836,0 -2.09234,-0.428036 -2.84375,-1.1875 C 93.549835,14.174833 79.577106,7.90625 64.09375,7.90625 Z"
+         style="opacity:1;fill:url(#radialGradient3535);fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+      <path
+         style="opacity:1;fill:url(#linearGradient3548);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 64.09375,7.90625 c -30.961698,-1e-7 -56.0000001,25.038299 -56,56 0,0.567872 0.014522,1.123731 0.03125,1.6875 5.98947,0.677652 12.141218,1.15013 18.40625,1.40625 -0.270702,-10.459042 3.671609,-20.974916 11.8125,-28.78125 15.339317,-14.708937 39.728563,-14.214319 54.4375,1.125 2.763849,2.882296 4.756602,5.688367 6.5625,9.25 L 78.84375,59 H 98 c 7.9282,-2.026627 15.18621,-3.436967 22.09375,-6.1875 L 120,13.65625 109.375,24.3125 c -0.75141,0.759464 -1.77539,1.1875 -2.84375,1.1875 -1.06836,0 -2.09234,-0.428036 -2.84375,-1.1875 C 93.549835,14.174833 79.577106,7.90625 64.09375,7.90625 Z"
+         id="path3537" />
+      <path
+         style="opacity:1;fill:url(#linearGradient3581);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 64.099866,7.9087646 c -30.96169,-2e-7 -55.9999999,25.0382984 -55.9999999,55.9999994 10e-6,0.178712 -0.00249,0.354295 0,0.53125 C 8.3531061,33.696509 33.295846,8.9087645 64.099866,8.9087646 c 15.48337,-10e-8 29.45608,6.2685824 39.593744,16.4062494 0.75142,0.759465 1.77539,1.1875 2.84375,1.1875 1.06837,10e-7 2.09234,-0.428036 2.84375,-1.1875 l 10.125,-10.15625 0.49375,37.55 c -6.90754,2.75053 -14.56555,3.86086 -22.493744,5.8875 l -18.65625,0.40625 h 19.15625 c 7.928194,-2.02663 15.186204,-3.43697 22.093744,-6.1875 l -0.0937,-38.15625 v -1 l -0.5,0.5 -10.125,10.15625 c -0.7514,0.759465 -1.77539,1.1875 -2.84375,1.1875 -1.06835,10e-7 -2.09234,-0.428036 -2.84375,-1.1875 -0.0105,-0.01047 -0.0208,-0.02079 -0.0312,-0.03125 -0.0524,-0.05229 -0.10367,-0.104166 -0.15625,-0.15625 -0.5738,-0.567871 -1.15087,-1.11515 -1.75,-1.65625 -0.0815,-0.07412 -0.16804,-0.145107 -0.25,-0.21875 C 91.590066,13.342335 78.496526,7.9087646 64.099866,7.9087646 Z m -0.65625,19.2187494 c -9.23817,0.25052 -18.40344,3.79268 -25.59375,10.6875 -7.63208,7.318434 -11.12755,17.372917 -11.3125,27.21875 0.23988,-9.80188 4.18042,-19.494066 11.8125,-26.8125 13.31613,-12.7689 33.45333,-14.098057 48.15625,-4.1875 -6.87906,-4.805074 -14.98746,-7.12523 -23.0625,-6.90625 z"
+         id="path3553" />
+      <path
+         style="opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3567);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3639)"
+         d="m 63.59375,7.90625 c -30.9617,-1e-7 -56,25.038299 -56,56 0,30.961698 25.0383,56 56,56 26.9329,0 49.12173,-18.80675 54.53125,-44 L 91,72.03125 C 87.56144,83.928551 76.55962,92.5 63.59375,92.5 47.8564,92.499999 35,79.643599 35,63.90625 35,48.168899 47.8564,35.3125 63.59375,35.3125 c 7.87242,-10e-7 15.05155,3.207804 20.21875,8.375 C 84.57196,44.438909 85,45.462886 85,46.53125 85,47.599614 84.57196,48.623591 83.8125,49.375 L 73.1875,60 h 43.9375 c 2.00539,0 2.46875,-0.592164 2.46875,-2.25 L 119.5,13.65625 108.875,24.3125 c -0.75141,0.759464 -1.77539,1.1875 -2.84375,1.1875 -1.06836,0 -2.09234,-0.428036 -2.84375,-1.1875 C 93.04984,14.174833 79.07711,7.90625 63.59375,7.90625 Z"
+         id="path3603" />
+    </g>
+  </g>
+</svg>
diff --git a/flags/standard/emblem-favorite.svg b/flags/standard/emblem-favorite.svg
new file mode 100644 (file)
index 0000000..95f49c8
--- /dev/null
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="48"
+   height="48"
+   id="svg1307"
+   version="1.0">
+  <defs
+     id="defs1309">
+    <linearGradient
+       id="linearGradient2231">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2233" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop2235" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2341">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2343" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2345" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2346">
+      <stop
+         style="stop-color:#740000;stop-opacity:1;"
+         offset="0"
+         id="stop2348" />
+      <stop
+         style="stop-color:#de0000;stop-opacity:1;"
+         offset="1"
+         id="stop2350" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3920">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3922" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3924" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3291">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3293" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3295" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#linearGradient3291"
+       id="radialGradient3297"
+       cx="63.912209"
+       cy="115.70919"
+       fx="64.281197"
+       fy="122.79655"
+       r="63.912209"
+       gradientTransform="matrix(0.49271284,0,0,0.04060819,1.0870551,56.193019)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3920"
+       id="linearGradient2329"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.44419746,0,0,0.3965333,-4.0397233,0.70588363)"
+       x1="55.403236"
+       y1="-10.92763"
+       x2="38.105381"
+       y2="73.298271" />
+    <linearGradient
+       xlink:href="#linearGradient3920"
+       id="linearGradient2331"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.44419746,0,0,0.3965333,-4.0397233,0.70588363)"
+       x1="55.403236"
+       y1="-10.92763"
+       x2="51.263126"
+       y2="75.70253" />
+    <radialGradient
+       xlink:href="#linearGradient2346"
+       id="radialGradient2335"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.32745715,0.41098392,-0.23867384,0.15306271,18.750048,-14.917331)"
+       cx="73.892921"
+       cy="68.238869"
+       fx="113.793"
+       fy="80.440765"
+       r="55.221321" />
+    <linearGradient
+       xlink:href="#linearGradient3920"
+       id="linearGradient2337"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.44419746,0,0,0.3965333,-4.0397233,0.70588363)"
+       x1="55.403236"
+       y1="-10.92763"
+       x2="38.105381"
+       y2="73.298271" />
+    <radialGradient
+       xlink:href="#linearGradient2341"
+       id="radialGradient2347"
+       cx="59.546715"
+       cy="28.174582"
+       fx="59.546715"
+       fy="28.174582"
+       r="26.231684"
+       gradientTransform="matrix(-0.79836402,-0.06933089,0.01373407,-0.14141577,69.768977,14.310316)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient2341"
+       id="radialGradient2357"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.44204609,-0.39042748,0.10636637,-0.10840987,71.559567,36.205374)"
+       cx="66.450279"
+       cy="21.283276"
+       fx="66.450279"
+       fy="21.283276"
+       r="26.231684" />
+    <linearGradient
+       xlink:href="#linearGradient3291"
+       id="linearGradient2379"
+       x1="46.890835"
+       y1="117.57981"
+       x2="39.447845"
+       y2="-0.39157665"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.3828182,0,0,0.36199228,-0.5346611,2.0284445)" />
+    <linearGradient
+       xlink:href="#linearGradient2231"
+       id="linearGradient2239"
+       x1="61.962692"
+       y1="28.706591"
+       x2="104.65211"
+       y2="4.5699611"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.36813124,0,0,0.36813124,0.42199782,1.3272737)" />
+    <linearGradient
+       xlink:href="#linearGradient2231"
+       id="linearGradient869"
+       gradientUnits="userSpaceOnUse"
+       x1="61.962692"
+       y1="28.706591"
+       x2="104.65211"
+       y2="4.5699611"
+       gradientTransform="matrix(0.36813124,0,0,0.36813124,0.42199782,1.3272737)" />
+  </defs>
+  <metadata
+     id="metadata1312">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Oxygen team</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+        <dc:title></dc:title>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/LGPL/2.1/">
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Reproduction" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/Distribution" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/Notice" />
+        <cc:permits
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/ShareAlike" />
+        <cc:requires
+           rdf:resource="http://web.resource.org/cc/SourceCode" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <path
+       id="path2279"
+       d="M 13.426234,3.6102842 C 12.304852,3.6174307 11.114568,3.7822598 9.8629651,4.1283621 2.607986,6.13456 0.57098352,12.129024 2.4027618,19.184172 4.8859715,28.748328 13.307515,38.14618 24.037901,44.004348 c 0,0 0.0233,0.01222 0.02501,0 8.83347,-4.822559 19.151928,-15.25602 21.635135,-24.820176 C 47.529823,12.129024 45.492827,6.13456 38.237841,4.1283621 31.13232,2.1634932 26.02543,6.0541166 24.050403,11.334484 22.423267,6.9842275 18.671101,3.5768567 13.426234,3.6102842 Z"
+       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#850000;stroke-width:1.20619;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path2276"
+       d="M 19.157226,2.5352212 V 1.5064017 Z"
+       style="fill:#ffffff;fill-opacity:0.756881;fill-rule:nonzero;stroke:none;stroke-width:0.184065;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" />
+    <ellipse
+       style="display:none;opacity:0.381395;fill:url(#radialGradient3297);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       id="path3289"
+       cx="32.577419"
+       cy="60.891766"
+       rx="31.490366"
+       ry="2.5953619" />
+    <path
+       style="display:inline;fill:url(#radialGradient2335);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.368131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 13.426241,3.610284 C 12.304858,3.617434 11.114574,3.7822596 9.8629711,4.1283617 2.6079873,6.1345593 0.57098382,12.129021 2.402763,19.184169 4.8859745,28.748322 13.98962,38.518559 24.037912,44.004341 v 0.03505 c 0.0041,-0.0058 0.0084,-0.01167 0.0125,-0.01752 0.0041,0.0058 0.0084,0.01167 0.01251,0.01752 v -0.03505 C 33.728227,38.727644 43.214857,28.748322 45.698071,19.184169 47.529841,12.129021 45.49285,6.1345593 38.237859,4.1283617 31.132335,2.1634933 26.025443,6.0541159 24.050415,11.334482 22.423278,6.984226 18.671111,3.5768567 13.426241,3.610284 Z"
+       id="path2245" />
+    <path
+       id="path2369"
+       d="M 13.426241,3.610284 C 12.304858,3.617434 11.114574,3.7822596 9.8629711,4.1283617 2.6079873,6.1345593 0.57098382,12.129021 2.402763,19.184169 4.8859745,28.748322 14.08452,38.57037 24.037912,44.004341 v 0.03505 c 0.0041,-0.0058 0.0084,-0.01167 0.0125,-0.01752 0.0041,0.0058 0.0084,0.01167 0.01251,0.01752 v -0.03505 C 33.700489,38.742788 43.214857,28.748322 45.698071,19.184169 47.529841,12.129021 45.49285,6.1345593 38.237859,4.1283617 31.132335,2.1634933 26.025443,6.0541159 24.050415,11.334482 22.423278,6.984226 18.671111,3.5768567 13.426241,3.610284 Z"
+       style="opacity:0.471312;fill:url(#linearGradient2379);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.368131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="opacity:0.176229;fill:url(#linearGradient2331);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.21483;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 13.104709,3.6121614 C 12.076809,3.6456194 10.998445,3.8188705 9.8641801,4.1325256 3.2893511,5.950642 1.004211,11.041952 1.9961236,17.232127 10.411588,29.203176 24.460094,36.456609 34.073584,35.184691 39.234696,30.022653 44.247796,24.779063 45.699139,19.189149 47.530916,12.134001 45.489562,6.1387228 38.234575,4.1325256 31.12905,2.167657 26.024406,6.0580712 24.049378,11.338437 22.42224,6.9881816 18.664805,3.578734 13.419937,3.6121614 c -0.105131,6.701e-4 -0.208892,-0.00346 -0.315228,0 z"
+       id="path2294" />
+    <path
+       style="opacity:0.295082;fill:url(#linearGradient2329);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.21483;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 12.96601,3.6121614 C 11.981771,3.6565438 10.945277,3.8335731 9.8641801,4.1325256 3.2893511,5.950642 1.004211,11.041952 1.9961236,17.232127 5.6506239,22.430676 10.369335,26.737895 15.323904,29.845302 16.354136,21.348678 19.15879,14.843888 23.368488,9.7999698 21.493217,6.2090093 18.029685,3.5827819 13.419937,3.6121614 c -0.105131,6.701e-4 -0.208892,-0.00346 -0.315228,0 -0.04818,0.00157 -0.09029,-0.00218 -0.138699,0 z M 41.14727,5.2863768 C 28.104414,10.786494 23.523881,20.708267 21.451911,33.035359 c 4.482748,1.855655 8.887237,2.643418 12.621673,2.149332 C 39.234696,30.022653 44.247796,24.779063 45.699139,19.189149 47.256809,13.18973 46.015301,7.9517931 41.14727,5.2863768 Z"
+       id="path2317" />
+    <path
+       id="path2333"
+       d="M 12.96601,3.6121614 C 11.981771,3.6565438 10.945277,3.8335731 9.8641801,4.1325256 3.2893511,5.950642 1.004211,11.041952 1.9961236,17.232127 11.902139,32.625234 18.627459,14.128861 22.837157,9.0849427 20.961886,5.4939822 18.029685,3.5827819 13.419937,3.6121614 c -0.105131,6.701e-4 -0.208892,-0.00346 -0.315228,0 -0.04818,0.00157 -0.09029,-0.00218 -0.138699,0 z M 42.209929,5.7630615 C 29.167076,11.263179 18.455947,38.939035 34.073584,35.184691 39.234696,30.022653 44.247796,24.779063 45.699139,19.189149 47.256809,13.18973 46.148138,8.0709638 42.209929,5.7630615 Z"
+       style="opacity:0.245902;fill:url(#linearGradient2337);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.21483;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       style="fill:url(#radialGradient2347);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.368131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 23.965689,10.716263 C 21.633398,5.6176294 16.80775,2.9214902 12.48115,3.3012074 9.5867611,3.5552289 5.96467,5.4664044 3.8817699,7.5256889 6.1219949,5.9682081 9.4414461,4.3033798 12.240797,4.2003991 18.523355,3.9719012 22.645515,8.4769507 23.965689,10.716263 Z"
+       id="path2339" />
+    <path
+       id="path2353"
+       d="M 46.570892,13.465434 C 45.78911,8.1236993 41.857682,4.4011746 37.508713,3.6742344 34.599353,3.1879307 30.489089,4.0664605 27.842535,5.4679185 30.495307,4.5741406 34.236613,3.8498994 37.0084,4.4534239 c 6.219901,1.3569358 8.92942,6.5919881 9.562492,9.0120101 z"
+       style="fill:url(#radialGradient2357);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.368131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="opacity:0.229508;fill:url(#linearGradient2239);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.368131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 24.09442,10.485993 C 25.645464,7.1112659 27.931233,4.3822056 32.383084,3.556671 28.569511,5.2360341 26.154657,7.7546282 24.09442,10.485993 Z"
+       id="path1348" />
+    <path
+       id="path2241"
+       d="m 24.028111,11.231972 c 0.141971,-3.142644 3.903122,-6.2529826 8.288663,-7.4100638 -3.813572,1.679363 -6.957829,5.2257516 -8.288663,7.4100638 z"
+       style="opacity:0.229508;fill:url(#linearGradient869);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.368131px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  </g>
+</svg>
diff --git a/flags/standard/face-plain.svg b/flags/standard/face-plain.svg
new file mode 100644 (file)
index 0000000..5860974
--- /dev/null
@@ -0,0 +1,305 @@
+<?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"
+   sodipodi:docname="face-plain.svg"
+   sodipodi:docbase="/home/steven/projects/tango/Experiments/faces/scalable"
+   inkscape:version="0.46"
+   sodipodi:version="0.32"
+   id="svg4376"
+   height="48px"
+   width="48px"
+   inkscape:export-filename="/home/steven/face-plain4.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs3">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective42" />
+    <linearGradient
+       id="linearGradient3290">
+      <stop
+         id="stop3292"
+         offset="0.0000000"
+         style="stop-color:#fffcde;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#f6e76a;stop-opacity:1.0000000;"
+         offset="0.64485979"
+         id="stop3294" />
+      <stop
+         id="stop3296"
+         offset="1.0000000"
+         style="stop-color:#ffb738;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <radialGradient
+       r="8.9020796"
+       fy="15.755712"
+       fx="29.158466"
+       cy="15.720984"
+       cx="29.288071"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2714"
+       xlink:href="#linearGradient3290"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2509">
+      <stop
+         style="stop-color:#fffbd5;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop2511" />
+      <stop
+         style="stop-color:#edd400;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop2513" />
+    </linearGradient>
+    <radialGradient
+       gradientTransform="matrix(1.25,0,0,1.25,53.52055,-13.37211)"
+       id="aigrd2"
+       cx="25.0527"
+       cy="39.5928"
+       r="15.7572"
+       fx="25.0527"
+       fy="39.5928"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0.0000000"
+         style="stop-color:#777777;stop-opacity:1.0000000;"
+         id="stop8602" />
+      <stop
+         offset="1"
+         style="stop-color:#000000"
+         id="stop8604" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient4565"
+       inkscape:collect="always">
+      <stop
+         id="stop4567"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop4569"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3824">
+      <stop
+         id="stop3826"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3828"
+         offset="1.0000000"
+         style="stop-color:#c9c9c9;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3800">
+      <stop
+         id="stop3802"
+         offset="0.0000000"
+         style="stop-color:#ffeed6;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#e49c2f;stop-opacity:1.0000000;"
+         offset="0.50000000"
+         id="stop8664" />
+      <stop
+         id="stop3804"
+         offset="1.0000000"
+         style="stop-color:#ffc66c;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,0.000000,25.71429)"
+       r="19.714285"
+       fy="38.571430"
+       fx="24.714285"
+       cy="38.571430"
+       cx="24.714285"
+       id="radialGradient4571"
+       xlink:href="#linearGradient4565"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#aigrd2"
+       id="radialGradient2211"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.25,0,0,1.25,39.41053,-19.20819)"
+       cx="25.0527"
+       cy="39.5928"
+       fx="25.0527"
+       fy="39.5928"
+       r="15.7572" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#aigrd2"
+       id="radialGradient2213"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.357899,0,0,0.416667,55.84561,15.2093)"
+       cx="-23.452122"
+       cy="38.602852"
+       fx="-23.452122"
+       fy="38.602852"
+       r="15.7572" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#aigrd2"
+       id="radialGradient1342"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.28431,0,0,0.416667,30.45155,18.23307)"
+       cx="-23.452122"
+       cy="38.602852"
+       fx="-23.452122"
+       fy="38.602852"
+       r="15.7572" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-y="77"
+     inkscape:window-x="373"
+     inkscape:window-height="771"
+     inkscape:window-width="1055"
+     inkscape:showpageshadow="false"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     showgrid="false"
+     inkscape:current-layer="layer1"
+     inkscape:cy="22.183359"
+     inkscape:cx="28.123476"
+     inkscape:zoom="1"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="0.19607843"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     fill="#edd400" />
+  <metadata
+     id="metadata4">
+    <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>Face - Plain</dc:title>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>emoticon</rdf:li>
+            <rdf:li>emote</rdf:li>
+            <rdf:li>face</rdf:li>
+            <rdf:li>plain</rdf:li>
+            <rdf:li>:|</rdf:li>
+            <rdf:li>:-|</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Steven Garrity</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source>http://www.tango-project.org</dc:source>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Based on face-smile by jimmac</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1"
+     id="layer1">
+    <path
+       d="M 44.428570 38.571430 A 19.714285 6.5714288 0 1 1  5.0000000,38.571430 A 19.714285 6.5714288 0 1 1  44.428570 38.571430 z"
+       sodipodi:ry="6.5714288"
+       sodipodi:rx="19.714285"
+       sodipodi:cy="38.571430"
+       sodipodi:cx="24.714285"
+       id="path4563"
+       style="opacity:0.53164557;color:#000000;fill:url(#radialGradient4571);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:0.40487173;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(2.083142,0.000000,0.000000,2.083142,-40.54715,-16.49224)"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
+       sodipodi:ry="8.6620579"
+       sodipodi:rx="8.6620579"
+       sodipodi:cy="19.008621"
+       sodipodi:cx="31.112698"
+       id="path4320"
+       style="overflow:visible;display:inline;visibility:visible;stroke-opacity:1.0000000;stroke-dashoffset:0.0000000;stroke-dasharray:none;stroke-miterlimit:4.0000000;marker-end:none;marker-mid:none;marker-start:none;marker:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:0.48004404;stroke:#9c8c0a;fill-rule:evenodd;fill-opacity:1.0000000;fill:url(#radialGradient2714);color:#000000;opacity:1.0000000"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(1.979782,0.000000,0.000000,1.979782,-37.33128,-14.52746)"
+       sodipodi:type="arc"
+       style="opacity:0.67721519;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50510627;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+       id="path4322"
+       sodipodi:cx="31.112698"
+       sodipodi:cy="19.008621"
+       sodipodi:rx="8.6620579"
+       sodipodi:ry="8.6620579"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z" />
+    <g
+       transform="matrix(1,0,0,0.74952,0.353553,7.357569)"
+       id="g8666">
+      <path
+         style="opacity:0.36000001;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+         d="M 21.398158,15.321428 C 21.398158,17.821428 20.273158,19.821428 18.898158,19.821428 C 17.523158,19.821428 16.273158,17.821428 16.273158,15.321428 C 16.273158,12.821428 17.398158,10.821428 18.773158,10.821428 C 20.148158,10.821428 21.273158,12.821428 21.273158,15.321428 L 21.398158,15.321428 z "
+         id="path8610" />
+      <path
+         style="opacity:0.36000001;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+         d="M 30.688512,15.321428 C 30.688512,17.821428 29.563512,19.821428 28.188512,19.821428 C 26.813512,19.821428 25.688512,17.821428 25.688512,15.321428 C 25.688512,12.821428 26.813512,10.821428 28.188512,10.821428 C 29.563512,10.821428 30.688512,12.821428 30.688512,15.321428 z "
+         id="path8612" />
+      <path
+         style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+         d="M 21.398158,14.696428 C 21.398158,17.196428 20.273158,19.196428 18.898158,19.196428 C 17.523158,19.196428 16.398158,17.196428 16.398158,14.696428 C 16.398158,12.196428 17.523158,10.196428 18.898158,10.196428 C 20.273158,10.196428 21.398158,12.196428 21.398158,14.696428 z "
+         id="path8614" />
+      <path
+         style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+         d="M 30.688512,14.696428 C 30.688512,17.196428 29.563512,19.196428 28.188512,19.196428 C 26.813512,19.196428 25.688512,17.196428 25.688512,14.696428 C 25.688512,12.196428 26.813512,10.196428 28.188512,10.196428 C 29.563512,10.196428 30.688512,12.196428 30.688512,14.696428 z "
+         id="path8616" />
+    </g>
+    <rect
+       style="opacity:1;color:#000000;fill:url(#radialGradient2213);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="rect2453"
+       width="20"
+       height="1"
+       x="14"
+       y="29"
+       rx="0.5"
+       ry="0.5" />
+    <rect
+       style="opacity:0.36000001;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+       id="rect1336"
+       width="20"
+       height="1"
+       x="14"
+       y="30"
+       rx="0.5"
+       ry="0.5" />
+  </g>
+</svg>
diff --git a/flags/standard/face-sad.svg b/flags/standard/face-sad.svg
new file mode 100644 (file)
index 0000000..fdfa02d
--- /dev/null
@@ -0,0 +1,256 @@
+<?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"
+   sodipodi:docname="face-sad.svg"
+   sodipodi:docbase="/home/jimmac/gfx/ximian/tango-desktop-theme/scalable/emotes"
+   inkscape:version="0.46"
+   sodipodi:version="0.32"
+   id="svg4376"
+   height="48px"
+   width="48px"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs3">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective39" />
+    <linearGradient
+       id="linearGradient3290">
+      <stop
+         style="stop-color:#fffcde;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop3292" />
+      <stop
+         id="stop3294"
+         offset="0.64485979"
+         style="stop-color:#f6e76a;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#ffb738;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop3296" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3290"
+       id="radialGradient2714"
+       gradientUnits="userSpaceOnUse"
+       cx="29.288071"
+       cy="15.720984"
+       fx="29.158466"
+       fy="15.755712"
+       r="8.9020796" />
+    <linearGradient
+       id="linearGradient2509">
+      <stop
+         style="stop-color:#fffbd5;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop2511" />
+      <stop
+         style="stop-color:#edd400;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop2513" />
+    </linearGradient>
+    <radialGradient
+       gradientTransform="matrix(1.250000,0.000000,0.000000,-1.250000,-6.479446,73.66448)"
+       id="aigrd2"
+       cx="25.0527"
+       cy="39.5928"
+       r="15.7572"
+       fx="25.0527"
+       fy="39.5928"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0.0000000"
+         style="stop-color:#777777;stop-opacity:1.0000000;"
+         id="stop8602" />
+      <stop
+         offset="1"
+         style="stop-color:#000000"
+         id="stop8604" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient4565"
+       inkscape:collect="always">
+      <stop
+         id="stop4567"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop4569"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3824">
+      <stop
+         id="stop3826"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3828"
+         offset="1.0000000"
+         style="stop-color:#c9c9c9;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3800">
+      <stop
+         id="stop3802"
+         offset="0.0000000"
+         style="stop-color:#ffeed6;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#e49c2f;stop-opacity:1.0000000;"
+         offset="0.50000000"
+         id="stop8664" />
+      <stop
+         id="stop3804"
+         offset="1.0000000"
+         style="stop-color:#ffc66c;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,0.000000,25.71429)"
+       r="19.714285"
+       fy="38.571430"
+       fx="24.714285"
+       cy="38.571430"
+       cx="24.714285"
+       id="radialGradient4571"
+       xlink:href="#linearGradient4565"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-y="109"
+     inkscape:window-x="223"
+     inkscape:window-height="739"
+     inkscape:window-width="700"
+     inkscape:showpageshadow="false"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     showgrid="false"
+     inkscape:current-layer="layer1"
+     inkscape:cy="24.058534"
+     inkscape:cx="25.411306"
+     inkscape:zoom="11.313708"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="0.19607843"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     fill="#edd400" />
+  <metadata
+     id="metadata4">
+    <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>Face - Sad</dc:title>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>emoticon</rdf:li>
+            <rdf:li>emote</rdf:li>
+            <rdf:li>smiley</rdf:li>
+            <rdf:li>sad</rdf:li>
+            <rdf:li>:(</rdf:li>
+            <rdf:li>:-(</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1"
+     id="layer1">
+    <path
+       d="M 44.428570 38.571430 A 19.714285 6.5714288 0 1 1  5.0000000,38.571430 A 19.714285 6.5714288 0 1 1  44.428570 38.571430 z"
+       sodipodi:ry="6.5714288"
+       sodipodi:rx="19.714285"
+       sodipodi:cy="38.571430"
+       sodipodi:cx="24.714285"
+       id="path4563"
+       style="opacity:0.53164557;color:#000000;fill:url(#radialGradient4571);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:0.40487173;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(2.083142,0.000000,0.000000,2.083142,-40.54715,-16.49224)"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
+       sodipodi:ry="8.6620579"
+       sodipodi:rx="8.6620579"
+       sodipodi:cy="19.008621"
+       sodipodi:cx="31.112698"
+       id="path4320"
+       style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2714);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#9c8c0a;stroke-width:0.48004404;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(1.979782,0.000000,0.000000,1.979782,-37.33128,-14.52746)"
+       sodipodi:type="arc"
+       style="opacity:0.67721519;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50510627;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+       id="path4322"
+       sodipodi:cx="31.112698"
+       sodipodi:cy="19.008621"
+       sodipodi:rx="8.6620579"
+       sodipodi:ry="8.6620579"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z" />
+    <path
+       sodipodi:nodetypes="czczc"
+       id="path1387"
+       d="M 34.014268,32.036842 C 30.290694,27.872830 28.451859,26.405561 24.462492,26.405561 C 20.561313,26.405561 17.962820,28.093607 15.087492,32.390396 C 18.520789,30.041583 20.397124,28.740900 24.197327,28.740900 C 27.909166,28.740900 29.948404,29.791599 34.014268,32.036842 z "
+       style="overflow:visible;display:inline;visibility:visible;stroke-opacity:1.0000000;stroke-dashoffset:0.0000000;stroke-dasharray:none;marker-end:none;marker-mid:none;marker-start:none;marker:none;stroke-linejoin:miter;stroke-linecap:butt;stroke-width:1.0000000;fill-opacity:1.0000000;color:#000000;opacity:0.35999998;stroke-miterlimit:4.0000000;stroke:none;fill-rule:nonzero;fill:#ffffff" />
+    <path
+       style="fill:url(#aigrd2);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+       d="M 34.014268,31.329738 C 30.290694,27.165726 28.451859,25.698457 24.462492,25.698457 C 20.561313,25.698457 17.962820,27.386503 15.087492,31.683292 C 18.520789,29.334479 20.397124,28.033796 24.197327,28.033796 C 27.909166,28.033796 29.948404,29.084495 34.014268,31.329738 z "
+       id="path8606"
+       sodipodi:nodetypes="czczc" />
+    <g
+       transform="translate(0.353553,2.392706)"
+       id="g8666">
+      <path
+         style="opacity:0.35999998;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+         d="M 21.398158,15.321428 C 21.398158,17.821428 20.273158,19.821428 18.898158,19.821428 C 17.523158,19.821428 16.273158,17.821428 16.273158,15.321428 C 16.273158,12.821428 17.398158,10.821428 18.773158,10.821428 C 20.148158,10.821428 21.273158,12.821428 21.273158,15.321428 L 21.398158,15.321428 z "
+         id="path8610" />
+      <path
+         style="opacity:0.35999998;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+         d="M 30.688512,15.321428 C 30.688512,17.821428 29.563512,19.821428 28.188512,19.821428 C 26.813512,19.821428 25.688512,17.821428 25.688512,15.321428 C 25.688512,12.821428 26.813512,10.821428 28.188512,10.821428 C 29.563512,10.821428 30.688512,12.821428 30.688512,15.321428 z "
+         id="path8612" />
+      <path
+         style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+         d="M 21.398158,14.696428 C 21.398158,17.196428 20.273158,19.196428 18.898158,19.196428 C 17.523158,19.196428 16.398158,17.196428 16.398158,14.696428 C 16.398158,12.196428 17.523158,10.196428 18.898158,10.196428 C 20.273158,10.196428 21.398158,12.196428 21.398158,14.696428 z "
+         id="path8614" />
+      <path
+         style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+         d="M 30.688512,14.696428 C 30.688512,17.196428 29.563512,19.196428 28.188512,19.196428 C 26.813512,19.196428 25.688512,17.196428 25.688512,14.696428 C 25.688512,12.196428 26.813512,10.196428 28.188512,10.196428 C 29.563512,10.196428 30.688512,12.196428 30.688512,14.696428 z "
+         id="path8616" />
+    </g>
+  </g>
+</svg>
diff --git a/flags/standard/face-smile.svg b/flags/standard/face-smile.svg
new file mode 100644 (file)
index 0000000..4528ba0
--- /dev/null
@@ -0,0 +1,256 @@
+<?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"
+   sodipodi:docname="face-smile.svg"
+   sodipodi:docbase="/home/jimmac/gfx/ximian/tango-icon-theme/scalable/emotes"
+   inkscape:version="0.46"
+   sodipodi:version="0.32"
+   id="svg4376"
+   height="48px"
+   width="48px"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs3">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective39" />
+    <linearGradient
+       id="linearGradient3290">
+      <stop
+         id="stop3292"
+         offset="0.0000000"
+         style="stop-color:#fffcde;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#f6e76a;stop-opacity:1.0000000;"
+         offset="0.64485979"
+         id="stop3294" />
+      <stop
+         id="stop3296"
+         offset="1.0000000"
+         style="stop-color:#ffb738;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <radialGradient
+       r="8.9020796"
+       fy="15.755712"
+       fx="29.158466"
+       cy="15.720984"
+       cx="29.288071"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2714"
+       xlink:href="#linearGradient3290"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2509">
+      <stop
+         style="stop-color:#fffbd5;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop2511" />
+      <stop
+         style="stop-color:#edd400;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop2513" />
+    </linearGradient>
+    <radialGradient
+       gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-6.479446,-13.37211)"
+       id="aigrd2"
+       cx="25.0527"
+       cy="39.5928"
+       r="15.7572"
+       fx="25.0527"
+       fy="39.5928"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0.0000000"
+         style="stop-color:#777777;stop-opacity:1.0000000;"
+         id="stop8602" />
+      <stop
+         offset="1"
+         style="stop-color:#000000"
+         id="stop8604" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient4565"
+       inkscape:collect="always">
+      <stop
+         id="stop4567"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop4569"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3824">
+      <stop
+         id="stop3826"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3828"
+         offset="1.0000000"
+         style="stop-color:#c9c9c9;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3800">
+      <stop
+         id="stop3802"
+         offset="0.0000000"
+         style="stop-color:#ffeed6;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#e49c2f;stop-opacity:1.0000000;"
+         offset="0.50000000"
+         id="stop8664" />
+      <stop
+         id="stop3804"
+         offset="1.0000000"
+         style="stop-color:#ffc66c;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,0.000000,25.71429)"
+       r="19.714285"
+       fy="38.571430"
+       fx="24.714285"
+       cy="38.571430"
+       cx="24.714285"
+       id="radialGradient4571"
+       xlink:href="#linearGradient4565"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     inkscape:window-y="109"
+     inkscape:window-x="223"
+     inkscape:window-height="739"
+     inkscape:window-width="770"
+     inkscape:showpageshadow="false"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     showgrid="false"
+     inkscape:current-layer="layer1"
+     inkscape:cy="24.058534"
+     inkscape:cx="25.411306"
+     inkscape:zoom="11.313708"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="0.19607843"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     fill="#edd400" />
+  <metadata
+     id="metadata4">
+    <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>Face - Happy</dc:title>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>emoticon</rdf:li>
+            <rdf:li>emote</rdf:li>
+            <rdf:li>smiley</rdf:li>
+            <rdf:li>happy</rdf:li>
+            <rdf:li>:)</rdf:li>
+            <rdf:li>:-)</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1"
+     id="layer1">
+    <path
+       d="M 44.428570 38.571430 A 19.714285 6.5714288 0 1 1  5.0000000,38.571430 A 19.714285 6.5714288 0 1 1  44.428570 38.571430 z"
+       sodipodi:ry="6.5714288"
+       sodipodi:rx="19.714285"
+       sodipodi:cy="38.571430"
+       sodipodi:cx="24.714285"
+       id="path4563"
+       style="opacity:0.53164557;color:#000000;fill:url(#radialGradient4571);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:0.40487173;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(2.083142,0.000000,0.000000,2.083142,-40.54715,-16.49224)"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
+       sodipodi:ry="8.6620579"
+       sodipodi:rx="8.6620579"
+       sodipodi:cy="19.008621"
+       sodipodi:cx="31.112698"
+       id="path4320"
+       style="overflow:visible;display:inline;visibility:visible;stroke-opacity:1.0000000;stroke-dashoffset:0.0000000;stroke-dasharray:none;stroke-miterlimit:4.0000000;marker-end:none;marker-mid:none;marker-start:none;marker:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:0.48004404;stroke:#9c8c0a;fill-rule:evenodd;fill-opacity:1.0000000;fill:url(#radialGradient2714);color:#000000;opacity:1.0000000"
+       sodipodi:type="arc" />
+    <path
+       transform="matrix(1.979782,0.000000,0.000000,1.979782,-37.33128,-14.52746)"
+       sodipodi:type="arc"
+       style="opacity:0.67721519;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50510627;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+       id="path4322"
+       sodipodi:cx="31.112698"
+       sodipodi:cy="19.008621"
+       sodipodi:rx="8.6620579"
+       sodipodi:ry="8.6620579"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z" />
+    <path
+       sodipodi:nodetypes="czczc"
+       id="path2659"
+       d="M 37.284637,24.719966 C 34.268170,29.944639 30.741134,33.710005 24.462492,33.710005 C 18.362475,33.710005 13.896955,29.370308 11.110016,24.543189 C 13.659429,27.599109 17.392948,31.109501 24.197327,31.109501 C 32.327531,31.109501 33.749103,28.202646 37.284637,24.719966 z "
+       style="opacity:0.35999998;color:#000000;fill:#ffffff;fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+    <path
+       style="fill:url(#aigrd2);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+       d="M 37.284637,24.012862 C 34.268170,29.237535 30.741134,33.002901 24.462492,33.002901 C 18.362475,33.002901 13.896955,28.663204 11.110016,23.836085 C 13.659429,26.892005 17.392948,30.402397 24.197327,30.402397 C 32.327531,30.402397 33.749103,27.495542 37.284637,24.012862 z "
+       id="path8606"
+       sodipodi:nodetypes="czczc" />
+    <g
+       transform="translate(0.353553,2.392706)"
+       id="g8666">
+      <path
+         style="opacity:0.35999998;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+         d="M 21.398158,15.321428 C 21.398158,17.821428 20.273158,19.821428 18.898158,19.821428 C 17.523158,19.821428 16.273158,17.821428 16.273158,15.321428 C 16.273158,12.821428 17.398158,10.821428 18.773158,10.821428 C 20.148158,10.821428 21.273158,12.821428 21.273158,15.321428 L 21.398158,15.321428 z "
+         id="path8610" />
+      <path
+         style="opacity:0.35999998;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+         d="M 30.688512,15.321428 C 30.688512,17.821428 29.563512,19.821428 28.188512,19.821428 C 26.813512,19.821428 25.688512,17.821428 25.688512,15.321428 C 25.688512,12.821428 26.813512,10.821428 28.188512,10.821428 C 29.563512,10.821428 30.688512,12.821428 30.688512,15.321428 z "
+         id="path8612" />
+      <path
+         style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+         d="M 21.398158,14.696428 C 21.398158,17.196428 20.273158,19.196428 18.898158,19.196428 C 17.523158,19.196428 16.398158,17.196428 16.398158,14.696428 C 16.398158,12.196428 17.523158,10.196428 18.898158,10.196428 C 20.273158,10.196428 21.398158,12.196428 21.398158,14.696428 z "
+         id="path8614" />
+      <path
+         style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+         d="M 30.688512,14.696428 C 30.688512,17.196428 29.563512,19.196428 28.188512,19.196428 C 26.813512,19.196428 25.688512,17.196428 25.688512,14.696428 C 25.688512,12.196428 26.813512,10.196428 28.188512,10.196428 C 29.563512,10.196428 30.688512,12.196428 30.688512,14.696428 z "
+         id="path8616" />
+    </g>
+  </g>
+</svg>
diff --git a/flags/standard/face-surprise.svg b/flags/standard/face-surprise.svg
new file mode 100644 (file)
index 0000000..b40a301
--- /dev/null
@@ -0,0 +1,254 @@
+<?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="48px"
+   height="48px"
+   id="svg4376"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   sodipodi:docbase="/home/jimmac/gfx/ximian/tango-icon-theme/scalable/emotes"
+   sodipodi:docname="face-surprise.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs3">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective39" />
+    <linearGradient
+       id="linearGradient3290">
+      <stop
+         id="stop3292"
+         offset="0.0000000"
+         style="stop-color:#fffcde;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#f6e76a;stop-opacity:1.0000000;"
+         offset="0.64485979"
+         id="stop3294" />
+      <stop
+         id="stop3296"
+         offset="1.0000000"
+         style="stop-color:#ffb738;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <radialGradient
+       r="8.9020796"
+       fy="15.755712"
+       fx="29.158466"
+       cy="15.720984"
+       cx="29.288071"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2714"
+       xlink:href="#linearGradient3290"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2509">
+      <stop
+         id="stop2511"
+         offset="0.0000000"
+         style="stop-color:#fffbd5;stop-opacity:1.0000000;" />
+      <stop
+         id="stop2513"
+         offset="1.0000000"
+         style="stop-color:#edd400;stop-opacity:1.0000000;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       fy="39.5928"
+       fx="25.0527"
+       r="15.7572"
+       cy="39.5928"
+       cx="25.0527"
+       id="aigrd2"
+       gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-6.214281,-8.428572)">
+      <stop
+         id="stop8602"
+         style="stop-color:#777777;stop-opacity:1.0000000;"
+         offset="0.0000000" />
+      <stop
+         id="stop8604"
+         style="stop-color:#000000"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4565">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop4567" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop4569" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3824">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3826" />
+      <stop
+         style="stop-color:#c9c9c9;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop3828" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3800">
+      <stop
+         style="stop-color:#ffeed6;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop3802" />
+      <stop
+         id="stop8664"
+         offset="0.50000000"
+         style="stop-color:#e49c2f;stop-opacity:1.0000000;" />
+      <stop
+         style="stop-color:#ffc66c;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop3804" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4565"
+       id="radialGradient4571"
+       cx="24.714285"
+       cy="38.571430"
+       fx="24.714285"
+       fy="38.571430"
+       r="19.714285"
+       gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,0.000000,25.71429)"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <sodipodi:namedview
+     fill="#edd400"
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.19607843"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313708"
+     inkscape:cx="25.411306"
+     inkscape:cy="24.058534"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:showpageshadow="false"
+     inkscape:window-width="770"
+     inkscape:window-height="739"
+     inkscape:window-x="223"
+     inkscape:window-y="109" />
+  <metadata
+     id="metadata4">
+    <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>Face - Shocked</dc:title>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>emoticon</rdf:li>
+            <rdf:li>emote</rdf:li>
+            <rdf:li>smiley</rdf:li>
+            <rdf:li>stare</rdf:li>
+            <rdf:li>shocked</rdf:li>
+            <rdf:li>:O</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       sodipodi:type="arc"
+       style="opacity:0.53164557;color:#000000;fill:url(#radialGradient4571);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:0.40487173;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+       id="path4563"
+       sodipodi:cx="24.714285"
+       sodipodi:cy="38.571430"
+       sodipodi:rx="19.714285"
+       sodipodi:ry="6.5714288"
+       d="M 44.428570 38.571430 A 19.714285 6.5714288 0 1 1  5.0000000,38.571430 A 19.714285 6.5714288 0 1 1  44.428570 38.571430 z" />
+    <path
+       sodipodi:type="arc"
+       style="overflow:visible;display:inline;visibility:visible;stroke-opacity:1.0000000;stroke-dashoffset:0.0000000;stroke-dasharray:none;stroke-miterlimit:4.0000000;marker-end:none;marker-mid:none;marker-start:none;marker:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:0.48004404;stroke:#9c8c0a;fill-rule:evenodd;fill-opacity:1.0000000;fill:url(#radialGradient2714);color:#000000;opacity:1.0000000"
+       id="path4320"
+       sodipodi:cx="31.112698"
+       sodipodi:cy="19.008621"
+       sodipodi:rx="8.6620579"
+       sodipodi:ry="8.6620579"
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
+       transform="matrix(2.083142,0.000000,0.000000,2.083142,-40.54715,-16.49224)" />
+    <path
+       d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1  22.450640,19.008621 A 8.6620579 8.6620579 0 1 1  39.774755 19.008621 z"
+       sodipodi:ry="8.6620579"
+       sodipodi:rx="8.6620579"
+       sodipodi:cy="19.008621"
+       sodipodi:cx="31.112698"
+       id="path4322"
+       style="opacity:0.67721519;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.50510627;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+       sodipodi:type="arc"
+       transform="matrix(1.979782,0.000000,0.000000,1.979782,-37.33128,-14.52746)" />
+    <path
+       id="path8599"
+       d="M 33.660715,32.696428 C 33.660715,36.196428 29.410715,38.946428 24.285715,38.946428 C 19.160715,38.946428 14.910715,36.196428 14.910715,32.696428 C 14.910715,29.196428 19.160715,26.446428 24.285715,26.446428 C 29.410715,26.446428 33.660715,29.196428 33.660715,32.696428 z "
+       style="opacity:0.35999998;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+    <path
+       id="path8606"
+       d="M 33.660715,31.696428 C 33.660715,35.196428 29.410715,37.946428 24.285715,37.946428 C 19.160715,37.946428 14.910715,35.196428 14.910715,31.696428 C 14.910715,28.196428 19.160715,25.446428 24.285715,25.446428 C 29.410715,25.446428 33.660715,28.196428 33.660715,31.696428 z "
+       style="fill:url(#aigrd2);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+    <g
+       id="g8666"
+       transform="translate(0.265165,0.000000)">
+      <path
+         id="path8610"
+         d="M 21.398158,15.321428 C 21.398158,17.821428 20.273158,19.821428 18.898158,19.821428 C 17.523158,19.821428 16.273158,17.821428 16.273158,15.321428 C 16.273158,12.821428 17.398158,10.821428 18.773158,10.821428 C 20.148158,10.821428 21.273158,12.821428 21.273158,15.321428 L 21.398158,15.321428 z "
+         style="opacity:0.35999998;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+      <path
+         id="path8612"
+         d="M 30.688512,15.321428 C 30.688512,17.821428 29.563512,19.821428 28.188512,19.821428 C 26.813512,19.821428 25.688512,17.821428 25.688512,15.321428 C 25.688512,12.821428 26.813512,10.821428 28.188512,10.821428 C 29.563512,10.821428 30.688512,12.821428 30.688512,15.321428 z "
+         style="opacity:0.35999998;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+      <path
+         id="path8614"
+         d="M 21.398158,14.696428 C 21.398158,17.196428 20.273158,19.196428 18.898158,19.196428 C 17.523158,19.196428 16.398158,17.196428 16.398158,14.696428 C 16.398158,12.196428 17.523158,10.196428 18.898158,10.196428 C 20.273158,10.196428 21.398158,12.196428 21.398158,14.696428 z "
+         style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+      <path
+         id="path8616"
+         d="M 30.688512,14.696428 C 30.688512,17.196428 29.563512,19.196428 28.188512,19.196428 C 26.813512,19.196428 25.688512,17.196428 25.688512,14.696428 C 25.688512,12.196428 26.813512,10.196428 28.188512,10.196428 C 29.563512,10.196428 30.688512,12.196428 30.688512,14.696428 z "
+         style="fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+    </g>
+  </g>
+</svg>
diff --git a/flags/standard/flash.svg b/flags/standard/flash.svg
new file mode 100644 (file)
index 0000000..9cffdcc
--- /dev/null
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns: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"
+   viewBox="0 0 266.67 266.67"
+   version="1.1"
+   id="svg33"
+   sodipodi:docname="flash.svg"
+   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
+  <metadata
+     id="metadata37">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1000"
+     id="namedview35"
+     showgrid="false"
+     inkscape:zoom="2.3549704"
+     inkscape:cx="77.345804"
+     inkscape:cy="124.48896"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g27" />
+  <defs
+     id="defs19">
+    <linearGradient
+       id="h"
+       x1="26.876591"
+       x2="26.876591"
+       y1="12.408267"
+       y2="38.765516"
+       xlink:href="#a"
+       gradientTransform="scale(1.3950728,0.71680845)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="g"
+       x1="26.669121"
+       x2="26.770197"
+       y1="13.623798"
+       y2="36.584682"
+       xlink:href="#a"
+       gradientTransform="scale(1.3950728,0.71680845)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="i"
+       x1="34.408985"
+       x2="45.797273"
+       y1="30.736107"
+       y2="36.857786"
+       gradientTransform="matrix(0.96367011,0,0.30622253,1.0376995,-11.457376,0)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         stop-color="#eefb11"
+         offset="0"
+         id="stop4" />
+      <stop
+         stop-color="#fbcd11"
+         offset="1"
+         id="stop6" />
+    </linearGradient>
+    <linearGradient
+       id="f"
+       x1="6.2393189"
+       x2="73.291276"
+       y1="7.4548145"
+       y2="65.99685"
+       gradientTransform="scale(0.96029911,1.0413422)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         id="stop9" />
+      <stop
+         stop-opacity="0"
+         offset="1"
+         id="stop11" />
+    </linearGradient>
+    <linearGradient
+       id="a">
+      <stop
+         stop-color="#fff"
+         offset="0"
+         id="stop14" />
+      <stop
+         stop-color="#fffcfc"
+         stop-opacity="0"
+         offset="1"
+         id="stop16" />
+    </linearGradient>
+    <filter
+       inkscape:collect="always"
+       style="color-interpolation-filters:sRGB"
+       id="filter1227"
+       x="-0.016368525"
+       width="1.0327371"
+       y="-0.011533046"
+       height="1.0230661">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.3472235"
+         id="feGaussianBlur1229" />
+    </filter>
+  </defs>
+  <g
+     transform="matrix(3.2788,0,0,3.2788,-9.7603,-5.697)"
+     fill-rule="evenodd"
+     id="g31"
+     style="stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none">
+    <g
+       stroke-width="0"
+       id="g27"
+       transform="matrix(1,0,0.23650272,1,-9.7124571,0)"
+       style="stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none">
+      <path
+         d="m 52.238,5.6991 -27.956,28.481 15.069,0.5262 -23.91,23.762 10.127,0.1889 L 8.788,77.1952 49.335,54.5832 34.242,54.7424 64.794,30.3464 48.268,30.3058 75.421,4.9388 52.239,5.6991 Z"
+         fill="url(#f)"
+         opacity="0.789"
+         stroke="#ff8600"
+         id="path23"
+         style="display:inline;fill:url(#f);stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;filter:url(#filter1227)"
+         inkscape:label="bolt shadow" />
+    </g>
+    <path
+       d="m 40.378544,3.4901 -19.551328,28.481 15.22428,0.5262 -16.897893,23.762 10.182744,0.1889 L 18.026864,74.9862 51.90112,52.3742 36.855099,52.5334 60.207901,28.1374 43.66992,28.0968 63.337182,2.7298 40.379544,3.4901 Z"
+       fill="url(#i)"
+       stroke="#ff8600"
+       id="path29"
+       style="display:inline;fill:url(#i);stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;paint-order:fill markers stroke"
+       inkscape:label="bolt" />
+  </g>
+</svg>
diff --git a/flags/standard/help-about.svg b/flags/standard/help-about.svg
new file mode 100644 (file)
index 0000000..ac3ce84
--- /dev/null
@@ -0,0 +1,3637 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:ns="http://ns.adobe.com/SaveForWeb/1.0/"
+   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"
+   version="1.0"
+   id="Livello_1"
+   width="48"
+   height="48"
+   viewBox="0 0 45.375 45"
+   overflow="visible"
+   enable-background="new 0 0 121 120"
+   xml:space="preserve"
+   style="overflow:visible"><defs
+   id="defs2126"><linearGradient
+   id="linearGradient3885"><stop
+     style="stop-color:#00316e;stop-opacity:1;"
+     offset="0"
+     id="stop3887" /><stop
+     style="stop-color:#00316e;stop-opacity:0;"
+     offset="1"
+     id="stop3889" /></linearGradient><linearGradient
+   id="linearGradient3873"><stop
+     style="stop-color:#00316e;stop-opacity:1;"
+     offset="0"
+     id="stop3875" /><stop
+     style="stop-color:#00316e;stop-opacity:0;"
+     offset="1"
+     id="stop3877" /></linearGradient><linearGradient
+   id="linearGradient4741"><stop
+     style="stop-color:#00316e;stop-opacity:1;"
+     offset="0"
+     id="stop4743" /><stop
+     style="stop-color:#00316e;stop-opacity:0;"
+     offset="1"
+     id="stop4745" /></linearGradient><linearGradient
+   id="linearGradient4021"><stop
+     id="stop4023"
+     offset="0"
+     style="stop-color:#a4c0e4;stop-opacity:1" /><stop
+     id="stop4025"
+     offset="1"
+     style="stop-color:#a4c0e4;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4013"><stop
+     id="stop4015"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop4019"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4007"><stop
+     id="stop4009"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4011"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4001"><stop
+     id="stop4003"
+     offset="0"
+     style="stop-color:#00316e;stop-opacity:1" /><stop
+     id="stop4005"
+     offset="1"
+     style="stop-color:#00316e;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient2868"><stop
+     id="stop2870"
+     offset="0"
+     style="stop-color:#00c4cc;stop-opacity:1" /><stop
+     id="stop2872"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient6212"><stop
+     style="stop-color:#041424;stop-opacity:1;"
+     offset="0"
+     id="stop6214" /><stop
+     style="stop-color:#113e69;stop-opacity:0"
+     offset="1"
+     id="stop6216" /></linearGradient><linearGradient
+   id="linearGradient6181"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop6183" /><stop
+     id="stop6189"
+     offset="0.44777471"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#e0e0e0;stop-opacity:1;"
+     offset="0.59900987"
+     id="stop6191" /><stop
+     style="stop-color:#8f8f8f;stop-opacity:1;"
+     offset="1"
+     id="stop6185" /></linearGradient><linearGradient
+   id="linearGradient6138"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop6140" /><stop
+     offset="1"
+     style="stop-color:#004c98;stop-opacity:1;"
+     id="stop6142" /></linearGradient><linearGradient
+   id="linearGradient5990"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5992" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5994" /></linearGradient><linearGradient
+   id="linearGradient5960"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     id="stop5962" /><stop
+     offset="1"
+     style="stop-color:#003871;stop-opacity:1;"
+     id="stop5964" /></linearGradient><linearGradient
+   id="linearGradient5919"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop5921" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop5923" /></linearGradient><linearGradient
+   id="linearGradient4353"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101">
+               <stop
+   offset="0"
+   style="stop-color:#1174ac;stop-opacity:1;"
+   id="stop4355" />
+               <stop
+   offset="0.1"
+   style="stop-color:#68b4f2;stop-opacity:1;"
+   id="stop4357" />
+               <stop
+   offset="1"
+   style="stop-color:#00a1f3;stop-opacity:1;"
+   id="stop4359" />
+       </linearGradient><linearGradient
+   id="linearGradient4343"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001">
+               <stop
+   offset="0"
+   style="stop-color:#0087bf;stop-opacity:1;"
+   id="stop4345" />
+               <stop
+   offset="0.05"
+   style="stop-color:#ffffff;stop-opacity:0;"
+   id="stop4347" />
+               <stop
+   offset="0.94999999"
+   style="stop-color:#ffffff;stop-opacity:0.6392405;"
+   id="stop4349" />
+               <stop
+   offset="1"
+   style="stop-color:#116dac;stop-opacity:1;"
+   id="stop4351" />
+       </linearGradient><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8736"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_268_"
+   id="linearGradient8738"
+   gradientUnits="userSpaceOnUse"
+   x1="104.4932"
+   y1="91.435501"
+   x2="104.4932"
+   y2="97.716797" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8740"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8742"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8744"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8746"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8748"
+   gradientUnits="userSpaceOnUse"
+   x1="79.5"
+   y1="93"
+   x2="79.5"
+   y2="91.174004" /><radialGradient
+   xlink:href="#XMLID_281_"
+   id="radialGradient8750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699" /><linearGradient
+   xlink:href="#XMLID_283_"
+   id="linearGradient8752"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804" /><linearGradient
+   xlink:href="#XMLID_284_"
+   id="linearGradient8754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659" /><linearGradient
+   xlink:href="#XMLID_285_"
+   id="linearGradient8756"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897" /><linearGradient
+   xlink:href="#XMLID_286_"
+   id="linearGradient8758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202" /><linearGradient
+   xlink:href="#XMLID_287_"
+   id="linearGradient8760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(-90,25,191)"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251" /><linearGradient
+   xlink:href="#XMLID_288_"
+   id="linearGradient8762"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904" /><linearGradient
+   xlink:href="#XMLID_289_"
+   id="linearGradient8764"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_290_"
+   id="linearGradient8766"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(90,-11.00025,209.00025)"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851" /><linearGradient
+   xlink:href="#XMLID_291_"
+   id="linearGradient8768"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_292_"
+   id="linearGradient8770"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204" /><linearGradient
+   xlink:href="#XMLID_293_"
+   id="linearGradient8772"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601" /><linearGradient
+   xlink:href="#XMLID_298_"
+   id="linearGradient8774"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_299_"
+   id="linearGradient8776"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_300_"
+   id="linearGradient8778"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268" /><linearGradient
+   xlink:href="#XMLID_301_"
+   id="linearGradient8780"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268" /><radialGradient
+   xlink:href="#XMLID_302_"
+   id="radialGradient8782"
+   gradientUnits="userSpaceOnUse"
+   cx="38.211399"
+   cy="62.580101"
+   fx="38.123001"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_303_"
+   id="radialGradient8784"
+   gradientUnits="userSpaceOnUse"
+   cx="40.436001"
+   cy="62.580101"
+   fx="40.348598"
+   fy="62.5037"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_304_"
+   id="radialGradient8786"
+   gradientUnits="userSpaceOnUse"
+   cx="42.660599"
+   cy="62.580101"
+   fx="42.561901"
+   fy="62.491299"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_305_"
+   id="radialGradient8788"
+   gradientUnits="userSpaceOnUse"
+   cx="44.8857"
+   cy="62.580101"
+   fx="44.754902"
+   fy="62.4711"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_306_"
+   id="linearGradient8790"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_307_"
+   id="linearGradient8792"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_308_"
+   id="linearGradient8794"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501" /><linearGradient
+   xlink:href="#XMLID_309_"
+   id="linearGradient8796"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501" /><radialGradient
+   xlink:href="#XMLID_310_"
+   id="radialGradient8798"
+   gradientUnits="userSpaceOnUse"
+   cx="52.3447"
+   cy="67.421898"
+   fx="52.256302"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_311_"
+   id="radialGradient8800"
+   gradientUnits="userSpaceOnUse"
+   cx="54.569302"
+   cy="67.421898"
+   fx="54.481899"
+   fy="67.345497"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_312_"
+   id="radialGradient8802"
+   gradientUnits="userSpaceOnUse"
+   cx="56.7939"
+   cy="67.421898"
+   fx="56.695202"
+   fy="67.333099"
+   r="0.32710001" /><radialGradient
+   xlink:href="#XMLID_313_"
+   id="radialGradient8804"
+   gradientUnits="userSpaceOnUse"
+   cx="59.0186"
+   cy="67.421898"
+   fx="58.887699"
+   fy="67.312897"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_314_"
+   id="linearGradient8806"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601" /><radialGradient
+   xlink:href="#XMLID_315_"
+   id="radialGradient8808"
+   gradientUnits="userSpaceOnUse"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8810"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_207_"
+   id="linearGradient8812"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-10.79"
+   y1="0"
+   x2="10.7891"
+   y2="0" /><linearGradient
+   xlink:href="#XMLID_208_"
+   id="linearGradient8814"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.1309,0,0,-0.1309,31.2653,18.9388)"
+   x1="-0.00048828119"
+   y1="-10.7891"
+   x2="-0.00048877468"
+   y2="0.5" /><linearGradient
+   xlink:href="#XMLID_210_"
+   id="linearGradient8816"
+   gradientUnits="userSpaceOnUse"
+   x1="-15.0005"
+   y1="6.5"
+   x2="14.9995"
+   y2="6.5" /><linearGradient
+   xlink:href="#XMLID_349_"
+   id="linearGradient8832"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798" /><linearGradient
+   xlink:href="#XMLID_350_"
+   id="linearGradient8834"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001" /><linearGradient
+   xlink:href="#XMLID_351_"
+   id="linearGradient8836"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101" /><linearGradient
+   xlink:href="#XMLID_352_"
+   id="linearGradient8838"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient8840"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient8842"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient8844"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient8846"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient8848"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19528"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient19530"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><radialGradient
+   id="XMLID_328_"
+   cx="112.0176"
+   cy="70.366203"
+   r="7.0664001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+               <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop1539" />
+               <stop
+   offset="0.6568"
+   style="stop-color:#555753"
+   id="stop1541" />
+               <stop
+   offset="0.8402"
+   style="stop-color:#DDDDDD"
+   id="stop1543" />
+               <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1545" />
+       </radialGradient><linearGradient
+   xlink:href="#XMLID_220_"
+   id="linearGradient3706"
+   gradientUnits="userSpaceOnUse"
+   x1="0.7852"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><linearGradient
+   xlink:href="#XMLID_221_"
+   id="linearGradient3708"
+   gradientUnits="userSpaceOnUse"
+   x1="5.2343998"
+   y1="91.173798"
+   x2="5.2343998"
+   y2="68.926804" /><linearGradient
+   xlink:href="#XMLID_222_"
+   id="linearGradient3710"
+   gradientUnits="userSpaceOnUse"
+   x1="2.2246001"
+   y1="80.050797"
+   x2="9.1602001"
+   y2="80.050797" /><radialGradient
+   xlink:href="#XMLID_353_"
+   id="radialGradient3712"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="579.21582"
+   r="1.702" /><radialGradient
+   xlink:href="#XMLID_354_"
+   id="radialGradient3714"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5249"
+   cy="581.23828"
+   r="1.8181" /><linearGradient
+   xlink:href="#XMLID_355_"
+   id="linearGradient3716"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.5751,3.367,522.1128)"
+   x1="1.5889"
+   y1="743.79388"
+   x2="1.5889"
+   y2="741.36517" /><radialGradient
+   xlink:href="#XMLID_356_"
+   id="radialGradient3718"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,-0.9706,3.367,659.6846)"
+   cx="1.5898"
+   cy="582.99017"
+   r="1.6033" /><radialGradient
+   xlink:href="#XMLID_357_"
+   id="radialGradient3720"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="62.296902"
+   r="1.6866" /><radialGradient
+   xlink:href="#XMLID_358_"
+   id="radialGradient3722"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.5249"
+   cy="64.318398"
+   r="1.8414" /><radialGradient
+   xlink:href="#XMLID_359_"
+   id="radialGradient3724"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0102,0,0,0.9706,3.367,1.9839)"
+   cx="1.6543"
+   cy="65.9375"
+   r="1.5302" /><linearGradient
+   xlink:href="#XMLID_360_"
+   id="linearGradient3726"
+   gradientUnits="userSpaceOnUse"
+   x1="5.54"
+   y1="62.4492"
+   x2="7.1973"
+   y2="62.4492" /><linearGradient
+   xlink:href="#linearGradient4353"
+   id="linearGradient3728"
+   gradientUnits="userSpaceOnUse"
+   x1="9.5527"
+   y1="79.789101"
+   x2="19.367701"
+   y2="79.789101" /><linearGradient
+   xlink:href="#linearGradient4343"
+   id="linearGradient3730"
+   gradientUnits="userSpaceOnUse"
+   x1="16.2271"
+   y1="91.828102"
+   x2="16.226999"
+   y2="67.749001"
+   gradientTransform="matrix(1,0,0,0.7186714,0,19.059732)" /><linearGradient
+   xlink:href="#XMLID_363_"
+   id="linearGradient3732"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.2826,0,380.4185)"
+   x1="13.0859"
+   y1="1033.9258"
+   x2="19.367701"
+   y2="1033.9258" /><linearGradient
+   xlink:href="#XMLID_364_"
+   id="linearGradient3734"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,-0.3392,0,157.863)"
+   x1="13.0859"
+   y1="275.6973"
+   x2="19.367701"
+   y2="275.6973" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3736"
+   gradientUnits="userSpaceOnUse"
+   x1="14.4604"
+   y1="61.991199"
+   x2="14.4604"
+   y2="60.944302" /><radialGradient
+   xlink:href="#XMLID_366_"
+   id="radialGradient3738"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="48.597198"
+   r="1.1084" /><radialGradient
+   xlink:href="#XMLID_367_"
+   id="radialGradient3740"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.17188"
+   cy="49.9258"
+   r="1.2096" /><radialGradient
+   xlink:href="#XMLID_368_"
+   id="radialGradient3742"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,0.7349,-536.3669,27.4873)"
+   cx="-546.15143"
+   cy="50.9888"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_369_"
+   id="linearGradient3744"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,1,-533,8.5)"
+   x1="-547.96039"
+   y1="54.700199"
+   x2="-546.87109"
+   y2="54.700199" /><radialGradient
+   xlink:href="#XMLID_370_"
+   id="radialGradient3746"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="727.67682"
+   r="1.1083" /><radialGradient
+   xlink:href="#XMLID_371_"
+   id="radialGradient3748"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.17188"
+   cy="729.00592"
+   r="1.21" /><radialGradient
+   xlink:href="#XMLID_372_"
+   id="radialGradient3750"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.0102,0,0,-0.7349,-536.3669,630.9268)"
+   cx="-546.15143"
+   cy="730.06842"
+   r="1.0506999" /><linearGradient
+   xlink:href="#XMLID_373_"
+   id="linearGradient3752"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(180,-266.5,324.95705)"
+   x1="-547.96039"
+   y1="553.74408"
+   x2="-546.87109"
+   y2="553.74408" /><linearGradient
+   xlink:href="#XMLID_374_"
+   id="linearGradient3754"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199" /><linearGradient
+   xlink:href="#XMLID_375_"
+   id="linearGradient3756"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-32.039959)"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_376_"
+   id="linearGradient3758"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399" /><linearGradient
+   xlink:href="#XMLID_377_"
+   id="linearGradient3760"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,-38.799371)"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3762"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient3764"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient4705"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient4707"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(180,255,93)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient4709"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient4711"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient4713"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(-90,379.001,93.001)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient4715"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(90,111.001,-51.001)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   xlink:href="#XMLID_320_"
+   id="linearGradient5061"
+   gradientUnits="userSpaceOnUse"
+   x1="73.092796"
+   y1="65.052696"
+   x2="94.161598"
+   y2="80.232803" /><linearGradient
+   xlink:href="#XMLID_321_"
+   id="linearGradient5063"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(180,255,93)"
+   x1="426.37891"
+   y1="106.7354"
+   x2="426.37891"
+   y2="103.8564" /><linearGradient
+   xlink:href="#XMLID_365_"
+   id="linearGradient5065"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,3.2883295,0,-181.08468)"
+   x1="83.621101"
+   y1="79.570297"
+   x2="83.621101"
+   y2="79.133797" /><linearGradient
+   xlink:href="#XMLID_323_"
+   id="linearGradient5067"
+   gradientUnits="userSpaceOnUse"
+   x1="83.621101"
+   y1="65.917"
+   x2="83.621101"
+   y2="63.038101" /><linearGradient
+   xlink:href="#XMLID_324_"
+   id="linearGradient5069"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(-90,379.001,93.001)"
+   x1="399.4111"
+   y1="-211.6714"
+   x2="399.4111"
+   y2="-214.55029" /><linearGradient
+   xlink:href="#XMLID_325_"
+   id="linearGradient5071"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(90,111.001,-51.001)"
+   x1="234.5928"
+   y1="-32.7817"
+   x2="234.5928"
+   y2="-35.660599" /><linearGradient
+   id="linearGradient2528"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop2530" /><stop
+     id="stop2532"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop2534" /></linearGradient><linearGradient
+   gradientTransform="rotate(90,-90.0007,50.0022)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2536"><stop
+     id="stop2538"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2540"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2542"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop2544" /><stop
+     id="stop2546"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop2548" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient2550"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient2552"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop2554" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop2556" /></linearGradient><linearGradient
+   gradientTransform="rotate(90,-90.0007,50.0022)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2558"><stop
+     id="stop2560"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop2562"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient2564"><stop
+     id="stop2566"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop2568"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient2570"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop2572" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop2574" /></linearGradient><linearGradient
+   id="linearGradient2576"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop2578" /><stop
+     id="stop2580"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2582"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop2584" /></linearGradient><linearGradient
+   id="linearGradient2586"><stop
+     id="stop2588"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop2590"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2592"><stop
+     id="stop2594"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop2596"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient2604"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop2606" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop2608" /></linearGradient><radialGradient
+   xlink:href="#linearGradient3291"
+   id="radialGradient2610"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.197802,0,92.82166)"
+   cx="63.912209"
+   cy="115.70919"
+   fx="63.975182"
+   fy="116.88514"
+   r="63.912209" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient2612"
+   xlink:href="#linearGradient5073" /><foreignObject
+   id="foreignObject2620"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="linearGradient2622"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop2624" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop2626" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop2628" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop2630" /></linearGradient><linearGradient
+   id="linearGradient2632"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop2634" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop2636" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop2638" /></linearGradient><linearGradient
+   id="linearGradient2640"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop2642" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop2644" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2646"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient3711"
+   id="radialGradient2648"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   xlink:href="#linearGradient3711"
+   id="linearGradient2650"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0,1.591298,-1.591298,0,-146.0489,141.4862)"
+   x1="-88.058083"
+   y1="-131.93112"
+   x2="-45.096584"
+   y2="-131.93112" /><linearGradient
+   xlink:href="#linearGradient6537"
+   id="linearGradient2652"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="rotate(90,-90.0007,50.0022)"
+   x1="-70.002899"
+   y1="-383.9971"
+   x2="-11.91648"
+   y2="-383.9971" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2654"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient2656"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   id="linearGradient8332"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:white;stop-opacity:0;"
+     id="stop8334" /><stop
+     id="stop8340"
+     style="stop-color:#005ab5;stop-opacity:0;"
+     offset="0.8125" /><stop
+     offset="1"
+     style="stop-color:#005ab5;stop-opacity:1;"
+     id="stop8336" /></linearGradient><linearGradient
+   gradientTransform="rotate(90,-90.0007,50.0022)"
+   y2="-383.9971"
+   x2="-12.0029"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient6537"><stop
+     id="stop6539"
+     style="stop-color:#0081ec;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop6541"
+     style="stop-color:#0057ae;stop-opacity:1;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3954"><stop
+     style="stop-color:#b3b3b3;stop-opacity:1;"
+     offset="0"
+     id="stop3956" /><stop
+     id="stop3962"
+     offset="0.52879584"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#c5c5c5;stop-opacity:1;"
+     offset="1"
+     id="stop3958" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3954"
+   id="linearGradient3112"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.947013,0,0,0.947013,-91.07835,-17.66858)"
+   x1="129.2838"
+   y1="126.57678"
+   x2="188.37695"
+   y2="50.386463" /><linearGradient
+   id="linearGradient26907"
+   gradientUnits="userSpaceOnUse"
+   x1="-84.002403"
+   y1="-383.9971"
+   x2="-12.0029"
+   y2="-383.9971"
+   gradientTransform="rotate(90,-90.0007,50.0022)"><stop
+     offset="0"
+     style="stop-color:#888a85;stop-opacity:1;"
+     id="stop26909" /><stop
+     offset="1"
+     style="stop-color:#2e3436;stop-opacity:1;"
+     id="stop26911" /></linearGradient><linearGradient
+   gradientTransform="rotate(90,-90.0007,50.0022)"
+   y2="-383.9975"
+   x2="-23.516129"
+   y1="-383.9971"
+   x1="-84.002403"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3711"><stop
+     id="stop3713"
+     style="stop-color:white;stop-opacity:1;"
+     offset="0" /><stop
+     id="stop3715"
+     style="stop-color:white;stop-opacity:0;"
+     offset="1" /></linearGradient><linearGradient
+   id="linearGradient3081"><stop
+     id="stop3083"
+     offset="0"
+     style="stop-color:#28691f;stop-opacity:1;" /><stop
+     id="stop3085"
+     offset="1"
+     style="stop-color:#00bf00;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient3290"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop3292" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop3294" /></linearGradient><linearGradient
+   id="linearGradient3638"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop3640" /><stop
+     id="stop3661"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop3659"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop3642" /></linearGradient><linearGradient
+   id="linearGradient1563"><stop
+     id="stop5369"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop5371"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient3273"><stop
+     id="stop3275"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop3277"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient12948"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop12950" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop12952" /></linearGradient><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.111111,0,138.1081)"
+   r="64.796692"
+   fy="177.29686"
+   fx="80.738739"
+   cy="155.37218"
+   cx="80.738739"
+   id="radialGradient5079"
+   xlink:href="#linearGradient5073" /><linearGradient
+   id="linearGradient5073"><stop
+     id="stop5075"
+     offset="0"
+     style="stop-color:#000000;stop-opacity:1;" /><stop
+     id="stop5077"
+     offset="1"
+     style="stop-color:#000000;stop-opacity:0;" /></linearGradient><foreignObject
+   id="foreignObject7221"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/" /><linearGradient
+   id="XMLID_1_"
+   gradientUnits="userSpaceOnUse"
+   x1="95.693398"
+   y1="141.1738"
+   x2="32.308601"
+   y2="77.789001"><stop
+     offset="0"
+     style="stop-color:#75511A"
+     id="stop7227" /><stop
+     offset="0.3988"
+     style="stop-color:#563A11"
+     id="stop7229" /><stop
+     offset="0.7642"
+     style="stop-color:#402B0B"
+     id="stop7231" /><stop
+     offset="1"
+     style="stop-color:#382509"
+     id="stop7233" /></linearGradient><linearGradient
+   id="XMLID_3_"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="92.865196"
+   x2="63.9995"
+   y2="120.8652"
+   gradientTransform="translate(175.0067,11.74752)"><stop
+     offset="0"
+     style="stop-color:#888A85"
+     id="stop7261" /><stop
+     offset="0.3226"
+     style="stop-color:#A6A7A3"
+     id="stop7263" /><stop
+     offset="1"
+     style="stop-color:#EEEEEC"
+     id="stop7265" /></linearGradient><linearGradient
+   id="XMLID_4_"
+   gradientUnits="userSpaceOnUse"
+   x1="64.000504"
+   y1="108.8652"
+   x2="64.000504"
+   y2="92.865196"><stop
+     offset="0"
+     style="stop-color:#EEEEEC"
+     id="stop7270" /><stop
+     offset="1"
+     style="stop-color:#FFFFFF"
+     id="stop7272" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3081"
+   id="linearGradient2149"
+   gradientUnits="userSpaceOnUse"
+   x1="62.112335"
+   y1="90.513916"
+   x2="67.887672"
+   y2="39.095695" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8330"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient8332"
+   id="radialGradient8345"
+   gradientUnits="userSpaceOnUse"
+   cx="343.99899"
+   cy="92"
+   fx="343.99899"
+   fy="92"
+   r="36" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18746"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18674"
+   xlink:href="#linearGradient18668" />
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18649">
+                       <stop
+   id="stop18651"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop18653"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18657"
+   xlink:href="#XMLID_2_" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-0.02959381,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient15986"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15977"
+   xlink:href="#linearGradient2309" /><linearGradient
+   gradientTransform="translate(1.470416e-5)"
+   y2="30.441185"
+   x2="27.719746"
+   y1="7.881104"
+   x1="27.719746"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15973"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14189"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820709"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient14180"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient12378"
+   xlink:href="#XMLID_2_" />
+       
+<foreignObject
+   id="foreignObject7"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject>
+       <radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2467"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2465"
+   xlink:href="#XMLID_7_" /><linearGradient
+   y2="96.000198"
+   x2="88.000198"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2397"
+   xlink:href="#XMLID_12_" /><linearGradient
+   y2="95.292999"
+   x2="87.292999"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2395"
+   xlink:href="#XMLID_11_" /><linearGradient
+   y2="94.586502"
+   x2="86.586502"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2393"
+   xlink:href="#XMLID_10_" /><linearGradient
+   y2="94.536598"
+   x2="86.535599"
+   y1="102.3447"
+   x1="94.343803"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2391"
+   xlink:href="#XMLID_9_" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="XMLID_2_">
+                       <stop
+   id="stop12"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop14"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient15967"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop15969" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop15971" />
+               </linearGradient><linearGradient
+   id="linearGradient18668"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   id="stop18670" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop18672" />
+               </linearGradient><linearGradient
+   id="linearGradient3291"><stop
+     id="stop3293"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop3295"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient5904"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient5908"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5925"
+   x1="-176.11095"
+   y1="28.732603"
+   x2="-160.81332"
+   y2="122.61434"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248)" /><filter
+   id="filter5956"><feGaussianBlur
+     stdDeviation="0.55418773"
+     id="feGaussianBlur5958" /></filter><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5984"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient5986"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><filter
+   id="filter6074"
+   x="-0.0744"
+   width="1.1488"
+   y="-0.0744"
+   height="1.1488"><feGaussianBlur
+     stdDeviation="1.9027942"
+     id="feGaussianBlur6076" /></filter><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath6080"><path
+     d="m -135.842,93.331604 a 30.69023,30.69023 0 1 1 -61.38046,0 30.69023,30.69023 0 1 1 61.38046,0 z"
+     id="path6082"
+     style="opacity:1;fill:url(#radialGradient6084);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter6074)" /></clipPath><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6084"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6086"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient6187"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4728999"
+   gradientTransform="matrix(10.171775,0,0,6.7817499,1868.2052,-590.26609)"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient6193"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient6218"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient6236"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient6240"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#XMLID_329_"
+   id="linearGradient4067"
+   gradientUnits="userSpaceOnUse"
+   x1="108.0918"
+   y1="70.889603"
+   x2="105.4746"
+   y2="70.889603" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4076"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4728999" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4088"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4090"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4092"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4094"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4096"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4098"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4100"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4117"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4119"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4121"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4123"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4125"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(0.3781248)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4127"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4129"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-5.1548206,-3.8574516)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient4131"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453125,-4.794245,-0.352716)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4133"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3193.9373,-1189.4586)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4728999" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4138"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4728999" /><radialGradient
+   xlink:href="#linearGradient6212"
+   id="radialGradient4150"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.4591887,0,0,1,-40.023272,0)"
+   cx="87.160835"
+   cy="48.36097"
+   fx="87.160835"
+   fy="48.36097"
+   r="27.455904" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient4166"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient4168"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient4170"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4180"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1140.7476)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4728999" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4185"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-19.475787,0,0,12.984943,-3359.9923,-1138.9967)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4728999" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4227"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.683805,0,0,-12.950746,-3045.9942,1253.793)"
+   cx="-176.15092"
+   cy="89.700104"
+   fx="-176.15092"
+   fy="89.700104"
+   r="6.4728999" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4241"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-17.686733,0,0,-11.843809,-3046.506,1155.1878)"
+   cx="-175.51489"
+   cy="93.132141"
+   fx="-175.51489"
+   fy="93.132141"
+   r="6.4728999" /><radialGradient
+   xlink:href="#linearGradient6181"
+   id="radialGradient4243"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(17.683805,0,0,-12.950746,3161.348,1253.793)"
+   cx="-175.51489"
+   cy="95.502762"
+   fx="-175.51489"
+   fy="95.502762"
+   r="6.4728999" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2951"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2954"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2957"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2961"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-161.52484"
+   y2="101.12339" /><clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath3577"><path
+     id="path3579"
+     d="m 46.363028,30.704362 v -1.466724 c 1.9e-5,-6.774738 4.97698,-12.185191 11.144596,-12.185191 6.167617,0 11.144587,5.410472 11.144587,12.185191 v 1.466724 c -8.794947,-11.019163 -13.527895,-9.608328 -22.289183,0 z"
+     style="fill:#0a0a0a;fill-opacity:0.316872;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /></clipPath><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient2850"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient2852"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient2854"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2856"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2858"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2860"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient2862"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient2866"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient3891"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient3893"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient3895"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3897"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3899"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3901"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3903"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3905"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><radialGradient
+   xlink:href="#linearGradient2868"
+   id="radialGradient3960"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.5375647,0,0,0.6578174,-77.010381,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient5960"
+   id="radialGradient3962"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="84.275475"
+   fx="-166.53223"
+   fy="84.275475"
+   r="31.190229"
+   gradientTransform="matrix(-0.70908403,0,0,0.70908403,-95.541764,-43.460963)" /><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient3964"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7016685,0,0,0.5467942,-49.681808,30.67963)"
+   cx="-166.53223"
+   cy="73.108307"
+   fx="-166.53223"
+   fy="73.108307"
+   r="31.190229" /><radialGradient
+   xlink:href="#linearGradient6138"
+   id="radialGradient3966"
+   gradientUnits="userSpaceOnUse"
+   cx="-166.53223"
+   cy="116.62209"
+   fx="-166.53223"
+   fy="116.62209"
+   r="31.190229"
+   gradientTransform="matrix(-0.59969993,0,0,0.59969993,-77.325984,-33.335583)" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3968"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.9146891,0,0,1.9146891,382.66651,-124.61901)"
+   x1="-165.45718"
+   y1="54.347218"
+   x2="-150.48445"
+   y2="110.22622" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3970"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3972"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.07264,-132.00483)"
+   x1="-141.69565"
+   y1="130.50459"
+   x2="-196.51477"
+   y2="91.532112" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3974"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.8099795,0,0,1.8099795,372.76303,-125.29435)"
+   x1="-176.82246"
+   y1="62.791336"
+   x2="-176.82246"
+   y2="89.160271" /><linearGradient
+   xlink:href="#linearGradient5990"
+   id="linearGradient3977"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.63302157,0,0,0.63302157,132.73388,-41.579729)"
+   x1="-176.82246"
+   y1="72.392433"
+   x2="-176.14407"
+   y2="95.831161" /><linearGradient
+   xlink:href="#linearGradient4013"
+   id="linearGradient3980"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.63302157,0,0,0.63302157,132.49242,-43.92665)"
+   x1="-158.7686"
+   y1="114.56229"
+   x2="-181.66037"
+   y2="92.122795" /><linearGradient
+   xlink:href="#linearGradient5919"
+   id="linearGradient3983"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.63302157,0,0,0.63302157,132.73388,-41.579729)"
+   x1="-176.82246"
+   y1="5.9640594"
+   x2="-176.82246"
+   y2="109.09552" /><linearGradient
+   xlink:href="#linearGradient4021"
+   id="linearGradient3987"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.66964265,0,0,0.66964265,136.19753,-41.343532)"
+   x1="-150.48445"
+   y1="68.066399"
+   x2="-150.48445"
+   y2="117.80468" /><linearGradient
+   xlink:href="#linearGradient4741"
+   id="linearGradient4747"
+   x1="-175.8602"
+   y1="125.05635"
+   x2="-174.98068"
+   y2="67.385735"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#linearGradient3873"
+   id="radialGradient3879"
+   cx="58.609375"
+   cy="39.361935"
+   fx="58.609375"
+   fy="39.361935"
+   r="11.462072"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(3.9306215,0,0,1.1236544,-171.76189,-4.5553292)" /><filter
+   id="filter3881"><feGaussianBlur
+     stdDeviation="0.45848289"
+     id="feGaussianBlur3883" /></filter><radialGradient
+   xlink:href="#linearGradient3885"
+   id="radialGradient3892"
+   cx="61.031124"
+   cy="77.887314"
+   fx="61.031124"
+   fy="77.887314"
+   r="17.015625"
+   gradientTransform="matrix(2.8701665,0,0,2.3395648,-113.14508,-101.5491)"
+   gradientUnits="userSpaceOnUse" /><filter
+   id="filter3894"><feGaussianBlur
+     stdDeviation="0.8696875"
+     id="feGaussianBlur3896" /></filter><filter
+   id="filter3925"><feGaussianBlur
+     stdDeviation="0.1153125"
+     id="feGaussianBlur3927" /></filter><filter
+   style="color-interpolation-filters:sRGB"
+   id="filter642"
+   x="-0.024"
+   width="1.048"
+   y="-0.024"
+   height="1.048"><feGaussianBlur
+     stdDeviation="0.61380459"
+     id="feGaussianBlur644" /></filter><filter
+   id="filter648"><feGaussianBlur
+     stdDeviation="1.9142018"
+     id="feGaussianBlur646" /></filter><radialGradient
+   xlink:href="#linearGradient5990"
+   id="radialGradient644"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.6578174,0,22.562908)"
+   cx="-166.53223"
+   cy="65.938202"
+   fx="-166.53223"
+   fy="65.938202"
+   r="31.190229" /></defs>
+<metadata
+   id="metadata3">
+       <ns:sfw>
+               <ns:slices />
+               <ns:sliceSourceBounds
+   x="4"
+   y="3"
+   height="120"
+   width="121"
+   bottomLeftOrigin="true" />
+       </ns:sfw>
+<rdf:RDF><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata>
+<filter
+   id="AI_Sfocatura_3">
+       <feGaussianBlur
+   stdDeviation="3"
+   id="feGaussianBlur6" />
+</filter>
+<filter
+   id="AI_Sfocatura_2">
+       <feGaussianBlur
+   stdDeviation="2"
+   id="feGaussianBlur9" />
+</filter>
+<filter
+   id="AI_Sfocatura_1">
+       <feGaussianBlur
+   stdDeviation="1"
+   id="feGaussianBlur12" />
+</filter>
+<circle
+   style="display:none;fill:url(#linearGradient4747);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter642)"
+   id="path4723"
+   transform="matrix(-1.7683599,0,0,1.7683599,-233.98893,-105.04387)"
+   clip-path="none"
+   cx="-166.53223"
+   cy="93.331604"
+   r="30.690229" /><circle
+   style="display:inline;opacity:1;fill:url(#radialGradient644);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter648)"
+   id="path3915"
+   transform="matrix(-0.71420092,0,0,0.71420092,-96.393886,-43.938528)"
+   cx="-166.53223"
+   cy="93.331604"
+   r="30.690229" /><circle
+   style="display:inline;fill:url(#radialGradient3960);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter6074)"
+   id="path2864"
+   transform="matrix(-0.70908403,0,0,-0.70908403,-95.541763,88.89894)"
+   clip-path="url(#clipPath6080)"
+   cx="-166.53223"
+   cy="93.331604"
+   r="30.690229" /><path
+   d="m 0.78163486,22.718987 a 21.761952,21.761952 0 1 0 43.52390314,0 21.761952,21.761952 0 1 0 -43.52390314,0 z"
+   id="path5515"
+   style="fill:url(#radialGradient3962);fill-opacity:1;stroke:none;stroke-width:0.709084;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   clip-path="url(#clipPath6080)"
+   transform="matrix(-0.70908403,0,0,0.70908403,-95.541763,-43.460962)"
+   d="m -135.842,93.331604 a 30.69023,30.69023 0 1 1 -61.38046,0 30.69023,30.69023 0 1 1 61.38046,0 z"
+   id="path6078"
+   style="fill:url(#radialGradient3964);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter6074)" /><path
+   style="fill:url(#radialGradient3966);fill-opacity:1;stroke:none;stroke-width:0.5997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   id="path5906"
+   d="m 4.138459,22.635373 a 18.404929,18.404929 0 1 0 36.809857,0 18.404929,18.404929 0 1 0 -36.809857,0 z" /><path
+   id="path5910"
+   d="m 22.541562,4.2370279 c -10.159524,0 -18.3971866,8.2376671 -18.3971866,18.3971891 0,0.945811 0.060001,1.881733 0.1978197,2.789252 9.701e-4,0.0064 -9.702e-4,0.0134 0,0.01978 3.868258,0.618715 7.9876249,0.929752 12.2647859,0.929752 9.137769,0 17.572434,-1.526944 24.331766,-4.09486 C 40.748702,12.282803 32.582077,4.2370296 22.541562,4.2370279 Z"
+   style="opacity:0.892193;fill:url(#linearGradient3987);fill-opacity:1;stroke:none;stroke-width:0.403878;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   transform="matrix(0.3112575,0,0,0.31399313,4.3009834,2.4977573)"
+   d="m 68.0625,35.421875 a 9.453125,9.453125 0 1 1 -18.90625,0 9.453125,9.453125 0 1 1 18.90625,0 z"
+   id="path3871"
+   style="opacity:0.3;fill:none;fill-opacity:1;stroke:url(#radialGradient3879);stroke-width:4.88501;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3881)" /><path
+   id="path5927"
+   transform="matrix(-0.63302156,0,0,0.63302156,-43.955477,-39.920484)"
+   d="m -134.09375,98.625 c -0.003,0.166656 -0.0312,0.332675 -0.0312,0.5 0,16.04925 13.0445,29.0625 29.09375,29.0625 16.049249,0 29.062503,-13.01325 29.0625,-29.0625 0,-0.167107 0.0028,-0.33356 0,-0.5 -0.267346,15.81875 -13.180358,28.5625 -29.0625,28.5625 -15.88193,0 -28.79481,-12.74404 -29.0625,-28.5625 z"
+   style="fill:#007fea;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter5956)" /><path
+   id="path5966"
+   d="m 22.530513,4.2501027 c -10.159517,0 -18.3971861,8.2376693 -18.3971861,18.3971923 0,0.09318 -0.00117,0.183978 0,0.276945 C 4.323197,12.92908 12.489998,4.8831226 22.530513,4.8831291 c 9.826992,0 17.862054,7.7091739 18.377409,17.4080909 0.0057,-0.0022 0.01406,0.0022 0.01979,0 C 40.73766,12.295879 32.571028,4.2501095 22.530513,4.2501027 Z"
+   style="fill:url(#linearGradient3983);fill-opacity:1;stroke:none;stroke-width:0.403878;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   id="path3869"
+   d="m 68.0625,86.468744 7.5625,6e-6 v 7.562494 H 45.375 V 86.46875 l 7.5625,-6e-6 V 56.21875 H 45.375 v -7.5625 h 22.6875 z"
+   style="font-style:normal;font-weight:normal;font-size:12px;font-family:'DejaVu Serif';opacity:0.5;fill:none;fill-opacity:1;stroke:url(#radialGradient3892);stroke-width:4.30188;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3894)"
+   transform="matrix(0.35344866,0,0,0.35655512,1.1599451,1.329841)" /><path
+   style="font-style:normal;font-weight:normal;font-size:12px;font-family:'DejaVu Serif';fill:#eeeeee;fill-opacity:1;stroke:none;stroke-width:0.403878px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+   d="m 25.597913,31.881964 h 3.054324 v 3.054324 H 16.434941 v -3.054324 h 3.054324 v -9.162973 h -3.054324 v -3.054324 h 9.162972 z"
+   id="text3862" /><path
+   style="opacity:0.8;fill:url(#linearGradient3977);fill-opacity:1;stroke:none;stroke-width:0.403878;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+   d="m 22.530513,4.2501027 c -10.159517,0 -18.3971861,8.2376693 -18.3971861,18.3971923 0,0.09318 -0.00117,1.71114 0,1.804107 C 4.323197,14.456242 12.489998,6.1570761 22.530513,6.1570829 c 9.826992,0 17.862054,7.9623821 18.377409,17.6612991 0.0057,-0.0022 0.01406,-1.524993 0.01979,-1.527162 C 40.73766,12.295879 32.571028,4.2501095 22.530513,4.2501027 Z"
+   id="path6088" />
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_281_"
+   cx="64.514603"
+   cy="55.775398"
+   r="49.631699"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#00892C"
+   id="stop645" />
+       <stop
+   offset="1"
+   style="stop-color:#006E29"
+   id="stop647" />
+</radialGradient>
+
+
+
+
+
+<linearGradient
+   id="XMLID_283_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="77.301804"
+   x2="47.241199"
+   y2="77.301804">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop671" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop673" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_284_"
+   gradientUnits="userSpaceOnUse"
+   x1="111.1143"
+   y1="152.97659"
+   x2="112.4229"
+   y2="152.97659"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-138.39,48.1647)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop680" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop682" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop684" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_285_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.679199"
+   y1="70.235397"
+   x2="41.679199"
+   y2="66.047897">
+       <stop
+   offset="0"
+   style="stop-color:#BBBBBB"
+   id="stop689" />
+       <stop
+   offset="0.2426"
+   style="stop-color:#EEEEEE"
+   id="stop691" />
+       <stop
+   offset="0.3965"
+   style="stop-color:#DDDDDD"
+   id="stop693" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#FFFFFF"
+   id="stop695" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_286_"
+   gradientUnits="userSpaceOnUse"
+   x1="-42.744099"
+   y1="79.451202"
+   x2="-41.435501"
+   y2="79.451202"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,137.1083,50.8834)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop700" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop702" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop704" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_287_"
+   gradientUnits="userSpaceOnUse"
+   x1="138.0439"
+   y1="219.52251"
+   x2="139.35249"
+   y2="219.52251"
+   gradientTransform="rotate(-90,25,191)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop709" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop711" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop713" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_288_"
+   gradientUnits="userSpaceOnUse"
+   x1="-28.4814"
+   y1="102.1904"
+   x2="-27.172899"
+   y2="102.1904"
+   gradientTransform="matrix(0.7071,0.7071,-0.7071,0.7071,147.9442,24.7194)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop718" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop720" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop722" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_289_"
+   gradientUnits="userSpaceOnUse"
+   x1="45.932598"
+   y1="79.657204"
+   x2="47.241199"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop727" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop729" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop731" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_290_"
+   gradientUnits="userSpaceOnUse"
+   x1="-140.9976"
+   y1="149.18851"
+   x2="-139.689"
+   y2="149.18851"
+   gradientTransform="rotate(90,-11.00025,209.00025)">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop736" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop738" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop740" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_291_"
+   gradientUnits="userSpaceOnUse"
+   x1="50.512699"
+   y1="79.657204"
+   x2="51.821301"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop745" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop747" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop749" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_292_"
+   gradientUnits="userSpaceOnUse"
+   x1="52.868198"
+   y1="79.657204"
+   x2="54.1768"
+   y2="79.657204">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop754" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop756" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop758" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_293_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.473099"
+   y1="80.032204"
+   x2="56.5452"
+   y2="79.281601">
+       <stop
+   offset="0"
+   style="stop-color:#DDDDDD"
+   id="stop763" />
+       <stop
+   offset="0.5"
+   style="stop-color:#FFFFFF"
+   id="stop765" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop767" />
+</linearGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_298_"
+   gradientUnits="userSpaceOnUse"
+   x1="37.1646"
+   y1="62.4268"
+   x2="39.389198"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop846" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop848" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_299_"
+   gradientUnits="userSpaceOnUse"
+   x1="43.838402"
+   y1="62.4268"
+   x2="46.063499"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop853" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop855" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_300_"
+   gradientUnits="userSpaceOnUse"
+   x1="39.389198"
+   y1="62.4268"
+   x2="41.6138"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop860" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop862" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_301_"
+   gradientUnits="userSpaceOnUse"
+   x1="41.6138"
+   y1="62.4268"
+   x2="43.838402"
+   y2="62.4268"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop867" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop869" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_302_"
+   cx="38.211399"
+   cy="62.580101"
+   r="0.32710001"
+   fx="38.123001"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop874" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop876" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop878" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_303_"
+   cx="40.436001"
+   cy="62.580101"
+   r="0.32710001"
+   fx="40.348598"
+   fy="62.5037"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop883" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop885" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop887" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_304_"
+   cx="42.660599"
+   cy="62.580101"
+   r="0.32710001"
+   fx="42.561901"
+   fy="62.491299"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop892" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop894" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop896" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_305_"
+   cx="44.8857"
+   cy="62.580101"
+   r="0.32710001"
+   fx="44.754902"
+   fy="62.4711"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop901" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop903" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop905" />
+</radialGradient>
+
+
+
+
+<linearGradient
+   id="XMLID_306_"
+   gradientUnits="userSpaceOnUse"
+   x1="51.297901"
+   y1="67.269501"
+   x2="53.522499"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop918" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop920" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_307_"
+   gradientUnits="userSpaceOnUse"
+   x1="57.971699"
+   y1="67.269501"
+   x2="60.196301"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop925" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop927" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_308_"
+   gradientUnits="userSpaceOnUse"
+   x1="53.522499"
+   y1="67.269501"
+   x2="55.747101"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop932" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop934" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_309_"
+   gradientUnits="userSpaceOnUse"
+   x1="55.747101"
+   y1="67.269501"
+   x2="57.971699"
+   y2="67.269501"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop939" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop941" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_310_"
+   cx="52.3447"
+   cy="67.421898"
+   r="0.32710001"
+   fx="52.256302"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop946" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop948" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop950" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_311_"
+   cx="54.569302"
+   cy="67.421898"
+   r="0.32710001"
+   fx="54.481899"
+   fy="67.345497"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop955" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop957" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop959" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_312_"
+   cx="56.7939"
+   cy="67.421898"
+   r="0.32710001"
+   fx="56.695202"
+   fy="67.333099"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop964" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop966" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop968" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_313_"
+   cx="59.0186"
+   cy="67.421898"
+   r="0.32710001"
+   fx="58.887699"
+   fy="67.312897"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop973" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop975" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop977" />
+</radialGradient>
+
+
+
+<linearGradient
+   id="XMLID_314_"
+   gradientUnits="userSpaceOnUse"
+   x1="33.369598"
+   y1="59.809601"
+   x2="35.5942"
+   y2="59.809601"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555555"
+   id="stop988" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop990" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_315_"
+   cx="34.4165"
+   cy="59.962898"
+   r="0.32710001"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0.2"
+   style="stop-color:#FFFFFF"
+   id="stop995" />
+       <stop
+   offset="0.4675"
+   style="stop-color:#DDDDDD"
+   id="stop997" />
+       <stop
+   offset="0.9408"
+   style="stop-color:#BBBBBB"
+   id="stop999" />
+</radialGradient>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<radialGradient
+   id="XMLID_332_"
+   cx="16.095699"
+   cy="16.320299"
+   r="5.3958998"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1606" />
+       <stop
+   offset="1"
+   style="stop-color:#B2F8FF"
+   id="stop1608" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_333_"
+   gradientUnits="userSpaceOnUse"
+   x1="16.096201"
+   y1="20.246599"
+   x2="16.096201"
+   y2="12.3945">
+       <stop
+   offset="0"
+   style="stop-color:#D6FEFF"
+   id="stop1613" />
+       <stop
+   offset="1"
+   style="stop-color:#89BFC4"
+   id="stop1615" />
+</linearGradient>
+
+<radialGradient
+   id="XMLID_334_"
+   cx="16.095699"
+   cy="26.1353"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#F9CADE"
+   id="stop1620" />
+       <stop
+   offset="1"
+   style="stop-color:#E88BB2"
+   id="stop1622" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_335_"
+   cx="16.095699"
+   cy="36.211399"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#D8E8C2"
+   id="stop1627" />
+       <stop
+   offset="0.2713"
+   style="stop-color:#D5E6BE"
+   id="stop1629" />
+       <stop
+   offset="0.563"
+   style="stop-color:#CBE1B1"
+   id="stop1631" />
+       <stop
+   offset="0.8632"
+   style="stop-color:#BAD79B"
+   id="stop1633" />
+       <stop
+   offset="1"
+   style="stop-color:#B1D28F"
+   id="stop1635" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_336_"
+   cx="16.095699"
+   cy="46.026402"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#FFDFBF"
+   id="stop1640" />
+       <stop
+   offset="0.2425"
+   style="stop-color:#FFDDBB"
+   id="stop1642" />
+       <stop
+   offset="0.5033"
+   style="stop-color:#FFD6AE"
+   id="stop1644" />
+       <stop
+   offset="0.7716"
+   style="stop-color:#FFCB98"
+   id="stop1646" />
+       <stop
+   offset="1"
+   style="stop-color:#FFBF80"
+   id="stop1648" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_337_"
+   cx="16.095699"
+   cy="55.971699"
+   r="5.3958001"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#555753"
+   id="stop1653" />
+       <stop
+   offset="0.3128"
+   style="stop-color:#515350"
+   id="stop1655" />
+       <stop
+   offset="0.6491"
+   style="stop-color:#444846"
+   id="stop1657" />
+       <stop
+   offset="0.9952"
+   style="stop-color:#2E3436"
+   id="stop1659" />
+       <stop
+   offset="1"
+   style="stop-color:#2E3436"
+   id="stop1661" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_338_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="16.320299"
+   x2="2907.6094"
+   y2="16.320299"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1666" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1668" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_339_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="26.1353"
+   x2="2907.6094"
+   y2="26.1353"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_347_"
+   spreadMethod="pad">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1673" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1675" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_340_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="36.211399"
+   x2="2907.6094"
+   y2="36.211399"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1680" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1682" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_341_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="46.026402"
+   x2="2907.6094"
+   y2="46.026402"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1687" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1689" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_342_"
+   gradientUnits="userSpaceOnUse"
+   x1="2894.5312"
+   y1="55.971699"
+   x2="2907.6094"
+   y2="55.971699"
+   gradientTransform="matrix(0.1,0,0,1,-279.9,0)"
+   xlink:href="#XMLID_365_">
+       <stop
+   offset="0"
+   style="stop-color:#101010"
+   id="stop1694" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop1696" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_349_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="118"
+   x2="7.4590001"
+   y2="99.548798"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1801" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1803" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1805" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1807" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1809" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1811" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1813" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1815" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1817" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_350_"
+   gradientUnits="userSpaceOnUse"
+   x1="7.4590001"
+   y1="7.8144999"
+   x2="7.4590001"
+   y2="0.093800001"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1822" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1824" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1826" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1828" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1830" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1832" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1834" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1836" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1838" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_351_"
+   gradientUnits="userSpaceOnUse"
+   x1="-632.2124"
+   y1="-33.373001"
+   x2="-632.2124"
+   y2="-41.121101"
+   gradientTransform="matrix(0,-1.1343751,0.9420039,0,38.736429,-709.41122)">
+       <stop
+   offset="0.15"
+   style="stop-color:#888A85"
+   id="stop1843" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1845" />
+       <stop
+   offset="0.6154"
+   style="stop-color:#D3D7CF"
+   id="stop1847" />
+       <stop
+   offset="0.6353"
+   style="stop-color:#C2C5BE"
+   id="stop1849" />
+       <stop
+   offset="0.6674"
+   style="stop-color:#ACAFA9"
+   id="stop1851" />
+       <stop
+   offset="0.7052"
+   style="stop-color:#9C9E99"
+   id="stop1853" />
+       <stop
+   offset="0.752"
+   style="stop-color:#90938D"
+   id="stop1855" />
+       <stop
+   offset="0.8177"
+   style="stop-color:#8A8C87"
+   id="stop1857" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1859" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_352_"
+   gradientUnits="userSpaceOnUse"
+   x1="-45.580101"
+   y1="55.333"
+   x2="-43.617199"
+   y2="55.333"
+   gradientTransform="matrix(1.1343751,0,0,0.942004,58.508963,6.0685759)">
+       <stop
+   offset="0"
+   style="stop-color:#EEEEEC"
+   id="stop1864" />
+       <stop
+   offset="0.15"
+   style="stop-color:#D3D7CF"
+   id="stop1866" />
+       <stop
+   offset="0.35"
+   style="stop-color:#D3D7CF"
+   id="stop1868" />
+       <stop
+   offset="0.5266"
+   style="stop-color:#EBF0E7"
+   id="stop1870" />
+       <stop
+   offset="0.8"
+   style="stop-color:#ADB0AA"
+   id="stop1872" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop1874" />
+</linearGradient>
+
+
+
+
+
+
+<linearGradient
+   id="XMLID_374_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="66.178703"
+   x2="13.7451"
+   y2="61.991199"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2052" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2054" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2056" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2058" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2060" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2062" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2064" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2066" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_375_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="65.131798"
+   x2="13.7451"
+   y2="63.038101"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2071" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2073" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2075" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2077" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_376_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="97.585899"
+   x2="13.7451"
+   y2="93.398399"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop2082" />
+       <stop
+   offset="0.2012"
+   style="stop-color:#FFFFFF"
+   id="stop2084" />
+       <stop
+   offset="0.2197"
+   style="stop-color:#EDEFEB"
+   id="stop2086" />
+       <stop
+   offset="0.242"
+   style="stop-color:#DEE1DB"
+   id="stop2088" />
+       <stop
+   offset="0.2673"
+   style="stop-color:#D6D9D2"
+   id="stop2090" />
+       <stop
+   offset="0.3018"
+   style="stop-color:#D3D7CF"
+   id="stop2092" />
+       <stop
+   offset="0.8698"
+   style="stop-color:#FFFFFF"
+   id="stop2094" />
+       <stop
+   offset="1"
+   style="stop-color:#888A85"
+   id="stop2096" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_377_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.7451"
+   y1="96.539101"
+   x2="13.7451"
+   y2="94.445297"
+   gradientTransform="matrix(0.9453125,0,0,0.9453126,-1.8475824e-5,7.5079089)">
+       <stop
+   offset="0"
+   style="stop-color:#BABDB6"
+   id="stop2101" />
+       <stop
+   offset="0.2959"
+   style="stop-color:#EEEEEC"
+   id="stop2103" />
+       <stop
+   offset="0.503"
+   style="stop-color:#EEEEEC"
+   id="stop2105" />
+       <stop
+   offset="1"
+   style="stop-color:#D3D7CF"
+   id="stop2107" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_378_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="64.084999"
+   x2="13.0947"
+   y2="64.084999">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2112" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2114" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_379_"
+   gradientUnits="userSpaceOnUse"
+   x1="13.998"
+   y1="95.492203"
+   x2="13.0947"
+   y2="95.492203">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop2119" />
+       <stop
+   offset="1"
+   style="stop-color:#000000"
+   id="stop2121" />
+</linearGradient>
+
+<path
+   id="path5974"
+   d="m 29.424457,5.568303 c 6.103504,2.9094364 11.122193,9.369966 11.258667,16.547873 -6.759332,2.567922 -16.318912,3.983051 -25.456681,3.983058 -3.558545,0.07543 -7.0039324,-0.04787 -10.9052464,-0.669879 9.702e-4,0.0064 -9.702e-4,0.01341 0,0.01978 3.86825,0.618708 7.9876294,0.929744 12.2647914,0.929744 9.13777,0 17.572434,-1.526932 24.331769,-4.094853 C 40.773888,14.717699 36.062725,8.2559472 29.424457,5.568303 Z"
+   style="opacity:0.6;fill:url(#linearGradient3980);fill-opacity:1;stroke:none;stroke-width:0.403878;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" /><path
+   style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:3.28595;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+   id="path3867"
+   d="m 26.40946,13.619983 a 3.8658685,3.8998452 0 1 1 -7.731736,0 3.8658685,3.8998452 0 1 1 7.731736,0 z" /><path
+   style="font-style:normal;font-weight:normal;font-size:12px;font-family:'DejaVu Serif';fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3925)"
+   d="m 45.758026,54.873536 v 8.899606 h 8.977826 v 8.899606 c 5.452253,-0.207704 12.744734,0.580453 17.955651,0 V 54.873536 Z"
+   transform="matrix(0.34020757,0,0,0.34319768,0.86771384,0.83219703)"
+   id="path3898" /></svg>
diff --git a/flags/standard/help-contextual.svg b/flags/standard/help-contextual.svg
new file mode 100644 (file)
index 0000000..09865e0
--- /dev/null
@@ -0,0 +1,5817 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="128"
+   height="128"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient5130">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop5132" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop5134" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       id="filter4164">
+      <feBlend
+         blend="normal"
+         id="feBlend4166"
+         in2="SourceGraphic"
+         mode="multiply" />
+    </filter>
+    <linearGradient
+       id="linearGradient4170">
+      <stop
+         id="stop4172"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#1e0504;stop-opacity:1"
+         offset="0.1030781"
+         id="stop4174" />
+      <stop
+         style="stop-color:#4a362c;stop-opacity:1"
+         offset="0.24779607"
+         id="stop4176" />
+      <stop
+         id="stop4178"
+         offset="0.64786237"
+         style="stop-color:#3e2b22;stop-opacity:1" />
+      <stop
+         style="stop-color:#413936;stop-opacity:0.95686275;"
+         offset="0.67893541"
+         id="stop4180" />
+      <stop
+         style="stop-color:#241914;stop-opacity:1"
+         offset="0.71000844"
+         id="stop4182" />
+      <stop
+         id="stop4184"
+         offset="0.76072329"
+         style="stop-color:#5b524c;stop-opacity:1" />
+      <stop
+         style="stop-color:#422e25;stop-opacity:1"
+         offset="0.80179423"
+         id="stop4186" />
+      <stop
+         id="stop4188"
+         offset="0.96271122"
+         style="stop-color:#422e25;stop-opacity:1" />
+      <stop
+         style="stop-color:#12100e;stop-opacity:0.49803922;"
+         offset="0.9773469"
+         id="stop4190" />
+      <stop
+         id="stop4192"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7891">
+      <stop
+         id="stop7893"
+         offset="0"
+         style="stop-color:#d7eef7;stop-opacity:1;" />
+      <stop
+         id="stop7895"
+         offset="1"
+         style="stop-color:#87faf7;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient8132"
+       id="linearGradient8138"
+       x1="70"
+       y1="3.296875"
+       x2="70"
+       y2="15.390262"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0015155,0,0,1,-6.4048631,-6.0000022)" />
+    <linearGradient
+       id="linearGradient8132">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop8134" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop8136" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       id="filter8148"
+       x="-0.0099712294"
+       width="1.0199425"
+       y="-0.27775091"
+       height="1.5555018">
+      <feGaussianBlur
+         stdDeviation="0.38697069"
+         id="feGaussianBlur8150" />
+    </filter>
+    <filter
+       color-interpolation-filters="sRGB"
+       height="1.5603158"
+       y="-0.28015795"
+       width="1.0534322"
+       x="-0.026716121"
+       id="filter4346">
+      <feGaussianBlur
+         id="feGaussianBlur4348"
+         stdDeviation="0.069415047" />
+    </filter>
+    <filter
+       color-interpolation-filters="sRGB"
+       id="filter3985">
+      <feGaussianBlur
+         id="feGaussianBlur3987"
+         stdDeviation="0.97764227" />
+    </filter>
+    <radialGradient
+       xlink:href="#XMLID_24_"
+       id="radialGradient11879"
+       gradientUnits="userSpaceOnUse"
+       cx="32.882801"
+       cy="95.276398"
+       r="31.2019" />
+    <radialGradient
+       id="XMLID_24_"
+       cx="96.109398"
+       cy="34.2617"
+       r="31.355"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#494949;stop-opacity:1;"
+         id="stop541" />
+      <stop
+         offset="0.34909999"
+         style="stop-color:#eee;stop-opacity:0;"
+         id="stop543" />
+      <stop
+         offset="0.53250003"
+         style="stop-color:#545652;stop-opacity:1;"
+         id="stop545" />
+      <stop
+         offset="0.95859998"
+         style="stop-color:white;stop-opacity:0;"
+         id="stop547" />
+    </radialGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       id="filter4142">
+      <feGaussianBlur
+         id="feGaussianBlur4144"
+         stdDeviation="0.42464899" />
+    </filter>
+    <radialGradient
+       xlink:href="#XMLID_40_"
+       id="radialGradient11881"
+       gradientUnits="userSpaceOnUse"
+       cx="96.109398"
+       cy="34.2617"
+       r="31.355" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="30.361099"
+       cy="96.292999"
+       cx="95.362297"
+       id="XMLID_40_">
+      <stop
+         id="stop1245"
+         style="stop-color:#6c6c6c;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop1247"
+         style="stop-color:#eee;stop-opacity:0.2783505;"
+         offset="0.20488018" />
+      <stop
+         id="stop1249"
+         style="stop-color:#7e7e7e;stop-opacity:1;"
+         offset="0.54275459" />
+      <stop
+         id="stop1251"
+         style="stop-color:white;stop-opacity:0.19587629;"
+         offset="0.95859998" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#XMLID_32_"
+       id="linearGradient11883"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-1,1,0,376.125,-378.8721)"
+       x1="-442.20651"
+       y1="-253.4575"
+       x2="-442.20651"
+       y2="-249.4575" />
+    <linearGradient
+       id="XMLID_32_"
+       gradientUnits="userSpaceOnUse"
+       x1="-442.20651"
+       y1="-253.4575"
+       x2="-442.20651"
+       y2="-249.4575"
+       gradientTransform="matrix(0,-1,1,0,376.125,-378.8721)">
+      <stop
+         offset="0"
+         style="stop-color:#6193CF"
+         id="stop683" />
+      <stop
+         offset="0.023"
+         style="stop-color:#6E9CD3"
+         id="stop685" />
+      <stop
+         offset="0.1223"
+         style="stop-color:#A1BFE3"
+         id="stop687" />
+      <stop
+         offset="0.2155"
+         style="stop-color:#CADBEF"
+         id="stop689" />
+      <stop
+         offset="0.3001"
+         style="stop-color:#E7EFF8"
+         id="stop691" />
+      <stop
+         offset="0.373"
+         style="stop-color:#F9FBFD"
+         id="stop693" />
+      <stop
+         offset="0.426"
+         style="stop-color:#FFFFFF"
+         id="stop695" />
+      <stop
+         offset="0.534"
+         style="stop-color:#F5F8FC"
+         id="stop697" />
+      <stop
+         offset="0.7195"
+         style="stop-color:#D9E5F4"
+         id="stop699" />
+      <stop
+         offset="0.959"
+         style="stop-color:#ACC6E6"
+         id="stop701" />
+      <stop
+         offset="1"
+         style="stop-color:#A4C0E4"
+         id="stop703" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#XMLID_40_"
+       id="radialGradient11885"
+       gradientUnits="userSpaceOnUse"
+       cx="32.498001"
+       cy="31.797899"
+       r="30.068501" />
+    <filter
+       color-interpolation-filters="sRGB"
+       id="filter3866">
+      <feGaussianBlur
+         id="feGaussianBlur3868"
+         stdDeviation="0.32594851" />
+    </filter>
+    <linearGradient
+       xlink:href="#XMLID_37_"
+       id="linearGradient11887"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,1,-1,0,512.873,132)"
+       x1="-68.833504"
+       y1="507.7695"
+       x2="-68.833504"
+       y2="511.7695" />
+    <linearGradient
+       id="XMLID_37_"
+       gradientUnits="userSpaceOnUse"
+       x1="-68.833504"
+       y1="507.7695"
+       x2="-68.833504"
+       y2="511.7695"
+       gradientTransform="matrix(0,1,-1,0,512.873,132)">
+      <stop
+         offset="0"
+         style="stop-color:#2C72C7"
+         id="stop966" />
+      <stop
+         offset="0.0034"
+         style="stop-color:#2F74C8"
+         id="stop968" />
+      <stop
+         offset="0.0905"
+         style="stop-color:#6D9ED8"
+         id="stop970" />
+      <stop
+         offset="0.1739"
+         style="stop-color:#A1C0E6"
+         id="stop972" />
+      <stop
+         offset="0.2513"
+         style="stop-color:#CADBF1"
+         id="stop974" />
+      <stop
+         offset="0.3215"
+         style="stop-color:#E7EFF9"
+         id="stop976" />
+      <stop
+         offset="0.382"
+         style="stop-color:#F9FBFD"
+         id="stop978" />
+      <stop
+         offset="0.426"
+         style="stop-color:#FFFFFF"
+         id="stop980" />
+      <stop
+         offset="0.534"
+         style="stop-color:#F5F8FC"
+         id="stop982" />
+      <stop
+         offset="0.7195"
+         style="stop-color:#D9E5F4"
+         id="stop984" />
+      <stop
+         offset="0.959"
+         style="stop-color:#ACC6E6"
+         id="stop986" />
+      <stop
+         offset="1"
+         style="stop-color:#A4C0E4"
+         id="stop988" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#XMLID_40_"
+       id="radialGradient11889"
+       gradientUnits="userSpaceOnUse"
+       cx="95.362297"
+       cy="96.292999"
+       r="30.361099" />
+    <filter
+       color-interpolation-filters="sRGB"
+       id="filter3934">
+      <feGaussianBlur
+         id="feGaussianBlur3936"
+         stdDeviation="0.61780488" />
+    </filter>
+    <linearGradient
+       xlink:href="#XMLID_43_"
+       id="linearGradient11891"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,-1,-508,376)"
+       x1="-572.00049"
+       y1="253.2695"
+       x2="-572.00049"
+       y2="249.2695" />
+    <linearGradient
+       id="XMLID_43_"
+       gradientUnits="userSpaceOnUse"
+       x1="-572.00049"
+       y1="253.2695"
+       x2="-572.00049"
+       y2="249.2695"
+       gradientTransform="matrix(-1,0,0,-1,-508,376)">
+      <stop
+         offset="0"
+         style="stop-color:#6193CF"
+         id="stop1272" />
+      <stop
+         offset="0.023"
+         style="stop-color:#6E9CD3"
+         id="stop1274" />
+      <stop
+         offset="0.1223"
+         style="stop-color:#A1BFE3"
+         id="stop1276" />
+      <stop
+         offset="0.2155"
+         style="stop-color:#CADBEF"
+         id="stop1278" />
+      <stop
+         offset="0.3001"
+         style="stop-color:#E7EFF8"
+         id="stop1280" />
+      <stop
+         offset="0.373"
+         style="stop-color:#F9FBFD"
+         id="stop1282" />
+      <stop
+         offset="0.426"
+         style="stop-color:#FFFFFF"
+         id="stop1284" />
+      <stop
+         offset="0.534"
+         style="stop-color:#F5F8FC"
+         id="stop1286" />
+      <stop
+         offset="0.7195"
+         style="stop-color:#D9E5F4"
+         id="stop1288" />
+      <stop
+         offset="0.959"
+         style="stop-color:#ACC6E6"
+         id="stop1290" />
+      <stop
+         offset="1"
+         style="stop-color:#A4C0E4"
+         id="stop1292" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#XMLID_44_"
+       id="linearGradient11893"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,-1,128,8.875)"
+       x1="64"
+       y1="3.8954999"
+       x2="64"
+       y2="7.6455002" />
+    <linearGradient
+       id="XMLID_44_"
+       gradientUnits="userSpaceOnUse"
+       x1="64"
+       y1="3.8954999"
+       x2="64"
+       y2="7.6455002"
+       gradientTransform="matrix(-1,0,0,-1,128,8.875)">
+      <stop
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;"
+         id="stop1297" />
+      <stop
+         offset="0.0034"
+         style="stop-color:#7c7c7c;stop-opacity:1;"
+         id="stop1299" />
+      <stop
+         offset="0.0905"
+         style="stop-color:#a3a3a3;stop-opacity:1;"
+         id="stop1301" />
+      <stop
+         offset="0.17389999"
+         style="stop-color:#c3c3c3;stop-opacity:1;"
+         id="stop1303" />
+      <stop
+         offset="0.25130001"
+         style="stop-color:#dddddd;stop-opacity:1;"
+         id="stop1305" />
+      <stop
+         offset="0.3215"
+         style="stop-color:#f0f0f0;stop-opacity:1;"
+         id="stop1307" />
+      <stop
+         offset="0.382"
+         style="stop-color:#F9FBFD"
+         id="stop1309" />
+      <stop
+         offset="0.426"
+         style="stop-color:#FFFFFF"
+         id="stop1311" />
+      <stop
+         offset="0.534"
+         style="stop-color:#F5F8FC"
+         id="stop1313" />
+      <stop
+         offset="0.71950001"
+         style="stop-color:#e7e7e7;stop-opacity:1;"
+         id="stop1315" />
+      <stop
+         offset="0.95899999"
+         style="stop-color:#c9c9c9;stop-opacity:1;"
+         id="stop1317" />
+      <stop
+         offset="1"
+         style="stop-color:#c4c4c4;stop-opacity:1;"
+         id="stop1319" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       id="filter4198">
+      <feGaussianBlur
+         id="feGaussianBlur4200"
+         stdDeviation="0.41105606" />
+    </filter>
+    <filter
+       color-interpolation-filters="sRGB"
+       height="2.3074038"
+       y="-0.65370184"
+       width="1.1246752"
+       x="-0.062337615"
+       id="filter4292">
+      <feGaussianBlur
+         id="feGaussianBlur4294"
+         stdDeviation="0.16196844" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient10848"
+       id="radialGradient11895"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0249516,-5.9474392e-8,6.0210782e-8,1.0376422,-203.46011,133.54186)"
+       cx="63.305809"
+       cy="61.489017"
+       fx="63.999992"
+       fy="53.260681"
+       r="56" />
+    <linearGradient
+       id="linearGradient10848"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;"
+         id="stop10850" />
+      <stop
+         id="stop10852"
+         style="stop-color:#9d0000;stop-opacity:1;"
+         offset="0.54375595" />
+      <stop
+         offset="0.64756197"
+         style="stop-color:#ec0101;stop-opacity:1;"
+         id="stop10854" />
+      <stop
+         id="stop10856"
+         style="stop-color:#ff8888;stop-opacity:1;"
+         offset="0.81188118" />
+      <stop
+         offset="0.92322564"
+         style="stop-color:#f80000;stop-opacity:1;"
+         id="stop10858" />
+      <stop
+         offset="1"
+         style="stop-color:#620000;stop-opacity:1"
+         id="stop10860" />
+    </linearGradient>
+    <filter
+       color-interpolation-filters="sRGB"
+       id="filter2929">
+      <feGaussianBlur
+         id="feGaussianBlur2931"
+         stdDeviation="2.1722846" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient2955"
+       id="radialGradient11897"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0481268,0,0,1.0481268,-204.95351,133.3104)"
+       cx="64"
+       cy="58.209709"
+       fx="64"
+       fy="74.209709"
+       r="56" />
+    <linearGradient
+       id="linearGradient2955"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:#7f7f7f;stop-opacity:1;"
+         id="stop2957" />
+      <stop
+         id="stop2959"
+         style="stop-color:#7e7e7e;stop-opacity:1;"
+         offset="0.57474756" />
+      <stop
+         id="stop2961"
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0.81188118" />
+      <stop
+         offset="1"
+         style="stop-color:#ababab;stop-opacity:1;"
+         id="stop2963" />
+    </linearGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath10790">
+      <path
+         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 90.0033,-3.20782 c 0,0 -26.666,53.332 -21.3328,53.332 5.3332,0 69.3316,15.9996 69.3316,15.9996 l 10.6664,58.6652 -90.6644,21.3328 15.9996,-63.9984 -90.6644,-21.3328 -37.3324,-37.3324 c 0,0 74.6648,-47.9988 79.998,-47.9988 5.3332,0 63.9984,21.3328 63.9984,21.3328 z"
+         id="path10792" />
+    </clipPath>
+    <radialGradient
+       xlink:href="#XMLID_24_"
+       id="radialGradient11899"
+       gradientUnits="userSpaceOnUse"
+       cx="32.882801"
+       cy="95.276398"
+       r="31.2019" />
+    <filter
+       color-interpolation-filters="sRGB"
+       id="filter10844">
+      <feGaussianBlur
+         stdDeviation="0.50592777"
+         id="feGaussianBlur10846" />
+    </filter>
+    <radialGradient
+       xlink:href="#XMLID_40_"
+       id="radialGradient11901"
+       gradientUnits="userSpaceOnUse"
+       cx="96.109398"
+       cy="34.2617"
+       r="31.355" />
+    <linearGradient
+       xlink:href="#linearGradient12131"
+       id="linearGradient11903"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,-1,1,0,376.125,-378.8721)"
+       x1="-442.20651"
+       y1="-253.4575"
+       x2="-442.20651"
+       y2="-249.4575" />
+    <linearGradient
+       id="linearGradient12131"
+       gradientUnits="userSpaceOnUse"
+       x1="-442.20651"
+       y1="-253.4575"
+       x2="-442.20651"
+       y2="-249.4575"
+       gradientTransform="matrix(0,-1,1,0,376.125,-378.8721)">
+      <stop
+         offset="0"
+         style="stop-color:#6193CF"
+         id="stop12133" />
+      <stop
+         offset="0.023"
+         style="stop-color:#6E9CD3"
+         id="stop12135" />
+      <stop
+         offset="0.1223"
+         style="stop-color:#A1BFE3"
+         id="stop12137" />
+      <stop
+         offset="0.2155"
+         style="stop-color:#CADBEF"
+         id="stop12139" />
+      <stop
+         offset="0.3001"
+         style="stop-color:#E7EFF8"
+         id="stop12141" />
+      <stop
+         offset="0.373"
+         style="stop-color:#F9FBFD"
+         id="stop12143" />
+      <stop
+         offset="0.426"
+         style="stop-color:#FFFFFF"
+         id="stop12145" />
+      <stop
+         offset="0.534"
+         style="stop-color:#F5F8FC"
+         id="stop12147" />
+      <stop
+         offset="0.7195"
+         style="stop-color:#D9E5F4"
+         id="stop12149" />
+      <stop
+         offset="0.959"
+         style="stop-color:#ACC6E6"
+         id="stop12151" />
+      <stop
+         offset="1"
+         style="stop-color:#A4C0E4"
+         id="stop12153" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#XMLID_40_"
+       id="radialGradient11905"
+       gradientUnits="userSpaceOnUse"
+       cx="32.498001"
+       cy="31.797899"
+       r="30.068501" />
+    <linearGradient
+       xlink:href="#XMLID_37_"
+       id="linearGradient11907"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0,1,-1,0,512.873,132)"
+       x1="-68.833504"
+       y1="507.7695"
+       x2="-68.833504"
+       y2="511.7695" />
+    <radialGradient
+       xlink:href="#XMLID_40_"
+       id="radialGradient11909"
+       gradientUnits="userSpaceOnUse"
+       cx="95.362297"
+       cy="96.292999"
+       r="30.361099" />
+    <linearGradient
+       xlink:href="#XMLID_43_"
+       id="linearGradient11911"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,-1,-508,376)"
+       x1="-572.00049"
+       y1="253.2695"
+       x2="-572.00049"
+       y2="249.2695" />
+    <linearGradient
+       xlink:href="#XMLID_44_"
+       id="linearGradient11913"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,-1,128,8.875)"
+       x1="64"
+       y1="3.8954999"
+       x2="64"
+       y2="7.6455002" />
+    <linearGradient
+       xlink:href="#linearGradient5130"
+       id="linearGradient5136"
+       x1="-131.09647"
+       y1="155.61377"
+       x2="-131.09647"
+       y2="208.72311"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter5150">
+      <feGaussianBlur
+         stdDeviation="1.8162162"
+         id="feGaussianBlur5152" />
+    </filter>
+    <radialGradient
+       r="5.3238101"
+       fy="14.235861"
+       fx="8.8133469"
+       cy="14.235861"
+       cx="8.8133469"
+       spreadMethod="reflect"
+       gradientTransform="matrix(1.1106976,-0.4036489,0.6516398,1.7930801,-9.2127514,-4.7972628)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3508"
+       xlink:href="#linearGradient10711" />
+    <clipPath
+       id="clipPath3496"
+       clipPathUnits="userSpaceOnUse">
+      <rect
+         ry="1.171887"
+         y="1.2316679"
+         x="5.309958"
+         height="22.63365"
+         width="13.277639"
+         id="rect3498"
+         style="opacity:0.62633481;fill:none;stroke:#000000;stroke-width:0.19602102;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    </clipPath>
+    <radialGradient
+       r="5.3238101"
+       fy="14.235861"
+       fx="8.8133469"
+       cy="14.235861"
+       cx="8.8133469"
+       spreadMethod="reflect"
+       gradientTransform="matrix(1.1086176,-0.4093269,0.6608062,1.7897223,-9.2289678,-4.0397151)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3490"
+       xlink:href="#linearGradient10711" />
+    <linearGradient
+       y2="28.038134"
+       x2="22.96941"
+       y1="23.349636"
+       x1="21.461079"
+       gradientTransform="matrix(0.8514941,0.5243642,-0.5243642,0.8514941,18.007546,-15.657615)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4030"
+       xlink:href="#linearGradient10711" />
+    <linearGradient
+       y2="28.038134"
+       x2="22.96941"
+       y1="23.349636"
+       x1="21.461079"
+       gradientTransform="matrix(0.8514941,0.5243642,-0.5243642,0.8514941,24.154135,2.8247022)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4023"
+       xlink:href="#linearGradient10711" />
+    <radialGradient
+       r="1.15625"
+       fy="20.428291"
+       fx="11.074039"
+       cy="20.428291"
+       cx="11.074039"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.9318803,-0.2210697,0.2308678,0.9731826,-3.9252239,2.7241703)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4021"
+       xlink:href="#linearGradient10711" />
+    <linearGradient
+       id="linearGradient3330">
+      <stop
+         id="stop3332"
+         offset="0"
+         style="stop-color:#ff80ff;stop-opacity:0;" />
+      <stop
+         id="stop3334"
+         offset="1"
+         style="stop-color:#666666;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3285">
+      <stop
+         id="stop3287"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3289"
+         offset="1"
+         style="stop-color:#debc85;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3279">
+      <stop
+         id="stop3281"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3283"
+         offset="1"
+         style="stop-color:#debc85;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3273">
+      <stop
+         id="stop3275"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3277"
+         offset="1"
+         style="stop-color:#debc85;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3267">
+      <stop
+         id="stop3269"
+         offset="0"
+         style="stop-color:#debc85;stop-opacity:1;" />
+      <stop
+         id="stop3271"
+         offset="1"
+         style="stop-color:#debc85;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3241">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3243" />
+      <stop
+         style="stop-color:#debc85;stop-opacity:0"
+         offset="1"
+         id="stop3245" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3206">
+      <stop
+         id="stop3208"
+         offset="0"
+         style="stop-color:#b1d28f;stop-opacity:1;" />
+      <stop
+         id="stop3210"
+         offset="1"
+         style="stop-color:#b1d28f;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2657">
+      <stop
+         style="stop-color:#ff80ff;stop-opacity:1;"
+         offset="0"
+         id="stop2659" />
+      <stop
+         style="stop-color:#ff80ff;stop-opacity:0;"
+         offset="1"
+         id="stop2661" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#linearGradient10711"
+       id="radialGradient3218"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7083003,-0.01851949,0.01798426,1.6589328,-8.4797796,-13.189665)"
+       spreadMethod="pad"
+       cx="11.413477"
+       cy="20.478674"
+       fx="11.413477"
+       fy="20.478674"
+       r="1.15625" />
+    <linearGradient
+       xlink:href="#linearGradient10711"
+       id="linearGradient3220"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.6334443,0,0,3.6334443,-27.580699,-51.677773)"
+       x1="9.8687286"
+       y1="18.384007"
+       x2="10.711697"
+       y2="19.626715" />
+    <linearGradient
+       xlink:href="#linearGradient3267"
+       id="linearGradient3239"
+       x1="5.6869311"
+       y1="-0.31511527"
+       x2="16.836901"
+       y2="19.432236"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3267"
+       id="linearGradient3249"
+       gradientUnits="userSpaceOnUse"
+       x1="5.6869311"
+       y1="2.1477292"
+       x2="16.836901"
+       y2="21.895081"
+       gradientTransform="translate(0,-2.4628444)" />
+    <linearGradient
+       xlink:href="#linearGradient3267"
+       id="linearGradient3257"
+       gradientUnits="userSpaceOnUse"
+       x1="5.6869311"
+       y1="4.5210156"
+       x2="16.836901"
+       y2="24.268368"
+       gradientTransform="translate(0,-4.8361309)" />
+    <linearGradient
+       xlink:href="#linearGradient3267"
+       id="linearGradient3261"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,2.298783)"
+       x1="5.6869311"
+       y1="-2.6138983"
+       x2="16.836901"
+       y2="17.133453" />
+    <linearGradient
+       xlink:href="#linearGradient3267"
+       id="linearGradient3265"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0,-7.2094174)"
+       x1="5.6869311"
+       y1="6.8943019"
+       x2="16.836901"
+       y2="26.641653" />
+    <radialGradient
+       xlink:href="#linearGradient3206"
+       id="radialGradient3317"
+       cx="1.1416299"
+       cy="10.911069"
+       fx="1.1416299"
+       fy="10.911069"
+       r="11.765625"
+       gradientTransform="matrix(0.7809876,0.01449707,-0.0055455,0.2987498,-0.2924169,2.0957246)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       xlink:href="#linearGradient3330"
+       id="radialGradient3473"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7083003,-0.01851949,0.01798426,1.6589328,-8.4797796,-13.189665)"
+       spreadMethod="pad"
+       cx="11.413477"
+       cy="20.478674"
+       fx="11.413477"
+       fy="20.478674"
+       r="1.15625" />
+    <linearGradient
+       xlink:href="#linearGradient10711"
+       id="linearGradient3475"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.5474799,0,0,3.5474799,-26.927898,-62.356391)"
+       x1="9.7192469"
+       y1="18.63658"
+       x2="10.711697"
+       y2="19.626715" />
+    <radialGradient
+       xlink:href="#linearGradient3330"
+       id="radialGradient3486"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7083003,-0.01851949,0.01798426,1.6589328,-8.4797796,-13.189665)"
+       spreadMethod="pad"
+       cx="11.413477"
+       cy="20.478674"
+       fx="11.413477"
+       fy="20.478674"
+       r="1.15625" />
+    <linearGradient
+       xlink:href="#linearGradient10711"
+       id="linearGradient3488"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.547255,-0.03993894,0.03993894,3.547255,-27.397339,-48.790495)"
+       x1="9.7192469"
+       y1="18.63658"
+       x2="10.711697"
+       y2="19.626715" />
+    <linearGradient
+       y2="15.552854"
+       x2="16.034332"
+       y1="12.061514"
+       x1="19.879225"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.9575785,-0.00803118,0.00803118,0.9575785,-0.0268605,-0.4359562)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3370"
+       xlink:href="#linearGradient10711" />
+    <radialGradient
+       r="13.169441"
+       fy="21.708042"
+       fx="17.54755"
+       cy="21.708042"
+       cx="17.54755"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.8151394,0.2358626,-0.2306962,0.7972824,0.7011221,-1.0582457)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3367"
+       xlink:href="#linearGradient10711" />
+    <radialGradient
+       r="13.169441"
+       fy="21.708042"
+       fx="17.54755"
+       cy="21.708042"
+       cx="17.54755"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.8341244,0.2489558,-0.2435026,0.8158514,0.7851109,-0.01382395)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3364"
+       xlink:href="#linearGradient10711" />
+    <linearGradient
+       y2="15.552854"
+       x2="16.034332"
+       y1="12.061514"
+       x1="19.879225"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.9823337,0,0,0.9823337,0.03300739,0.6182451)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3362"
+       xlink:href="#linearGradient10711" />
+    <radialGradient
+       r="13.169441"
+       fy="20.648924"
+       fx="16.993044"
+       cy="20.648924"
+       cx="16.993044"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.7030075,0.6357809,-0.8060735,0.8913044,14.84311,-8.1934483)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3355"
+       xlink:href="#linearGradient10711" />
+    <linearGradient
+       y2="15.552854"
+       x2="16.034332"
+       y1="12.061514"
+       x1="19.879225"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.9823337,0,0,0.9823337,0.03300739,0.6182451)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3353"
+       xlink:href="#linearGradient10711" />
+    <linearGradient
+       y2="15.552854"
+       x2="16.034332"
+       y1="12.061514"
+       x1="19.879225"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.9823337,0,0,0.9823337,0.03300739,0.6182451)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3297"
+       xlink:href="#linearGradient10711" />
+    <radialGradient
+       r="13.169441"
+       fy="20.648924"
+       fx="16.993044"
+       cy="20.648924"
+       cx="16.993044"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.7030075,0.6357809,-0.8060735,0.8913044,14.84311,-8.1934483)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3294"
+       xlink:href="#linearGradient10711" />
+    <radialGradient
+       r="8.7188435"
+       fy="19.781427"
+       fx="8.2488832"
+       cy="23.935163"
+       cx="8.2921495"
+       gradientTransform="matrix(2.7002217,0.5715519,-0.4374946,2.0668853,-4.8632848,-26.818351)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient11034"
+       xlink:href="#linearGradient10925" />
+    <radialGradient
+       r="13.169441"
+       fy="24.759357"
+       fx="18.708233"
+       cy="24.759357"
+       cx="18.708233"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.8967678,0.05935673,-0.05873468,0.8873664,-5.4012494,0.1392525)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient11032"
+       xlink:href="#linearGradient10711" />
+    <radialGradient
+       r="8.7188435"
+       fy="19.781427"
+       fx="8.2488832"
+       cy="23.935163"
+       cx="8.2921495"
+       gradientTransform="matrix(2.7002217,0.5715519,-0.4374946,2.0668853,-4.8632848,-26.818351)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient11030"
+       xlink:href="#linearGradient10925" />
+    <radialGradient
+       r="8.7188435"
+       fy="19.781427"
+       fx="8.2488832"
+       cy="23.935163"
+       cx="8.2921495"
+       gradientTransform="matrix(2.7002217,0.5715519,-0.4374946,2.0668853,-4.8632848,-26.818351)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient11003"
+       xlink:href="#linearGradient10925" />
+    <clipPath
+       id="clipPath10999"
+       clipPathUnits="userSpaceOnUse">
+      <path
+         style="fill:#ff80ff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         d="M 3.6413483,1.9681703 3.779696,17.490509 14.887308,19.785771 21.079035,17.498126 3.6413483,1.9681703 z"
+         id="path11001" />
+    </clipPath>
+    <radialGradient
+       r="8.7188435"
+       fy="17.669048"
+       fx="6.0336409"
+       cy="24.942194"
+       cx="9.1802711"
+       gradientTransform="matrix(2.7002217,0.5715519,-0.4374946,2.0668853,-4.8632848,-26.818351)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient10971"
+       xlink:href="#linearGradient10925" />
+    <radialGradient
+       r="13.169441"
+       fy="24.759357"
+       fx="18.708233"
+       cy="24.759357"
+       cx="18.708233"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.8967678,0.05935673,-0.05873468,0.8873664,-5.4012494,0.1392525)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient10968"
+       xlink:href="#linearGradient10711" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(3.0577456,1.8802807,-0.9054531,1.4724637,3.4545267,-24.480143)"
+       r="8.7188435"
+       fy="18.295921"
+       fx="7.6629176"
+       cy="23.364098"
+       cx="9.996233"
+       id="radialGradient10931"
+       xlink:href="#linearGradient10925" />
+    <radialGradient
+       r="13.169441"
+       fy="24.759357"
+       fx="18.708233"
+       cy="24.759357"
+       cx="18.708233"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.8967678,0.05935673,-0.05873468,0.8873664,-5.4012494,0.1392525)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient10875"
+       xlink:href="#linearGradient10711" />
+    <linearGradient
+       id="linearGradient10711">
+      <stop
+         id="stop10713"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop10715"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient10854">
+      <stop
+         id="stop10856-1"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="0.5"
+         id="stop10862" />
+      <stop
+         id="stop10858-6"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient10901">
+      <stop
+         style="stop-color:#fff299;stop-opacity:0;"
+         offset="0"
+         id="stop10903" />
+      <stop
+         id="stop10909"
+         offset="0.5"
+         style="stop-color:#fff299;stop-opacity:1;" />
+      <stop
+         style="stop-color:#fff299;stop-opacity:0;"
+         offset="1"
+         id="stop10905" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient10925">
+      <stop
+         id="stop10927"
+         offset="0"
+         style="stop-color:#bf0303;stop-opacity:0;" />
+      <stop
+         style="stop-color:#bf0303;stop-opacity:0;"
+         offset="0.39309064"
+         id="stop10978" />
+      <stop
+         style="stop-color:#bf0303;stop-opacity:0.49803922;"
+         offset="0.46538317"
+         id="stop10935" />
+      <stop
+         id="stop10976"
+         offset="0.5"
+         style="stop-color:#bf0303;stop-opacity:1;" />
+      <stop
+         style="stop-color:#bf0303;stop-opacity:1;"
+         offset="0.5"
+         id="stop10933" />
+      <stop
+         id="stop10937"
+         offset="0.55339807"
+         style="stop-color:#bf0303;stop-opacity:0.49803922;" />
+      <stop
+         style="stop-color:#bf0303;stop-opacity:0;"
+         offset="0.60542935"
+         id="stop10980" />
+      <stop
+         id="stop10929"
+         offset="1"
+         style="stop-color:#bf0303;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient11059">
+      <stop
+         id="stop11061"
+         offset="0"
+         style="stop-color:#727272;stop-opacity:1;" />
+      <stop
+         style="stop-color:#a6a6a6;stop-opacity:1;"
+         offset="0.5"
+         id="stop11067" />
+      <stop
+         id="stop11069"
+         offset="0.75"
+         style="stop-color:#cdcdcd;stop-opacity:1;" />
+      <stop
+         id="stop11063"
+         offset="1"
+         style="stop-color:#acacac;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3866">
+      <stop
+         style="stop-color:#fff299;stop-opacity:1;"
+         offset="0"
+         id="stop3868" />
+      <stop
+         style="stop-color:#dcd8bd;stop-opacity:0;"
+         offset="1"
+         id="stop3870" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3233">
+      <stop
+         id="stop3235"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3237"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <filter
+       id="filter5398">
+      <feGaussianBlur
+         stdDeviation="1.6545608"
+         id="feGaussianBlur5400" />
+    </filter>
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <g
+       id="g2497">
+      <path
+         style="opacity:0.912568;fill:url(#linearGradient8138);fill-opacity:1;stroke:none;filter:url(#filter8148)"
+         d="m 13.375077,2.1249981 c -1.17094,0 -2.12822,1.19862 -2.12822,2.6874999 0,0.23004 0.0202,0.44341 0.0626,0.65625 0.22544,-1.17648 1.06904,-2.0312499 2.06562,-2.0312499 h 88.884513 c 0.99658,0 1.84018,0.8547699 2.06562,2.0312499 0.0424,-0.21284 0.0626,-0.42621 0.0626,-0.65625 0,-1.4888799 -0.95729,-2.6874999 -2.12822,-2.6874999 z"
+         id="rect8127" />
+      <g
+         id="g10862"
+         transform="matrix(0.94894271,0,0,0.94894271,195.44432,-126.09972)">
+        <path
+           transform="matrix(1.0481268,0,0,1.0481268,-204.94332,132.18547)"
+           style="fill:#000000;fill-opacity:0.610294;stroke:none;filter:url(#filter5150)"
+           d="M 64,11 C 33.088,11 8,36.088 8,67 8,97.912 33.088,123 64,123 94.912,123 120,97.912 120,67 120,36.088 94.912,11 64,11 Z m 0,24 C 81.664,35 96,49.336 96,67 96,84.664 81.664,99 64,99 46.336,99 32,84.664 32,67 32,49.336 46.336,35 64,35 Z"
+           id="path2967" />
+        <g
+           transform="translate(-202.0005,136.54102)"
+           id="g9063"
+           style="overflow:visible">
+          <path
+             id="path4296"
+             d="m 61.136895,4.4893178 h 5.928112 c 0,0 0.20704,0.5946507 -0.276054,0.5946507 -0.483093,0 -5.790086,0 -5.790086,0 C 60.86837,4.8661398 60.748727,4.649517 61.136895,4.4893178 Z"
+             style="fill:#295482;fill-opacity:1;fill-rule:evenodd;stroke:none;filter:url(#filter4346)" />
+          <path
+             id="path3951"
+             d="m 61.710678,1.7125992 c -0.075,0.027 -7.6685,7.54025 -22.1875,5.28125 -3.123,-0.486 -5.46025,-0.0065 -7.15625,1.4375 -3.224001,2.7469998 -3.25025,3.4254998 -3.28125,9.4374998 -0.028,5.341 -0.067,10.863 -2.25,14.625 -2.330999,4.014001 -6.8355,7.4575 -11.1875,10.8125 C 8.9531782,48.46835 2.0544282,53.817099 2.0544282,61.650099 h 0.15625 c 1.060867,-6.759304 7.3316598,-11.636005 13.4374998,-16.34375 4.352,-3.355 8.856501,-6.798499 11.1875,-10.8125 2.183,-3.762 2.221999,-9.284 2.25,-14.625 0.031,-6.012 0.05725,-6.6905 3.28125,-9.4375 1.132804,-0.9644858 2.56337,-1.4941388 4.3125,-1.5937498 0.397789,-0.022654 0.817742,-0.021586 1.25,0 0.12592,0.00749 0.244877,0.01937 0.375,0.03125 0.03202,0.00249 0.06155,-0.00272 0.09375,0 0.264595,0.026018 0.530527,0.049877 0.8125,0.09375 0.10643,0.014563 0.204195,0.014396 0.3125,0.03125 1.769395,0.275299 3.437402,-0.52143 5,-0.375 0.04016,0.00376 0.08497,-0.00369 0.125,0 0.782055,0.070938 1.550748,0.143113 2.28125,0.1875 0.01,6.1e-4 0.02126,-6.05e-4 0.03125,0 1.487617,0.090202 2.858445,0.127376 4.125,0.125 0.03994,-1.6e-5 0.08527,-1.999909 0.125,-2 1.215496,-0.00489 2.336531,-0.029519 3.34375,-0.09375 4.694309,-0.29936 7.114062,-3.109813 7.15625,-3.125 l 0.03125,0.0625 c 0.343868,-0.09511 0.579365,-0.171485 0.625,-0.1875 z"
+             style="opacity:0.306849;fill:#343434;fill-opacity:1;filter:url(#filter3985)" />
+          <g
+             id="g15">
+            <path
+               d="m 3.748,65.52 c 0,0 2.252,0.001 -0.748,9.501 -3,9.5 3.75,24.25 9.75,27.75 6,3.5 26.75,7.25 30,12 3.25,4.75 9.25,10.5 18.5,10.25 1.069,-0.028 2.159,-0.014 3.25,0.013"
+               id="path17"
+               style="fill:none" />
+            <g
+               id="g19">
+              <path
+                 d="m 3.099,69.491 -0.188,-0.31 c 0.034,-0.53 0.153,-1.133 0.129,-1.604 l 0.046,-0.03 0.255,-0.024 -0.316,-0.25 C 3.165,66.76 2.566,66.508 3.333,66.955 L 3.442,66.936 C 3.616,66.909 3.634,66.815 3.584,66.72 l 0.163,0.096 0.001,-2.763 c 2.347,0.665 1.773,1.674 2.163,2.277 l -0.009,0.02 c -0.054,0.077 -0.141,0.098 -0.243,0.08 0.143,0.097 0.222,0.189 0.307,0.326 0.083,0.817 0.042,1.548 -0.053,2.222 L 5.898,68.989 C 5.789,69.045 5.652,69.015 5.521,68.92 l 0.074,0.06 0.278,0.39 -0.078,0.564 z"
+                 id="path21"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 5.849,69.834 C 5.889,69.598 5.735,69.251 5.533,69.09 4.842,68.554 4.184,68.058 3.448,67.682 3.22,67.578 3.048,67.64 3.054,67.81 l -0.113,1.071 c -0.021,0.196 0.141,0.475 0.321,0.636 l 0.002,0.002 2.563,0.421 z"
+                 id="path23"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 5.823,65.887 C 5.561,65.444 5.677,64.428 3.748,64.02 L 3.747,66.618 C 3.21,65.601 4.88,65.868 5.51,66.245 5.772,66.377 5.925,66.236 5.823,65.887 Z"
+                 id="path25"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 3.436,67.476 C 3.209,67.375 3.021,67.178 3.019,67.012 2.996,66.815 2.859,66.578 3.036,66.779 c 0.222,0.2 0.41,0.014 0.369,-0.219 0.251,-0.796 1.408,-0.464 2.179,-0.034 0.232,0.117 0.43,0.451 0.445,0.732 0.049,0.526 0,0.971 -0.05,1.411 C 5.954,68.916 5.768,68.98 5.562,68.819 4.868,68.301 4.218,67.797 3.436,67.476 Z"
+                 id="path27"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g29">
+              <path
+                 d="M 2.062,73.698 1.916,73.352 2.411,71.618 2.467,71.594 2.722,71.635 2.495,71.241 2.845,69.558 2.899,69.531 3.143,69.548 3.067,69.486 5.794,69.933 5.498,71.37 5.482,71.379 C 5.403,71.407 5.315,71.393 5.228,71.348 l 0.201,0.354 c -0.116,0.665 -0.333,1.268 -0.5,1.9 L 4.912,73.61 C 4.796,73.642 4.665,73.593 4.551,73.481 l 0.064,0.068 0.214,0.403 -0.147,0.518 z"
+                 id="path31"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 4.742,74.379 C 4.805,74.158 4.714,73.827 4.536,73.642 L 2.762,71.843 C 2.582,71.667 2.388,71.697 2.329,71.904 l -0.323,1.132 c -0.059,0.208 0.037,0.523 0.214,0.708 l 0.002,0.002 2.491,0.734 z"
+                 id="path33"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 5.591,71.085 0.236,-1.146 -2.563,-0.421 1.899,1.659 c 0.19,0.178 0.38,0.138 0.428,-0.092 z"
+                 id="path35"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 2.829,71.605 C 2.64,71.429 2.519,71.125 2.562,70.918 L 2.795,69.796 C 2.838,69.59 3.03,69.548 3.222,69.705 l 1.898,1.678 c 0.189,0.178 0.302,0.513 0.254,0.743 L 5.041,73.33 c -0.063,0.221 -0.256,0.248 -0.434,0.063 z"
+                 id="path37"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g39">
+              <path
+                 d="M 1.095,78.331 0.9,77.988 c 0.095,-0.666 0.123,-1.334 0.317,-1.995 l 0.057,-0.031 c 0.081,-0.029 0.17,-0.015 0.256,0.032 L 1.323,75.558 c 0.159,-0.672 0.322,-1.282 0.482,-1.82 L 1.861,73.716 2.1,73.762 2.03,73.689 4.681,74.47 C 4.558,74.916 4.397,75.422 4.316,75.804 L 4.3,75.811 4.05,75.76 4.248,76.085 C 4.113,76.64 3.954,77.188 3.914,77.773 l -0.015,0.009 c -0.108,0.04 -0.245,0.012 -0.375,-0.078 l 0.074,0.056 0.278,0.337 -0.06,0.477 z"
+                 id="path41"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 3.861,78.483 C 3.886,78.282 3.74,78.003 3.536,77.853 2.864,77.359 2.161,76.813 1.574,76.219 1.391,76.038 1.197,76.08 1.138,76.32 c -0.116,0.432 -0.127,0.868 -0.194,1.302 -0.03,0.241 0.111,0.567 0.315,0.722 l 0.003,0.002 2.587,0.23 z"
+                 id="path43"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 4.408,75.565 0.306,-1.086 -2.491,-0.734 1.766,1.856 c 0.184,0.178 0.373,0.159 0.419,-0.036 z"
+                 id="path45"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 1.638,75.957 C 1.455,75.774 1.356,75.426 1.415,75.186 1.522,74.736 1.63,74.339 1.737,73.977 1.796,73.769 1.988,73.748 2.165,73.932 l 1.779,1.851 c 0.185,0.177 0.297,0.471 0.25,0.664 -0.084,0.354 -0.191,0.7 -0.216,1.073 -0.024,0.202 -0.21,0.248 -0.415,0.098 C 2.869,77.11 2.231,76.564 1.638,75.957 Z"
+                 id="path47"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g49">
+              <path
+                 d="M 1.165,83.067 0.905,82.778 0.773,80.813 0.821,80.771 1.078,80.741 0.78,80.378 c 0.023,-0.648 0,-1.294 0.066,-1.945 L 0.898,78.396 1.143,78.39 1.062,78.328 3.814,78.573 c -0.076,0.418 -0.035,0.86 -0.058,1.289 l -0.015,0.011 -0.255,0.016 0.264,0.272 c -0.037,0.587 0.032,1.184 0.068,1.778 l -0.013,0.012 c -0.099,0.064 -0.238,0.064 -0.383,0.003 l 0.083,0.039 0.336,0.278 0.037,0.492 z"
+                 id="path51"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 3.902,82.665 C 3.888,82.456 3.692,82.206 3.463,82.101 L 1.179,80.945 C 0.949,80.817 0.775,80.901 0.791,81.138 l 0.088,1.281 c 0.019,0.236 0.212,0.521 0.449,0.628 l 0.003,0.002 2.581,-0.289 z"
+                 id="path53"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 3.796,79.6 C 3.808,79.257 3.79,78.909 3.849,78.577 l -2.587,-0.23 c 0.654,0.514 1.417,0.979 2.131,1.402 0.218,0.126 0.399,0.057 0.403,-0.149 z"
+                 id="path55"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 1.175,80.681 C 0.957,80.55 0.783,80.245 0.787,80.006 l 0.028,-1.297 c 0.025,-0.241 0.216,-0.307 0.419,-0.152 0.689,0.506 1.437,0.966 2.155,1.383 0.219,0.126 0.392,0.392 0.387,0.598 l 0.058,1.134 C 3.849,81.88 3.675,81.967 3.446,81.86 2.693,81.504 1.911,81.113 1.175,80.681 Z"
+                 id="path57"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g59">
+              <path
+                 d="M 2.042,87.658 1.73,87.418 1.311,85.521 1.349,85.472 1.596,85.4 1.229,85.102 0.949,83.211 0.991,83.166 1.228,83.112 1.133,83.07 3.88,82.763 l 0.195,1.308 -0.013,0.013 -0.249,0.062 0.305,0.226 c 0.083,0.596 0.249,1.182 0.368,1.773 l -0.011,0.014 c -0.088,0.08 -0.225,0.102 -0.378,0.062 l 0.088,0.027 0.374,0.228 0.125,0.484 z"
+                 id="path61"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 4.689,86.858 C 4.622,86.655 4.404,86.43 4.158,86.361 L 1.734,85.58 C 1.488,85.493 1.33,85.604 1.38,85.833 l 0.273,1.238 c 0.045,0.229 0.294,0.474 0.549,0.543 l 0.003,10e-4 2.511,-0.663 z"
+                 id="path63"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 4.068,83.8 3.913,82.76 1.332,83.049 3.697,84.023 C 3.933,84.11 4.099,84.009 4.068,83.8 Z"
+                 id="path65"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 1.678,85.325 C 1.426,85.239 1.211,84.972 1.175,84.74 L 0.988,83.479 C 0.954,83.246 1.12,83.147 1.36,83.254 l 2.365,0.96 c 0.238,0.087 0.448,0.323 0.487,0.531 l 0.249,1.128 c 0.046,0.207 -0.112,0.32 -0.354,0.249 z"
+                 id="path67"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g69">
+              <path
+                 d="M 3.515,92.065 3.177,91.867 2.52,90.049 2.552,89.996 2.787,89.892 2.378,89.65 1.848,87.832 1.883,87.781 2.11,87.694 2.011,87.666 4.683,86.96 5.054,88.243 5.043,88.257 4.805,88.353 5.138,88.539 5.74,90.26 5.73,90.276 c -0.077,0.091 -0.21,0.13 -0.367,0.109 l 0.091,0.016 0.399,0.181 0.194,0.464 z"
+                 id="path71"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 6.042,90.941 C 5.956,90.746 5.688,90.556 5.444,90.515 L 2.945,90.052 C 2.692,89.997 2.548,90.129 2.626,90.349 l 0.422,1.188 c 0.074,0.222 0.367,0.425 0.62,0.465 l 0.003,0.001 2.409,-0.972 z"
+                 id="path73"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 5.011,87.973 -0.295,-1.021 -2.511,0.663 2.468,0.63 c 0.246,0.056 0.397,-0.068 0.338,-0.272 z"
+                 id="path75"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 2.858,89.808 C 2.603,89.753 2.332,89.53 2.273,89.304 L 1.923,88.09 C 1.859,87.865 2.009,87.743 2.26,87.815 l 2.468,0.619 c 0.246,0.055 0.487,0.264 0.565,0.463 l 0.389,1.095 c 0.071,0.201 -0.071,0.334 -0.32,0.294 z"
+                 id="path77"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g79">
+              <path
+                 d="M 5.522,96.259 5.163,96.103 C 4.827,95.547 4.576,94.953 4.281,94.378 L 4.306,94.321 4.527,94.189 C 4.376,94.164 4.222,94.092 4.094,93.997 l -0.751,-1.734 0.029,-0.055 0.215,-0.114 -0.102,-0.017 2.563,-1.033 0.52,1.232 -0.009,0.016 -0.224,0.124 0.356,0.143 0.804,1.634 -0.008,0.017 c -0.066,0.1 -0.193,0.155 -0.351,0.154 l 0.092,0.004 0.429,0.122 0.248,0.435 z"
+                 id="path81"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 7.887,94.823 C 7.782,94.638 7.49,94.488 7.233,94.483 L 4.703,94.329 C 4.445,94.307 4.319,94.455 4.421,94.664 l 0.566,1.129 c 0.115,0.203 0.419,0.377 0.678,0.384 h 0.003 l 2.266,-1.269 z"
+                 id="path83"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 6.493,92.012 -0.414,-0.98 -2.409,0.972 2.52,0.322 c 0.251,0.025 0.386,-0.117 0.303,-0.314 z"
+                 id="path85"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 4.588,94.096 C 4.331,94.072 4.034,93.882 3.937,93.671 l -0.49,-1.162 c -0.09,-0.214 0.045,-0.354 0.301,-0.315 l 2.519,0.312 c 0.245,0.027 0.534,0.194 0.626,0.387 l 0.512,1.041 c 0.094,0.191 -0.032,0.341 -0.283,0.331 z"
+                 id="path87"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g89">
+              <path
+                 d="M 8.114,100.17 7.737,100.064 C 7.332,99.543 6.934,99.019 6.592,98.466 L 6.609,98.406 6.81,98.244 C 6.658,98.239 6.496,98.187 6.357,98.108 l -0.982,-1.631 0.022,-0.058 0.198,-0.142 -0.102,-0.004 2.411,-1.351 0.666,1.15 -0.006,0.017 -0.205,0.152 0.378,0.086 c 0.34,0.492 0.635,1.027 1.013,1.483 l -0.005,0.017 c -0.049,0.105 -0.167,0.181 -0.324,0.206 l 0.093,-0.011 0.438,0.052 0.297,0.391 z"
+                 id="path91"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 10.218,98.37 C 10.092,98.204 9.788,98.101 9.536,98.136 8.693,98.257 7.847,98.328 7.002,98.362 6.745,98.374 6.64,98.539 6.769,98.736 l 0.749,1.041 c 0.144,0.189 0.47,0.32 0.724,0.289 h 0.003 l 2.03,-1.62 z"
+                 id="path93"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 8.457,95.829 7.935,94.908 5.669,96.177 H 8.2 c 0.258,-0.015 0.362,-0.164 0.257,-0.348 z"
+                 id="path95"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 6.858,98.143 C 6.601,98.154 6.286,97.999 6.157,97.802 L 5.509,96.711 c -0.116,-0.203 10e-4,-0.359 0.259,-0.353 0.862,0.018 1.684,0.028 2.538,-0.02 0.256,-0.013 0.555,0.116 0.671,0.293 l 0.639,0.949 c 0.127,0.166 0.027,0.33 -0.226,0.363 -0.851,0.119 -1.671,0.162 -2.532,0.2 z"
+                 id="path97"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g99">
+              <path
+                 d="m 11.632,103.534 -0.414,-0.001 c -0.623,-0.39 -1.08,-0.883 -1.603,-1.337 l 10e-4,-0.062 c 0.015,-0.084 0.074,-0.151 0.161,-0.2 -0.157,0.027 -0.334,0.01 -0.48,-0.05 -0.43,-0.49 -0.903,-0.959 -1.292,-1.471 l 0.013,-0.062 0.173,-0.173 -0.101,0.012 2.161,-1.723 0.839,0.978 -0.003,0.017 -0.174,0.188 0.375,0.014 c 0.383,0.446 0.831,0.771 1.238,1.169 l -10e-4,0.019 c -0.021,0.107 -0.117,0.217 -0.258,0.281 l 0.083,-0.035 0.423,-0.095 0.363,0.252 z"
+                 id="path101"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 13.083,101.177 c -0.152,-0.106 -0.455,-0.097 -0.687,0.013 -0.755,0.343 -1.544,0.591 -2.396,0.818 -0.256,0.065 -0.32,0.25 -0.135,0.417 0.344,0.294 0.64,0.617 1.028,0.883 0.213,0.149 0.588,0.191 0.827,0.088 l 0.003,-0.001 1.43,-2.169 z"
+                 id="path103"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 10.939,99.229 -0.663,-0.783 -2.03,1.62 c 0.832,-0.092 1.695,-0.258 2.503,-0.452 0.244,-0.06 0.327,-0.235 0.19,-0.385 z"
+                 id="path105"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 9.799,101.824 c -0.267,0.069 -0.588,-0.043 -0.755,-0.22 L 8.17,100.63 c -0.145,-0.189 -0.054,-0.365 0.2,-0.396 0.84,-0.104 1.706,-0.282 2.505,-0.479 0.244,-0.062 0.547,0.012 0.685,0.16 l 0.799,0.721 c 0.146,0.133 0.085,0.32 -0.141,0.413 -0.752,0.304 -1.561,0.564 -2.419,0.775 z"
+                 id="path107"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g109">
+              <path
+                 d="m 15.945,105.56 -0.37,0.114 c -0.596,-0.203 -1.198,-0.483 -1.797,-0.728 l -0.018,-0.06 c -0.013,-0.083 0.02,-0.166 0.083,-0.243 -0.132,0.078 -0.296,0.129 -0.459,0.134 -0.591,-0.327 -1.196,-0.548 -1.772,-0.972 l -0.011,-0.065 0.109,-0.22 -0.096,0.041 1.521,-2.308 c 0.298,0.241 0.689,0.418 1.06,0.608 l 0.003,0.018 -0.097,0.237 0.351,-0.123 1.646,0.71 0.005,0.017 c 0.015,0.118 -0.045,0.243 -0.164,0.347 l 0.072,-0.058 0.409,-0.186 0.478,0.177 z"
+                 id="path111"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 16.817,102.935 c -0.204,-0.074 -0.528,-0.003 -0.726,0.16 l -2.022,1.54 c -0.212,0.15 -0.212,0.345 0.005,0.436 l 1.173,0.483 c 0.215,0.079 0.554,0.013 0.754,-0.149 l 0.002,-0.002 0.906,-2.434 z"
+                 id="path113"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 13.984,101.717 c -0.307,-0.143 -0.591,-0.302 -0.83,-0.491 l -1.43,2.169 c 0.786,-0.321 1.521,-0.78 2.213,-1.253 0.207,-0.143 0.224,-0.335 0.047,-0.425 z"
+                 id="path115"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 13.828,104.533 c -0.211,0.158 -0.564,0.188 -0.785,0.071 l -1.185,-0.631 c -0.215,-0.146 -0.188,-0.346 0.05,-0.45 0.77,-0.329 1.522,-0.84 2.196,-1.297 0.211,-0.146 0.497,-0.18 0.699,-0.103 l 1.061,0.444 c 0.195,0.082 0.197,0.276 0.002,0.435 z"
+                 id="path117"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g119">
+              <path
+                 d="m 20.261,107.017 -0.358,0.134 -1.787,-0.581 -0.022,-0.058 c -0.019,-0.082 0.005,-0.169 0.06,-0.251 l -0.429,0.177 -1.751,-0.617 -0.02,-0.059 0.06,-0.235 -0.08,0.063 0.964,-2.59 1.278,0.461 0.006,0.017 -0.062,0.249 0.356,-0.165 1.778,0.589 0.006,0.017 c 0.025,0.116 -0.028,0.245 -0.144,0.356 l 0.07,-0.062 0.402,-0.205 0.495,0.156 z"
+                 id="path121"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 20.998,104.35 c -0.21,-0.066 -0.535,0.02 -0.724,0.191 l -1.902,1.691 c -0.193,0.169 -0.177,0.363 0.038,0.435 l 1.166,0.38 c 0.215,0.068 0.543,-0.017 0.733,-0.188 l 0.002,-0.003 0.782,-2.477 z"
+                 id="path123"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 17.923,103.34 -1.014,-0.371 -0.906,2.434 1.947,-1.63 c 0.194,-0.169 0.179,-0.362 -0.027,-0.433 z"
+                 id="path125"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 18.13,106.152 c -0.194,0.168 -0.526,0.245 -0.741,0.174 l -1.168,-0.415 c -0.215,-0.079 -0.227,-0.273 -0.026,-0.436 l 1.945,-1.641 c 0.193,-0.168 0.517,-0.248 0.725,-0.179 l 1.131,0.378 c 0.21,0.066 0.229,0.26 0.039,0.432 z"
+                 id="path127"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g129">
+              <path
+                 d="m 24.569,108.341 -0.354,0.138 -1.78,-0.542 -0.023,-0.057 c -0.02,-0.081 0.001,-0.168 0.053,-0.252 l -0.42,0.19 -1.745,-0.543 -0.022,-0.057 0.049,-0.239 -0.075,0.068 0.833,-2.636 1.32,0.414 0.006,0.017 -0.054,0.25 0.354,-0.174 1.811,0.553 0.007,0.017 c 0.028,0.116 -0.023,0.246 -0.137,0.358 l 0.069,-0.062 0.401,-0.21 0.501,0.152 z"
+                 id="path131"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 25.274,105.665 c -0.214,-0.064 -0.539,0.023 -0.726,0.198 l -1.867,1.73 c -0.188,0.174 -0.167,0.367 0.047,0.433 l 1.162,0.354 c 0.213,0.065 0.538,-0.023 0.725,-0.198 l 0.002,-0.002 0.753,-2.485 z"
+                 id="path133"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 22.144,104.711 -1.05,-0.331 -0.782,2.477 1.876,-1.713 c 0.188,-0.174 0.168,-0.368 -0.044,-0.433 z"
+                 id="path135"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 22.44,107.521 c -0.188,0.173 -0.515,0.261 -0.729,0.195 l -1.164,-0.362 c -0.215,-0.067 -0.234,-0.262 -0.044,-0.434 l 1.878,-1.718 c 0.188,-0.174 0.513,-0.262 0.725,-0.197 l 1.154,0.353 c 0.212,0.064 0.234,0.259 0.047,0.433 z"
+                 id="path137"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g139">
+              <path
+                 d="m 28.854,109.652 -0.353,0.134 -1.767,-0.543 -0.023,-0.057 0.053,-0.252 -0.417,0.19 -1.736,-0.526 -0.023,-0.057 0.046,-0.24 -0.074,0.069 0.802,-2.645 1.334,0.403 0.007,0.017 -0.053,0.251 0.354,-0.174 1.824,0.559 0.006,0.017 c 0.027,0.116 -0.025,0.245 -0.14,0.357 l 0.07,-0.062 0.403,-0.207 0.503,0.158 z"
+                 id="path141"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 29.583,106.982 c -0.214,-0.069 -0.542,0.017 -0.73,0.19 L 26.98,108.9 c -0.188,0.174 -0.167,0.367 0.045,0.433 l 1.154,0.353 c 0.213,0.064 0.534,-0.02 0.723,-0.191 l 0.002,-0.003 0.776,-2.479 z"
+                 id="path143"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 26.434,106.016 -1.062,-0.321 -0.753,2.485 1.863,-1.731 c 0.187,-0.176 0.165,-0.369 -0.048,-0.433 z"
+                 id="path145"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 26.739,108.826 c -0.188,0.174 -0.511,0.263 -0.724,0.197 l -1.159,-0.351 c -0.213,-0.064 -0.235,-0.259 -0.047,-0.433 l 1.866,-1.734 c 0.188,-0.174 0.513,-0.261 0.727,-0.195 l 1.163,0.356 c 0.214,0.065 0.234,0.259 0.045,0.432 z"
+                 id="path147"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g149">
+              <path
+                 d="m 33.085,111.036 -0.355,0.126 -1.739,-0.581 -0.021,-0.058 0.059,-0.251 -0.418,0.182 -1.718,-0.544 -0.021,-0.057 0.049,-0.239 -0.075,0.068 0.826,-2.638 1.338,0.424 0.006,0.017 -0.057,0.25 0.358,-0.169 1.824,0.605 0.006,0.018 c 0.024,0.116 -0.031,0.244 -0.149,0.353 l 0.072,-0.061 0.412,-0.195 0.502,0.171 z"
+                 id="path151"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 33.897,108.39 c -0.214,-0.071 -0.546,0.006 -0.741,0.174 l -1.914,1.68 c -0.19,0.169 -0.174,0.363 0.035,0.434 l 1.134,0.379 c 0.208,0.071 0.535,-0.012 0.727,-0.176 l 0.002,-0.002 0.854,-2.453 z"
+                 id="path153"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 30.746,107.351 -1.066,-0.338 -0.776,2.479 1.884,-1.708 c 0.191,-0.172 0.172,-0.365 -0.042,-0.433 z"
+                 id="path155"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 31.005,110.164 c -0.188,0.168 -0.513,0.252 -0.725,0.186 l -1.146,-0.362 c -0.211,-0.067 -0.23,-0.261 -0.042,-0.433 l 1.889,-1.71 c 0.191,-0.171 0.52,-0.257 0.734,-0.185 l 1.164,0.389 c 0.214,0.072 0.229,0.266 0.036,0.434 z"
+                 id="path157"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g159">
+              <path
+                 d="m 37.185,112.616 -0.356,0.1 -1.67,-0.673 -0.018,-0.059 0.071,-0.248 -0.425,0.166 -1.674,-0.606 -0.019,-0.058 0.057,-0.237 -0.076,0.065 0.909,-2.609 1.335,0.483 0.006,0.017 -0.067,0.247 0.368,-0.152 1.816,0.713 0.005,0.018 c 0.018,0.118 -0.046,0.242 -0.172,0.343 l 0.076,-0.056 0.429,-0.168 0.499,0.212 z"
+                 id="path161"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 38.196,110.037 c -0.213,-0.094 -0.555,-0.033 -0.762,0.12 l -2.009,1.562 c -0.196,0.159 -0.191,0.354 0.009,0.435 l 1.089,0.439 c 0.2,0.081 0.529,0.017 0.727,-0.129 l 0.003,-0.002 1.04,-2.38 z"
+                 id="path163"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 35.058,108.811 -1.064,-0.386 -0.854,2.453 1.944,-1.633 c 0.199,-0.163 0.188,-0.357 -0.026,-0.434 z"
+                 id="path165"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 35.195,111.626 c -0.197,0.161 -0.523,0.235 -0.729,0.16 l -1.117,-0.404 c -0.205,-0.074 -0.217,-0.27 -0.024,-0.435 l 1.951,-1.633 c 0.199,-0.163 0.536,-0.231 0.75,-0.153 l 1.158,0.464 c 0.213,0.086 0.217,0.28 0.011,0.436 z"
+                 id="path167"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g169">
+              <path
+                 d="m 40.814,114.631 -0.35,0.036 c -0.389,-0.322 -0.897,-0.595 -1.396,-0.87 l -0.008,-0.06 0.104,-0.235 -0.421,0.111 -1.555,-0.736 -0.014,-0.059 0.076,-0.232 -0.079,0.06 1.106,-2.532 1.324,0.615 0.005,0.018 c 0.008,0.082 -0.027,0.165 -0.092,0.238 l 0.392,-0.114 1.791,1.026 0.002,0.02 c 0,0.126 -0.089,0.233 -0.235,0.302 l 0.087,-0.036 c 0.136,-0.056 0.307,-0.068 0.476,-0.045 l 0.487,0.357 z"
+                 id="path171"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 42.442,112.398 c -0.209,-0.154 -0.581,-0.204 -0.819,-0.104 -0.785,0.314 -1.547,0.787 -2.251,1.214 -0.212,0.134 -0.236,0.326 -0.059,0.426 0.315,0.185 0.67,0.35 0.92,0.563 0.15,0.111 0.451,0.109 0.683,0.004 l 0.003,-0.001 1.618,-2.032 z"
+                 id="path173"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 39.348,110.572 -1.056,-0.49 -1.04,2.38 2.083,-1.454 c 0.218,-0.143 0.226,-0.336 0.013,-0.436 z"
+                 id="path175"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 39.166,113.392 c -0.216,0.139 -0.51,0.156 -0.71,0.074 l -1.045,-0.485 c -0.192,-0.09 -0.187,-0.285 0.016,-0.435 l 2.098,-1.45 c 0.219,-0.148 0.57,-0.171 0.782,-0.045 l 1.144,0.645 c 0.212,0.114 0.182,0.341 -0.055,0.434 -0.788,0.385 -1.533,0.815 -2.23,1.262 z"
+                 id="path177"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g179">
+              <path
+                 d="m 43.54,117.863 -0.388,-0.086 -1.188,-1.551 0.015,-0.061 0.194,-0.169 c -0.154,0.002 -0.319,-0.042 -0.464,-0.114 -0.423,-0.511 -0.53,-0.657 -0.962,-1.012 l 0.004,-0.056 0.135,-0.201 -0.09,0.042 1.721,-2.162 c 0.434,0.264 0.852,0.79 1.254,1.229 l -10e-4,0.02 c -0.021,0.084 -0.09,0.141 -0.186,0.174 l 0.434,0.102 1.076,1.446 -0.005,0.018 c -0.046,0.109 -0.162,0.188 -0.315,0.216 l 0.09,-0.013 0.436,0.045 0.328,0.37 z"
+                 id="path181"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 45.588,116.007 c -0.136,-0.16 -0.464,-0.239 -0.704,-0.208 l -2.513,0.307 c -0.259,0.021 -0.356,0.19 -0.216,0.38 l 0.761,1.021 c 0.153,0.18 0.492,0.29 0.748,0.248 h 0.003 l 1.984,-1.677 z"
+                 id="path183"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 43.548,113.423 c -0.327,-0.366 -0.666,-0.738 -1.011,-0.955 l -1.618,2.032 c 0.787,-0.376 1.522,-0.6 2.466,-0.661 0.28,-0.016 0.362,-0.194 0.163,-0.416 z"
+                 id="path185"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 42.215,115.895 c -0.257,0.027 -0.589,-0.129 -0.72,-0.293 l -0.573,-0.604 c -0.152,-0.108 -0.094,-0.287 0.138,-0.392 0.765,-0.354 1.525,-0.538 2.489,-0.58 0.314,0.013 0.587,0.105 0.724,0.28 l 0.685,0.922 c 0.125,0.169 0.029,0.339 -0.218,0.377 z"
+                 id="path187"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g189">
+              <path
+                 d="m 46.862,121.198 -0.39,-0.027 -1.44,-1.343 0.003,-0.062 0.164,-0.198 c -0.153,0.027 -0.325,0.012 -0.482,-0.035 l -1.277,-1.429 0.01,-0.061 0.167,-0.177 -0.102,0.017 2.111,-1.784 0.872,0.988 -0.003,0.018 -0.172,0.19 0.375,0.02 1.302,1.227 -10e-4,0.018 c -0.027,0.115 -0.127,0.212 -0.274,0.267 l 0.087,-0.028 0.432,-0.028 0.366,0.328 z"
+                 id="path191"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 48.554,119.016 c -0.152,-0.144 -0.464,-0.191 -0.701,-0.109 l -2.437,0.734 c -0.253,0.065 -0.321,0.247 -0.148,0.409 l 0.94,0.876 c 0.177,0.158 0.504,0.239 0.758,0.145 l 0.003,-0.001 1.661,-1.997 z"
+                 id="path193"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 46.346,116.864 -0.694,-0.786 -1.984,1.677 2.491,-0.497 c 0.243,-0.059 0.325,-0.237 0.187,-0.394 z"
+                 id="path195"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 45.224,119.461 c -0.252,0.062 -0.61,-0.011 -0.758,-0.195 l -0.847,-0.958 c -0.156,-0.177 -0.072,-0.353 0.185,-0.396 l 2.483,-0.51 c 0.241,-0.056 0.548,0.021 0.708,0.156 l 0.833,0.776 c 0.152,0.143 0.086,0.325 -0.151,0.406 z"
+                 id="path197"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g199">
+              <path
+                 d="m 50.817,123.82 -0.389,0.051 c -0.571,-0.336 -1.176,-0.625 -1.715,-1.005 l -0.007,-0.064 c 0.003,-0.087 0.049,-0.164 0.124,-0.228 -0.142,0.051 -0.309,0.06 -0.466,0.034 l -1.554,-1.157 -0.002,-0.061 0.133,-0.203 -0.099,0.035 1.767,-2.125 1.047,0.775 v 0.018 l -0.134,0.219 0.374,-0.057 c 0.46,0.379 0.964,0.682 1.487,0.953 l 0.002,0.018 c -0.003,0.116 -0.082,0.231 -0.216,0.317 l 0.081,-0.047 0.42,-0.127 0.424,0.238 z"
+                 id="path201"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 52.028,121.329 c -0.18,-0.101 -0.497,-0.074 -0.714,0.058 -0.715,0.433 -1.486,0.866 -2.265,1.23 -0.229,0.102 -0.27,0.306 -0.07,0.437 l 1.131,0.639 c 0.209,0.118 0.562,0.11 0.783,-0.02 l 0.003,-0.001 1.214,-2.296 z"
+                 id="path203"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 49.463,119.688 -0.833,-0.616 -1.661,1.997 2.383,-0.965 c 0.23,-0.104 0.277,-0.292 0.111,-0.416 z"
+                 id="path205"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 48.836,122.46 c -0.232,0.104 -0.579,0.069 -0.771,-0.073 l -1.037,-0.771 c -0.191,-0.143 -0.141,-0.329 0.107,-0.419 l 2.371,-0.977 c 0.229,-0.105 0.545,-0.093 0.711,0.031 0.292,0.244 0.625,0.417 0.952,0.598 0.18,0.101 0.153,0.29 -0.065,0.421 -0.718,0.423 -1.511,0.872 -2.268,1.19 z"
+                 id="path207"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g209">
+              <path
+                 d="m 55.251,125.559 -0.374,0.158 c -0.657,-0.124 -1.255,-0.443 -1.884,-0.658 l -0.022,-0.06 c -0.017,-0.084 0.011,-0.169 0.071,-0.248 l -0.458,0.149 c -0.613,-0.225 -1.218,-0.467 -1.77,-0.812 l -0.013,-0.062 0.089,-0.228 -0.088,0.051 1.292,-2.443 c 0.377,0.209 0.742,0.446 1.155,0.573 l 0.004,0.017 -0.084,0.241 0.357,-0.151 1.639,0.636 0.005,0.017 c 0.021,0.119 -0.029,0.248 -0.139,0.355 l 0.066,-0.06 0.379,-0.216 0.474,0.101 z"
+                 id="path211"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 55.867,122.866 c -0.2,-0.047 -0.511,0.084 -0.689,0.252 -0.59,0.554 -1.227,1.095 -1.908,1.618 -0.206,0.157 -0.195,0.354 0.03,0.44 l 1.22,0.46 c 0.235,0.053 0.583,-0.054 0.772,-0.238 l 0.002,-0.002 0.664,-2.511 z"
+                 id="path213"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 53.018,121.855 c -0.323,-0.114 -0.604,-0.324 -0.908,-0.479 l -1.214,2.296 c 0.739,-0.439 1.416,-0.847 2.105,-1.396 0.203,-0.159 0.208,-0.348 0.017,-0.421 z"
+                 id="path215"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 53.021,124.641 c -0.207,0.156 -0.562,0.211 -0.786,0.124 -0.409,-0.15 -0.812,-0.312 -1.18,-0.543 -0.209,-0.117 -0.197,-0.314 0.024,-0.444 0.723,-0.42 1.419,-0.886 2.1,-1.434 0.203,-0.158 0.518,-0.229 0.709,-0.155 l 1.042,0.404 c 0.191,0.074 0.205,0.271 0.025,0.438 -0.599,0.552 -1.244,1.09 -1.934,1.61 z"
+                 id="path217"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g219">
+              <path
+                 d="m 59.967,126.22 -0.328,0.219 -1.988,-0.122 -0.034,-0.056 c -0.035,-0.081 -0.027,-0.171 0.013,-0.26 l -0.407,0.225 -1.912,-0.413 -0.028,-0.056 0.035,-0.24 -0.075,0.073 0.707,-2.672 1.259,0.271 0.008,0.017 -0.027,0.255 0.309,-0.207 c 0.565,0.168 1.159,0.162 1.746,0.193 l 0.009,0.015 c 0.048,0.105 0.028,0.243 -0.055,0.38 l 0.051,-0.077 0.323,-0.301 0.485,0.026 z"
+                 id="path221"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 59.965,123.451 c -0.206,-0.011 -0.479,0.154 -0.617,0.368 -0.455,0.711 -0.955,1.419 -1.5,2.121 -0.165,0.211 -0.109,0.394 0.13,0.407 l 1.297,0.071 c 0.24,0.013 0.554,-0.15 0.696,-0.364 l 0.002,-0.003 0.086,-2.596 z"
+                 id="path223"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 56.959,123.101 -1.001,-0.215 -0.664,2.511 c 0.628,-0.611 1.209,-1.236 1.743,-1.869 0.16,-0.192 0.122,-0.383 -0.078,-0.427 z"
+                 id="path225"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 57.585,125.895 c -0.164,0.19 -0.493,0.303 -0.729,0.253 l -1.276,-0.276 c -0.235,-0.052 -0.269,-0.242 -0.081,-0.427 0.621,-0.614 1.196,-1.241 1.723,-1.877 0.16,-0.191 0.446,-0.311 0.646,-0.267 0.359,0.11 0.744,0.061 1.115,0.1 0.206,0.011 0.264,0.192 0.125,0.407 -0.461,0.696 -0.976,1.448 -1.523,2.087 z"
+                 id="path227"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g229">
+              <path
+                 d="m 64.469,126.298 -0.297,0.234 -1.813,-0.008 -0.038,-0.048 -0.025,-0.257 -0.334,0.304 c -0.567,0.009 -1.229,-0.029 -1.879,-0.062 l -0.04,-0.05 -0.019,-0.244 -0.057,0.085 0.092,-2.762 1.308,0.064 0.012,0.015 0.029,0.255 0.287,-0.268 1.944,0.007 0.011,0.014 c 0.061,0.104 0.046,0.242 -0.032,0.383 l 0.05,-0.08 0.332,-0.316 0.536,0.003 z"
+                 id="path231"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 64.432,123.533 c -0.229,-0.001 -0.523,0.177 -0.657,0.397 l -1.288,2.194 c -0.125,0.221 -0.048,0.4 0.17,0.401 l 1.183,0.004 c 0.218,0.001 0.5,-0.177 0.632,-0.397 l 0.002,-0.003 0.062,-2.597 h -0.104 z"
+                 id="path233"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 61.086,123.514 -1.027,-0.058 -0.086,2.596 c 0.475,-0.709 0.898,-1.418 1.287,-2.131 0.13,-0.224 0.031,-0.393 -0.174,-0.407 z"
+                 id="path235"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 62.239,126.124 c -0.125,0.221 -0.4,0.398 -0.617,0.397 -0.376,0.007 -0.841,-0.03 -1.265,-0.047 -0.24,-0.012 -0.315,-0.195 -0.173,-0.409 0.475,-0.716 0.871,-1.41 1.282,-2.144 0.125,-0.221 0.414,-0.398 0.643,-0.397 l 1.24,0.004 c 0.229,10e-4 0.304,0.181 0.171,0.401 z"
+                 id="path237"
+                 style="fill:#c4c4c4" />
+            </g>
+          </g>
+          <path
+             d="m 3.747,66.52 c -0.277,0 -0.377,-0.122 -0.378,-0.123 0.009,0.012 0.91,1.253 -1.322,8.323 -3.262,10.328 4.05,25.327 10.2,28.915 2.507,1.462 7.343,2.924 12.463,4.471 6.891,2.083 15.467,4.675 17.215,7.229 2.812,4.11 9.065,10.963 19.352,10.686 l 3.199,0.013 0.048,-2 -3.3,-0.013 c -9.34,0.253 -15.066,-6.041 -17.648,-9.814 -2.146,-3.137 -10.352,-5.616 -18.287,-8.015 -5.004,-1.513 -9.731,-2.941 -12.034,-4.284 C 7.767,98.706 1.1,84.361 3.955,75.322 5.663,69.909 6,66.604 4.983,65.216 4.51,64.57 3.918,64.52 3.748,64.52 Z"
+             id="path6380"
+             style="fill:url(#radialGradient11879);fill-opacity:1" />
+          <g
+             id="g254">
+            <path
+               d="m 125.25,66.521 c 0.25,-4.5 0.75,-22 -2.25,-24 -3,-2 -24.5,6.75 -32,3.25 -7.5,-3.5 5,-35.75 0.5,-39.75 -4.5,-4 -12.166,-2.916 -25.75,-3"
+               id="path256"
+               style="fill:none" />
+            <g
+               id="g258">
+              <path
+                 d="m 126.672,62.105 0.229,0.304 -0.051,1.854 -0.049,0.037 -0.258,0.014 0.291,0.355 -0.081,1.82 -0.049,0.035 -0.244,0.012 0.085,0.057 -2.759,-0.153 0.062,-1.356 0.015,-0.011 0.256,-0.011 -0.258,-0.292 0.061,-1.86 0.015,-0.011 c 0.104,-0.056 0.243,-0.041 0.382,0.037 l -0.079,-0.049 -0.309,-0.325 0.011,-0.513 z"
+                 id="path260"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 123.905,62.147 c -0.005,0.219 0.169,0.502 0.388,0.635 l 2.16,1.332 c 0.218,0.136 0.398,0.066 0.405,-0.156 l 0.035,-1.21 c 0.005,-0.223 -0.169,-0.512 -0.387,-0.645 l -0.003,-0.001 -2.597,-0.055 z"
+                 id="path262"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 123.805,65.358 -0.053,1.079 2.594,0.144 -2.135,-1.372 c -0.216,-0.136 -0.398,-0.068 -0.406,0.149 z"
+                 id="path264"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 126.445,64.366 c 0.216,0.136 0.384,0.428 0.375,0.65 l -0.054,1.215 c -0.012,0.224 -0.194,0.291 -0.408,0.149 l -2.14,-1.37 c -0.216,-0.135 -0.384,-0.421 -0.375,-0.639 l 0.036,-1.187 c 0.007,-0.218 0.188,-0.288 0.405,-0.156 z"
+                 id="path266"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g268">
+              <path
+                 d="m 126.704,57.625 0.236,0.297 -0.001,1.855 -0.048,0.039 -0.257,0.021 0.301,0.347 -0.026,1.813 -0.049,0.037 -0.243,0.02 0.087,0.053 -2.763,-0.058 0.022,-1.366 0.015,-0.011 0.255,-0.019 -0.267,-0.285 0.008,-1.862 0.015,-0.011 c 0.103,-0.059 0.241,-0.048 0.382,0.026 l -0.08,-0.047 -0.317,-0.315 -0.001,-0.513 z"
+                 id="path270"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 123.939,57.746 c 0.001,0.218 0.18,0.497 0.401,0.623 l 2.2,1.271 c 0.219,0.13 0.399,0.055 0.401,-0.168 l -0.002,-1.211 c 0,-0.223 -0.18,-0.507 -0.401,-0.634 l -0.003,-0.001 -2.597,0.02 v 0.1 z"
+                 id="path272"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 123.928,60.96 -0.021,1.088 2.597,0.055 -2.175,-1.305 c -0.22,-0.129 -0.399,-0.057 -0.401,0.162 z"
+                 id="path274"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 126.538,59.892 c 0.22,0.13 0.396,0.417 0.394,0.64 l -0.018,1.209 c -0.004,0.223 -0.185,0.295 -0.403,0.163 l -2.18,-1.304 c -0.22,-0.129 -0.396,-0.41 -0.394,-0.629 l 0.004,-1.187 c 0,-0.219 0.179,-0.294 0.4,-0.168 z"
+                 id="path276"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g278">
+              <path
+                 d="m 126.587,53.134 0.25,0.289 0.063,1.862 -0.047,0.04 -0.256,0.029 0.312,0.338 0.029,1.817 -0.048,0.038 -0.242,0.027 0.087,0.05 -2.764,0.021 -0.02,-1.363 0.014,-0.011 0.255,-0.026 -0.273,-0.276 -0.055,-1.854 0.014,-0.011 c 0.102,-0.062 0.24,-0.057 0.384,0.013 l -0.082,-0.044 -0.326,-0.304 -0.024,-0.509 z"
+                 id="path280"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 123.83,53.361 c 0.014,0.216 0.201,0.486 0.426,0.604 l 2.24,1.195 c 0.225,0.123 0.401,0.042 0.395,-0.182 l -0.04,-1.215 c -0.005,-0.224 -0.201,-0.502 -0.429,-0.621 l -0.003,-0.001 -2.595,0.121 z"
+                 id="path282"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 123.924,56.562 0.016,1.085 2.597,-0.02 -2.215,-1.239 c -0.223,-0.122 -0.401,-0.044 -0.398,0.174 z"
+                 id="path284"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 126.504,55.413 c 0.227,0.123 0.408,0.404 0.412,0.627 l 0.02,1.213 c 0.004,0.223 -0.175,0.301 -0.397,0.174 l -2.22,-1.237 c -0.224,-0.122 -0.407,-0.397 -0.41,-0.615 l -0.039,-1.181 c -0.007,-0.218 0.17,-0.299 0.395,-0.182 z"
+                 id="path286"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g288">
+              <path
+                 d="m 126.236,48.615 0.267,0.276 0.174,1.879 -0.045,0.043 -0.254,0.042 0.331,0.325 0.106,1.827 -0.046,0.041 -0.241,0.036 0.091,0.047 -2.761,0.129 -0.072,-1.353 0.014,-0.012 0.254,-0.038 -0.288,-0.261 -0.149,-1.829 0.013,-0.012 c 0.097,-0.067 0.235,-0.07 0.384,-0.011 l -0.085,-0.039 -0.349,-0.275 -0.057,-0.499 z"
+                 id="path290"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 123.5,49.033 c 0.024,0.212 0.232,0.464 0.466,0.565 l 2.301,1.067 c 0.23,0.111 0.403,0.021 0.386,-0.204 l -0.11,-1.226 c -0.025,-0.227 -0.236,-0.496 -0.47,-0.6 l -0.003,-0.002 -2.58,0.302 z"
+                 id="path292"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 123.768,52.186 0.057,1.077 2.595,-0.121 -2.261,-1.146 c -0.228,-0.112 -0.403,-0.027 -0.391,0.19 z"
+                 id="path294"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 126.287,50.919 c 0.23,0.112 0.432,0.388 0.449,0.612 l 0.065,1.219 c 0.012,0.224 -0.163,0.31 -0.391,0.19 l -2.264,-1.143 c -0.227,-0.111 -0.43,-0.373 -0.445,-0.588 l -0.092,-1.167 c -0.018,-0.215 0.147,-0.304 0.383,-0.202 z"
+                 id="path296"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g298">
+              <path
+                 d="m 125.317,43.998 0.327,0.246 c 0.241,0.68 0.317,1.301 0.48,1.955 l -0.04,0.049 -0.248,0.069 0.354,0.299 0.265,1.856 -0.043,0.044 -0.238,0.054 0.093,0.042 -2.745,0.32 -0.176,-1.312 0.013,-0.013 0.249,-0.06 -0.309,-0.226 c -0.076,-0.602 -0.225,-1.148 -0.344,-1.716 l 0.012,-0.014 c 0.088,-0.079 0.225,-0.104 0.376,-0.07 l -0.088,-0.023 -0.383,-0.189 -0.138,-0.42 z"
+                 id="path300"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 122.729,44.982 c 0.057,0.178 0.306,0.353 0.554,0.407 0.794,0.199 1.602,0.447 2.418,0.745 0.246,0.091 0.405,-0.021 0.354,-0.255 l -0.292,-1.268 c -0.077,-0.243 -0.349,-0.498 -0.602,-0.559 l -0.003,-10e-4 -2.455,0.849 z"
+                 id="path302"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 123.355,47.89 0.134,1.047 2.58,-0.302 -2.344,-0.964 c -0.237,-0.087 -0.402,0.013 -0.37,0.219 z"
+                 id="path304"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 125.751,46.392 c 0.238,0.091 0.461,0.353 0.497,0.581 l 0.179,1.239 c 0.025,0.227 -0.144,0.325 -0.377,0.222 l -2.354,-0.952 c -0.238,-0.088 -0.456,-0.323 -0.488,-0.53 l -0.229,-1.083 c -0.044,-0.197 0.114,-0.312 0.354,-0.25 0.794,0.208 1.614,0.468 2.418,0.773 z"
+                 id="path306"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g308">
+              <path
+                 d="m 120.752,40.991 0.315,-0.259 c 0.734,0.027 1.478,-0.07 2.633,0.48 l 0.037,0.068 c 0.029,0.092 -0.015,0.168 -0.104,0.231 0.18,-0.032 0.393,0.034 0.614,0.146 0.833,0.808 0.969,1.468 1.251,2.139 l -0.031,0.057 -0.22,0.107 0.101,0.025 -2.612,0.903 c -0.104,-0.416 -0.275,-0.649 -0.402,-0.942 l 0.009,-0.015 0.207,-0.153 c -0.111,-0.014 -0.222,0.062 -0.296,0.08 -0.152,-0.164 -0.014,-0.1 -0.639,-0.146 l -0.008,-0.015 c -0.04,-0.104 -0.027,-0.242 0.043,-0.382 l -0.043,0.079 -0.259,0.309 -0.43,0.013 z"
+                 id="path310"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 121.011,43.741 c 0.207,-0.028 0.387,-0.17 0.511,-0.396 0.406,-0.732 0.783,-1.497 1.774,-1.871 0.295,-0.114 0.282,-0.321 -0.106,-0.467 -0.781,-0.309 -1.197,-0.231 -1.704,-0.265 -0.286,-0.015 -0.614,0.169 -0.722,0.413 l -0.002,0.003 0.159,2.593 z"
+                 id="path312"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 122.386,44.139 c 0.113,0.207 0.234,0.437 0.317,0.763 l 2.455,-0.849 c -0.809,-0.213 -1.717,-0.331 -2.48,-0.226 -0.23,0.03 -0.356,0.181 -0.292,0.312 z"
+                 id="path314"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 123.65,41.642 c 0.266,-0.059 0.757,0.161 1.012,0.466 0.334,0.489 0.55,0.955 0.744,1.413 0.081,0.242 -0.062,0.382 -0.314,0.322 -0.81,-0.207 -1.759,-0.277 -2.479,-0.154 -0.242,0.078 -0.428,0.173 -0.435,0.118 -0.14,-0.017 0.006,-0.029 -0.354,-0.057 -0.164,-10e-4 -0.217,-0.183 -0.098,-0.4 0.407,-0.751 0.857,-1.396 1.924,-1.708 z"
+                 id="path316"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g318">
+              <path
+                 d="m 116.187,41.714 0.247,-0.29 1.855,-0.352 0.047,0.041 0.065,0.249 0.301,-0.359 c 0.6,-0.117 1.263,-0.171 1.913,-0.234 l 0.044,0.043 0.042,0.24 0.049,-0.093 0.168,2.759 -1.253,0.132 -0.013,-0.013 -0.058,-0.249 -0.23,0.312 -1.787,0.317 -0.014,-0.012 c -0.077,-0.09 -0.093,-0.228 -0.047,-0.381 l -0.031,0.088 -0.245,0.373 -0.498,0.103 z"
+                 id="path320"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 116.846,44.401 c 0.211,-0.043 0.447,-0.274 0.527,-0.517 l 0.847,-2.396 c 0.093,-0.239 -0.015,-0.403 -0.241,-0.365 l -1.209,0.23 c -0.221,0.046 -0.467,0.279 -0.548,0.521 l -10e-4,0.003 0.528,2.543 z"
+                 id="path322"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 119.928,43.85 0.993,-0.099 -0.159,-2.593 c -0.403,0.775 -0.75,1.546 -1.042,2.311 -0.093,0.242 0.011,0.396 0.208,0.381 z"
+                 id="path324"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 118.474,41.447 c 0.093,-0.239 0.354,-0.465 0.581,-0.503 l 1.284,-0.149 c 0.241,-0.023 0.333,0.147 0.213,0.381 -0.398,0.782 -0.729,1.533 -1.022,2.325 -0.091,0.239 -0.331,0.461 -0.539,0.496 l -1.138,0.198 c -0.211,0.043 -0.319,-0.117 -0.238,-0.359 z"
+                 id="path326"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g328">
+              <path
+                 d="m 111.822,42.69 0.235,-0.295 1.797,-0.412 0.048,0.038 0.079,0.246 0.269,-0.373 1.775,-0.387 0.048,0.038 0.074,0.232 0.032,-0.096 0.562,2.706 -1.33,0.285 -0.014,-0.011 -0.076,-0.245 -0.218,0.325 -1.822,0.413 -0.015,-0.011 c -0.081,-0.087 -0.101,-0.225 -0.059,-0.379 l -0.028,0.089 -0.24,0.38 -0.504,0.117 z"
+                 id="path330"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 112.542,45.362 c 0.215,-0.05 0.449,-0.287 0.523,-0.531 l 0.746,-2.428 c 0.076,-0.243 -0.037,-0.401 -0.254,-0.353 l -1.172,0.269 c -0.216,0.05 -0.45,0.288 -0.525,0.532 l -0.001,0.003 0.585,2.53 z"
+                 id="path332"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 115.69,44.646 1.059,-0.225 -0.528,-2.543 -0.779,2.413 c -0.077,0.245 0.036,0.403 0.248,0.355 z"
+                 id="path334"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 114.057,42.349 c 0.076,-0.244 0.314,-0.481 0.532,-0.529 l 1.184,-0.26 c 0.22,-0.045 0.332,0.114 0.251,0.356 l -0.775,2.42 c -0.076,0.243 -0.311,0.479 -0.523,0.527 l -1.162,0.263 c -0.215,0.05 -0.328,-0.107 -0.254,-0.352 z"
+                 id="path336"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g338">
+              <path
+                 d="m 107.502,43.671 0.236,-0.292 1.782,-0.399 0.048,0.037 0.079,0.246 0.264,-0.373 1.748,-0.402 0.047,0.038 0.079,0.23 0.029,-0.097 0.622,2.693 -1.344,0.31 -0.015,-0.011 -0.077,-0.244 -0.218,0.326 -1.841,0.42 -0.014,-0.011 c -0.081,-0.088 -0.101,-0.226 -0.057,-0.38 l -0.029,0.089 -0.246,0.377 -0.511,0.111 z"
+                 id="path340"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 108.191,46.351 c 0.218,-0.047 0.457,-0.282 0.534,-0.525 l 0.754,-2.427 c 0.075,-0.243 -0.038,-0.401 -0.253,-0.353 l -1.162,0.263 c -0.214,0.046 -0.448,0.28 -0.525,0.523 l -0.001,0.003 0.555,2.537 z"
+                 id="path342"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 111.375,45.633 1.069,-0.248 -0.585,-2.53 -0.74,2.426 c -0.074,0.243 0.04,0.401 0.256,0.352 z"
+                 id="path344"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 109.723,43.343 c 0.074,-0.243 0.309,-0.48 0.522,-0.529 l 1.166,-0.269 c 0.216,-0.05 0.329,0.107 0.255,0.352 l -0.742,2.429 c -0.074,0.244 -0.311,0.481 -0.526,0.531 l -1.174,0.268 c -0.216,0.05 -0.329,-0.108 -0.253,-0.353 z"
+                 id="path346"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g348">
+              <path
+                 d="m 103.193,44.543 0.244,-0.28 1.776,-0.349 0.047,0.039 0.072,0.247 0.271,-0.363 1.739,-0.372 0.047,0.039 0.075,0.231 0.03,-0.096 0.59,2.7 -1.358,0.294 -0.014,-0.011 -0.074,-0.245 -0.226,0.323 -1.87,0.367 -0.014,-0.012 c -0.079,-0.09 -0.093,-0.229 -0.044,-0.381 l -0.032,0.088 -0.26,0.373 -0.518,0.095 z"
+                 id="path350"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 103.783,47.248 c 0.222,-0.036 0.469,-0.272 0.555,-0.513 l 0.825,-2.404 c 0.081,-0.241 -0.028,-0.402 -0.241,-0.36 l -1.159,0.228 c -0.214,0.043 -0.454,0.272 -0.539,0.507 l -0.001,0.003 0.459,2.557 z"
+                 id="path352"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 107.01,46.607 1.083,-0.235 -0.555,-2.537 -0.777,2.417 c -0.08,0.243 0.031,0.402 0.249,0.355 z"
+                 id="path354"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 105.406,44.283 c 0.08,-0.241 0.316,-0.468 0.53,-0.513 l 1.16,-0.252 c 0.214,-0.047 0.325,0.112 0.249,0.355 l -0.781,2.421 c -0.079,0.245 -0.324,0.475 -0.544,0.518 l -1.192,0.234 c -0.22,0.043 -0.328,-0.118 -0.243,-0.36 z"
+                 id="path356"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g358">
+              <path
+                 d="m 98.892,45.166 0.261,-0.269 1.767,-0.216 0.044,0.041 0.06,0.25 0.285,-0.355 1.735,-0.287 0.044,0.041 0.067,0.234 0.033,-0.094 0.488,2.72 -1.389,0.23 -0.013,-0.013 -0.062,-0.248 -0.244,0.313 -1.913,0.261 -0.013,-0.013 c -0.073,-0.095 -0.077,-0.234 -0.018,-0.384 l -0.039,0.086 -0.289,0.354 -0.53,0.064 z"
+                 id="path360"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 99.272,47.904 c 0.227,-0.027 0.495,-0.24 0.599,-0.476 l 0.977,-2.336 c 0.092,-0.233 -0.008,-0.401 -0.22,-0.376 l -1.152,0.141 c -0.212,0.026 -0.464,0.237 -0.565,0.473 l -0.002,0.003 0.262,2.584 z"
+                 id="path362"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 102.575,47.448 1.106,-0.184 -0.459,-2.557 -0.881,2.373 c -0.092,0.24 0.012,0.405 0.234,0.368 z"
+                 id="path364"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 101.09,45.059 c 0.092,-0.239 0.337,-0.461 0.55,-0.496 l 1.157,-0.191 c 0.213,-0.036 0.318,0.129 0.233,0.366 l -0.889,2.377 c -0.093,0.239 -0.35,0.464 -0.572,0.5 l -1.224,0.159 c -0.226,0.027 -0.324,-0.141 -0.221,-0.376 z"
+                 id="path366"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g368">
+              <path
+                 d="m 94.667,45.296 0.289,-0.229 1.71,0.019 0.037,0.046 0.03,0.255 0.314,-0.324 1.712,-0.116 0.041,0.043 0.048,0.238 0.04,-0.093 0.277,2.75 -1.433,0.106 -0.013,-0.014 -0.038,-0.253 -0.28,0.287 c -0.647,0.06 -1.315,0.058 -1.989,0.032 L 95.4,48.028 c -0.062,-0.104 -0.044,-0.243 0.038,-0.382 l -0.052,0.079 -0.351,0.309 -0.555,-0.014 z"
+                 id="path370"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 94.588,48.057 c 0.237,0.006 0.549,-0.165 0.688,-0.384 0.47,-0.727 0.891,-1.439 1.273,-2.18 0.117,-0.231 0.036,-0.396 -0.17,-0.396 l -1.111,-0.025 c -0.204,-0.004 -0.476,0.17 -0.611,0.388 l -0.002,0.003 -0.175,2.592 z"
+                 id="path372"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 98.028,48.006 1.142,-0.089 -0.262,-2.584 -1.082,2.284 c -0.117,0.23 -0.028,0.404 0.202,0.389 z"
+                 id="path374"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 96.79,45.479 c 0.116,-0.229 0.376,-0.425 0.586,-0.438 l 1.141,-0.07 c 0.21,-0.015 0.302,0.146 0.199,0.384 L 97.62,47.63 c -0.118,0.229 -0.404,0.426 -0.635,0.44 l -1.272,0.013 c -0.237,-0.005 -0.312,-0.186 -0.174,-0.404 0.463,-0.734 0.87,-1.425 1.251,-2.2 z"
+                 id="path376"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g378">
+              <path
+                 d="m 91.211,44.302 0.258,-0.079 c 0.093,0.3 0.835,0.332 1.216,0.529 l 0.018,0.057 -0.047,0.255 0.35,-0.223 1.573,0.219 0.031,0.048 0.006,0.242 0.054,-0.086 -0.187,2.757 c -0.495,-0.024 -1.012,-0.128 -1.516,-0.192 l -0.01,-0.016 c -0.033,-0.077 -0.022,-0.166 0.02,-0.255 l -0.36,0.219 c -0.688,-0.091 -1.416,-0.416 -2.115,-0.634 l -0.006,-0.018 c -0.024,-0.117 0.048,-0.238 0.187,-0.339 l -0.084,0.056 c -0.13,0.106 -0.311,0.089 -0.503,0.053 l -0.603,-0.469 z"
+                 id="path380"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 89.588,46.546 c 0.259,0.211 0.688,0.302 0.915,0.198 0.769,-0.48 1.43,-1.059 1.972,-1.642 0.161,-0.178 0.146,-0.373 -0.021,-0.43 -0.279,-0.114 -0.664,-0.173 -0.865,-0.317 -0.072,-0.092 -0.274,-0.042 -0.481,0.075 l -0.003,0.002 -1.633,2.02 z"
+                 id="path382"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 93.271,47.906 c 0.402,0.049 0.816,0.137 1.209,0.148 l 0.175,-2.592 c -0.442,0.715 -0.932,1.355 -1.507,2.021 -0.172,0.2 -0.123,0.388 0.123,0.423 z"
+                 id="path384"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 92.677,45.172 c 0.146,-0.162 0.439,-0.32 0.629,-0.29 l 1.047,0.151 c 0.189,0.032 0.252,0.206 0.116,0.421 -0.438,0.674 -0.951,1.344 -1.535,1.999 -0.175,0.193 -0.52,0.338 -0.769,0.278 l -1.361,-0.448 c -0.251,-0.087 -0.259,-0.279 -0.031,-0.434 0.748,-0.515 1.385,-1.084 1.904,-1.677 z"
+                 id="path386"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g388">
+              <path
+                 d="m 89.939,41.178 0.283,0.22 c 0.123,0.495 0.16,1.078 0.334,1.506 l -0.032,0.04 -0.232,0.104 0.397,0.109 c 0.186,0.374 0.328,0.843 0.624,0.927 l -0.016,0.048 -0.146,0.194 0.078,-0.048 -1.738,2.148 C 88.927,46.001 88.478,45.53 88.284,44.985 l 0.006,-0.02 0.209,-0.152 C 88.367,44.787 88.228,44.716 88.103,44.62 87.678,43.883 87.524,43.18 87.415,42.486 l 0.011,-0.016 c 0.088,-0.087 0.227,-0.101 0.381,-0.048 l -0.089,-0.035 c -0.138,-0.055 -0.272,-0.162 -0.38,-0.293 l -0.109,-0.579 z"
+                 id="path390"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 87.216,41.631 c 0.047,0.249 0.284,0.536 0.528,0.63 0.816,0.312 1.588,0.562 2.386,0.684 0.265,0.009 0.379,-0.075 0.34,-0.251 l -0.19,-1.013 c -0.036,-0.185 -0.262,-0.395 -0.504,-0.48 l -0.003,-0.002 -2.577,0.32 z"
+                 id="path392"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 88.423,45.322 c 0.141,0.438 0.658,0.773 1.049,1.13 l 1.633,-2.02 c -0.667,0.413 -1.647,0.606 -2.44,0.488 -0.262,-0.024 -0.376,0.147 -0.242,0.402 z"
+                 id="path394"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 90.222,43.119 c 0.255,0.014 0.51,0.117 0.574,0.256 0.125,0.24 0.198,0.586 0.412,0.631 0.09,0.061 0.01,0.23 -0.2,0.345 -0.762,0.42 -1.623,0.472 -2.453,0.354 -0.262,-0.027 -0.584,-0.277 -0.706,-0.538 -0.269,-0.477 -0.307,-0.913 -0.404,-1.361 -0.05,-0.248 0.109,-0.366 0.353,-0.274 0.834,0.275 1.532,0.572 2.424,0.587 z"
+                 id="path396"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g398">
+              <path
+                 d="m 89.903,36.972 0.22,0.297 c -0.016,0.583 -0.1,1.188 -0.061,1.751 l -0.047,0.036 -0.256,0.022 0.318,0.315 0.074,1.66 -0.041,0.037 -0.236,0.05 0.096,0.033 -2.742,0.341 c -0.084,-0.51 -0.061,-0.987 -0.094,-1.482 l 0.014,-0.013 0.254,-0.036 -0.281,-0.291 c -0.041,-0.675 -0.048,-1.338 0.008,-1.98 l 0.015,-0.011 c 0.105,-0.059 0.244,-0.041 0.381,0.042 l -0.078,-0.052 -0.299,-0.343 0.029,-0.537 z"
+                 id="path400"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 87.138,36.914 c -0.013,0.229 0.15,0.53 0.364,0.669 0.721,0.461 1.397,0.908 2.155,1.312 0.226,0.12 0.401,0.048 0.393,-0.156 l 0.056,-1.147 C 90.118,37.38 89.953,37.101 89.739,36.964 L 89.737,36.962 87.144,36.81 Z"
+                 id="path402"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 87.113,40.334 c 0.03,0.396 0.003,0.773 0.082,1.185 l 2.577,-0.32 c -0.798,-0.29 -1.505,-0.669 -2.267,-1.067 -0.226,-0.123 -0.401,-0.035 -0.392,0.202 z"
+                 id="path404"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 89.667,39.132 c 0.226,0.119 0.416,0.377 0.424,0.581 l 0.042,1.112 c 0.001,0.207 -0.147,0.284 -0.393,0.198 C 88.996,40.7 88.247,40.333 87.497,39.92 87.27,39.797 87.08,39.501 87.071,39.264 l 0.009,-1.263 c 0.012,-0.229 0.194,-0.301 0.408,-0.162 0.708,0.457 1.412,0.901 2.179,1.293 z"
+                 id="path406"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g408">
+              <path
+                 d="m 90.338,32.648 0.191,0.32 -0.202,1.784 -0.051,0.032 -0.258,-0.005 0.265,0.363 -0.14,1.733 -0.05,0.033 -0.243,0.01 0.085,0.054 -2.759,-0.162 0.094,-1.423 0.016,-0.01 0.257,10e-4 -0.236,-0.313 0.216,-1.909 0.016,-0.01 c 0.108,-0.048 0.245,-0.019 0.376,0.075 l -0.074,-0.059 -0.276,-0.363 0.067,-0.522 z"
+                 id="path410"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 87.583,32.374 c -0.035,0.221 0.116,0.533 0.319,0.688 l 2.042,1.518 c 0.206,0.148 0.393,0.093 0.416,-0.121 l 0.132,-1.164 c 0.022,-0.214 -0.122,-0.512 -0.318,-0.667 l -0.003,-0.002 -2.573,-0.353 z"
+                 id="path412"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 87.205,35.671 -0.062,1.139 2.593,0.152 -2.113,-1.428 c -0.206,-0.148 -0.393,-0.088 -0.418,0.137 z"
+                 id="path414"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 89.917,34.824 c 0.205,0.147 0.353,0.439 0.328,0.653 l -0.089,1.155 c -0.011,0.212 -0.193,0.274 -0.407,0.137 L 87.645,35.332 C 87.44,35.183 87.293,34.879 87.319,34.654 l 0.138,-1.218 c 0.025,-0.225 0.212,-0.278 0.416,-0.122 z"
+                 id="path416"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g418">
+              <path
+                 d="m 91.024,28.3 0.182,0.329 -0.295,1.796 -0.053,0.029 -0.257,-0.018 0.25,0.381 -0.265,1.753 -0.053,0.03 -0.244,-0.009 0.079,0.061 -2.738,-0.374 0.209,-1.381 0.016,-0.009 0.256,0.016 -0.224,-0.325 0.295,-1.878 0.016,-0.009 c 0.111,-0.042 0.247,-0.007 0.373,0.091 l -0.071,-0.06 -0.258,-0.369 0.09,-0.514 z"
+                 id="path420"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 88.281,27.934 c -0.038,0.22 0.09,0.529 0.286,0.691 l 1.968,1.606 c 0.199,0.159 0.388,0.113 0.42,-0.102 l 0.193,-1.172 c 0.037,-0.216 -0.091,-0.521 -0.287,-0.684 l -0.003,-0.003 -2.56,-0.438 z"
+                 id="path422"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 87.764,31.174 -0.166,1.1 2.573,0.353 -1.986,-1.563 c -0.2,-0.161 -0.388,-0.112 -0.421,0.11 z"
+                 id="path424"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 90.498,30.476 c 0.2,0.159 0.335,0.462 0.303,0.677 l -0.177,1.17 c -0.032,0.215 -0.221,0.265 -0.421,0.109 l -1.988,-1.568 c -0.199,-0.16 -0.333,-0.47 -0.3,-0.69 l 0.186,-1.198 c 0.038,-0.22 0.228,-0.265 0.424,-0.103 z"
+                 id="path426"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g428">
+              <path
+                 d="m 91.805,23.94 0.178,0.333 -0.331,1.804 -0.054,0.029 -0.257,-0.024 0.239,0.39 -0.305,1.758 -0.054,0.028 -0.243,-0.017 0.077,0.064 -2.724,-0.466 0.237,-1.367 0.016,-0.009 0.255,0.022 -0.216,-0.328 0.337,-1.854 0.016,-0.009 c 0.112,-0.04 0.247,-0.004 0.372,0.096 l -0.07,-0.062 -0.254,-0.371 0.094,-0.511 z"
+                 id="path430"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 89.067,23.54 c -0.04,0.218 0.085,0.528 0.279,0.693 l 1.935,1.642 c 0.195,0.164 0.385,0.122 0.425,-0.095 l 0.216,-1.177 c 0.04,-0.217 -0.086,-0.525 -0.279,-0.691 L 91.64,23.91 89.085,23.441 Z"
+                 id="path432"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 88.487,26.745 -0.188,1.089 2.56,0.438 -1.947,-1.624 c -0.197,-0.166 -0.387,-0.122 -0.425,0.097 z"
+                 id="path434"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 91.236,26.12 c 0.193,0.164 0.323,0.472 0.285,0.688 l -0.203,1.173 c -0.038,0.216 -0.228,0.26 -0.423,0.098 L 88.945,26.45 C 88.749,26.286 88.621,25.973 88.66,25.756 l 0.217,-1.182 c 0.04,-0.217 0.229,-0.26 0.425,-0.094 z"
+                 id="path436"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g438">
+              <path
+                 d="m 92.604,19.561 0.179,0.333 -0.33,1.813 -0.054,0.029 -0.257,-0.024 0.238,0.392 -0.323,1.769 -0.054,0.027 -0.243,-0.02 0.077,0.065 -2.719,-0.499 0.249,-1.356 0.016,-0.009 0.255,0.025 -0.214,-0.328 0.336,-1.844 0.016,-0.008 c 0.112,-0.04 0.247,-0.005 0.372,0.094 l -0.071,-0.061 -0.254,-0.369 0.091,-0.507 z"
+                 id="path440"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 89.864,19.177 c -0.04,0.217 0.086,0.524 0.28,0.688 l 1.938,1.639 c 0.194,0.165 0.384,0.122 0.424,-0.096 l 0.215,-1.183 C 92.76,20.007 92.637,19.698 92.44,19.533 l -0.003,-0.002 -2.558,-0.452 z"
+                 id="path442"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 89.284,22.359 -0.199,1.082 2.555,0.469 -1.933,-1.644 c -0.194,-0.164 -0.384,-0.122 -0.423,0.093 z"
+                 id="path444"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 92.038,21.75 c 0.194,0.165 0.319,0.476 0.28,0.693 l -0.217,1.18 c -0.039,0.217 -0.229,0.259 -0.424,0.094 l -1.935,-1.646 c -0.194,-0.165 -0.32,-0.474 -0.281,-0.69 l 0.215,-1.175 c 0.039,-0.216 0.229,-0.259 0.424,-0.095 z"
+                 id="path446"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g448">
+              <path
+                 d="m 93.309,15.123 0.191,0.33 -0.278,1.846 -0.054,0.03 -0.257,-0.019 0.243,0.389 -0.301,1.789 -0.053,0.03 -0.242,-0.018 0.077,0.065 -2.722,-0.48 0.227,-1.347 0.016,-0.009 0.256,0.021 -0.219,-0.322 0.293,-1.833 0.016,-0.009 c 0.11,-0.042 0.246,-0.011 0.375,0.083 l -0.073,-0.058 -0.271,-0.356 0.07,-0.503 z"
+                 id="path450"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 90.556,14.845 c -0.03,0.214 0.109,0.513 0.311,0.67 l 1.983,1.588 c 0.196,0.162 0.386,0.115 0.423,-0.104 l 0.181,-1.205 c 0.03,-0.223 -0.107,-0.533 -0.309,-0.691 L 93.142,15.1 90.57,14.747 Z"
+                 id="path452"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 90.061,18.007 -0.181,1.072 2.558,0.452 -1.955,-1.623 c -0.197,-0.161 -0.386,-0.117 -0.422,0.099 z"
+                 id="path454"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 92.808,17.351 c 0.196,0.162 0.326,0.472 0.289,0.691 l -0.2,1.193 c -0.037,0.22 -0.227,0.265 -0.423,0.1 l -1.958,-1.623 c -0.197,-0.161 -0.327,-0.466 -0.291,-0.681 l 0.19,-1.169 c 0.029,-0.214 0.217,-0.262 0.418,-0.104 z"
+                 id="path456"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g458">
+              <path
+                 d="m 93.744,10.562 0.236,0.327 -0.156,1.908 -0.051,0.035 -0.258,-0.002 0.273,0.384 -0.232,1.826 -0.053,0.031 -0.243,-0.008 0.079,0.062 -2.737,-0.375 0.185,-1.339 0.016,-0.009 0.257,0.009 -0.238,-0.306 0.152,-1.798 0.016,-0.01 c 0.107,-0.051 0.245,-0.032 0.38,0.049 l -0.076,-0.051 -0.29,-0.324 0.01,-0.48 z"
+                 id="path460"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 90.98,10.584 c 0.014,0.195 0.159,0.479 0.371,0.613 l 2.086,1.426 c 0.209,0.151 0.394,0.091 0.413,-0.139 l 0.105,-1.243 c 0.028,-0.225 -0.153,-0.54 -0.377,-0.682 l -0.003,-0.002 -2.597,-0.065 z"
+                 id="path462"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 90.717,13.682 -0.147,1.065 2.572,0.353 -2.005,-1.534 c -0.203,-0.151 -0.391,-0.098 -0.42,0.116 z"
+                 id="path464"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 93.416,12.879 c 0.209,0.152 0.361,0.464 0.342,0.692 l -0.165,1.213 c -0.031,0.223 -0.22,0.274 -0.421,0.117 L 91.163,13.37 C 90.962,13.22 90.801,12.932 90.82,12.721 l 0.098,-1.146 c 0.018,-0.21 0.202,-0.272 0.413,-0.136 z"
+                 id="path466"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g468">
+              <path
+                 d="m 92.586,5.412 c 0.141,0.037 0.297,0.121 0.443,0.239 0.658,0.903 0.665,1.602 0.819,2.34 L 93.81,8.045 c -0.062,0.062 -0.149,0.079 -0.249,0.064 0.141,0.079 0.273,0.213 0.373,0.366 0.053,0.679 0.029,1.312 0.043,1.97 l -0.047,0.04 -0.242,0.021 0.088,0.056 -2.764,-0.069 -0.01,-1.259 0.014,-0.011 0.255,-0.035 -0.27,-0.244 C 90.917,8.456 90.838,7.93 90.732,7.533 l 0.01,-0.008 C 90.82,7.468 90.949,7.412 91.107,7.396 L 91.016,7.405 90.639,7.424 90.553,7.238 Z"
+                 id="path470"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 90.542,7.3 c 0.021,0.079 0.235,0.067 0.484,0.039 0.85,-0.1 1.562,0.249 2.399,0.562 C 93.669,8.009 93.831,7.895 93.78,7.627 93.637,7.125 93.714,6.722 93.311,6.118 93.133,5.801 92.729,5.52 92.463,5.524 H 92.459 L 90.53,7.261 Z"
+                 id="path472"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 90.971,9.492 0.009,1 2.597,0.065 C 92.842,10.089 92.103,9.676 91.37,9.318 91.147,9.211 90.97,9.292 90.971,9.492 Z"
+                 id="path474"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 93.479,8.188 c 0.24,0.109 0.501,0.447 0.483,0.676 l 0.014,1.306 c 0.002,0.241 -0.177,0.317 -0.398,0.178 C 92.842,9.888 92.102,9.483 91.369,9.133 91.153,9.022 90.971,8.779 90.92,8.628 L 90.757,7.713 c -0.015,-0.184 0.102,-0.231 0.358,-0.26 0.748,0.11 1.549,0.352 2.364,0.735 z"
+                 id="path476"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g478">
+              <path
+                 d="m 88.271,2.829 0.385,-0.1 c 0.636,0.273 1.299,0.472 1.903,0.824 l 0.014,0.066 c 0.005,0.09 -0.035,0.171 -0.105,0.238 0.14,-0.056 0.312,-0.068 0.479,-0.043 0.575,0.435 1.142,0.693 1.709,1.293 l 10e-4,0.082 c -0.013,0.097 -0.071,0.16 -0.153,0.197 l 0.107,0.003 -2.055,1.848 C 90.563,7.04 90,6.814 89.756,6.598 l 0.001,-0.018 0.13,-0.22 -0.35,0.084 C 89.136,6.098 88.632,5.888 88.109,5.705 L 88.105,5.688 C 88.096,5.574 88.158,5.449 88.276,5.344 l -0.071,0.059 -0.38,0.188 -0.42,-0.171 z"
+                 id="path480"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 87.476,5.485 C 87.653,5.557 87.944,5.482 88.135,5.32 88.763,4.79 89.478,4.259 90.24,3.819 90.461,3.715 90.489,3.481 90.26,3.38 L 89.008,2.869 C 88.776,2.776 88.419,2.828 88.221,2.986 l -0.003,0.002 -0.823,2.464 z"
+                 id="path482"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 89.931,6.758 c 0.182,0.169 0.675,0.354 0.6,0.503 L 92.462,5.525 C 91.617,5.497 90.772,6.033 90.048,6.353 89.827,6.47 89.779,6.654 89.931,6.758 Z"
+                 id="path484"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 90.471,3.976 c 0.227,-0.112 0.592,-0.081 0.804,0.065 l 1.139,0.799 c 0.214,0.178 0.148,0.466 -0.115,0.45 -0.865,0.19 -1.678,0.587 -2.396,0.963 -0.219,0.117 -0.51,0.133 -0.659,0.025 -0.25,-0.226 -0.6,-0.32 -0.92,-0.452 -0.177,-0.07 -0.172,-0.261 0.021,-0.422 0.634,-0.503 1.392,-1.098 2.126,-1.428 z"
+                 id="path486"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g488">
+              <path
+                 d="m 83.648,1.938 0.331,-0.203 c 0.637,0.062 1.271,0.104 1.924,0.271 l 0.032,0.055 c 0.031,0.08 0.02,0.17 -0.024,0.258 l 0.418,-0.223 c 0.633,0.159 1.269,0.22 1.897,0.466 L 88.251,2.623 88.2,2.863 88.28,2.801 87.405,5.42 C 87.053,5.234 86.606,5.202 86.201,5.101 L 86.194,5.085 86.233,4.832 85.916,5.04 C 85.347,4.933 84.808,4.761 84.195,4.734 L 84.187,4.72 C 84.144,4.613 84.171,4.476 84.262,4.343 L 84.206,4.418 83.862,4.702 83.369,4.655 Z"
+                 id="path490"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 83.461,4.697 C 83.67,4.718 83.959,4.565 84.109,4.358 84.611,3.662 85.126,2.979 85.691,2.368 85.863,2.18 85.817,1.986 85.583,1.937 85.157,1.827 84.746,1.815 84.329,1.768 84.1,1.746 83.786,1.895 83.633,2.102 l -0.002,0.002 -0.265,2.584 z"
+                 id="path492"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 86.445,5.187 c 0.329,0.068 0.668,0.121 0.949,0.266 l 0.823,-2.464 c -0.653,0.494 -1.265,1.159 -1.828,1.777 -0.168,0.19 -0.141,0.379 0.056,0.421 z"
+                 id="path494"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 85.951,2.424 c 0.173,-0.189 0.508,-0.302 0.742,-0.251 l 1.267,0.283 c 0.233,0.091 0.254,0.291 0.057,0.45 -0.646,0.531 -1.257,1.206 -1.811,1.82 -0.169,0.19 -0.46,0.312 -0.657,0.27 C 85.184,4.933 84.848,4.808 84.458,4.793 84.249,4.773 84.199,4.589 84.35,4.382 84.857,3.674 85.371,3.052 85.951,2.424 Z"
+                 id="path496"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g498">
+              <path
+                 d="m 79.102,1.699 0.306,-0.227 1.876,0.057 0.036,0.049 0.012,0.257 0.362,-0.293 c 0.607,0.002 1.242,0.103 1.861,0.15 L 83.589,1.744 83.591,1.988 83.652,1.906 83.37,4.655 82.058,4.527 82.048,4.511 82.042,4.254 81.75,4.511 79.911,4.456 79.9,4.441 C 79.844,4.337 79.859,4.198 79.937,4.059 L 79.888,4.138 79.567,4.445 79.06,4.43 Z"
+                 id="path500"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 79.158,4.467 c 0.216,0.007 0.496,-0.164 0.627,-0.382 l 1.344,-2.16 C 81.269,1.708 81.199,1.527 80.974,1.52 L 79.75,1.483 C 79.524,1.476 79.233,1.647 79.101,1.864 L 79.1,1.867 79.061,4.464 Z"
+                 id="path502"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 82.322,4.587 1.044,0.102 0.265,-2.584 -1.443,2.067 c -0.137,0.209 -0.075,0.394 0.134,0.415 z"
+                 id="path504"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 81.383,1.933 c 0.14,-0.217 0.437,-0.387 0.662,-0.38 l 1.245,0.114 c 0.23,0.022 0.29,0.208 0.138,0.415 L 81.995,4.153 C 81.858,4.366 81.571,4.539 81.356,4.532 L 80.184,4.497 C 79.968,4.491 79.899,4.309 80.03,4.093 Z"
+                 id="path506"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g508">
+              <path
+                 d="M 74.626,1.699 74.919,1.462 76.771,1.457 76.81,1.505 76.832,1.762 77.176,1.456 78.99,1.461 79.027,1.51 79.049,1.753 79.102,1.667 79.06,4.431 77.698,4.421 77.687,4.407 77.666,4.151 77.383,4.422 75.518,4.427 75.506,4.413 C 75.446,4.31 75.457,4.171 75.53,4.03 L 75.484,4.11 75.169,4.427 74.653,4.43 Z"
+                 id="path510"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 74.754,4.464 c 0.221,-0.003 0.498,-0.181 0.624,-0.403 l 1.259,-2.203 c 0.128,-0.222 0.052,-0.4 -0.171,-0.399 l -1.208,0.003 c -0.223,0.001 -0.504,0.181 -0.629,0.404 l -0.001,0.002 0.025,2.598 z"
+                 id="path512"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 77.977,4.454 1.084,0.01 0.039,-2.597 -1.289,2.188 c -0.127,0.22 -0.053,0.399 0.166,0.399 z"
+                 id="path514"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 76.888,1.856 c 0.128,-0.221 0.412,-0.4 0.635,-0.401 l 1.208,-0.002 c 0.226,0.007 0.3,0.188 0.168,0.405 l -1.286,2.196 c -0.128,0.222 -0.408,0.401 -0.627,0.401 l -1.19,0.005 c -0.219,0 -0.295,-0.179 -0.17,-0.399 z"
+                 id="path516"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g518">
+              <path
+                 d="m 70.185,1.745 0.292,-0.235 1.836,-0.02 0.039,0.047 0.024,0.257 0.339,-0.308 1.796,-0.021 0.038,0.048 0.027,0.242 0.05,-0.088 L 74.653,4.43 73.274,4.446 73.262,4.432 73.238,4.177 72.957,4.45 71.076,4.471 71.065,4.457 C 71.004,4.354 71.014,4.215 71.088,4.073 l -0.047,0.081 -0.316,0.32 -0.52,0.002 z"
+                 id="path520"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 70.307,4.51 C 70.53,4.511 70.81,4.328 70.935,4.106 l 1.248,-2.214 c 0.126,-0.222 0.049,-0.4 -0.172,-0.398 l -1.198,0.014 c -0.221,0.003 -0.5,0.183 -0.625,0.403 l -0.002,0.003 0.021,2.598 z"
+                 id="path522"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 73.556,4.477 74.654,4.465 74.629,1.867 73.384,4.079 c -0.127,0.222 -0.049,0.4 0.172,0.398 z"
+                 id="path524"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 72.433,1.889 c 0.125,-0.222 0.405,-0.404 0.626,-0.406 l 1.198,-0.014 c 0.221,-0.002 0.298,0.176 0.173,0.398 L 73.183,4.081 C 73.058,4.304 72.778,4.485 72.557,4.488 L 71.358,4.501 C 71.137,4.504 71.06,4.325 71.185,4.103 Z"
+                 id="path526"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g528">
+              <path
+                 d="m 65.758,1.756 0.296,-0.235 1.828,-0.005 0.038,0.048 0.022,0.257 0.34,-0.306 1.788,-0.004 0.038,0.048 0.026,0.242 0.05,-0.088 0.021,2.764 L 68.821,4.48 68.81,4.466 68.788,4.211 68.503,4.481 66.614,4.486 66.603,4.471 C 66.543,4.368 66.555,4.23 66.631,4.089 l -0.048,0.08 -0.321,0.317 -0.521,0.001 z"
+                 id="path530"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 65.842,4.521 C 66.064,4.52 66.348,4.341 66.477,4.12 l 1.272,-2.203 c 0.127,-0.221 0.052,-0.4 -0.168,-0.399 L 66.388,1.52 c -0.219,0 -0.501,0.18 -0.629,0.401 l -0.002,0.003 -0.016,2.597 z"
+                 id="path532"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 69.103,4.513 1.104,-0.002 -0.021,-2.598 -1.254,2.2 c -0.127,0.222 -0.051,0.401 0.171,0.4 z"
+                 id="path534"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 67.998,1.916 c 0.127,-0.222 0.407,-0.401 0.627,-0.402 l 1.192,-0.002 c 0.22,-0.001 0.296,0.178 0.171,0.399 l -1.257,2.203 c -0.127,0.221 -0.41,0.4 -0.632,0.401 l -1.204,0.003 c -0.222,0 -0.297,-0.179 -0.169,-0.4 z"
+                 id="path536"
+                 style="fill:#c4c4c4" />
+            </g>
+          </g>
+          <path
+             style="opacity:0.736986;fill:#ffffff;fill-opacity:1;filter:url(#filter4142)"
+             d="m 76.96875,1.4651786 c -1.06899,0.00568 -2.192625,0.017375 -3.375,0.03125 L 66.25,1.5276786 v 1.59375 l 6.15625,-0.03125 c 8.276625,-0.097125 13.661223,-0.152698 17.5,2.15625 0.276901,0.156089 0.526792,0.347782 0.78125,0.53125 0.007,0.0051 0.02428,-0.00512 0.03125,0 0.217259,0.157653 0.423449,0.320816 0.625,0.5 0.01618,0.013888 0.01514,0.048494 0.03125,0.0625 0.0282,0.024511 0.06574,0.037627 0.09375,0.0625 2.307,2.051 1.320998,8.1872504 -0.5,18.0312504 -1.534927,8.296448 -3.448405,18.463638 -0.875,21.09375 0.04624,0.04726 0.1071,0.08268 0.15625,0.125 0.08756,0.072 0.187528,0.154471 0.28125,0.21875 0.06106,0.03684 0.122606,0.06347 0.1875,0.09375 4.054,1.893 13.05325,-0.16575 20.28125,-1.84375 6.73,-1.563 10.30275,-2.3395 11.84375,-1.3125 0.0579,0.03858 0.10055,0.110037 0.15625,0.15625 0.0844,0.07171 0.20237,0.131306 0.28125,0.25 2.88935,3.235262 2.58543,17.29136 2.34375,22.8125 l 1.125,0.0625 c 0.207,-3.719001 1.0535,-22.381 -2.6875,-24.875 -1.541,-1.027 -5.145,-0.28175 -11.875,1.28125 -7.228,1.677999 -16.196,3.768 -20.25,1.875 -3.461003,-1.615 -1.42525,-12.6765 0.21875,-21.5625 1.821001,-9.843999 2.807,-15.9802504 0.5,-18.0312504 -3.41775,-3.034499 -8.204568,-3.352271 -15.6875,-3.3125 z"
+             id="path4105" />
+          <path
+             style="fill:url(#radialGradient11881);fill-opacity:1"
+             id="path549"
+             d="m 73.093,1.982 -7.337,0.038 -0.012,2 7.372,-0.038 c 8.977,-0.106 14.395,-0.17 17.72,2.786 1.581,1.405 0.066,9.594 -1.151,16.173 -1.952,10.554 -3.971,21.466 0.893,23.735 4.68,2.185 13.655,0.1 21.575,-1.737 3.967,-0.921 9.399,-2.183 10.293,-1.587 1.782,1.188 2.373,12.91 1.807,23.112 l 1.996,0.111 c 0.207,-3.719 1.048,-22.394 -2.693,-24.888 -1.541,-1.027 -5.124,-0.26 -11.854,1.303 -7.228,1.678 -16.223,3.766 -20.277,1.873 C 87.964,43.248 90.01,32.189 91.654,23.303 93.475,13.459 94.474,7.323 92.167,5.272 88.261,1.804 82.552,1.871 73.093,1.982 Z" />
+          <rect
+             style="fill:url(#linearGradient11883)"
+             id="rect705"
+             height="6"
+             width="4"
+             y="60.334"
+             x="122.667" />
+          <g
+             id="g728">
+            <path
+               style="fill:none"
+               id="path730"
+               d="m 62.333,2.771 c 0,0 -7.667,2.667 -22.667,0.334 -15,-2.334 -5.667,19.666 -11.667,30 C 22,43.438 3.333,49.437 3.333,61.771" />
+            <g
+               id="g732">
+              <path
+                 style="fill:#777777"
+                 id="path734"
+                 d="m 57.798,2.386 0.252,-0.27 1.74,-0.28 0.045,0.04 0.07,0.248 0.261,-0.359 C 60.721,1.67 61.289,1.505 61.755,1.379 L 61.8,1.416 61.897,1.64 61.908,1.546 62.816,4.155 C 62.252,4.343 61.823,4.424 61.325,4.556 L 61.31,4.546 61.23,4.303 60.995,4.625 59.052,4.978 59.038,4.966 C 58.961,4.872 58.953,4.733 59.008,4.584 l -0.036,0.085 -0.281,0.355 -0.534,0.069 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path736"
+                 d="M 58.265,5.113 C 58.493,5.084 58.759,4.869 58.856,4.634 L 59.741,2.253 C 59.821,2.013 59.714,1.851 59.508,1.89 l -1.135,0.186 c -0.211,0.027 -0.457,0.239 -0.551,0.475 l -0.002,0.002 0.341,2.574 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path738"
+                 d="m 61.627,4.515 c 0.389,-0.1 0.75,-0.178 1.199,-0.327 L 61.973,1.735 c -0.095,0.804 -0.363,1.614 -0.615,2.436 -0.082,0.248 0.036,0.402 0.269,0.344 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path740"
+                 d="m 59.978,2.207 c 0.079,-0.239 0.306,-0.465 0.513,-0.504 l 1.077,-0.266 c 0.162,-0.051 0.28,0.102 0.246,0.343 -0.139,0.806 -0.395,1.615 -0.661,2.441 -0.081,0.242 -0.335,0.472 -0.564,0.517 l -1.24,0.235 C 59.12,5.002 59.016,4.835 59.113,4.6 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g742">
+              <path
+                 style="fill:#777777"
+                 id="path744"
+                 d="M 53.473,2.754 53.751,2.5 55.537,2.382 55.578,2.427 55.62,2.681 55.927,2.356 c 0.586,-0.021 1.155,-0.12 1.73,-0.188 l 0.042,0.043 0.055,0.237 0.037,-0.093 0.363,2.739 L 56.732,5.275 56.719,5.261 56.672,5.009 56.405,5.296 54.468,5.425 54.456,5.411 C 54.389,5.312 54.394,5.173 54.463,5.027 l -0.044,0.084 -0.312,0.337 -0.534,0.035 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path746"
+                 d="M 53.681,5.511 C 53.909,5.495 54.191,5.298 54.31,5.069 L 55.439,2.79 C 55.546,2.561 55.458,2.388 55.244,2.401 l -1.165,0.078 c -0.214,0.014 -0.481,0.211 -0.598,0.44 l -0.001,0.003 0.098,2.596 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path748"
+                 d="M 57.027,5.272 58.161,5.126 57.82,2.553 56.813,4.898 c -0.108,0.236 -0.014,0.404 0.214,0.374 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path750"
+                 d="m 55.683,2.772 c 0.107,-0.229 0.366,-0.425 0.58,-0.438 l 1.152,-0.136 c 0.211,-0.027 0.308,0.141 0.212,0.376 L 56.608,4.916 C 56.499,5.145 56.224,5.342 55.997,5.357 L 54.761,5.439 C 54.533,5.454 54.446,5.28 54.564,5.051 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g752">
+              <path
+                 style="fill:#777777"
+                 id="path754"
+                 d="m 49.104,2.743 0.298,-0.217 1.799,0.005 0.038,0.048 0.022,0.256 0.334,-0.305 1.76,-0.005 0.039,0.047 0.033,0.24 0.046,-0.091 0.104,2.762 L 52.16,5.494 52.147,5.48 52.121,5.225 51.833,5.496 49.9,5.501 49.889,5.487 C 49.83,5.384 49.845,5.246 49.925,5.104 L 49.875,5.185 49.54,5.502 49.01,5.474 Z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path756"
+                 d="m 49.112,5.513 c 0.226,0.019 0.52,-0.15 0.655,-0.377 L 51.069,2.932 C 51.195,2.71 51.12,2.532 50.904,2.533 l -1.173,0.004 c -0.216,0.007 -0.499,0.155 -0.632,0.372 l -10e-4,0.003 -0.089,2.596 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path758"
+                 d="m 52.447,5.527 1.13,-0.01 -0.098,-2.596 -1.212,2.206 c -0.126,0.223 -0.047,0.401 0.18,0.4 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path760"
+                 d="M 51.315,2.931 C 51.44,2.71 51.716,2.53 51.932,2.53 l 1.173,-0.004 c 0.216,0 0.297,0.179 0.179,0.399 L 52.062,5.129 C 51.936,5.35 51.647,5.53 51.42,5.53 l -1.232,0.004 c -0.227,0.001 -0.3,-0.178 -0.166,-0.399 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g762">
+              <path
+                 style="fill:#777777"
+                 id="path764"
+                 d="m 44.729,2.458 0.312,-0.197 1.802,0.11 0.035,0.05 0.005,0.258 0.355,-0.283 1.763,0.106 0.035,0.05 0.016,0.244 L 49.105,2.711 49.01,5.474 47.601,5.389 47.59,5.374 47.581,5.118 47.276,5.369 45.354,5.253 45.344,5.238 C 45.292,5.132 45.315,4.994 45.404,4.858 L 45.35,4.936 44.997,5.232 44.47,5.178 Z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path766"
+                 d="m 44.568,5.224 c 0.223,0.035 0.529,-0.133 0.677,-0.344 l 1.44,-2.117 C 46.826,2.55 46.763,2.367 46.547,2.354 l -1.176,-0.07 c -0.216,-0.007 -0.509,0.138 -0.655,0.34 l -0.002,0.003 -0.247,2.585 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path768"
+                 d="M 47.886,5.439 49.009,5.506 49.098,2.91 47.734,5.03 C 47.593,5.243 47.66,5.426 47.886,5.439 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path770"
+                 d="m 46.932,2.777 c 0.14,-0.213 0.428,-0.375 0.644,-0.361 l 1.176,0.071 c 0.216,0.013 0.285,0.196 0.151,0.409 L 47.531,5.017 C 47.39,5.23 47.091,5.391 46.865,5.377 L 45.639,5.303 C 45.413,5.289 45.351,5.107 45.499,4.894 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g772">
+              <path
+                 style="fill:#777777"
+                 id="path774"
+                 d="m 40.369,1.917 0.324,-0.196 1.798,0.223 0.032,0.052 -0.01,0.258 0.372,-0.261 1.758,0.219 0.032,0.052 0.001,0.245 L 44.734,2.428 44.47,5.178 43.073,5.005 43.063,4.989 43.069,4.732 42.751,4.964 40.846,4.728 40.837,4.712 C 40.791,4.603 40.822,4.467 40.917,4.336 L 40.858,4.41 40.49,4.684 39.965,4.619 Z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path776"
+                 d="m 40.062,4.664 c 0.224,0.028 0.535,-0.113 0.694,-0.316 l 1.553,-2.023 c 0.152,-0.204 0.1,-0.391 -0.116,-0.418 L 41.02,1.761 C 40.805,1.735 40.502,1.878 40.345,2.08 L 40.343,2.083 39.96,4.651 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path778"
+                 d="m 43.353,5.073 1.114,0.138 0.247,-2.585 -1.487,2.028 c -0.154,0.204 -0.098,0.392 0.126,0.419 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path780"
+                 d="M 42.555,2.354 C 42.707,2.15 43.004,2.006 43.22,2.034 l 1.173,0.146 c 0.215,0.027 0.272,0.215 0.126,0.419 L 43.024,4.63 C 42.871,4.833 42.564,4.976 42.34,4.948 L 41.125,4.797 C 40.901,4.769 40.85,4.582 41.008,4.379 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g782">
+              <path
+                 style="fill:#777777"
+                 id="path784"
+                 d="M 35.457,1.955 35.753,1.663 C 36.484,1.519 37.217,1.392 37.887,1.49 l 0.042,0.05 c 0.046,0.075 0.05,0.165 0.021,0.259 l 0.388,-0.281 c 0.646,0.048 1.399,0.072 1.956,0.153 l 0.03,0.052 -0.012,0.243 0.062,-0.081 -0.408,2.733 C 39.476,4.545 39.085,4.535 38.678,4.511 L 38.669,4.496 38.671,4.24 38.397,4.493 C 37.857,4.494 37.25,4.325 36.781,4.491 L 36.77,4.478 C 36.711,4.385 36.701,4.246 36.748,4.094 l -0.03,0.087 -0.215,0.36 -0.411,0.07 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path786"
+                 d="M 36.179,4.632 C 36.352,4.604 36.542,4.388 36.622,4.149 36.872,3.33 37.277,2.552 37.736,1.882 37.877,1.669 37.796,1.485 37.548,1.471 37.111,1.406 36.627,1.514 36.152,1.593 35.888,1.638 35.587,1.874 35.497,2.115 L 35.496,2.118 36.1,4.645 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path788"
+                 d="m 38.923,4.559 c 0.311,0.011 0.65,0.036 1.038,0.093 l 0.383,-2.568 c -0.518,0.663 -1.086,1.358 -1.532,2.068 -0.137,0.212 -0.083,0.395 0.111,0.407 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path790"
+                 d="M 38.008,1.897 C 38.15,1.685 38.475,1.525 38.723,1.541 l 1.321,0.1 C 40.26,1.667 40.308,1.854 40.149,2.057 39.625,2.717 39.058,3.44 38.628,4.141 38.493,4.354 38.234,4.517 38.04,4.503 37.698,4.505 37.312,4.396 37.005,4.482 36.833,4.516 36.748,4.35 36.831,4.11 37.11,3.267 37.541,2.615 38.008,1.897 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g792">
+              <path
+                 style="fill:#777777"
+                 id="path794"
+                 d="M 31.139,4.965 31.112,4.527 c 0.51,-0.575 1.038,-1.182 1.634,-1.669 l 0.071,0.015 0.173,0.195 c 0.018,-0.15 0.094,-0.314 0.207,-0.459 0.679,-0.332 1.355,-0.812 2.072,-0.857 l 0.056,0.038 0.087,0.229 0.038,-0.096 0.643,2.688 C 35.7,4.626 35.382,4.761 35.107,4.952 L 35.094,4.943 34.966,4.722 34.901,5.06 C 34.443,5.199 34.165,5.586 33.846,5.916 L 33.83,5.913 C 33.721,5.877 33.619,5.784 33.555,5.648 l 0.035,0.079 0.073,0.37 c -0.105,0.073 -0.157,0.212 -0.22,0.337 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path796"
+                 d="M 33.507,6.38 C 33.564,6.197 33.594,5.979 33.49,5.757 33.16,5.053 32.933,4.207 32.846,3.267 32.839,3.005 32.645,2.893 32.45,3.101 l -1.06,1.105 c -0.218,0.2 -0.239,0.596 -0.11,0.847 l 10e-4,0.003 2.189,1.396 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path798"
+                 d="m 35.3,4.885 c 0.207,-0.169 0.506,-0.202 0.8,-0.24 L 35.496,2.119 C 35.18,2.882 34.994,3.717 35.024,4.583 35.03,4.829 35.163,4.962 35.3,4.885 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path800"
+                 d="M 33.104,3.114 C 33.109,2.86 33.332,2.534 33.585,2.401 34.043,2.202 34.491,1.845 34.967,1.809 35.23,1.758 35.359,1.916 35.27,2.157 34.965,2.901 34.842,3.853 34.882,4.656 34.89,4.902 34.799,5.15 34.655,5.217 34.353,5.29 34.235,5.612 34.013,5.792 33.904,5.905 33.724,5.832 33.629,5.613 33.339,4.907 33.073,3.955 33.104,3.114 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g802">
+              <path
+                 style="fill:#777777"
+                 id="path804"
+                 d="M 29.561,9.641 29.379,9.289 C 29.446,8.643 29.653,7.977 29.852,7.314 L 29.91,7.287 c 0.082,-0.023 0.169,-0.001 0.252,0.055 L 29.982,6.88 C 30.113,6.233 30.577,5.593 30.878,4.958 L 30.94,4.943 c 0.08,-0.005 0.154,0.035 0.219,0.104 L 31.113,4.948 33.443,6.434 32.922,7.42 32.904,7.423 32.658,7.344 32.832,7.678 32.38,9.282 32.364,9.29 C 32.255,9.324 32.12,9.286 31.993,9.186 l 0.072,0.062 0.265,0.358 -0.073,0.478 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path806"
+                 d="M 32.304,9.997 C 32.335,9.795 32.199,9.502 32.001,9.338 31.326,8.794 30.779,8.238 30.192,7.574 30.021,7.376 29.826,7.401 29.755,7.641 c -0.117,0.431 -0.278,0.869 -0.32,1.29 -0.037,0.234 0.092,0.566 0.29,0.734 l 0.002,0.002 2.562,0.422 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path808"
+                 d="M 33.062,7.235 33.471,6.452 31.282,5.056 c 0.387,0.821 0.845,1.54 1.347,2.144 0.151,0.179 0.349,0.189 0.433,0.035 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path810"
+                 d="M 30.27,7.312 C 30.099,7.111 30.02,6.748 30.093,6.508 c 0.171,-0.43 0.423,-0.856 0.64,-1.281 0.126,-0.236 0.32,-0.218 0.438,0.027 0.399,0.807 0.867,1.509 1.375,2.095 0.174,0.194 0.274,0.495 0.221,0.681 L 32.468,9.042 C 32.406,9.223 32.241,9.272 32.037,9.104 31.424,8.577 30.837,7.982 30.27,7.312 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g812">
+              <path
+                 style="fill:#777777"
+                 id="path814"
+                 d="m 29.169,14.245 -0.227,-0.31 0.108,-1.901 0.05,-0.036 0.257,-0.003 -0.277,-0.379 c 0.026,-0.618 0.125,-1.256 0.23,-1.894 l 0.053,-0.032 0.244,0.013 -0.077,-0.067 2.727,0.448 -0.184,1.28 -0.015,0.01 -0.256,-0.005 0.249,0.301 -0.13,1.81 -0.014,0.011 c -0.104,0.054 -0.243,0.037 -0.381,-0.044 l 0.079,0.051 0.308,0.328 -0.014,0.51 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path816"
+                 d="M 31.936,14.237 C 31.941,14.02 31.77,13.736 31.552,13.6 L 29.44,12.203 c -0.211,-0.148 -0.395,-0.084 -0.412,0.146 l -0.076,1.242 c -0.006,0.226 0.165,0.521 0.382,0.657 l 0.003,0.002 2.596,0.085 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path818"
+                 d="M 32.131,11.101 32.29,10.09 29.728,9.668 c 0.657,0.562 1.307,1.072 1.989,1.551 0.213,0.147 0.388,0.088 0.414,-0.118 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path820"
+                 d="m 29.458,11.945 c -0.21,-0.148 -0.367,-0.458 -0.351,-0.688 0.016,-0.412 0.099,-0.842 0.162,-1.266 0.036,-0.235 0.226,-0.285 0.423,-0.118 0.667,0.559 1.295,1.054 2.011,1.539 0.211,0.146 0.37,0.434 0.354,0.646 l -0.084,1.151 c -0.016,0.212 -0.199,0.278 -0.412,0.145 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g822">
+              <path
+                 style="fill:#777777"
+                 id="path824"
+                 d="m 29.104,18.738 -0.231,-0.296 0.014,-1.852 0.048,-0.038 0.257,-0.02 -0.302,-0.348 0.042,-1.833 0.049,-0.036 0.243,-0.018 -0.086,-0.055 2.762,0.091 -0.036,1.357 -0.015,0.011 -0.256,0.019 0.265,0.285 -0.014,1.88 -0.014,0.011 c -0.104,0.059 -0.242,0.046 -0.382,-0.03 l 0.08,0.048 0.314,0.321 -0.005,0.521 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path826"
+                 d="m 31.871,18.657 c 0.003,-0.226 -0.174,-0.506 -0.395,-0.636 l -2.19,-1.292 c -0.22,-0.131 -0.4,-0.057 -0.401,0.166 l -0.009,1.208 c -0.001,0.224 0.175,0.507 0.394,0.635 l 0.003,0.001 2.597,0.02 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path828"
+                 d="m 31.904,15.417 0.028,-1.081 -2.596,-0.085 2.163,1.325 c 0.218,0.13 0.399,0.058 0.405,-0.159 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path830"
+                 d="m 29.288,16.478 c -0.22,-0.13 -0.397,-0.417 -0.396,-0.639 l 0.032,-1.227 c 0.006,-0.226 0.187,-0.297 0.404,-0.16 l 2.166,1.322 c 0.216,0.128 0.396,0.414 0.394,0.634 l -0.009,1.198 c -0.002,0.22 -0.181,0.295 -0.401,0.165 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g832">
+              <path
+                 style="fill:#777777"
+                 id="path834"
+                 d="m 29,23.143 -0.224,-0.302 0.067,-1.804 0.049,-0.037 0.257,-0.017 -0.3,-0.347 0.02,-1.788 0.048,-0.037 0.243,-0.022 -0.087,-0.051 2.764,0.02 -0.016,1.396 -0.014,0.011 -0.255,0.019 0.266,0.292 -0.055,1.918 -0.015,0.011 c -0.105,0.057 -0.243,0.039 -0.381,-0.043 l 0.078,0.052 0.304,0.339 -0.02,0.53 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path836"
+                 d="m 31.766,23.181 c 0.009,-0.227 -0.159,-0.523 -0.375,-0.662 L 29.24,21.178 c -0.216,-0.131 -0.398,-0.06 -0.406,0.156 l -0.044,1.177 c -0.008,0.217 0.16,0.502 0.376,0.639 l 0.002,0.002 2.594,0.132 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path838"
+                 d="m 31.857,19.87 0.012,-1.111 -2.597,-0.02 2.183,1.296 c 0.22,0.132 0.399,0.059 0.402,-0.165 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path840"
+                 d="m 29.245,20.93 c -0.219,-0.132 -0.396,-0.416 -0.393,-0.635 l 0.014,-1.193 c 0.002,-0.219 0.182,-0.293 0.402,-0.164 l 2.186,1.3 c 0.22,0.132 0.395,0.42 0.393,0.644 l -0.039,1.226 c -0.008,0.226 -0.19,0.296 -0.406,0.158 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g842">
+              <path
+                 style="fill:#777777"
+                 id="path844"
+                 d="m 28.549,27.421 -0.185,-0.316 c 0.102,-0.569 0.198,-1.141 0.231,-1.737 l 0.051,-0.032 0.257,0.004 -0.274,-0.359 0.133,-1.738 0.049,-0.034 0.243,-0.012 -0.085,-0.054 2.76,0.14 -0.098,1.423 -0.015,0.01 -0.256,0.003 0.243,0.315 c -0.073,0.651 -0.078,1.294 -0.212,1.952 l -0.016,0.01 c -0.112,0.048 -0.248,0.016 -0.374,-0.082 l 0.071,0.061 0.258,0.378 -0.091,0.542 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path846"
+                 d="m 31.29,27.793 c 0.039,-0.231 -0.089,-0.555 -0.286,-0.717 l -2.022,-1.538 c -0.209,-0.147 -0.394,-0.092 -0.412,0.12 l -0.154,1.133 c -0.034,0.205 0.098,0.497 0.296,0.657 l 0.002,0.002 2.558,0.448 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path848"
+                 d="m 31.69,24.416 0.072,-1.133 -2.594,-0.132 2.107,1.408 c 0.21,0.149 0.395,0.086 0.415,-0.143 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path850"
+                 d="M 29.003,25.295 C 28.794,25.149 28.639,24.86 28.658,24.649 l 0.095,-1.157 c 0.008,-0.217 0.189,-0.282 0.406,-0.145 l 2.099,1.418 c 0.209,0.148 0.362,0.457 0.341,0.687 l -0.126,1.244 c -0.038,0.232 -0.229,0.285 -0.425,0.123 -0.64,-0.535 -1.359,-1.039 -2.045,-1.524 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g852">
+              <path
+                 style="fill:#777777"
+                 id="path854"
+                 d="m 27.401,31.386 -0.104,-0.334 c 0.265,-0.469 0.385,-1.032 0.543,-1.571 l 0.056,-0.021 0.252,0.052 -0.206,-0.386 c 0.176,-0.519 0.275,-1.074 0.357,-1.639 l 0.053,-0.027 0.243,0.02 -0.078,-0.062 2.722,0.477 c -0.094,0.48 -0.132,0.96 -0.273,1.44 l -0.017,0.009 c -0.082,0.026 -0.17,0.011 -0.255,-0.036 l 0.178,0.358 -0.578,1.96 -0.018,0.007 c -0.124,0.024 -0.249,-0.037 -0.347,-0.161 l 0.054,0.075 0.148,0.437 -0.242,0.526 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path856"
+                 d="m 29.969,32.419 c 0.104,-0.226 0.069,-0.581 -0.08,-0.785 -0.492,-0.678 -1.121,-1.331 -1.699,-1.921 -0.179,-0.178 -0.37,-0.159 -0.425,0.035 -0.116,0.343 -0.163,0.73 -0.341,1.034 -0.083,0.176 -0.023,0.472 0.128,0.67 l 0.002,0.003 2.368,1.066 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path858"
+                 d="m 31.079,29.047 0.194,-1.148 -2.558,-0.448 1.927,1.685 c 0.177,0.179 0.378,0.143 0.437,-0.089 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path860"
+                 d="m 28.255,29.486 c -0.179,-0.177 -0.281,-0.472 -0.225,-0.666 0.12,-0.344 0.167,-0.725 0.23,-1.097 0.034,-0.206 0.223,-0.246 0.42,-0.086 0.641,0.533 1.336,1.103 1.904,1.702 0.178,0.181 0.268,0.521 0.202,0.752 l -0.361,1.253 c -0.063,0.232 -0.27,0.244 -0.427,0.04 -0.565,-0.681 -1.147,-1.315 -1.743,-1.898 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g862">
+              <path
+                 style="fill:#777777"
+                 id="path864"
+                 d="m 25.196,34.857 -0.002,-0.361 c 0.4,-0.428 0.669,-0.92 0.995,-1.384 l 0.06,-0.003 0.227,0.123 -0.079,-0.428 c 0.35,-0.445 0.515,-0.946 0.749,-1.425 l 0.057,-0.01 0.23,0.08 -0.061,-0.077 2.52,1.135 -0.661,1.39 -0.019,0.003 -0.233,-0.109 0.062,0.393 -1.134,1.691 -0.019,10e-4 C 27.765,35.861 27.665,35.77 27.6,35.621 l 0.034,0.088 c 0.05,0.135 0.059,0.297 0.034,0.452 l -0.354,0.422 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path866"
+                 d="m 27.408,36.522 c 0.151,-0.18 0.204,-0.521 0.114,-0.758 -0.309,-0.799 -0.685,-1.595 -1.068,-2.328 -0.117,-0.222 -0.307,-0.261 -0.419,-0.092 L 25.4,34.252 c -0.134,0.159 -0.166,0.474 -0.073,0.707 l 10e-4,0.003 2.013,1.642 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path868"
+                 d="m 29.401,33.637 0.521,-1.115 -2.368,-1.066 c 0.505,0.652 0.981,1.372 1.42,2.153 0.129,0.234 0.323,0.254 0.427,0.028 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path870"
+                 d="m 26.584,33.241 c -0.118,-0.221 -0.125,-0.531 -0.011,-0.699 0.222,-0.301 0.312,-0.641 0.477,-0.957 0.081,-0.177 0.273,-0.165 0.425,0.034 0.493,0.656 0.992,1.409 1.387,2.171 0.116,0.225 0.099,0.573 -0.035,0.773 l -0.725,1.08 C 27.967,35.842 27.78,35.8 27.679,35.555 27.345,34.743 26.978,33.971 26.584,33.241 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g872">
+              <path
+                 style="fill:#777777"
+                 id="path874"
+                 d="m 22.244,37.951 0.056,-0.364 1.254,-1.243 0.061,0.007 0.2,0.162 0.012,-0.443 c 0.424,-0.396 0.742,-0.855 1.12,-1.279 l 0.06,0.003 0.203,0.136 -0.037,-0.092 2.142,1.746 -0.944,1.122 -0.018,-0.001 -0.204,-0.154 -0.007,0.398 -1.387,1.396 -0.018,-0.002 c -0.115,-0.03 -0.203,-0.139 -0.245,-0.296 l 0.021,0.093 c 0.032,0.144 0.024,0.311 -0.017,0.465 l -0.399,0.356 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path876"
+                 d="m 24.195,39.915 c 0.171,-0.15 0.267,-0.476 0.204,-0.734 L 23.75,36.714 C 23.679,36.472 23.498,36.4 23.349,36.549 l -0.811,0.817 c -0.149,0.149 -0.24,0.458 -0.182,0.706 l 10e-4,0.003 1.76,1.909 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path878"
+                 d="m 26.586,37.499 0.753,-0.895 -2.013,-1.642 0.847,2.405 c 0.078,0.252 0.261,0.313 0.413,0.132 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path880"
+                 d="M 23.921,36.541 C 23.85,36.3 23.91,35.985 24.06,35.836 l 0.732,-0.862 c 0.133,-0.159 0.318,-0.101 0.41,0.133 l 0.837,2.422 c 0.072,0.245 -0.007,0.576 -0.169,0.741 l -0.885,0.891 c -0.163,0.164 -0.342,0.09 -0.402,-0.162 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g882">
+              <path
+                 style="fill:#777777"
+                 id="path884"
+                 d="m 18.917,40.788 0.078,-0.368 1.398,-1.149 0.06,0.013 0.183,0.182 0.061,-0.447 1.306,-1.166 0.06,0.011 0.182,0.163 -0.022,-0.098 1.873,2.032 -1.062,0.948 -0.018,-0.003 -0.185,-0.178 -0.042,0.398 -1.479,1.231 -0.018,-0.004 C 21.18,42.312 21.101,42.197 21.071,42.04 l 0.014,0.093 c 0.021,0.144 0,0.305 -0.052,0.452 l -0.409,0.336 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path886"
+                 d="m 20.724,42.882 c 0.175,-0.144 0.285,-0.466 0.245,-0.719 l -0.42,-2.503 c -0.044,-0.249 -0.218,-0.339 -0.386,-0.2 l -0.913,0.749 c -0.167,0.139 -0.27,0.454 -0.229,0.707 v 0.003 l 1.623,2.028 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path888"
+                 d="m 23.271,40.74 0.847,-0.756 -1.76,-1.909 0.52,2.48 c 0.047,0.255 0.223,0.338 0.393,0.185 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path890"
+                 d="m 20.741,39.503 c -0.042,-0.246 0.047,-0.565 0.207,-0.709 l 0.871,-0.777 c 0.16,-0.143 0.337,-0.061 0.393,0.186 l 0.514,2.49 c 0.047,0.251 -0.051,0.587 -0.226,0.73 l -0.946,0.778 c -0.175,0.144 -0.347,0.054 -0.387,-0.199 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g892">
+              <path
+                 style="fill:#777777"
+                 id="path894"
+                 d="m 15.416,43.52 0.091,-0.367 1.455,-1.127 0.06,0.014 0.175,0.189 0.081,-0.45 1.407,-1.103 0.059,0.014 0.17,0.174 -0.016,-0.101 1.727,2.158 -1.098,0.863 -0.018,-0.004 -0.175,-0.187 -0.06,0.389 -1.496,1.164 -0.018,-0.004 C 17.65,45.097 17.574,44.98 17.548,44.823 l 0.011,0.093 c 0.018,0.144 -0.006,0.303 -0.06,0.445 l -0.411,0.318 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path896"
+                 d="m 17.188,45.645 c 0.175,-0.136 0.29,-0.45 0.256,-0.703 L 17.103,42.423 C 17.067,42.17 16.898,42.075 16.726,42.211 l -0.952,0.735 c -0.175,0.135 -0.29,0.45 -0.256,0.703 v 0.003 l 1.59,2.054 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path898"
+                 d="m 19.771,43.636 0.875,-0.688 -1.623,-2.028 0.367,2.508 c 0.034,0.252 0.205,0.345 0.381,0.208 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path900"
+                 d="m 17.299,42.27 c -0.036,-0.253 0.075,-0.567 0.248,-0.702 l 0.938,-0.736 c 0.173,-0.135 0.344,-0.042 0.381,0.21 l 0.363,2.51 c 0.035,0.254 -0.079,0.57 -0.255,0.709 l -0.954,0.741 c -0.175,0.136 -0.345,0.041 -0.379,-0.212 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g902">
+              <path
+                 style="fill:#777777"
+                 id="path904"
+                 d="m 11.888,46.308 0.084,-0.374 1.459,-1.165 0.06,0.014 0.177,0.188 c -0.01,-0.15 0.022,-0.312 0.084,-0.452 l 1.43,-1.114 0.059,0.015 0.168,0.176 -0.014,-0.1 1.692,2.186 -1.09,0.846 -0.017,-0.004 -0.174,-0.188 -0.057,0.388 -1.47,1.155 -0.018,-0.004 c -0.109,-0.043 -0.188,-0.158 -0.218,-0.316 l 0.014,0.093 -0.045,0.447 -0.392,0.321 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path906"
+                 d="m 13.717,48.384 c 0.167,-0.139 0.27,-0.454 0.229,-0.707 l -0.373,-2.511 c -0.036,-0.253 -0.207,-0.347 -0.382,-0.208 l -0.953,0.757 c -0.174,0.144 -0.284,0.466 -0.244,0.72 v 0.003 l 1.646,2.009 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path908"
+                 d="m 16.238,46.38 0.87,-0.674 -1.59,-2.054 0.342,2.516 c 0.036,0.253 0.206,0.347 0.378,0.212 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path910"
+                 d="m 13.771,45.011 c -0.035,-0.254 0.079,-0.57 0.255,-0.709 l 0.954,-0.743 c 0.175,-0.135 0.345,-0.04 0.379,0.213 l 0.345,2.52 c 0.036,0.252 -0.075,0.566 -0.247,0.702 l -0.938,0.735 c -0.173,0.136 -0.343,0.043 -0.382,-0.208 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g912">
+              <path
+                 style="fill:#777777"
+                 id="path914"
+                 d="m 8.459,49.315 0.055,-0.389 1.414,-1.27 0.061,0.009 0.186,0.178 c -0.018,-0.151 0.007,-0.316 0.062,-0.464 l 1.413,-1.181 0.06,0.013 0.173,0.171 -0.016,-0.1 1.752,2.137 -1.048,0.864 -0.018,-0.004 -0.181,-0.179 -0.039,0.385 -1.363,1.223 -0.018,-0.003 c -0.113,-0.037 -0.2,-0.146 -0.24,-0.299 l 0.02,0.09 -0.017,0.439 -0.36,0.348 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path916"
+                 d="m 10.446,51.237 c 0.142,-0.154 0.233,-0.462 0.173,-0.709 L 10.09,48.049 C 10.041,47.796 9.865,47.713 9.695,47.865 l -0.923,0.828 c -0.173,0.147 -0.26,0.484 -0.197,0.74 v 0.003 l 1.803,1.869 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path918"
+                 d="m 12.807,49.134 0.834,-0.688 -1.646,-2.009 0.425,2.497 c 0.046,0.25 0.219,0.338 0.387,0.2 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path920"
+                 d="m 10.281,47.878 c -0.047,-0.252 0.051,-0.586 0.224,-0.733 l 0.946,-0.78 c 0.174,-0.144 0.347,-0.054 0.387,0.199 l 0.43,2.497 c 0.042,0.246 -0.042,0.567 -0.203,0.71 l -0.869,0.779 c -0.16,0.143 -0.336,0.061 -0.394,-0.185 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g922">
+              <path
+                 style="fill:#777777"
+                 id="path924"
+                 d="M 5.338,52.774 5.351,52.391 6.604,50.886 H 6.666 C 6.748,50.9 6.818,50.956 6.872,51.04 6.834,50.886 6.845,50.719 6.891,50.571 l 1.323,-1.342 0.061,0.007 0.187,0.155 -0.024,-0.1 1.918,1.989 -0.93,0.942 -0.018,-0.002 -0.2,-0.161 0.003,0.38 C 8.772,52.857 8.44,53.338 8.047,53.784 L 8.03,53.785 C 7.914,53.764 7.813,53.669 7.749,53.524 l 0.034,0.086 0.053,0.43 -0.314,0.374 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path926"
+                 d="M 7.61,54.362 C 7.743,54.203 7.772,53.889 7.678,53.657 L 6.811,51.261 C 6.732,51.011 6.548,50.951 6.397,51.133 L 5.58,52.115 c -0.151,0.182 -0.201,0.522 -0.109,0.757 l 0.001,0.004 2.077,1.559 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path928"
+                 d="m 9.639,52.056 0.74,-0.75 -1.803,-1.869 0.662,2.458 c 0.072,0.24 0.253,0.311 0.401,0.161 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path930"
+                 d="M 6.98,51.061 C 6.9,50.808 6.982,50.483 7.144,50.316 L 8.026,49.42 c 0.163,-0.164 0.343,-0.092 0.404,0.161 l 0.671,2.451 c 0.073,0.24 0.013,0.555 -0.135,0.705 L 8.243,53.604 C 8.111,53.763 7.925,53.707 7.831,53.473 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g932">
+              <path
+                 style="fill:#777777"
+                 id="path934"
+                 d="m 2.974,56.952 -0.08,-0.381 0.877,-1.838 0.06,-0.015 C 3.916,54.714 3.998,54.755 4.066,54.824 4.007,54.687 3.988,54.521 4.005,54.363 l 1.077,-1.629 0.061,-0.006 0.209,0.123 -0.039,-0.097 2.21,1.658 -0.7,1.062 -0.018,0.001 -0.227,-0.12 0.083,0.363 C 6.303,56.185 6.125,56.72 5.865,57.224 L 5.848,57.227 C 5.731,57.233 5.609,57.167 5.511,57.045 l 0.054,0.073 0.164,0.39 -0.204,0.421 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path936"
+                 d="M 5.595,57.862 C 5.681,57.684 5.627,57.386 5.476,57.189 4.975,56.539 4.499,55.828 4.056,55.06 3.923,54.829 3.732,54.813 3.625,55.035 l -0.572,1.199 c -0.105,0.222 -0.072,0.572 0.077,0.775 l 10e-4,0.003 2.425,0.931 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path938"
+                 d="M 6.994,55.279 7.55,54.434 5.473,52.875 c 0.335,0.812 0.705,1.587 1.1,2.316 0.118,0.22 0.309,0.257 0.421,0.088 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path940"
+                 d="M 4.181,54.823 C 4.063,54.6 4.077,54.252 4.21,54.051 l 0.718,-1.086 c 0.134,-0.2 0.322,-0.16 0.424,0.084 0.342,0.809 0.715,1.576 1.115,2.3 0.12,0.22 0.129,0.528 0.017,0.697 l -0.48,0.967 C 5.919,57.19 5.726,57.18 5.576,56.98 5.083,56.32 4.602,55.59 4.181,54.823 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g942">
+              <path
+                 style="fill:#777777"
+                 id="path944"
+                 d="M 2.068,61.771 1.861,61.439 2.057,59.373 2.109,59.338 C 2.184,59.304 2.273,59.316 2.364,59.36 2.248,59.245 2.193,59.093 2.158,58.932 l 0.557,-1.943 0.057,-0.023 c 0.076,-0.019 0.157,0.006 0.235,0.059 l -0.063,-0.085 2.58,0.991 -0.333,1.174 -0.017,0.006 -0.252,-0.045 0.19,0.309 C 4.9,59.898 4.963,60.466 4.878,61.01 L 4.863,61.019 C 4.755,61.064 4.617,61.045 4.484,60.966 L 4.56,61.015 4.848,61.317 4.8,61.771 Z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path946"
+                 d="M 4.843,61.683 C 4.864,61.492 4.71,61.239 4.5,61.109 3.806,60.68 3.114,60.173 2.437,59.589 2.234,59.411 2.049,59.462 2.023,59.712 L 1.895,61.06 c -0.022,0.25 0.129,0.571 0.339,0.709 l 0.002,0.002 h 2.597 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path948"
+                 d="M 5.292,58.876 5.556,57.943 3.13,57.013 c 0.549,0.702 1.135,1.34 1.734,1.902 0.182,0.168 0.374,0.147 0.428,-0.039 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path950"
+                 d="M 2.466,59.316 C 2.286,59.142 2.196,58.798 2.263,58.558 l 0.372,-1.296 c 0.07,-0.24 0.261,-0.256 0.429,-0.045 0.559,0.695 1.146,1.321 1.75,1.872 0.182,0.168 0.286,0.446 0.23,0.632 l -0.11,1.046 C 4.916,60.957 4.731,61.014 4.521,60.881 3.828,60.438 3.137,59.915 2.466,59.316 Z"
+                 enable-background="new    " />
+            </g>
+          </g>
+          <path
+             style="fill:url(#radialGradient11885);fill-opacity:1;filter:url(#filter3866)"
+             id="path6390"
+             d="M 39.82,2.116 C 36.697,1.63 34.356,2.096 32.66,3.54 29.436,6.287 29.406,11.966 29.375,17.978 29.347,23.319 29.318,28.841 27.135,32.603 24.804,36.617 20.304,40.085 15.952,43.44 9.257,48.602 2.333,53.938 2.333,61.771 h 2 c 0,-6.849 6.237,-11.656 12.84,-16.747 4.505,-3.473 9.164,-7.063 11.691,-11.417 2.452,-4.222 2.481,-10.016 2.511,-15.618 C 31.404,12.449 31.431,7.216 33.958,5.063 35.183,4.019 37,3.702 39.513,4.093 54.586,6.438 62.34,3.828 62.662,3.715 L 62.007,1.825 C 61.932,1.852 54.339,4.375 39.82,2.116 Z" />
+          <rect
+             style="fill:url(#linearGradient11887)"
+             id="rect990"
+             height="6"
+             width="4"
+             y="60.167"
+             x="1.103" />
+          <path
+             d="m 64.5,125.033 c 8.343,0.197 16.75,1.062 16.75,-11.763 0,-14.5 -2.25,-26.25 4.75,-29.25 7,-3 7.25,3.5 22.5,-2 15.25,-5.5 16.5,-11 16.75,-15.5"
+             id="path1010"
+             style="fill:none" />
+          <g
+             id="g1012">
+            <path
+               d="m 68.973,126.384 -0.303,0.233 -1.88,-0.025 -0.038,-0.049 -0.017,-0.257 -0.354,0.296 -1.805,-0.046 -0.037,-0.049 -0.019,-0.243 -0.053,0.086 0.065,-2.763 1.39,0.036 0.012,0.015 0.015,0.256 0.292,-0.262 1.865,0.035 0.012,0.014 c 0.057,0.104 0.045,0.242 -0.031,0.383 l 0.048,-0.08 0.316,-0.314 0.509,0.003 z"
+               id="path1014"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 68.862,123.618 c -0.217,-10e-4 -0.494,0.176 -0.621,0.396 l -1.308,2.181 c -0.134,0.218 -0.061,0.398 0.163,0.403 l 1.227,0.017 c 0.228,0.001 0.518,-0.177 0.647,-0.396 l 0.001,-0.003 -0.011,-2.597 z"
+               id="path1016"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 65.643,123.562 -1.107,-0.029 -0.062,2.597 1.328,-2.163 c 0.135,-0.217 0.063,-0.399 -0.159,-0.405 z"
+               id="path1018"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 66.682,126.189 c -0.135,0.218 -0.425,0.39 -0.649,0.385 l -1.201,-0.031 c -0.221,-0.006 -0.292,-0.188 -0.159,-0.405 l 1.331,-2.165 c 0.136,-0.218 0.42,-0.391 0.64,-0.385 l 1.19,0.023 c 0.216,0.002 0.289,0.181 0.161,0.401 z"
+               id="path1020"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1022">
+            <path
+               d="m 73.644,126.031 -0.277,0.277 c -0.661,0.101 -1.321,0.189 -1.968,0.222 l -0.044,-0.045 -0.042,-0.254 -0.342,0.33 -1.881,0.058 -0.039,-0.048 -0.026,-0.242 -0.052,0.087 -0.012,-2.764 1.335,-0.028 0.011,0.014 0.032,0.255 0.263,-0.278 c 0.586,-0.058 1.198,-0.058 1.762,-0.159 l 0.012,0.012 c 0.068,0.095 0.077,0.233 0.024,0.384 l 0.034,-0.086 0.25,-0.355 0.474,-0.066 z"
+               id="path1024"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 73.06,123.323 c -0.2,0.027 -0.431,0.24 -0.52,0.477 -0.292,0.792 -0.646,1.565 -1.031,2.321 -0.116,0.229 -0.024,0.402 0.211,0.385 l 1.284,-0.146 c 0.239,-0.033 0.514,-0.254 0.608,-0.49 l 0.001,-0.003 -0.462,-2.556 z"
+               id="path1026"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 70.023,123.597 -1.062,0.022 0.011,2.597 1.229,-2.223 c 0.116,-0.224 0.035,-0.401 -0.178,-0.396 z"
+               id="path1028"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 71.248,126.14 c -0.117,0.229 -0.409,0.436 -0.641,0.443 l -1.253,0.032 c -0.231,0.007 -0.309,-0.175 -0.18,-0.396 l 1.222,-2.231 c 0.117,-0.22 0.374,-0.42 0.582,-0.436 l 1.124,-0.095 c 0.2,-0.029 0.295,0.139 0.204,0.375 -0.302,0.799 -0.668,1.537 -1.058,2.308 z"
+               id="path1030"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1032">
+            <path
+               d="m 78.272,124.17 -0.149,0.402 c -0.613,0.383 -1.264,0.751 -1.924,0.985 l -0.059,-0.03 -0.116,-0.23 c -0.044,0.148 -0.141,0.296 -0.262,0.417 -0.649,0.265 -1.302,0.358 -1.955,0.524 l -0.05,-0.037 -0.07,-0.232 -0.038,0.094 -0.492,-2.72 1.204,-0.276 0.014,0.011 0.089,0.238 0.155,-0.342 c 0.522,-0.165 1.014,-0.368 1.458,-0.632 l 0.015,0.009 c 0.095,0.066 0.157,0.19 0.168,0.344 l -0.003,-0.089 0.08,-0.396 0.334,-0.253 z"
+               id="path1034"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 76.587,121.979 c -0.135,0.112 -0.225,0.396 -0.223,0.627 0.04,0.787 10e-4,1.695 -0.171,2.528 -0.052,0.254 0.093,0.393 0.333,0.305 l 1.26,-0.647 c 0.235,-0.116 0.397,-0.497 0.388,-0.754 v -0.003 l -1.522,-2.104 z"
+               id="path1036"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 74.107,123.09 -0.956,0.221 0.462,2.556 c 0.318,-0.815 0.567,-1.635 0.749,-2.425 0.055,-0.24 -0.063,-0.396 -0.255,-0.352 z"
+               id="path1038"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 75.932,125.229 c -0.054,0.254 -0.302,0.533 -0.543,0.617 l -1.304,0.329 c -0.242,0.056 -0.354,-0.102 -0.261,-0.351 0.306,-0.826 0.551,-1.626 0.714,-2.433 0.046,-0.251 0.218,-0.504 0.395,-0.567 l 0.922,-0.404 c 0.16,-0.084 0.308,0.042 0.316,0.286 0.028,0.814 -0.047,1.7 -0.239,2.523 z"
+               id="path1040"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1042">
+            <path
+               d="m 81.367,120.128 0.081,0.403 c -0.242,0.662 -0.663,1.27 -1.064,1.878 l -0.063,0.01 c -0.086,-10e-4 -0.16,-0.05 -0.221,-0.131 0.049,0.156 0.053,0.343 -0.007,0.504 -0.49,0.534 -0.966,1.087 -1.574,1.486 l -0.064,-0.011 -0.167,-0.178 0.004,0.106 -1.62,-2.239 c 0.306,-0.214 0.601,-0.439 0.831,-0.732 l 0.017,0.004 0.198,0.161 -0.039,-0.351 c 0.358,-0.355 0.587,-0.839 0.871,-1.27 l 0.016,-0.003 c 0.111,0.001 0.232,0.071 0.33,0.199 l -0.055,-0.076 -0.174,-0.396 0.176,-0.407 z"
+               id="path1044"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 78.776,119.151 c -0.074,0.171 -0.007,0.468 0.146,0.674 0.519,0.68 0.874,1.381 1.223,2.22 0.1,0.251 0.292,0.285 0.437,0.063 0.245,-0.403 0.555,-0.788 0.71,-1.221 0.104,-0.235 0.071,-0.608 -0.077,-0.821 l -0.002,-0.003 -2.401,-0.99 z"
+               id="path1046"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 77.326,121.367 c -0.178,0.238 -0.45,0.375 -0.675,0.562 l 1.522,2.104 c -0.037,-0.883 -0.172,-1.688 -0.471,-2.487 -0.084,-0.232 -0.259,-0.308 -0.376,-0.179 z"
+               id="path1048"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 79.988,122.283 c 0.114,0.264 -0.002,0.613 -0.178,0.815 -0.333,0.35 -0.643,0.728 -1.047,0.995 -0.214,0.162 -0.391,0.07 -0.405,-0.194 -0.038,-0.855 -0.236,-1.705 -0.538,-2.478 -0.088,-0.232 -0.065,-0.509 0.052,-0.639 l 0.532,-0.826 c 0.105,-0.145 0.275,-0.138 0.43,0.073 0.443,0.653 0.836,1.409 1.154,2.254 z"
+               id="path1050"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1052">
+            <path
+               d="m 82.424,115.407 0.211,0.335 -0.286,1.982 -0.054,0.032 c -0.082,0.031 -0.171,0.018 -0.257,-0.028 l 0.199,0.433 c -0.203,0.646 -0.286,1.303 -0.602,1.936 l -0.062,0.022 c -0.081,0.017 -0.161,-0.01 -0.235,-0.065 l 0.058,0.086 -2.555,-1.054 c 0.182,-0.346 0.279,-0.747 0.382,-1.145 l 0.017,-0.006 0.251,0.049 -0.193,-0.316 c 0.182,-0.522 0.211,-1.12 0.308,-1.686 l 0.015,-0.009 c 0.11,-0.041 0.247,-0.014 0.376,0.074 l -0.073,-0.054 -0.271,-0.332 0.049,-0.479 z"
+               id="path1054"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 79.664,115.274 c -0.008,0.208 0.116,0.478 0.323,0.626 0.671,0.482 1.336,1.018 1.989,1.604 0.197,0.178 0.385,0.133 0.42,-0.106 l 0.188,-1.293 c 0.036,-0.239 -0.101,-0.561 -0.325,-0.71 l -0.003,-0.002 -2.588,-0.214 z"
+               id="path1056"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 79.127,118.173 -0.316,0.9 2.401,0.99 c -0.468,-0.706 -1.051,-1.342 -1.662,-1.925 -0.182,-0.173 -0.373,-0.154 -0.423,0.035 z"
+               id="path1058"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 81.929,117.769 c 0.181,0.178 0.273,0.524 0.208,0.765 -0.129,0.432 -0.208,0.867 -0.385,1.294 -0.102,0.236 -0.301,0.246 -0.45,0.034 -0.469,-0.69 -1.114,-1.335 -1.703,-1.9 -0.183,-0.172 -0.29,-0.457 -0.238,-0.645 l 0.175,-1.083 c 0.028,-0.2 0.217,-0.248 0.418,-0.1 0.665,0.492 1.342,1.038 1.975,1.635 z"
+               id="path1060"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1062">
+            <path
+               d="m 82.477,110.82 0.24,0.296 0.028,1.862 -0.047,0.039 -0.256,0.022 0.303,0.352 -0.082,1.914 -0.049,0.037 -0.243,0.007 0.085,0.06 -2.755,-0.227 0.055,-1.303 0.015,-0.011 0.257,-0.014 -0.258,-0.275 -0.011,-1.858 0.015,-0.011 c 0.102,-0.061 0.24,-0.051 0.383,0.023 l -0.081,-0.047 -0.321,-0.315 -0.009,-0.517 z"
+               id="path1064"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 79.714,110.956 c 0.003,0.22 0.187,0.499 0.409,0.625 l 2.221,1.263 c 0.223,0.129 0.4,0.052 0.396,-0.172 l -0.019,-1.215 c -0.004,-0.224 -0.187,-0.507 -0.41,-0.633 l -0.003,-0.002 -2.597,0.033 z"
+               id="path1066"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 79.711,114.144 -0.043,1.036 2.588,0.214 -2.138,-1.397 c -0.216,-0.129 -0.398,-0.06 -0.407,0.147 z"
+               id="path1068"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 82.348,113.097 c 0.229,0.123 0.392,0.426 0.383,0.662 l -0.056,1.276 c -0.01,0.236 -0.192,0.301 -0.406,0.15 l -2.143,-1.381 c -0.218,-0.13 -0.378,-0.392 -0.377,-0.607 l -0.019,-1.195 c -0.004,-0.22 0.174,-0.297 0.396,-0.172 z"
+               id="path1070"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1072">
+            <path
+               d="m 82.38,106.332 0.244,0.29 0.051,1.853 -0.047,0.04 -0.256,0.029 0.31,0.338 0.028,1.821 -0.047,0.038 -0.242,0.028 0.088,0.05 -2.764,0.036 -0.021,-1.376 0.015,-0.011 0.255,-0.027 -0.274,-0.278 -0.041,-1.88 0.014,-0.012 c 0.101,-0.062 0.24,-0.055 0.384,0.017 l -0.082,-0.045 -0.327,-0.312 -0.017,-0.521 z"
+               id="path1074"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 79.619,106.514 c 0.008,0.221 0.195,0.499 0.42,0.621 l 2.234,1.215 c 0.223,0.123 0.4,0.042 0.396,-0.182 l -0.034,-1.207 c -0.008,-0.222 -0.195,-0.501 -0.421,-0.623 l -0.003,-10e-4 -2.596,0.075 z"
+               id="path1076"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 79.694,109.761 0.018,1.095 2.597,-0.033 -2.217,-1.238 c -0.223,-0.124 -0.401,-0.045 -0.398,0.176 z"
+               id="path1078"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 82.277,108.603 c 0.223,0.123 0.406,0.405 0.409,0.629 l 0.02,1.214 c 0.003,0.224 -0.175,0.303 -0.397,0.177 l -2.22,-1.237 c -0.223,-0.123 -0.406,-0.4 -0.409,-0.62 l -0.026,-1.198 c -0.007,-0.222 0.169,-0.303 0.395,-0.182 z"
+               id="path1080"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1082">
+            <path
+               d="m 82.248,101.869 0.241,0.289 0.051,1.841 -0.046,0.04 -0.256,0.03 0.315,0.334 0.058,1.809 -0.047,0.039 -0.241,0.032 0.089,0.048 -2.763,0.08 -0.044,-1.384 0.014,-0.012 0.255,-0.029 -0.278,-0.277 -0.059,-1.889 0.014,-0.012 c 0.102,-0.063 0.24,-0.057 0.383,0.016 l -0.081,-0.046 -0.323,-0.313 -0.012,-0.525 z"
+               id="path1084"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 79.486,102.042 c 0.005,0.224 0.19,0.505 0.414,0.627 l 2.236,1.208 c 0.225,0.121 0.401,0.04 0.394,-0.183 l -0.033,-1.201 c -0.005,-0.22 -0.19,-0.496 -0.414,-0.618 l -0.003,-0.001 -2.596,0.066 z"
+               id="path1086"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 79.581,105.311 0.035,1.102 2.596,-0.075 -2.236,-1.208 c -0.226,-0.122 -0.402,-0.041 -0.395,0.181 z"
+               id="path1088"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 82.145,104.128 c 0.225,0.122 0.413,0.4 0.42,0.622 l 0.039,1.206 c 0.007,0.222 -0.17,0.303 -0.395,0.182 l -2.24,-1.21 c -0.225,-0.121 -0.413,-0.398 -0.42,-0.62 l -0.039,-1.203 c -0.006,-0.223 0.173,-0.305 0.396,-0.183 z"
+               id="path1090"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1092">
+            <path
+               d="m 82.195,97.447 0.228,0.292 0.01,1.82 -0.047,0.039 -0.257,0.025 0.312,0.336 0.039,1.791 -0.047,0.039 -0.242,0.03 0.089,0.049 -2.763,0.07 -0.03,-1.397 0.014,-0.012 0.255,-0.026 -0.276,-0.283 -0.036,-1.907 0.015,-0.012 c 0.104,-0.062 0.243,-0.05 0.382,0.026 l -0.079,-0.048 -0.309,-0.328 0.012,-0.533 z"
+               id="path1094"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 79.428,97.522 c -0.005,0.228 0.167,0.519 0.386,0.648 l 2.216,1.26 c 0.224,0.125 0.401,0.047 0.396,-0.173 l -0.011,-1.188 c 0.006,-0.216 -0.167,-0.494 -0.386,-0.622 l -0.002,-0.002 -2.598,-0.026 z"
+               id="path1096"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 79.46,100.827 0.024,1.113 2.596,-0.066 -2.225,-1.226 c -0.223,-0.125 -0.4,-0.044 -0.395,0.179 z"
+               id="path1098"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 82.035,99.681 c 0.224,0.124 0.408,0.402 0.413,0.623 l 0.026,1.194 c 0.005,0.22 -0.172,0.3 -0.396,0.178 l -2.228,-1.229 c -0.225,-0.125 -0.409,-0.408 -0.414,-0.632 L 79.411,98.6 c -0.008,-0.223 0.181,-0.304 0.396,-0.174 z"
+               id="path1100"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1102">
+            <path
+               d="m 82.418,93.115 0.2,0.305 c -0.076,0.575 -0.146,1.153 -0.138,1.763 l -0.048,0.035 -0.257,0.01 0.296,0.35 -0.039,1.762 -0.049,0.036 -0.243,0.022 0.086,0.05 -2.763,-0.028 0.032,-1.42 0.015,-0.011 0.256,-0.015 -0.263,-0.301 c 0.033,-0.649 -0.014,-1.28 0.093,-1.946 l 0.016,-0.011 c 0.11,-0.054 0.247,-0.03 0.378,0.059 l -0.074,-0.056 -0.276,-0.36 0.064,-0.545 z"
+               id="path1104"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 79.657,92.916 c -0.027,0.233 0.116,0.547 0.321,0.697 l 2.105,1.418 c 0.218,0.137 0.398,0.071 0.403,-0.146 l 0.093,-1.148 c 0.025,-0.208 -0.121,-0.492 -0.326,-0.639 L 82.25,93.096 79.669,92.81 Z"
+               id="path1106"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 79.455,96.288 -0.025,1.131 2.598,0.026 -2.168,-1.318 c -0.218,-0.138 -0.399,-0.066 -0.405,0.161 z"
+               id="path1108"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 82.078,95.278 c 0.219,0.136 0.392,0.42 0.387,0.637 l -0.026,1.175 c -0.006,0.216 -0.187,0.289 -0.404,0.16 l -2.17,-1.328 C 79.646,95.784 79.474,95.487 79.48,95.26 l 0.049,-1.239 c 0.027,-0.233 0.215,-0.297 0.42,-0.148 0.66,0.492 1.414,0.951 2.129,1.405 z"
+               id="path1110"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1112">
+            <path
+               d="m 83.252,89.057 0.146,0.336 -0.476,1.573 -0.058,0.023 -0.258,-0.03 0.255,0.378 -0.197,1.697 -0.052,0.03 -0.244,-0.004 0.082,0.058 -2.747,-0.304 0.172,-1.449 0.016,-0.01 c 0.076,-0.032 0.165,-0.022 0.255,0.018 l -0.229,-0.342 c 0.024,-0.652 0.325,-1.333 0.494,-1.999 l 0.018,-0.008 c 0.117,-0.033 0.246,0.021 0.357,0.139 l -0.062,-0.072 -0.201,-0.433 0.168,-0.552 z"
+               id="path1114"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 80.626,88.202 c -0.072,0.236 0.007,0.595 0.179,0.792 0.568,0.657 1.158,1.25 1.761,1.775 0.182,0.157 0.378,0.125 0.437,-0.062 l 0.311,-1.026 c 0.056,-0.188 -0.043,-0.489 -0.216,-0.68 L 83.096,88.998 80.66,88.095 Z"
+               id="path1116"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 79.807,91.655 -0.137,1.155 2.581,0.286 -2.027,-1.558 c -0.203,-0.166 -0.389,-0.116 -0.417,0.117 z"
+               id="path1118"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 82.5,90.991 c 0.202,0.164 0.348,0.463 0.324,0.671 l -0.132,1.132 c -0.024,0.208 -0.211,0.261 -0.416,0.112 l -2.028,-1.574 c -0.202,-0.168 -0.343,-0.495 -0.314,-0.728 l 0.355,-1.281 c 0.07,-0.237 0.266,-0.265 0.438,-0.069 0.573,0.645 1.164,1.223 1.773,1.737 z"
+               id="path1120"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1122">
+            <path
+               d="m 85.331,86.013 -0.047,0.31 c -0.473,0.178 -0.651,0.702 -0.934,1.102 l -0.056,-10e-4 -0.223,-0.129 0.101,0.403 c -0.275,0.397 -0.579,0.782 -0.673,1.344 l -0.054,0.016 -0.233,-0.063 0.069,0.074 -2.592,-0.961 c 0.143,-0.49 0.272,-0.982 0.619,-1.437 l 0.02,-0.005 c 0.089,-0.008 0.171,0.03 0.239,0.099 l -0.056,-0.413 1.26,-1.854 0.021,0.002 c 0.133,0.028 0.219,0.137 0.249,0.285 l -0.013,-0.088 c -0.02,-0.138 0.015,-0.3 0.088,-0.452 l 0.517,-0.37 z"
+               id="path1124"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 83.512,83.918 c -0.224,0.159 -0.384,0.496 -0.346,0.739 0.135,0.821 0.544,1.728 0.918,2.441 0.121,0.221 0.304,0.268 0.398,0.118 0.205,-0.237 0.269,-0.638 0.579,-0.754 0.146,-0.09 0.213,-0.345 0.166,-0.578 l -0.001,-0.003 -1.614,-2.035 z"
+               id="path1126"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 81.102,86.938 c -0.281,0.363 -0.287,0.771 -0.442,1.156 l 2.436,0.903 c -0.565,-0.631 -1.185,-1.328 -1.53,-2.049 -0.119,-0.224 -0.324,-0.235 -0.464,-0.01 z"
+               id="path1128"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 83.968,87.28 c 0.122,0.218 0.149,0.503 0.05,0.649 -0.184,0.267 -0.394,0.518 -0.454,0.893 -0.055,0.189 -0.242,0.193 -0.415,10e-4 -0.609,-0.661 -1.114,-1.321 -1.461,-2.067 -0.117,-0.227 -0.089,-0.604 0.057,-0.826 l 0.8,-1.193 c 0.15,-0.219 0.328,-0.164 0.405,0.108 0.261,0.901 0.607,1.72 1.018,2.435 z"
+               id="path1130"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1132">
+            <path
+               d="m 88.763,84.527 -0.207,0.262 c -0.498,0.118 -0.999,0.227 -1.506,0.443 l -0.049,-0.033 -0.109,-0.233 -0.174,0.388 c -0.437,0.235 -0.767,0.55 -1.167,0.795 l -0.054,-0.021 -0.166,-0.181 0.021,0.092 -1.718,-2.165 1.4,-0.95 0.018,0.005 0.136,0.215 0.173,-0.43 c 0.671,-0.262 1.293,-0.545 2.027,-0.691 l 0.016,0.011 c 0.092,0.083 0.108,0.222 0.06,0.379 l 0.033,-0.091 c 0.052,-0.141 0.158,-0.279 0.29,-0.394 l 0.602,-0.105 z"
+               id="path1134"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 88.263,81.802 c -0.267,0.022 -0.546,0.299 -0.638,0.539 -0.309,0.812 -0.491,1.635 -0.601,2.475 -0.033,0.248 0.095,0.392 0.275,0.324 0.33,-0.143 0.656,-0.204 0.981,-0.282 0.179,-0.05 0.376,-0.275 0.457,-0.493 l 0.001,-0.003 -0.356,-2.573 z"
+               id="path1136"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 84.731,83.082 -1.119,0.765 1.614,2.035 c -0.161,-0.771 -0.214,-1.636 -0.138,-2.559 0.025,-0.279 -0.128,-0.392 -0.357,-0.241 z"
+               id="path1138"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 86.81,84.895 c -0.019,0.258 -0.227,0.469 -0.339,0.597 l -0.757,0.547 c -0.14,0.095 -0.303,-0.012 -0.348,-0.247 -0.146,-0.786 -0.179,-1.664 -0.083,-2.597 0.024,-0.299 0.249,-0.623 0.486,-0.688 0.431,-0.146 0.831,-0.335 1.29,-0.441 0.253,-0.062 0.378,0.093 0.292,0.341 -0.289,0.8 -0.436,1.677 -0.541,2.488 z"
+               id="path1140"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1142">
+            <path
+               d="m 92.726,84.942 -0.338,0.164 c -0.603,-0.135 -1.16,-0.265 -1.688,-0.33 l -0.027,-0.051 0.015,-0.257 -0.332,0.263 c -0.504,-0.041 -0.986,-0.052 -1.47,0.02 l -0.036,-0.044 -0.053,-0.238 -0.03,0.091 -0.379,-2.738 c 0.546,-0.068 1.092,-0.115 1.638,-0.079 l 0.013,0.015 c 0.046,0.072 0.047,0.162 0.016,0.256 l 0.349,-0.26 c 0.729,0.069 1.418,0.187 2.066,0.33 l 0.009,0.017 c 0.037,0.113 -0.003,0.246 -0.111,0.367 l 0.066,-0.067 0.385,-0.237 0.513,0.116 z"
+               id="path1144"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 93.238,82.224 c -0.219,-0.05 -0.537,0.061 -0.711,0.248 -0.587,0.63 -1.163,1.248 -1.653,1.924 -0.146,0.204 -0.103,0.391 0.085,0.414 l 1.103,0.223 c 0.214,0.049 0.526,-0.063 0.699,-0.251 l 0.002,-0.002 0.575,-2.533 z"
+               id="path1146"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 89.692,81.701 c -0.436,-0.031 -0.873,0.05 -1.31,0.087 l 0.356,2.573 c 0.262,-0.763 0.645,-1.558 1.145,-2.256 0.154,-0.217 0.075,-0.399 -0.191,-0.404 z"
+               id="path1148"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 90.65,84.367 c -0.141,0.212 -0.408,0.333 -0.583,0.342 -0.327,-0.001 -0.656,-0.036 -0.977,0.021 -0.176,0.019 -0.264,-0.153 -0.181,-0.384 0.279,-0.785 0.684,-1.528 1.202,-2.235 0.158,-0.227 0.502,-0.378 0.751,-0.338 l 1.314,0.218 c 0.235,0.047 0.275,0.237 0.096,0.427 -0.586,0.631 -1.152,1.258 -1.622,1.949 z"
+               id="path1150"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1152">
+            <path
+               d="m 97.404,85.568 -0.326,0.227 c -0.669,0.003 -1.333,-0.094 -1.999,-0.159 l -0.034,-0.054 c -0.035,-0.078 -0.027,-0.168 0.013,-0.258 l -0.406,0.24 -1.868,-0.368 -0.025,-0.055 0.029,-0.242 -0.068,0.074 0.611,-2.695 1.302,0.273 0.008,0.016 -0.026,0.255 0.311,-0.221 c 0.578,0.116 1.15,0.151 1.725,0.215 l 0.009,0.015 c 0.049,0.104 0.03,0.242 -0.051,0.381 l 0.051,-0.079 0.314,-0.309 0.478,0.013 z"
+               id="path1154"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 97.357,82.801 c -0.202,-0.005 -0.47,0.167 -0.604,0.385 -0.44,0.715 -0.931,1.384 -1.478,2.069 -0.165,0.204 -0.109,0.391 0.132,0.416 l 1.303,0.113 c 0.241,0.007 0.555,-0.163 0.694,-0.381 l 0.001,-0.003 0.043,-2.597 z"
+               id="path1156"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 94.379,82.472 -1.041,-0.226 -0.575,2.533 1.697,-1.885 c 0.16,-0.199 0.124,-0.381 -0.081,-0.422 z"
+               id="path1158"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 95.014,85.22 c -0.165,0.196 -0.493,0.322 -0.729,0.282 l -1.242,-0.249 c -0.227,-0.049 -0.263,-0.24 -0.085,-0.428 l 1.689,-1.899 c 0.16,-0.197 0.449,-0.329 0.65,-0.294 l 1.097,0.126 c 0.2,0.021 0.26,0.208 0.125,0.415 -0.448,0.686 -0.954,1.383 -1.505,2.047 z"
+               id="path1160"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1162">
+            <path
+               d="m 102.096,85.131 -0.262,0.293 -1.938,0.272 -0.046,-0.042 -0.049,-0.253 -0.335,0.335 c -0.648,0.022 -1.288,0.102 -1.943,0.07 l -0.041,-0.049 -0.023,-0.243 -0.056,0.086 0.046,-2.764 c 0.421,0.028 0.851,-0.009 1.278,-0.03 l 0.011,0.013 0.035,0.254 0.249,-0.282 c 0.582,-0.017 1.173,-0.141 1.759,-0.203 l 0.013,0.013 c 0.072,0.095 0.083,0.232 0.032,0.382 l 0.033,-0.086 0.251,-0.352 0.486,-0.1 z"
+               id="path1164"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 101.496,82.432 c -0.206,0.045 -0.44,0.273 -0.527,0.501 -0.287,0.777 -0.611,1.561 -0.974,2.348 -0.11,0.236 -0.014,0.404 0.221,0.374 l 1.268,-0.168 c 0.234,-0.03 0.49,-0.277 0.581,-0.518 l 0.001,-0.003 -0.475,-2.554 z"
+               id="path1166"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 98.465,82.787 -1.016,0.017 -0.043,2.596 c 0.464,-0.706 0.871,-1.468 1.235,-2.223 0.11,-0.227 0.028,-0.402 -0.176,-0.39 z"
+               id="path1168"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 99.734,85.313 c -0.109,0.242 -0.401,0.428 -0.64,0.443 L 97.8,85.813 c -0.241,-0.006 -0.319,-0.188 -0.182,-0.404 0.455,-0.706 0.855,-1.499 1.213,-2.241 0.108,-0.228 0.357,-0.42 0.562,-0.43 l 1.121,-0.149 c 0.206,-0.026 0.306,0.141 0.218,0.375 -0.295,0.778 -0.628,1.562 -0.998,2.349 z"
+               id="path1170"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1172">
+            <path
+               d="m 106.569,83.997 -0.22,0.32 -1.844,0.51 -0.051,-0.036 -0.086,-0.242 -0.269,0.389 -1.846,0.4 -0.047,-0.039 -0.07,-0.233 -0.036,0.097 -0.505,-2.717 1.294,-0.267 0.014,0.012 0.079,0.245 0.205,-0.323 1.759,-0.48 0.015,0.011 c 0.084,0.084 0.113,0.22 0.081,0.375 l 0.022,-0.09 0.21,-0.385 0.481,-0.154 z"
+               id="path1174"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 105.654,81.388 c -0.204,0.074 -0.416,0.317 -0.475,0.561 l -0.641,2.455 c -0.072,0.249 0.048,0.401 0.271,0.341 l 1.205,-0.329 c 0.225,-0.055 0.445,-0.324 0.504,-0.575 l 0.001,-0.003 -0.772,-2.48 z"
+               id="path1176"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 102.62,82.2 -1.029,0.212 0.475,2.554 0.803,-2.408 c 0.07,-0.241 -0.042,-0.4 -0.249,-0.358 z"
+               id="path1178"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 104.29,84.472 c -0.072,0.247 -0.312,0.501 -0.536,0.558 l -1.236,0.255 c -0.229,0.047 -0.339,-0.113 -0.25,-0.357 l 0.79,-2.408 c 0.071,-0.232 0.292,-0.488 0.498,-0.542 l 1.12,-0.306 c 0.206,-0.056 0.327,0.097 0.269,0.342 z"
+               id="path1180"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1182">
+            <path
+               d="m 110.865,82.472 -0.197,0.326 -1.764,0.669 -0.053,-0.033 -0.108,-0.234 -0.232,0.398 -1.761,0.587 -0.051,-0.033 -0.097,-0.224 -0.023,0.1 -0.822,-2.639 1.28,-0.427 0.015,0.01 0.103,0.235 0.178,-0.343 1.736,-0.631 0.015,0.01 c 0.092,0.075 0.131,0.209 0.11,0.367 l 0.016,-0.092 0.182,-0.408 0.478,-0.183 z"
+               id="path1184"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 109.764,79.933 c -0.203,0.077 -0.398,0.343 -0.438,0.595 l -0.426,2.518 c -0.049,0.252 0.086,0.396 0.297,0.314 l 1.149,-0.438 c 0.211,-0.081 0.417,-0.351 0.458,-0.603 v -0.004 l -0.948,-2.418 z"
+               id="path1186"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 106.767,81.018 -1.02,0.339 0.772,2.48 0.531,-2.493 c 0.049,-0.249 -0.079,-0.395 -0.283,-0.326 z"
+               id="path1188"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 108.656,83.128 c -0.049,0.249 -0.267,0.51 -0.482,0.582 l -1.175,0.392 c -0.217,0.072 -0.344,-0.074 -0.286,-0.326 l 0.524,-2.493 c 0.048,-0.249 0.251,-0.506 0.456,-0.573 l 1.104,-0.408 c 0.203,-0.077 0.337,0.063 0.297,0.315 z"
+               id="path1190"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1192">
+            <path
+               d="m 115.054,80.651 -0.173,0.347 -1.73,0.784 -0.056,-0.028 -0.123,-0.227 c -0.029,0.148 -0.104,0.297 -0.202,0.419 l -1.711,0.702 -0.053,-0.03 -0.112,-0.217 -0.017,0.1 -1.009,-2.573 1.258,-0.504 0.016,0.009 0.118,0.228 0.151,-0.359 1.689,-0.734 0.016,0.008 c 0.095,0.068 0.144,0.199 0.136,0.359 l 0.009,-0.094 0.146,-0.424 0.453,-0.221 z"
+               id="path1194"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 113.757,78.208 c -0.192,0.094 -0.362,0.376 -0.381,0.632 l -0.26,2.521 c -0.031,0.254 0.111,0.388 0.32,0.297 l 1.13,-0.507 c 0.206,-0.102 0.393,-0.392 0.413,-0.647 l 0.001,-0.003 -1.136,-2.336 z"
+               id="path1196"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 110.861,79.502 -1.006,0.395 0.948,2.418 0.362,-2.509 c 0.031,-0.254 -0.106,-0.39 -0.304,-0.304 z"
+               id="path1198"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 112.881,81.462 c -0.031,0.255 -0.229,0.534 -0.438,0.624 l -1.141,0.47 c -0.212,0.081 -0.35,-0.059 -0.309,-0.311 l 0.353,-2.518 c 0.03,-0.254 0.214,-0.527 0.412,-0.613 l 1.079,-0.464 c 0.199,-0.083 0.336,0.039 0.317,0.297 z"
+               id="path1200"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1202">
+            <path
+               d="m 119.092,78.4 -0.135,0.366 -1.662,0.986 -0.059,-0.021 -0.145,-0.213 c -0.017,0.151 -0.077,0.308 -0.165,0.44 l -1.665,0.853 -0.057,-0.025 -0.129,-0.207 -0.009,0.102 -1.208,-2.485 1.203,-0.592 0.016,0.007 0.138,0.216 0.113,-0.372 1.575,-0.893 0.016,0.006 c 0.102,0.058 0.165,0.182 0.177,0.341 l -0.003,-0.093 0.091,-0.436 0.415,-0.268 z"
+               id="path1204"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 117.501,76.136 c -0.177,0.114 -0.307,0.411 -0.295,0.666 0.049,0.857 0.031,1.675 0.015,2.534 -0.008,0.258 0.148,0.376 0.351,0.263 l 1.086,-0.64 c 0.197,-0.126 0.353,-0.439 0.343,-0.696 V 78.26 l -1.419,-2.176 z"
+               id="path1206"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 114.804,77.696 -0.959,0.469 1.136,2.336 0.156,-2.522 c 0.009,-0.252 -0.14,-0.376 -0.333,-0.283 z"
+               id="path1208"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 116.994,79.463 c -0.007,0.257 -0.18,0.559 -0.382,0.672 l -1.113,0.561 c -0.207,0.101 -0.355,-0.025 -0.334,-0.282 l 0.143,-2.527 c 0.006,-0.257 0.157,-0.547 0.343,-0.65 l 1.008,-0.562 c 0.185,-0.104 0.332,0.002 0.346,0.26 z"
+               id="path1210"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1212">
+            <path
+               d="m 122.787,75.435 -0.058,0.401 -1.499,1.327 -0.062,-0.012 -0.179,-0.187 c 0.006,0.15 -0.033,0.314 -0.104,0.459 -0.513,0.388 -1.024,0.78 -1.565,1.108 l -0.06,-0.019 -0.154,-0.188 0.003,0.102 -1.51,-2.314 1.075,-0.738 0.017,0.005 0.168,0.193 0.054,-0.377 1.346,-1.111 0.018,0.003 c 0.111,0.04 0.198,0.147 0.24,0.299 l -0.021,-0.089 0.007,-0.427 0.325,-0.339 z"
+               id="path1214"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 120.741,73.574 c -0.13,0.148 -0.19,0.455 -0.136,0.692 0.201,0.798 0.368,1.638 0.487,2.5 0.029,0.249 0.212,0.354 0.393,0.192 l 0.979,-0.866 c 0.187,-0.151 0.264,-0.524 0.203,-0.771 l -0.001,-0.004 -1.863,-1.81 z"
+               id="path1216"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 118.445,75.505 -0.864,0.579 1.419,2.176 c -0.031,-0.854 -0.078,-1.681 -0.193,-2.526 -0.034,-0.252 -0.198,-0.353 -0.362,-0.229 z"
+               id="path1218"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 120.883,76.925 c 0.03,0.254 -0.103,0.578 -0.292,0.721 l -1.044,0.74 c -0.197,0.127 -0.361,0.021 -0.371,-0.236 -0.028,-0.842 -0.098,-1.691 -0.217,-2.53 -0.033,-0.251 0.069,-0.553 0.234,-0.676 l 0.85,-0.713 c 0.151,-0.134 0.326,-0.05 0.386,0.192 0.189,0.797 0.364,1.669 0.454,2.502 z"
+               id="path1220"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1222">
+            <path
+               d="m 125.541,71.361 0.082,0.4 c -0.289,0.647 -0.636,1.257 -1.023,1.839 l -0.062,0.011 c -0.085,0 -0.162,-0.046 -0.226,-0.123 0.056,0.152 0.06,0.323 0.025,0.484 -0.405,0.543 -0.825,1.069 -1.296,1.534 l -0.062,-0.002 -0.194,-0.148 0.025,0.101 -1.982,-1.926 c 0.282,-0.304 0.586,-0.595 0.818,-0.927 l 0.018,0.001 0.212,0.143 -0.057,-0.365 c 0.351,-0.434 0.623,-0.907 0.877,-1.385 l 0.017,-0.002 c 0.114,0.001 0.234,0.071 0.33,0.197 l -0.053,-0.075 -0.161,-0.392 0.188,-0.405 z"
+               id="path1224"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 122.955,70.39 c -0.079,0.171 -0.027,0.461 0.121,0.665 0.506,0.677 0.903,1.398 1.271,2.197 0.108,0.242 0.302,0.271 0.437,0.056 l 0.67,-1.197 c 0.108,-0.231 0.101,-0.591 -0.065,-0.811 l -0.002,-0.003 -2.401,-0.988 z"
+               id="path1226"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 121.468,72.78 -0.665,0.728 1.863,1.81 c -0.22,-0.847 -0.447,-1.626 -0.796,-2.404 -0.101,-0.231 -0.284,-0.287 -0.402,-0.134 z"
+               id="path1228"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 124.199,73.486 c 0.108,0.243 0.052,0.594 -0.099,0.794 l -0.866,1.022 c -0.169,0.179 -0.354,0.113 -0.419,-0.139 -0.214,-0.83 -0.48,-1.629 -0.833,-2.396 -0.103,-0.229 -0.093,-0.533 0.027,-0.686 l 0.552,-0.883 c 0.081,-0.17 0.271,-0.149 0.416,0.056 0.481,0.686 0.859,1.417 1.222,2.232 z"
+               id="path1230"
+               style="fill:#c4c4c4" />
+          </g>
+          <g
+             id="g1232">
+            <path
+               d="m 126.514,66.591 0.212,0.328 c -0.046,0.648 -0.107,1.321 -0.239,1.999 l -0.055,0.033 c -0.079,0.034 -0.168,0.022 -0.257,-0.022 l 0.229,0.434 c -0.149,0.664 -0.341,1.325 -0.6,1.967 l -0.06,0.022 c -0.078,0.017 -0.159,-0.01 -0.234,-0.064 l 0.062,0.086 -2.556,-1.052 0.374,-1.132 0.016,-0.006 0.252,0.046 -0.195,-0.307 0.265,-1.667 0.015,-0.009 c 0.106,-0.047 0.246,-0.023 0.378,0.061 l -0.075,-0.052 -0.294,-0.329 0.036,-0.487 z"
+               id="path1234"
+               style="fill:#777777" />
+            <path
+               enable-background="new    "
+               d="m 123.745,66.531 c -0.015,0.207 0.145,0.485 0.356,0.627 0.686,0.462 1.383,0.967 2.018,1.544 0.192,0.176 0.384,0.126 0.429,-0.119 l 0.151,-1.306 c 0.018,-0.235 -0.14,-0.549 -0.351,-0.694 l -0.003,-0.002 -2.594,-0.144 z"
+               id="path1236"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 123.294,69.416 -0.31,0.893 2.401,0.988 c -0.518,-0.722 -1.044,-1.347 -1.668,-1.916 -0.183,-0.169 -0.374,-0.149 -0.423,0.035 z"
+               id="path1238"
+               style="fill:#c4c4c4" />
+            <path
+               enable-background="new    "
+               d="m 126.07,68.971 c 0.19,0.178 0.316,0.527 0.241,0.772 -0.113,0.441 -0.231,0.883 -0.405,1.312 -0.089,0.239 -0.285,0.251 -0.44,0.037 -0.509,-0.704 -1.078,-1.33 -1.701,-1.886 -0.182,-0.167 -0.292,-0.442 -0.265,-0.637 l 0.162,-1.063 c 0.024,-0.198 0.211,-0.252 0.416,-0.112 0.685,0.467 1.366,0.986 1.992,1.577 z"
+               id="path1240"
+               style="fill:#c4c4c4" />
+          </g>
+          <path
+             d="m 108.161,81.08 c -8.613,3.106 -12.224,2.276 -15.123,1.61 -2.167,-0.498 -4.213,-0.969 -7.432,0.411 -6.178,2.647 -5.897,11.008 -5.544,21.594 l 0.188,8.575 c 0,4.023 -0.842,6.799 -2.575,8.485 -2.636,2.564 -7.169,2.44 -11.97,2.309 l -1.182,-0.031 -0.047,2 1.174,0.03 c 5.004,0.138 10.177,0.281 13.419,-2.874 2.141,-2.083 3.181,-5.327 3.181,-9.919 l -0.188,-8.643 c -0.342,-10.205 -0.588,-17.58 4.332,-19.688 2.62,-1.122 4.12,-0.777 6.196,-0.301 3.155,0.726 7.083,1.629 16.249,-1.678 15.535,-5.603 17.133,-11.396 17.409,-16.385 l -1.996,-0.111 c -0.253,4.551 -1.704,9.427 -16.091,14.616 z"
+             id="path1253"
+             style="fill:url(#radialGradient11889)" />
+          <path
+             style="opacity:0.676712;fill:#ffffff;fill-opacity:1;filter:url(#filter3866)"
+             d="m 61.710678,1.7125992 c -0.075,0.027 -7.6685,2.54025 -22.1875,0.28125 -3.123,-0.486 -5.46025,-0.0065 -7.15625,1.4375 -3.224001,2.7469999 -3.25025,8.4254998 -3.28125,14.4374998 -0.028,5.341 -0.067,10.863 -2.25,14.625 -2.330999,4.014001 -6.8355,7.4575 -11.1875,10.8125 C 8.9531782,48.46835 2.0544282,53.817099 2.0544282,61.650099 h 0.15625 c 1.060867,-6.759304 7.3316598,-11.636005 13.4374998,-16.34375 4.352,-3.355 8.856501,-6.798499 11.1875,-10.8125 2.183,-3.762 2.221999,-9.284 2.25,-14.625 0.031,-6.012 0.05725,-11.6904999 3.28125,-14.4374998 1.132804,-0.964486 2.56337,-1.494139 4.3125,-1.59375 0.397789,-0.022654 0.817742,-0.021586 1.25,0 0.12592,0.00749 0.244877,0.01937 0.375,0.03125 0.03202,0.00249 0.06155,-0.00272 0.09375,0 0.264595,0.026018 0.530527,0.049877 0.8125,0.09375 0.10643,0.014563 0.204195,0.014396 0.3125,0.03125 1.769395,0.275299 3.437402,0.47857 5,0.625 0.04016,0.00376 0.08497,-0.00369 0.125,0 0.782055,0.070938 1.550748,0.143113 2.28125,0.1875 0.01,6.1e-4 0.02126,-6.05e-4 0.03125,0 1.487617,0.090202 2.858445,0.127376 4.125,0.125 0.03994,-1.6e-5 0.08527,9.1e-5 0.125,0 1.215496,-0.00489 2.336531,-0.029519 3.34375,-0.09375 4.694309,-0.29936 7.114062,-1.109813 7.15625,-1.125 l 0.03125,0.0625 c 0.343868,-0.09511 0.579365,-0.171485 0.625,-0.1875 z"
+             id="path3942" />
+          <g
+             id="g1255"
+             style="filter:url(#filter3934)">
+            <linearGradient
+               y2="53.477501"
+               x2="87.068398"
+               y1="24.355499"
+               x1="87.068398"
+               gradientUnits="userSpaceOnUse"
+               id="XMLID_41_">
+              <stop
+                 id="stop1258"
+                 style="stop-color:#CF5F32"
+                 offset="0" />
+              <stop
+                 id="stop1260"
+                 style="stop-color:#803F00"
+                 offset="1" />
+            </linearGradient>
+            <linearGradient
+               y2="53.477501"
+               x2="40.932098"
+               y1="24.355499"
+               x1="40.932098"
+               gradientUnits="userSpaceOnUse"
+               id="XMLID_42_">
+              <stop
+                 id="stop1265"
+                 style="stop-color:#CF5F32"
+                 offset="0" />
+              <stop
+                 id="stop1267"
+                 style="stop-color:#803F00"
+                 offset="1" />
+            </linearGradient>
+          </g>
+          <rect
+             style="fill:url(#linearGradient11891)"
+             id="rect1294"
+             height="4"
+             width="6"
+             y="122.73"
+             x="61" />
+          <rect
+             style="fill:url(#linearGradient11893)"
+             id="rect1321"
+             height="3.75"
+             width="6"
+             y="1.229"
+             x="61" />
+          <rect
+             id="_x3C_Sezione_x3E_"
+             width="128"
+             height="128"
+             x="0"
+             y="0"
+             style="fill:none" />
+          <path
+             style="opacity:0.810959;fill:#ffffff;fill-opacity:1;filter:url(#filter4198)"
+             d="m 124.125,66.21875 c -0.253,4.551003 -1.70675,9.436 -16.09375,14.625 -8.613,3.105998 -12.226,2.25975 -15.125,1.59375 -2.16699,-0.498002 -4.2185,-0.97375 -7.4375,0.40625 -4.77995,2.047999 -5.68235,7.539426 -5.6875,14.8125 0.08984,-6.781222 1.12548,-11.857875 5.6875,-13.8125 3.219,-1.38 5.27051,-0.904252 7.4375,-0.40625 2.899,0.666 6.512,1.512248 15.125,-1.59375 14.387,-5.189 15.84075,-10.073997 16.09375,-14.625 l 1.9375,0.09375 c 0.0322,-0.328457 0.0447,-0.677975 0.0625,-1 z M 81.8125,100.6875 c 0.02885,1.49181 0.0697,3.03741 0.125,4.6875 l 0.1875,8.03125 c 0.0017,-0.12763 0,-0.24522 0,-0.375 L 81.9375,104.375 c -0.04275,-1.27562 -0.09515,-2.50507 -0.125,-3.6875 z m -1.6875,12.84375 c -0.07009,3.74478 -0.90481,6.35602 -2.5625,7.96875 -2.636,2.564 -7.16775,2.4435 -11.96875,2.3125 l -1.1875,-0.0313 -0.0625,2 H 64.375 l 0.03125,-1 1.1875,0.0313 c 4.801,0.131 9.33275,0.2515 11.96875,-2.3125 1.733,-1.686 2.5625,-4.44575 2.5625,-8.46875 z"
+             id="path4146-0" />
+          <path
+             style="fill:#70a0d2;fill-opacity:1;fill-rule:evenodd;stroke:none;filter:url(#filter4292)"
+             d="m 61.136895,4.6893178 h 5.928112 c 0,0 0.20704,0.5946507 -0.276054,0.5946507 -0.483093,0 -5.790086,0 -5.790086,0 C 60.86837,5.0661398 60.748727,4.849517 61.136895,4.6893178 Z"
+             id="path4202" />
+        </g>
+        <path
+           id="path2282"
+           d="m -137.8632,141.69541 c -32.3997,0 -58.69511,26.29541 -58.69511,58.69511 0,32.39969 26.29541,58.6951 58.69511,58.6951 32.39969,0 58.695096,-26.29541 58.695096,-58.6951 0,-32.3997 -26.295406,-58.69511 -58.695096,-58.69511 z m 0,25.15505 c 18.51411,0 33.54005,15.02594 33.54005,33.54006 0,18.51411 -15.02594,33.54005 -33.54005,33.54005 -18.51412,0 -33.54006,-15.02594 -33.54006,-33.54005 0,-18.51412 15.02594,-33.54006 33.54006,-33.54006 z"
+           style="fill:url(#radialGradient11895);fill-opacity:1;stroke:none" />
+        <path
+           style="opacity:0.685083;fill:url(#linearGradient5136);fill-opacity:1;stroke:none;filter:url(#filter5398)"
+           id="path5108"
+           d="m -137.875,149.37695 c -28.24083,0 -50.99805,22.75722 -50.99805,50.99805 0,28.24082 22.76217,51.0293 50.99805,51.0293 28.23587,0 51.029297,-22.79343 51.029297,-51.0293 0,-28.23588 -22.788477,-50.99805 -51.029297,-50.99805 z m 0,9.77735 c 22.67174,0 41.251953,18.54029 41.251953,41.2207 0,22.6804 -18.571553,41.25195 -41.251953,41.25195 -22.68041,0 -41.2207,-18.58021 -41.2207,-41.25195 0,-22.67175 18.54895,-41.2207 41.2207,-41.2207 z"
+           transform="translate(0,-3.7497465)" />
+        <path
+           transform="matrix(1.0481268,0,0,1.0481268,-384.43756,133.3104)"
+           id="path2883"
+           d="m 235.25241,4.4224304 c -30.912,0 -60.77009,28.6655696 -60.77009,59.5775696 0,30.912 29.85809,56 60.77009,56 30.912,0 60.77009,-25.088 60.77009,-56 0,-30.912 -29.85809,-59.5775696 -60.77009,-59.5775696 z m 0,27.5775696 c 17.664,0 32,14.336 32,32 0,17.664 -14.336,32 -32,32 -17.664,0 -32,-14.336 -32,-32 0,-17.664 14.336,-32 32,-32 z"
+           style="fill:none;stroke:#e10000;stroke-width:3.3724;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter2929)" />
+        <path
+           id="path2945"
+           d="m -137.8632,141.5906 c -3.02642,0 -6.00565,0.24543 -8.90908,0.68783 v 25.78392 c 2.83634,-0.78008 5.82599,-1.21189 8.90908,-1.21189 2.70652,0 5.33956,0.31093 7.86095,0.91711 v -25.62015 c -2.5794,-0.34685 -5.18705,-0.55682 -7.86095,-0.55682 z m -58.10553,50.4149 c -0.39219,2.73842 -0.58958,5.53869 -0.58958,8.38502 0,2.84632 0.19739,5.64659 0.58958,8.38501 h 25.61359 c -0.68967,-2.6785 -1.04812,-5.49218 -1.04812,-8.38501 0,-2.89283 0.35845,-5.70652 1.04812,-8.38502 z m 90.5647,0 c 0.68968,2.6785 1.08088,5.49219 1.08088,8.38502 0,2.89283 -0.3912,5.70651 -1.08088,8.38501 h 25.613601 c 0.392188,-2.73842 0.622325,-5.53869 0.622325,-8.38501 0,-2.84633 -0.230137,-5.6466 -0.622325,-8.38502 z m -41.36825,40.71318 v 25.6791 c 2.90343,0.44242 5.88266,0.68784 8.90908,0.68784 2.6739,0 5.28155,-0.20998 7.86095,-0.55682 v -25.51534 c -2.5214,0.60618 -5.15443,0.91711 -7.86095,0.91711 -3.08309,0 -6.07274,-0.43181 -8.90908,-1.21189 z"
+           style="fill:url(#radialGradient11897);fill-opacity:1;stroke:none" />
+        <g
+           clip-path="url(#clipPath10790)"
+           style="overflow:visible"
+           id="g9780"
+           transform="translate(-202.0005,136.54102)">
+          <path
+             style="fill:#295482;fill-opacity:1;fill-rule:evenodd;stroke:none;filter:url(#filter4346)"
+             d="m 61.136895,4.4893178 h 5.928112 c 0,0 0.20704,0.5946507 -0.276054,0.5946507 -0.483093,0 -5.790086,0 -5.790086,0 C 60.86837,4.8661398 60.748727,4.649517 61.136895,4.4893178 Z"
+             id="path9782" />
+          <path
+             style="opacity:0.306849;fill:#343434;fill-opacity:1;filter:url(#filter3985)"
+             d="m 61.710678,1.7125992 c -0.075,0.027 -7.6685,7.54025 -22.1875,5.28125 -3.123,-0.486 -5.46025,-0.0065 -7.15625,1.4375 -3.224001,2.7469998 -3.25025,3.4254998 -3.28125,9.4374998 -0.028,5.341 -0.067,10.863 -2.25,14.625 -2.330999,4.014001 -6.8355,7.4575 -11.1875,10.8125 C 8.9531782,48.46835 2.0544282,53.817099 2.0544282,61.650099 h 0.15625 c 1.060867,-6.759304 7.3316598,-11.636005 13.4374998,-16.34375 4.352,-3.355 8.856501,-6.798499 11.1875,-10.8125 2.183,-3.762 2.221999,-9.284 2.25,-14.625 0.031,-6.012 0.05725,-6.6905 3.28125,-9.4375 1.132804,-0.9644858 2.56337,-1.4941388 4.3125,-1.5937498 0.397789,-0.022654 0.817742,-0.021586 1.25,0 0.12592,0.00749 0.244877,0.01937 0.375,0.03125 0.03202,0.00249 0.06155,-0.00272 0.09375,0 0.264595,0.026018 0.530527,0.049877 0.8125,0.09375 0.10643,0.014563 0.204195,0.014396 0.3125,0.03125 1.769395,0.275299 3.437402,-0.52143 5,-0.375 0.04016,0.00376 0.08497,-0.00369 0.125,0 0.782055,0.070938 1.550748,0.143113 2.28125,0.1875 0.01,6.1e-4 0.02126,-6.05e-4 0.03125,0 1.487617,0.090202 2.858445,0.127376 4.125,0.125 0.03994,-1.6e-5 0.08527,-1.999909 0.125,-2 1.215496,-0.00489 2.336531,-0.029519 3.34375,-0.09375 4.694309,-0.29936 7.114062,-3.109813 7.15625,-3.125 l 0.03125,0.0625 c 0.343868,-0.09511 0.579365,-0.171485 0.625,-0.1875 z"
+             id="path9784" />
+          <g
+             id="g9786">
+            <path
+               style="fill:none"
+               id="path9788"
+               d="m 3.748,65.52 c 0,0 2.252,0.001 -0.748,9.501 -3,9.5 3.75,24.25 9.75,27.75 6,3.5 26.75,7.25 30,12 3.25,4.75 9.25,10.5 18.5,10.25 1.069,-0.028 2.159,-0.014 3.25,0.013" />
+            <g
+               id="g9790">
+              <path
+                 style="fill:#777777"
+                 id="path9792"
+                 d="m 3.099,69.491 -0.188,-0.31 c 0.034,-0.53 0.153,-1.133 0.129,-1.604 l 0.046,-0.03 0.255,-0.024 -0.316,-0.25 C 3.165,66.76 2.566,66.508 3.333,66.955 L 3.442,66.936 C 3.616,66.909 3.634,66.815 3.584,66.72 l 0.163,0.096 0.001,-2.763 c 2.347,0.665 1.773,1.674 2.163,2.277 l -0.009,0.02 c -0.054,0.077 -0.141,0.098 -0.243,0.08 0.143,0.097 0.222,0.189 0.307,0.326 0.083,0.817 0.042,1.548 -0.053,2.222 L 5.898,68.989 C 5.789,69.045 5.652,69.015 5.521,68.92 l 0.074,0.06 0.278,0.39 -0.078,0.564 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9794"
+                 d="M 5.849,69.834 C 5.889,69.598 5.735,69.251 5.533,69.09 4.842,68.554 4.184,68.058 3.448,67.682 3.22,67.578 3.048,67.64 3.054,67.81 l -0.113,1.071 c -0.021,0.196 0.141,0.475 0.321,0.636 l 0.002,0.002 2.563,0.421 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9796"
+                 d="M 5.823,65.887 C 5.561,65.444 5.677,64.428 3.748,64.02 L 3.747,66.618 C 3.21,65.601 4.88,65.868 5.51,66.245 5.772,66.377 5.925,66.236 5.823,65.887 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9798"
+                 d="M 3.436,67.476 C 3.209,67.375 3.021,67.178 3.019,67.012 2.996,66.815 2.859,66.578 3.036,66.779 c 0.222,0.2 0.41,0.014 0.369,-0.219 0.251,-0.796 1.408,-0.464 2.179,-0.034 0.232,0.117 0.43,0.451 0.445,0.732 0.049,0.526 0,0.971 -0.05,1.411 C 5.954,68.916 5.768,68.98 5.562,68.819 4.868,68.301 4.218,67.797 3.436,67.476 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9800">
+              <path
+                 style="fill:#777777"
+                 id="path9802"
+                 d="M 2.062,73.698 1.916,73.352 2.411,71.618 2.467,71.594 2.722,71.635 2.495,71.241 2.845,69.558 2.899,69.531 3.143,69.548 3.067,69.486 5.794,69.933 5.498,71.37 5.482,71.379 C 5.403,71.407 5.315,71.393 5.228,71.348 l 0.201,0.354 c -0.116,0.665 -0.333,1.268 -0.5,1.9 L 4.912,73.61 C 4.796,73.642 4.665,73.593 4.551,73.481 l 0.064,0.068 0.214,0.403 -0.147,0.518 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9804"
+                 d="M 4.742,74.379 C 4.805,74.158 4.714,73.827 4.536,73.642 L 2.762,71.843 C 2.582,71.667 2.388,71.697 2.329,71.904 l -0.323,1.132 c -0.059,0.208 0.037,0.523 0.214,0.708 l 0.002,0.002 2.491,0.734 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9806"
+                 d="m 5.591,71.085 0.236,-1.146 -2.563,-0.421 1.899,1.659 c 0.19,0.178 0.38,0.138 0.428,-0.092 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9808"
+                 d="M 2.829,71.605 C 2.64,71.429 2.519,71.125 2.562,70.918 L 2.795,69.796 C 2.838,69.59 3.03,69.548 3.222,69.705 l 1.898,1.678 c 0.189,0.178 0.302,0.513 0.254,0.743 L 5.041,73.33 c -0.063,0.221 -0.256,0.248 -0.434,0.063 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9810">
+              <path
+                 style="fill:#777777"
+                 id="path9812"
+                 d="M 1.095,78.331 0.9,77.988 c 0.095,-0.666 0.123,-1.334 0.317,-1.995 l 0.057,-0.031 c 0.081,-0.029 0.17,-0.015 0.256,0.032 L 1.323,75.558 c 0.159,-0.672 0.322,-1.282 0.482,-1.82 L 1.861,73.716 2.1,73.762 2.03,73.689 4.681,74.47 C 4.558,74.916 4.397,75.422 4.316,75.804 L 4.3,75.811 4.05,75.76 4.248,76.085 C 4.113,76.64 3.954,77.188 3.914,77.773 l -0.015,0.009 c -0.108,0.04 -0.245,0.012 -0.375,-0.078 l 0.074,0.056 0.278,0.337 -0.06,0.477 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9814"
+                 d="M 3.861,78.483 C 3.886,78.282 3.74,78.003 3.536,77.853 2.864,77.359 2.161,76.813 1.574,76.219 1.391,76.038 1.197,76.08 1.138,76.32 c -0.116,0.432 -0.127,0.868 -0.194,1.302 -0.03,0.241 0.111,0.567 0.315,0.722 l 0.003,0.002 2.587,0.23 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9816"
+                 d="m 4.408,75.565 0.306,-1.086 -2.491,-0.734 1.766,1.856 c 0.184,0.178 0.373,0.159 0.419,-0.036 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9818"
+                 d="M 1.638,75.957 C 1.455,75.774 1.356,75.426 1.415,75.186 1.522,74.736 1.63,74.339 1.737,73.977 1.796,73.769 1.988,73.748 2.165,73.932 l 1.779,1.851 c 0.185,0.177 0.297,0.471 0.25,0.664 -0.084,0.354 -0.191,0.7 -0.216,1.073 -0.024,0.202 -0.21,0.248 -0.415,0.098 C 2.869,77.11 2.231,76.564 1.638,75.957 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9820">
+              <path
+                 style="fill:#777777"
+                 id="path9822"
+                 d="M 1.165,83.067 0.905,82.778 0.773,80.813 0.821,80.771 1.078,80.741 0.78,80.378 c 0.023,-0.648 0,-1.294 0.066,-1.945 L 0.898,78.396 1.143,78.39 1.062,78.328 3.814,78.573 c -0.076,0.418 -0.035,0.86 -0.058,1.289 l -0.015,0.011 -0.255,0.016 0.264,0.272 c -0.037,0.587 0.032,1.184 0.068,1.778 l -0.013,0.012 c -0.099,0.064 -0.238,0.064 -0.383,0.003 l 0.083,0.039 0.336,0.278 0.037,0.492 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9824"
+                 d="M 3.902,82.665 C 3.888,82.456 3.692,82.206 3.463,82.101 L 1.179,80.945 C 0.949,80.817 0.775,80.901 0.791,81.138 l 0.088,1.281 c 0.019,0.236 0.212,0.521 0.449,0.628 l 0.003,0.002 2.581,-0.289 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9826"
+                 d="M 3.796,79.6 C 3.808,79.257 3.79,78.909 3.849,78.577 l -2.587,-0.23 c 0.654,0.514 1.417,0.979 2.131,1.402 0.218,0.126 0.399,0.057 0.403,-0.149 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9828"
+                 d="M 1.175,80.681 C 0.957,80.55 0.783,80.245 0.787,80.006 l 0.028,-1.297 c 0.025,-0.241 0.216,-0.307 0.419,-0.152 0.689,0.506 1.437,0.966 2.155,1.383 0.219,0.126 0.392,0.392 0.387,0.598 l 0.058,1.134 C 3.849,81.88 3.675,81.967 3.446,81.86 2.693,81.504 1.911,81.113 1.175,80.681 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9830">
+              <path
+                 style="fill:#777777"
+                 id="path9832"
+                 d="M 2.042,87.658 1.73,87.418 1.311,85.521 1.349,85.472 1.596,85.4 1.229,85.102 0.949,83.211 0.991,83.166 1.228,83.112 1.133,83.07 3.88,82.763 l 0.195,1.308 -0.013,0.013 -0.249,0.062 0.305,0.226 c 0.083,0.596 0.249,1.182 0.368,1.773 l -0.011,0.014 c -0.088,0.08 -0.225,0.102 -0.378,0.062 l 0.088,0.027 0.374,0.228 0.125,0.484 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9834"
+                 d="M 4.689,86.858 C 4.622,86.655 4.404,86.43 4.158,86.361 L 1.734,85.58 C 1.488,85.493 1.33,85.604 1.38,85.833 l 0.273,1.238 c 0.045,0.229 0.294,0.474 0.549,0.543 l 0.003,10e-4 2.511,-0.663 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9836"
+                 d="M 4.068,83.8 3.913,82.76 1.332,83.049 3.697,84.023 C 3.933,84.11 4.099,84.009 4.068,83.8 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9838"
+                 d="M 1.678,85.325 C 1.426,85.239 1.211,84.972 1.175,84.74 L 0.988,83.479 C 0.954,83.246 1.12,83.147 1.36,83.254 l 2.365,0.96 c 0.238,0.087 0.448,0.323 0.487,0.531 l 0.249,1.128 c 0.046,0.207 -0.112,0.32 -0.354,0.249 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9840">
+              <path
+                 style="fill:#777777"
+                 id="path9842"
+                 d="M 3.515,92.065 3.177,91.867 2.52,90.049 2.552,89.996 2.787,89.892 2.378,89.65 1.848,87.832 1.883,87.781 2.11,87.694 2.011,87.666 4.683,86.96 5.054,88.243 5.043,88.257 4.805,88.353 5.138,88.539 5.74,90.26 5.73,90.276 c -0.077,0.091 -0.21,0.13 -0.367,0.109 l 0.091,0.016 0.399,0.181 0.194,0.464 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9844"
+                 d="M 6.042,90.941 C 5.956,90.746 5.688,90.556 5.444,90.515 L 2.945,90.052 C 2.692,89.997 2.548,90.129 2.626,90.349 l 0.422,1.188 c 0.074,0.222 0.367,0.425 0.62,0.465 l 0.003,0.001 2.409,-0.972 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9846"
+                 d="m 5.011,87.973 -0.295,-1.021 -2.511,0.663 2.468,0.63 c 0.246,0.056 0.397,-0.068 0.338,-0.272 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9848"
+                 d="M 2.858,89.808 C 2.603,89.753 2.332,89.53 2.273,89.304 L 1.923,88.09 C 1.859,87.865 2.009,87.743 2.26,87.815 l 2.468,0.619 c 0.246,0.055 0.487,0.264 0.565,0.463 l 0.389,1.095 c 0.071,0.201 -0.071,0.334 -0.32,0.294 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9850">
+              <path
+                 style="fill:#777777"
+                 id="path9852"
+                 d="M 5.522,96.259 5.163,96.103 C 4.827,95.547 4.576,94.953 4.281,94.378 L 4.306,94.321 4.527,94.189 C 4.376,94.164 4.222,94.092 4.094,93.997 l -0.751,-1.734 0.029,-0.055 0.215,-0.114 -0.102,-0.017 2.563,-1.033 0.52,1.232 -0.009,0.016 -0.224,0.124 0.356,0.143 0.804,1.634 -0.008,0.017 c -0.066,0.1 -0.193,0.155 -0.351,0.154 l 0.092,0.004 0.429,0.122 0.248,0.435 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9854"
+                 d="M 7.887,94.823 C 7.782,94.638 7.49,94.488 7.233,94.483 L 4.703,94.329 C 4.445,94.307 4.319,94.455 4.421,94.664 l 0.566,1.129 c 0.115,0.203 0.419,0.377 0.678,0.384 h 0.003 l 2.266,-1.269 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9856"
+                 d="m 6.493,92.012 -0.414,-0.98 -2.409,0.972 2.52,0.322 c 0.251,0.025 0.386,-0.117 0.303,-0.314 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9858"
+                 d="M 4.588,94.096 C 4.331,94.072 4.034,93.882 3.937,93.671 l -0.49,-1.162 c -0.09,-0.214 0.045,-0.354 0.301,-0.315 l 2.519,0.312 c 0.245,0.027 0.534,0.194 0.626,0.387 l 0.512,1.041 c 0.094,0.191 -0.032,0.341 -0.283,0.331 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9860">
+              <path
+                 style="fill:#777777"
+                 id="path9862"
+                 d="M 8.114,100.17 7.737,100.064 C 7.332,99.543 6.934,99.019 6.592,98.466 L 6.609,98.406 6.81,98.244 C 6.658,98.239 6.496,98.187 6.357,98.108 l -0.982,-1.631 0.022,-0.058 0.198,-0.142 -0.102,-0.004 2.411,-1.351 0.666,1.15 -0.006,0.017 -0.205,0.152 0.378,0.086 c 0.34,0.492 0.635,1.027 1.013,1.483 l -0.005,0.017 c -0.049,0.105 -0.167,0.181 -0.324,0.206 l 0.093,-0.011 0.438,0.052 0.297,0.391 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9864"
+                 d="M 10.218,98.37 C 10.092,98.204 9.788,98.101 9.536,98.136 8.693,98.257 7.847,98.328 7.002,98.362 6.745,98.374 6.64,98.539 6.769,98.736 l 0.749,1.041 c 0.144,0.189 0.47,0.32 0.724,0.289 h 0.003 l 2.03,-1.62 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9866"
+                 d="M 8.457,95.829 7.935,94.908 5.669,96.177 H 8.2 c 0.258,-0.015 0.362,-0.164 0.257,-0.348 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9868"
+                 d="M 6.858,98.143 C 6.601,98.154 6.286,97.999 6.157,97.802 L 5.509,96.711 c -0.116,-0.203 10e-4,-0.359 0.259,-0.353 0.862,0.018 1.684,0.028 2.538,-0.02 0.256,-0.013 0.555,0.116 0.671,0.293 l 0.639,0.949 c 0.127,0.166 0.027,0.33 -0.226,0.363 -0.851,0.119 -1.671,0.162 -2.532,0.2 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9870">
+              <path
+                 style="fill:#777777"
+                 id="path9872"
+                 d="m 11.632,103.534 -0.414,-0.001 c -0.623,-0.39 -1.08,-0.883 -1.603,-1.337 l 10e-4,-0.062 c 0.015,-0.084 0.074,-0.151 0.161,-0.2 -0.157,0.027 -0.334,0.01 -0.48,-0.05 -0.43,-0.49 -0.903,-0.959 -1.292,-1.471 l 0.013,-0.062 0.173,-0.173 -0.101,0.012 2.161,-1.723 0.839,0.978 -0.003,0.017 -0.174,0.188 0.375,0.014 c 0.383,0.446 0.831,0.771 1.238,1.169 l -10e-4,0.019 c -0.021,0.107 -0.117,0.217 -0.258,0.281 l 0.083,-0.035 0.423,-0.095 0.363,0.252 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9874"
+                 d="m 13.083,101.177 c -0.152,-0.106 -0.455,-0.097 -0.687,0.013 -0.755,0.343 -1.544,0.591 -2.396,0.818 -0.256,0.065 -0.32,0.25 -0.135,0.417 0.344,0.294 0.64,0.617 1.028,0.883 0.213,0.149 0.588,0.191 0.827,0.088 l 0.003,-0.001 1.43,-2.169 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9876"
+                 d="m 10.939,99.229 -0.663,-0.783 -2.03,1.62 c 0.832,-0.092 1.695,-0.258 2.503,-0.452 0.244,-0.06 0.327,-0.235 0.19,-0.385 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9878"
+                 d="m 9.799,101.824 c -0.267,0.069 -0.588,-0.043 -0.755,-0.22 L 8.17,100.63 c -0.145,-0.189 -0.054,-0.365 0.2,-0.396 0.84,-0.104 1.706,-0.282 2.505,-0.479 0.244,-0.062 0.547,0.012 0.685,0.16 l 0.799,0.721 c 0.146,0.133 0.085,0.32 -0.141,0.413 -0.752,0.304 -1.561,0.564 -2.419,0.775 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9880">
+              <path
+                 style="fill:#777777"
+                 id="path9882"
+                 d="m 15.945,105.56 -0.37,0.114 c -0.596,-0.203 -1.198,-0.483 -1.797,-0.728 l -0.018,-0.06 c -0.013,-0.083 0.02,-0.166 0.083,-0.243 -0.132,0.078 -0.296,0.129 -0.459,0.134 -0.591,-0.327 -1.196,-0.548 -1.772,-0.972 l -0.011,-0.065 0.109,-0.22 -0.096,0.041 1.521,-2.308 c 0.298,0.241 0.689,0.418 1.06,0.608 l 0.003,0.018 -0.097,0.237 0.351,-0.123 1.646,0.71 0.005,0.017 c 0.015,0.118 -0.045,0.243 -0.164,0.347 l 0.072,-0.058 0.409,-0.186 0.478,0.177 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9884"
+                 d="m 16.817,102.935 c -0.204,-0.074 -0.528,-0.003 -0.726,0.16 l -2.022,1.54 c -0.212,0.15 -0.212,0.345 0.005,0.436 l 1.173,0.483 c 0.215,0.079 0.554,0.013 0.754,-0.149 l 0.002,-0.002 0.906,-2.434 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9886"
+                 d="m 13.984,101.717 c -0.307,-0.143 -0.591,-0.302 -0.83,-0.491 l -1.43,2.169 c 0.786,-0.321 1.521,-0.78 2.213,-1.253 0.207,-0.143 0.224,-0.335 0.047,-0.425 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9888"
+                 d="m 13.828,104.533 c -0.211,0.158 -0.564,0.188 -0.785,0.071 l -1.185,-0.631 c -0.215,-0.146 -0.188,-0.346 0.05,-0.45 0.77,-0.329 1.522,-0.84 2.196,-1.297 0.211,-0.146 0.497,-0.18 0.699,-0.103 l 1.061,0.444 c 0.195,0.082 0.197,0.276 0.002,0.435 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9890">
+              <path
+                 style="fill:#777777"
+                 id="path9892"
+                 d="m 20.261,107.017 -0.358,0.134 -1.787,-0.581 -0.022,-0.058 c -0.019,-0.082 0.005,-0.169 0.06,-0.251 l -0.429,0.177 -1.751,-0.617 -0.02,-0.059 0.06,-0.235 -0.08,0.063 0.964,-2.59 1.278,0.461 0.006,0.017 -0.062,0.249 0.356,-0.165 1.778,0.589 0.006,0.017 c 0.025,0.116 -0.028,0.245 -0.144,0.356 l 0.07,-0.062 0.402,-0.205 0.495,0.156 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9894"
+                 d="m 20.998,104.35 c -0.21,-0.066 -0.535,0.02 -0.724,0.191 l -1.902,1.691 c -0.193,0.169 -0.177,0.363 0.038,0.435 l 1.166,0.38 c 0.215,0.068 0.543,-0.017 0.733,-0.188 l 0.002,-0.003 0.782,-2.477 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9896"
+                 d="m 17.923,103.34 -1.014,-0.371 -0.906,2.434 1.947,-1.63 c 0.194,-0.169 0.179,-0.362 -0.027,-0.433 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9898"
+                 d="m 18.13,106.152 c -0.194,0.168 -0.526,0.245 -0.741,0.174 l -1.168,-0.415 c -0.215,-0.079 -0.227,-0.273 -0.026,-0.436 l 1.945,-1.641 c 0.193,-0.168 0.517,-0.248 0.725,-0.179 l 1.131,0.378 c 0.21,0.066 0.229,0.26 0.039,0.432 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9900">
+              <path
+                 style="fill:#777777"
+                 id="path9902"
+                 d="m 24.569,108.341 -0.354,0.138 -1.78,-0.542 -0.023,-0.057 c -0.02,-0.081 0.001,-0.168 0.053,-0.252 l -0.42,0.19 -1.745,-0.543 -0.022,-0.057 0.049,-0.239 -0.075,0.068 0.833,-2.636 1.32,0.414 0.006,0.017 -0.054,0.25 0.354,-0.174 1.811,0.553 0.007,0.017 c 0.028,0.116 -0.023,0.246 -0.137,0.358 l 0.069,-0.062 0.401,-0.21 0.501,0.152 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9904"
+                 d="m 25.274,105.665 c -0.214,-0.064 -0.539,0.023 -0.726,0.198 l -1.867,1.73 c -0.188,0.174 -0.167,0.367 0.047,0.433 l 1.162,0.354 c 0.213,0.065 0.538,-0.023 0.725,-0.198 l 0.002,-0.002 0.753,-2.485 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9906"
+                 d="m 22.144,104.711 -1.05,-0.331 -0.782,2.477 1.876,-1.713 c 0.188,-0.174 0.168,-0.368 -0.044,-0.433 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9908"
+                 d="m 22.44,107.521 c -0.188,0.173 -0.515,0.261 -0.729,0.195 l -1.164,-0.362 c -0.215,-0.067 -0.234,-0.262 -0.044,-0.434 l 1.878,-1.718 c 0.188,-0.174 0.513,-0.262 0.725,-0.197 l 1.154,0.353 c 0.212,0.064 0.234,0.259 0.047,0.433 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9910">
+              <path
+                 style="fill:#777777"
+                 id="path9912"
+                 d="m 28.854,109.652 -0.353,0.134 -1.767,-0.543 -0.023,-0.057 0.053,-0.252 -0.417,0.19 -1.736,-0.526 -0.023,-0.057 0.046,-0.24 -0.074,0.069 0.802,-2.645 1.334,0.403 0.007,0.017 -0.053,0.251 0.354,-0.174 1.824,0.559 0.006,0.017 c 0.027,0.116 -0.025,0.245 -0.14,0.357 l 0.07,-0.062 0.403,-0.207 0.503,0.158 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9914"
+                 d="m 29.583,106.982 c -0.214,-0.069 -0.542,0.017 -0.73,0.19 L 26.98,108.9 c -0.188,0.174 -0.167,0.367 0.045,0.433 l 1.154,0.353 c 0.213,0.064 0.534,-0.02 0.723,-0.191 l 0.002,-0.003 0.776,-2.479 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9916"
+                 d="m 26.434,106.016 -1.062,-0.321 -0.753,2.485 1.863,-1.731 c 0.187,-0.176 0.165,-0.369 -0.048,-0.433 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9918"
+                 d="m 26.739,108.826 c -0.188,0.174 -0.511,0.263 -0.724,0.197 l -1.159,-0.351 c -0.213,-0.064 -0.235,-0.259 -0.047,-0.433 l 1.866,-1.734 c 0.188,-0.174 0.513,-0.261 0.727,-0.195 l 1.163,0.356 c 0.214,0.065 0.234,0.259 0.045,0.432 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9920">
+              <path
+                 style="fill:#777777"
+                 id="path9922"
+                 d="m 33.085,111.036 -0.355,0.126 -1.739,-0.581 -0.021,-0.058 0.059,-0.251 -0.418,0.182 -1.718,-0.544 -0.021,-0.057 0.049,-0.239 -0.075,0.068 0.826,-2.638 1.338,0.424 0.006,0.017 -0.057,0.25 0.358,-0.169 1.824,0.605 0.006,0.018 c 0.024,0.116 -0.031,0.244 -0.149,0.353 l 0.072,-0.061 0.412,-0.195 0.502,0.171 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9924"
+                 d="m 33.897,108.39 c -0.214,-0.071 -0.546,0.006 -0.741,0.174 l -1.914,1.68 c -0.19,0.169 -0.174,0.363 0.035,0.434 l 1.134,0.379 c 0.208,0.071 0.535,-0.012 0.727,-0.176 l 0.002,-0.002 0.854,-2.453 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9926"
+                 d="m 30.746,107.351 -1.066,-0.338 -0.776,2.479 1.884,-1.708 c 0.191,-0.172 0.172,-0.365 -0.042,-0.433 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9928"
+                 d="m 31.005,110.164 c -0.188,0.168 -0.513,0.252 -0.725,0.186 l -1.146,-0.362 c -0.211,-0.067 -0.23,-0.261 -0.042,-0.433 l 1.889,-1.71 c 0.191,-0.171 0.52,-0.257 0.734,-0.185 l 1.164,0.389 c 0.214,0.072 0.229,0.266 0.036,0.434 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9930">
+              <path
+                 style="fill:#777777"
+                 id="path9932"
+                 d="m 37.185,112.616 -0.356,0.1 -1.67,-0.673 -0.018,-0.059 0.071,-0.248 -0.425,0.166 -1.674,-0.606 -0.019,-0.058 0.057,-0.237 -0.076,0.065 0.909,-2.609 1.335,0.483 0.006,0.017 -0.067,0.247 0.368,-0.152 1.816,0.713 0.005,0.018 c 0.018,0.118 -0.046,0.242 -0.172,0.343 l 0.076,-0.056 0.429,-0.168 0.499,0.212 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9934"
+                 d="m 38.196,110.037 c -0.213,-0.094 -0.555,-0.033 -0.762,0.12 l -2.009,1.562 c -0.196,0.159 -0.191,0.354 0.009,0.435 l 1.089,0.439 c 0.2,0.081 0.529,0.017 0.727,-0.129 l 0.003,-0.002 1.04,-2.38 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9936"
+                 d="m 35.058,108.811 -1.064,-0.386 -0.854,2.453 1.944,-1.633 c 0.199,-0.163 0.188,-0.357 -0.026,-0.434 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9938"
+                 d="m 35.195,111.626 c -0.197,0.161 -0.523,0.235 -0.729,0.16 l -1.117,-0.404 c -0.205,-0.074 -0.217,-0.27 -0.024,-0.435 l 1.951,-1.633 c 0.199,-0.163 0.536,-0.231 0.75,-0.153 l 1.158,0.464 c 0.213,0.086 0.217,0.28 0.011,0.436 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9940">
+              <path
+                 style="fill:#777777"
+                 id="path9942"
+                 d="m 40.814,114.631 -0.35,0.036 c -0.389,-0.322 -0.897,-0.595 -1.396,-0.87 l -0.008,-0.06 0.104,-0.235 -0.421,0.111 -1.555,-0.736 -0.014,-0.059 0.076,-0.232 -0.079,0.06 1.106,-2.532 1.324,0.615 0.005,0.018 c 0.008,0.082 -0.027,0.165 -0.092,0.238 l 0.392,-0.114 1.791,1.026 0.002,0.02 c 0,0.126 -0.089,0.233 -0.235,0.302 l 0.087,-0.036 c 0.136,-0.056 0.307,-0.068 0.476,-0.045 l 0.487,0.357 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9944"
+                 d="m 42.442,112.398 c -0.209,-0.154 -0.581,-0.204 -0.819,-0.104 -0.785,0.314 -1.547,0.787 -2.251,1.214 -0.212,0.134 -0.236,0.326 -0.059,0.426 0.315,0.185 0.67,0.35 0.92,0.563 0.15,0.111 0.451,0.109 0.683,0.004 l 0.003,-0.001 1.618,-2.032 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9946"
+                 d="m 39.348,110.572 -1.056,-0.49 -1.04,2.38 2.083,-1.454 c 0.218,-0.143 0.226,-0.336 0.013,-0.436 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9948"
+                 d="m 39.166,113.392 c -0.216,0.139 -0.51,0.156 -0.71,0.074 l -1.045,-0.485 c -0.192,-0.09 -0.187,-0.285 0.016,-0.435 l 2.098,-1.45 c 0.219,-0.148 0.57,-0.171 0.782,-0.045 l 1.144,0.645 c 0.212,0.114 0.182,0.341 -0.055,0.434 -0.788,0.385 -1.533,0.815 -2.23,1.262 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9950">
+              <path
+                 style="fill:#777777"
+                 id="path9952"
+                 d="m 43.54,117.863 -0.388,-0.086 -1.188,-1.551 0.015,-0.061 0.194,-0.169 c -0.154,0.002 -0.319,-0.042 -0.464,-0.114 -0.423,-0.511 -0.53,-0.657 -0.962,-1.012 l 0.004,-0.056 0.135,-0.201 -0.09,0.042 1.721,-2.162 c 0.434,0.264 0.852,0.79 1.254,1.229 l -10e-4,0.02 c -0.021,0.084 -0.09,0.141 -0.186,0.174 l 0.434,0.102 1.076,1.446 -0.005,0.018 c -0.046,0.109 -0.162,0.188 -0.315,0.216 l 0.09,-0.013 0.436,0.045 0.328,0.37 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9954"
+                 d="m 45.588,116.007 c -0.136,-0.16 -0.464,-0.239 -0.704,-0.208 l -2.513,0.307 c -0.259,0.021 -0.356,0.19 -0.216,0.38 l 0.761,1.021 c 0.153,0.18 0.492,0.29 0.748,0.248 h 0.003 l 1.984,-1.677 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9956"
+                 d="m 43.548,113.423 c -0.327,-0.366 -0.666,-0.738 -1.011,-0.955 l -1.618,2.032 c 0.787,-0.376 1.522,-0.6 2.466,-0.661 0.28,-0.016 0.362,-0.194 0.163,-0.416 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9958"
+                 d="m 42.215,115.895 c -0.257,0.027 -0.589,-0.129 -0.72,-0.293 l -0.573,-0.604 c -0.152,-0.108 -0.094,-0.287 0.138,-0.392 0.765,-0.354 1.525,-0.538 2.489,-0.58 0.314,0.013 0.587,0.105 0.724,0.28 l 0.685,0.922 c 0.125,0.169 0.029,0.339 -0.218,0.377 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9960">
+              <path
+                 style="fill:#777777"
+                 id="path9962"
+                 d="m 46.862,121.198 -0.39,-0.027 -1.44,-1.343 0.003,-0.062 0.164,-0.198 c -0.153,0.027 -0.325,0.012 -0.482,-0.035 l -1.277,-1.429 0.01,-0.061 0.167,-0.177 -0.102,0.017 2.111,-1.784 0.872,0.988 -0.003,0.018 -0.172,0.19 0.375,0.02 1.302,1.227 -10e-4,0.018 c -0.027,0.115 -0.127,0.212 -0.274,0.267 l 0.087,-0.028 0.432,-0.028 0.366,0.328 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9964"
+                 d="m 48.554,119.016 c -0.152,-0.144 -0.464,-0.191 -0.701,-0.109 l -2.437,0.734 c -0.253,0.065 -0.321,0.247 -0.148,0.409 l 0.94,0.876 c 0.177,0.158 0.504,0.239 0.758,0.145 l 0.003,-0.001 1.661,-1.997 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9966"
+                 d="m 46.346,116.864 -0.694,-0.786 -1.984,1.677 2.491,-0.497 c 0.243,-0.059 0.325,-0.237 0.187,-0.394 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9968"
+                 d="m 45.224,119.461 c -0.252,0.062 -0.61,-0.011 -0.758,-0.195 l -0.847,-0.958 c -0.156,-0.177 -0.072,-0.353 0.185,-0.396 l 2.483,-0.51 c 0.241,-0.056 0.548,0.021 0.708,0.156 l 0.833,0.776 c 0.152,0.143 0.086,0.325 -0.151,0.406 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9970">
+              <path
+                 style="fill:#777777"
+                 id="path9972"
+                 d="m 50.817,123.82 -0.389,0.051 c -0.571,-0.336 -1.176,-0.625 -1.715,-1.005 l -0.007,-0.064 c 0.003,-0.087 0.049,-0.164 0.124,-0.228 -0.142,0.051 -0.309,0.06 -0.466,0.034 l -1.554,-1.157 -0.002,-0.061 0.133,-0.203 -0.099,0.035 1.767,-2.125 1.047,0.775 v 0.018 l -0.134,0.219 0.374,-0.057 c 0.46,0.379 0.964,0.682 1.487,0.953 l 0.002,0.018 c -0.003,0.116 -0.082,0.231 -0.216,0.317 l 0.081,-0.047 0.42,-0.127 0.424,0.238 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9974"
+                 d="m 52.028,121.329 c -0.18,-0.101 -0.497,-0.074 -0.714,0.058 -0.715,0.433 -1.486,0.866 -2.265,1.23 -0.229,0.102 -0.27,0.306 -0.07,0.437 l 1.131,0.639 c 0.209,0.118 0.562,0.11 0.783,-0.02 l 0.003,-0.001 1.214,-2.296 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9976"
+                 d="m 49.463,119.688 -0.833,-0.616 -1.661,1.997 2.383,-0.965 c 0.23,-0.104 0.277,-0.292 0.111,-0.416 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9978"
+                 d="m 48.836,122.46 c -0.232,0.104 -0.579,0.069 -0.771,-0.073 l -1.037,-0.771 c -0.191,-0.143 -0.141,-0.329 0.107,-0.419 l 2.371,-0.977 c 0.229,-0.105 0.545,-0.093 0.711,0.031 0.292,0.244 0.625,0.417 0.952,0.598 0.18,0.101 0.153,0.29 -0.065,0.421 -0.718,0.423 -1.511,0.872 -2.268,1.19 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9980">
+              <path
+                 style="fill:#777777"
+                 id="path9982"
+                 d="m 55.251,125.559 -0.374,0.158 c -0.657,-0.124 -1.255,-0.443 -1.884,-0.658 l -0.022,-0.06 c -0.017,-0.084 0.011,-0.169 0.071,-0.248 l -0.458,0.149 c -0.613,-0.225 -1.218,-0.467 -1.77,-0.812 l -0.013,-0.062 0.089,-0.228 -0.088,0.051 1.292,-2.443 c 0.377,0.209 0.742,0.446 1.155,0.573 l 0.004,0.017 -0.084,0.241 0.357,-0.151 1.639,0.636 0.005,0.017 c 0.021,0.119 -0.029,0.248 -0.139,0.355 l 0.066,-0.06 0.379,-0.216 0.474,0.101 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9984"
+                 d="m 55.867,122.866 c -0.2,-0.047 -0.511,0.084 -0.689,0.252 -0.59,0.554 -1.227,1.095 -1.908,1.618 -0.206,0.157 -0.195,0.354 0.03,0.44 l 1.22,0.46 c 0.235,0.053 0.583,-0.054 0.772,-0.238 l 0.002,-0.002 0.664,-2.511 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9986"
+                 d="m 53.018,121.855 c -0.323,-0.114 -0.604,-0.324 -0.908,-0.479 l -1.214,2.296 c 0.739,-0.439 1.416,-0.847 2.105,-1.396 0.203,-0.159 0.208,-0.348 0.017,-0.421 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9988"
+                 d="m 53.021,124.641 c -0.207,0.156 -0.562,0.211 -0.786,0.124 -0.409,-0.15 -0.812,-0.312 -1.18,-0.543 -0.209,-0.117 -0.197,-0.314 0.024,-0.444 0.723,-0.42 1.419,-0.886 2.1,-1.434 0.203,-0.158 0.518,-0.229 0.709,-0.155 l 1.042,0.404 c 0.191,0.074 0.205,0.271 0.025,0.438 -0.599,0.552 -1.244,1.09 -1.934,1.61 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g9990">
+              <path
+                 style="fill:#777777"
+                 id="path9992"
+                 d="m 59.967,126.22 -0.328,0.219 -1.988,-0.122 -0.034,-0.056 c -0.035,-0.081 -0.027,-0.171 0.013,-0.26 l -0.407,0.225 -1.912,-0.413 -0.028,-0.056 0.035,-0.24 -0.075,0.073 0.707,-2.672 1.259,0.271 0.008,0.017 -0.027,0.255 0.309,-0.207 c 0.565,0.168 1.159,0.162 1.746,0.193 l 0.009,0.015 c 0.048,0.105 0.028,0.243 -0.055,0.38 l 0.051,-0.077 0.323,-0.301 0.485,0.026 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9994"
+                 d="m 59.965,123.451 c -0.206,-0.011 -0.479,0.154 -0.617,0.368 -0.455,0.711 -0.955,1.419 -1.5,2.121 -0.165,0.211 -0.109,0.394 0.13,0.407 l 1.297,0.071 c 0.24,0.013 0.554,-0.15 0.696,-0.364 l 0.002,-0.003 0.086,-2.596 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9996"
+                 d="m 56.959,123.101 -1.001,-0.215 -0.664,2.511 c 0.628,-0.611 1.209,-1.236 1.743,-1.869 0.16,-0.192 0.122,-0.383 -0.078,-0.427 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path9998"
+                 d="m 57.585,125.895 c -0.164,0.19 -0.493,0.303 -0.729,0.253 l -1.276,-0.276 c -0.235,-0.052 -0.269,-0.242 -0.081,-0.427 0.621,-0.614 1.196,-1.241 1.723,-1.877 0.16,-0.191 0.446,-0.311 0.646,-0.267 0.359,0.11 0.744,0.061 1.115,0.1 0.206,0.011 0.264,0.192 0.125,0.407 -0.461,0.696 -0.976,1.448 -1.523,2.087 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10000">
+              <path
+                 style="fill:#777777"
+                 id="path10002"
+                 d="m 64.469,126.298 -0.297,0.234 -1.813,-0.008 -0.038,-0.048 -0.025,-0.257 -0.334,0.304 c -0.567,0.009 -1.229,-0.029 -1.879,-0.062 l -0.04,-0.05 -0.019,-0.244 -0.057,0.085 0.092,-2.762 1.308,0.064 0.012,0.015 0.029,0.255 0.287,-0.268 1.944,0.007 0.011,0.014 c 0.061,0.104 0.046,0.242 -0.032,0.383 l 0.05,-0.08 0.332,-0.316 0.536,0.003 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10004"
+                 d="m 64.432,123.533 c -0.229,-0.001 -0.523,0.177 -0.657,0.397 l -1.288,2.194 c -0.125,0.221 -0.048,0.4 0.17,0.401 l 1.183,0.004 c 0.218,0.001 0.5,-0.177 0.632,-0.397 l 0.002,-0.003 0.062,-2.597 h -0.104 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10006"
+                 d="m 61.086,123.514 -1.027,-0.058 -0.086,2.596 c 0.475,-0.709 0.898,-1.418 1.287,-2.131 0.13,-0.224 0.031,-0.393 -0.174,-0.407 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10008"
+                 d="m 62.239,126.124 c -0.125,0.221 -0.4,0.398 -0.617,0.397 -0.376,0.007 -0.841,-0.03 -1.265,-0.047 -0.24,-0.012 -0.315,-0.195 -0.173,-0.409 0.475,-0.716 0.871,-1.41 1.282,-2.144 0.125,-0.221 0.414,-0.398 0.643,-0.397 l 1.24,0.004 c 0.229,10e-4 0.304,0.181 0.171,0.401 z"
+                 enable-background="new    " />
+            </g>
+          </g>
+          <path
+             style="fill:url(#radialGradient11899);fill-opacity:1;filter:url(#filter10844)"
+             id="path10010"
+             d="m 3.747,66.52 c -0.277,0 -0.377,-0.122 -0.378,-0.123 0.009,0.012 0.91,1.253 -1.322,8.323 -3.262,10.328 4.05,25.327 10.2,28.915 2.507,1.462 7.343,2.924 12.463,4.471 6.891,2.083 15.467,4.675 17.215,7.229 2.812,4.11 9.065,10.963 19.352,10.686 l 3.199,0.013 0.048,-2 -3.3,-0.013 c -9.34,0.253 -15.066,-6.041 -17.648,-9.814 -2.146,-3.137 -10.352,-5.616 -18.287,-8.015 -5.004,-1.513 -9.731,-2.941 -12.034,-4.284 C 7.767,98.706 1.1,84.361 3.955,75.322 5.663,69.909 6,66.604 4.983,65.216 4.51,64.57 3.918,64.52 3.748,64.52 Z" />
+          <g
+             id="g10012">
+            <path
+               style="fill:none"
+               id="path10014"
+               d="m 125.25,66.521 c 0.25,-4.5 0.75,-22 -2.25,-24 -3,-2 -24.5,6.75 -32,3.25 -7.5,-3.5 5,-35.75 0.5,-39.75 -4.5,-4 -12.166,-2.916 -25.75,-3" />
+            <g
+               id="g10016">
+              <path
+                 style="fill:#777777"
+                 id="path10018"
+                 d="m 126.672,62.105 0.229,0.304 -0.051,1.854 -0.049,0.037 -0.258,0.014 0.291,0.355 -0.081,1.82 -0.049,0.035 -0.244,0.012 0.085,0.057 -2.759,-0.153 0.062,-1.356 0.015,-0.011 0.256,-0.011 -0.258,-0.292 0.061,-1.86 0.015,-0.011 c 0.104,-0.056 0.243,-0.041 0.382,0.037 l -0.079,-0.049 -0.309,-0.325 0.011,-0.513 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10020"
+                 d="m 123.905,62.147 c -0.005,0.219 0.169,0.502 0.388,0.635 l 2.16,1.332 c 0.218,0.136 0.398,0.066 0.405,-0.156 l 0.035,-1.21 c 0.005,-0.223 -0.169,-0.512 -0.387,-0.645 l -0.003,-0.001 -2.597,-0.055 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10022"
+                 d="m 123.805,65.358 -0.053,1.079 2.594,0.144 -2.135,-1.372 c -0.216,-0.136 -0.398,-0.068 -0.406,0.149 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10024"
+                 d="m 126.445,64.366 c 0.216,0.136 0.384,0.428 0.375,0.65 l -0.054,1.215 c -0.012,0.224 -0.194,0.291 -0.408,0.149 l -2.14,-1.37 c -0.216,-0.135 -0.384,-0.421 -0.375,-0.639 l 0.036,-1.187 c 0.007,-0.218 0.188,-0.288 0.405,-0.156 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10026">
+              <path
+                 style="fill:#777777"
+                 id="path10028"
+                 d="m 126.704,57.625 0.236,0.297 -0.001,1.855 -0.048,0.039 -0.257,0.021 0.301,0.347 -0.026,1.813 -0.049,0.037 -0.243,0.02 0.087,0.053 -2.763,-0.058 0.022,-1.366 0.015,-0.011 0.255,-0.019 -0.267,-0.285 0.008,-1.862 0.015,-0.011 c 0.103,-0.059 0.241,-0.048 0.382,0.026 l -0.08,-0.047 -0.317,-0.315 -0.001,-0.513 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10030"
+                 d="m 123.939,57.746 c 0.001,0.218 0.18,0.497 0.401,0.623 l 2.2,1.271 c 0.219,0.13 0.399,0.055 0.401,-0.168 l -0.002,-1.211 c 0,-0.223 -0.18,-0.507 -0.401,-0.634 l -0.003,-0.001 -2.597,0.02 v 0.1 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10032"
+                 d="m 123.928,60.96 -0.021,1.088 2.597,0.055 -2.175,-1.305 c -0.22,-0.129 -0.399,-0.057 -0.401,0.162 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10034"
+                 d="m 126.538,59.892 c 0.22,0.13 0.396,0.417 0.394,0.64 l -0.018,1.209 c -0.004,0.223 -0.185,0.295 -0.403,0.163 l -2.18,-1.304 c -0.22,-0.129 -0.396,-0.41 -0.394,-0.629 l 0.004,-1.187 c 0,-0.219 0.179,-0.294 0.4,-0.168 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10036">
+              <path
+                 style="fill:#777777"
+                 id="path10038"
+                 d="m 126.587,53.134 0.25,0.289 0.063,1.862 -0.047,0.04 -0.256,0.029 0.312,0.338 0.029,1.817 -0.048,0.038 -0.242,0.027 0.087,0.05 -2.764,0.021 -0.02,-1.363 0.014,-0.011 0.255,-0.026 -0.273,-0.276 -0.055,-1.854 0.014,-0.011 c 0.102,-0.062 0.24,-0.057 0.384,0.013 l -0.082,-0.044 -0.326,-0.304 -0.024,-0.509 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10040"
+                 d="m 123.83,53.361 c 0.014,0.216 0.201,0.486 0.426,0.604 l 2.24,1.195 c 0.225,0.123 0.401,0.042 0.395,-0.182 l -0.04,-1.215 c -0.005,-0.224 -0.201,-0.502 -0.429,-0.621 l -0.003,-0.001 -2.595,0.121 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10042"
+                 d="m 123.924,56.562 0.016,1.085 2.597,-0.02 -2.215,-1.239 c -0.223,-0.122 -0.401,-0.044 -0.398,0.174 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10044"
+                 d="m 126.504,55.413 c 0.227,0.123 0.408,0.404 0.412,0.627 l 0.02,1.213 c 0.004,0.223 -0.175,0.301 -0.397,0.174 l -2.22,-1.237 c -0.224,-0.122 -0.407,-0.397 -0.41,-0.615 l -0.039,-1.181 c -0.007,-0.218 0.17,-0.299 0.395,-0.182 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10046">
+              <path
+                 style="fill:#777777"
+                 id="path10048"
+                 d="m 126.236,48.615 0.267,0.276 0.174,1.879 -0.045,0.043 -0.254,0.042 0.331,0.325 0.106,1.827 -0.046,0.041 -0.241,0.036 0.091,0.047 -2.761,0.129 -0.072,-1.353 0.014,-0.012 0.254,-0.038 -0.288,-0.261 -0.149,-1.829 0.013,-0.012 c 0.097,-0.067 0.235,-0.07 0.384,-0.011 l -0.085,-0.039 -0.349,-0.275 -0.057,-0.499 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10050"
+                 d="m 123.5,49.033 c 0.024,0.212 0.232,0.464 0.466,0.565 l 2.301,1.067 c 0.23,0.111 0.403,0.021 0.386,-0.204 l -0.11,-1.226 c -0.025,-0.227 -0.236,-0.496 -0.47,-0.6 l -0.003,-0.002 -2.58,0.302 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10052"
+                 d="m 123.768,52.186 0.057,1.077 2.595,-0.121 -2.261,-1.146 c -0.228,-0.112 -0.403,-0.027 -0.391,0.19 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10054"
+                 d="m 126.287,50.919 c 0.23,0.112 0.432,0.388 0.449,0.612 l 0.065,1.219 c 0.012,0.224 -0.163,0.31 -0.391,0.19 l -2.264,-1.143 c -0.227,-0.111 -0.43,-0.373 -0.445,-0.588 l -0.092,-1.167 c -0.018,-0.215 0.147,-0.304 0.383,-0.202 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10056">
+              <path
+                 style="fill:#777777"
+                 id="path10058"
+                 d="m 125.317,43.998 0.327,0.246 c 0.241,0.68 0.317,1.301 0.48,1.955 l -0.04,0.049 -0.248,0.069 0.354,0.299 0.265,1.856 -0.043,0.044 -0.238,0.054 0.093,0.042 -2.745,0.32 -0.176,-1.312 0.013,-0.013 0.249,-0.06 -0.309,-0.226 c -0.076,-0.602 -0.225,-1.148 -0.344,-1.716 l 0.012,-0.014 c 0.088,-0.079 0.225,-0.104 0.376,-0.07 l -0.088,-0.023 -0.383,-0.189 -0.138,-0.42 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10060"
+                 d="m 122.729,44.982 c 0.057,0.178 0.306,0.353 0.554,0.407 0.794,0.199 1.602,0.447 2.418,0.745 0.246,0.091 0.405,-0.021 0.354,-0.255 l -0.292,-1.268 c -0.077,-0.243 -0.349,-0.498 -0.602,-0.559 l -0.003,-10e-4 -2.455,0.849 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10062"
+                 d="m 123.355,47.89 0.134,1.047 2.58,-0.302 -2.344,-0.964 c -0.237,-0.087 -0.402,0.013 -0.37,0.219 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10064"
+                 d="m 125.751,46.392 c 0.238,0.091 0.461,0.353 0.497,0.581 l 0.179,1.239 c 0.025,0.227 -0.144,0.325 -0.377,0.222 l -2.354,-0.952 c -0.238,-0.088 -0.456,-0.323 -0.488,-0.53 l -0.229,-1.083 c -0.044,-0.197 0.114,-0.312 0.354,-0.25 0.794,0.208 1.614,0.468 2.418,0.773 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10066">
+              <path
+                 style="fill:#777777"
+                 id="path10068"
+                 d="m 120.752,40.991 0.315,-0.259 c 0.734,0.027 1.478,-0.07 2.633,0.48 l 0.037,0.068 c 0.029,0.092 -0.015,0.168 -0.104,0.231 0.18,-0.032 0.393,0.034 0.614,0.146 0.833,0.808 0.969,1.468 1.251,2.139 l -0.031,0.057 -0.22,0.107 0.101,0.025 -2.612,0.903 c -0.104,-0.416 -0.275,-0.649 -0.402,-0.942 l 0.009,-0.015 0.207,-0.153 c -0.111,-0.014 -0.222,0.062 -0.296,0.08 -0.152,-0.164 -0.014,-0.1 -0.639,-0.146 l -0.008,-0.015 c -0.04,-0.104 -0.027,-0.242 0.043,-0.382 l -0.043,0.079 -0.259,0.309 -0.43,0.013 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10070"
+                 d="m 121.011,43.741 c 0.207,-0.028 0.387,-0.17 0.511,-0.396 0.406,-0.732 0.783,-1.497 1.774,-1.871 0.295,-0.114 0.282,-0.321 -0.106,-0.467 -0.781,-0.309 -1.197,-0.231 -1.704,-0.265 -0.286,-0.015 -0.614,0.169 -0.722,0.413 l -0.002,0.003 0.159,2.593 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10072"
+                 d="m 122.386,44.139 c 0.113,0.207 0.234,0.437 0.317,0.763 l 2.455,-0.849 c -0.809,-0.213 -1.717,-0.331 -2.48,-0.226 -0.23,0.03 -0.356,0.181 -0.292,0.312 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10074"
+                 d="m 123.65,41.642 c 0.266,-0.059 0.757,0.161 1.012,0.466 0.334,0.489 0.55,0.955 0.744,1.413 0.081,0.242 -0.062,0.382 -0.314,0.322 -0.81,-0.207 -1.759,-0.277 -2.479,-0.154 -0.242,0.078 -0.428,0.173 -0.435,0.118 -0.14,-0.017 0.006,-0.029 -0.354,-0.057 -0.164,-10e-4 -0.217,-0.183 -0.098,-0.4 0.407,-0.751 0.857,-1.396 1.924,-1.708 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10076">
+              <path
+                 style="fill:#777777"
+                 id="path10078"
+                 d="m 116.187,41.714 0.247,-0.29 1.855,-0.352 0.047,0.041 0.065,0.249 0.301,-0.359 c 0.6,-0.117 1.263,-0.171 1.913,-0.234 l 0.044,0.043 0.042,0.24 0.049,-0.093 0.168,2.759 -1.253,0.132 -0.013,-0.013 -0.058,-0.249 -0.23,0.312 -1.787,0.317 -0.014,-0.012 c -0.077,-0.09 -0.093,-0.228 -0.047,-0.381 l -0.031,0.088 -0.245,0.373 -0.498,0.103 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10080"
+                 d="m 116.846,44.401 c 0.211,-0.043 0.447,-0.274 0.527,-0.517 l 0.847,-2.396 c 0.093,-0.239 -0.015,-0.403 -0.241,-0.365 l -1.209,0.23 c -0.221,0.046 -0.467,0.279 -0.548,0.521 l -10e-4,0.003 0.528,2.543 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10082"
+                 d="m 119.928,43.85 0.993,-0.099 -0.159,-2.593 c -0.403,0.775 -0.75,1.546 -1.042,2.311 -0.093,0.242 0.011,0.396 0.208,0.381 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10084"
+                 d="m 118.474,41.447 c 0.093,-0.239 0.354,-0.465 0.581,-0.503 l 1.284,-0.149 c 0.241,-0.023 0.333,0.147 0.213,0.381 -0.398,0.782 -0.729,1.533 -1.022,2.325 -0.091,0.239 -0.331,0.461 -0.539,0.496 l -1.138,0.198 c -0.211,0.043 -0.319,-0.117 -0.238,-0.359 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10086">
+              <path
+                 style="fill:#777777"
+                 id="path10088"
+                 d="m 111.822,42.69 0.235,-0.295 1.797,-0.412 0.048,0.038 0.079,0.246 0.269,-0.373 1.775,-0.387 0.048,0.038 0.074,0.232 0.032,-0.096 0.562,2.706 -1.33,0.285 -0.014,-0.011 -0.076,-0.245 -0.218,0.325 -1.822,0.413 -0.015,-0.011 c -0.081,-0.087 -0.101,-0.225 -0.059,-0.379 l -0.028,0.089 -0.24,0.38 -0.504,0.117 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10090"
+                 d="m 112.542,45.362 c 0.215,-0.05 0.449,-0.287 0.523,-0.531 l 0.746,-2.428 c 0.076,-0.243 -0.037,-0.401 -0.254,-0.353 l -1.172,0.269 c -0.216,0.05 -0.45,0.288 -0.525,0.532 l -0.001,0.003 0.585,2.53 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10092"
+                 d="m 115.69,44.646 1.059,-0.225 -0.528,-2.543 -0.779,2.413 c -0.077,0.245 0.036,0.403 0.248,0.355 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10094"
+                 d="m 114.057,42.349 c 0.076,-0.244 0.314,-0.481 0.532,-0.529 l 1.184,-0.26 c 0.22,-0.045 0.332,0.114 0.251,0.356 l -0.775,2.42 c -0.076,0.243 -0.311,0.479 -0.523,0.527 l -1.162,0.263 c -0.215,0.05 -0.328,-0.107 -0.254,-0.352 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10096">
+              <path
+                 style="fill:#777777"
+                 id="path10098"
+                 d="m 107.502,43.671 0.236,-0.292 1.782,-0.399 0.048,0.037 0.079,0.246 0.264,-0.373 1.748,-0.402 0.047,0.038 0.079,0.23 0.029,-0.097 0.622,2.693 -1.344,0.31 -0.015,-0.011 -0.077,-0.244 -0.218,0.326 -1.841,0.42 -0.014,-0.011 c -0.081,-0.088 -0.101,-0.226 -0.057,-0.38 l -0.029,0.089 -0.246,0.377 -0.511,0.111 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10100"
+                 d="m 108.191,46.351 c 0.218,-0.047 0.457,-0.282 0.534,-0.525 l 0.754,-2.427 c 0.075,-0.243 -0.038,-0.401 -0.253,-0.353 l -1.162,0.263 c -0.214,0.046 -0.448,0.28 -0.525,0.523 l -0.001,0.003 0.555,2.537 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10102"
+                 d="m 111.375,45.633 1.069,-0.248 -0.585,-2.53 -0.74,2.426 c -0.074,0.243 0.04,0.401 0.256,0.352 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10104"
+                 d="m 109.723,43.343 c 0.074,-0.243 0.309,-0.48 0.522,-0.529 l 1.166,-0.269 c 0.216,-0.05 0.329,0.107 0.255,0.352 l -0.742,2.429 c -0.074,0.244 -0.311,0.481 -0.526,0.531 l -1.174,0.268 c -0.216,0.05 -0.329,-0.108 -0.253,-0.353 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10106">
+              <path
+                 style="fill:#777777"
+                 id="path10108"
+                 d="m 103.193,44.543 0.244,-0.28 1.776,-0.349 0.047,0.039 0.072,0.247 0.271,-0.363 1.739,-0.372 0.047,0.039 0.075,0.231 0.03,-0.096 0.59,2.7 -1.358,0.294 -0.014,-0.011 -0.074,-0.245 -0.226,0.323 -1.87,0.367 -0.014,-0.012 c -0.079,-0.09 -0.093,-0.229 -0.044,-0.381 l -0.032,0.088 -0.26,0.373 -0.518,0.095 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10110"
+                 d="m 103.783,47.248 c 0.222,-0.036 0.469,-0.272 0.555,-0.513 l 0.825,-2.404 c 0.081,-0.241 -0.028,-0.402 -0.241,-0.36 l -1.159,0.228 c -0.214,0.043 -0.454,0.272 -0.539,0.507 l -0.001,0.003 0.459,2.557 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10112"
+                 d="m 107.01,46.607 1.083,-0.235 -0.555,-2.537 -0.777,2.417 c -0.08,0.243 0.031,0.402 0.249,0.355 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10114"
+                 d="m 105.406,44.283 c 0.08,-0.241 0.316,-0.468 0.53,-0.513 l 1.16,-0.252 c 0.214,-0.047 0.325,0.112 0.249,0.355 l -0.781,2.421 c -0.079,0.245 -0.324,0.475 -0.544,0.518 l -1.192,0.234 c -0.22,0.043 -0.328,-0.118 -0.243,-0.36 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10116">
+              <path
+                 style="fill:#777777"
+                 id="path10118"
+                 d="m 98.892,45.166 0.261,-0.269 1.767,-0.216 0.044,0.041 0.06,0.25 0.285,-0.355 1.735,-0.287 0.044,0.041 0.067,0.234 0.033,-0.094 0.488,2.72 -1.389,0.23 -0.013,-0.013 -0.062,-0.248 -0.244,0.313 -1.913,0.261 -0.013,-0.013 c -0.073,-0.095 -0.077,-0.234 -0.018,-0.384 l -0.039,0.086 -0.289,0.354 -0.53,0.064 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10120"
+                 d="m 99.272,47.904 c 0.227,-0.027 0.495,-0.24 0.599,-0.476 l 0.977,-2.336 c 0.092,-0.233 -0.008,-0.401 -0.22,-0.376 l -1.152,0.141 c -0.212,0.026 -0.464,0.237 -0.565,0.473 l -0.002,0.003 0.262,2.584 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10122"
+                 d="m 102.575,47.448 1.106,-0.184 -0.459,-2.557 -0.881,2.373 c -0.092,0.24 0.012,0.405 0.234,0.368 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10124"
+                 d="m 101.09,45.059 c 0.092,-0.239 0.337,-0.461 0.55,-0.496 l 1.157,-0.191 c 0.213,-0.036 0.318,0.129 0.233,0.366 l -0.889,2.377 c -0.093,0.239 -0.35,0.464 -0.572,0.5 l -1.224,0.159 c -0.226,0.027 -0.324,-0.141 -0.221,-0.376 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10126">
+              <path
+                 style="fill:#777777"
+                 id="path10128"
+                 d="m 94.667,45.296 0.289,-0.229 1.71,0.019 0.037,0.046 0.03,0.255 0.314,-0.324 1.712,-0.116 0.041,0.043 0.048,0.238 0.04,-0.093 0.277,2.75 -1.433,0.106 -0.013,-0.014 -0.038,-0.253 -0.28,0.287 c -0.647,0.06 -1.315,0.058 -1.989,0.032 L 95.4,48.028 c -0.062,-0.104 -0.044,-0.243 0.038,-0.382 l -0.052,0.079 -0.351,0.309 -0.555,-0.014 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10130"
+                 d="m 94.588,48.057 c 0.237,0.006 0.549,-0.165 0.688,-0.384 0.47,-0.727 0.891,-1.439 1.273,-2.18 0.117,-0.231 0.036,-0.396 -0.17,-0.396 l -1.111,-0.025 c -0.204,-0.004 -0.476,0.17 -0.611,0.388 l -0.002,0.003 -0.175,2.592 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10132"
+                 d="m 98.028,48.006 1.142,-0.089 -0.262,-2.584 -1.082,2.284 c -0.117,0.23 -0.028,0.404 0.202,0.389 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10134"
+                 d="m 96.79,45.479 c 0.116,-0.229 0.376,-0.425 0.586,-0.438 l 1.141,-0.07 c 0.21,-0.015 0.302,0.146 0.199,0.384 L 97.62,47.63 c -0.118,0.229 -0.404,0.426 -0.635,0.44 l -1.272,0.013 c -0.237,-0.005 -0.312,-0.186 -0.174,-0.404 0.463,-0.734 0.87,-1.425 1.251,-2.2 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10136">
+              <path
+                 style="fill:#777777"
+                 id="path10138"
+                 d="m 91.211,44.302 0.258,-0.079 c 0.093,0.3 0.835,0.332 1.216,0.529 l 0.018,0.057 -0.047,0.255 0.35,-0.223 1.573,0.219 0.031,0.048 0.006,0.242 0.054,-0.086 -0.187,2.757 c -0.495,-0.024 -1.012,-0.128 -1.516,-0.192 l -0.01,-0.016 c -0.033,-0.077 -0.022,-0.166 0.02,-0.255 l -0.36,0.219 c -0.688,-0.091 -1.416,-0.416 -2.115,-0.634 l -0.006,-0.018 c -0.024,-0.117 0.048,-0.238 0.187,-0.339 l -0.084,0.056 c -0.13,0.106 -0.311,0.089 -0.503,0.053 l -0.603,-0.469 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10140"
+                 d="m 89.588,46.546 c 0.259,0.211 0.688,0.302 0.915,0.198 0.769,-0.48 1.43,-1.059 1.972,-1.642 0.161,-0.178 0.146,-0.373 -0.021,-0.43 -0.279,-0.114 -0.664,-0.173 -0.865,-0.317 -0.072,-0.092 -0.274,-0.042 -0.481,0.075 l -0.003,0.002 -1.633,2.02 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10142"
+                 d="m 93.271,47.906 c 0.402,0.049 0.816,0.137 1.209,0.148 l 0.175,-2.592 c -0.442,0.715 -0.932,1.355 -1.507,2.021 -0.172,0.2 -0.123,0.388 0.123,0.423 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10144"
+                 d="m 92.677,45.172 c 0.146,-0.162 0.439,-0.32 0.629,-0.29 l 1.047,0.151 c 0.189,0.032 0.252,0.206 0.116,0.421 -0.438,0.674 -0.951,1.344 -1.535,1.999 -0.175,0.193 -0.52,0.338 -0.769,0.278 l -1.361,-0.448 c -0.251,-0.087 -0.259,-0.279 -0.031,-0.434 0.748,-0.515 1.385,-1.084 1.904,-1.677 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10146">
+              <path
+                 style="fill:#777777"
+                 id="path10148"
+                 d="m 89.939,41.178 0.283,0.22 c 0.123,0.495 0.16,1.078 0.334,1.506 l -0.032,0.04 -0.232,0.104 0.397,0.109 c 0.186,0.374 0.328,0.843 0.624,0.927 l -0.016,0.048 -0.146,0.194 0.078,-0.048 -1.738,2.148 C 88.927,46.001 88.478,45.53 88.284,44.985 l 0.006,-0.02 0.209,-0.152 C 88.367,44.787 88.228,44.716 88.103,44.62 87.678,43.883 87.524,43.18 87.415,42.486 l 0.011,-0.016 c 0.088,-0.087 0.227,-0.101 0.381,-0.048 l -0.089,-0.035 c -0.138,-0.055 -0.272,-0.162 -0.38,-0.293 l -0.109,-0.579 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10150"
+                 d="m 87.216,41.631 c 0.047,0.249 0.284,0.536 0.528,0.63 0.816,0.312 1.588,0.562 2.386,0.684 0.265,0.009 0.379,-0.075 0.34,-0.251 l -0.19,-1.013 c -0.036,-0.185 -0.262,-0.395 -0.504,-0.48 l -0.003,-0.002 -2.577,0.32 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10152"
+                 d="m 88.423,45.322 c 0.141,0.438 0.658,0.773 1.049,1.13 l 1.633,-2.02 c -0.667,0.413 -1.647,0.606 -2.44,0.488 -0.262,-0.024 -0.376,0.147 -0.242,0.402 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10154"
+                 d="m 90.222,43.119 c 0.255,0.014 0.51,0.117 0.574,0.256 0.125,0.24 0.198,0.586 0.412,0.631 0.09,0.061 0.01,0.23 -0.2,0.345 -0.762,0.42 -1.623,0.472 -2.453,0.354 -0.262,-0.027 -0.584,-0.277 -0.706,-0.538 -0.269,-0.477 -0.307,-0.913 -0.404,-1.361 -0.05,-0.248 0.109,-0.366 0.353,-0.274 0.834,0.275 1.532,0.572 2.424,0.587 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10156">
+              <path
+                 style="fill:#777777"
+                 id="path10158"
+                 d="m 89.903,36.972 0.22,0.297 c -0.016,0.583 -0.1,1.188 -0.061,1.751 l -0.047,0.036 -0.256,0.022 0.318,0.315 0.074,1.66 -0.041,0.037 -0.236,0.05 0.096,0.033 -2.742,0.341 c -0.084,-0.51 -0.061,-0.987 -0.094,-1.482 l 0.014,-0.013 0.254,-0.036 -0.281,-0.291 c -0.041,-0.675 -0.048,-1.338 0.008,-1.98 l 0.015,-0.011 c 0.105,-0.059 0.244,-0.041 0.381,0.042 l -0.078,-0.052 -0.299,-0.343 0.029,-0.537 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10160"
+                 d="m 87.138,36.914 c -0.013,0.229 0.15,0.53 0.364,0.669 0.721,0.461 1.397,0.908 2.155,1.312 0.226,0.12 0.401,0.048 0.393,-0.156 l 0.056,-1.147 C 90.118,37.38 89.953,37.101 89.739,36.964 L 89.737,36.962 87.144,36.81 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10162"
+                 d="m 87.113,40.334 c 0.03,0.396 0.003,0.773 0.082,1.185 l 2.577,-0.32 c -0.798,-0.29 -1.505,-0.669 -2.267,-1.067 -0.226,-0.123 -0.401,-0.035 -0.392,0.202 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10164"
+                 d="m 89.667,39.132 c 0.226,0.119 0.416,0.377 0.424,0.581 l 0.042,1.112 c 0.001,0.207 -0.147,0.284 -0.393,0.198 C 88.996,40.7 88.247,40.333 87.497,39.92 87.27,39.797 87.08,39.501 87.071,39.264 l 0.009,-1.263 c 0.012,-0.229 0.194,-0.301 0.408,-0.162 0.708,0.457 1.412,0.901 2.179,1.293 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10166">
+              <path
+                 style="fill:#777777"
+                 id="path10168"
+                 d="m 90.338,32.648 0.191,0.32 -0.202,1.784 -0.051,0.032 -0.258,-0.005 0.265,0.363 -0.14,1.733 -0.05,0.033 -0.243,0.01 0.085,0.054 -2.759,-0.162 0.094,-1.423 0.016,-0.01 0.257,10e-4 -0.236,-0.313 0.216,-1.909 0.016,-0.01 c 0.108,-0.048 0.245,-0.019 0.376,0.075 l -0.074,-0.059 -0.276,-0.363 0.067,-0.522 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10170"
+                 d="m 87.583,32.374 c -0.035,0.221 0.116,0.533 0.319,0.688 l 2.042,1.518 c 0.206,0.148 0.393,0.093 0.416,-0.121 l 0.132,-1.164 c 0.022,-0.214 -0.122,-0.512 -0.318,-0.667 l -0.003,-0.002 -2.573,-0.353 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10172"
+                 d="m 87.205,35.671 -0.062,1.139 2.593,0.152 -2.113,-1.428 c -0.206,-0.148 -0.393,-0.088 -0.418,0.137 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10174"
+                 d="m 89.917,34.824 c 0.205,0.147 0.353,0.439 0.328,0.653 l -0.089,1.155 c -0.011,0.212 -0.193,0.274 -0.407,0.137 L 87.645,35.332 C 87.44,35.183 87.293,34.879 87.319,34.654 l 0.138,-1.218 c 0.025,-0.225 0.212,-0.278 0.416,-0.122 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10176">
+              <path
+                 style="fill:#777777"
+                 id="path10178"
+                 d="m 91.024,28.3 0.182,0.329 -0.295,1.796 -0.053,0.029 -0.257,-0.018 0.25,0.381 -0.265,1.753 -0.053,0.03 -0.244,-0.009 0.079,0.061 -2.738,-0.374 0.209,-1.381 0.016,-0.009 0.256,0.016 -0.224,-0.325 0.295,-1.878 0.016,-0.009 c 0.111,-0.042 0.247,-0.007 0.373,0.091 l -0.071,-0.06 -0.258,-0.369 0.09,-0.514 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10180"
+                 d="m 88.281,27.934 c -0.038,0.22 0.09,0.529 0.286,0.691 l 1.968,1.606 c 0.199,0.159 0.388,0.113 0.42,-0.102 l 0.193,-1.172 c 0.037,-0.216 -0.091,-0.521 -0.287,-0.684 l -0.003,-0.003 -2.56,-0.438 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10182"
+                 d="m 87.764,31.174 -0.166,1.1 2.573,0.353 -1.986,-1.563 c -0.2,-0.161 -0.388,-0.112 -0.421,0.11 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10184"
+                 d="m 90.498,30.476 c 0.2,0.159 0.335,0.462 0.303,0.677 l -0.177,1.17 c -0.032,0.215 -0.221,0.265 -0.421,0.109 l -1.988,-1.568 c -0.199,-0.16 -0.333,-0.47 -0.3,-0.69 l 0.186,-1.198 c 0.038,-0.22 0.228,-0.265 0.424,-0.103 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10186">
+              <path
+                 style="fill:#777777"
+                 id="path10188"
+                 d="m 91.805,23.94 0.178,0.333 -0.331,1.804 -0.054,0.029 -0.257,-0.024 0.239,0.39 -0.305,1.758 -0.054,0.028 -0.243,-0.017 0.077,0.064 -2.724,-0.466 0.237,-1.367 0.016,-0.009 0.255,0.022 -0.216,-0.328 0.337,-1.854 0.016,-0.009 c 0.112,-0.04 0.247,-0.004 0.372,0.096 l -0.07,-0.062 -0.254,-0.371 0.094,-0.511 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10190"
+                 d="m 89.067,23.54 c -0.04,0.218 0.085,0.528 0.279,0.693 l 1.935,1.642 c 0.195,0.164 0.385,0.122 0.425,-0.095 l 0.216,-1.177 c 0.04,-0.217 -0.086,-0.525 -0.279,-0.691 L 91.64,23.91 89.085,23.441 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10192"
+                 d="m 88.487,26.745 -0.188,1.089 2.56,0.438 -1.947,-1.624 c -0.197,-0.166 -0.387,-0.122 -0.425,0.097 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10194"
+                 d="m 91.236,26.12 c 0.193,0.164 0.323,0.472 0.285,0.688 l -0.203,1.173 c -0.038,0.216 -0.228,0.26 -0.423,0.098 L 88.945,26.45 C 88.749,26.286 88.621,25.973 88.66,25.756 l 0.217,-1.182 c 0.04,-0.217 0.229,-0.26 0.425,-0.094 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10196">
+              <path
+                 style="fill:#777777"
+                 id="path10198"
+                 d="m 92.604,19.561 0.179,0.333 -0.33,1.813 -0.054,0.029 -0.257,-0.024 0.238,0.392 -0.323,1.769 -0.054,0.027 -0.243,-0.02 0.077,0.065 -2.719,-0.499 0.249,-1.356 0.016,-0.009 0.255,0.025 -0.214,-0.328 0.336,-1.844 0.016,-0.008 c 0.112,-0.04 0.247,-0.005 0.372,0.094 l -0.071,-0.061 -0.254,-0.369 0.091,-0.507 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10200"
+                 d="m 89.864,19.177 c -0.04,0.217 0.086,0.524 0.28,0.688 l 1.938,1.639 c 0.194,0.165 0.384,0.122 0.424,-0.096 l 0.215,-1.183 C 92.76,20.007 92.637,19.698 92.44,19.533 l -0.003,-0.002 -2.558,-0.452 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10202"
+                 d="m 89.284,22.359 -0.199,1.082 2.555,0.469 -1.933,-1.644 c -0.194,-0.164 -0.384,-0.122 -0.423,0.093 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10204"
+                 d="m 92.038,21.75 c 0.194,0.165 0.319,0.476 0.28,0.693 l -0.217,1.18 c -0.039,0.217 -0.229,0.259 -0.424,0.094 l -1.935,-1.646 c -0.194,-0.165 -0.32,-0.474 -0.281,-0.69 l 0.215,-1.175 c 0.039,-0.216 0.229,-0.259 0.424,-0.095 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10206">
+              <path
+                 style="fill:#777777"
+                 id="path10208"
+                 d="m 93.309,15.123 0.191,0.33 -0.278,1.846 -0.054,0.03 -0.257,-0.019 0.243,0.389 -0.301,1.789 -0.053,0.03 -0.242,-0.018 0.077,0.065 -2.722,-0.48 0.227,-1.347 0.016,-0.009 0.256,0.021 -0.219,-0.322 0.293,-1.833 0.016,-0.009 c 0.11,-0.042 0.246,-0.011 0.375,0.083 l -0.073,-0.058 -0.271,-0.356 0.07,-0.503 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10210"
+                 d="m 90.556,14.845 c -0.03,0.214 0.109,0.513 0.311,0.67 l 1.983,1.588 c 0.196,0.162 0.386,0.115 0.423,-0.104 l 0.181,-1.205 c 0.03,-0.223 -0.107,-0.533 -0.309,-0.691 L 93.142,15.1 90.57,14.747 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10212"
+                 d="m 90.061,18.007 -0.181,1.072 2.558,0.452 -1.955,-1.623 c -0.197,-0.161 -0.386,-0.117 -0.422,0.099 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10214"
+                 d="m 92.808,17.351 c 0.196,0.162 0.326,0.472 0.289,0.691 l -0.2,1.193 c -0.037,0.22 -0.227,0.265 -0.423,0.1 l -1.958,-1.623 c -0.197,-0.161 -0.327,-0.466 -0.291,-0.681 l 0.19,-1.169 c 0.029,-0.214 0.217,-0.262 0.418,-0.104 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10216">
+              <path
+                 style="fill:#777777"
+                 id="path10218"
+                 d="m 93.744,10.562 0.236,0.327 -0.156,1.908 -0.051,0.035 -0.258,-0.002 0.273,0.384 -0.232,1.826 -0.053,0.031 -0.243,-0.008 0.079,0.062 -2.737,-0.375 0.185,-1.339 0.016,-0.009 0.257,0.009 -0.238,-0.306 0.152,-1.798 0.016,-0.01 c 0.107,-0.051 0.245,-0.032 0.38,0.049 l -0.076,-0.051 -0.29,-0.324 0.01,-0.48 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10220"
+                 d="m 90.98,10.584 c 0.014,0.195 0.159,0.479 0.371,0.613 l 2.086,1.426 c 0.209,0.151 0.394,0.091 0.413,-0.139 l 0.105,-1.243 c 0.028,-0.225 -0.153,-0.54 -0.377,-0.682 l -0.003,-0.002 -2.597,-0.065 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10222"
+                 d="m 90.717,13.682 -0.147,1.065 2.572,0.353 -2.005,-1.534 c -0.203,-0.151 -0.391,-0.098 -0.42,0.116 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10224"
+                 d="m 93.416,12.879 c 0.209,0.152 0.361,0.464 0.342,0.692 l -0.165,1.213 c -0.031,0.223 -0.22,0.274 -0.421,0.117 L 91.163,13.37 C 90.962,13.22 90.801,12.932 90.82,12.721 l 0.098,-1.146 c 0.018,-0.21 0.202,-0.272 0.413,-0.136 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10226">
+              <path
+                 style="fill:#777777"
+                 id="path10228"
+                 d="m 92.586,5.412 c 0.141,0.037 0.297,0.121 0.443,0.239 0.658,0.903 0.665,1.602 0.819,2.34 L 93.81,8.045 c -0.062,0.062 -0.149,0.079 -0.249,0.064 0.141,0.079 0.273,0.213 0.373,0.366 0.053,0.679 0.029,1.312 0.043,1.97 l -0.047,0.04 -0.242,0.021 0.088,0.056 -2.764,-0.069 -0.01,-1.259 0.014,-0.011 0.255,-0.035 -0.27,-0.244 C 90.917,8.456 90.838,7.93 90.732,7.533 l 0.01,-0.008 C 90.82,7.468 90.949,7.412 91.107,7.396 L 91.016,7.405 90.639,7.424 90.553,7.238 Z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10230"
+                 d="m 90.542,7.3 c 0.021,0.079 0.235,0.067 0.484,0.039 0.85,-0.1 1.562,0.249 2.399,0.562 C 93.669,8.009 93.831,7.895 93.78,7.627 93.637,7.125 93.714,6.722 93.311,6.118 93.133,5.801 92.729,5.52 92.463,5.524 H 92.459 L 90.53,7.261 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10232"
+                 d="m 90.971,9.492 0.009,1 2.597,0.065 C 92.842,10.089 92.103,9.676 91.37,9.318 91.147,9.211 90.97,9.292 90.971,9.492 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10234"
+                 d="m 93.479,8.188 c 0.24,0.109 0.501,0.447 0.483,0.676 l 0.014,1.306 c 0.002,0.241 -0.177,0.317 -0.398,0.178 C 92.842,9.888 92.102,9.483 91.369,9.133 91.153,9.022 90.971,8.779 90.92,8.628 L 90.757,7.713 c -0.015,-0.184 0.102,-0.231 0.358,-0.26 0.748,0.11 1.549,0.352 2.364,0.735 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10236">
+              <path
+                 style="fill:#777777"
+                 id="path10238"
+                 d="m 88.271,2.829 0.385,-0.1 c 0.636,0.273 1.299,0.472 1.903,0.824 l 0.014,0.066 c 0.005,0.09 -0.035,0.171 -0.105,0.238 0.14,-0.056 0.312,-0.068 0.479,-0.043 0.575,0.435 1.142,0.693 1.709,1.293 l 10e-4,0.082 c -0.013,0.097 -0.071,0.16 -0.153,0.197 l 0.107,0.003 -2.055,1.848 C 90.563,7.04 90,6.814 89.756,6.598 l 0.001,-0.018 0.13,-0.22 -0.35,0.084 C 89.136,6.098 88.632,5.888 88.109,5.705 L 88.105,5.688 C 88.096,5.574 88.158,5.449 88.276,5.344 l -0.071,0.059 -0.38,0.188 -0.42,-0.171 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10240"
+                 d="M 87.476,5.485 C 87.653,5.557 87.944,5.482 88.135,5.32 88.763,4.79 89.478,4.259 90.24,3.819 90.461,3.715 90.489,3.481 90.26,3.38 L 89.008,2.869 C 88.776,2.776 88.419,2.828 88.221,2.986 l -0.003,0.002 -0.823,2.464 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10242"
+                 d="m 89.931,6.758 c 0.182,0.169 0.675,0.354 0.6,0.503 L 92.462,5.525 C 91.617,5.497 90.772,6.033 90.048,6.353 89.827,6.47 89.779,6.654 89.931,6.758 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10244"
+                 d="m 90.471,3.976 c 0.227,-0.112 0.592,-0.081 0.804,0.065 l 1.139,0.799 c 0.214,0.178 0.148,0.466 -0.115,0.45 -0.865,0.19 -1.678,0.587 -2.396,0.963 -0.219,0.117 -0.51,0.133 -0.659,0.025 -0.25,-0.226 -0.6,-0.32 -0.92,-0.452 -0.177,-0.07 -0.172,-0.261 0.021,-0.422 0.634,-0.503 1.392,-1.098 2.126,-1.428 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10246">
+              <path
+                 style="fill:#777777"
+                 id="path10248"
+                 d="m 83.648,1.938 0.331,-0.203 c 0.637,0.062 1.271,0.104 1.924,0.271 l 0.032,0.055 c 0.031,0.08 0.02,0.17 -0.024,0.258 l 0.418,-0.223 c 0.633,0.159 1.269,0.22 1.897,0.466 L 88.251,2.623 88.2,2.863 88.28,2.801 87.405,5.42 C 87.053,5.234 86.606,5.202 86.201,5.101 L 86.194,5.085 86.233,4.832 85.916,5.04 C 85.347,4.933 84.808,4.761 84.195,4.734 L 84.187,4.72 C 84.144,4.613 84.171,4.476 84.262,4.343 L 84.206,4.418 83.862,4.702 83.369,4.655 Z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10250"
+                 d="M 83.461,4.697 C 83.67,4.718 83.959,4.565 84.109,4.358 84.611,3.662 85.126,2.979 85.691,2.368 85.863,2.18 85.817,1.986 85.583,1.937 85.157,1.827 84.746,1.815 84.329,1.768 84.1,1.746 83.786,1.895 83.633,2.102 l -0.002,0.002 -0.265,2.584 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10252"
+                 d="m 86.445,5.187 c 0.329,0.068 0.668,0.121 0.949,0.266 l 0.823,-2.464 c -0.653,0.494 -1.265,1.159 -1.828,1.777 -0.168,0.19 -0.141,0.379 0.056,0.421 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10254"
+                 d="m 85.951,2.424 c 0.173,-0.189 0.508,-0.302 0.742,-0.251 l 1.267,0.283 c 0.233,0.091 0.254,0.291 0.057,0.45 -0.646,0.531 -1.257,1.206 -1.811,1.82 -0.169,0.19 -0.46,0.312 -0.657,0.27 C 85.184,4.933 84.848,4.808 84.458,4.793 84.249,4.773 84.199,4.589 84.35,4.382 84.857,3.674 85.371,3.052 85.951,2.424 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10256">
+              <path
+                 style="fill:#777777"
+                 id="path10258"
+                 d="m 79.102,1.699 0.306,-0.227 1.876,0.057 0.036,0.049 0.012,0.257 0.362,-0.293 c 0.607,0.002 1.242,0.103 1.861,0.15 L 83.589,1.744 83.591,1.988 83.652,1.906 83.37,4.655 82.058,4.527 82.048,4.511 82.042,4.254 81.75,4.511 79.911,4.456 79.9,4.441 C 79.844,4.337 79.859,4.198 79.937,4.059 L 79.888,4.138 79.567,4.445 79.06,4.43 Z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10260"
+                 d="m 79.158,4.467 c 0.216,0.007 0.496,-0.164 0.627,-0.382 l 1.344,-2.16 C 81.269,1.708 81.199,1.527 80.974,1.52 L 79.75,1.483 C 79.524,1.476 79.233,1.647 79.101,1.864 L 79.1,1.867 79.061,4.464 Z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10262"
+                 d="m 82.322,4.587 1.044,0.102 0.265,-2.584 -1.443,2.067 c -0.137,0.209 -0.075,0.394 0.134,0.415 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10264"
+                 d="m 81.383,1.933 c 0.14,-0.217 0.437,-0.387 0.662,-0.38 l 1.245,0.114 c 0.23,0.022 0.29,0.208 0.138,0.415 L 81.995,4.153 C 81.858,4.366 81.571,4.539 81.356,4.532 L 80.184,4.497 C 79.968,4.491 79.899,4.309 80.03,4.093 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10266">
+              <path
+                 style="fill:#777777"
+                 id="path10268"
+                 d="M 74.626,1.699 74.919,1.462 76.771,1.457 76.81,1.505 76.832,1.762 77.176,1.456 78.99,1.461 79.027,1.51 79.049,1.753 79.102,1.667 79.06,4.431 77.698,4.421 77.687,4.407 77.666,4.151 77.383,4.422 75.518,4.427 75.506,4.413 C 75.446,4.31 75.457,4.171 75.53,4.03 L 75.484,4.11 75.169,4.427 74.653,4.43 Z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10270"
+                 d="m 74.754,4.464 c 0.221,-0.003 0.498,-0.181 0.624,-0.403 l 1.259,-2.203 c 0.128,-0.222 0.052,-0.4 -0.171,-0.399 l -1.208,0.003 c -0.223,0.001 -0.504,0.181 -0.629,0.404 l -0.001,0.002 0.025,2.598 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10272"
+                 d="m 77.977,4.454 1.084,0.01 0.039,-2.597 -1.289,2.188 c -0.127,0.22 -0.053,0.399 0.166,0.399 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10274"
+                 d="m 76.888,1.856 c 0.128,-0.221 0.412,-0.4 0.635,-0.401 l 1.208,-0.002 c 0.226,0.007 0.3,0.188 0.168,0.405 l -1.286,2.196 c -0.128,0.222 -0.408,0.401 -0.627,0.401 l -1.19,0.005 c -0.219,0 -0.295,-0.179 -0.17,-0.399 z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10276">
+              <path
+                 style="fill:#777777"
+                 id="path10278"
+                 d="m 70.185,1.745 0.292,-0.235 1.836,-0.02 0.039,0.047 0.024,0.257 0.339,-0.308 1.796,-0.021 0.038,0.048 0.027,0.242 0.05,-0.088 L 74.653,4.43 73.274,4.446 73.262,4.432 73.238,4.177 72.957,4.45 71.076,4.471 71.065,4.457 C 71.004,4.354 71.014,4.215 71.088,4.073 l -0.047,0.081 -0.316,0.32 -0.52,0.002 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10280"
+                 d="M 70.307,4.51 C 70.53,4.511 70.81,4.328 70.935,4.106 l 1.248,-2.214 c 0.126,-0.222 0.049,-0.4 -0.172,-0.398 l -1.198,0.014 c -0.221,0.003 -0.5,0.183 -0.625,0.403 l -0.002,0.003 0.021,2.598 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10282"
+                 d="M 73.556,4.477 74.654,4.465 74.629,1.867 73.384,4.079 c -0.127,0.222 -0.049,0.4 0.172,0.398 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10284"
+                 d="m 72.433,1.889 c 0.125,-0.222 0.405,-0.404 0.626,-0.406 l 1.198,-0.014 c 0.221,-0.002 0.298,0.176 0.173,0.398 L 73.183,4.081 C 73.058,4.304 72.778,4.485 72.557,4.488 L 71.358,4.501 C 71.137,4.504 71.06,4.325 71.185,4.103 Z"
+                 enable-background="new    " />
+            </g>
+            <g
+               id="g10286">
+              <path
+                 style="fill:#777777"
+                 id="path10288"
+                 d="m 65.758,1.756 0.296,-0.235 1.828,-0.005 0.038,0.048 0.022,0.257 0.34,-0.306 1.788,-0.004 0.038,0.048 0.026,0.242 0.05,-0.088 0.021,2.764 L 68.821,4.48 68.81,4.466 68.788,4.211 68.503,4.481 66.614,4.486 66.603,4.471 C 66.543,4.368 66.555,4.23 66.631,4.089 l -0.048,0.08 -0.321,0.317 -0.521,0.001 z" />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10290"
+                 d="M 65.842,4.521 C 66.064,4.52 66.348,4.341 66.477,4.12 l 1.272,-2.203 c 0.127,-0.221 0.052,-0.4 -0.168,-0.399 L 66.388,1.52 c -0.219,0 -0.501,0.18 -0.629,0.401 l -0.002,0.003 -0.016,2.597 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10292"
+                 d="m 69.103,4.513 1.104,-0.002 -0.021,-2.598 -1.254,2.2 c -0.127,0.222 -0.051,0.401 0.171,0.4 z"
+                 enable-background="new    " />
+              <path
+                 style="fill:#c4c4c4"
+                 id="path10294"
+                 d="m 67.998,1.916 c 0.127,-0.222 0.407,-0.401 0.627,-0.402 l 1.192,-0.002 c 0.22,-0.001 0.296,0.178 0.171,0.399 l -1.257,2.203 c -0.127,0.221 -0.41,0.4 -0.632,0.401 l -1.204,0.003 c -0.222,0 -0.297,-0.179 -0.169,-0.4 z"
+                 enable-background="new    " />
+            </g>
+          </g>
+          <path
+             id="path10296"
+             d="m 76.96875,1.4651786 c -1.06899,0.00568 -2.192625,0.017375 -3.375,0.03125 L 66.25,1.5276786 v 1.59375 l 6.15625,-0.03125 c 8.276625,-0.097125 13.661223,-0.152698 17.5,2.15625 0.276901,0.156089 0.526792,0.347782 0.78125,0.53125 0.007,0.0051 0.02428,-0.00512 0.03125,0 0.217259,0.157653 0.423449,0.320816 0.625,0.5 0.01618,0.013888 0.01514,0.048494 0.03125,0.0625 0.0282,0.024511 0.06574,0.037627 0.09375,0.0625 2.307,2.051 1.320998,8.1872504 -0.5,18.0312504 -1.534927,8.296448 -3.448405,18.463638 -0.875,21.09375 0.04624,0.04726 0.1071,0.08268 0.15625,0.125 0.08756,0.072 0.187528,0.154471 0.28125,0.21875 0.06106,0.03684 0.122606,0.06347 0.1875,0.09375 4.054,1.893 13.05325,-0.16575 20.28125,-1.84375 6.73,-1.563 10.30275,-2.3395 11.84375,-1.3125 0.0579,0.03858 0.10055,0.110037 0.15625,0.15625 0.0844,0.07171 0.20237,0.131306 0.28125,0.25 2.88935,3.235262 2.58543,17.29136 2.34375,22.8125 l 1.125,0.0625 c 0.207,-3.719001 1.0535,-22.381 -2.6875,-24.875 -1.541,-1.027 -5.145,-0.28175 -11.875,1.28125 -7.228,1.677999 -16.196,3.768 -20.25,1.875 -3.461003,-1.615 -1.42525,-12.6765 0.21875,-21.5625 1.821001,-9.843999 2.807,-15.9802504 0.5,-18.0312504 -3.41775,-3.034499 -8.204568,-3.352271 -15.6875,-3.3125 z"
+             style="opacity:0.736986;fill:#ffffff;fill-opacity:1;filter:url(#filter4142)" />
+          <path
+             d="m 73.093,1.982 -7.337,0.038 -0.012,2 7.372,-0.038 c 8.977,-0.106 14.395,-0.17 17.72,2.786 1.581,1.405 0.066,9.594 -1.151,16.173 -1.952,10.554 -3.971,21.466 0.893,23.735 4.68,2.185 13.655,0.1 21.575,-1.737 3.967,-0.921 9.399,-2.183 10.293,-1.587 1.782,1.188 2.373,12.91 1.807,23.112 l 1.996,0.111 c 0.207,-3.719 1.048,-22.394 -2.693,-24.888 -1.541,-1.027 -5.124,-0.26 -11.854,1.303 -7.228,1.678 -16.223,3.766 -20.277,1.873 C 87.964,43.248 90.01,32.189 91.654,23.303 93.475,13.459 94.474,7.323 92.167,5.272 88.261,1.804 82.552,1.871 73.093,1.982 Z"
+             id="path10298"
+             style="fill:url(#radialGradient11901);fill-opacity:1" />
+          <rect
+             x="122.667"
+             y="60.334"
+             width="4"
+             height="6"
+             id="rect10300"
+             style="fill:url(#linearGradient11903);fill-opacity:1" />
+          <g
+             id="g10302">
+            <path
+               d="m 62.333,2.771 c 0,0 -7.667,2.667 -22.667,0.334 -15,-2.334 -5.667,19.666 -11.667,30 C 22,43.438 3.333,49.437 3.333,61.771"
+               id="path10304"
+               style="fill:none" />
+            <g
+               id="g10306">
+              <path
+                 d="m 57.798,2.386 0.252,-0.27 1.74,-0.28 0.045,0.04 0.07,0.248 0.261,-0.359 C 60.721,1.67 61.289,1.505 61.755,1.379 L 61.8,1.416 61.897,1.64 61.908,1.546 62.816,4.155 C 62.252,4.343 61.823,4.424 61.325,4.556 L 61.31,4.546 61.23,4.303 60.995,4.625 59.052,4.978 59.038,4.966 C 58.961,4.872 58.953,4.733 59.008,4.584 l -0.036,0.085 -0.281,0.355 -0.534,0.069 z"
+                 id="path10308"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 58.265,5.113 C 58.493,5.084 58.759,4.869 58.856,4.634 L 59.741,2.253 C 59.821,2.013 59.714,1.851 59.508,1.89 l -1.135,0.186 c -0.211,0.027 -0.457,0.239 -0.551,0.475 l -0.002,0.002 0.341,2.574 z"
+                 id="path10310"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 61.627,4.515 c 0.389,-0.1 0.75,-0.178 1.199,-0.327 L 61.973,1.735 c -0.095,0.804 -0.363,1.614 -0.615,2.436 -0.082,0.248 0.036,0.402 0.269,0.344 z"
+                 id="path10312"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 59.978,2.207 c 0.079,-0.239 0.306,-0.465 0.513,-0.504 l 1.077,-0.266 c 0.162,-0.051 0.28,0.102 0.246,0.343 -0.139,0.806 -0.395,1.615 -0.661,2.441 -0.081,0.242 -0.335,0.472 -0.564,0.517 l -1.24,0.235 C 59.12,5.002 59.016,4.835 59.113,4.6 Z"
+                 id="path10314"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10316">
+              <path
+                 d="M 53.473,2.754 53.751,2.5 55.537,2.382 55.578,2.427 55.62,2.681 55.927,2.356 c 0.586,-0.021 1.155,-0.12 1.73,-0.188 l 0.042,0.043 0.055,0.237 0.037,-0.093 0.363,2.739 L 56.732,5.275 56.719,5.261 56.672,5.009 56.405,5.296 54.468,5.425 54.456,5.411 C 54.389,5.312 54.394,5.173 54.463,5.027 l -0.044,0.084 -0.312,0.337 -0.534,0.035 z"
+                 id="path10318"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 53.681,5.511 C 53.909,5.495 54.191,5.298 54.31,5.069 L 55.439,2.79 C 55.546,2.561 55.458,2.388 55.244,2.401 l -1.165,0.078 c -0.214,0.014 -0.481,0.211 -0.598,0.44 l -0.001,0.003 0.098,2.596 z"
+                 id="path10320"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 57.027,5.272 58.161,5.126 57.82,2.553 56.813,4.898 c -0.108,0.236 -0.014,0.404 0.214,0.374 z"
+                 id="path10322"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 55.683,2.772 c 0.107,-0.229 0.366,-0.425 0.58,-0.438 l 1.152,-0.136 c 0.211,-0.027 0.308,0.141 0.212,0.376 L 56.608,4.916 C 56.499,5.145 56.224,5.342 55.997,5.357 L 54.761,5.439 C 54.533,5.454 54.446,5.28 54.564,5.051 Z"
+                 id="path10324"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10326">
+              <path
+                 d="m 49.104,2.743 0.298,-0.217 1.799,0.005 0.038,0.048 0.022,0.256 0.334,-0.305 1.76,-0.005 0.039,0.047 0.033,0.24 0.046,-0.091 0.104,2.762 L 52.16,5.494 52.147,5.48 52.121,5.225 51.833,5.496 49.9,5.501 49.889,5.487 C 49.83,5.384 49.845,5.246 49.925,5.104 L 49.875,5.185 49.54,5.502 49.01,5.474 Z"
+                 id="path10328"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 49.112,5.513 c 0.226,0.019 0.52,-0.15 0.655,-0.377 L 51.069,2.932 C 51.195,2.71 51.12,2.532 50.904,2.533 l -1.173,0.004 c -0.216,0.007 -0.499,0.155 -0.632,0.372 l -10e-4,0.003 -0.089,2.596 z"
+                 id="path10330"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 52.447,5.527 1.13,-0.01 -0.098,-2.596 -1.212,2.206 c -0.126,0.223 -0.047,0.401 0.18,0.4 z"
+                 id="path10332"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 51.315,2.931 C 51.44,2.71 51.716,2.53 51.932,2.53 l 1.173,-0.004 c 0.216,0 0.297,0.179 0.179,0.399 L 52.062,5.129 C 51.936,5.35 51.647,5.53 51.42,5.53 l -1.232,0.004 c -0.227,0.001 -0.3,-0.178 -0.166,-0.399 z"
+                 id="path10334"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10336">
+              <path
+                 d="m 44.729,2.458 0.312,-0.197 1.802,0.11 0.035,0.05 0.005,0.258 0.355,-0.283 1.763,0.106 0.035,0.05 0.016,0.244 L 49.105,2.711 49.01,5.474 47.601,5.389 47.59,5.374 47.581,5.118 47.276,5.369 45.354,5.253 45.344,5.238 C 45.292,5.132 45.315,4.994 45.404,4.858 L 45.35,4.936 44.997,5.232 44.47,5.178 Z"
+                 id="path10338"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 44.568,5.224 c 0.223,0.035 0.529,-0.133 0.677,-0.344 l 1.44,-2.117 C 46.826,2.55 46.763,2.367 46.547,2.354 l -1.176,-0.07 c -0.216,-0.007 -0.509,0.138 -0.655,0.34 l -0.002,0.003 -0.247,2.585 z"
+                 id="path10340"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 47.886,5.439 49.009,5.506 49.098,2.91 47.734,5.03 C 47.593,5.243 47.66,5.426 47.886,5.439 Z"
+                 id="path10342"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 46.932,2.777 c 0.14,-0.213 0.428,-0.375 0.644,-0.361 l 1.176,0.071 c 0.216,0.013 0.285,0.196 0.151,0.409 L 47.531,5.017 C 47.39,5.23 47.091,5.391 46.865,5.377 L 45.639,5.303 C 45.413,5.289 45.351,5.107 45.499,4.894 Z"
+                 id="path10344"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10346">
+              <path
+                 d="m 40.369,1.917 0.324,-0.196 1.798,0.223 0.032,0.052 -0.01,0.258 0.372,-0.261 1.758,0.219 0.032,0.052 0.001,0.245 L 44.734,2.428 44.47,5.178 43.073,5.005 43.063,4.989 43.069,4.732 42.751,4.964 40.846,4.728 40.837,4.712 C 40.791,4.603 40.822,4.467 40.917,4.336 L 40.858,4.41 40.49,4.684 39.965,4.619 Z"
+                 id="path10348"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 40.062,4.664 c 0.224,0.028 0.535,-0.113 0.694,-0.316 l 1.553,-2.023 c 0.152,-0.204 0.1,-0.391 -0.116,-0.418 L 41.02,1.761 C 40.805,1.735 40.502,1.878 40.345,2.08 L 40.343,2.083 39.96,4.651 Z"
+                 id="path10350"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 43.353,5.073 1.114,0.138 0.247,-2.585 -1.487,2.028 c -0.154,0.204 -0.098,0.392 0.126,0.419 z"
+                 id="path10352"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 42.555,2.354 C 42.707,2.15 43.004,2.006 43.22,2.034 l 1.173,0.146 c 0.215,0.027 0.272,0.215 0.126,0.419 L 43.024,4.63 C 42.871,4.833 42.564,4.976 42.34,4.948 L 41.125,4.797 C 40.901,4.769 40.85,4.582 41.008,4.379 Z"
+                 id="path10354"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10356">
+              <path
+                 d="M 35.457,1.955 35.753,1.663 C 36.484,1.519 37.217,1.392 37.887,1.49 l 0.042,0.05 c 0.046,0.075 0.05,0.165 0.021,0.259 l 0.388,-0.281 c 0.646,0.048 1.399,0.072 1.956,0.153 l 0.03,0.052 -0.012,0.243 0.062,-0.081 -0.408,2.733 C 39.476,4.545 39.085,4.535 38.678,4.511 L 38.669,4.496 38.671,4.24 38.397,4.493 C 37.857,4.494 37.25,4.325 36.781,4.491 L 36.77,4.478 C 36.711,4.385 36.701,4.246 36.748,4.094 l -0.03,0.087 -0.215,0.36 -0.411,0.07 z"
+                 id="path10358"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 36.179,4.632 C 36.352,4.604 36.542,4.388 36.622,4.149 36.872,3.33 37.277,2.552 37.736,1.882 37.877,1.669 37.796,1.485 37.548,1.471 37.111,1.406 36.627,1.514 36.152,1.593 35.888,1.638 35.587,1.874 35.497,2.115 L 35.496,2.118 36.1,4.645 Z"
+                 id="path10360"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 38.923,4.559 c 0.311,0.011 0.65,0.036 1.038,0.093 l 0.383,-2.568 c -0.518,0.663 -1.086,1.358 -1.532,2.068 -0.137,0.212 -0.083,0.395 0.111,0.407 z"
+                 id="path10362"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 38.008,1.897 C 38.15,1.685 38.475,1.525 38.723,1.541 l 1.321,0.1 C 40.26,1.667 40.308,1.854 40.149,2.057 39.625,2.717 39.058,3.44 38.628,4.141 38.493,4.354 38.234,4.517 38.04,4.503 37.698,4.505 37.312,4.396 37.005,4.482 36.833,4.516 36.748,4.35 36.831,4.11 37.11,3.267 37.541,2.615 38.008,1.897 Z"
+                 id="path10364"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10366">
+              <path
+                 d="M 31.139,4.965 31.112,4.527 c 0.51,-0.575 1.038,-1.182 1.634,-1.669 l 0.071,0.015 0.173,0.195 c 0.018,-0.15 0.094,-0.314 0.207,-0.459 0.679,-0.332 1.355,-0.812 2.072,-0.857 l 0.056,0.038 0.087,0.229 0.038,-0.096 0.643,2.688 C 35.7,4.626 35.382,4.761 35.107,4.952 L 35.094,4.943 34.966,4.722 34.901,5.06 C 34.443,5.199 34.165,5.586 33.846,5.916 L 33.83,5.913 C 33.721,5.877 33.619,5.784 33.555,5.648 l 0.035,0.079 0.073,0.37 c -0.105,0.073 -0.157,0.212 -0.22,0.337 z"
+                 id="path10368"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 33.507,6.38 C 33.564,6.197 33.594,5.979 33.49,5.757 33.16,5.053 32.933,4.207 32.846,3.267 32.839,3.005 32.645,2.893 32.45,3.101 l -1.06,1.105 c -0.218,0.2 -0.239,0.596 -0.11,0.847 l 10e-4,0.003 2.189,1.396 z"
+                 id="path10370"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 35.3,4.885 c 0.207,-0.169 0.506,-0.202 0.8,-0.24 L 35.496,2.119 C 35.18,2.882 34.994,3.717 35.024,4.583 35.03,4.829 35.163,4.962 35.3,4.885 Z"
+                 id="path10372"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 33.104,3.114 C 33.109,2.86 33.332,2.534 33.585,2.401 34.043,2.202 34.491,1.845 34.967,1.809 35.23,1.758 35.359,1.916 35.27,2.157 34.965,2.901 34.842,3.853 34.882,4.656 34.89,4.902 34.799,5.15 34.655,5.217 34.353,5.29 34.235,5.612 34.013,5.792 33.904,5.905 33.724,5.832 33.629,5.613 33.339,4.907 33.073,3.955 33.104,3.114 Z"
+                 id="path10374"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10376">
+              <path
+                 d="M 29.561,9.641 29.379,9.289 C 29.446,8.643 29.653,7.977 29.852,7.314 L 29.91,7.287 c 0.082,-0.023 0.169,-0.001 0.252,0.055 L 29.982,6.88 C 30.113,6.233 30.577,5.593 30.878,4.958 L 30.94,4.943 c 0.08,-0.005 0.154,0.035 0.219,0.104 L 31.113,4.948 33.443,6.434 32.922,7.42 32.904,7.423 32.658,7.344 32.832,7.678 32.38,9.282 32.364,9.29 C 32.255,9.324 32.12,9.286 31.993,9.186 l 0.072,0.062 0.265,0.358 -0.073,0.478 z"
+                 id="path10378"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 32.304,9.997 C 32.335,9.795 32.199,9.502 32.001,9.338 31.326,8.794 30.779,8.238 30.192,7.574 30.021,7.376 29.826,7.401 29.755,7.641 c -0.117,0.431 -0.278,0.869 -0.32,1.29 -0.037,0.234 0.092,0.566 0.29,0.734 l 0.002,0.002 2.562,0.422 z"
+                 id="path10380"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 33.062,7.235 33.471,6.452 31.282,5.056 c 0.387,0.821 0.845,1.54 1.347,2.144 0.151,0.179 0.349,0.189 0.433,0.035 z"
+                 id="path10382"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 30.27,7.312 C 30.099,7.111 30.02,6.748 30.093,6.508 c 0.171,-0.43 0.423,-0.856 0.64,-1.281 0.126,-0.236 0.32,-0.218 0.438,0.027 0.399,0.807 0.867,1.509 1.375,2.095 0.174,0.194 0.274,0.495 0.221,0.681 L 32.468,9.042 C 32.406,9.223 32.241,9.272 32.037,9.104 31.424,8.577 30.837,7.982 30.27,7.312 Z"
+                 id="path10384"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10386">
+              <path
+                 d="m 29.169,14.245 -0.227,-0.31 0.108,-1.901 0.05,-0.036 0.257,-0.003 -0.277,-0.379 c 0.026,-0.618 0.125,-1.256 0.23,-1.894 l 0.053,-0.032 0.244,0.013 -0.077,-0.067 2.727,0.448 -0.184,1.28 -0.015,0.01 -0.256,-0.005 0.249,0.301 -0.13,1.81 -0.014,0.011 c -0.104,0.054 -0.243,0.037 -0.381,-0.044 l 0.079,0.051 0.308,0.328 -0.014,0.51 z"
+                 id="path10388"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 31.936,14.237 C 31.941,14.02 31.77,13.736 31.552,13.6 L 29.44,12.203 c -0.211,-0.148 -0.395,-0.084 -0.412,0.146 l -0.076,1.242 c -0.006,0.226 0.165,0.521 0.382,0.657 l 0.003,0.002 2.596,0.085 z"
+                 id="path10390"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 32.131,11.101 32.29,10.09 29.728,9.668 c 0.657,0.562 1.307,1.072 1.989,1.551 0.213,0.147 0.388,0.088 0.414,-0.118 z"
+                 id="path10392"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 29.458,11.945 c -0.21,-0.148 -0.367,-0.458 -0.351,-0.688 0.016,-0.412 0.099,-0.842 0.162,-1.266 0.036,-0.235 0.226,-0.285 0.423,-0.118 0.667,0.559 1.295,1.054 2.011,1.539 0.211,0.146 0.37,0.434 0.354,0.646 l -0.084,1.151 c -0.016,0.212 -0.199,0.278 -0.412,0.145 z"
+                 id="path10394"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10396">
+              <path
+                 d="m 29.104,18.738 -0.231,-0.296 0.014,-1.852 0.048,-0.038 0.257,-0.02 -0.302,-0.348 0.042,-1.833 0.049,-0.036 0.243,-0.018 -0.086,-0.055 2.762,0.091 -0.036,1.357 -0.015,0.011 -0.256,0.019 0.265,0.285 -0.014,1.88 -0.014,0.011 c -0.104,0.059 -0.242,0.046 -0.382,-0.03 l 0.08,0.048 0.314,0.321 -0.005,0.521 z"
+                 id="path10398"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 31.871,18.657 c 0.003,-0.226 -0.174,-0.506 -0.395,-0.636 l -2.19,-1.292 c -0.22,-0.131 -0.4,-0.057 -0.401,0.166 l -0.009,1.208 c -0.001,0.224 0.175,0.507 0.394,0.635 l 0.003,0.001 2.597,0.02 z"
+                 id="path10400"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 31.904,15.417 0.028,-1.081 -2.596,-0.085 2.163,1.325 c 0.218,0.13 0.399,0.058 0.405,-0.159 z"
+                 id="path10402"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 29.288,16.478 c -0.22,-0.13 -0.397,-0.417 -0.396,-0.639 l 0.032,-1.227 c 0.006,-0.226 0.187,-0.297 0.404,-0.16 l 2.166,1.322 c 0.216,0.128 0.396,0.414 0.394,0.634 l -0.009,1.198 c -0.002,0.22 -0.181,0.295 -0.401,0.165 z"
+                 id="path10404"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10406">
+              <path
+                 d="m 29,23.143 -0.224,-0.302 0.067,-1.804 0.049,-0.037 0.257,-0.017 -0.3,-0.347 0.02,-1.788 0.048,-0.037 0.243,-0.022 -0.087,-0.051 2.764,0.02 -0.016,1.396 -0.014,0.011 -0.255,0.019 0.266,0.292 -0.055,1.918 -0.015,0.011 c -0.105,0.057 -0.243,0.039 -0.381,-0.043 l 0.078,0.052 0.304,0.339 -0.02,0.53 z"
+                 id="path10408"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 31.766,23.181 c 0.009,-0.227 -0.159,-0.523 -0.375,-0.662 L 29.24,21.178 c -0.216,-0.131 -0.398,-0.06 -0.406,0.156 l -0.044,1.177 c -0.008,0.217 0.16,0.502 0.376,0.639 l 0.002,0.002 2.594,0.132 z"
+                 id="path10410"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 31.857,19.87 0.012,-1.111 -2.597,-0.02 2.183,1.296 c 0.22,0.132 0.399,0.059 0.402,-0.165 z"
+                 id="path10412"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 29.245,20.93 c -0.219,-0.132 -0.396,-0.416 -0.393,-0.635 l 0.014,-1.193 c 0.002,-0.219 0.182,-0.293 0.402,-0.164 l 2.186,1.3 c 0.22,0.132 0.395,0.42 0.393,0.644 l -0.039,1.226 c -0.008,0.226 -0.19,0.296 -0.406,0.158 z"
+                 id="path10414"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10416">
+              <path
+                 d="m 28.549,27.421 -0.185,-0.316 c 0.102,-0.569 0.198,-1.141 0.231,-1.737 l 0.051,-0.032 0.257,0.004 -0.274,-0.359 0.133,-1.738 0.049,-0.034 0.243,-0.012 -0.085,-0.054 2.76,0.14 -0.098,1.423 -0.015,0.01 -0.256,0.003 0.243,0.315 c -0.073,0.651 -0.078,1.294 -0.212,1.952 l -0.016,0.01 c -0.112,0.048 -0.248,0.016 -0.374,-0.082 l 0.071,0.061 0.258,0.378 -0.091,0.542 z"
+                 id="path10418"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 31.29,27.793 c 0.039,-0.231 -0.089,-0.555 -0.286,-0.717 l -2.022,-1.538 c -0.209,-0.147 -0.394,-0.092 -0.412,0.12 l -0.154,1.133 c -0.034,0.205 0.098,0.497 0.296,0.657 l 0.002,0.002 2.558,0.448 z"
+                 id="path10420"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 31.69,24.416 0.072,-1.133 -2.594,-0.132 2.107,1.408 c 0.21,0.149 0.395,0.086 0.415,-0.143 z"
+                 id="path10422"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 29.003,25.295 C 28.794,25.149 28.639,24.86 28.658,24.649 l 0.095,-1.157 c 0.008,-0.217 0.189,-0.282 0.406,-0.145 l 2.099,1.418 c 0.209,0.148 0.362,0.457 0.341,0.687 l -0.126,1.244 c -0.038,0.232 -0.229,0.285 -0.425,0.123 -0.64,-0.535 -1.359,-1.039 -2.045,-1.524 z"
+                 id="path10424"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10426">
+              <path
+                 d="m 27.401,31.386 -0.104,-0.334 c 0.265,-0.469 0.385,-1.032 0.543,-1.571 l 0.056,-0.021 0.252,0.052 -0.206,-0.386 c 0.176,-0.519 0.275,-1.074 0.357,-1.639 l 0.053,-0.027 0.243,0.02 -0.078,-0.062 2.722,0.477 c -0.094,0.48 -0.132,0.96 -0.273,1.44 l -0.017,0.009 c -0.082,0.026 -0.17,0.011 -0.255,-0.036 l 0.178,0.358 -0.578,1.96 -0.018,0.007 c -0.124,0.024 -0.249,-0.037 -0.347,-0.161 l 0.054,0.075 0.148,0.437 -0.242,0.526 z"
+                 id="path10428"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 29.969,32.419 c 0.104,-0.226 0.069,-0.581 -0.08,-0.785 -0.492,-0.678 -1.121,-1.331 -1.699,-1.921 -0.179,-0.178 -0.37,-0.159 -0.425,0.035 -0.116,0.343 -0.163,0.73 -0.341,1.034 -0.083,0.176 -0.023,0.472 0.128,0.67 l 0.002,0.003 2.368,1.066 z"
+                 id="path10430"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 31.079,29.047 0.194,-1.148 -2.558,-0.448 1.927,1.685 c 0.177,0.179 0.378,0.143 0.437,-0.089 z"
+                 id="path10432"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 28.255,29.486 c -0.179,-0.177 -0.281,-0.472 -0.225,-0.666 0.12,-0.344 0.167,-0.725 0.23,-1.097 0.034,-0.206 0.223,-0.246 0.42,-0.086 0.641,0.533 1.336,1.103 1.904,1.702 0.178,0.181 0.268,0.521 0.202,0.752 l -0.361,1.253 c -0.063,0.232 -0.27,0.244 -0.427,0.04 -0.565,-0.681 -1.147,-1.315 -1.743,-1.898 z"
+                 id="path10434"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10436">
+              <path
+                 d="m 25.196,34.857 -0.002,-0.361 c 0.4,-0.428 0.669,-0.92 0.995,-1.384 l 0.06,-0.003 0.227,0.123 -0.079,-0.428 c 0.35,-0.445 0.515,-0.946 0.749,-1.425 l 0.057,-0.01 0.23,0.08 -0.061,-0.077 2.52,1.135 -0.661,1.39 -0.019,0.003 -0.233,-0.109 0.062,0.393 -1.134,1.691 -0.019,10e-4 C 27.765,35.861 27.665,35.77 27.6,35.621 l 0.034,0.088 c 0.05,0.135 0.059,0.297 0.034,0.452 l -0.354,0.422 z"
+                 id="path10438"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 27.408,36.522 c 0.151,-0.18 0.204,-0.521 0.114,-0.758 -0.309,-0.799 -0.685,-1.595 -1.068,-2.328 -0.117,-0.222 -0.307,-0.261 -0.419,-0.092 L 25.4,34.252 c -0.134,0.159 -0.166,0.474 -0.073,0.707 l 10e-4,0.003 2.013,1.642 z"
+                 id="path10440"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 29.401,33.637 0.521,-1.115 -2.368,-1.066 c 0.505,0.652 0.981,1.372 1.42,2.153 0.129,0.234 0.323,0.254 0.427,0.028 z"
+                 id="path10442"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 26.584,33.241 c -0.118,-0.221 -0.125,-0.531 -0.011,-0.699 0.222,-0.301 0.312,-0.641 0.477,-0.957 0.081,-0.177 0.273,-0.165 0.425,0.034 0.493,0.656 0.992,1.409 1.387,2.171 0.116,0.225 0.099,0.573 -0.035,0.773 l -0.725,1.08 C 27.967,35.842 27.78,35.8 27.679,35.555 27.345,34.743 26.978,33.971 26.584,33.241 Z"
+                 id="path10444"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10446">
+              <path
+                 d="m 22.244,37.951 0.056,-0.364 1.254,-1.243 0.061,0.007 0.2,0.162 0.012,-0.443 c 0.424,-0.396 0.742,-0.855 1.12,-1.279 l 0.06,0.003 0.203,0.136 -0.037,-0.092 2.142,1.746 -0.944,1.122 -0.018,-0.001 -0.204,-0.154 -0.007,0.398 -1.387,1.396 -0.018,-0.002 c -0.115,-0.03 -0.203,-0.139 -0.245,-0.296 l 0.021,0.093 c 0.032,0.144 0.024,0.311 -0.017,0.465 l -0.399,0.356 z"
+                 id="path10448"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 24.195,39.915 c 0.171,-0.15 0.267,-0.476 0.204,-0.734 L 23.75,36.714 C 23.679,36.472 23.498,36.4 23.349,36.549 l -0.811,0.817 c -0.149,0.149 -0.24,0.458 -0.182,0.706 l 10e-4,0.003 1.76,1.909 z"
+                 id="path10450"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 26.586,37.499 0.753,-0.895 -2.013,-1.642 0.847,2.405 c 0.078,0.252 0.261,0.313 0.413,0.132 z"
+                 id="path10452"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 23.921,36.541 C 23.85,36.3 23.91,35.985 24.06,35.836 l 0.732,-0.862 c 0.133,-0.159 0.318,-0.101 0.41,0.133 l 0.837,2.422 c 0.072,0.245 -0.007,0.576 -0.169,0.741 l -0.885,0.891 c -0.163,0.164 -0.342,0.09 -0.402,-0.162 z"
+                 id="path10454"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10456">
+              <path
+                 d="m 18.917,40.788 0.078,-0.368 1.398,-1.149 0.06,0.013 0.183,0.182 0.061,-0.447 1.306,-1.166 0.06,0.011 0.182,0.163 -0.022,-0.098 1.873,2.032 -1.062,0.948 -0.018,-0.003 -0.185,-0.178 -0.042,0.398 -1.479,1.231 -0.018,-0.004 C 21.18,42.312 21.101,42.197 21.071,42.04 l 0.014,0.093 c 0.021,0.144 0,0.305 -0.052,0.452 l -0.409,0.336 z"
+                 id="path10458"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 20.724,42.882 c 0.175,-0.144 0.285,-0.466 0.245,-0.719 l -0.42,-2.503 c -0.044,-0.249 -0.218,-0.339 -0.386,-0.2 l -0.913,0.749 c -0.167,0.139 -0.27,0.454 -0.229,0.707 v 0.003 l 1.623,2.028 z"
+                 id="path10460"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 23.271,40.74 0.847,-0.756 -1.76,-1.909 0.52,2.48 c 0.047,0.255 0.223,0.338 0.393,0.185 z"
+                 id="path10462"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 20.741,39.503 c -0.042,-0.246 0.047,-0.565 0.207,-0.709 l 0.871,-0.777 c 0.16,-0.143 0.337,-0.061 0.393,0.186 l 0.514,2.49 c 0.047,0.251 -0.051,0.587 -0.226,0.73 l -0.946,0.778 c -0.175,0.144 -0.347,0.054 -0.387,-0.199 z"
+                 id="path10464"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10466">
+              <path
+                 d="m 15.416,43.52 0.091,-0.367 1.455,-1.127 0.06,0.014 0.175,0.189 0.081,-0.45 1.407,-1.103 0.059,0.014 0.17,0.174 -0.016,-0.101 1.727,2.158 -1.098,0.863 -0.018,-0.004 -0.175,-0.187 -0.06,0.389 -1.496,1.164 -0.018,-0.004 C 17.65,45.097 17.574,44.98 17.548,44.823 l 0.011,0.093 c 0.018,0.144 -0.006,0.303 -0.06,0.445 l -0.411,0.318 z"
+                 id="path10468"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 17.188,45.645 c 0.175,-0.136 0.29,-0.45 0.256,-0.703 L 17.103,42.423 C 17.067,42.17 16.898,42.075 16.726,42.211 l -0.952,0.735 c -0.175,0.135 -0.29,0.45 -0.256,0.703 v 0.003 l 1.59,2.054 z"
+                 id="path10470"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 19.771,43.636 0.875,-0.688 -1.623,-2.028 0.367,2.508 c 0.034,0.252 0.205,0.345 0.381,0.208 z"
+                 id="path10472"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 17.299,42.27 c -0.036,-0.253 0.075,-0.567 0.248,-0.702 l 0.938,-0.736 c 0.173,-0.135 0.344,-0.042 0.381,0.21 l 0.363,2.51 c 0.035,0.254 -0.079,0.57 -0.255,0.709 l -0.954,0.741 c -0.175,0.136 -0.345,0.041 -0.379,-0.212 z"
+                 id="path10474"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10476">
+              <path
+                 d="m 11.888,46.308 0.084,-0.374 1.459,-1.165 0.06,0.014 0.177,0.188 c -0.01,-0.15 0.022,-0.312 0.084,-0.452 l 1.43,-1.114 0.059,0.015 0.168,0.176 -0.014,-0.1 1.692,2.186 -1.09,0.846 -0.017,-0.004 -0.174,-0.188 -0.057,0.388 -1.47,1.155 -0.018,-0.004 c -0.109,-0.043 -0.188,-0.158 -0.218,-0.316 l 0.014,0.093 -0.045,0.447 -0.392,0.321 z"
+                 id="path10478"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 13.717,48.384 c 0.167,-0.139 0.27,-0.454 0.229,-0.707 l -0.373,-2.511 c -0.036,-0.253 -0.207,-0.347 -0.382,-0.208 l -0.953,0.757 c -0.174,0.144 -0.284,0.466 -0.244,0.72 v 0.003 l 1.646,2.009 z"
+                 id="path10480"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 16.238,46.38 0.87,-0.674 -1.59,-2.054 0.342,2.516 c 0.036,0.253 0.206,0.347 0.378,0.212 z"
+                 id="path10482"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 13.771,45.011 c -0.035,-0.254 0.079,-0.57 0.255,-0.709 l 0.954,-0.743 c 0.175,-0.135 0.345,-0.04 0.379,0.213 l 0.345,2.52 c 0.036,0.252 -0.075,0.566 -0.247,0.702 l -0.938,0.735 c -0.173,0.136 -0.343,0.043 -0.382,-0.208 z"
+                 id="path10484"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10486">
+              <path
+                 d="m 8.459,49.315 0.055,-0.389 1.414,-1.27 0.061,0.009 0.186,0.178 c -0.018,-0.151 0.007,-0.316 0.062,-0.464 l 1.413,-1.181 0.06,0.013 0.173,0.171 -0.016,-0.1 1.752,2.137 -1.048,0.864 -0.018,-0.004 -0.181,-0.179 -0.039,0.385 -1.363,1.223 -0.018,-0.003 c -0.113,-0.037 -0.2,-0.146 -0.24,-0.299 l 0.02,0.09 -0.017,0.439 -0.36,0.348 z"
+                 id="path10488"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="m 10.446,51.237 c 0.142,-0.154 0.233,-0.462 0.173,-0.709 L 10.09,48.049 C 10.041,47.796 9.865,47.713 9.695,47.865 l -0.923,0.828 c -0.173,0.147 -0.26,0.484 -0.197,0.74 v 0.003 l 1.803,1.869 z"
+                 id="path10490"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 12.807,49.134 0.834,-0.688 -1.646,-2.009 0.425,2.497 c 0.046,0.25 0.219,0.338 0.387,0.2 z"
+                 id="path10492"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 10.281,47.878 c -0.047,-0.252 0.051,-0.586 0.224,-0.733 l 0.946,-0.78 c 0.174,-0.144 0.347,-0.054 0.387,0.199 l 0.43,2.497 c 0.042,0.246 -0.042,0.567 -0.203,0.71 l -0.869,0.779 c -0.16,0.143 -0.336,0.061 -0.394,-0.185 z"
+                 id="path10494"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10496">
+              <path
+                 d="M 5.338,52.774 5.351,52.391 6.604,50.886 H 6.666 C 6.748,50.9 6.818,50.956 6.872,51.04 6.834,50.886 6.845,50.719 6.891,50.571 l 1.323,-1.342 0.061,0.007 0.187,0.155 -0.024,-0.1 1.918,1.989 -0.93,0.942 -0.018,-0.002 -0.2,-0.161 0.003,0.38 C 8.772,52.857 8.44,53.338 8.047,53.784 L 8.03,53.785 C 7.914,53.764 7.813,53.669 7.749,53.524 l 0.034,0.086 0.053,0.43 -0.314,0.374 z"
+                 id="path10498"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 7.61,54.362 C 7.743,54.203 7.772,53.889 7.678,53.657 L 6.811,51.261 C 6.732,51.011 6.548,50.951 6.397,51.133 L 5.58,52.115 c -0.151,0.182 -0.201,0.522 -0.109,0.757 l 0.001,0.004 2.077,1.559 z"
+                 id="path10500"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="m 9.639,52.056 0.74,-0.75 -1.803,-1.869 0.662,2.458 c 0.072,0.24 0.253,0.311 0.401,0.161 z"
+                 id="path10502"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 6.98,51.061 C 6.9,50.808 6.982,50.483 7.144,50.316 L 8.026,49.42 c 0.163,-0.164 0.343,-0.092 0.404,0.161 l 0.671,2.451 c 0.073,0.24 0.013,0.555 -0.135,0.705 L 8.243,53.604 C 8.111,53.763 7.925,53.707 7.831,53.473 Z"
+                 id="path10504"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10506">
+              <path
+                 d="m 2.974,56.952 -0.08,-0.381 0.877,-1.838 0.06,-0.015 C 3.916,54.714 3.998,54.755 4.066,54.824 4.007,54.687 3.988,54.521 4.005,54.363 l 1.077,-1.629 0.061,-0.006 0.209,0.123 -0.039,-0.097 2.21,1.658 -0.7,1.062 -0.018,0.001 -0.227,-0.12 0.083,0.363 C 6.303,56.185 6.125,56.72 5.865,57.224 L 5.848,57.227 C 5.731,57.233 5.609,57.167 5.511,57.045 l 0.054,0.073 0.164,0.39 -0.204,0.421 z"
+                 id="path10508"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 5.595,57.862 C 5.681,57.684 5.627,57.386 5.476,57.189 4.975,56.539 4.499,55.828 4.056,55.06 3.923,54.829 3.732,54.813 3.625,55.035 l -0.572,1.199 c -0.105,0.222 -0.072,0.572 0.077,0.775 l 10e-4,0.003 2.425,0.931 z"
+                 id="path10510"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 6.994,55.279 7.55,54.434 5.473,52.875 c 0.335,0.812 0.705,1.587 1.1,2.316 0.118,0.22 0.309,0.257 0.421,0.088 z"
+                 id="path10512"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 4.181,54.823 C 4.063,54.6 4.077,54.252 4.21,54.051 l 0.718,-1.086 c 0.134,-0.2 0.322,-0.16 0.424,0.084 0.342,0.809 0.715,1.576 1.115,2.3 0.12,0.22 0.129,0.528 0.017,0.697 l -0.48,0.967 C 5.919,57.19 5.726,57.18 5.576,56.98 5.083,56.32 4.602,55.59 4.181,54.823 Z"
+                 id="path10514"
+                 style="fill:#c4c4c4" />
+            </g>
+            <g
+               id="g10516">
+              <path
+                 d="M 2.068,61.771 1.861,61.439 2.057,59.373 2.109,59.338 C 2.184,59.304 2.273,59.316 2.364,59.36 2.248,59.245 2.193,59.093 2.158,58.932 l 0.557,-1.943 0.057,-0.023 c 0.076,-0.019 0.157,0.006 0.235,0.059 l -0.063,-0.085 2.58,0.991 -0.333,1.174 -0.017,0.006 -0.252,-0.045 0.19,0.309 C 4.9,59.898 4.963,60.466 4.878,61.01 L 4.863,61.019 C 4.755,61.064 4.617,61.045 4.484,60.966 L 4.56,61.015 4.848,61.317 4.8,61.771 Z"
+                 id="path10518"
+                 style="fill:#777777" />
+              <path
+                 enable-background="new    "
+                 d="M 4.843,61.683 C 4.864,61.492 4.71,61.239 4.5,61.109 3.806,60.68 3.114,60.173 2.437,59.589 2.234,59.411 2.049,59.462 2.023,59.712 L 1.895,61.06 c -0.022,0.25 0.129,0.571 0.339,0.709 l 0.002,0.002 h 2.597 z"
+                 id="path10520"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 5.292,58.876 5.556,57.943 3.13,57.013 c 0.549,0.702 1.135,1.34 1.734,1.902 0.182,0.168 0.374,0.147 0.428,-0.039 z"
+                 id="path10522"
+                 style="fill:#c4c4c4" />
+              <path
+                 enable-background="new    "
+                 d="M 2.466,59.316 C 2.286,59.142 2.196,58.798 2.263,58.558 l 0.372,-1.296 c 0.07,-0.24 0.261,-0.256 0.429,-0.045 0.559,0.695 1.146,1.321 1.75,1.872 0.182,0.168 0.286,0.446 0.23,0.632 l -0.11,1.046 C 4.916,60.957 4.731,61.014 4.521,60.881 3.828,60.438 3.137,59.915 2.466,59.316 Z"
+                 id="path10524"
+                 style="fill:#c4c4c4" />
+            </g>
+          </g>
+          <path
+             d="M 39.82,2.116 C 36.697,1.63 34.356,2.096 32.66,3.54 29.436,6.287 29.406,11.966 29.375,17.978 29.347,23.319 29.318,28.841 27.135,32.603 24.804,36.617 20.304,40.085 15.952,43.44 9.257,48.602 2.333,53.938 2.333,61.771 h 2 c 0,-6.849 6.237,-11.656 12.84,-16.747 4.505,-3.473 9.164,-7.063 11.691,-11.417 2.452,-4.222 2.481,-10.016 2.511,-15.618 C 31.404,12.449 31.431,7.216 33.958,5.063 35.183,4.019 37,3.702 39.513,4.093 54.586,6.438 62.34,3.828 62.662,3.715 L 62.007,1.825 C 61.932,1.852 54.339,4.375 39.82,2.116 Z"
+             id="path10526"
+             style="fill:url(#radialGradient11905);fill-opacity:1;filter:url(#filter3866)" />
+          <rect
+             x="1.103"
+             y="60.167"
+             width="4"
+             height="6"
+             id="rect10528"
+             style="fill:url(#linearGradient11907)" />
+          <path
+             style="fill:none"
+             id="path10530"
+             d="m 64.5,125.033 c 8.343,0.197 16.75,1.062 16.75,-11.763 0,-14.5 -2.25,-26.25 4.75,-29.25 7,-3 7.25,3.5 22.5,-2 15.25,-5.5 16.5,-11 16.75,-15.5" />
+          <g
+             id="g10532">
+            <path
+               style="fill:#777777"
+               id="path10534"
+               d="m 68.973,126.384 -0.303,0.233 -1.88,-0.025 -0.038,-0.049 -0.017,-0.257 -0.354,0.296 -1.805,-0.046 -0.037,-0.049 -0.019,-0.243 -0.053,0.086 0.065,-2.763 1.39,0.036 0.012,0.015 0.015,0.256 0.292,-0.262 1.865,0.035 0.012,0.014 c 0.057,0.104 0.045,0.242 -0.031,0.383 l 0.048,-0.08 0.316,-0.314 0.509,0.003 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10536"
+               d="m 68.862,123.618 c -0.217,-10e-4 -0.494,0.176 -0.621,0.396 l -1.308,2.181 c -0.134,0.218 -0.061,0.398 0.163,0.403 l 1.227,0.017 c 0.228,0.001 0.518,-0.177 0.647,-0.396 l 0.001,-0.003 -0.011,-2.597 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10538"
+               d="m 65.643,123.562 -1.107,-0.029 -0.062,2.597 1.328,-2.163 c 0.135,-0.217 0.063,-0.399 -0.159,-0.405 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10540"
+               d="m 66.682,126.189 c -0.135,0.218 -0.425,0.39 -0.649,0.385 l -1.201,-0.031 c -0.221,-0.006 -0.292,-0.188 -0.159,-0.405 l 1.331,-2.165 c 0.136,-0.218 0.42,-0.391 0.64,-0.385 l 1.19,0.023 c 0.216,0.002 0.289,0.181 0.161,0.401 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10542">
+            <path
+               style="fill:#777777"
+               id="path10544"
+               d="m 73.644,126.031 -0.277,0.277 c -0.661,0.101 -1.321,0.189 -1.968,0.222 l -0.044,-0.045 -0.042,-0.254 -0.342,0.33 -1.881,0.058 -0.039,-0.048 -0.026,-0.242 -0.052,0.087 -0.012,-2.764 1.335,-0.028 0.011,0.014 0.032,0.255 0.263,-0.278 c 0.586,-0.058 1.198,-0.058 1.762,-0.159 l 0.012,0.012 c 0.068,0.095 0.077,0.233 0.024,0.384 l 0.034,-0.086 0.25,-0.355 0.474,-0.066 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10546"
+               d="m 73.06,123.323 c -0.2,0.027 -0.431,0.24 -0.52,0.477 -0.292,0.792 -0.646,1.565 -1.031,2.321 -0.116,0.229 -0.024,0.402 0.211,0.385 l 1.284,-0.146 c 0.239,-0.033 0.514,-0.254 0.608,-0.49 l 0.001,-0.003 -0.462,-2.556 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10548"
+               d="m 70.023,123.597 -1.062,0.022 0.011,2.597 1.229,-2.223 c 0.116,-0.224 0.035,-0.401 -0.178,-0.396 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10550"
+               d="m 71.248,126.14 c -0.117,0.229 -0.409,0.436 -0.641,0.443 l -1.253,0.032 c -0.231,0.007 -0.309,-0.175 -0.18,-0.396 l 1.222,-2.231 c 0.117,-0.22 0.374,-0.42 0.582,-0.436 l 1.124,-0.095 c 0.2,-0.029 0.295,0.139 0.204,0.375 -0.302,0.799 -0.668,1.537 -1.058,2.308 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10552">
+            <path
+               style="fill:#777777"
+               id="path10554"
+               d="m 78.272,124.17 -0.149,0.402 c -0.613,0.383 -1.264,0.751 -1.924,0.985 l -0.059,-0.03 -0.116,-0.23 c -0.044,0.148 -0.141,0.296 -0.262,0.417 -0.649,0.265 -1.302,0.358 -1.955,0.524 l -0.05,-0.037 -0.07,-0.232 -0.038,0.094 -0.492,-2.72 1.204,-0.276 0.014,0.011 0.089,0.238 0.155,-0.342 c 0.522,-0.165 1.014,-0.368 1.458,-0.632 l 0.015,0.009 c 0.095,0.066 0.157,0.19 0.168,0.344 l -0.003,-0.089 0.08,-0.396 0.334,-0.253 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10556"
+               d="m 76.587,121.979 c -0.135,0.112 -0.225,0.396 -0.223,0.627 0.04,0.787 10e-4,1.695 -0.171,2.528 -0.052,0.254 0.093,0.393 0.333,0.305 l 1.26,-0.647 c 0.235,-0.116 0.397,-0.497 0.388,-0.754 v -0.003 l -1.522,-2.104 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10558"
+               d="m 74.107,123.09 -0.956,0.221 0.462,2.556 c 0.318,-0.815 0.567,-1.635 0.749,-2.425 0.055,-0.24 -0.063,-0.396 -0.255,-0.352 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10560"
+               d="m 75.932,125.229 c -0.054,0.254 -0.302,0.533 -0.543,0.617 l -1.304,0.329 c -0.242,0.056 -0.354,-0.102 -0.261,-0.351 0.306,-0.826 0.551,-1.626 0.714,-2.433 0.046,-0.251 0.218,-0.504 0.395,-0.567 l 0.922,-0.404 c 0.16,-0.084 0.308,0.042 0.316,0.286 0.028,0.814 -0.047,1.7 -0.239,2.523 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10562">
+            <path
+               style="fill:#777777"
+               id="path10564"
+               d="m 81.367,120.128 0.081,0.403 c -0.242,0.662 -0.663,1.27 -1.064,1.878 l -0.063,0.01 c -0.086,-10e-4 -0.16,-0.05 -0.221,-0.131 0.049,0.156 0.053,0.343 -0.007,0.504 -0.49,0.534 -0.966,1.087 -1.574,1.486 l -0.064,-0.011 -0.167,-0.178 0.004,0.106 -1.62,-2.239 c 0.306,-0.214 0.601,-0.439 0.831,-0.732 l 0.017,0.004 0.198,0.161 -0.039,-0.351 c 0.358,-0.355 0.587,-0.839 0.871,-1.27 l 0.016,-0.003 c 0.111,0.001 0.232,0.071 0.33,0.199 l -0.055,-0.076 -0.174,-0.396 0.176,-0.407 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10566"
+               d="m 78.776,119.151 c -0.074,0.171 -0.007,0.468 0.146,0.674 0.519,0.68 0.874,1.381 1.223,2.22 0.1,0.251 0.292,0.285 0.437,0.063 0.245,-0.403 0.555,-0.788 0.71,-1.221 0.104,-0.235 0.071,-0.608 -0.077,-0.821 l -0.002,-0.003 -2.401,-0.99 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10568"
+               d="m 77.326,121.367 c -0.178,0.238 -0.45,0.375 -0.675,0.562 l 1.522,2.104 c -0.037,-0.883 -0.172,-1.688 -0.471,-2.487 -0.084,-0.232 -0.259,-0.308 -0.376,-0.179 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10570"
+               d="m 79.988,122.283 c 0.114,0.264 -0.002,0.613 -0.178,0.815 -0.333,0.35 -0.643,0.728 -1.047,0.995 -0.214,0.162 -0.391,0.07 -0.405,-0.194 -0.038,-0.855 -0.236,-1.705 -0.538,-2.478 -0.088,-0.232 -0.065,-0.509 0.052,-0.639 l 0.532,-0.826 c 0.105,-0.145 0.275,-0.138 0.43,0.073 0.443,0.653 0.836,1.409 1.154,2.254 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10572">
+            <path
+               style="fill:#777777"
+               id="path10574"
+               d="m 82.424,115.407 0.211,0.335 -0.286,1.982 -0.054,0.032 c -0.082,0.031 -0.171,0.018 -0.257,-0.028 l 0.199,0.433 c -0.203,0.646 -0.286,1.303 -0.602,1.936 l -0.062,0.022 c -0.081,0.017 -0.161,-0.01 -0.235,-0.065 l 0.058,0.086 -2.555,-1.054 c 0.182,-0.346 0.279,-0.747 0.382,-1.145 l 0.017,-0.006 0.251,0.049 -0.193,-0.316 c 0.182,-0.522 0.211,-1.12 0.308,-1.686 l 0.015,-0.009 c 0.11,-0.041 0.247,-0.014 0.376,0.074 l -0.073,-0.054 -0.271,-0.332 0.049,-0.479 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10576"
+               d="m 79.664,115.274 c -0.008,0.208 0.116,0.478 0.323,0.626 0.671,0.482 1.336,1.018 1.989,1.604 0.197,0.178 0.385,0.133 0.42,-0.106 l 0.188,-1.293 c 0.036,-0.239 -0.101,-0.561 -0.325,-0.71 l -0.003,-0.002 -2.588,-0.214 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10578"
+               d="m 79.127,118.173 -0.316,0.9 2.401,0.99 c -0.468,-0.706 -1.051,-1.342 -1.662,-1.925 -0.182,-0.173 -0.373,-0.154 -0.423,0.035 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10580"
+               d="m 81.929,117.769 c 0.181,0.178 0.273,0.524 0.208,0.765 -0.129,0.432 -0.208,0.867 -0.385,1.294 -0.102,0.236 -0.301,0.246 -0.45,0.034 -0.469,-0.69 -1.114,-1.335 -1.703,-1.9 -0.183,-0.172 -0.29,-0.457 -0.238,-0.645 l 0.175,-1.083 c 0.028,-0.2 0.217,-0.248 0.418,-0.1 0.665,0.492 1.342,1.038 1.975,1.635 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10582">
+            <path
+               style="fill:#777777"
+               id="path10584"
+               d="m 82.477,110.82 0.24,0.296 0.028,1.862 -0.047,0.039 -0.256,0.022 0.303,0.352 -0.082,1.914 -0.049,0.037 -0.243,0.007 0.085,0.06 -2.755,-0.227 0.055,-1.303 0.015,-0.011 0.257,-0.014 -0.258,-0.275 -0.011,-1.858 0.015,-0.011 c 0.102,-0.061 0.24,-0.051 0.383,0.023 l -0.081,-0.047 -0.321,-0.315 -0.009,-0.517 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10586"
+               d="m 79.714,110.956 c 0.003,0.22 0.187,0.499 0.409,0.625 l 2.221,1.263 c 0.223,0.129 0.4,0.052 0.396,-0.172 l -0.019,-1.215 c -0.004,-0.224 -0.187,-0.507 -0.41,-0.633 l -0.003,-0.002 -2.597,0.033 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10588"
+               d="m 79.711,114.144 -0.043,1.036 2.588,0.214 -2.138,-1.397 c -0.216,-0.129 -0.398,-0.06 -0.407,0.147 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10590"
+               d="m 82.348,113.097 c 0.229,0.123 0.392,0.426 0.383,0.662 l -0.056,1.276 c -0.01,0.236 -0.192,0.301 -0.406,0.15 l -2.143,-1.381 c -0.218,-0.13 -0.378,-0.392 -0.377,-0.607 l -0.019,-1.195 c -0.004,-0.22 0.174,-0.297 0.396,-0.172 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10592">
+            <path
+               style="fill:#777777"
+               id="path10594"
+               d="m 82.38,106.332 0.244,0.29 0.051,1.853 -0.047,0.04 -0.256,0.029 0.31,0.338 0.028,1.821 -0.047,0.038 -0.242,0.028 0.088,0.05 -2.764,0.036 -0.021,-1.376 0.015,-0.011 0.255,-0.027 -0.274,-0.278 -0.041,-1.88 0.014,-0.012 c 0.101,-0.062 0.24,-0.055 0.384,0.017 l -0.082,-0.045 -0.327,-0.312 -0.017,-0.521 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10596"
+               d="m 79.619,106.514 c 0.008,0.221 0.195,0.499 0.42,0.621 l 2.234,1.215 c 0.223,0.123 0.4,0.042 0.396,-0.182 l -0.034,-1.207 c -0.008,-0.222 -0.195,-0.501 -0.421,-0.623 l -0.003,-10e-4 -2.596,0.075 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10598"
+               d="m 79.694,109.761 0.018,1.095 2.597,-0.033 -2.217,-1.238 c -0.223,-0.124 -0.401,-0.045 -0.398,0.176 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10600"
+               d="m 82.277,108.603 c 0.223,0.123 0.406,0.405 0.409,0.629 l 0.02,1.214 c 0.003,0.224 -0.175,0.303 -0.397,0.177 l -2.22,-1.237 c -0.223,-0.123 -0.406,-0.4 -0.409,-0.62 l -0.026,-1.198 c -0.007,-0.222 0.169,-0.303 0.395,-0.182 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10602">
+            <path
+               style="fill:#777777"
+               id="path10604"
+               d="m 82.248,101.869 0.241,0.289 0.051,1.841 -0.046,0.04 -0.256,0.03 0.315,0.334 0.058,1.809 -0.047,0.039 -0.241,0.032 0.089,0.048 -2.763,0.08 -0.044,-1.384 0.014,-0.012 0.255,-0.029 -0.278,-0.277 -0.059,-1.889 0.014,-0.012 c 0.102,-0.063 0.24,-0.057 0.383,0.016 l -0.081,-0.046 -0.323,-0.313 -0.012,-0.525 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10606"
+               d="m 79.486,102.042 c 0.005,0.224 0.19,0.505 0.414,0.627 l 2.236,1.208 c 0.225,0.121 0.401,0.04 0.394,-0.183 l -0.033,-1.201 c -0.005,-0.22 -0.19,-0.496 -0.414,-0.618 l -0.003,-0.001 -2.596,0.066 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10608"
+               d="m 79.581,105.311 0.035,1.102 2.596,-0.075 -2.236,-1.208 c -0.226,-0.122 -0.402,-0.041 -0.395,0.181 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10610"
+               d="m 82.145,104.128 c 0.225,0.122 0.413,0.4 0.42,0.622 l 0.039,1.206 c 0.007,0.222 -0.17,0.303 -0.395,0.182 l -2.24,-1.21 c -0.225,-0.121 -0.413,-0.398 -0.42,-0.62 l -0.039,-1.203 c -0.006,-0.223 0.173,-0.305 0.396,-0.183 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10612">
+            <path
+               style="fill:#777777"
+               id="path10614"
+               d="m 82.195,97.447 0.228,0.292 0.01,1.82 -0.047,0.039 -0.257,0.025 0.312,0.336 0.039,1.791 -0.047,0.039 -0.242,0.03 0.089,0.049 -2.763,0.07 -0.03,-1.397 0.014,-0.012 0.255,-0.026 -0.276,-0.283 -0.036,-1.907 0.015,-0.012 c 0.104,-0.062 0.243,-0.05 0.382,0.026 l -0.079,-0.048 -0.309,-0.328 0.012,-0.533 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10616"
+               d="m 79.428,97.522 c -0.005,0.228 0.167,0.519 0.386,0.648 l 2.216,1.26 c 0.224,0.125 0.401,0.047 0.396,-0.173 l -0.011,-1.188 c 0.006,-0.216 -0.167,-0.494 -0.386,-0.622 l -0.002,-0.002 -2.598,-0.026 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10618"
+               d="m 79.46,100.827 0.024,1.113 2.596,-0.066 -2.225,-1.226 c -0.223,-0.125 -0.4,-0.044 -0.395,0.179 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10620"
+               d="m 82.035,99.681 c 0.224,0.124 0.408,0.402 0.413,0.623 l 0.026,1.194 c 0.005,0.22 -0.172,0.3 -0.396,0.178 l -2.228,-1.229 c -0.225,-0.125 -0.409,-0.408 -0.414,-0.632 L 79.411,98.6 c -0.008,-0.223 0.181,-0.304 0.396,-0.174 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10622">
+            <path
+               style="fill:#777777"
+               id="path10624"
+               d="m 82.418,93.115 0.2,0.305 c -0.076,0.575 -0.146,1.153 -0.138,1.763 l -0.048,0.035 -0.257,0.01 0.296,0.35 -0.039,1.762 -0.049,0.036 -0.243,0.022 0.086,0.05 -2.763,-0.028 0.032,-1.42 0.015,-0.011 0.256,-0.015 -0.263,-0.301 c 0.033,-0.649 -0.014,-1.28 0.093,-1.946 l 0.016,-0.011 c 0.11,-0.054 0.247,-0.03 0.378,0.059 l -0.074,-0.056 -0.276,-0.36 0.064,-0.545 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10626"
+               d="m 79.657,92.916 c -0.027,0.233 0.116,0.547 0.321,0.697 l 2.105,1.418 c 0.218,0.137 0.398,0.071 0.403,-0.146 l 0.093,-1.148 c 0.025,-0.208 -0.121,-0.492 -0.326,-0.639 L 82.25,93.096 79.669,92.81 Z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10628"
+               d="m 79.455,96.288 -0.025,1.131 2.598,0.026 -2.168,-1.318 c -0.218,-0.138 -0.399,-0.066 -0.405,0.161 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10630"
+               d="m 82.078,95.278 c 0.219,0.136 0.392,0.42 0.387,0.637 l -0.026,1.175 c -0.006,0.216 -0.187,0.289 -0.404,0.16 l -2.17,-1.328 C 79.646,95.784 79.474,95.487 79.48,95.26 l 0.049,-1.239 c 0.027,-0.233 0.215,-0.297 0.42,-0.148 0.66,0.492 1.414,0.951 2.129,1.405 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10632">
+            <path
+               style="fill:#777777"
+               id="path10634"
+               d="m 83.252,89.057 0.146,0.336 -0.476,1.573 -0.058,0.023 -0.258,-0.03 0.255,0.378 -0.197,1.697 -0.052,0.03 -0.244,-0.004 0.082,0.058 -2.747,-0.304 0.172,-1.449 0.016,-0.01 c 0.076,-0.032 0.165,-0.022 0.255,0.018 l -0.229,-0.342 c 0.024,-0.652 0.325,-1.333 0.494,-1.999 l 0.018,-0.008 c 0.117,-0.033 0.246,0.021 0.357,0.139 l -0.062,-0.072 -0.201,-0.433 0.168,-0.552 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10636"
+               d="m 80.626,88.202 c -0.072,0.236 0.007,0.595 0.179,0.792 0.568,0.657 1.158,1.25 1.761,1.775 0.182,0.157 0.378,0.125 0.437,-0.062 l 0.311,-1.026 c 0.056,-0.188 -0.043,-0.489 -0.216,-0.68 L 83.096,88.998 80.66,88.095 Z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10638"
+               d="m 79.807,91.655 -0.137,1.155 2.581,0.286 -2.027,-1.558 c -0.203,-0.166 -0.389,-0.116 -0.417,0.117 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10640"
+               d="m 82.5,90.991 c 0.202,0.164 0.348,0.463 0.324,0.671 l -0.132,1.132 c -0.024,0.208 -0.211,0.261 -0.416,0.112 l -2.028,-1.574 c -0.202,-0.168 -0.343,-0.495 -0.314,-0.728 l 0.355,-1.281 c 0.07,-0.237 0.266,-0.265 0.438,-0.069 0.573,0.645 1.164,1.223 1.773,1.737 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10642">
+            <path
+               style="fill:#777777"
+               id="path10644"
+               d="m 85.331,86.013 -0.047,0.31 c -0.473,0.178 -0.651,0.702 -0.934,1.102 l -0.056,-10e-4 -0.223,-0.129 0.101,0.403 c -0.275,0.397 -0.579,0.782 -0.673,1.344 l -0.054,0.016 -0.233,-0.063 0.069,0.074 -2.592,-0.961 c 0.143,-0.49 0.272,-0.982 0.619,-1.437 l 0.02,-0.005 c 0.089,-0.008 0.171,0.03 0.239,0.099 l -0.056,-0.413 1.26,-1.854 0.021,0.002 c 0.133,0.028 0.219,0.137 0.249,0.285 l -0.013,-0.088 c -0.02,-0.138 0.015,-0.3 0.088,-0.452 l 0.517,-0.37 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10646"
+               d="m 83.512,83.918 c -0.224,0.159 -0.384,0.496 -0.346,0.739 0.135,0.821 0.544,1.728 0.918,2.441 0.121,0.221 0.304,0.268 0.398,0.118 0.205,-0.237 0.269,-0.638 0.579,-0.754 0.146,-0.09 0.213,-0.345 0.166,-0.578 l -0.001,-0.003 -1.614,-2.035 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10648"
+               d="m 81.102,86.938 c -0.281,0.363 -0.287,0.771 -0.442,1.156 l 2.436,0.903 c -0.565,-0.631 -1.185,-1.328 -1.53,-2.049 -0.119,-0.224 -0.324,-0.235 -0.464,-0.01 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10650"
+               d="m 83.968,87.28 c 0.122,0.218 0.149,0.503 0.05,0.649 -0.184,0.267 -0.394,0.518 -0.454,0.893 -0.055,0.189 -0.242,0.193 -0.415,10e-4 -0.609,-0.661 -1.114,-1.321 -1.461,-2.067 -0.117,-0.227 -0.089,-0.604 0.057,-0.826 l 0.8,-1.193 c 0.15,-0.219 0.328,-0.164 0.405,0.108 0.261,0.901 0.607,1.72 1.018,2.435 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10652">
+            <path
+               style="fill:#777777"
+               id="path10654"
+               d="m 88.763,84.527 -0.207,0.262 c -0.498,0.118 -0.999,0.227 -1.506,0.443 l -0.049,-0.033 -0.109,-0.233 -0.174,0.388 c -0.437,0.235 -0.767,0.55 -1.167,0.795 l -0.054,-0.021 -0.166,-0.181 0.021,0.092 -1.718,-2.165 1.4,-0.95 0.018,0.005 0.136,0.215 0.173,-0.43 c 0.671,-0.262 1.293,-0.545 2.027,-0.691 l 0.016,0.011 c 0.092,0.083 0.108,0.222 0.06,0.379 l 0.033,-0.091 c 0.052,-0.141 0.158,-0.279 0.29,-0.394 l 0.602,-0.105 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10656"
+               d="m 88.263,81.802 c -0.267,0.022 -0.546,0.299 -0.638,0.539 -0.309,0.812 -0.491,1.635 -0.601,2.475 -0.033,0.248 0.095,0.392 0.275,0.324 0.33,-0.143 0.656,-0.204 0.981,-0.282 0.179,-0.05 0.376,-0.275 0.457,-0.493 l 0.001,-0.003 -0.356,-2.573 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10658"
+               d="m 84.731,83.082 -1.119,0.765 1.614,2.035 c -0.161,-0.771 -0.214,-1.636 -0.138,-2.559 0.025,-0.279 -0.128,-0.392 -0.357,-0.241 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10660"
+               d="m 86.81,84.895 c -0.019,0.258 -0.227,0.469 -0.339,0.597 l -0.757,0.547 c -0.14,0.095 -0.303,-0.012 -0.348,-0.247 -0.146,-0.786 -0.179,-1.664 -0.083,-2.597 0.024,-0.299 0.249,-0.623 0.486,-0.688 0.431,-0.146 0.831,-0.335 1.29,-0.441 0.253,-0.062 0.378,0.093 0.292,0.341 -0.289,0.8 -0.436,1.677 -0.541,2.488 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10662">
+            <path
+               style="fill:#777777"
+               id="path10664"
+               d="m 92.726,84.942 -0.338,0.164 c -0.603,-0.135 -1.16,-0.265 -1.688,-0.33 l -0.027,-0.051 0.015,-0.257 -0.332,0.263 c -0.504,-0.041 -0.986,-0.052 -1.47,0.02 l -0.036,-0.044 -0.053,-0.238 -0.03,0.091 -0.379,-2.738 c 0.546,-0.068 1.092,-0.115 1.638,-0.079 l 0.013,0.015 c 0.046,0.072 0.047,0.162 0.016,0.256 l 0.349,-0.26 c 0.729,0.069 1.418,0.187 2.066,0.33 l 0.009,0.017 c 0.037,0.113 -0.003,0.246 -0.111,0.367 l 0.066,-0.067 0.385,-0.237 0.513,0.116 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10666"
+               d="m 93.238,82.224 c -0.219,-0.05 -0.537,0.061 -0.711,0.248 -0.587,0.63 -1.163,1.248 -1.653,1.924 -0.146,0.204 -0.103,0.391 0.085,0.414 l 1.103,0.223 c 0.214,0.049 0.526,-0.063 0.699,-0.251 l 0.002,-0.002 0.575,-2.533 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10668"
+               d="m 89.692,81.701 c -0.436,-0.031 -0.873,0.05 -1.31,0.087 l 0.356,2.573 c 0.262,-0.763 0.645,-1.558 1.145,-2.256 0.154,-0.217 0.075,-0.399 -0.191,-0.404 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10670"
+               d="m 90.65,84.367 c -0.141,0.212 -0.408,0.333 -0.583,0.342 -0.327,-0.001 -0.656,-0.036 -0.977,0.021 -0.176,0.019 -0.264,-0.153 -0.181,-0.384 0.279,-0.785 0.684,-1.528 1.202,-2.235 0.158,-0.227 0.502,-0.378 0.751,-0.338 l 1.314,0.218 c 0.235,0.047 0.275,0.237 0.096,0.427 -0.586,0.631 -1.152,1.258 -1.622,1.949 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10672">
+            <path
+               style="fill:#777777"
+               id="path10674"
+               d="m 97.404,85.568 -0.326,0.227 c -0.669,0.003 -1.333,-0.094 -1.999,-0.159 l -0.034,-0.054 c -0.035,-0.078 -0.027,-0.168 0.013,-0.258 l -0.406,0.24 -1.868,-0.368 -0.025,-0.055 0.029,-0.242 -0.068,0.074 0.611,-2.695 1.302,0.273 0.008,0.016 -0.026,0.255 0.311,-0.221 c 0.578,0.116 1.15,0.151 1.725,0.215 l 0.009,0.015 c 0.049,0.104 0.03,0.242 -0.051,0.381 l 0.051,-0.079 0.314,-0.309 0.478,0.013 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10676"
+               d="m 97.357,82.801 c -0.202,-0.005 -0.47,0.167 -0.604,0.385 -0.44,0.715 -0.931,1.384 -1.478,2.069 -0.165,0.204 -0.109,0.391 0.132,0.416 l 1.303,0.113 c 0.241,0.007 0.555,-0.163 0.694,-0.381 l 0.001,-0.003 0.043,-2.597 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10678"
+               d="m 94.379,82.472 -1.041,-0.226 -0.575,2.533 1.697,-1.885 c 0.16,-0.199 0.124,-0.381 -0.081,-0.422 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10680"
+               d="m 95.014,85.22 c -0.165,0.196 -0.493,0.322 -0.729,0.282 l -1.242,-0.249 c -0.227,-0.049 -0.263,-0.24 -0.085,-0.428 l 1.689,-1.899 c 0.16,-0.197 0.449,-0.329 0.65,-0.294 l 1.097,0.126 c 0.2,0.021 0.26,0.208 0.125,0.415 -0.448,0.686 -0.954,1.383 -1.505,2.047 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10682">
+            <path
+               style="fill:#777777"
+               id="path10684"
+               d="m 102.096,85.131 -0.262,0.293 -1.938,0.272 -0.046,-0.042 -0.049,-0.253 -0.335,0.335 c -0.648,0.022 -1.288,0.102 -1.943,0.07 l -0.041,-0.049 -0.023,-0.243 -0.056,0.086 0.046,-2.764 c 0.421,0.028 0.851,-0.009 1.278,-0.03 l 0.011,0.013 0.035,0.254 0.249,-0.282 c 0.582,-0.017 1.173,-0.141 1.759,-0.203 l 0.013,0.013 c 0.072,0.095 0.083,0.232 0.032,0.382 l 0.033,-0.086 0.251,-0.352 0.486,-0.1 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10686"
+               d="m 101.496,82.432 c -0.206,0.045 -0.44,0.273 -0.527,0.501 -0.287,0.777 -0.611,1.561 -0.974,2.348 -0.11,0.236 -0.014,0.404 0.221,0.374 l 1.268,-0.168 c 0.234,-0.03 0.49,-0.277 0.581,-0.518 l 0.001,-0.003 -0.475,-2.554 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10688"
+               d="m 98.465,82.787 -1.016,0.017 -0.043,2.596 c 0.464,-0.706 0.871,-1.468 1.235,-2.223 0.11,-0.227 0.028,-0.402 -0.176,-0.39 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10690"
+               d="m 99.734,85.313 c -0.109,0.242 -0.401,0.428 -0.64,0.443 L 97.8,85.813 c -0.241,-0.006 -0.319,-0.188 -0.182,-0.404 0.455,-0.706 0.855,-1.499 1.213,-2.241 0.108,-0.228 0.357,-0.42 0.562,-0.43 l 1.121,-0.149 c 0.206,-0.026 0.306,0.141 0.218,0.375 -0.295,0.778 -0.628,1.562 -0.998,2.349 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10692">
+            <path
+               style="fill:#777777"
+               id="path10694"
+               d="m 106.569,83.997 -0.22,0.32 -1.844,0.51 -0.051,-0.036 -0.086,-0.242 -0.269,0.389 -1.846,0.4 -0.047,-0.039 -0.07,-0.233 -0.036,0.097 -0.505,-2.717 1.294,-0.267 0.014,0.012 0.079,0.245 0.205,-0.323 1.759,-0.48 0.015,0.011 c 0.084,0.084 0.113,0.22 0.081,0.375 l 0.022,-0.09 0.21,-0.385 0.481,-0.154 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10696"
+               d="m 105.654,81.388 c -0.204,0.074 -0.416,0.317 -0.475,0.561 l -0.641,2.455 c -0.072,0.249 0.048,0.401 0.271,0.341 l 1.205,-0.329 c 0.225,-0.055 0.445,-0.324 0.504,-0.575 l 0.001,-0.003 -0.772,-2.48 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10698"
+               d="m 102.62,82.2 -1.029,0.212 0.475,2.554 0.803,-2.408 c 0.07,-0.241 -0.042,-0.4 -0.249,-0.358 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10700"
+               d="m 104.29,84.472 c -0.072,0.247 -0.312,0.501 -0.536,0.558 l -1.236,0.255 c -0.229,0.047 -0.339,-0.113 -0.25,-0.357 l 0.79,-2.408 c 0.071,-0.232 0.292,-0.488 0.498,-0.542 l 1.12,-0.306 c 0.206,-0.056 0.327,0.097 0.269,0.342 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10702">
+            <path
+               style="fill:#777777"
+               id="path10704"
+               d="m 110.865,82.472 -0.197,0.326 -1.764,0.669 -0.053,-0.033 -0.108,-0.234 -0.232,0.398 -1.761,0.587 -0.051,-0.033 -0.097,-0.224 -0.023,0.1 -0.822,-2.639 1.28,-0.427 0.015,0.01 0.103,0.235 0.178,-0.343 1.736,-0.631 0.015,0.01 c 0.092,0.075 0.131,0.209 0.11,0.367 l 0.016,-0.092 0.182,-0.408 0.478,-0.183 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10706"
+               d="m 109.764,79.933 c -0.203,0.077 -0.398,0.343 -0.438,0.595 l -0.426,2.518 c -0.049,0.252 0.086,0.396 0.297,0.314 l 1.149,-0.438 c 0.211,-0.081 0.417,-0.351 0.458,-0.603 v -0.004 l -0.948,-2.418 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10708"
+               d="m 106.767,81.018 -1.02,0.339 0.772,2.48 0.531,-2.493 c 0.049,-0.249 -0.079,-0.395 -0.283,-0.326 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10710"
+               d="m 108.656,83.128 c -0.049,0.249 -0.267,0.51 -0.482,0.582 l -1.175,0.392 c -0.217,0.072 -0.344,-0.074 -0.286,-0.326 l 0.524,-2.493 c 0.048,-0.249 0.251,-0.506 0.456,-0.573 l 1.104,-0.408 c 0.203,-0.077 0.337,0.063 0.297,0.315 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10712">
+            <path
+               style="fill:#777777"
+               id="path10714"
+               d="m 115.054,80.651 -0.173,0.347 -1.73,0.784 -0.056,-0.028 -0.123,-0.227 c -0.029,0.148 -0.104,0.297 -0.202,0.419 l -1.711,0.702 -0.053,-0.03 -0.112,-0.217 -0.017,0.1 -1.009,-2.573 1.258,-0.504 0.016,0.009 0.118,0.228 0.151,-0.359 1.689,-0.734 0.016,0.008 c 0.095,0.068 0.144,0.199 0.136,0.359 l 0.009,-0.094 0.146,-0.424 0.453,-0.221 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10716"
+               d="m 113.757,78.208 c -0.192,0.094 -0.362,0.376 -0.381,0.632 l -0.26,2.521 c -0.031,0.254 0.111,0.388 0.32,0.297 l 1.13,-0.507 c 0.206,-0.102 0.393,-0.392 0.413,-0.647 l 0.001,-0.003 -1.136,-2.336 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10718"
+               d="m 110.861,79.502 -1.006,0.395 0.948,2.418 0.362,-2.509 c 0.031,-0.254 -0.106,-0.39 -0.304,-0.304 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10720"
+               d="m 112.881,81.462 c -0.031,0.255 -0.229,0.534 -0.438,0.624 l -1.141,0.47 c -0.212,0.081 -0.35,-0.059 -0.309,-0.311 l 0.353,-2.518 c 0.03,-0.254 0.214,-0.527 0.412,-0.613 l 1.079,-0.464 c 0.199,-0.083 0.336,0.039 0.317,0.297 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10722">
+            <path
+               style="fill:#777777"
+               id="path10724"
+               d="m 119.092,78.4 -0.135,0.366 -1.662,0.986 -0.059,-0.021 -0.145,-0.213 c -0.017,0.151 -0.077,0.308 -0.165,0.44 l -1.665,0.853 -0.057,-0.025 -0.129,-0.207 -0.009,0.102 -1.208,-2.485 1.203,-0.592 0.016,0.007 0.138,0.216 0.113,-0.372 1.575,-0.893 0.016,0.006 c 0.102,0.058 0.165,0.182 0.177,0.341 l -0.003,-0.093 0.091,-0.436 0.415,-0.268 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10726"
+               d="m 117.501,76.136 c -0.177,0.114 -0.307,0.411 -0.295,0.666 0.049,0.857 0.031,1.675 0.015,2.534 -0.008,0.258 0.148,0.376 0.351,0.263 l 1.086,-0.64 c 0.197,-0.126 0.353,-0.439 0.343,-0.696 V 78.26 l -1.419,-2.176 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10728"
+               d="m 114.804,77.696 -0.959,0.469 1.136,2.336 0.156,-2.522 c 0.009,-0.252 -0.14,-0.376 -0.333,-0.283 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10730"
+               d="m 116.994,79.463 c -0.007,0.257 -0.18,0.559 -0.382,0.672 l -1.113,0.561 c -0.207,0.101 -0.355,-0.025 -0.334,-0.282 l 0.143,-2.527 c 0.006,-0.257 0.157,-0.547 0.343,-0.65 l 1.008,-0.562 c 0.185,-0.104 0.332,0.002 0.346,0.26 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10732">
+            <path
+               style="fill:#777777"
+               id="path10734"
+               d="m 122.787,75.435 -0.058,0.401 -1.499,1.327 -0.062,-0.012 -0.179,-0.187 c 0.006,0.15 -0.033,0.314 -0.104,0.459 -0.513,0.388 -1.024,0.78 -1.565,1.108 l -0.06,-0.019 -0.154,-0.188 0.003,0.102 -1.51,-2.314 1.075,-0.738 0.017,0.005 0.168,0.193 0.054,-0.377 1.346,-1.111 0.018,0.003 c 0.111,0.04 0.198,0.147 0.24,0.299 l -0.021,-0.089 0.007,-0.427 0.325,-0.339 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10736"
+               d="m 120.741,73.574 c -0.13,0.148 -0.19,0.455 -0.136,0.692 0.201,0.798 0.368,1.638 0.487,2.5 0.029,0.249 0.212,0.354 0.393,0.192 l 0.979,-0.866 c 0.187,-0.151 0.264,-0.524 0.203,-0.771 l -0.001,-0.004 -1.863,-1.81 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10738"
+               d="m 118.445,75.505 -0.864,0.579 1.419,2.176 c -0.031,-0.854 -0.078,-1.681 -0.193,-2.526 -0.034,-0.252 -0.198,-0.353 -0.362,-0.229 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10740"
+               d="m 120.883,76.925 c 0.03,0.254 -0.103,0.578 -0.292,0.721 l -1.044,0.74 c -0.197,0.127 -0.361,0.021 -0.371,-0.236 -0.028,-0.842 -0.098,-1.691 -0.217,-2.53 -0.033,-0.251 0.069,-0.553 0.234,-0.676 l 0.85,-0.713 c 0.151,-0.134 0.326,-0.05 0.386,0.192 0.189,0.797 0.364,1.669 0.454,2.502 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10742">
+            <path
+               style="fill:#777777"
+               id="path10744"
+               d="m 125.541,71.361 0.082,0.4 c -0.289,0.647 -0.636,1.257 -1.023,1.839 l -0.062,0.011 c -0.085,0 -0.162,-0.046 -0.226,-0.123 0.056,0.152 0.06,0.323 0.025,0.484 -0.405,0.543 -0.825,1.069 -1.296,1.534 l -0.062,-0.002 -0.194,-0.148 0.025,0.101 -1.982,-1.926 c 0.282,-0.304 0.586,-0.595 0.818,-0.927 l 0.018,0.001 0.212,0.143 -0.057,-0.365 c 0.351,-0.434 0.623,-0.907 0.877,-1.385 l 0.017,-0.002 c 0.114,0.001 0.234,0.071 0.33,0.197 l -0.053,-0.075 -0.161,-0.392 0.188,-0.405 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10746"
+               d="m 122.955,70.39 c -0.079,0.171 -0.027,0.461 0.121,0.665 0.506,0.677 0.903,1.398 1.271,2.197 0.108,0.242 0.302,0.271 0.437,0.056 l 0.67,-1.197 c 0.108,-0.231 0.101,-0.591 -0.065,-0.811 l -0.002,-0.003 -2.401,-0.988 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10748"
+               d="m 121.468,72.78 -0.665,0.728 1.863,1.81 c -0.22,-0.847 -0.447,-1.626 -0.796,-2.404 -0.101,-0.231 -0.284,-0.287 -0.402,-0.134 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10750"
+               d="m 124.199,73.486 c 0.108,0.243 0.052,0.594 -0.099,0.794 l -0.866,1.022 c -0.169,0.179 -0.354,0.113 -0.419,-0.139 -0.214,-0.83 -0.48,-1.629 -0.833,-2.396 -0.103,-0.229 -0.093,-0.533 0.027,-0.686 l 0.552,-0.883 c 0.081,-0.17 0.271,-0.149 0.416,0.056 0.481,0.686 0.859,1.417 1.222,2.232 z"
+               enable-background="new    " />
+          </g>
+          <g
+             id="g10752">
+            <path
+               style="fill:#777777"
+               id="path10754"
+               d="m 126.514,66.591 0.212,0.328 c -0.046,0.648 -0.107,1.321 -0.239,1.999 l -0.055,0.033 c -0.079,0.034 -0.168,0.022 -0.257,-0.022 l 0.229,0.434 c -0.149,0.664 -0.341,1.325 -0.6,1.967 l -0.06,0.022 c -0.078,0.017 -0.159,-0.01 -0.234,-0.064 l 0.062,0.086 -2.556,-1.052 0.374,-1.132 0.016,-0.006 0.252,0.046 -0.195,-0.307 0.265,-1.667 0.015,-0.009 c 0.106,-0.047 0.246,-0.023 0.378,0.061 l -0.075,-0.052 -0.294,-0.329 0.036,-0.487 z" />
+            <path
+               style="fill:#c4c4c4"
+               id="path10756"
+               d="m 123.745,66.531 c -0.015,0.207 0.145,0.485 0.356,0.627 0.686,0.462 1.383,0.967 2.018,1.544 0.192,0.176 0.384,0.126 0.429,-0.119 l 0.151,-1.306 c 0.018,-0.235 -0.14,-0.549 -0.351,-0.694 l -0.003,-0.002 -2.594,-0.144 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10758"
+               d="m 123.294,69.416 -0.31,0.893 2.401,0.988 c -0.518,-0.722 -1.044,-1.347 -1.668,-1.916 -0.183,-0.169 -0.374,-0.149 -0.423,0.035 z"
+               enable-background="new    " />
+            <path
+               style="fill:#c4c4c4"
+               id="path10760"
+               d="m 126.07,68.971 c 0.19,0.178 0.316,0.527 0.241,0.772 -0.113,0.441 -0.231,0.883 -0.405,1.312 -0.089,0.239 -0.285,0.251 -0.44,0.037 -0.509,-0.704 -1.078,-1.33 -1.701,-1.886 -0.182,-0.167 -0.292,-0.442 -0.265,-0.637 l 0.162,-1.063 c 0.024,-0.198 0.211,-0.252 0.416,-0.112 0.685,0.467 1.366,0.986 1.992,1.577 z"
+               enable-background="new    " />
+          </g>
+          <path
+             style="fill:url(#radialGradient11909)"
+             id="path10762"
+             d="m 108.161,81.08 c -8.613,3.106 -12.224,2.276 -15.123,1.61 -2.167,-0.498 -4.213,-0.969 -7.432,0.411 -6.178,2.647 -5.897,11.008 -5.544,21.594 l 0.188,8.575 c 0,4.023 -0.842,6.799 -2.575,8.485 -2.636,2.564 -7.169,2.44 -11.97,2.309 l -1.182,-0.031 -0.047,2 1.174,0.03 c 5.004,0.138 10.177,0.281 13.419,-2.874 2.141,-2.083 3.181,-5.327 3.181,-9.919 l -0.188,-8.643 c -0.342,-10.205 -0.588,-17.58 4.332,-19.688 2.62,-1.122 4.12,-0.777 6.196,-0.301 3.155,0.726 7.083,1.629 16.249,-1.678 15.535,-5.603 17.133,-11.396 17.409,-16.385 l -1.996,-0.111 c -0.253,4.551 -1.704,9.427 -16.091,14.616 z" />
+          <path
+             id="path10764"
+             d="m 61.710678,1.7125992 c -0.075,0.027 -7.6685,2.54025 -22.1875,0.28125 -3.123,-0.486 -5.46025,-0.0065 -7.15625,1.4375 -3.224001,2.7469999 -3.25025,8.4254998 -3.28125,14.4374998 -0.028,5.341 -0.067,10.863 -2.25,14.625 -2.330999,4.014001 -6.8355,7.4575 -11.1875,10.8125 C 8.9531782,48.46835 2.0544282,53.817099 2.0544282,61.650099 h 0.15625 c 1.060867,-6.759304 7.3316598,-11.636005 13.4374998,-16.34375 4.352,-3.355 8.856501,-6.798499 11.1875,-10.8125 2.183,-3.762 2.221999,-9.284 2.25,-14.625 0.031,-6.012 0.05725,-11.6904999 3.28125,-14.4374998 1.132804,-0.964486 2.56337,-1.494139 4.3125,-1.59375 0.397789,-0.022654 0.817742,-0.021586 1.25,0 0.12592,0.00749 0.244877,0.01937 0.375,0.03125 0.03202,0.00249 0.06155,-0.00272 0.09375,0 0.264595,0.026018 0.530527,0.049877 0.8125,0.09375 0.10643,0.014563 0.204195,0.014396 0.3125,0.03125 1.769395,0.275299 3.437402,0.47857 5,0.625 0.04016,0.00376 0.08497,-0.00369 0.125,0 0.782055,0.070938 1.550748,0.143113 2.28125,0.1875 0.01,6.1e-4 0.02126,-6.05e-4 0.03125,0 1.487617,0.090202 2.858445,0.127376 4.125,0.125 0.03994,-1.6e-5 0.08527,9.1e-5 0.125,0 1.215496,-0.00489 2.336531,-0.029519 3.34375,-0.09375 4.694309,-0.29936 7.114062,-1.109813 7.15625,-1.125 l 0.03125,0.0625 c 0.343868,-0.09511 0.579365,-0.171485 0.625,-0.1875 z"
+             style="opacity:0.676712;fill:#ffffff;fill-opacity:1;filter:url(#filter3866)" />
+          <g
+             style="filter:url(#filter3934)"
+             id="g10766">
+            <linearGradient
+               id="linearGradient10768"
+               gradientUnits="userSpaceOnUse"
+               x1="87.068398"
+               y1="24.355499"
+               x2="87.068398"
+               y2="53.477501">
+              <stop
+                 offset="0"
+                 style="stop-color:#CF5F32"
+                 id="stop10770" />
+              <stop
+                 offset="1"
+                 style="stop-color:#803F00"
+                 id="stop10772" />
+            </linearGradient>
+            <linearGradient
+               id="linearGradient10774"
+               gradientUnits="userSpaceOnUse"
+               x1="40.932098"
+               y1="24.355499"
+               x2="40.932098"
+               y2="53.477501">
+              <stop
+                 offset="0"
+                 style="stop-color:#CF5F32"
+                 id="stop10776" />
+              <stop
+                 offset="1"
+                 style="stop-color:#803F00"
+                 id="stop10778" />
+            </linearGradient>
+          </g>
+          <rect
+             x="61"
+             y="122.73"
+             width="6"
+             height="4"
+             id="rect10780"
+             style="fill:url(#linearGradient11911)" />
+          <rect
+             x="61"
+             y="1.229"
+             width="6"
+             height="3.75"
+             id="rect10782"
+             style="fill:url(#linearGradient11913)" />
+          <rect
+             style="fill:none"
+             y="0"
+             x="0"
+             height="128"
+             width="128"
+             id="rect10784" />
+          <path
+             id="path10786"
+             d="m 124.125,66.21875 c -0.253,4.551003 -1.70675,9.436 -16.09375,14.625 -8.613,3.105998 -12.226,2.25975 -15.125,1.59375 -2.16699,-0.498002 -4.2185,-0.97375 -7.4375,0.40625 -4.77995,2.047999 -5.68235,7.539426 -5.6875,14.8125 0.08984,-6.781222 1.12548,-11.857875 5.6875,-13.8125 3.219,-1.38 5.27051,-0.904252 7.4375,-0.40625 2.899,0.666 6.512,1.512248 15.125,-1.59375 14.387,-5.189 15.84075,-10.073997 16.09375,-14.625 l 1.9375,0.09375 c 0.0322,-0.328457 0.0447,-0.677975 0.0625,-1 z M 81.8125,100.6875 c 0.02885,1.49181 0.0697,3.03741 0.125,4.6875 l 0.1875,8.03125 c 0.0017,-0.12763 0,-0.24522 0,-0.375 L 81.9375,104.375 c -0.04275,-1.27562 -0.09515,-2.50507 -0.125,-3.6875 z m -1.6875,12.84375 c -0.07009,3.74478 -0.90481,6.35602 -2.5625,7.96875 -2.636,2.564 -7.16775,2.4435 -11.96875,2.3125 l -1.1875,-0.0313 -0.0625,2 H 64.375 l 0.03125,-1 1.1875,0.0313 c 4.801,0.131 9.33275,0.2515 11.96875,-2.3125 1.733,-1.686 2.5625,-4.44575 2.5625,-8.46875 z"
+             style="opacity:0.810959;fill:#ffffff;fill-opacity:1;filter:url(#filter4198)" />
+          <path
+             id="path10788"
+             d="m 61.136895,4.6893178 h 5.928112 c 0,0 0.20704,0.5946507 -0.276054,0.5946507 -0.483093,0 -5.790086,0 -5.790086,0 C 60.86837,5.0661398 60.748727,4.849517 61.136895,4.6893178 Z"
+             style="fill:#70a0d2;fill-opacity:1;fill-rule:evenodd;stroke:none;filter:url(#filter4292)" />
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/flags/standard/internet-telephony.svg b/flags/standard/internet-telephony.svg
new file mode 100644 (file)
index 0000000..1ce873a
--- /dev/null
@@ -0,0 +1,1763 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="128"
+   height="128"
+   viewBox="0 0 124.584 88.732"
+   id="Layer_1"
+   xml:space="preserve"
+   sodipodi:docname="internet-telephony.svg"
+   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"><metadata
+   id="metadata361"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+   pagecolor="#ffffff"
+   bordercolor="#666666"
+   borderopacity="1"
+   objecttolerance="10"
+   gridtolerance="10"
+   guidetolerance="10"
+   inkscape:pageopacity="0"
+   inkscape:pageshadow="2"
+   inkscape:window-width="1920"
+   inkscape:window-height="1006"
+   id="namedview359"
+   showgrid="false"
+   inkscape:zoom="4.90625"
+   inkscape:cx="64"
+   inkscape:cy="64"
+   inkscape:window-x="0"
+   inkscape:window-y="0"
+   inkscape:window-maximized="1"
+   inkscape:current-layer="Layer_1" /><defs
+   id="defs643" />
+<radialGradient
+   cx="62.292"
+   cy="8.7803001"
+   r="40.710899"
+   id="XMLID_74_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#79b5e5;stop-opacity:1"
+   offset="0"
+   id="stop4" />
+       <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.73030001"
+   id="stop6" />
+       <stop
+   style="stop-color:#4788d5;stop-opacity:1"
+   offset="0.79619998"
+   id="stop8" />
+       <stop
+   style="stop-color:#3e7ac9;stop-opacity:1"
+   offset="0.86860001"
+   id="stop10" />
+       <stop
+   style="stop-color:#2f64b5;stop-opacity:1"
+   offset="0.94379997"
+   id="stop12" />
+       <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="1"
+   id="stop14" />
+</radialGradient>
+<path
+   d="M 29.388,17.561 C 38.123,11.967 38.883,13.623 62.292,13.623 C 85.703,13.623 86.319,11.967 95.054,17.561 C 98.044,15.647 119.193,17.97 119.193,15.75 C 119.193,7.053 93.718,0 62.293,0 C 30.868,0 5.393,7.053 5.393,15.75 C 5.392,17.97 26.399,15.646 29.388,17.561 z "
+   style="fill:url(#XMLID_74_)"
+   id="path16" />
+<linearGradient
+   x1="5.3920999"
+   y1="14.7554"
+   x2="119.1924"
+   y2="14.7554"
+   id="XMLID_75_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="0"
+   id="stop19" />
+       <stop
+   style="stop-color:#1a66bf;stop-opacity:1"
+   offset="0.5"
+   id="stop21" />
+       <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="1"
+   id="stop23" />
+</linearGradient>
+<path
+   d="M 95.054,15.668 C 86.32,10.678 85.703,12.154 62.292,12.154 C 38.883,12.154 38.124,10.677 29.388,15.668 C 26.582,14.064 7.901,15.793 5.622,14.373 C 5.479,14.827 5.392,15.286 5.392,15.75 C 5.392,17.97 26.399,15.646 29.388,17.561 C 38.123,11.967 38.883,13.623 62.292,13.623 C 85.703,13.623 86.319,11.967 95.054,17.561 C 98.044,15.647 119.193,17.97 119.193,15.75 C 119.193,15.286 119.105,14.826 118.962,14.372 C 116.674,15.793 97.86,14.063 95.054,15.668 z "
+   style="fill:url(#XMLID_75_)"
+   id="path25" />
+<radialGradient
+   cx="109.2588"
+   cy="24.2549"
+   r="15.6304"
+   fx="109.7688"
+   fy="15.8816"
+   id="XMLID_76_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop28" />
+       <stop
+   style="stop-color:#79b5e5;stop-opacity:1"
+   offset="0.30899999"
+   id="stop30" />
+       <stop
+   style="stop-color:#79b5e5;stop-opacity:1"
+   offset="0.46630001"
+   id="stop32" />
+       <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="1"
+   id="stop34" />
+</radialGradient>
+<path
+   d="M 124.584,23.649 C 124.584,27.389 123.243,35.357 121.02,38.018 C 118.208,41.378 113.99,40.109 109.258,38.974 C 101.029,36.999 93.935,32.114 93.935,23.649 C 93.935,19.467 95.609,15.675 98.325,12.911 C 102.78,10.973 104.977,8.325 109.259,8.325 C 117.722,8.325 124.584,15.186 124.584,23.649 z "
+   style="fill:url(#XMLID_76_)"
+   id="path36" />
+<radialGradient
+   cx="89.372101"
+   cy="10.2539"
+   r="47.000999"
+   id="XMLID_77_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop39" />
+       <stop
+   style="stop-color:#1a66bf;stop-opacity:1"
+   offset="0.83710003"
+   id="stop41" />
+       <stop
+   style="stop-color:#0f3880;stop-opacity:1"
+   offset="0.99440002"
+   id="stop43" />
+</radialGradient>
+<path
+   d="M 122.359,15.728 C 123.054,17.479 123.449,19.381 123.449,21.38 C 123.449,25.12 122.109,33.088 119.883,35.748 C 117.073,39.108 112.853,37.84 108.124,36.704 C 102.543,35.365 97.494,32.683 94.816,28.46 C 96.948,34.01 102.738,37.41 109.257,38.975 C 113.988,40.11 118.206,41.379 121.019,38.019 C 123.243,35.358 124.583,27.39 124.583,23.65 C 124.584,20.746 123.762,18.042 122.359,15.728 z "
+   style="fill:url(#XMLID_77_)"
+   id="path45" />
+<radialGradient
+   cx="15.3247"
+   cy="24.2549"
+   r="15.6301"
+   fx="17.275999"
+   fy="17.991899"
+   id="XMLID_78_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop48" />
+       <stop
+   style="stop-color:#79b5e5;stop-opacity:1"
+   offset="0.30899999"
+   id="stop50" />
+       <stop
+   style="stop-color:#79b5e5;stop-opacity:1"
+   offset="0.46630001"
+   id="stop52" />
+       <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="1"
+   id="stop54" />
+</radialGradient>
+<path
+   d="M 0,23.649 C 0,27.389 1.339,35.357 3.565,38.018 C 6.376,41.378 10.594,40.109 15.325,38.974 C 23.555,36.999 30.65,32.114 30.65,23.649 C 30.65,19.771 29.21,16.228 26.833,13.53 C 19.534,11.351 19.91,8.325 15.325,8.325 C 6.86,8.325 0,15.186 0,23.649 z "
+   style="fill:url(#XMLID_78_)"
+   id="path56" />
+<radialGradient
+   cx="15.8696"
+   cy="25.728001"
+   r="23.921"
+   id="XMLID_79_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop59" />
+       <stop
+   style="stop-color:#1a66bf;stop-opacity:1"
+   offset="0.62360001"
+   id="stop61" />
+       <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="1"
+   id="stop63" />
+</radialGradient>
+<path
+   d="M 16.46,36.704 C 11.729,37.84 9.766,34.48 6.375,31.706 C 2.507,28.541 1.53,17.477 2.226,15.727 C 0.823,18.041 0,20.746 0,23.649 C 0,27.389 1.339,35.357 3.565,38.018 C 6.376,41.378 10.594,40.109 15.325,38.974 C 21.844,37.41 27.637,34.009 29.769,28.459 C 27.09,32.683 22.04,35.364 16.46,36.704 z "
+   style="fill:url(#XMLID_79_)"
+   id="path65" />
+<linearGradient
+   x1="13.5981"
+   y1="25.7397"
+   x2="28.744499"
+   y2="34.426899"
+   id="XMLID_80_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop68" />
+       <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="1"
+   id="stop70" />
+</linearGradient>
+<path
+   d="M 30.591,22.379 L 29.184,20.055 C 29.184,20.055 28.642,22.254 20.794,32.937 C 18.189,35.169 14.027,38.071 11.65,39.247 C 12.02,39.157 14.947,39.066 15.325,38.976 C 23.555,37.001 30.65,32.116 30.65,23.651 C 30.649,23.222 30.625,22.798 30.591,22.379 z "
+   style="opacity:0.5;fill:url(#XMLID_80_)"
+   id="path72" />
+<linearGradient
+   x1="61.819302"
+   y1="15.6982"
+   x2="61.819302"
+   y2="1.6073999"
+   id="XMLID_81_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="0"
+   id="stop75" />
+       <stop
+   style="stop-color:#1a66bf;stop-opacity:1"
+   offset="0.55059999"
+   id="stop77" />
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="1"
+   id="stop79" />
+</linearGradient>
+<path
+   d="M 7.897,14.964 C 12.552,8.439 34.298,4.62 61.82,4.62 C 89.341,4.62 108.854,7.435 113.511,13.958 C 114.073,13.823 119.001,15.876 118.856,15.67 C 112.766,7.095 92.706,1.608 61.82,1.608 C 30.937,1.608 10.132,7.095 4.785,15.67 C 4.652,15.883 7.335,14.83 7.897,14.964 z "
+   style="fill:url(#XMLID_81_)"
+   id="path81" />
+<linearGradient
+   x1="62.292"
+   y1="73.028297"
+   x2="62.292"
+   y2="15.5151"
+   id="XMLID_82_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop84" />
+       <stop
+   style="stop-color:#def1ff;stop-opacity:1"
+   offset="0.0503"
+   id="stop86" />
+       <stop
+   style="stop-color:#c4e5ff;stop-opacity:1"
+   offset="0.0998"
+   id="stop88" />
+       <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="0.1292"
+   id="stop90" />
+       <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="1"
+   id="stop92" />
+</linearGradient>
+<path
+   d="M 102.954,65.856 C 101.093,37.544 95.399,20.054 95.399,20.054 C 95.399,20.054 80.834,15.514 62.292,15.514 C 43.75,15.514 29.184,20.054 29.184,20.054 C 29.184,20.054 23.491,37.546 21.63,65.865 C 21.63,66.134 21.683,73.028 27.103,73.028 C 32.631,73.028 62.293,73.028 62.293,73.028 C 62.293,73.028 91.955,73.028 97.483,73.028 C 102.932,73.028 102.954,66.055 102.954,65.856 z "
+   style="fill:url(#XMLID_82_)"
+   id="path94" />
+<g
+   id="g96">
+       <linearGradient
+   x1="95.560501"
+   y1="20.690399"
+   x2="95.631798"
+   y2="20.690399"
+   id="XMLID_83_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop99" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop101" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop103" />
+       </linearGradient>
+       <path
+   d="M 95.561,20.573 C 95.584,20.644 95.606,20.722 95.632,20.807 C 95.605,20.72 95.584,20.646 95.561,20.573 z "
+   style="fill:url(#XMLID_83_)"
+   id="path105" />
+       <linearGradient
+   x1="95.784203"
+   y1="22.263201"
+   x2="96.310501"
+   y2="22.263201"
+   id="XMLID_84_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop108" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop110" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop112" />
+       </linearGradient>
+       <path
+   d="M 95.784,21.325 C 95.928,21.813 96.106,22.442 96.31,23.201 C 96.106,22.443 95.928,21.812 95.784,21.325 z "
+   style="fill:url(#XMLID_84_)"
+   id="path114" />
+       <linearGradient
+   x1="95.677696"
+   y1="21.1348"
+   x2="95.779297"
+   y2="21.1348"
+   id="XMLID_85_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop117" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop119" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop121" />
+       </linearGradient>
+       <path
+   d="M 95.678,20.962 C 95.709,21.07 95.743,21.179 95.78,21.308 C 95.743,21.179 95.71,21.069 95.678,20.962 z "
+   style="fill:url(#XMLID_85_)"
+   id="path123" />
+       <linearGradient
+   x1="95.4189"
+   y1="20.1499"
+   x2="95.440399"
+   y2="20.1499"
+   id="XMLID_86_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop126" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop128" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop130" />
+       </linearGradient>
+       <path
+   d="M 95.419,20.115 C 95.424,20.13 95.434,20.161 95.44,20.184 C 95.433,20.157 95.424,20.133 95.419,20.115 z "
+   style="fill:url(#XMLID_86_)"
+   id="path132" />
+       <linearGradient
+   x1="96.321297"
+   y1="23.6201"
+   x2="96.523399"
+   y2="23.6201"
+   id="XMLID_87_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop135" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop137" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop139" />
+       </linearGradient>
+       <path
+   d="M 96.321,23.238 C 96.386,23.479 96.454,23.736 96.523,24.002 C 96.454,23.736 96.388,23.479 96.321,23.238 z "
+   style="fill:url(#XMLID_87_)"
+   id="path141" />
+       <linearGradient
+   x1="101.8428"
+   y1="54.5625"
+   x2="102.084"
+   y2="54.5625"
+   id="XMLID_88_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop144" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop146" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop148" />
+       </linearGradient>
+       <path
+   d="M 101.843,53.458 C 101.925,54.183 102.006,54.92 102.084,55.667 C 102.006,54.92 101.926,54.183 101.843,53.458 z "
+   style="fill:url(#XMLID_88_)"
+   id="path150" />
+       <linearGradient
+   x1="102.1084"
+   y1="60.8242"
+   x2="102.9473"
+   y2="60.8242"
+   id="XMLID_89_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop153" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop155" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop157" />
+       </linearGradient>
+       <path
+   d="M 102.108,55.894 C 102.433,59.01 102.718,62.302 102.947,65.755 C 102.719,62.3 102.434,59.012 102.108,55.894 z "
+   style="fill:url(#XMLID_89_)"
+   id="path159" />
+       <linearGradient
+   x1="96.549797"
+   y1="38.7085"
+   x2="101.8271"
+   y2="38.7085"
+   id="XMLID_90_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop162" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop164" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop166" />
+       </linearGradient>
+       <path
+   d="M 96.55,24.098 C 97.927,29.336 100.241,39.465 101.827,53.32 C 100.24,39.458 97.927,29.33 96.55,24.098 z "
+   style="fill:url(#XMLID_90_)"
+   id="path168" />
+       <linearGradient
+   x1="29.142599"
+   y1="20.1499"
+   x2="29.165001"
+   y2="20.1499"
+   id="XMLID_91_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop171" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop173" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop175" />
+       </linearGradient>
+       <path
+   d="M 29.143,20.185 C 29.151,20.162 29.16,20.13 29.165,20.116 C 29.159,20.133 29.151,20.157 29.143,20.185 z "
+   style="fill:url(#XMLID_91_)"
+   id="path177" />
+       <linearGradient
+   x1="95.471703"
+   y1="20.3599"
+   x2="95.519501"
+   y2="20.3599"
+   id="XMLID_92_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop180" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop182" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop184" />
+       </linearGradient>
+       <path
+   d="M 95.472,20.279 C 95.485,20.325 95.503,20.382 95.52,20.44 C 95.502,20.38 95.484,20.327 95.472,20.279 z "
+   style="fill:url(#XMLID_92_)"
+   id="path186" />
+       <linearGradient
+   x1="27.808599"
+   y1="24.5352"
+   x2="28.0327"
+   y2="24.5352"
+   id="XMLID_93_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop189" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop191" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop193" />
+       </linearGradient>
+       <path
+   d="M 27.809,24.969 C 27.887,24.666 27.962,24.377 28.033,24.102 C 27.961,24.377 27.887,24.666 27.809,24.969 z "
+   style="fill:url(#XMLID_93_)"
+   id="path195" />
+       <linearGradient
+   x1="22.4995"
+   y1="54.563499"
+   x2="22.7397"
+   y2="54.563499"
+   id="XMLID_94_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop198" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop200" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop202" />
+       </linearGradient>
+       <path
+   d="M 22.5,55.659 C 22.578,54.92 22.658,54.189 22.74,53.468 C 22.658,54.19 22.578,54.92 22.5,55.659 z "
+   style="fill:url(#XMLID_94_)"
+   id="path204" />
+       <linearGradient
+   x1="22.757299"
+   y1="39.152802"
+   x2="27.8032"
+   y2="39.152802"
+   id="XMLID_95_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop207" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop209" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop211" />
+       </linearGradient>
+       <path
+   d="M 22.757,53.317 C 24.257,40.213 26.41,30.44 27.803,24.988 C 26.41,30.436 24.258,40.206 22.757,53.317 z "
+   style="fill:url(#XMLID_95_)"
+   id="path213" />
+       <linearGradient
+   x1="21.637699"
+   y1="60.8311"
+   x2="22.4736"
+   y2="60.8311"
+   id="XMLID_96_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop216" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop218" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop220" />
+       </linearGradient>
+       <path
+   d="M 21.638,65.75 C 21.865,62.306 22.15,59.023 22.474,55.913 C 22.15,59.023 21.865,62.304 21.638,65.75 z "
+   style="fill:url(#XMLID_96_)"
+   id="path222" />
+       <linearGradient
+   x1="21.0415"
+   y1="77.295898"
+   x2="103.543"
+   y2="77.295898"
+   id="XMLID_97_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop225" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop227" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop229" />
+       </linearGradient>
+       <path
+   d="M 103.537,83.624 C 103.537,77.319 103.318,71.387 102.954,65.858 C 102.954,66.071 102.926,73.028 97.482,73.028 C 91.954,73.028 62.292,73.028 62.292,73.028 C 62.292,73.028 32.63,73.028 27.102,73.028 C 21.689,73.028 21.629,66.151 21.629,65.868 C 21.266,71.392 21.047,77.323 21.047,83.624 C 21.047,83.624 20.667,88.732 26.155,88.732 C 31.642,88.732 62.291,88.732 62.291,88.732 C 62.291,88.732 92.941,88.732 98.428,88.732 C 103.915,88.732 103.537,83.624 103.537,83.624 z "
+   style="fill:url(#XMLID_97_)"
+   id="path231" />
+       <linearGradient
+   x1="28.278799"
+   y1="22.257799"
+   x2="28.795401"
+   y2="22.257799"
+   id="XMLID_98_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop234" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop236" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop238" />
+       </linearGradient>
+       <path
+   d="M 28.279,23.18 C 28.481,22.436 28.655,21.819 28.796,21.336 C 28.655,21.817 28.481,22.437 28.279,23.18 z "
+   style="fill:url(#XMLID_98_)"
+   id="path240" />
+       <linearGradient
+   x1="28.805201"
+   y1="21.127001"
+   x2="28.9102"
+   y2="21.127001"
+   id="XMLID_99_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop243" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop245" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop247" />
+       </linearGradient>
+       <path
+   d="M 28.805,21.306 C 28.843,21.174 28.877,21.061 28.91,20.949 C 28.877,21.061 28.843,21.173 28.805,21.306 z "
+   style="fill:url(#XMLID_99_)"
+   id="path249" />
+       <linearGradient
+   x1="28.949699"
+   y1="20.691401"
+   x2="29.024401"
+   y2="20.691401"
+   id="XMLID_100_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop252" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop254" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop256" />
+       </linearGradient>
+       <path
+   d="M 28.95,20.816 C 28.976,20.724 29.002,20.642 29.025,20.566 C 29.001,20.643 28.977,20.723 28.95,20.816 z "
+   style="fill:url(#XMLID_100_)"
+   id="path258" />
+       <linearGradient
+   x1="28.059601"
+   y1="23.623501"
+   x2="28.2612"
+   y2="23.623501"
+   id="XMLID_101_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop261" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop263" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop265" />
+       </linearGradient>
+       <path
+   d="M 28.06,24 C 28.13,23.737 28.197,23.484 28.262,23.247 C 28.197,23.484 28.13,23.737 28.06,24 z "
+   style="fill:url(#XMLID_101_)"
+   id="path267" />
+       <linearGradient
+   x1="29.061501"
+   y1="20.361799"
+   x2="29.112801"
+   y2="20.361799"
+   id="XMLID_102_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop270" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.118"
+   id="stop272" />
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="1"
+   id="stop274" />
+       </linearGradient>
+       <path
+   d="M 29.062,20.444 C 29.081,20.384 29.099,20.326 29.113,20.279 C 29.098,20.327 29.081,20.382 29.062,20.444 z "
+   style="fill:url(#XMLID_102_)"
+   id="path276" />
+</g>
+<linearGradient
+   x1="62.2925"
+   y1="88.732399"
+   x2="62.2925"
+   y2="83.084"
+   id="XMLID_103_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="0"
+   id="stop279" />
+       <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="1"
+   id="stop281" />
+</linearGradient>
+<path
+   d="M 103.537,83.624 C 103.537,83.441 103.532,83.266 103.531,83.084 C 103.458,84.378 102.841,87.678 98.428,87.678 C 92.942,87.678 62.291,87.678 62.291,87.678 C 62.291,87.678 31.642,87.678 26.155,87.678 C 21.743,87.678 21.124,84.38 21.051,83.086 C 21.051,83.267 21.047,83.442 21.047,83.624 C 21.047,83.624 20.667,88.732 26.155,88.732 C 31.642,88.732 62.291,88.732 62.291,88.732 C 62.291,88.732 92.941,88.732 98.428,88.732 C 103.915,88.732 103.537,83.624 103.537,83.624 z "
+   style="fill:url(#XMLID_103_)"
+   id="path283" />
+<g
+   id="g285">
+       <linearGradient
+   x1="62.292"
+   y1="44.271999"
+   x2="21.6294"
+   y2="44.271999"
+   id="XMLID_104_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="0.0674"
+   id="stop288" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.9382"
+   id="stop290" />
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="1"
+   id="stop292" />
+       </linearGradient>
+       <path
+   d="M 21.629,65.865 C 21.629,66.134 21.682,73.028 27.102,73.028 C 27.701,73.028 28.597,73.028 29.693,73.028 C 24.672,73.028 24.623,66.133 24.623,65.865 C 26.347,37.547 31.621,20.054 31.621,20.054 C 31.621,20.054 45.115,15.514 62.291,15.514 C 43.749,15.514 29.183,20.054 29.183,20.054 C 29.183,20.054 23.49,37.547 21.629,65.865 z "
+   style="fill:url(#XMLID_104_)"
+   id="path294" />
+       <linearGradient
+   x1="102.9541"
+   y1="44.271999"
+   x2="62.2925"
+   y2="44.271999"
+   id="XMLID_105_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="0.0674"
+   id="stop297" />
+               <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="0.9382"
+   id="stop299" />
+               <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="1"
+   id="stop301" />
+       </linearGradient>
+       <path
+   d="M 95.399,20.055 C 95.399,20.055 80.834,15.515 62.292,15.515 C 79.469,15.515 92.962,20.055 92.962,20.055 C 92.962,20.055 98.235,37.544 99.96,65.857 C 99.96,66.055 99.939,73.029 94.892,73.029 C 95.988,73.029 96.884,73.029 97.483,73.029 C 102.932,73.029 102.955,66.055 102.955,65.857 C 101.093,37.544 95.399,20.055 95.399,20.055 z "
+   style="fill:url(#XMLID_105_)"
+   id="path303" />
+</g>
+<linearGradient
+   x1="60.1479"
+   y1="50.498001"
+   x2="60.1479"
+   y2="-5.1406002"
+   id="XMLID_106_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.8426,0,0,0.7918,11.6125,28.1239)">
+       <stop
+   style="stop-color:#79b5e5;stop-opacity:1"
+   offset="0"
+   id="stop306" />
+       <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="0.55620003"
+   id="stop308" />
+       <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="1"
+   id="stop310" />
+</linearGradient>
+<path
+   d="M 62.291,68.108 C 43.44,68.108 29.954,56.382 31.965,43.595 C 33.741,32.306 47.264,24.053 62.292,24.053 C 77.317,24.053 90.843,32.306 92.621,43.595 C 94.632,56.383 81.143,68.108 62.291,68.108 z "
+   style="fill:url(#XMLID_106_)"
+   id="path312" />
+<radialGradient
+   cx="58.8018"
+   cy="-23.2593"
+   r="73.982597"
+   id="XMLID_107_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#7d7d77;stop-opacity:1"
+   offset="0"
+   id="stop315" />
+       <stop
+   style="stop-color:#eeeeee;stop-opacity:1"
+   offset="0.1621"
+   id="stop317" />
+       <stop
+   style="stop-color:#e5e5e5;stop-opacity:1"
+   offset="0.2978"
+   id="stop319" />
+       <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop321" />
+</radialGradient>
+<path
+   d="M 35.693,43.438 C 35.609,44.068 35.568,44.702 35.568,45.332 C 35.568,49.103 37.04,52.829 39.813,55.993 C 44.712,61.58 53.114,64.917 62.288,64.917 C 71.465,64.917 79.868,61.58 84.768,55.991 C 88.006,52.297 89.471,47.842 88.89,43.438 C 87.579,33.516 75.894,25.743 62.287,25.743 C 48.68,25.743 36.999,33.517 35.693,43.438 z "
+   style="fill:url(#XMLID_107_)"
+   id="path323" />
+<radialGradient
+   cx="60.1455"
+   cy="-17.5068"
+   r="77.993401"
+   id="XMLID_108_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.8426,0,0,0.6899,11.6125,83.8739)">
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop326" />
+       <stop
+   style="stop-color:#eeeeee;stop-opacity:1"
+   offset="0.1621"
+   id="stop328" />
+       <stop
+   style="stop-color:#babdb6;stop-opacity:1"
+   offset="0.264"
+   id="stop330" />
+       <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="0.55059999"
+   id="stop332" />
+       <stop
+   style="stop-color:#babdb6;stop-opacity:1"
+   offset="0.77530003"
+   id="stop334" />
+       <stop
+   style="stop-color:#eeeeee;stop-opacity:1"
+   offset="1"
+   id="stop336" />
+</radialGradient>
+<path
+   d="M 62.288,63.709 C 46.819,63.709 35.492,54.19 36.89,43.596 C 38.147,34.05 49.491,26.951 62.288,26.951 C 75.083,26.951 86.433,34.049 87.693,43.596 C 89.091,54.19 77.757,63.709 62.288,63.709 z "
+   style="fill:url(#XMLID_108_)"
+   id="path338" />
+<g
+   id="g340">
+       
+               <linearGradient
+   x1="60.0737"
+   y1="31.994101"
+   x2="60.0737"
+   y2="27.555099"
+   id="XMLID_109_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(2.2192,-0.667)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop343" />
+               <stop
+   style="stop-color:#000000;stop-opacity:1"
+   offset="0.6742"
+   id="stop345" />
+       </linearGradient>
+       <path
+   d="M 66.079,30.394 C 66.116,31.808 64.421,32.973 62.292,32.973 C 60.164,32.973 58.468,31.808 58.505,30.394 C 58.542,29.012 60.237,27.909 62.292,27.909 C 64.347,27.909 66.041,29.012 66.079,30.394 z "
+   style="fill:url(#XMLID_109_)"
+   id="path347" />
+       
+               <linearGradient
+   x1="60.0737"
+   y1="30.369101"
+   x2="60.0737"
+   y2="32.399399"
+   id="XMLID_110_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(2.2192,-0.667)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop350" />
+               <stop
+   style="stop-color:#e8e8e8;stop-opacity:1"
+   offset="1"
+   id="stop352" />
+       </linearGradient>
+       <path
+   d="M 64.961,30.394 C 64.978,31.385 63.782,32.2 62.292,32.2 C 60.8,32.2 59.606,31.386 59.626,30.394 C 59.643,29.419 60.836,28.637 62.292,28.637 C 63.746,28.637 64.941,29.419 64.961,30.394 z "
+   style="fill:url(#XMLID_110_)"
+   id="path354" />
+</g>
+<g
+   id="g356">
+       
+               <linearGradient
+   x1="60.0723"
+   y1="60.848598"
+   x2="60.0723"
+   y2="54.887699"
+   id="XMLID_111_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(2.2192,-0.667)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop359" />
+               <stop
+   style="stop-color:#000000;stop-opacity:1"
+   offset="0.6742"
+   id="stop361" />
+       </linearGradient>
+       <path
+   d="M 66.679,58.921 C 66.731,60.818 64.765,62.392 62.292,62.392 C 59.819,62.392 57.854,60.82 57.903,58.921 C 57.951,57.064 59.918,55.591 62.292,55.591 C 64.668,55.591 66.632,57.063 66.679,58.921 z "
+   style="fill:url(#XMLID_111_)"
+   id="path363" />
+       
+               <linearGradient
+   x1="60.0718"
+   y1="58.661098"
+   x2="60.0718"
+   y2="61.387501"
+   id="XMLID_112_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(2.2192,-0.667)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop366" />
+               <stop
+   style="stop-color:#e8e8e8;stop-opacity:1"
+   offset="1"
+   id="stop368" />
+       </linearGradient>
+       <path
+   d="M 65.382,58.921 C 65.407,60.254 64.023,61.346 62.292,61.346 C 60.559,61.346 59.177,60.254 59.201,58.921 C 59.225,57.609 60.608,56.564 62.292,56.564 C 63.974,56.563 65.358,57.608 65.382,58.921 z "
+   style="fill:url(#XMLID_112_)"
+   id="path370" />
+</g>
+<g
+   id="g372">
+       
+               <linearGradient
+   x1="43.033699"
+   y1="12.7969"
+   x2="43.033699"
+   y2="7.4259"
+   id="XMLID_113_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(39.0454,36.1592)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop375" />
+               <stop
+   style="stop-color:#000000;stop-opacity:1"
+   offset="0.6742"
+   id="stop377" />
+       </linearGradient>
+       <path
+   d="M 86.341,47.826 C 86.563,49.533 84.795,50.946 82.392,50.946 C 79.989,50.946 77.933,49.535 77.805,47.826 C 77.675,46.15 79.451,44.817 81.762,44.817 C 84.076,44.819 86.125,46.151 86.341,47.826 z "
+   style="fill:url(#XMLID_113_)"
+   id="path379" />
+       
+               <linearGradient
+   x1="43.027802"
+   y1="10.8281"
+   x2="43.027802"
+   y2="13.285"
+   id="XMLID_114_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(39.0454,36.1592)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop382" />
+               <stop
+   style="stop-color:#e8e8e8;stop-opacity:1"
+   offset="1"
+   id="stop384" />
+       </linearGradient>
+       <path
+   d="M 85.078,47.826 C 85.223,49.024 83.978,50.007 82.296,50.007 C 80.611,50.007 79.163,49.023 79.065,47.826 C 78.964,46.639 80.211,45.697 81.853,45.697 C 83.491,45.697 84.936,46.642 85.078,47.826 z "
+   style="fill:url(#XMLID_114_)"
+   id="path386" />
+</g>
+<g
+   id="g388">
+       
+               <linearGradient
+   x1="77.113297"
+   y1="86.450203"
+   x2="77.113297"
+   y2="81.079697"
+   id="XMLID_115_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-34.6074,-37.4932)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop391" />
+               <stop
+   style="stop-color:#000000;stop-opacity:1"
+   offset="0.6742"
+   id="stop393" />
+       </linearGradient>
+       <path
+   d="M 46.782,47.826 C 46.651,49.533 44.595,50.946 42.193,50.946 C 39.791,50.946 38.024,49.535 38.244,47.826 C 38.459,46.15 40.509,44.817 42.823,44.817 C 45.135,44.819 46.909,46.151 46.782,47.826 z "
+   style="fill:url(#XMLID_115_)"
+   id="path395" />
+       
+               <linearGradient
+   x1="77.116203"
+   y1="84.4795"
+   x2="77.116203"
+   y2="86.936401"
+   id="XMLID_116_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-34.6074,-37.4932)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop398" />
+               <stop
+   style="stop-color:#e8e8e8;stop-opacity:1"
+   offset="1"
+   id="stop400" />
+       </linearGradient>
+       <path
+   d="M 45.519,47.826 C 45.419,49.024 43.971,50.007 42.29,50.007 C 40.607,50.007 39.361,49.023 39.506,47.826 C 39.651,46.639 41.094,45.697 42.732,45.697 C 44.37,45.697 45.62,46.642 45.519,47.826 z "
+   style="fill:url(#XMLID_116_)"
+   id="path402" />
+</g>
+<g
+   id="g404">
+       
+               <linearGradient
+   x1="41.979"
+   y1="4.3052001"
+   x2="41.979"
+   y2="-0.80940002"
+   id="XMLID_117_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(39.0454,36.1592)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop407" />
+               <stop
+   style="stop-color:#000000;stop-opacity:1"
+   offset="0.6742"
+   id="stop409" />
+       </linearGradient>
+       <path
+   d="M 85.083,39.388 C 85.294,41.015 83.61,42.36 81.322,42.36 C 79.033,42.36 77.075,41.016 76.953,39.388 C 76.83,37.793 78.52,36.524 80.723,36.524 C 82.926,36.525 84.878,37.794 85.083,39.388 z "
+   style="fill:url(#XMLID_117_)"
+   id="path411" />
+       
+               <linearGradient
+   x1="41.973099"
+   y1="2.4296999"
+   x2="41.973099"
+   y2="4.7691002"
+   id="XMLID_118_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(39.0454,36.1592)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop414" />
+               <stop
+   style="stop-color:#e8e8e8;stop-opacity:1"
+   offset="1"
+   id="stop416" />
+       </linearGradient>
+       <path
+   d="M 83.88,39.388 C 84.019,40.53 82.832,41.465 81.231,41.465 C 79.627,41.465 78.248,40.528 78.153,39.388 C 78.057,38.259 79.246,37.362 80.808,37.362 C 82.369,37.361 83.744,38.26 83.88,39.388 z "
+   style="fill:url(#XMLID_118_)"
+   id="path418" />
+</g>
+<g
+   id="g420">
+       
+               <linearGradient
+   x1="78.1689"
+   y1="77.959"
+   x2="78.1689"
+   y2="72.844398"
+   id="XMLID_119_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-34.6074,-37.4932)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop423" />
+               <stop
+   style="stop-color:#000000;stop-opacity:1"
+   offset="0.6742"
+   id="stop425" />
+       </linearGradient>
+       <path
+   d="M 47.634,39.388 C 47.509,41.015 45.551,42.36 43.263,42.36 C 40.974,42.36 39.291,41.016 39.502,39.388 C 39.707,37.793 41.658,36.524 43.862,36.524 C 46.065,36.525 47.755,37.794 47.634,39.388 z "
+   style="fill:url(#XMLID_119_)"
+   id="path427" />
+       
+               <linearGradient
+   x1="78.172897"
+   y1="76.082001"
+   x2="78.172897"
+   y2="78.421402"
+   id="XMLID_120_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-34.6074,-37.4932)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop430" />
+               <stop
+   style="stop-color:#e8e8e8;stop-opacity:1"
+   offset="1"
+   id="stop432" />
+       </linearGradient>
+       <path
+   d="M 46.431,39.388 C 46.336,40.53 44.957,41.465 43.355,41.465 C 41.753,41.465 40.566,40.528 40.704,39.388 C 40.841,38.259 42.216,37.362 43.777,37.362 C 45.336,37.361 46.526,38.26 46.431,39.388 z "
+   style="fill:url(#XMLID_120_)"
+   id="path434" />
+</g>
+<g
+   id="g436">
+       
+               <linearGradient
+   x1="48.8853"
+   y1="34.659199"
+   x2="48.8853"
+   y2="30.0399"
+   id="XMLID_121_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(2.2192,-0.667)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop439" />
+               <stop
+   style="stop-color:#000000;stop-opacity:1"
+   offset="0.6742"
+   id="stop441" />
+       </linearGradient>
+       <path
+   d="M 53.94,31.181 C 55.385,32.192 55.313,33.857 53.739,34.908 C 52.141,35.97 49.645,35.97 48.201,34.908 C 46.78,33.858 46.95,32.192 48.542,31.181 C 50.114,30.186 52.514,30.186 53.94,31.181 z "
+   style="fill:url(#XMLID_121_)"
+   id="path443" />
+       
+               <linearGradient
+   x1="396.51071"
+   y1="540.89258"
+   x2="396.51071"
+   y2="543.47693"
+   id="XMLID_122_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-612.376,-69.6977)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop446" />
+               <stop
+   style="stop-color:#e8e8e8;stop-opacity:1"
+   offset="1"
+   id="stop448" />
+       </linearGradient>
+       <path
+   d="M 53.109,31.716 C 54.125,32.435 54.065,33.608 52.953,34.341 C 51.831,35.083 50.085,35.083 49.07,34.341 C 48.066,33.608 48.176,32.434 49.296,31.716 C 50.406,31.011 52.104,31.011 53.109,31.716 z "
+   style="fill:url(#XMLID_122_)"
+   id="path450" />
+</g>
+<g
+   id="g452">
+       
+               <linearGradient
+   x1="71.260696"
+   y1="34.660198"
+   x2="71.260696"
+   y2="30.0403"
+   id="XMLID_123_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(2.2192,-0.667)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop455" />
+               <stop
+   style="stop-color:#000000;stop-opacity:1"
+   offset="0.6742"
+   id="stop457" />
+       </linearGradient>
+       <path
+   d="M 76.041,31.181 C 77.634,32.192 77.803,33.857 76.382,34.908 C 74.94,35.97 72.439,35.97 70.846,34.908 C 69.27,33.858 69.2,32.192 70.642,31.181 C 72.069,30.186 74.469,30.186 76.041,31.181 z "
+   style="fill:url(#XMLID_123_)"
+   id="path459" />
+       
+               <linearGradient
+   x1="375.50201"
+   y1="519.84381"
+   x2="375.50201"
+   y2="522.55048"
+   id="XMLID_124_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-560.295,-69.6977)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop462" />
+               <stop
+   style="stop-color:#e8e8e8;stop-opacity:1"
+   offset="1"
+   id="stop464" />
+       </linearGradient>
+       <path
+   d="M 75.29,31.716 C 76.409,32.435 76.517,33.608 75.515,34.341 C 74.499,35.083 72.75,35.083 71.629,34.341 C 70.521,33.608 70.458,32.434 71.475,31.716 C 72.478,31.01 74.178,31.01 75.29,31.716 z "
+   style="fill:url(#XMLID_124_)"
+   id="path466" />
+</g>
+<g
+   id="g468">
+       
+               <linearGradient
+   x1="46.368698"
+   y1="57.116199"
+   x2="46.368698"
+   y2="51.421902"
+   id="XMLID_125_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(2.2192,-0.667)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop471" />
+               <stop
+   style="stop-color:#000000;stop-opacity:1"
+   offset="0.6742"
+   id="stop473" />
+       </linearGradient>
+       <path
+   d="M 51.747,52.983 C 53.346,54.222 53.256,56.278 51.5,57.573 C 49.717,58.887 46.94,58.887 45.347,57.573 C 43.781,56.278 43.99,54.222 45.766,52.983 C 47.514,51.759 50.175,51.758 51.747,52.983 z "
+   style="fill:url(#XMLID_125_)"
+   id="path475" />
+       
+               <linearGradient
+   x1="415.83499"
+   y1="591.53223"
+   x2="415.83499"
+   y2="594.49127"
+   id="XMLID_126_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.7071,-0.7071,0.7071,0.7071,-664.4561,-69.6977)">
+               <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop478" />
+               <stop
+   style="stop-color:#e8e8e8;stop-opacity:1"
+   offset="1"
+   id="stop480" />
+       </linearGradient>
+       <path
+   d="M 50.823,53.646 C 51.944,54.523 51.868,55.971 50.631,56.876 C 49.38,57.79 47.436,57.79 46.319,56.873 C 45.211,55.971 45.345,54.522 46.595,53.645 C 47.83,52.776 49.714,52.776 50.823,53.646 z "
+   style="fill:url(#XMLID_126_)"
+   id="path482" />
+</g>
+<radialGradient
+   cx="58.505402"
+   cy="30.394501"
+   r="28.741199"
+   id="XMLID_127_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#eeeeec;stop-opacity:1"
+   offset="0"
+   id="stop485" />
+       <stop
+   style="stop-color:#d3d7cf;stop-opacity:1"
+   offset="0.1927"
+   id="stop487" />
+       <stop
+   style="stop-color:#babdb6;stop-opacity:1"
+   offset="0.35389999"
+   id="stop489" />
+       <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="0.99440002"
+   id="stop491" />
+</radialGradient>
+<ellipse
+   cx="62.417999"
+   cy="43.285999"
+   rx="11.535"
+   ry="8.8889999"
+   style="fill:url(#XMLID_127_)"
+   id="ellipse493" />
+<radialGradient
+   cx="60.061501"
+   cy="56.609402"
+   r="23.858801"
+   id="XMLID_128_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.8426,0,0,0.9057,9.7424,-0.4544)">
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0"
+   id="stop496" />
+       <stop
+   style="stop-color:#babdb6;stop-opacity:1"
+   offset="0.35389999"
+   id="stop498" />
+       <stop
+   style="stop-color:#656565;stop-opacity:1"
+   offset="0.99440002"
+   id="stop500" />
+</radialGradient>
+<path
+   d="M 62.292,34.293 C 56.087,34.293 50.873,38.138 50.631,43.06 C 50.38,48.19 55.595,52.519 62.291,52.519 C 68.988,52.519 74.204,48.19 73.953,43.06 C 73.715,38.138 68.494,34.293 62.292,34.293 z M 62.291,50.842 C 55.937,50.842 50.958,47.937 51.187,43.06 C 51.406,38.372 56.384,34.696 62.292,34.696 C 68.202,34.696 73.182,38.372 73.401,43.06 C 73.629,47.937 68.648,50.842 62.291,50.842 z "
+   style="fill:url(#XMLID_128_)"
+   id="path502" />
+<linearGradient
+   x1="43.562"
+   y1="10.9736"
+   x2="43.562"
+   y2="19.6758"
+   id="XMLID_129_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#79b5e5;stop-opacity:1"
+   offset="0"
+   id="stop505" />
+       <stop
+   style="stop-color:#1a66bf;stop-opacity:1"
+   offset="1"
+   id="stop507" />
+</linearGradient>
+<path
+   d="M 33.535,19.676 L 35.806,10.974 C 35.806,10.974 48.67,16.65 53.59,16.65 L 33.535,19.676 z "
+   style="fill:url(#XMLID_129_)"
+   id="path509" />
+<linearGradient
+   x1="9.8978996"
+   y1="10.9741"
+   x2="9.8978996"
+   y2="19.6763"
+   id="XMLID_130_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,1,90.9199,0)">
+       <stop
+   style="stop-color:#79b5e5;stop-opacity:1"
+   offset="0"
+   id="stop512" />
+       <stop
+   style="stop-color:#1a66bf;stop-opacity:1"
+   offset="1"
+   id="stop514" />
+</linearGradient>
+<path
+   d="M 91.048,19.676 L 88.778,10.974 C 88.778,10.974 75.915,16.65 70.995,16.65 L 91.048,19.676 z "
+   style="fill:url(#XMLID_130_)"
+   id="path516" />
+<linearGradient
+   x1="42.929699"
+   y1="16.8965"
+   x2="36.762901"
+   y2="10.7297"
+   id="XMLID_131_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#1a66bf;stop-opacity:1"
+   offset="0"
+   id="stop519" />
+       <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="1"
+   id="stop521" />
+</linearGradient>
+<path
+   d="M 35.837,10.721 L 34.818,14.627 C 37.625,13.542 40.354,13.354 45.277,13.401 C 41.996,12.252 35.837,10.721 35.837,10.721 z "
+   style="fill:url(#XMLID_131_)"
+   id="path523" />
+<path
+   d="M 33.535,19.676 L 35.806,10.974 C 35.806,10.974 48.67,16.65 53.59,16.65 L 33.535,19.676 z "
+   style="fill:url(#XMLID_129_)"
+   id="path525" />
+<linearGradient
+   x1="43.159698"
+   y1="11.1836"
+   x2="43.159698"
+   y2="17.2402"
+   id="XMLID_133_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="0"
+   id="stop528" />
+       <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="1"
+   id="stop530" />
+</linearGradient>
+<path
+   d="M 40.958,15.366 C 42.666,15.741 45.78,17.322 50.195,16.656 C 45.14,15.473 38.11,12.514 36.141,11.665 C 35.907,12.564 37.917,13.866 40.958,15.366 z "
+   style="fill:url(#XMLID_133_)"
+   id="path532" />
+<linearGradient
+   x1="77.542"
+   y1="16.7812"
+   x2="89.041702"
+   y2="12.2814"
+   id="XMLID_134_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#1a66bf;stop-opacity:1"
+   offset="0"
+   id="stop535" />
+       <stop
+   style="stop-color:#204fa1;stop-opacity:1"
+   offset="1"
+   id="stop537" />
+</linearGradient>
+<path
+   d="M 88.825,11.028 C 88.825,11.028 82.589,12.252 79.307,13.401 C 84.258,13.354 86.953,13.552 89.778,14.681 L 88.825,11.028 z "
+   style="fill:url(#XMLID_134_)"
+   id="path539" />
+<path
+   d="M 91.048,19.676 L 88.778,10.974 C 88.778,10.974 75.915,16.65 70.995,16.65 L 91.048,19.676 z "
+   style="fill:url(#XMLID_130_)"
+   id="path541" />
+<linearGradient
+   x1="81.424797"
+   y1="10.3657"
+   x2="81.424797"
+   y2="17.3666"
+   id="XMLID_136_"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   style="stop-color:#bae1ff;stop-opacity:1"
+   offset="0"
+   id="stop544" />
+       <stop
+   style="stop-color:#4a8cd9;stop-opacity:1"
+   offset="1"
+   id="stop546" />
+</linearGradient>
+<path
+   d="M 74.388,16.656 C 78.803,17.323 83.917,15.241 85.959,14.533 C 86.917,13.616 88.677,12.564 88.441,11.665 C 86.473,12.514 79.443,15.473 74.388,16.656 z "
+   style="fill:url(#XMLID_136_)"
+   id="path548" />
+<radialGradient
+   cx="69.6035"
+   cy="47.722698"
+   r="16.312901"
+   id="XMLID_137_"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.057,-0.21,0.2079,1.0465,-12.4896,13.1179)">
+       <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="0.2753"
+   id="stop551" />
+       <stop
+   style="stop-color:#888a85;stop-opacity:1"
+   offset="0.55059999"
+   id="stop553" />
+       <stop
+   style="stop-color:#ffffff;stop-opacity:1"
+   offset="0.7978"
+   id="stop555" />
+       <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="1"
+   id="stop557" />
+</radialGradient>
+<path
+   d="M 69.766,50.746 L 72.151,64.684 C 72.151,64.684 78.12,63.873 79.966,61.613 L 71.24,50.454 L 69.766,50.746 z "
+   style="fill:url(#XMLID_137_)"
+   id="path559" />
+<g
+   id="g561">
+       <linearGradient
+   x1="62.876499"
+   y1="59.977501"
+   x2="62.876499"
+   y2="56.999001"
+   id="XMLID_138_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="0"
+   id="stop564" />
+               <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop566" />
+       </linearGradient>
+       <path
+   d="M 61.845,59.658 C 61.965,59.662 62.104,59.658 62.294,59.639 C 62.617,59.614 62.921,59.52 63.155,59.361 C 63.428,59.188 63.623,58.935 63.699,58.593 L 63.68,58.593 C 63.451,58.789 63.123,58.905 62.705,58.905 C 61.964,58.905 61.49,58.514 61.49,58.017 C 61.49,57.478 62.059,56.998 62.902,56.998 C 63.745,56.998 64.263,57.472 64.263,58.213 C 64.263,58.847 63.959,59.289 63.553,59.568 C 63.238,59.781 62.801,59.918 62.358,59.954 C 62.155,59.972 61.972,59.98 61.845,59.975 L 61.845,59.658 L 61.845,59.658 z M 62.851,57.296 C 62.383,57.296 62.047,57.588 62.047,57.996 C 62.047,58.354 62.357,58.607 62.838,58.607 C 63.212,58.607 63.504,58.479 63.655,58.306 C 63.68,58.271 63.699,58.225 63.699,58.163 C 63.706,57.668 63.439,57.295 62.857,57.295 L 62.851,57.295 L 62.851,57.296 z "
+   style="fill:url(#XMLID_138_)"
+   id="path568" />
+</g>
+<g
+   id="g570">
+       <linearGradient
+   x1="49.145"
+   y1="56.811501"
+   x2="49.145"
+   y2="53.834"
+   id="XMLID_139_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="0"
+   id="stop573" />
+               <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop575" />
+       </linearGradient>
+       <path
+   d="M 49.187,53.834 C 49.984,53.834 50.389,54.18 50.389,54.543 C 50.389,54.787 50.212,55.053 49.705,55.217 L 49.705,55.23 C 50.218,55.373 50.535,55.629 50.535,55.974 C 50.535,56.48 49.921,56.812 49.136,56.812 C 48.275,56.812 47.757,56.458 47.757,56.037 C 47.757,55.674 48.067,55.412 48.567,55.262 L 48.567,55.248 C 48.105,55.098 47.909,54.85 47.909,54.602 C 47.909,54.145 48.46,53.835 49.181,53.835 L 49.187,53.835 L 49.187,53.834 z M 49.154,56.528 C 49.654,56.528 49.977,56.31 49.977,56.013 C 49.977,55.668 49.629,55.495 49.072,55.384 C 48.591,55.482 48.331,55.707 48.331,55.983 C 48.312,56.271 48.628,56.528 49.148,56.528 L 49.154,56.528 z M 49.167,54.113 C 48.705,54.113 48.451,54.326 48.451,54.573 C 48.445,54.862 48.761,55.016 49.236,55.106 C 49.59,55.021 49.863,54.844 49.863,54.583 C 49.863,54.353 49.667,54.113 49.173,54.113 L 49.167,54.113 z "
+   style="fill:url(#XMLID_139_)"
+   id="path577" />
+</g>
+<g
+   id="g579">
+       <linearGradient
+   x1="43"
+   y1="49.167999"
+   x2="43"
+   y2="46.575199"
+   id="XMLID_140_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="0"
+   id="stop582" />
+               <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop584" />
+       </linearGradient>
+       <path
+   d="M 44.168,46.575 L 44.168,46.806 L 42.556,49.167 L 42.043,49.167 L 43.644,46.873 L 43.644,46.866 L 41.832,46.866 L 41.832,46.574 L 44.168,46.574 L 44.168,46.575 z "
+   style="fill:url(#XMLID_140_)"
+   id="path586" />
+</g>
+<g
+   id="g588">
+       <linearGradient
+   x1="44.0308"
+   y1="40.628899"
+   x2="44.0308"
+   y2="38.097698"
+   id="XMLID_141_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="0"
+   id="stop591" />
+               <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop593" />
+       </linearGradient>
+       <path
+   d="M 44.886,38.369 C 44.789,38.365 44.666,38.373 44.531,38.388 C 43.783,38.471 43.396,38.852 43.315,39.258 L 43.326,39.258 C 43.493,39.1 43.789,38.972 44.176,38.972 C 44.795,38.972 45.231,39.288 45.231,39.763 C 45.231,40.215 44.794,40.629 44.063,40.629 C 43.321,40.629 42.831,40.223 42.831,39.586 C 42.831,39.104 43.073,38.724 43.423,38.479 C 43.714,38.28 44.101,38.155 44.542,38.118 C 44.682,38.103 44.8,38.098 44.886,38.098 L 44.886,38.369 L 44.886,38.369 z M 44.074,40.373 C 44.477,40.373 44.752,40.136 44.752,39.786 C 44.752,39.435 44.466,39.224 44.031,39.224 C 43.746,39.224 43.477,39.344 43.348,39.525 C 43.321,39.563 43.3,39.608 43.3,39.669 C 43.305,40.071 43.574,40.373 44.069,40.373 L 44.074,40.373 z "
+   style="fill:url(#XMLID_141_)"
+   id="path595" />
+</g>
+<g
+   id="g597">
+       <linearGradient
+   x1="51.420898"
+   y1="34.382801"
+   x2="51.420898"
+   y2="32.039101"
+   id="XMLID_142_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="0"
+   id="stop600" />
+               <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop602" />
+       </linearGradient>
+       <path
+   d="M 52.378,32.302 L 51.122,32.302 L 50.996,32.887 C 51.072,32.88 51.143,32.872 51.265,32.872 C 51.523,32.872 51.771,32.911 51.973,32.996 C 52.231,33.096 52.444,33.298 52.444,33.596 C 52.444,34.046 51.932,34.383 51.218,34.383 C 50.858,34.383 50.559,34.312 50.398,34.24 L 50.509,34.003 C 50.646,34.06 50.914,34.131 51.218,34.131 C 51.633,34.131 51.998,33.94 51.993,33.628 C 51.993,33.322 51.704,33.113 51.051,33.113 C 50.858,33.113 50.712,33.124 50.59,33.137 L 50.802,32.038 L 52.378,32.038 L 52.378,32.302 z "
+   style="fill:url(#XMLID_142_)"
+   id="path604" />
+</g>
+<g
+   id="g606">
+       <linearGradient
+   x1="62.755901"
+   y1="31.0732"
+   x2="62.755901"
+   y2="28.7686"
+   id="XMLID_143_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="0"
+   id="stop609" />
+               <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop611" />
+       </linearGradient>
+       <path
+   d="M 63.08,31.073 L 63.08,30.446 L 61.55,30.446 L 61.55,30.244 L 63.019,28.768 L 63.5,28.768 L 63.5,30.205 L 63.961,30.205 L 63.961,30.446 L 63.5,30.446 L 63.5,31.073 L 63.08,31.073 z M 63.08,30.205 L 63.08,29.432 C 63.08,29.312 63.085,29.191 63.096,29.071 L 63.08,29.071 C 62.979,29.206 62.898,29.305 62.807,29.415 L 62.002,30.198 L 62.002,30.206 L 63.08,30.206 L 63.08,30.205 z "
+   style="fill:url(#XMLID_143_)"
+   id="path613" />
+</g>
+<g
+   id="g615">
+       <linearGradient
+   x1="74.321297"
+   y1="34.382801"
+   x2="74.321297"
+   y2="32"
+   id="XMLID_144_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="0"
+   id="stop618" />
+               <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop620" />
+       </linearGradient>
+       <path
+   d="M 73.414,33.989 C 73.541,34.042 73.829,34.131 74.143,34.131 C 74.71,34.131 74.893,33.879 74.888,33.685 C 74.883,33.362 74.467,33.223 74.038,33.223 L 73.788,33.223 L 73.788,32.99 L 74.038,32.99 C 74.361,32.99 74.771,32.873 74.771,32.6 C 74.771,32.415 74.604,32.252 74.194,32.252 C 73.93,32.252 73.676,32.333 73.536,32.404 L 73.414,32.177 C 73.592,32.089 73.927,32 74.281,32 C 74.927,32 75.222,32.27 75.222,32.55 C 75.222,32.791 75.014,32.993 74.614,33.096 L 74.614,33.103 C 75.019,33.157 75.348,33.37 75.348,33.692 C 75.348,34.06 74.933,34.383 74.148,34.383 C 73.779,34.383 73.454,34.301 73.293,34.227 L 73.414,33.989 z "
+   style="fill:url(#XMLID_144_)"
+   id="path622" />
+</g>
+<g
+   id="g624">
+       <linearGradient
+   x1="81.711899"
+   y1="40.495098"
+   x2="81.711899"
+   y2="38.005901"
+   id="XMLID_145_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="0"
+   id="stop627" />
+               <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop629" />
+       </linearGradient>
+       <path
+   d="M 80.595,40.495 L 80.595,40.292 L 80.966,40.04 C 81.86,39.444 82.268,39.128 82.268,38.76 C 82.268,38.511 82.101,38.281 81.58,38.281 C 81.264,38.281 80.999,38.393 80.838,38.488 L 80.688,38.255 C 80.923,38.115 81.274,38.006 81.678,38.006 C 82.426,38.006 82.743,38.367 82.743,38.718 C 82.743,39.17 82.275,39.535 81.537,40.032 L 81.264,40.213 L 81.264,40.221 L 82.829,40.221 L 82.829,40.495 L 80.595,40.495 z "
+   style="fill:url(#XMLID_145_)"
+   id="path631" />
+</g>
+<g
+   id="g633">
+       <linearGradient
+   x1="82.176804"
+   y1="49.061501"
+   x2="82.176804"
+   y2="46.4688"
+   id="XMLID_146_"
+   gradientUnits="userSpaceOnUse">
+               <stop
+   style="stop-color:#2e3436;stop-opacity:1"
+   offset="0"
+   id="stop636" />
+               <stop
+   style="stop-color:#555753;stop-opacity:1"
+   offset="1"
+   id="stop638" />
+       </linearGradient>
+       <path
+   d="M 82.312,46.796 L 82.299,46.796 L 81.656,47.039 L 81.558,46.772 L 82.368,46.468 L 82.795,46.468 L 82.795,49.061 L 82.312,49.061 L 82.312,46.796 z "
+   style="fill:url(#XMLID_146_)"
+   id="path640" />
+</g>
+</svg>
diff --git a/flags/standard/kalarm.svg b/flags/standard/kalarm.svg
new file mode 100644 (file)
index 0000000..ad5986b
--- /dev/null
@@ -0,0 +1,857 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xml:space="preserve"
+   width="128px"
+   height="128px"
+   shape-rendering="geometricPrecision"
+   text-rendering="geometricPrecision"
+   image-rendering="optimizeQuality"
+   fill-rule="evenodd"
+   clip-rule="evenodd"
+   viewBox="0 0 128 128"
+   version="1.1"
+   id="svg271"><metadata
+   id="metadata275"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata>
+ <defs
+   id="defs222">
+   <mask
+   id="id0">
+     <linearGradient
+   id="id1"
+   gradientUnits="userSpaceOnUse"
+   x1="66.2677"
+   y1="123.942"
+   x2="13.2781"
+   y2="123.942">
+      <stop
+   offset="0"
+   stop-opacity="1"
+   stop-color="white"
+   id="stop2" />
+      <stop
+   offset="1"
+   stop-opacity="0"
+   stop-color="white"
+   id="stop4" />
+     </linearGradient>
+    <rect
+   fill="url(#id1)"
+   x="12.8269"
+   y="119.49"
+   width="53.8908"
+   height="8.90444"
+   id="rect7" />
+   </mask>
+   <mask
+   id="id2">
+     <linearGradient
+   id="id3"
+   gradientUnits="userSpaceOnUse"
+   x1="66.2429"
+   y1="123.737"
+   x2="119.233"
+   y2="123.737">
+      <stop
+   offset="0"
+   stop-opacity="1"
+   stop-color="white"
+   id="stop10" />
+      <stop
+   offset="1"
+   stop-opacity="0"
+   stop-color="white"
+   id="stop12" />
+     </linearGradient>
+    <rect
+   fill="url(#id3)"
+   x="65.7929"
+   y="119.286"
+   width="53.8908"
+   height="8.90444"
+   id="rect15" />
+   </mask>
+   <mask
+   id="id4">
+     <linearGradient
+   id="id5"
+   gradientUnits="userSpaceOnUse"
+   x1="98.4839"
+   y1="124.484"
+   x2="75.0671"
+   y2="124.484">
+      <stop
+   offset="0"
+   stop-opacity="1"
+   stop-color="white"
+   id="stop18" />
+      <stop
+   offset="0.2"
+   stop-opacity="0.501961"
+   stop-color="white"
+   id="stop20" />
+      <stop
+   offset="1"
+   stop-opacity="0"
+   stop-color="white"
+   id="stop22" />
+     </linearGradient>
+    <rect
+   fill="url(#id5)"
+   x="67.4406"
+   y="121.6"
+   width="38.6698"
+   height="5.76857"
+   id="rect25" />
+   </mask>
+   <mask
+   id="id6">
+     <linearGradient
+   id="id7"
+   gradientUnits="userSpaceOnUse"
+   x1="32.326"
+   y1="124.215"
+   x2="52.7569"
+   y2="124.526">
+      <stop
+   offset="0"
+   stop-opacity="1"
+   stop-color="white"
+   id="stop28" />
+      <stop
+   offset="0.25098"
+   stop-opacity="0.501961"
+   stop-color="white"
+   id="stop30" />
+      <stop
+   offset="1"
+   stop-opacity="0"
+   stop-color="white"
+   id="stop32" />
+     </linearGradient>
+    <rect
+   fill="url(#id7)"
+   x="23.2066"
+   y="121.486"
+   width="38.6698"
+   height="5.76857"
+   id="rect35" />
+   </mask>
+   <linearGradient
+   id="id8"
+   gradientUnits="userSpaceOnUse"
+   x1="23.2668"
+   y1="114.071"
+   x2="40.5395"
+   y2="124.042">
+    <stop
+   offset="0"
+   stop-color="#999EA2"
+   id="stop38" />
+    <stop
+   offset="0.368627"
+   stop-color="#B6BBBF"
+   id="stop40" />
+    <stop
+   offset="0.501961"
+   stop-color="white"
+   id="stop42" />
+    <stop
+   offset="0.631373"
+   stop-color="#2B2828"
+   id="stop44" />
+    <stop
+   offset="0.74902"
+   stop-color="#B1B6BA"
+   id="stop46" />
+    <stop
+   offset="1"
+   stop-color="#B5BABE"
+   id="stop48" />
+   </linearGradient>
+   <linearGradient
+   id="id9"
+   gradientUnits="userSpaceOnUse"
+   x1="88.7822"
+   y1="124.313"
+   x2="106.045"
+   y2="114.346">
+    <stop
+   offset="0"
+   stop-color="#999EA2"
+   id="stop51" />
+    <stop
+   offset="0.121569"
+   stop-color="#9BA0A4"
+   id="stop53" />
+    <stop
+   offset="0.321569"
+   stop-color="#DDDEE1"
+   id="stop55" />
+    <stop
+   offset="0.458824"
+   stop-color="#2B2828"
+   id="stop57" />
+    <stop
+   offset="0.611765"
+   stop-color="#7A8184"
+   id="stop59" />
+    <stop
+   offset="0.741176"
+   stop-color="#94999D"
+   id="stop61" />
+    <stop
+   offset="1"
+   stop-color="#999EA2"
+   id="stop63" />
+   </linearGradient>
+   <linearGradient
+   id="id10"
+   gradientUnits="userSpaceOnUse"
+   x1="11.4427"
+   y1="38.6674"
+   x2="116.912"
+   y2="38.6674">
+    <stop
+   offset="0"
+   stop-color="#33393F"
+   id="stop66" />
+    <stop
+   offset="0.121569"
+   stop-color="#676D73"
+   id="stop68" />
+    <stop
+   offset="0.258824"
+   stop-color="white"
+   id="stop70" />
+    <stop
+   offset="0.568627"
+   stop-color="#656A70"
+   id="stop72" />
+    <stop
+   offset="1"
+   stop-color="#34383C"
+   id="stop74" />
+   </linearGradient>
+   <linearGradient
+   id="id11"
+   gradientUnits="userSpaceOnUse"
+   x1="10.2769"
+   y1="119.907"
+   x2="119.162"
+   y2="28.5405">
+    <stop
+   offset="0"
+   stop-color="#43433E"
+   id="stop77" />
+    <stop
+   offset="0.211765"
+   stop-color="#7F8180"
+   id="stop79" />
+    <stop
+   offset="0.411765"
+   stop-color="white"
+   id="stop81" />
+    <stop
+   offset="0.509804"
+   stop-color="#2B2828"
+   id="stop83" />
+    <stop
+   offset="0.6"
+   stop-color="white"
+   id="stop85" />
+    <stop
+   offset="0.811765"
+   stop-color="#7F8180"
+   id="stop87" />
+    <stop
+   offset="1"
+   stop-color="#43433E"
+   id="stop89" />
+   </linearGradient>
+   <linearGradient
+   id="id12"
+   gradientUnits="userSpaceOnUse"
+   x1="113.915"
+   y1="32.9425"
+   x2="15.5234"
+   y2="115.504">
+    <stop
+   offset="0"
+   stop-color="#95979A"
+   id="stop92" />
+    <stop
+   offset="0.109804"
+   stop-color="#97999C"
+   id="stop94" />
+    <stop
+   offset="0.25098"
+   stop-color="white"
+   id="stop96" />
+    <stop
+   offset="0.501961"
+   stop-color="#2B2828"
+   id="stop98" />
+    <stop
+   offset="0.780392"
+   stop-color="#FAFAFA"
+   id="stop100" />
+    <stop
+   offset="0.921569"
+   stop-color="#9D9FA2"
+   id="stop102" />
+    <stop
+   offset="1"
+   stop-color="#95979A"
+   id="stop104" />
+   </linearGradient>
+   <radialGradient
+   id="id13"
+   gradientUnits="userSpaceOnUse"
+   cx="64.7323"
+   cy="74.2367"
+   r="44.2529"
+   fx="64.7323"
+   fy="74.2367">
+    <stop
+   offset="0"
+   stop-color="#B22D2B"
+   id="stop107" />
+    <stop
+   offset="0.341176"
+   stop-color="#A22927"
+   id="stop109" />
+    <stop
+   offset="0.690196"
+   stop-color="#8C2929"
+   id="stop111" />
+    <stop
+   offset="0.941176"
+   stop-color="#67292A"
+   id="stop113" />
+    <stop
+   offset="1"
+   stop-color="#67292A"
+   id="stop115" />
+   </radialGradient>
+   <mask
+   id="id14">
+     <linearGradient
+   id="id15"
+   gradientUnits="userSpaceOnUse"
+   x1="36.6784"
+   y1="31.5335"
+   x2="69.5961"
+   y2="82.0923">
+      <stop
+   offset="0"
+   stop-opacity="1"
+   stop-color="white"
+   id="stop118" />
+      <stop
+   offset="0.109804"
+   stop-opacity="0.501961"
+   stop-color="white"
+   id="stop120" />
+      <stop
+   offset="1"
+   stop-opacity="0"
+   stop-color="white"
+   id="stop122" />
+     </linearGradient>
+    <rect
+   fill="url(#id15)"
+   x="29.75"
+   y="30.3913"
+   width="46.7746"
+   height="52.8432"
+   id="rect125" />
+   </mask>
+   <linearGradient
+   id="id16"
+   gradientUnits="userSpaceOnUse"
+   x1="31.3173"
+   y1="30.8094"
+   x2="74.9572"
+   y2="82.8164">
+    <stop
+   offset="0"
+   stop-color="#C49A94"
+   id="stop128" />
+    <stop
+   offset="1"
+   stop-color="#C47A77"
+   id="stop130" />
+   </linearGradient>
+   <linearGradient
+   id="id17"
+   gradientUnits="userSpaceOnUse"
+   x1="42.6761"
+   y1="100.009"
+   x2="68.8012"
+   y2="73.8836">
+    <stop
+   offset="0"
+   stop-color="#9EA1A5"
+   id="stop133" />
+    <stop
+   offset="0.501961"
+   stop-color="#FDFDFD"
+   id="stop135" />
+    <stop
+   offset="1"
+   stop-color="white"
+   id="stop137" />
+   </linearGradient>
+   <linearGradient
+   id="id18"
+   gradientUnits="userSpaceOnUse"
+   x1="64.5339"
+   y1="44.847"
+   x2="64.5339"
+   y2="85.5554">
+    <stop
+   offset="0"
+   stop-color="#9EA1A5"
+   id="stop140" />
+    <stop
+   offset="0.470588"
+   stop-color="#FDFDFD"
+   id="stop142" />
+    <stop
+   offset="1"
+   stop-color="white"
+   id="stop144" />
+   </linearGradient>
+   <linearGradient
+   id="id19"
+   gradientUnits="userSpaceOnUse"
+   x1="-0.30709"
+   y1="48.7447"
+   x2="47.9841"
+   y2="-8.80405">
+    <stop
+   offset="0"
+   stop-color="#2B2828"
+   id="stop147" />
+    <stop
+   offset="0.831373"
+   stop-color="#ECF1F4"
+   id="stop149" />
+    <stop
+   offset="1"
+   stop-color="#F0F5F7"
+   id="stop151" />
+   </linearGradient>
+   <linearGradient
+   id="id20"
+   gradientUnits="userSpaceOnUse"
+   x1="45.8569"
+   y1="6.33433"
+   x2="78.6919"
+   y2="6.33433">
+    <stop
+   offset="0"
+   stop-color="white"
+   id="stop154" />
+    <stop
+   offset="1"
+   stop-color="#C2C2C6"
+   id="stop156" />
+   </linearGradient>
+   <linearGradient
+   id="id21"
+   gradientUnits="userSpaceOnUse"
+   x1="121.998"
+   y1="47.3214"
+   x2="82.8931"
+   y2="0.7193">
+    <stop
+   offset="0"
+   stop-color="#2B2828"
+   id="stop159" />
+    <stop
+   offset="0.831373"
+   stop-color="#ECF1F4"
+   id="stop161" />
+    <stop
+   offset="1"
+   stop-color="#F0F5F7"
+   id="stop163" />
+   </linearGradient>
+   <mask
+   id="id22">
+     <linearGradient
+   id="id23"
+   gradientUnits="userSpaceOnUse"
+   x1="98.9918"
+   y1="5.55361"
+   x2="98.9918"
+   y2="26.2728">
+      <stop
+   offset="0"
+   stop-opacity="1"
+   stop-color="white"
+   id="stop166" />
+      <stop
+   offset="1"
+   stop-opacity="0"
+   stop-color="white"
+   id="stop168" />
+     </linearGradient>
+    <rect
+   fill="url(#id23)"
+   x="84.8762"
+   y="5.10242"
+   width="28.2322"
+   height="21.6203"
+   id="rect171" />
+   </mask>
+   <mask
+   id="id24">
+     <linearGradient
+   id="id25"
+   gradientUnits="userSpaceOnUse"
+   x1="31.3173"
+   y1="7.39734"
+   x2="27.8543"
+   y2="24.4905">
+      <stop
+   offset="0"
+   stop-opacity="1"
+   stop-color="white"
+   id="stop174" />
+      <stop
+   offset="1"
+   stop-opacity="0"
+   stop-color="white"
+   id="stop176" />
+     </linearGradient>
+    <rect
+   fill="url(#id25)"
+   x="15.4892"
+   y="5.17447"
+   width="28.1921"
+   height="21.5377"
+   id="rect179" />
+   </mask>
+   <linearGradient
+   id="id26"
+   gradientUnits="userSpaceOnUse"
+   x1="6.33551"
+   y1="33.5626"
+   x2="44.247"
+   y2="11.6742">
+    <stop
+   offset="0"
+   stop-color="#F0F5F7"
+   id="stop182" />
+    <stop
+   offset="0.258824"
+   stop-color="#2B2828"
+   id="stop184" />
+    <stop
+   offset="0.458824"
+   stop-color="#FAFAFA"
+   id="stop186" />
+    <stop
+   offset="0.670588"
+   stop-color="#F3F6F8"
+   id="stop188" />
+    <stop
+   offset="1"
+   stop-color="#F0F5F7"
+   id="stop190" />
+   </linearGradient>
+   <linearGradient
+   id="id27"
+   gradientUnits="userSpaceOnUse"
+   x1="87.1038"
+   y1="7.66545"
+   x2="121.866"
+   y2="36.8367">
+    <stop
+   offset="0"
+   stop-color="#F0F5F7"
+   id="stop193" />
+    <stop
+   offset="0.321569"
+   stop-color="#F0F5F7"
+   id="stop195" />
+    <stop
+   offset="0.490196"
+   stop-color="white"
+   id="stop197" />
+    <stop
+   offset="0.631373"
+   stop-color="#2B2828"
+   id="stop199" />
+    <stop
+   offset="0.858824"
+   stop-color="#E7EDF0"
+   id="stop201" />
+    <stop
+   offset="1"
+   stop-color="#F0F5F7"
+   id="stop203" />
+   </linearGradient>
+   <mask
+   id="id28">
+     <linearGradient
+   id="id29"
+   gradientUnits="userSpaceOnUse"
+   x1="33.7221"
+   y1="116.049"
+   x2="31.459"
+   y2="119.309">
+      <stop
+   offset="0"
+   stop-opacity="1"
+   stop-color="white"
+   id="stop206" />
+      <stop
+   offset="1"
+   stop-opacity="0"
+   stop-color="white"
+   id="stop208" />
+     </linearGradient>
+    <rect
+   fill="url(#id29)"
+   x="24.5802"
+   y="111.496"
+   width="16.0207"
+   height="12.3675"
+   id="rect211" />
+   </mask>
+   <mask
+   id="id30">
+     <linearGradient
+   id="id31"
+   gradientUnits="userSpaceOnUse"
+   x1="95.9811"
+   y1="116.404"
+   x2="97.4551"
+   y2="119.43">
+      <stop
+   offset="0"
+   stop-opacity="1"
+   stop-color="white"
+   id="stop214" />
+      <stop
+   offset="1"
+   stop-opacity="0"
+   stop-color="white"
+   id="stop216" />
+     </linearGradient>
+    <rect
+   fill="url(#id31)"
+   x="88.7161"
+   y="111.787"
+   width="16.0041"
+   height="12.26"
+   id="rect219" />
+   </mask>
+ </defs>
+ <g
+   id="Capa_x0020_1">
+  <metadata
+   id="CorelCorpID_0Corel-Layer" />
+  <path
+   id="lshadow"
+   fill="#131516"
+   mask="url(#id0)"
+   d="M66.2677 119.94l0 7.79773c-35.3591,1.56262 -99.1406,-6.19968 0,-7.79773z" />
+  <path
+   id="rshadow"
+   fill="#131516"
+   mask="url(#id2)"
+   d="M66.2429 127.74l0 -7.79773c35.3591,-1.56262 99.1406,6.20086 0,7.79773z" />
+  <path
+   id="rfootsw"
+   fill="#131516"
+   mask="url(#id4)"
+   d="M105.66 123.971c-1.60041,-2.38113 -13.147,-2.06695 -19.9065,-1.58033 -4.86384,2.25593 -10.18,3.46776 -17.8632,4.31462 10.3112,0.499612 38.3792,0.31772 37.7698,-2.73429z" />
+  <path
+   id="lfootsw"
+   fill="#131516"
+   mask="url(#id6)"
+   d="M23.6566 123.858c1.60041,-2.38113 13.147,-2.06695 19.9065,-1.58033 4.86384,2.25593 10.18,3.46776 17.8632,4.31462 -10.3112,0.499612 -38.3792,0.31772 -37.7698,-2.73429z" />
+  <path
+   id="border"
+   fill="#131516"
+   fill-opacity="0.501961"
+   d="M10.6714 75.934c-0.0377957,-10.5698 1.77286,-24.5519 3.74887,-32.7299l-4.78825 -1.32758c-5.55007,-11.1545 -4.91817,-22.4483 2.84295,-31.3138 8.50404,-8.87019 21.5448,-9.49972 31.2535,-0.479533l3.25161 3.09335c11.021,-3.7843 22.8274,-3.47721 35.0544,0.674418l2.09412 -2.55712c8.89027,-10.558 23.9448,-9.26941 32.0472,-0.471266 6.5741,7.32292 8.95995,18.5353 3.00712,31.0161 -2.20633,1.11734 -3.96855,1.36419 -6.57764,0.944894 2.97641,7.22371 4.95479,15.4868 5.76385,23.2763 2.83468,18.8967 -4.31462,35.8008 -15.7443,46.673 0.0531503,3.16776 1.10907,7.00402 4.24848,11.0493 0.643709,3.45595 -13.7931,3.8091 -16.6632,1.04883l-1.53073 -2.44727c-7.71506,3.63312 -13.9915,5.10833 -22.4117,5.354 -10.3808,0.0637803 -18.8613,-1.89805 -25.7932,-5.59141l-1.62404 2.73783c-3.27642,2.67169 -17.4616,1.93231 -16.186,-1.26852 2.35397,-3.58115 4.22722,-7.30757 4.27564,-11.0623 -9.34854,-8.53121 -16.2427,-22.8475 -16.2687,-36.6193z" />
+  <path
+   id="lfoot"
+   fill="url(#id8)"
+   d="M28.3362 112.123c3.33311,3.41225 7.2308,6.2859 11.8147,8.50758l-2.02207 3.26579c-0.467722,2.09294 -13.9655,1.99609 -14.4722,-0.0389769 2.80161,-3.5717 4.65124,-8.81113 4.67959,-11.7344z" />
+  <path
+   id="rfoot"
+   fill="url(#id9)"
+   d="M105.66 123.971c-0.903554,2.27956 -14.3128,1.88742 -14.4722,0.0389769l-2.02207 -3.26579c3.95674,-2.26184 8.01506,-5.08235 11.634,-8.33632 0.72993,3.99808 2.02207,7.9064 4.8603,11.5631z" />
+  <path
+   id="topside"
+   fill="url(#id10)"
+   d="M16.3183 42.5958c19.1282,-41.1938 75.2301,-41.1938 94.3582,0 2.4709,3.69217 6.23512,19.3609 6.05086,23.6448 -4.34297,-28.7567 -28.5441,-44.5234 -52.0081,-44.4868 -23.4629,0.0366146 -52.4298,22.6326 -52.5869,54.179 -0.689772,-7.00993 2.48389,-30.0972 4.18588,-33.337z" />
+  <path
+   id="front"
+   fill="url(#id11)"
+   d="M64.7193 21.7538c28.8937,0 52.614,23.496 52.614,52.4699 0,28.974 -23.5609,52.4699 -52.614,52.4699 -29.0543,0 -52.6152,-23.496 -52.6152,-52.4699 0,-28.974 23.7216,-52.4699 52.6152,-52.4699z" />
+  <path
+   id="insfornt"
+   fill="url(#id12)"
+   d="M64.7193 26.8114c26.2539,0 47.5435,21.2306 47.5435,47.4112 0,26.1818 -21.2896,47.4124 -47.5435,47.4124 -26.2527,0 -47.5423,-21.2306 -47.5423,-47.4124 0,-26.1806 21.2896,-47.4112 47.5423,-47.4112z" />
+  <path
+   id="face"
+   fill="url(#id13)"
+   d="M64.7323 29.5019c24.7704,0 44.8576,20.0317 44.8576,44.7348 0,24.7031 -20.0873,44.736 -44.8576,44.736 -24.7704,0 -44.8588,-20.0329 -44.8588,-44.736 0,-24.7031 20.0884,-44.7348 44.8588,-44.7348z" />
+  <polygon
+   id="arrowsw"
+   fill="#67292C"
+   points="66.6941,85.5566 66.6941,46.484 68.4268,46.484 68.4268,77.323 70.3709,79.4195 68.4268,81.366 68.4268,86.9609 63.3988,87.0046 63.4047,85.5566 47.7726,99.541 46.9494,98.5016 62.3736,84.7487 62.3736,85.5566 " />
+  <path
+   id="shinel"
+   fill="white"
+   d="M107.068 59.4149c7.44104,18.2908 -1.11261,39.9938 -14.8951,50.2565 -10.897,8.11427 -25.0609,12.4183 -41.6686,7.00284 38.7265,9.47374 65.141,-26.7015 56.5637,-57.2594z" />
+  <path
+   id="reflex"
+   fill="url(#id16)"
+   mask="url(#id14)"
+   d="M43.51 41.9013c11.4958,-7.41978 25.1271,-6.76308 30.4433,1.47049 5.31503,8.23238 0.303547,20.9282 -11.1911,28.3492 -11.4934,7.42214 -25.1271,6.76308 -30.4433,-1.46931 -5.31384,-8.23357 -0.303547,-20.9282 11.1911,-28.3503z" />
+  <polygon
+   id="harrow"
+   fill="url(#id17)"
+   points="42.1517,95.3409 65.6311,74.4068 69.3268,78.5502 45.8462,99.4855 " />
+  <polygon
+   id="marrow"
+   fill="url(#id18)"
+   points="62.3736,44.847 66.6929,44.847 66.6929,85.5566 62.3736,85.5566 " />
+  <path
+   id="lbellb"
+   fill="url(#id19)"
+   d="M42.9832 11.5017c6.97331,5.67645 -19.0172,35.5882 -32.4535,29.098 -12.808,-23.9719 13.2179,-47.749 32.4535,-29.098z" />
+  <path
+   id="lbellsw"
+   fill="#373D40"
+   d="M16.9254 41.3296c9.88595,-2.15554 21.8247,-12.9108 26.6283,-23.9342l1.49884 -0.584653 -1.70199 4.69612 -0.334256 0.923633c-0.861034,1.96538 -2.29609,4.30753 -4.48943,6.32016 -4.61817,2.91263 -9.9013,6.85875 -13.4057,10.9891 -3.18429,1.97601 -5.90913,3.09807 -9.09578,3.51855l0.900011 -1.92876z" />
+  <path
+   id="handbord"
+   fill="#131516"
+   fill-opacity="0.501961"
+   d="M47.7951 4.65596c5.55007,-2.95515 11.1438,-4.5036 16.7388,-4.59336 5.3977,-0.0874027 9.72177,0.657882 15.9793,4.32879 2.19806,1.29096 3.55634,5.60086 3.92603,8.77097 -0.574023,2.74964 0.884657,5.76267 3.04492,9.48909 -6.77725,0.38032 -6.02015,-11.0576 -8.36585,-12.7254 -2.92326,-1.71498 -10.0608,-3.49847 -14.5844,-3.54335 -5.20046,-0.050788 -9.31429,0.989776 -13.9053,3.08626 -3.83036,2.04688 -3.80556,12.9179 -9.76075,13.2155 2.93271,-5.19573 3.99454,-9.25287 3.18902,-12.169 0.611819,-2.42956 1.63939,-4.74218 3.73823,-5.85952z" />
+  <path
+   id="rbellsw"
+   fill="#373D40"
+   d="M83.5758 17.0955l1.77286 0.842136c1.34765,3.73351 5.70952,9.67453 10.6891,14.5348 3.90005,3.8091 10.5049,7.27922 13.7352,8.26664l0.904736 1.85672c-1.30041,-0.261027 -3.44768,-0.981508 -4.82368,-1.52837 -3.90832,-4.32997 -12.0356,-10.5261 -16.6195,-13.4175 -3.57642,-4.32997 -4.58746,-6.94497 -5.65873,-10.5545z" />
+  <path
+   id="p12"
+   fill="#9EA1A5"
+   d="M64.5339 36.2981c1.12442,0 2.03625,0.869302 2.03625,1.94176 0,1.07245 -0.911822,1.94294 -2.03625,1.94294 -1.12324,0 -2.03625,-0.870483 -2.03625,-1.94294 0,-1.07245 0.913003,-1.94176 2.03625,-1.94176z" />
+  <path
+   id="p6"
+   fill="#9EA1A5"
+   d="M64.5339 108.712c1.12442,0 2.03625,0.870483 2.03625,1.94176 0,1.07364 -0.911822,1.94294 -2.03625,1.94294 -1.12324,0 -2.03625,-0.869302 -2.03625,-1.94294 0,-1.07127 0.913003,-1.94176 2.03625,-1.94176z" />
+  <path
+   id="p3"
+   fill="#9EA1A5"
+   d="M101.222 74.4399c1.12324,0 2.03625,0.870483 2.03625,1.94176 0,1.07364 -0.913003,1.94294 -2.03625,1.94294 -1.12442,0 -2.03625,-0.869302 -2.03625,-1.94294 0,-1.07127 0.911822,-1.94176 2.03625,-1.94176z" />
+  <path
+   id="p9"
+   fill="#9EA1A5"
+   d="M28.2181 74.447c1.12442,0 2.03625,0.870483 2.03625,1.94176 0,1.07364 -0.911822,1.94294 -2.03625,1.94294 -1.12324,0 -2.03625,-0.869302 -2.03625,-1.94294 0,-1.07127 0.913003,-1.94176 2.03625,-1.94176z" />
+  <path
+   id="p1t2"
+   fill="#9EA1A5"
+   d="M91.0984 47.0545c1.12442,0 2.03625,0.869302 2.03625,1.94176 0,1.07364 -0.911822,1.94294 -2.03625,1.94294 -1.12324,0 -2.03625,-0.869302 -2.03625,-1.94294 0,-1.07245 0.913003,-1.94176 2.03625,-1.94176z" />
+  <path
+   id="p4t5"
+   fill="#9EA1A5"
+   d="M89.3822 99.176c1.12442,0 2.03625,0.869302 2.03625,1.94176 0,1.07245 -0.911822,1.94294 -2.03625,1.94294 -1.12442,0 -2.03625,-0.870483 -2.03625,-1.94294 0,-1.07245 0.911822,-1.94176 2.03625,-1.94176z" />
+  <path
+   id="p10t11"
+   fill="#9EA1A5"
+   d="M37.6103 47.8376c1.12324,0 2.03625,0.870483 2.03625,1.94176 0,1.07364 -0.913003,1.94294 -2.03625,1.94294 -1.12442,0 -2.03743,-0.869302 -2.03743,-1.94294 0,-1.07127 0.913003,-1.94176 2.03743,-1.94176z" />
+  <path
+   id="p7t8"
+   fill="#9EA1A5"
+   d="M40.2135 99.3178c1.12442,0 2.03743,0.869302 2.03743,1.94176 0,1.07364 -0.913003,1.94294 -2.03743,1.94294 -1.12324,0 -2.03625,-0.869302 -2.03625,-1.94294 0,-1.07245 0.913003,-1.94176 2.03625,-1.94176z" />
+  <path
+   id="faceshw"
+   fill="#67292C"
+   d="M98.1591 44.4088c-19.1152,-15.4242 -40.9151,-16.4234 -57.9539,-3.88351 -17.0376,12.5399 -23.2137,31.4118 -14.158,56.3688 -9.72532,-13.8923 -10.6088,-42.5651 12.1939,-58.7594 22.8038,-16.1955 49.9955,-5.68235 59.9181,6.27409z" />
+  <path
+   id="glassshw"
+   fill="#996054"
+   d="M108.64 69.1946c0.294098,14.7982 -5.19337,27.657 -16.8215,38.4619 -13.0962,10.5261 -27.4799,12.873 -42.9277,8.44499 37.015,6.66268 56.905,-17.5479 59.7492,-46.9069z" />
+  <path
+   id="topdv"
+   fill="#7D8286"
+   d="M42.4907 19.6951c2.41657,-4.80124 1.46931,-11.3127 6.17724,-14.3246 2.5772,-1.64766 9.09814,-4.23667 15.8659,-4.24493 6.98513,-0.00826782 13.8746,2.59846 15.436,4.01816 3.02602,2.752 3.88824,10.9053 5.84653,14.5514 0.223231,0.694497 0.858672,1.65002 1.26616,2.31263 -6.25874,-1.75868 -4.04769,-10.4612 -7.65246,-12.821 -1.82955,-1.19765 -8.30916,-3.72997 -14.8962,-3.81619 -6.38039,-0.0838593 -12.8706,2.23113 -14.8962,3.82328 -4.11974,3.23626 -2.82287,10.6643 -8.50286,12.8139l1.35592 -2.31263z" />
+  <path
+   id="topdvsh"
+   fill="url(#id20)"
+   d="M50.3723 4.741c13.2852,-5.95519 25.1897,-2.48861 29.7488,1.23899 -1.72679,0.664969 -7.3808,-1.9205 -12.084,-2.14963 -5.59968,-0.274019 -11.1167,0.220869 -17.1203,2.52877 -4.44927,1.70908 -5.21463,5.42723 -6.48669,7.52608 0.97324,-3.0898 1.42206,-7.11741 5.9422,-9.14421z" />
+  <path
+   id="rbellb"
+   fill="url(#id21)"
+   d="M113.245 9.66626c9.21862,8.33987 10.2108,19.4683 4.64179,30.911 -12.2328,5.51936 -36.4528,-19.1554 -33.2768,-28.0314 7.36544,-8.6316 19.8699,-10.6017 28.635,-2.87956z" />
+  <path
+   id="rbellcentd"
+   fill="#656B6F"
+   d="M111.926 11.9624c1.3512,1.03938 2.14373,2.27483 1.77049,2.76027 -0.373233,0.485439 -1.77049,0.0354335 -3.12169,-1.00277 -1.3512,-1.03938 -2.14373,-2.27483 -1.77049,-2.76027 0.373233,-0.485439 1.77049,-0.0354335 3.12169,1.00277z" />
+  <path
+   id="rbellc"
+   fill="#989B9F"
+   d="M111.59 12.4017c0.675599,0.519691 1.07127,1.13742 0.884657,1.37954 -0.186616,0.24331 -1.34529,0.362603 -2.02089,-0.155907 -0.675599,-0.519691 -0.611819,-1.4823 -0.425202,-1.72561 0.186616,-0.242129 0.885838,-0.0177168 1.56144,0.501975z" />
+  <path
+   id="rbellpt"
+   fill="#B5BABE"
+   d="M111.59 12.4017c0.675599,0.519691 1.07127,1.13742 0.884657,1.37954 -0.186616,0.24331 -0.884657,0.0177168 -1.56026,-0.500794 -0.675599,-0.519691 -1.07245,-1.13742 -0.885838,-1.38073 0.186616,-0.242129 0.885838,-0.0177168 1.56144,0.501975z" />
+  <path
+   id="lbellcentd"
+   fill="#656B6F"
+   d="M16.6219 12.0923c-1.3512,1.03938 -2.14373,2.27483 -1.77049,2.76027 0.373233,0.485439 1.77049,0.0354335 3.12169,-1.00277 1.3512,-1.03938 2.14373,-2.27483 1.77049,-2.76027 -0.373233,-0.485439 -1.77049,-0.0354335 -3.12169,1.00277z" />
+  <path
+   id="lbellc"
+   fill="#989B9F"
+   d="M16.9585 12.5317c-0.675599,0.519691 -1.07127,1.13742 -0.884657,1.37954 0.186616,0.24331 1.22364,0.457092 1.89924,-0.0614181 0.675599,-0.519691 0.733474,-1.57679 0.546857,-1.8201 -0.186616,-0.242129 -0.885838,-0.0177168 -1.56144,0.501975z" />
+  <path
+   id="lbellpt"
+   fill="#F0F5F7"
+   d="M16.9585 12.5317c-0.675599,0.519691 -1.07127,1.13742 -0.884657,1.37954 0.186616,0.24331 0.884657,0.0177168 1.56026,-0.500794 0.675599,-0.519691 1.07245,-1.13742 0.885838,-1.38073 -0.186616,-0.242129 -0.885838,-0.0177168 -1.56144,0.501975z" />
+  <path
+   id="rbellbrig"
+   fill="white"
+   mask="url(#id22)"
+   d="M86.3385 11.9942c5.01857,-5.55243 14.6388,-9.31311 24.3428,-3.58941 2.77917,2.01735 2.5146,2.42365 -0.060237,1.76223 -4.6288,-1.26616 -5.15321,0.996863 0.837412,5.58314 -8.68003,0.0236223 -12.4065,8.08711 -19.6136,10.5226 -3.22681,-3.42051 -5.05754,-6.71819 -6.4548,-10.6407 -0.0625992,-1.0323 -0.321264,-2.52168 0.948437,-3.63784z" />
+  <path
+   id="lbellbrig"
+   fill="white"
+   mask="url(#id24)"
+   d="M42.0383 11.8856c-5.01857,-5.55243 -14.6305,-9.01192 -23.933,-3.4217 -2.77917,2.01735 -2.88665,2.35397 -0.311815,1.69254 4.6288,-1.26616 5.15321,0.996863 -0.837412,5.58314 3.15949,6.3048 12.3533,10.2545 19.6136,10.5226 3.50201,-3.35555 5.30203,-6.36268 6.59299,-10.9112 0.24331,-1.17049 -0.171262,-2.40121 -1.12442,-3.4654z" />
+  <path
+   id="lbellpinst"
+   fill="url(#id26)"
+   d="M7.34537 30.9441c9.35326,1.51065 30.0641,-14.81 27.4716,-24.8247 2.00436,0.858672 3.02484,1.30395 5.27959,2.94216 3.14177,9.19854 -18.6061,30.0559 -31.4283,27.3299 -0.615362,-1.77168 -1.07954,-3.58115 -1.32285,-5.44731z" />
+  <path
+   id="rbellpinst"
+   fill="url(#id27)"
+   d="M93.737 6.10283c0.643709,8.28908 17.1498,25.6019 27.4232,23.6956 -0.220869,2.35397 -0.791348,4.66541 -1.64884,6.94379 -10.6407,1.65829 -30.1185,-16.5498 -31.7,-27.2873 1.70199,-1.42088 4.01107,-2.77444 5.92566,-3.35201z" />
+  <path
+   id="lfshdw"
+   fill="#656B6F"
+   mask="url(#id28)"
+   d="M28.1519 111.946c3.62603,3.3839 6.79969,5.87488 11.999,8.68475l-1.47994 2.39058c-2.7957,0.682686 -12.4005,0.579928 -13.6407,-1.1634 0.987414,-1.29687 3.60123,-7.92057 3.12169,-9.91193z" />
+  <path
+   id="rfshdw"
+   fill="#656B6F"
+   mask="url(#id30)"
+   d="M89.1661 120.744c4.76344,-2.55357 8.60207,-5.42251 11.8147,-8.50758 0.382682,3.34374 1.33112,6.60362 3.28941,9.70878 -0.929539,1.46577 -5.81228,1.86971 -13.4021,1.54844l-1.70199 -2.74964z" />
+ </g>
+</svg>
diff --git a/flags/standard/question-mark.svg b/flags/standard/question-mark.svg
new file mode 100644 (file)
index 0000000..8a0e6da
--- /dev/null
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="48"
+   height="48"
+   viewBox="0 0 12.699999 12.7"
+   version="1.1"
+   id="svg3558">
+  <defs
+     id="defs3552">
+    <filter
+       id="filter6222"
+       x="-0.14786731"
+       width="1.2957346"
+       y="-0.14786731"
+       height="1.2957346">
+      <feGaussianBlur
+         stdDeviation="3.0496074"
+         id="feGaussianBlur6224" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient6198-7"
+       id="linearGradient11795"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="rotate(90,-90.0007,50.0022)"
+       x1="9.978035"
+       y1="-367.08105"
+       x2="-89.104881"
+       y2="-393.63025" />
+    <linearGradient
+       id="linearGradient6198-7">
+      <stop
+         id="stop6200-8"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+      <stop
+         id="stop6202-8"
+         offset="1"
+         style="stop-color:#2c0000;stop-opacity:1;" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#linearGradient3640-1-9"
+       id="radialGradient11797"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.457792,-4.14982e-8,-2.087256e-7,1.9108522,-121.47994,-83.798392)"
+       cx="341.08624"
+       cy="77.172691"
+       fx="341.84244"
+       fy="66.635597"
+       r="36" />
+    <linearGradient
+       id="linearGradient3640-1-9">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3642-4-0" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3644-9-9" />
+    </linearGradient>
+    <filter
+       id="filter4908-4">
+      <feGaussianBlur
+         id="feGaussianBlur4910-3"
+         stdDeviation="0.7474095" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient6192-1"
+       id="radialGradient11799"
+       gradientUnits="userSpaceOnUse"
+       cx="343.99899"
+       cy="92"
+       fx="351.2594"
+       fy="66.436157"
+       r="36" />
+    <linearGradient
+       id="linearGradient6192-1"
+       gradientUnits="userSpaceOnUse"
+       x1="-84.002403"
+       y1="-383.9971"
+       x2="-12.0029"
+       y2="-383.9971"
+       gradientTransform="rotate(90,-90.0007,50.0022)">
+      <stop
+         offset="0"
+         style="stop-color:#ff1313;stop-opacity:1;"
+         id="stop6194-0" />
+      <stop
+         offset="1"
+         style="stop-color:#990000;stop-opacity:1;"
+         id="stop6196-3" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient6204-6"
+       id="linearGradient11801"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.75492742,0,0,0.75492742,73.066702,-41.154896)"
+       x1="57.477966"
+       y1="48.784237"
+       x2="71.069473"
+       y2="103.29678" />
+    <linearGradient
+       id="linearGradient6204-6">
+      <stop
+         id="stop6206-0"
+         offset="0"
+         style="stop-color:#e4a4a4;stop-opacity:1;" />
+      <stop
+         id="stop6208-4"
+         offset="1"
+         style="stop-color:#e4a4a4;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient6204-6"
+       id="linearGradient11803"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.75492742,0,0,0.75492742,73.066702,-41.154896)"
+       x1="65.490807"
+       y1="101.17589"
+       x2="54.427418"
+       y2="74.327278" />
+    <linearGradient
+       xlink:href="#linearGradient6204-6"
+       id="linearGradient11805"
+       gradientUnits="userSpaceOnUse"
+       x1="41.246826"
+       y1="58.851654"
+       x2="38.737919"
+       y2="104.69202" />
+    <filter
+       id="filter4924-8">
+      <feGaussianBlur
+         id="feGaussianBlur4926-8"
+         stdDeviation="0.21668441" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient6210-6"
+       id="radialGradient11807"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.72112598,0,0,-0.62257145,10.205727,154.73095)"
+       cx="36.596191"
+       cy="51.279228"
+       fx="36.596191"
+       fy="51.279228"
+       r="34.265625" />
+    <linearGradient
+       id="linearGradient6210-6">
+      <stop
+         style="stop-color:#ffe9c1;stop-opacity:1;"
+         offset="0"
+         id="stop6212-7" />
+      <stop
+         style="stop-color:#ea8500;stop-opacity:0;"
+         offset="1"
+         id="stop6214-6" />
+    </linearGradient>
+    <filter
+       id="filter6216">
+      <feGaussianBlur
+         stdDeviation="0.55410521"
+         id="feGaussianBlur6218" />
+    </filter>
+  </defs>
+  <metadata
+     id="metadata3555">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     transform="translate(-1.6036099,-270.07124)">
+    <g
+       id="g6240"
+       transform="matrix(0.20803451,0,0,0.20727983,-12.781888,270.69107)">
+      <circle
+         transform="matrix(0.95272212,0,0,0.95272212,6.4285792,-5.8156911)"
+         id="path6220"
+         style="display:none;opacity:0.613527;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter6222)"
+         cx="97.934288"
+         cy="44.561401"
+         r="24.748737" />
+      <circle
+         transform="matrix(-0.75311407,0.20179628,-0.20179628,-0.75311407,377.87944,28.172448)"
+         id="circle3581_2_"
+         cy="92"
+         cx="343.99899"
+         r="36"
+         style="display:inline;fill:url(#linearGradient11795);fill-opacity:1" />
+      <path
+         transform="matrix(0.77984077,0,0,0.77984077,72.169432,-43.441684)"
+         style="display:inline;fill:url(#radialGradient11797);fill-opacity:1;filter:url(#filter4908-4)"
+         d="M 35.65625,56 C 32.68828,56.02905 29.686085,56.415282 26.6875,57.21875 14.434146,60.502026 5.3735564,69.754515 1.75,81 H 5.96875 C 9.4375391,71.564516 17.277216,63.891551 27.71875,61.09375 43.848444,56.771812 60.410073,65.605113 66.03125,81 h 4.25 C 65.40173,65.757015 51.121235,55.848633 35.65625,56 Z"
+         id="circle3638" />
+      <circle
+         style="display:inline;fill:url(#radialGradient11799);fill-opacity:1"
+         r="36"
+         cx="343.99899"
+         cy="92"
+         id="circle4850"
+         transform="matrix(-0.65006396,0.17418408,-0.17418408,-0.65006396,339.89038,28.185163)" />
+      <path
+         id="circle3435"
+         d="M 100.00817,4.1407494 C 98.016528,4.1602411 96.004537,4.4272865 93.992346,4.9664511 81.808347,8.2311425 74.315156,20.279922 76.463874,32.47412 c 5.965094,1.072602 12.455528,1.674995 19.25065,1.674995 10.541256,0 20.356166,-1.42808 28.592876,-3.869003 0.22288,-2.695057 0.009,-5.4725 -0.73134,-8.233428 C 120.66458,11.180855 110.76307,4.0354831 100.00817,4.1407494 Z"
+         style="display:inline;fill:url(#linearGradient11801);fill-opacity:1" />
+      <path
+         style="display:inline;fill:url(#linearGradient11803);fill-opacity:1"
+         d="m 99.819442,4.1407494 c 10.414668,0.3763109 19.834368,7.2984636 22.671408,17.6228366 0.74693,2.718118 0.95637,5.4622 0.73134,8.115469 -8.31608,2.403077 -18.23316,3.79823 -28.875971,3.79823 -6.285537,0 -12.308152,-0.496375 -17.905936,-1.391898 0.01064,0.06331 0.01243,0.12541 0.0236,0.188733 5.965094,1.072602 12.455528,1.674995 19.25065,1.674995 10.541247,0 20.356157,-1.42808 28.592867,-3.869003 0.22289,-2.695057 0.009,-5.4725 -0.73134,-8.233428 -2.91148,-10.865829 -12.81299,-18.0112009 -23.56789,-17.9059346 -0.06307,6.175e-4 -0.1256,-0.00113 -0.188723,0 z"
+         id="path3520" />
+      <path
+         transform="matrix(0.75492742,0,0,0.75492742,73.066702,-41.154896)"
+         style="display:inline;fill:url(#linearGradient11805);fill-opacity:1;filter:url(#filter4924-8)"
+         d="m 35.6875,60 c -2.638196,0.02582 -5.30334,0.379556 -7.96875,1.09375 C 13.951052,64.782792 4.7156811,76.948602 4.0625,90.46875 5.9516578,73.749445 19.025414,61.403828 35.6875,61.086736 49.931228,60.815667 63.0496,70.745063 66.90625,84.46875 67.518716,86.648179 67.871487,88.834771 67.96875,91 67.8981,88.588011 67.557671,86.149888 66.90625,83.71875 63.0496,69.32554 49.933759,59.860561 35.6875,60 Z"
+         id="path3541" />
+      <path
+         transform="matrix(0.77984077,0,0,0.77984077,72.169432,-43.441684)"
+         id="path4854"
+         d="m 35.65625,127.99829 c -2.96797,-0.029 -5.970165,-0.41528 -8.96875,-1.21875 C 14.434146,123.49626 5.3735564,114.24378 1.75,102.99829 h 4.21875 c 3.4687891,9.43548 11.308466,17.10845 21.75,19.90625 16.129694,4.32194 32.691323,-4.51136 38.3125,-19.90625 h 4.25 c -4.87952,15.24299 -19.160015,25.15137 -34.625,25 z"
+         style="display:inline;opacity:0.381643;fill:url(#radialGradient11807);fill-opacity:1;filter:url(#filter6216)" />
+      <rect
+         y="38.065304"
+         x="95.503922"
+         height="9.4439774"
+         width="9.4097157"
+         id="rect6233"
+         style="display:none;fill:#ffffff;fill-opacity:1;stroke:none"
+         rx="0"
+         ry="0" />
+      <path
+         id="rect6235"
+         d="m 95.503918,9.7333661 h 9.409722 V 33.343313 h -9.409722 z"
+         style="display:none;fill:#ffffff;fill-opacity:1;stroke:none" />
+      <path
+         id="rect6235-3"
+         d="m 93.55868,23.004732 c -2.153873,-0.128919 -4.710089,0.249606 -6.744706,0.02191 C 86.776348,6.7152196 97.781091,7.5973668 100.923,7.6515052 c 5.02728,0.086625 12.77882,2.9400028 11.81087,13.0401998 -0.0478,5.604104 -9.13782,11.34065 -8.59989,17.834829 0,0 -3.44795,-3.866783 -7.851098,0 -0.432716,-7.327903 8.801588,-12.169886 9.435968,-18.261562 0.59976,-5.759565 -2.55429,-6.345279 -5.46774,-6.395865 -1.641428,-0.0285 -6.673289,-0.495894 -6.69243,9.135625 z"
+         style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.00983" />
+      <circle
+         style="display:inline;fill:#ffffff;fill-opacity:1;stroke:#fffff7;stroke-width:0.608603;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="path67"
+         cx="100.79211"
+         cy="45.183525"
+         r="3.72142" />
+    </g>
+  </g>
+</svg>
diff --git a/flags/system/applications-internet-new.svg b/flags/system/applications-internet-new.svg
new file mode 100644 (file)
index 0000000..72532d0
--- /dev/null
@@ -0,0 +1,1084 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns: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="48px"
+   height="48px"
+   id="svg3440"
+   sodipodi:version="0.32"
+   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
+   sodipodi:docname="applications-internet-new.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.1">
+  <defs
+     id="defs3">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective95" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6001">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop6003" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop6005" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4825">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4827" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4829" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4126">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop4128" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.16494845;"
+         offset="1.0000000"
+         id="stop4130" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4114">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop4116" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop4118" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3962">
+      <stop
+         style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop3964" />
+      <stop
+         style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
+         offset="0.15517241"
+         id="stop4134" />
+      <stop
+         style="stop-color:#4074ae;stop-opacity:1.0000000;"
+         offset="0.75000000"
+         id="stop4346" />
+      <stop
+         style="stop-color:#36486c;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop3966" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3962"
+       id="radialGradient3968"
+       gradientTransform="matrix(0.79959032,0,0,0.79960792,9.1985908,0.72047157)"
+       cx="18.247644"
+       cy="15.716079"
+       fx="18.247644"
+       fy="15.716079"
+       r="29.993349"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4114"
+       id="radialGradient4120"
+       gradientTransform="matrix(1.314533,0,0,0.60468523,9.1985908,-7.4933384)"
+       cx="15.115514"
+       cy="63.965388"
+       fx="15.115514"
+       fy="63.965388"
+       r="12.289036"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4126"
+       id="radialGradient4132"
+       gradientTransform="matrix(0.79959032,0,0,0.79960792,9.1985908,0.72047157)"
+       cx="15.601279"
+       cy="12.142302"
+       fx="15.601279"
+       fy="12.142302"
+       r="43.526714"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4825"
+       id="radialGradient5983"
+       gradientUnits="userSpaceOnUse"
+       cx="12.071323"
+       cy="12.493138"
+       fx="12.071323"
+       fy="12.493138"
+       r="6.7175145" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4825"
+       id="radialGradient5985"
+       gradientUnits="userSpaceOnUse"
+       cx="12.071323"
+       cy="12.493138"
+       fx="12.071323"
+       fy="12.493138"
+       r="6.7175145" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4825"
+       id="radialGradient5987"
+       gradientUnits="userSpaceOnUse"
+       cx="12.071323"
+       cy="12.493138"
+       fx="12.071323"
+       fy="12.493138"
+       r="6.7175145" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4825"
+       id="radialGradient5989"
+       gradientUnits="userSpaceOnUse"
+       cx="12.071323"
+       cy="12.493138"
+       fx="12.071323"
+       fy="12.493138"
+       r="6.7175145" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient6007"
+       x1="-25.176178"
+       y1="30.057165"
+       x2="-22.252472"
+       y2="21.041553"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0286978,0,0,0.79959904,52.56766,-13.083065)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient6011"
+       gradientUnits="userSpaceOnUse"
+       x1="-25.176178"
+       y1="30.057165"
+       x2="-22.113543"
+       y2="22.661524"
+       gradientTransform="matrix(1.0286977,0,0,0.79959901,27.521423,21.868113)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient6015"
+       gradientUnits="userSpaceOnUse"
+       x1="-22.822565"
+       y1="28.337734"
+       x2="-22.113543"
+       y2="22.661524"
+       gradientTransform="matrix(1.0286976,0,0,0.79959889,-10.488538,-32.250227)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient6019"
+       gradientUnits="userSpaceOnUse"
+       x1="-21.658581"
+       y1="15.649428"
+       x2="-21.962101"
+       y2="21.336346"
+       gradientTransform="matrix(1.0051901,0,0,0.78132384,26.131093,17.875478)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574">
+      <stop
+         id="stop4576"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580" />
+      <stop
+         id="stop4582"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient24014"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016" />
+      <stop
+         id="stop24018"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4">
+      <stop
+         id="stop2812-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0" />
+      <stop
+         id="stop2820-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074">
+      <path
+         sodipodi:type="star"
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076"
+         sodipodi:sides="11"
+         sodipodi:cx="90.156113"
+         sodipodi:cy="85.220039"
+         sodipodi:r1="19.827379"
+         sodipodi:r2="13.362659"
+         sodipodi:arg1="0.78539816"
+         sodipodi:arg2="1.0519012"
+         inkscape:flatsided="false"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#radialGradient24014"
+       id="linearGradient24078"
+       gradientUnits="userSpaceOnUse"
+       x1="73.711586"
+       y1="71.214951"
+       x2="89.811958"
+       y2="99.101616" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-6">
+      <stop
+         id="stop4576-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-5" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-3" />
+      <stop
+         id="stop4582-5"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       y2="104.80668"
+       x2="-62.424866"
+       y1="76.708466"
+       x1="-13.757333"
+       gradientTransform="translate(148,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4794"
+       xlink:href="#XMLID_4_"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="XMLID_4_">
+      <stop
+         id="stop3082"
+         style="stop-color:#72D13D"
+         offset="0" />
+      <stop
+         id="stop3084"
+         style="stop-color:#35AC1C"
+         offset="0.3553" />
+      <stop
+         id="stop3086"
+         style="stop-color:#0F9508"
+         offset="0.6194" />
+      <stop
+         id="stop3088"
+         style="stop-color:#008C00"
+         offset="0.7574" />
+      <stop
+         id="stop3090"
+         style="stop-color:#007A00"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient3571"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+    <filter
+       id="filter3387"
+       height="1.249912"
+       y="-0.12495601"
+       width="1.2041403"
+       x="-0.10207015"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur3389"
+         stdDeviation="0.44655691"
+         inkscape:collect="always" />
+    </filter>
+    <radialGradient
+       r="6.7806501"
+       fy="17.83758"
+       fx="73.656624"
+       cy="17.83758"
+       cx="73.656624"
+       gradientTransform="matrix(1,0,0,0.8708964,0,2.3028957)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4800"
+       xlink:href="#linearGradient5412"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5412"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:#fff14d;stop-opacity:1;"
+         id="stop5414" />
+      <stop
+         offset="1"
+         style="stop-color:#f8ffa0;stop-opacity:0;"
+         id="stop5416" />
+    </linearGradient>
+    <radialGradient
+       r="6.2063885"
+       fy="17.802542"
+       fx="73.082359"
+       cy="17.802542"
+       cx="73.082359"
+       gradientTransform="matrix(1,0,0,0.9256542,0,1.3235438)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4802"
+       xlink:href="#linearGradient4770"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4770"
+       gradientUnits="userSpaceOnUse"
+       x1="-84.002403"
+       y1="-383.9971"
+       x2="-12.0029"
+       y2="-383.9971"
+       gradientTransform="rotate(90,-90.0007,50.0022)">
+      <stop
+         offset="0"
+         style="stop-color:#e5ff00;stop-opacity:1"
+         id="stop4772" />
+      <stop
+         offset="1"
+         style="stop-color:#bff500;stop-opacity:0;"
+         id="stop4774" />
+    </linearGradient>
+    <radialGradient
+       r="24"
+       fy="104"
+       fx="104"
+       cy="104"
+       cx="104"
+       gradientTransform="translate(0,-1.3e-5)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4806"
+       xlink:href="#linearGradient3030"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3030"
+       inkscape:collect="always">
+      <stop
+         id="stop3032"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.77902622" />
+      <stop
+         id="stop3034"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       r="20"
+       fy="96"
+       fx="-40"
+       cy="84"
+       cx="-44"
+       gradientTransform="translate(148,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4810"
+       xlink:href="#XMLID_4_"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="radialGradient1513">
+      <stop
+         id="stop1503"
+         style="stop-color:#72D13D"
+         offset="0" />
+      <stop
+         id="stop1505"
+         style="stop-color:#35AC1C"
+         offset="0.3553" />
+      <stop
+         id="stop1507"
+         style="stop-color:#0F9508"
+         offset="0.6194" />
+      <stop
+         id="stop1509"
+         style="stop-color:#008C00"
+         offset="0.7574" />
+      <stop
+         id="stop1511"
+         style="stop-color:#007A00"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       y2="108.0104"
+       x2="11.68106"
+       y1="60.539303"
+       x1="11.68106"
+       gradientTransform="translate(85.3125,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4812"
+       xlink:href="#linearGradient6001"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="96.001434"
+       x2="11.68106"
+       y1="52"
+       x1="6.6976352"
+       gradientTransform="translate(85.30236,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4814"
+       xlink:href="#linearGradient6001"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="72"
+       x2="14.697635"
+       y1="96"
+       x1="26.697636"
+       gradientTransform="translate(85.30236,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4816"
+       xlink:href="#linearGradient6001"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="84"
+       x2="120.25"
+       y1="84"
+       x1="79.75"
+       gradientTransform="translate(3.99999,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4818"
+       xlink:href="#linearGradient3225"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3225">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3227" />
+      <stop
+         style="stop-color:#aeaeae;stop-opacity:1;"
+         offset="1"
+         id="stop3229" />
+    </linearGradient>
+    <filter
+       id="filter3191"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur3193"
+         stdDeviation="0.2025"
+         inkscape:collect="always" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient1937"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient1939"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient1941"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.17254902"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6568542"
+     inkscape:cx="5.0143305"
+     inkscape:cy="27.22336"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1000"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:showpageshadow="false"
+     inkscape:document-rotation="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Tuomas Kuosmanen</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>internet</rdf:li>
+            <rdf:li>tools</rdf:li>
+            <rdf:li>applications</rdf:li>
+            <rdf:li>category</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     style="display:inline">
+    <ellipse
+       style="display:inline;fill:url(#radialGradient4120);fill-opacity:1;stroke:none;stroke-width:0.89156;stroke-opacity:1"
+       id="path4112"
+       cx="29.06843"
+       cy="31.185602"
+       rx="16.154341"
+       ry="7.4310017"
+       inkscape:label="shadow" />
+    <path
+       style="fill:url(#radialGradient3968);fill-opacity:1;fill-rule:nonzero;stroke:#39396c;stroke-width:0.799599;stroke-miterlimit:4;stroke-opacity:1"
+       d="m 44.34885,19.499456 c 0,8.563481 -6.942201,15.505604 -15.504505,15.505604 -8.563087,0 -15.504897,-6.942201 -15.504897,-15.505604 0,-8.563089 6.94181,-15.5045047 15.504897,-15.5045047 8.562304,0 15.504505,6.9414157 15.504505,15.5045047 z"
+       id="path3214" />
+    <g
+       id="g4136"
+       style="opacity:1;fill:#204a87;fill-opacity:0.71345;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+       transform="matrix(0.78550298,0,0,0.78550298,9.2954054,0.9067094)">
+      <g
+         id="g4138"
+         style="fill:#204a87">
+        <g
+           id="g4142"
+           style="fill:#204a87">
+          <path
+             d="m 44.0713,20.7144 c 0,0.2627 0,0 0,0 l -0.5449,0.6172 c -0.334,-0.3936 -0.709,-0.7246 -1.0898,-1.0703 l -0.8359,0.123 -0.7637,-0.8633 v 1.0684 l 0.6543,0.4951 0.4355,0.4932 0.582,-0.6582 c 0.1465,0.2744 0.291,0.5488 0.4365,0.8232 v 0.8223 l -0.6553,0.7402 -1.1992,0.8232 -0.9082,0.9063 -0.582,-0.6602 0.291,-0.7402 -0.5811,-0.6582 -0.9814,-2.0977 -0.8359,-0.9453 -0.2188,0.2461 0.3281,1.1934 0.6172,0.6992 c 0.3525,1.0176 0.7012,1.9902 1.1641,2.9629 0.7178,0 1.3945,-0.0762 2.1074,-0.166 v 0.5762 l -0.8721,2.1392 -0.7998,0.9043 -0.6543,1.4004 c 0,0.7676 0,1.5352 0,2.3027 l 0.2188,0.9063 -0.3633,0.4102 -0.8008,0.4941 -0.8359,0.6992 0.6914,0.7813 -0.9453,0.8242 0.1816,0.5332 -1.418,1.6055 h -0.9443 l -0.7998,0.4941 H 33.6396 V 38.2814 L 33.4228,36.963 c -0.2813,-0.8262 -0.5742,-1.6465 -0.8721,-2.4668 0,-0.6055 0.0361,-1.2051 0.0723,-1.8105 l 0.3643,-0.8223 -0.5098,-0.9883 0.0371,-1.3574 -0.6914,-0.7813 0.3457,-1.1309 -0.5625,-0.6382 H 30.624 l -0.3271,-0.3701 -0.9814,0.6177 -0.3994,-0.4536 -0.9092,0.7817 c -0.6172,-0.6997 -1.2354,-1.3989 -1.8535,-2.0981 l -0.7266,-1.7285 0.6543,-0.9863 -0.3633,-0.4111 0.7988,-1.8936 c 0.6563,-0.8164 1.3418,-1.5996 2.0352,-2.3857 l 1.2363,-0.3291 1.3809,-0.1641 0.9453,0.2471 1.3447,1.3564 0.4727,-0.5342 0.6533,-0.082 1.2363,0.4111 h 0.9453 l 0.6543,-0.5762 0.291,-0.4111 -0.6553,-0.4111 -1.0908,-0.082 c -0.3027,-0.4199 -0.584,-0.8613 -0.9434,-1.2344 l -0.3643,0.1641 -0.1455,1.0703 -0.6543,-0.7402 -0.1445,-0.8242 -0.7266,-0.5742 h -0.292 l 0.7275,0.8223 -0.291,0.7402 -0.5811,0.1641 0.3633,-0.7402 -0.6553,-0.3281 -0.5801,-0.6582 -1.0918,0.2461 -0.1445,0.3281 -0.6543,0.4121 -0.3633,0.9053 -0.9082,0.4521 -0.4004,-0.4521 h -0.4355 v -1.4814 l 0.9453,-0.4941 h 0.7266 l -0.1465,-0.5752 -0.5801,-0.5762 0.9805,-0.2061 0.5449,-0.6162 0.4355,-0.7412 h 0.8008 l -0.2188,-0.5752 0.5098,-0.3291 v 0.6582 l 1.0898,0.2461 1.0898,-0.9043 0.0732,-0.4121 0.9443,-0.6577 c -0.3418,0.0425 -0.6836,0.0737 -1.0176,0.1646 V 9.9766 L 34.2213,9.1538 H 33.858 l -0.7984,0.7402 -0.2188,0.4116 0.2188,0.5767 -0.3643,0.9863 -0.5811,-0.3291 -0.5078,-0.5752 -0.8008,0.5752 -0.291,-1.3159 1.3809,-0.9048 V 8.8247 l 0.873,-0.5757 1.3809,-0.3296 0.9453,0.3296 1.7441,0.3291 -0.4355,0.4932 H 35.458 l 0.9453,0.9873 0.7266,-0.8223 0.2207,-0.3618 c 0,0 2.7871,2.498 4.3799,5.2305 1.5928,2.7334 2.3408,5.9551 2.3408,6.6094 z"
+             id="path4144"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4146"
+         style="fill:#204a87">
+        <g
+           id="g4150"
+           style="fill:#204a87">
+          <path
+             d="m 26.0703,9.2363 -0.0732,0.4932 0.5098,0.3291 0.8711,-0.5757 -0.4355,-0.4937 -0.582,0.3296 -0.29,-0.0825"
+             id="path4152"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4154"
+         style="fill:#204a87">
+        <g
+           id="g4158"
+           style="fill:#204a87">
+          <path
+             d="m 26.8701,5.8633 -1.8906,-0.7407 -2.1797,0.2466 -2.6904,0.7402 -0.5088,0.4941 1.6719,1.1514 v 0.6582 l -0.6543,0.6582 0.873,1.729 0.5801,-0.3301 0.7285,-1.1514 c 1.123,-0.3472 2.1299,-0.7407 3.1973,-1.2344 l 0.873,-2.2212"
+             id="path4160"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4162"
+         style="fill:#204a87">
+        <g
+           id="g4166"
+           style="fill:#204a87">
+          <path
+             d="m 28.833,12.7749 -0.291,-0.7412 -0.5098,0.165 0.1465,0.9043 0.6543,-0.3281"
+             id="path4168"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4170"
+         style="fill:#204a87">
+        <g
+           id="g4174"
+           style="fill:#204a87">
+          <path
+             d="m 29.123,12.6089 -0.1455,0.9883 0.7998,-0.165 0.5811,-0.5752 -0.5088,-0.4941 C 29.6787,11.9078 29.4824,11.483 29.2685,11.0465 H 28.833 v 0.4932 l 0.29,0.3291 v 0.7402"
+             id="path4176"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4178"
+         style="fill:#204a87">
+        <g
+           id="g4182"
+           style="fill:#204a87">
+          <path
+             d="m 18.3652,28.2422 -0.582,-1.1523 -1.0903,-0.2466 -0.5815,-1.5625 -1.4536,0.1641 -1.2354,-0.9043 -1.3091,1.1514 v 0.1816 c -0.396,-0.1143 -0.8828,-0.1299 -1.2354,-0.3467 l -0.291,-0.8223 v -0.9053 l -0.8721,0.082 c 0.0728,-0.5762 0.145,-1.1514 0.2183,-1.7275 H 9.4238 L 8.9155,22.812 8.4062,23.0581 7.6791,22.6479 7.6063,21.7426 7.7518,20.7553 8.8426,19.933 h 0.8721 l 0.145,-0.4941 1.0903,0.2461 0.7998,0.9883 0.1455,-1.6465 1.3813,-1.1514 0.5088,-1.2344 1.0176,-0.4111 0.5815,-0.8223 1.3081,-0.248 0.6548,-0.9863 c -0.6543,0 -1.3086,0 -1.9629,0 l 1.2358,-0.5762 h 0.8716 l 1.2363,-0.4121 0.1455,-0.4922 -0.4365,-0.4121 -0.5088,-0.165 0.1455,-0.4932 -0.3633,-0.7402 -0.8726,0.3281 0.1455,-0.6577 -1.0176,-0.5762 -0.7993,1.3979 0.0723,0.4941 -0.7993,0.3301 -0.5093,1.0693 -0.2178,-0.9873 -1.3813,-0.5762 -0.2183,-0.7402 1.8174,-1.0703 0.7998,-0.7402 0.0728,-0.9048 -0.436,-0.2471 -0.5815,-0.0825 -0.3633,0.9053 c 0,0 -0.6079,0.1191 -0.7642,0.1577 -1.9961,1.8394 -6.0293,5.8101 -6.9663,13.3062 0.0371,0.1738 0.6792,1.1816 0.6792,1.1816 l 1.5264,0.9043 1.5264,0.4121 0.6548,0.8232 1.0171,0.7402 0.5815,-0.082 0.436,0.1963 v 0.1328 l -0.5811,1.563 -0.4365,0.6582 0.1455,0.3301 -0.3633,1.2324 1.3086,2.3867 1.3081,1.1523 0.582,0.8223 -0.0732,1.7285 0.4365,0.9863 -0.4365,1.8926 c 0,0 -0.0342,-0.0117 0.0215,0.1777 0.0562,0.1895 2.3291,1.4512 2.4736,1.3438 0.144,-0.1094 0.2671,-0.2051 0.2671,-0.2051 l -0.145,-0.4102 0.5811,-0.5762 0.2183,-0.5762 0.9453,-0.3301 0.7266,-1.8105 -0.2178,-0.4922 0.5078,-0.7402 1.0908,-0.248 0.582,-1.3164 -0.1455,-1.6445 0.8721,-1.2344 0.1455,-1.2344 C 20.7331,29.4607 19.5495,28.8513 18.365,28.242"
+             id="path4184"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4186"
+         style="fill:#204a87">
+        <g
+           id="g4190"
+           style="fill:#204a87">
+          <path
+             d="m 16.7656,9.5649 0.7266,0.4937 h 0.582 V 9.4829 l -0.7266,-0.3291 -0.582,0.4111"
+             id="path4192"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4194"
+         style="fill:#204a87">
+        <g
+           id="g4198"
+           style="fill:#204a87">
+          <path
+             d="M 14.876,8.9072 14.5122,9.812 h 0.7271 L 15.6031,8.9892 C 15.9166,8.7675 16.2286,8.5444 16.5479,8.331 l 0.7271,0.2471 c 0.4844,0.3291 0.9688,0.6582 1.4536,0.9868 L 19.4561,8.9072 18.6558,8.5781 18.292,7.8374 16.9111,7.6728 16.8383,7.2612 16.184,7.4262 15.8936,8.002 15.5298,7.2613 l -0.145,0.3291 0.0728,0.8228 -0.5816,0.494"
+             id="path4200"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4202"
+         style="fill:#204a87">
+        <g
+           style="opacity:0.75;fill:#204a87"
+           id="g4204">
+          <path
+             id="path4206"
+             d=""
+             style="fill:#204a87" />
+        </g>
+        <g
+           id="g4208"
+           style="fill:#204a87">
+          <path
+             id="path4210"
+             d=""
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4212"
+         style="fill:#204a87">
+        <g
+           style="opacity:0.75;fill:#204a87"
+           id="g4214">
+          <path
+             id="path4216"
+             d=""
+             style="fill:#204a87" />
+        </g>
+        <g
+           id="g4218"
+           style="fill:#204a87">
+          <path
+             id="path4220"
+             d=""
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4222"
+         style="fill:#204a87">
+        <g
+           id="g4226"
+           style="fill:#204a87">
+          <path
+             d="M 17.4922,6.8496 17.856,6.521 18.5831,6.3564 c 0.498,-0.2422 0.998,-0.4053 1.5264,-0.5762 l -0.29,-0.4937 -0.9385,0.1348 -0.4434,0.4419 -0.731,0.106 -0.6499,0.3052 -0.3159,0.1528 -0.1929,0.2583 0.9443,0.1641"
+             id="path4228"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4230"
+         style="fill:#204a87">
+        <g
+           id="g4234"
+           style="fill:#204a87">
+          <path
+             d="m 18.7285,14.6665 0.4365,-0.6582 -0.6548,-0.4932 0.2183,1.1514"
+             id="path4236"
+             style="fill:#204a87" />
+        </g>
+      </g>
+    </g>
+    <path
+       style="opacity:0.395604;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient4132);stroke-width:0.799599;stroke-miterlimit:4;stroke-opacity:1"
+       d="m 43.561437,19.499484 c 0,8.128581 -6.589638,14.718146 -14.717101,14.718146 -8.128208,0 -14.717475,-6.58964 -14.717475,-14.718146 0,-8.128208 6.589267,-14.7171017 14.717475,-14.7171017 8.127463,0 14.717101,6.5888937 14.717101,14.7171017 z"
+       id="path4122" />
+    <ellipse
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6007);stroke-width:0.799599;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
+       id="path5991"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       transform="rotate(28.460691)"
+       cx="33.473431"
+       cy="3.7417412"
+       rx="16.184631"
+       ry="7.5622501" />
+    <ellipse
+       transform="rotate(-43.10261)"
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       id="path6009"
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6011);stroke-width:0.799599;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
+       cx="8.4271946"
+       cy="38.692917"
+       rx="16.184631"
+       ry="7.5622501" />
+    <g
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       transform="matrix(-0.83619837,0.61349322,0.61349322,0.83619837,37.677521,-16.985819)"
+       id="g4933">
+      <circle
+         transform="translate(14.95026,22.93047)"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path4935"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient5987);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;marker-start:none;marker-mid:none;marker-end:none"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+      <circle
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;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;marker-start:none;marker-mid:none;marker-end:none"
+         id="path4937"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+    </g>
+    <ellipse
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6015);stroke-width:0.799599;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
+       id="path6013"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       transform="rotate(-174.37239)"
+       cx="-29.582764"
+       cy="-15.425425"
+       rx="16.184629"
+       ry="7.5622487" />
+    <ellipse
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6019);stroke-width:0.799598;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
+       id="path6017"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       transform="matrix(0.73014176,-0.6832957,0.68331862,0.7301203,0,0)"
+       cx="7.4732032"
+       cy="34.315746"
+       rx="15.814781"
+       ry="7.3894114" />
+    <g
+       id="g5075"
+       transform="matrix(-0.64469758,0.47299486,0.47299486,0.64469758,19.102138,-13.695669)"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true">
+      <circle
+         transform="translate(14.95026,22.93047)"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path5077"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient5983);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;marker-start:none;marker-mid:none;marker-end:none"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+      <circle
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;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;marker-start:none;marker-mid:none;marker-end:none"
+         id="path5079"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+    </g>
+    <g
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       transform="matrix(-0.64469758,0.47299486,0.47299486,0.64469758,19.992459,-24.467077)"
+       id="g4945">
+      <circle
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient5985);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;marker-start:none;marker-mid:none;marker-end:none"
+         id="path4947"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="translate(14.95026,22.93047)"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+      <circle
+         transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path4949"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;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;marker-start:none;marker-mid:none;marker-end:none"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+    </g>
+    <g
+       style="opacity:1"
+       id="g4939"
+       transform="matrix(-0.69583274,0.51060161,0.51051045,0.69595588,29.35251,-27.515596)"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true">
+      <circle
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient5989);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;marker-start:none;marker-mid:none;marker-end:none"
+         id="path4941"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="translate(14.95026,22.93047)"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+      <circle
+         transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path4943"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;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;marker-start:none;marker-mid:none;marker-end:none"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+    </g>
+    <g
+       id="g4655"
+       transform="matrix(0.42965914,0,0,0.42965914,-32.525869,-7.5145594)"
+       inkscape:label="plus">
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient4794);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 102.0625,79.999994 c -3.31753,0 -6.0625,2.74498 -6.0625,6.0625 v 9.9375 h -9.9375 c -3.31753,0 -6.0625,2.74498 -6.0625,6.062496 v 3.875 c 0,3.31753 2.74497,6.0625 6.0625,6.0625 H 96 v 9.93751 c 0,3.31752 2.74497,6.0625 6.0625,6.0625 h 3.875 c 3.31752,0 6.0625,-2.74498 6.0625,-6.0625 v -9.93751 h 9.9375 c 3.31752,0 6.0625,-2.74497 6.0625,-6.0625 v -3.875 c 0,-3.317516 -2.74498,-6.062496 -6.0625,-6.062496 H 112 v -9.9375 c 0,-3.31752 -2.74498,-6.0625 -6.0625,-6.0625 z"
+         id="path3012"
+         sodipodi:nodetypes="ccccccccccccccccccccc"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccc"
+         transform="matrix(-0.4770371,0,0,0.4770371,134.46434,74.913337)"
+         id="path3091"
+         d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 68.465655,24.133449 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+         style="fill:url(#linearGradient1937);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient1939);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 68.172686,21.789699 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+         id="path3095"
+         transform="matrix(0.4705955,0,0,0.4705955,74.322072,75.046467)"
+         sodipodi:nodetypes="cccccc"
+         clip-path="none" />
+      <g
+         id="g3201"
+         transform="matrix(1,0,0,-1,148,188.38795)"
+         clip-path="none">
+        <path
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccc"
+           transform="matrix(-0.463084,0,0,0.463084,-14.468792,55.235658)"
+           id="path3197"
+           d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 l 2.175622,10.747436 11.133979,-0.114683 v -0.46875 C 81.92653,20.116546 74.219552,10.743294 69.875971,12.057888 Z"
+           style="opacity:0.643564;fill:url(#radialGradient4800);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)" />
+        <path
+           inkscape:connector-curvature="0"
+           style="opacity:0.643564;fill:url(#radialGradient4802);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+           d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 67.782061,23.547512 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+           id="path3199"
+           transform="matrix(0.4624565,0,0,0.4624565,-73.133616,55.243224)"
+           sodipodi:nodetypes="cccccc" />
+      </g>
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccc"
+         transform="matrix(0.4793282,0,0,0.4793282,89.738069,90.470087)"
+         id="path3221"
+         d="M 69.719108,13.31279 C 68.64202,13.378073 67.34775,12.277052 66.875971,12.995388 L 68.465655,24.133449 79,23.37409 v -0.46875 c 1.740958,-2.57016 -4.937311,-9.65189 -9.280892,-9.59255 z"
+         style="opacity:0.550562;fill:url(#linearGradient1941);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccccccccccccccccccc"
+         id="path3028"
+         d="m 102.0625,79.999994 c -3.31753,0 -6.0625,2.74498 -6.0625,6.0625 v 9.9375 h -9.9375 c -3.31753,0 -6.0625,2.74498 -6.0625,6.062496 v 3.875 c 0,3.31753 2.74497,6.0625 6.0625,6.0625 H 96 v 9.93751 c 0,3.31752 2.74497,6.0625 6.0625,6.0625 h 3.875 c 3.31752,0 6.0625,-2.74498 6.0625,-6.0625 v -9.93751 h 9.9375 c 3.31752,0 6.0625,-2.74497 6.0625,-6.0625 v -3.875 c 0,-3.317516 -2.74498,-6.062496 -6.0625,-6.062496 H 112 v -9.9375 c 0,-3.31752 -2.74498,-6.0625 -6.0625,-6.0625 z"
+         style="opacity:0.643564;fill:url(#radialGradient4806);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="opacity:0.550562;fill:url(#linearGradient3571);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 68.465655,24.133449 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+         id="path3217"
+         transform="matrix(-0.4540742,0,0,0.4540742,116.57304,91.07955)"
+         sodipodi:nodetypes="cccccc"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#radialGradient4810);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 13.9375 H 86.0625 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 3.875 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 H 100 v 13.93751 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 h 3.875 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -13.93751 h 13.9375 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -3.875 c 0,-1.13397 -0.92853,-2.062496 -2.0625,-2.062496 H 108 v -13.9375 c 0,-1.13397 -0.92853,-2.0625 -2.0625,-2.0625 z"
+         id="rect2407"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient4812);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 13.9375 H 86.0625 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 3.875 c 0,0.1098 0.04574,0.20722 0.0625,0.3125 3.25768,0.46957 6.69134,0.75 10.25,0.75 11.50157,0 21.80584,-2.62983 28.59375,-6.75 -0.28924,-0.15515 -0.61935,-0.249996 -0.96875,-0.249996 H 108 v -13.9375 c 0,-1.13397 -0.92853,-2.0625 -2.0625,-2.0625 z"
+         id="path3038"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient4814);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 1 c 0,-1.13397 1.32853,-2.6625 2.4625,-2.6625 h 3.875 c 0.28349,0 0.56599,0.05148 0.8125,0.15625 0.11026,0.24952 0.4875,1.12458 0.4875,1.4125 l 0.3625,14.03125 0.0312,-13.9375 c 0,-0.57563 -0.24106,-1.09358 -0.625,-1.46875 -0.0878,-0.08777 -0.17903,-0.17902 -0.28125,-0.25 -0.008,-0.0052 -0.0235,0.0051 -0.0312,0 -0.10208,-0.06913 -0.19867,-0.13727 -0.3125,-0.1875 -0.009,-0.0037 -0.0225,0.0036 -0.0312,0 -0.1146,-0.0487 -0.25111,-0.09763 -0.375,-0.125 -0.0102,-0.0021 -0.021,0.002 -0.0312,0 -0.12367,-0.0255 -0.24455,-0.02921 -0.375,-0.03125 h -0.0312 -0.46875 z m -16,16 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 1 c 0,-1.13397 0.92853,-2.6625 2.0625,-2.6625 L 100,99.999994 Z m 21.9375,0 13.75977,0.511716 c -6.7592,3.6271 -17.82247,6.39454 -28.50977,6.39453 -1.77933,0 -3.53955,-0.09 -5.25,-0.21875 2.06039,0.18692 4.17941,0.3125 6.34375,0.3125 10.77006,0 20.48375,-2.32371 27.25,-6 0.008,-0.004 0.0233,0.004 0.0312,0 0.44256,-0.24123 0.86462,-0.49711 1.28125,-0.75 -0.13631,-0.0731 -0.2853,-0.14478 -0.4375,-0.1875 -0.01,-0.003 -0.0212,0.003 -0.0312,0 -0.15237,-0.0404 -0.30537,-0.0598 -0.46875,-0.0625 h -0.0312 -0.46875 z"
+         id="path3062"
+         sodipodi:nodetypes="cccccccccsssssssccccccccccccscssscsscccc"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccccccsssssssccccccccccccscssscsscccc"
+         id="path3087"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 1 c 0,-1.13397 1.32853,-2.6625 2.4625,-2.6625 h 3.875 c 0.28349,0 0.56599,0.05148 0.8125,0.15625 0.11026,0.24952 0.4875,1.12458 0.4875,1.4125 l 0.3625,14.03125 0.0312,-13.9375 c 0,-0.57563 -0.24106,-1.09358 -0.625,-1.46875 -0.0878,-0.08777 -0.17903,-0.17902 -0.28125,-0.25 -0.008,-0.0052 -0.0235,0.0051 -0.0312,0 -0.10208,-0.06913 -0.19867,-0.13727 -0.3125,-0.1875 -0.009,-0.0037 -0.0225,0.0036 -0.0312,0 -0.1146,-0.0487 -0.25111,-0.09763 -0.375,-0.125 -0.0102,-0.0021 -0.021,0.002 -0.0312,0 -0.12367,-0.0255 -0.24455,-0.02921 -0.375,-0.03125 h -0.0312 -0.46875 z m -16,16 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 1 c 0,-1.13397 0.92853,-2.6625 2.0625,-2.6625 L 100,99.999994 Z m 21.9375,0 13.85742,0.511716 c -6.75919,3.6271 -17.92012,6.39454 -28.60742,6.39453 -1.77933,0 -3.53955,-0.09 -5.25,-0.21875 2.06039,0.18692 4.17941,0.3125 6.34375,0.3125 10.77006,0 20.48375,-2.32371 27.25,-6 0.008,-0.004 0.0233,0.004 0.0312,0 0.44256,-0.24123 0.86462,-0.49711 1.28125,-0.75 -0.13631,-0.0731 -0.2853,-0.14478 -0.4375,-0.1875 -0.01,-0.003 -0.0212,0.003 -0.0312,0 -0.15237,-0.0404 -0.30537,-0.0598 -0.46875,-0.0625 h -0.0312 -0.46875 z"
+         style="fill:url(#linearGradient4816);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3099"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 13.9375 H 86.0625 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 3.875 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 H 100 v 13.93751 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 h 3.875 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -13.93751 h 13.9375 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -3.875 c 0,-1.13397 -0.92853,-2.062496 -2.0625,-2.062496 H 108 v -13.9375 c 0,-1.13397 -0.92853,-2.0625 -2.0625,-2.0625 z"
+         style="fill:none;fill-opacity:1;stroke:url(#linearGradient4818);stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3191)"
+         clip-path="none" />
+    </g>
+  </g>
+</svg>
diff --git a/flags/system/applications-internet.svg b/flags/system/applications-internet.svg
new file mode 100644 (file)
index 0000000..632865e
--- /dev/null
@@ -0,0 +1,591 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns: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="48px"
+   height="48px"
+   id="svg3440"
+   sodipodi:version="0.32"
+   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
+   sodipodi:docname="applications-internet.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   version="1.1">
+  <defs
+     id="defs3">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 24 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="48 : 24 : 1"
+       inkscape:persp3d-origin="24 : 16 : 1"
+       id="perspective95" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6001">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop6003" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop6005" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4825">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4827" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop4829" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4126">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop4128" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.16494845;"
+         offset="1.0000000"
+         id="stop4130" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient4114">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop4116" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop4118" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3962">
+      <stop
+         style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
+         offset="0.0000000"
+         id="stop3964" />
+      <stop
+         style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
+         offset="0.15517241"
+         id="stop4134" />
+      <stop
+         style="stop-color:#4074ae;stop-opacity:1.0000000;"
+         offset="0.75000000"
+         id="stop4346" />
+      <stop
+         style="stop-color:#36486c;stop-opacity:1.0000000;"
+         offset="1.0000000"
+         id="stop3966" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3962"
+       id="radialGradient3968"
+       gradientTransform="scale(0.999989,1.000011)"
+       cx="18.247644"
+       cy="15.716079"
+       fx="18.247644"
+       fy="15.716079"
+       r="29.993349"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4114"
+       id="radialGradient4120"
+       gradientTransform="scale(1.643990,0.608276)"
+       cx="15.115514"
+       cy="63.965388"
+       fx="15.115514"
+       fy="63.965388"
+       r="12.289036"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4126"
+       id="radialGradient4132"
+       gradientTransform="scale(0.999989,1.000011)"
+       cx="15.601279"
+       cy="12.142302"
+       fx="15.601279"
+       fy="12.142302"
+       r="43.526714"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4825"
+       id="radialGradient5983"
+       gradientUnits="userSpaceOnUse"
+       cx="12.071323"
+       cy="12.493138"
+       fx="12.071323"
+       fy="12.493138"
+       r="6.7175145" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4825"
+       id="radialGradient5985"
+       gradientUnits="userSpaceOnUse"
+       cx="12.071323"
+       cy="12.493138"
+       fx="12.071323"
+       fy="12.493138"
+       r="6.7175145" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4825"
+       id="radialGradient5987"
+       gradientUnits="userSpaceOnUse"
+       cx="12.071323"
+       cy="12.493138"
+       fx="12.071323"
+       fy="12.493138"
+       r="6.7175145" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4825"
+       id="radialGradient5989"
+       gradientUnits="userSpaceOnUse"
+       cx="12.071323"
+       cy="12.493138"
+       fx="12.071323"
+       fy="12.493138"
+       r="6.7175145" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient6007"
+       x1="-25.176178"
+       y1="30.057165"
+       x2="-22.252472"
+       y2="21.041553"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient6011"
+       gradientUnits="userSpaceOnUse"
+       x1="-25.176178"
+       y1="30.057165"
+       x2="-22.113543"
+       y2="22.661524" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient6015"
+       gradientUnits="userSpaceOnUse"
+       x1="-22.822565"
+       y1="28.337734"
+       x2="-22.113543"
+       y2="22.661524" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6001"
+       id="linearGradient6019"
+       gradientUnits="userSpaceOnUse"
+       x1="-21.658581"
+       y1="15.649428"
+       x2="-21.962101"
+       y2="21.336346" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="0.17254902"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6568542"
+     inkscape:cx="-5.4339934"
+     inkscape:cy="25.586897"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1000"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:showpageshadow="false"
+     inkscape:document-rotation="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+        <dc:creator>
+          <cc:Agent>
+            <dc:title>Jakub Steiner</dc:title>
+          </cc:Agent>
+        </dc:creator>
+        <dc:contributor>
+          <cc:Agent>
+            <dc:title>Tuomas Kuosmanen</dc:title>
+          </cc:Agent>
+        </dc:contributor>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+        <dc:source>http://jimmac.musichall.cz</dc:source>
+        <dc:subject>
+          <rdf:Bag>
+            <rdf:li>internet</rdf:li>
+            <rdf:li>tools</rdf:li>
+            <rdf:li>applications</rdf:li>
+            <rdf:li>category</rdf:li>
+          </rdf:Bag>
+        </dc:subject>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/publicdomain/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <ellipse
+       style="display:inline;fill:url(#radialGradient4120);fill-opacity:1;stroke:none;stroke-opacity:1"
+       id="path4112"
+       transform="matrix(1,0,0,1.243244,0,-10.27241)"
+       cx="24.849752"
+       cy="38.908627"
+       rx="20.203051"
+       ry="7.4751287"
+       inkscape:label="shadow" />
+    <path
+       style="fill:url(#radialGradient3968);fill-opacity:1;fill-rule:nonzero;stroke:#39396c;stroke-miterlimit:4;stroke-opacity:1"
+       d="m 43.959853,23.485499 c 0,10.709718 -8.682103,19.391723 -19.390348,19.391723 -10.709226,0 -19.3908387,-8.682103 -19.3908387,-19.391723 0,-10.709227 8.6816127,-19.3903473 19.3908387,-19.3903473 10.708245,0 19.390348,8.6811203 19.390348,19.3903473 z"
+       id="path3214" />
+    <g
+       id="g4136"
+       style="opacity:1;fill:#204a87;fill-opacity:0.71345;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+       transform="matrix(0.982371,0,0,0.982371,0.121079,0.232914)">
+      <g
+         id="g4138"
+         style="fill:#204a87">
+        <g
+           id="g4142"
+           style="fill:#204a87">
+          <path
+             d="m 44.0713,20.7144 c 0,0.2627 0,0 0,0 l -0.5449,0.6172 c -0.334,-0.3936 -0.709,-0.7246 -1.0898,-1.0703 l -0.8359,0.123 -0.7637,-0.8633 v 1.0684 l 0.6543,0.4951 0.4355,0.4932 0.582,-0.6582 c 0.1465,0.2744 0.291,0.5488 0.4365,0.8232 v 0.8223 l -0.6553,0.7402 -1.1992,0.8232 -0.9082,0.9063 -0.582,-0.6602 0.291,-0.7402 -0.5811,-0.6582 -0.9814,-2.0977 -0.8359,-0.9453 -0.2188,0.2461 0.3281,1.1934 0.6172,0.6992 c 0.3525,1.0176 0.7012,1.9902 1.1641,2.9629 0.7178,0 1.3945,-0.0762 2.1074,-0.166 v 0.5762 l -0.8721,2.1392 -0.7998,0.9043 -0.6543,1.4004 c 0,0.7676 0,1.5352 0,2.3027 l 0.2188,0.9063 -0.3633,0.4102 -0.8008,0.4941 -0.8359,0.6992 0.6914,0.7813 -0.9453,0.8242 0.1816,0.5332 -1.418,1.6055 h -0.9443 l -0.7998,0.4941 H 33.6396 V 38.2814 L 33.4228,36.963 c -0.2813,-0.8262 -0.5742,-1.6465 -0.8721,-2.4668 0,-0.6055 0.0361,-1.2051 0.0723,-1.8105 l 0.3643,-0.8223 -0.5098,-0.9883 0.0371,-1.3574 -0.6914,-0.7813 0.3457,-1.1309 -0.5625,-0.6382 H 30.624 l -0.3271,-0.3701 -0.9814,0.6177 -0.3994,-0.4536 -0.9092,0.7817 c -0.6172,-0.6997 -1.2354,-1.3989 -1.8535,-2.0981 l -0.7266,-1.7285 0.6543,-0.9863 -0.3633,-0.4111 0.7988,-1.8936 c 0.6563,-0.8164 1.3418,-1.5996 2.0352,-2.3857 l 1.2363,-0.3291 1.3809,-0.1641 0.9453,0.2471 1.3447,1.3564 0.4727,-0.5342 0.6533,-0.082 1.2363,0.4111 h 0.9453 l 0.6543,-0.5762 0.291,-0.4111 -0.6553,-0.4111 -1.0908,-0.082 c -0.3027,-0.4199 -0.584,-0.8613 -0.9434,-1.2344 l -0.3643,0.1641 -0.1455,1.0703 -0.6543,-0.7402 -0.1445,-0.8242 -0.7266,-0.5742 h -0.292 l 0.7275,0.8223 -0.291,0.7402 -0.5811,0.1641 0.3633,-0.7402 -0.6553,-0.3281 -0.5801,-0.6582 -1.0918,0.2461 -0.1445,0.3281 -0.6543,0.4121 -0.3633,0.9053 -0.9082,0.4521 -0.4004,-0.4521 h -0.4355 v -1.4814 l 0.9453,-0.4941 h 0.7266 l -0.1465,-0.5752 -0.5801,-0.5762 0.9805,-0.2061 0.5449,-0.6162 0.4355,-0.7412 h 0.8008 l -0.2188,-0.5752 0.5098,-0.3291 v 0.6582 l 1.0898,0.2461 1.0898,-0.9043 0.0732,-0.4121 0.9443,-0.6577 c -0.3418,0.0425 -0.6836,0.0737 -1.0176,0.1646 V 9.9766 L 34.2213,9.1538 H 33.858 l -0.7984,0.7402 -0.2188,0.4116 0.2188,0.5767 -0.3643,0.9863 -0.5811,-0.3291 -0.5078,-0.5752 -0.8008,0.5752 -0.291,-1.3159 1.3809,-0.9048 V 8.8247 l 0.873,-0.5757 1.3809,-0.3296 0.9453,0.3296 1.7441,0.3291 -0.4355,0.4932 H 35.458 l 0.9453,0.9873 0.7266,-0.8223 0.2207,-0.3618 c 0,0 2.7871,2.498 4.3799,5.2305 1.5928,2.7334 2.3408,5.9551 2.3408,6.6094 z"
+             id="path4144"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4146"
+         style="fill:#204a87">
+        <g
+           id="g4150"
+           style="fill:#204a87">
+          <path
+             d="m 26.0703,9.2363 -0.0732,0.4932 0.5098,0.3291 0.8711,-0.5757 -0.4355,-0.4937 -0.582,0.3296 -0.29,-0.0825"
+             id="path4152"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4154"
+         style="fill:#204a87">
+        <g
+           id="g4158"
+           style="fill:#204a87">
+          <path
+             d="m 26.8701,5.8633 -1.8906,-0.7407 -2.1797,0.2466 -2.6904,0.7402 -0.5088,0.4941 1.6719,1.1514 v 0.6582 l -0.6543,0.6582 0.873,1.729 0.5801,-0.3301 0.7285,-1.1514 c 1.123,-0.3472 2.1299,-0.7407 3.1973,-1.2344 l 0.873,-2.2212"
+             id="path4160"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4162"
+         style="fill:#204a87">
+        <g
+           id="g4166"
+           style="fill:#204a87">
+          <path
+             d="m 28.833,12.7749 -0.291,-0.7412 -0.5098,0.165 0.1465,0.9043 0.6543,-0.3281"
+             id="path4168"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4170"
+         style="fill:#204a87">
+        <g
+           id="g4174"
+           style="fill:#204a87">
+          <path
+             d="m 29.123,12.6089 -0.1455,0.9883 0.7998,-0.165 0.5811,-0.5752 -0.5088,-0.4941 C 29.6787,11.9078 29.4824,11.483 29.2685,11.0465 H 28.833 v 0.4932 l 0.29,0.3291 v 0.7402"
+             id="path4176"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4178"
+         style="fill:#204a87">
+        <g
+           id="g4182"
+           style="fill:#204a87">
+          <path
+             d="m 18.3652,28.2422 -0.582,-1.1523 -1.0903,-0.2466 -0.5815,-1.5625 -1.4536,0.1641 -1.2354,-0.9043 -1.3091,1.1514 v 0.1816 c -0.396,-0.1143 -0.8828,-0.1299 -1.2354,-0.3467 l -0.291,-0.8223 v -0.9053 l -0.8721,0.082 c 0.0728,-0.5762 0.145,-1.1514 0.2183,-1.7275 H 9.4238 L 8.9155,22.812 8.4062,23.0581 7.6791,22.6479 7.6063,21.7426 7.7518,20.7553 8.8426,19.933 h 0.8721 l 0.145,-0.4941 1.0903,0.2461 0.7998,0.9883 0.1455,-1.6465 1.3813,-1.1514 0.5088,-1.2344 1.0176,-0.4111 0.5815,-0.8223 1.3081,-0.248 0.6548,-0.9863 c -0.6543,0 -1.3086,0 -1.9629,0 l 1.2358,-0.5762 h 0.8716 l 1.2363,-0.4121 0.1455,-0.4922 -0.4365,-0.4121 -0.5088,-0.165 0.1455,-0.4932 -0.3633,-0.7402 -0.8726,0.3281 0.1455,-0.6577 -1.0176,-0.5762 -0.7993,1.3979 0.0723,0.4941 -0.7993,0.3301 -0.5093,1.0693 -0.2178,-0.9873 -1.3813,-0.5762 -0.2183,-0.7402 1.8174,-1.0703 0.7998,-0.7402 0.0728,-0.9048 -0.436,-0.2471 -0.5815,-0.0825 -0.3633,0.9053 c 0,0 -0.6079,0.1191 -0.7642,0.1577 -1.9961,1.8394 -6.0293,5.8101 -6.9663,13.3062 0.0371,0.1738 0.6792,1.1816 0.6792,1.1816 l 1.5264,0.9043 1.5264,0.4121 0.6548,0.8232 1.0171,0.7402 0.5815,-0.082 0.436,0.1963 v 0.1328 l -0.5811,1.563 -0.4365,0.6582 0.1455,0.3301 -0.3633,1.2324 1.3086,2.3867 1.3081,1.1523 0.582,0.8223 -0.0732,1.7285 0.4365,0.9863 -0.4365,1.8926 c 0,0 -0.0342,-0.0117 0.0215,0.1777 0.0562,0.1895 2.3291,1.4512 2.4736,1.3438 0.144,-0.1094 0.2671,-0.2051 0.2671,-0.2051 l -0.145,-0.4102 0.5811,-0.5762 0.2183,-0.5762 0.9453,-0.3301 0.7266,-1.8105 -0.2178,-0.4922 0.5078,-0.7402 1.0908,-0.248 0.582,-1.3164 -0.1455,-1.6445 0.8721,-1.2344 0.1455,-1.2344 C 20.7331,29.4607 19.5495,28.8513 18.365,28.242"
+             id="path4184"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4186"
+         style="fill:#204a87">
+        <g
+           id="g4190"
+           style="fill:#204a87">
+          <path
+             d="m 16.7656,9.5649 0.7266,0.4937 h 0.582 V 9.4829 l -0.7266,-0.3291 -0.582,0.4111"
+             id="path4192"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4194"
+         style="fill:#204a87">
+        <g
+           id="g4198"
+           style="fill:#204a87">
+          <path
+             d="M 14.876,8.9072 14.5122,9.812 h 0.7271 L 15.6031,8.9892 C 15.9166,8.7675 16.2286,8.5444 16.5479,8.331 l 0.7271,0.2471 c 0.4844,0.3291 0.9688,0.6582 1.4536,0.9868 L 19.4561,8.9072 18.6558,8.5781 18.292,7.8374 16.9111,7.6728 16.8383,7.2612 16.184,7.4262 15.8936,8.002 15.5298,7.2613 l -0.145,0.3291 0.0728,0.8228 -0.5816,0.494"
+             id="path4200"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4202"
+         style="fill:#204a87">
+        <g
+           style="opacity:0.75;fill:#204a87"
+           id="g4204">
+          <path
+             id="path4206"
+             d=""
+             style="fill:#204a87" />
+        </g>
+        <g
+           id="g4208"
+           style="fill:#204a87">
+          <path
+             id="path4210"
+             d=""
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4212"
+         style="fill:#204a87">
+        <g
+           style="opacity:0.75;fill:#204a87"
+           id="g4214">
+          <path
+             id="path4216"
+             d=""
+             style="fill:#204a87" />
+        </g>
+        <g
+           id="g4218"
+           style="fill:#204a87">
+          <path
+             id="path4220"
+             d=""
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4222"
+         style="fill:#204a87">
+        <g
+           id="g4226"
+           style="fill:#204a87">
+          <path
+             d="M 17.4922,6.8496 17.856,6.521 18.5831,6.3564 c 0.498,-0.2422 0.998,-0.4053 1.5264,-0.5762 l -0.29,-0.4937 -0.9385,0.1348 -0.4434,0.4419 -0.731,0.106 -0.6499,0.3052 -0.3159,0.1528 -0.1929,0.2583 0.9443,0.1641"
+             id="path4228"
+             style="fill:#204a87" />
+        </g>
+      </g>
+      <g
+         id="g4230"
+         style="fill:#204a87">
+        <g
+           id="g4234"
+           style="fill:#204a87">
+          <path
+             d="m 18.7285,14.6665 0.4365,-0.6582 -0.6548,-0.4932 0.2183,1.1514"
+             id="path4236"
+             style="fill:#204a87" />
+        </g>
+      </g>
+    </g>
+    <path
+       style="opacity:0.395604;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient4132);stroke-miterlimit:4;stroke-opacity:1"
+       d="m 42.975093,23.485534 c 0,10.16582 -8.241178,18.406906 -18.4056,18.406906 -10.165354,0 -18.4060669,-8.241179 -18.4060669,-18.406906 0,-10.165354 8.2407129,-18.4056 18.4060669,-18.4056 10.164422,0 18.4056,8.240246 18.4056,18.4056 z"
+       id="path4122" />
+    <ellipse
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6007);stroke-width:0.881642;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
+       id="path5991"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       transform="matrix(1.131034,0.613097,-0.476556,0.879144,54.09058,16.04435)"
+       cx="-18.561554"
+       cy="21.041553"
+       rx="15.733126"
+       ry="9.4575529" />
+    <ellipse
+       transform="matrix(0.939326,-0.879086,0.683307,0.730131,32.31406,-4.451561)"
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       id="path6009"
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6011);stroke-width:0.881642;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
+       cx="-18.561554"
+       cy="21.041553"
+       rx="15.733126"
+       ry="9.4575529" />
+    <g
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       transform="matrix(-1.045772,0.767251,0.767251,1.045772,35.61651,-22.14396)"
+       id="g4933">
+      <circle
+         transform="translate(14.95026,22.93047)"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path4935"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient5987);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;marker-start:none;marker-mid:none;marker-end:none"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+      <circle
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;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;marker-start:none;marker-mid:none;marker-end:none"
+         id="path4937"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+    </g>
+    <ellipse
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6015);stroke-width:0.881642;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
+       id="path6013"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       transform="matrix(-1.280316,-0.126159,0.09806226,-0.99518,-2.405125,40.52387)"
+       cx="-18.561554"
+       cy="21.041553"
+       rx="15.733126"
+       ry="9.4575529" />
+    <ellipse
+       style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6019);stroke-width:0.902261;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none"
+       id="path6017"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       transform="matrix(0.917874,-0.858983,0.667701,0.713433,27.63317,-6.909069)"
+       cx="-18.561554"
+       cy="21.041553"
+       rx="15.733126"
+       ry="9.4575529" />
+    <g
+       id="g5075"
+       transform="matrix(-0.806276,0.59154,0.59154,0.806276,12.38564,-18.02921)"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true">
+      <circle
+         transform="translate(14.95026,22.93047)"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path5077"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient5983);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;marker-start:none;marker-mid:none;marker-end:none"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+      <circle
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;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;marker-start:none;marker-mid:none;marker-end:none"
+         id="path5079"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+    </g>
+    <g
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       transform="matrix(-0.806276,0.59154,0.59154,0.806276,13.4991,-31.50022)"
+       id="g4945">
+      <circle
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient5985);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;marker-start:none;marker-mid:none;marker-end:none"
+         id="path4947"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="translate(14.95026,22.93047)"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+      <circle
+         transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path4949"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;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;marker-start:none;marker-mid:none;marker-end:none"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+    </g>
+    <g
+       style="opacity:1"
+       id="g4939"
+       transform="matrix(-0.870227,0.638572,0.638458,0.870381,25.20503,-35.31278)"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true">
+      <circle
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:url(#radialGradient5989);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;marker-start:none;marker-mid:none;marker-end:none"
+         id="path4941"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="translate(14.95026,22.93047)"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+      <circle
+         transform="matrix(0.308271,0,0,0.308271,23.30035,31.57234)"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path4943"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;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;marker-start:none;marker-mid:none;marker-end:none"
+         cx="12.071323"
+         cy="12.493138"
+         r="6.7175145" />
+    </g>
+  </g>
+</svg>
diff --git a/flags/system/klipper.svg b/flags/system/klipper.svg
new file mode 100644 (file)
index 0000000..160cfa8
--- /dev/null
@@ -0,0 +1,3061 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:ns="http://ns.adobe.com/SaveForWeb/1.0/"
+   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"
+   version="1.1"
+   id="Layer_1"
+   width="128"
+   height="128"
+   viewBox="0 0 128 128"
+   overflow="visible"
+   enable-background="new 0 0 128 128"
+   xml:space="preserve"><defs
+   id="defs105"><linearGradient
+   id="linearGradient3400"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop3402" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop3404" /></linearGradient><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3368">
+                       <stop
+   id="stop3370"
+   style="stop-color:#595959;stop-opacity:1;"
+   offset="0" />
+                       <stop
+   id="stop3372"
+   style="stop-color:#222222;stop-opacity:1;"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient4811"><stop
+     style="stop-color:#000000;stop-opacity:1;"
+     offset="0"
+     id="stop4813" /><stop
+     style="stop-color:#000000;stop-opacity:0;"
+     offset="1"
+     id="stop4815" /></linearGradient><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4207">
+                       <stop
+   id="stop4209"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop4211"
+   style="stop-color:#c17900;stop-opacity:1"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient4077"><stop
+     style="stop-color:#000000;stop-opacity:1;"
+     offset="0"
+     id="stop4079" /><stop
+     style="stop-color:#000000;stop-opacity:0;"
+     offset="1"
+     id="stop4081" /></linearGradient><linearGradient
+   id="linearGradient4005"><stop
+     style="stop-color:#000000;stop-opacity:1;"
+     offset="0"
+     id="stop4007" /><stop
+     style="stop-color:#000000;stop-opacity:0;"
+     offset="1"
+     id="stop4009" /></linearGradient><linearGradient
+   xlink:href="#linearGradient18649"
+   id="linearGradient3816"
+   x1="28.364862"
+   y1="12"
+   x2="77.328758"
+   y2="122.48434"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.968754,0)" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3287">
+                       <stop
+   id="stop3289"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop3291"
+   style="stop-color:#ffa000;stop-opacity:1;"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient3291"><stop
+     style="stop-color:black;stop-opacity:1"
+     offset="0"
+     id="stop3293" /><stop
+     style="stop-color:black;stop-opacity:0"
+     offset="1"
+     id="stop3295" /></linearGradient><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient18668">
+                       <stop
+   id="stop18670"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   offset="0" />
+                       <stop
+   id="stop18672"
+   style="stop-color:white;stop-opacity:0;"
+   offset="1" />
+               </linearGradient><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient15967">
+                       <stop
+   id="stop15969"
+   style="stop-color:white;stop-opacity:1;"
+   offset="0" />
+                       <stop
+   id="stop15971"
+   style="stop-color:white;stop-opacity:0;"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="XMLID_2_"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#FFEA00"
+   id="stop12" />
+                       <stop
+   offset="1"
+   style="stop-color:#FFCC00"
+   id="stop14" />
+               </linearGradient><linearGradient
+   xlink:href="#XMLID_9_"
+   id="linearGradient2391"
+   gradientUnits="userSpaceOnUse"
+   x1="94.3438"
+   y1="102.3447"
+   x2="86.5356"
+   y2="94.5366" /><linearGradient
+   xlink:href="#XMLID_10_"
+   id="linearGradient2393"
+   gradientUnits="userSpaceOnUse"
+   x1="95"
+   y1="103"
+   x2="86.5865"
+   y2="94.5865" /><linearGradient
+   xlink:href="#XMLID_11_"
+   id="linearGradient2395"
+   gradientUnits="userSpaceOnUse"
+   x1="95"
+   y1="103"
+   x2="87.293"
+   y2="95.293" /><linearGradient
+   xlink:href="#XMLID_12_"
+   id="linearGradient2397"
+   gradientUnits="userSpaceOnUse"
+   x1="96"
+   y1="104"
+   x2="88.0002"
+   y2="96.0002" /><radialGradient
+   xlink:href="#XMLID_7_"
+   id="radialGradient2465"
+   gradientUnits="userSpaceOnUse"
+   cx="102"
+   cy="112.3047"
+   r="139.5585" /><radialGradient
+   xlink:href="#XMLID_8_"
+   id="radialGradient2467"
+   gradientUnits="userSpaceOnUse"
+   cx="102"
+   cy="112.3047"
+   r="139.55859" />
+       <foreignObject
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/"
+   x="0"
+   y="0"
+   width="1"
+   height="1"
+   id="foreignObject7">
+               
+       </foreignObject>
+       
+<linearGradient
+   xlink:href="#XMLID_2_"
+   id="linearGradient12378"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0" /><linearGradient
+   xlink:href="#linearGradient2309"
+   id="linearGradient14180"
+   gradientUnits="userSpaceOnUse"
+   x1="-74.820707"
+   y1="100.82378"
+   x2="-18.121965"
+   y2="100.82378" /><linearGradient
+   xlink:href="#linearGradient2309"
+   id="linearGradient14189"
+   gradientUnits="userSpaceOnUse"
+   x1="-74.820707"
+   y1="100.82378"
+   x2="-18.121965"
+   y2="100.82378" /><linearGradient
+   xlink:href="#linearGradient15967"
+   id="linearGradient15973"
+   gradientUnits="userSpaceOnUse"
+   x1="27.719746"
+   y1="7.881104"
+   x2="27.719746"
+   y2="30.441185"
+   gradientTransform="translate(1.470416e-5,0)" /><linearGradient
+   xlink:href="#linearGradient2309"
+   id="linearGradient15977"
+   gradientUnits="userSpaceOnUse"
+   x1="-74.820707"
+   y1="100.82378"
+   x2="-18.121965"
+   y2="100.82378" /><radialGradient
+   xlink:href="#linearGradient15967"
+   id="radialGradient15986"
+   cx="26.954102"
+   cy="31.045055"
+   fx="26.954102"
+   fy="31.045055"
+   r="8.968153"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   gradientUnits="userSpaceOnUse" /><linearGradient
+   xlink:href="#XMLID_2_"
+   id="linearGradient18657"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0" />
+               <linearGradient
+   id="linearGradient18649"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#FFEA00"
+   id="stop18651" />
+                       <stop
+   offset="1"
+   style="stop-color:#FFCC00"
+   id="stop18653" />
+               </linearGradient>
+               
+       <linearGradient
+   xlink:href="#linearGradient18668"
+   id="linearGradient18674"
+   gradientUnits="userSpaceOnUse"
+   x1="-39.53125"
+   y1="78"
+   x2="-39.53125"
+   y2="51.1875" /><linearGradient
+   xlink:href="#XMLID_2_"
+   id="linearGradient18744"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0" /><linearGradient
+   xlink:href="#linearGradient18668"
+   id="linearGradient18746"
+   gradientUnits="userSpaceOnUse"
+   x1="-39.53125"
+   y1="78"
+   x2="-39.53125"
+   y2="51.1875" /><linearGradient
+   xlink:href="#linearGradient18668"
+   id="linearGradient18749"
+   gradientUnits="userSpaceOnUse"
+   x1="-39.53125"
+   y1="78"
+   x2="-39.53125"
+   y2="51.1875"
+   gradientTransform="translate(69.54139,-45.18897)" />
+       
+       
+       
+       
+<linearGradient
+   xlink:href="#linearGradient18668"
+   id="linearGradient4708"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(69.54139,-45.18897)"
+   x1="-39.53125"
+   y1="78"
+   x2="-39.53125"
+   y2="51.1875" /><linearGradient
+   xlink:href="#linearGradient3287"
+   id="linearGradient3456"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0" />
+               <linearGradient
+   id="linearGradient3446"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#FFEA00"
+   id="stop3448" />
+                       <stop
+   offset="1"
+   style="stop-color:#FFCC00"
+   id="stop3450" />
+               </linearGradient>
+               
+       <radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.1822917,0,36.388019)"
+   r="48"
+   fy="44.499996"
+   fx="-85.9375"
+   cy="44.499996"
+   cx="-85.9375"
+   id="radialGradient4153"
+   xlink:href="#linearGradient3290" /><linearGradient
+   y2="96.142189"
+   x2="78.843246"
+   y1="139.71719"
+   x1="78.843246"
+   gradientTransform="matrix(1,0,0,1.016882,-149.9375,-1.0166985)"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4150"
+   xlink:href="#linearGradient3291" /><linearGradient
+   y2="56.623283"
+   x2="-22.311716"
+   y1="56.623283"
+   x1="75.130096"
+   gradientTransform="matrix(1,0,0,1.016882,-149.9375,-1.0166985)"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4148"
+   xlink:href="#radialGradient3888" /><radialGradient
+   r="52"
+   fy="3.9355147"
+   fx="54.254757"
+   cy="3.9355147"
+   cx="54.254757"
+   gradientTransform="matrix(1.23137,0,0,1.730769,-165.54517,-5.5510275)"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient4146"
+   xlink:href="#radialGradient4016" /><linearGradient
+   y2="116.65697"
+   x2="63.9995"
+   y1="25.1577"
+   x1="63.9995"
+   gradientTransform="matrix(1,0,0,1.016882,-149.9375,-1.0166985)"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4144"
+   xlink:href="#linearGradient3287" /><radialGradient
+   r="52"
+   fy="0.17394008"
+   fx="64"
+   cy="0.17394008"
+   cx="64"
+   gradientTransform="matrix(1.23137,0,0,1.730769,-164.74518,-7.0510245)"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient4140"
+   xlink:href="#linearGradient3785" /><linearGradient
+   id="linearGradient3465"><stop
+     style="stop-color:#000000;stop-opacity:1;"
+     offset="0"
+     id="stop3467" /><stop
+     style="stop-color:#000000;stop-opacity:0;"
+     offset="1"
+     id="stop3469" /></linearGradient><linearGradient
+   id="linearGradient3443"><stop
+     style="stop-color:#747474;stop-opacity:1;"
+     offset="0"
+     id="stop3445" /><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="1"
+     id="stop3447" /></linearGradient><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3785">
+                       <stop
+   id="stop3787"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop3789"
+   style="stop-color:#f49900;stop-opacity:1;"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient3791"><stop
+     style="stop-color:black;stop-opacity:1"
+     offset="0"
+     id="stop3793" /><stop
+     style="stop-color:black;stop-opacity:0"
+     offset="1"
+     id="stop3795" /></linearGradient><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3797">
+                       <stop
+   id="stop3799"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   offset="0" />
+                       <stop
+   id="stop3801"
+   style="stop-color:white;stop-opacity:0;"
+   offset="1" />
+               </linearGradient><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient3803">
+                       <stop
+   id="stop3805"
+   style="stop-color:white;stop-opacity:1;"
+   offset="0" />
+                       <stop
+   id="stop3807"
+   style="stop-color:white;stop-opacity:0;"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient3809"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#FFEA00"
+   id="stop3811" />
+                       <stop
+   offset="1"
+   style="stop-color:#FFCC00"
+   id="stop3813" />
+               </linearGradient><linearGradient
+   xlink:href="#XMLID_9_"
+   id="linearGradient3815"
+   gradientUnits="userSpaceOnUse"
+   x1="94.3438"
+   y1="102.3447"
+   x2="86.5356"
+   y2="94.5366" /><linearGradient
+   xlink:href="#XMLID_10_"
+   id="linearGradient3817"
+   gradientUnits="userSpaceOnUse"
+   x1="95"
+   y1="103"
+   x2="86.5865"
+   y2="94.5865" /><linearGradient
+   xlink:href="#XMLID_11_"
+   id="linearGradient3819"
+   gradientUnits="userSpaceOnUse"
+   x1="95"
+   y1="103"
+   x2="87.293"
+   y2="95.293" /><linearGradient
+   xlink:href="#XMLID_12_"
+   id="linearGradient3821"
+   gradientUnits="userSpaceOnUse"
+   x1="96"
+   y1="104"
+   x2="88.0002"
+   y2="96.0002" /><radialGradient
+   xlink:href="#XMLID_7_"
+   id="radialGradient3823"
+   gradientUnits="userSpaceOnUse"
+   cx="102"
+   cy="112.3047"
+   r="139.5585" /><radialGradient
+   xlink:href="#XMLID_8_"
+   id="radialGradient3825"
+   gradientUnits="userSpaceOnUse"
+   cx="102"
+   cy="112.3047"
+   r="139.55859" />
+       <foreignObject
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/"
+   x="0"
+   y="0"
+   width="1"
+   height="1"
+   id="foreignObject3827">
+               
+       </foreignObject>
+       
+<linearGradient
+   xlink:href="#XMLID_2_"
+   id="linearGradient3829"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0" /><linearGradient
+   xlink:href="#linearGradient2309"
+   id="linearGradient3831"
+   gradientUnits="userSpaceOnUse"
+   x1="-74.820707"
+   y1="100.82378"
+   x2="-18.121965"
+   y2="100.82378" /><linearGradient
+   xlink:href="#linearGradient2309"
+   id="linearGradient3833"
+   gradientUnits="userSpaceOnUse"
+   x1="-74.820707"
+   y1="100.82378"
+   x2="-18.121965"
+   y2="100.82378" /><linearGradient
+   xlink:href="#linearGradient15967"
+   id="linearGradient3835"
+   gradientUnits="userSpaceOnUse"
+   x1="27.719746"
+   y1="7.881104"
+   x2="27.719746"
+   y2="30.441185"
+   gradientTransform="translate(1.470416e-5,0)" /><linearGradient
+   xlink:href="#linearGradient2309"
+   id="linearGradient3837"
+   gradientUnits="userSpaceOnUse"
+   x1="-74.820707"
+   y1="100.82378"
+   x2="-18.121965"
+   y2="100.82378" /><radialGradient
+   xlink:href="#linearGradient15967"
+   id="radialGradient3839"
+   cx="26.954102"
+   cy="31.045055"
+   fx="26.954102"
+   fy="31.045055"
+   r="8.968153"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   gradientUnits="userSpaceOnUse" /><linearGradient
+   xlink:href="#XMLID_2_"
+   id="linearGradient3841"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0" />
+               <linearGradient
+   id="linearGradient3843"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#FFEA00"
+   id="stop3845" />
+                       <stop
+   offset="1"
+   style="stop-color:#FFCC00"
+   id="stop3847" />
+               </linearGradient>
+               
+       <linearGradient
+   xlink:href="#linearGradient18668"
+   id="linearGradient3849"
+   gradientUnits="userSpaceOnUse"
+   x1="-39.53125"
+   y1="78"
+   x2="-39.53125"
+   y2="51.1875" /><linearGradient
+   xlink:href="#XMLID_2_"
+   id="linearGradient3851"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0" /><linearGradient
+   xlink:href="#linearGradient18668"
+   id="linearGradient3853"
+   gradientUnits="userSpaceOnUse"
+   x1="-39.53125"
+   y1="78"
+   x2="-39.53125"
+   y2="51.1875" /><linearGradient
+   xlink:href="#linearGradient18668"
+   id="linearGradient3855"
+   gradientUnits="userSpaceOnUse"
+   x1="-39.53125"
+   y1="78"
+   x2="-39.53125"
+   y2="51.1875"
+   gradientTransform="translate(69.54139,-45.18897)" /><radialGradient
+   xlink:href="#XMLID_8_"
+   id="radialGradient3857"
+   gradientUnits="userSpaceOnUse"
+   cx="102"
+   cy="112.3047"
+   r="139.55859"
+   fx="101.5"
+   fy="112"
+   gradientTransform="translate(-8,0)" /><radialGradient
+   xlink:href="#XMLID_7_"
+   id="radialGradient3859"
+   gradientUnits="userSpaceOnUse"
+   cx="102"
+   cy="112.3047"
+   r="139.5585"
+   gradientTransform="translate(-8,0)" /><linearGradient
+   xlink:href="#XMLID_12_"
+   id="linearGradient3861"
+   gradientUnits="userSpaceOnUse"
+   x1="96"
+   y1="104"
+   x2="88.0002"
+   y2="96.0002"
+   gradientTransform="translate(-2,4)" /><linearGradient
+   xlink:href="#XMLID_11_"
+   id="linearGradient3863"
+   gradientUnits="userSpaceOnUse"
+   x1="95"
+   y1="103"
+   x2="87.293"
+   y2="95.293"
+   gradientTransform="translate(-2,4)" /><linearGradient
+   xlink:href="#XMLID_10_"
+   id="linearGradient3865"
+   gradientUnits="userSpaceOnUse"
+   x1="95"
+   y1="103"
+   x2="86.5865"
+   y2="94.5865"
+   gradientTransform="translate(-2,4)" /><linearGradient
+   xlink:href="#XMLID_9_"
+   id="linearGradient3867"
+   gradientUnits="userSpaceOnUse"
+   x1="94.3438"
+   y1="102.3447"
+   x2="86.5356"
+   y2="94.5366"
+   gradientTransform="translate(-2,4)" />
+       
+       
+       
+       
+<linearGradient
+   xlink:href="#linearGradient18668"
+   id="linearGradient3869"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(69.54139,-45.18897)"
+   x1="-39.53125"
+   y1="78"
+   x2="-39.53125"
+   y2="51.1875" />
+               <linearGradient
+   id="linearGradient3875"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#FFEA00"
+   id="stop3877" />
+                       <stop
+   offset="1"
+   style="stop-color:#FFCC00"
+   id="stop3879" />
+               </linearGradient>
+               
+       <clipPath
+   clipPathUnits="userSpaceOnUse"
+   id="clipPath3560"><path
+     id="path3562"
+     d="M 174,120 C 150.49117,120 164,89.333333 159,74 C 175.06733,78.466333 206,73.457434 206,88 L 174,120 z "
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3554)" /></clipPath><radialGradient
+   r="122.3935"
+   fy="24.1598"
+   fx="63.066601"
+   cy="6.0488"
+   cx="42.378899"
+   gradientTransform="matrix(1.0151,0,0,1.0491,-1.0186,-1.3463)"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient3954"
+   xlink:href="#XMLID_6_" /><linearGradient
+   y2="157.6319"
+   x2="63.9995"
+   y1="25.1577"
+   x1="63.9995"
+   gradientTransform="matrix(1,0,0,0.635551,0,42.02081)"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient1922"
+   xlink:href="#XMLID_7_" /><linearGradient
+   y2="56.623283"
+   x2="129.05333"
+   y1="56.623283"
+   x1="0"
+   gradientTransform="matrix(1,0,0,1.016882,0,-0.766697)"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient5885"
+   xlink:href="#XMLID_8_" />
+                               
+                       <radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0151,0,0,1.0491,-1.0186,-1.3463)"
+   fy="24.1598"
+   fx="63.066601"
+   r="122.3935"
+   cy="6.0488"
+   cx="42.378899"
+   id="radialGradient3888">
+                                       <stop
+   id="stop3890"
+   style="stop-color:#FFFFFF"
+   offset="0" />
+                                       <stop
+   id="stop3892"
+   style="stop-color:#DDDDDD"
+   offset="1" />
+                                       
+                                       
+                               </radialGradient>
+                               
+                               
+                               
+                                       
+                       
+               <linearGradient
+   id="linearGradient2355"
+   gradientUnits="userSpaceOnUse"
+   x1="-37.875"
+   y1="48.787102"
+   x2="230.237"
+   y2="48.787102">
+                               <stop
+   offset="0"
+   style="stop-color:#a2c3eb;stop-opacity:0.50196081;"
+   id="stop2357" />
+                               <stop
+   offset="0.12634172"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop2359" /><stop
+   id="stop3897"
+   style="stop-color:white;stop-opacity:1;"
+   offset="0.80858696" />
+                               <stop
+   offset="1"
+   style="stop-color:#a7cbf7;stop-opacity:0.50196081;"
+   id="stop2362" />
+                       </linearGradient>
+                       
+                       <linearGradient
+   id="linearGradient2345"
+   gradientUnits="userSpaceOnUse"
+   x1="63.9995"
+   y1="25.1577"
+   x2="63.9995"
+   y2="157.6319">
+                               <stop
+   offset="0"
+   style="stop-color:#BFD9FF"
+   id="stop2347" />
+                               <stop
+   offset="0.2189"
+   style="stop-color:#80B3FF"
+   id="stop2349" />
+                               <stop
+   offset="0.2933"
+   style="stop-color:#6EA5F3"
+   id="stop3903" />
+                               <stop
+   offset="0.4426"
+   style="stop-color:#3E80D3"
+   id="stop3905" />
+                               <stop
+   offset="0.4941"
+   style="stop-color:#2C72C7"
+   id="stop3907" />
+                               <stop
+   offset="0.7"
+   style="stop-color:#00438A"
+   id="stop3909" />
+                       </linearGradient>
+                       
+                       
+                       
+                       
+                       
+                       
+                       <radialGradient
+   gradientTransform="translate(-103.157,-34.959)"
+   id="radialGradient3911"
+   cx="51.9995"
+   cy="-9"
+   r="111.0006"
+   gradientUnits="userSpaceOnUse">
+                               <stop
+   offset="0.15"
+   style="stop-color:#80B3FF"
+   id="stop2338" />
+                               <stop
+   offset="0.316"
+   style="stop-color:#69A1F0"
+   id="stop2340" />
+                               <stop
+   offset="0.6029"
+   style="stop-color:#4888DA"
+   id="stop3915" />
+                               <stop
+   offset="0.8412"
+   style="stop-color:#3378CC"
+   id="stop3917" />
+                               <stop
+   offset="1"
+   style="stop-color:#2C72C7"
+   id="stop3919" />
+                       </radialGradient>
+       
+
+               
+               
+       
+                       <foreignObject
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/"
+   x="0"
+   y="0"
+   width="1"
+   height="1"
+   id="foreignObject2335">
+               
+       </foreignObject>
+       <radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0151,0,0,1.0491,-1.0186,-1.3463)"
+   fy="24.1598"
+   fx="63.066601"
+   r="122.3935"
+   cy="6.0488"
+   cx="42.378899"
+   id="radialGradient3922">
+                                       <stop
+   id="stop3924"
+   style="stop-color:#FFFFFF"
+   offset="0" /><stop
+   offset="0.59375"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop3926" />
+                                       <stop
+   id="stop3928"
+   style="stop-color:white;stop-opacity:0.70886075;"
+   offset="1" />
+                                       
+                                       
+                               </radialGradient><radialGradient
+   id="radialGradient3930"
+   cx="42.378899"
+   cy="6.0488"
+   r="122.3935"
+   fx="63.066601"
+   fy="24.1598"
+   gradientTransform="matrix(1.0151,0,0,1.0491,-1.0186,-1.3463)"
+   gradientUnits="userSpaceOnUse">
+                                       <stop
+   offset="0"
+   style="stop-color:#00438a;stop-opacity:0;"
+   id="stop3932" />
+                                       
+                                       
+                                       <stop
+   offset="1"
+   style="stop-color:#00438a;stop-opacity:1;"
+   id="stop3934" />
+                               </radialGradient><linearGradient
+   id="linearGradient2321"><stop
+     id="stop2323"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop2325"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><linearGradient
+   xlink:href="#radialGradient4962"
+   id="linearGradient2396"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-147.5,22.440458)"
+   x1="64"
+   y1="39.358757"
+   x2="55.187801"
+   y2="72.246338" /><linearGradient
+   xlink:href="#linearGradient18649"
+   id="linearGradient2400"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.635551,-147.5,42.461268)"
+   x1="63.9995"
+   y1="25.1577"
+   x2="63.9995"
+   y2="157.6319" /><linearGradient
+   xlink:href="#linearGradient2321"
+   id="linearGradient2403"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-147.5,22.440458)"
+   x1="66.82843"
+   y1="73.299881"
+   x2="66.82843"
+   y2="36" /><radialGradient
+   xlink:href="#radialGradient4016"
+   id="radialGradient2413"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.23137,0,0,1.730769,-161.30768,-3.860568)"
+   cx="31.268095"
+   cy="5.2808232"
+   fx="31.268095"
+   fy="5.2808232"
+   r="52" /><linearGradient
+   xlink:href="#linearGradient3287"
+   id="linearGradient2416"
+   gradientUnits="userSpaceOnUse"
+   x1="61.572254"
+   y1="-16"
+   x2="61.803467"
+   y2="-98.624275"
+   gradientTransform="translate(-147.5,-2.440458)" /><linearGradient
+   xlink:href="#linearGradient3443"
+   id="linearGradient3449"
+   x1="-147.5"
+   y1="74.268583"
+   x2="-108.55761"
+   y2="74.268585"
+   gradientUnits="userSpaceOnUse" /><radialGradient
+   xlink:href="#radialGradient4016"
+   id="radialGradient3453"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1.23137,0,0,-1.730769,-51.782417,67.30103)"
+   cx="31.268095"
+   cy="5.2808232"
+   fx="31.268095"
+   fy="5.2808232"
+   r="52" /><linearGradient
+   xlink:href="#linearGradient3465"
+   id="linearGradient3471"
+   x1="-83.500114"
+   y1="127.94046"
+   x2="-83.500114"
+   y2="104.94046"
+   gradientUnits="userSpaceOnUse" /><linearGradient
+   xlink:href="#linearGradient3287"
+   id="linearGradient3473"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-147.5,-2.440458)"
+   x1="61.572254"
+   y1="-16"
+   x2="61.803467"
+   y2="-98.624275" /><radialGradient
+   xlink:href="#radialGradient4016"
+   id="radialGradient3475"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.23137,0,0,1.730769,-161.30768,-3.860568)"
+   cx="31.268095"
+   cy="5.2808232"
+   fx="31.268095"
+   fy="5.2808232"
+   r="52" /><linearGradient
+   xlink:href="#linearGradient2321"
+   id="linearGradient3477"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-147.5,22.440458)"
+   x1="66.82843"
+   y1="73.299881"
+   x2="66.82843"
+   y2="36" /><linearGradient
+   xlink:href="#linearGradient18649"
+   id="linearGradient3479"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,0.635551,-147.5,42.461268)"
+   x1="63.9995"
+   y1="25.1577"
+   x2="63.9995"
+   y2="157.6319" /><linearGradient
+   xlink:href="#linearGradient3443"
+   id="linearGradient3481"
+   gradientUnits="userSpaceOnUse"
+   x1="-147.5"
+   y1="74.268583"
+   x2="-108.55761"
+   y2="74.268585" /><clipPath
+   id="clipPath2536"
+   clipPathUnits="userSpaceOnUse"><path
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3554)"
+     d="M 174,120 C 150.49117,120 164,89.333333 159,74 C 175.06733,78.466333 206,73.457434 206,88 L 174,120 z "
+     id="path2538" /></clipPath>
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2525">
+                       <stop
+   id="stop2527"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop2529"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientTransform="translate(69.54139,-45.18897)"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2516"
+   xlink:href="#linearGradient18668" />
+       
+       
+       
+       
+<linearGradient
+   gradientTransform="translate(8,0)"
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2514"
+   xlink:href="#XMLID_9_" /><linearGradient
+   gradientTransform="translate(8,0)"
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2512"
+   xlink:href="#XMLID_10_" /><linearGradient
+   gradientTransform="translate(8,0)"
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2510"
+   xlink:href="#XMLID_11_" /><linearGradient
+   gradientTransform="translate(8,0)"
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2508"
+   xlink:href="#XMLID_12_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientTransform="translate(8,0)"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2506"
+   xlink:href="#XMLID_7_" /><radialGradient
+   fy="112"
+   fx="101.5"
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientTransform="translate(8,0)"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2504"
+   xlink:href="#XMLID_8_" /><linearGradient
+   gradientTransform="translate(69.54139,-45.18897)"
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2502"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2500"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2498"
+   xlink:href="#XMLID_2_" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2496"
+   xlink:href="#linearGradient18668" />
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2490">
+                       <stop
+   id="stop2492"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop2494"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2488"
+   xlink:href="#XMLID_2_" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient2486"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2484"
+   xlink:href="#linearGradient2309" /><linearGradient
+   gradientTransform="translate(1.470416e-5,0)"
+   y2="30.441185"
+   x2="27.719746"
+   y1="7.881104"
+   x1="27.719746"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2482"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2480"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2478"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2476"
+   xlink:href="#XMLID_2_" />
+       
+<foreignObject
+   id="foreignObject2474"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject>
+       <radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2472"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2470"
+   xlink:href="#XMLID_7_" /><linearGradient
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2468"
+   xlink:href="#XMLID_12_" /><linearGradient
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2466"
+   xlink:href="#XMLID_11_" /><linearGradient
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2464"
+   xlink:href="#XMLID_10_" /><linearGradient
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2462"
+   xlink:href="#XMLID_9_" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2456">
+                       <stop
+   id="stop2458"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop2460"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient2450"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop2452" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop2454" />
+               </linearGradient><linearGradient
+   id="linearGradient2444"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   id="stop2446" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop4003" />
+               </linearGradient><linearGradient
+   id="linearGradient2438"><stop
+     id="stop2440"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop2442"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient2432"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#FFEA00"
+   id="stop2434" />
+                       <stop
+   offset="1"
+   style="stop-color:#ffa000;stop-opacity:1;"
+   id="stop2436" />
+               </linearGradient><linearGradient
+   id="linearGradient1563"><stop
+     id="stop1565"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop1567"
+     offset="1"
+     style="stop-color:white;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient12948"><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0"
+     id="stop12950" /><stop
+     style="stop-color:#c0c0c0;stop-opacity:0;"
+     offset="1"
+     id="stop12952" /></linearGradient><linearGradient
+   id="linearGradient3638"><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="0"
+     id="stop3640" /><stop
+     id="stop3661"
+     offset="0.06868132"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop3659"
+     offset="0.5"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:0;"
+     offset="1"
+     id="stop3642" /></linearGradient><linearGradient
+   id="linearGradient3273"><stop
+     id="stop3275"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:0.55035973;" /><stop
+     id="stop3277"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient3290"><stop
+     style="stop-color:yellow;stop-opacity:1;"
+     offset="0"
+     id="stop3292" /><stop
+     style="stop-color:#ffb66d;stop-opacity:1;"
+     offset="1"
+     id="stop3294" /></linearGradient><linearGradient
+   id="linearGradient2407"><stop
+     style="stop-color:black;stop-opacity:1"
+     offset="0"
+     id="stop2409" /><stop
+     style="stop-color:black;stop-opacity:0"
+     offset="1"
+     id="stop2411" /></linearGradient><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.0151,0,0,1.0491,-1.0186,-1.3463)"
+   fy="24.1598"
+   fx="63.066601"
+   r="122.3935"
+   cy="6.0488"
+   cx="42.378899"
+   id="radialGradient4962">
+                                       <stop
+   id="stop4964"
+   style="stop-color:#00438a;stop-opacity:0;"
+   offset="0" />
+                                       
+                                       
+                                       <stop
+   id="stop4970"
+   style="stop-color:#00438a;stop-opacity:1;"
+   offset="1" />
+                               </radialGradient><radialGradient
+   id="radialGradient4016"
+   cx="42.378899"
+   cy="6.0488"
+   r="122.3935"
+   fx="63.066601"
+   fy="24.1598"
+   gradientTransform="matrix(1.0151,0,0,1.0491,-1.0186,-1.3463)"
+   gradientUnits="userSpaceOnUse">
+                                       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop4018" /><stop
+   id="stop4026"
+   style="stop-color:white;stop-opacity:1;"
+   offset="0.59375" />
+                                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0.70886075;"
+   id="stop4020" />
+                                       
+                                       
+                               </radialGradient>
+       <foreignObject
+   id="foreignObject2421"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject>
+       
+
+               
+               
+       
+                       <radialGradient
+   gradientUnits="userSpaceOnUse"
+   r="111.0006"
+   cy="-9"
+   cx="51.9995"
+   id="XMLID_5_"
+   gradientTransform="translate(-103.157,-34.959)">
+                               <stop
+   id="stop2424"
+   style="stop-color:#80B3FF"
+   offset="0.15" />
+                               <stop
+   id="stop2426"
+   style="stop-color:#69A1F0"
+   offset="0.316" />
+                               <stop
+   id="stop18"
+   style="stop-color:#4888DA"
+   offset="0.6029" />
+                               <stop
+   id="stop20"
+   style="stop-color:#3378CC"
+   offset="0.8412" />
+                               <stop
+   id="stop22"
+   style="stop-color:#2C72C7"
+   offset="1" />
+                       </radialGradient>
+                       
+                       
+                       
+                       
+                       
+                       
+                       <linearGradient
+   y2="157.6319"
+   x2="63.9995"
+   y1="25.1577"
+   x1="63.9995"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2431">
+                               <stop
+   id="stop2433"
+   style="stop-color:#BFD9FF"
+   offset="0" />
+                               <stop
+   id="stop2435"
+   style="stop-color:#80B3FF"
+   offset="0.2189" />
+                               <stop
+   id="stop80"
+   style="stop-color:#6EA5F3"
+   offset="0.2933" />
+                               <stop
+   id="stop82"
+   style="stop-color:#3E80D3"
+   offset="0.4426" />
+                               <stop
+   id="stop84"
+   style="stop-color:#2C72C7"
+   offset="0.4941" />
+                               <stop
+   id="stop86"
+   style="stop-color:#00438A"
+   offset="0.7" />
+                       </linearGradient>
+                       
+                       <linearGradient
+   y2="48.787102"
+   x2="230.237"
+   y1="48.787102"
+   x1="-37.875"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2441">
+                               <stop
+   id="stop2443"
+   style="stop-color:#a2c3eb;stop-opacity:0.50196081;"
+   offset="0" />
+                               <stop
+   id="stop2445"
+   style="stop-color:#FFFFFF"
+   offset="0.12634172" /><stop
+   offset="0.80858696"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop4930" />
+                               <stop
+   id="stop2448"
+   style="stop-color:#a7cbf7;stop-opacity:0.50196081;"
+   offset="1" />
+                       </linearGradient>
+                               
+                               
+                               
+                                       
+                       
+               <radialGradient
+   id="XMLID_6_"
+   cx="42.378899"
+   cy="6.0488"
+   r="122.3935"
+   fx="63.066601"
+   fy="24.1598"
+   gradientTransform="matrix(1.0151,0,0,1.0491,-1.0186,-1.3463)"
+   gradientUnits="userSpaceOnUse">
+                                       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop33" />
+                                       <stop
+   offset="0.3728"
+   style="stop-color:#DDDDDD"
+   id="stop35" />
+                                       <stop
+   offset="0.7692"
+   style="stop-color:#BABDB6"
+   id="stop2456" />
+                                       <stop
+   offset="1"
+   style="stop-color:#888888"
+   id="stop39" />
+                               </radialGradient>
+               
+       
+                               
+                       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2667">
+                       <stop
+   id="stop2669"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop2671"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2665"
+   xlink:href="#linearGradient3287" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientTransform="translate(69.54139,-45.18897)"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2659"
+   xlink:href="#linearGradient18668" />
+       
+       
+       
+       
+<linearGradient
+   gradientTransform="translate(-12,0)"
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2657"
+   xlink:href="#XMLID_9_" /><linearGradient
+   gradientTransform="translate(-12,0)"
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2655"
+   xlink:href="#XMLID_10_" /><linearGradient
+   gradientTransform="translate(-12,0)"
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2653"
+   xlink:href="#XMLID_11_" /><linearGradient
+   gradientTransform="translate(-12,0)"
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2651"
+   xlink:href="#XMLID_12_" /><radialGradient
+   gradientTransform="translate(-12,0)"
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2649"
+   xlink:href="#XMLID_7_" /><radialGradient
+   gradientTransform="translate(-12,0)"
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2647"
+   xlink:href="#XMLID_8_" /><linearGradient
+   gradientTransform="translate(69.54139,-45.18897)"
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2645"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2643"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2641"
+   xlink:href="#XMLID_2_" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2639"
+   xlink:href="#linearGradient18668" />
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2633">
+                       <stop
+   id="stop2635"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop2637"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2631"
+   xlink:href="#XMLID_2_" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient2629"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2627"
+   xlink:href="#linearGradient2309" /><linearGradient
+   gradientTransform="translate(1.470416e-5,0)"
+   y2="30.441185"
+   x2="27.719746"
+   y1="7.881104"
+   x1="27.719746"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2625"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2623"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2621"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2619"
+   xlink:href="#XMLID_2_" />
+       
+<foreignObject
+   id="foreignObject2617"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject>
+       <radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2615"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient2613"
+   xlink:href="#XMLID_7_" /><linearGradient
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2611"
+   xlink:href="#XMLID_12_" /><linearGradient
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2609"
+   xlink:href="#XMLID_11_" /><linearGradient
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2607"
+   xlink:href="#XMLID_10_" /><linearGradient
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2605"
+   xlink:href="#XMLID_9_" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2599">
+                       <stop
+   id="stop2601"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop2603"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient2593"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop2595" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop2597" />
+               </linearGradient><linearGradient
+   id="linearGradient2587"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   id="stop2589" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop2591" />
+               </linearGradient><linearGradient
+   id="linearGradient2581"><stop
+     id="stop2583"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop2585"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient2575"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#474747;stop-opacity:1;"
+   id="stop2577" />
+                       <stop
+   offset="1"
+   style="stop-color:#000000;stop-opacity:1;"
+   id="stop2579" />
+               </linearGradient><radialGradient
+   xlink:href="#XMLID_7_"
+   id="radialGradient2910"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-12,-4)"
+   cx="102"
+   cy="112.3047"
+   r="139.5585" /><radialGradient
+   xlink:href="#XMLID_8_"
+   id="radialGradient2912"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-12,-4)"
+   cx="102"
+   cy="112.3047"
+   r="139.55859" /><linearGradient
+   xlink:href="#XMLID_9_"
+   id="linearGradient2914"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-12,-4)"
+   x1="94.3438"
+   y1="102.3447"
+   x2="86.5356"
+   y2="94.5366" /><linearGradient
+   xlink:href="#XMLID_10_"
+   id="linearGradient2916"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-12,-4)"
+   x1="95"
+   y1="103"
+   x2="86.5865"
+   y2="94.5865" /><linearGradient
+   xlink:href="#XMLID_11_"
+   id="linearGradient2918"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-12,-4)"
+   x1="95"
+   y1="103"
+   x2="87.293"
+   y2="95.293" /><linearGradient
+   xlink:href="#XMLID_12_"
+   id="linearGradient2920"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-12,-4)"
+   x1="96"
+   y1="104"
+   x2="88.0002"
+   y2="96.0002" /><linearGradient
+   xlink:href="#XMLID_12_"
+   id="linearGradient3899"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-185.19828,-18.5)"
+   x1="96"
+   y1="104"
+   x2="88.0002"
+   y2="96.0002" /><linearGradient
+   xlink:href="#XMLID_11_"
+   id="linearGradient3902"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-185.19828,-18.5)"
+   x1="95"
+   y1="103"
+   x2="87.293"
+   y2="95.293" /><linearGradient
+   xlink:href="#XMLID_10_"
+   id="linearGradient3905"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-185.19828,-18.5)"
+   x1="95"
+   y1="103"
+   x2="86.5865"
+   y2="94.5865" /><linearGradient
+   xlink:href="#XMLID_9_"
+   id="linearGradient3908"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-185.19828,-18.5)"
+   x1="94.3438"
+   y1="102.3447"
+   x2="86.5356"
+   y2="94.5366" /><radialGradient
+   xlink:href="#XMLID_8_"
+   id="radialGradient3912"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-337.44962,-79.054366)"
+   cx="102"
+   cy="112.3047"
+   r="139.55859" /><radialGradient
+   xlink:href="#XMLID_7_"
+   id="radialGradient3915"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-337.44962,-79.054366)"
+   cx="102"
+   cy="112.3047"
+   r="139.5585" /><linearGradient
+   id="linearGradient3075"><stop
+     id="stop3077"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     style="stop-color:#ffffff;stop-opacity:1;"
+     offset="0.42597079"
+     id="stop3093" /><stop
+     style="stop-color:#f1f1f1;stop-opacity:1;"
+     offset="0.5892781"
+     id="stop3085" /><stop
+     id="stop3087"
+     offset="0.80219781"
+     style="stop-color:#eaeaea;stop-opacity:1;" /><stop
+     id="stop3079"
+     offset="1"
+     style="stop-color:#dfdfdf;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient3139"><stop
+     id="stop3141"
+     offset="0"
+     style="stop-color:#000000;stop-opacity:1;" /><stop
+     style="stop-color:#000000;stop-opacity:0.68235294;"
+     offset="0.40659341"
+     id="stop3162" /><stop
+     id="stop3164"
+     offset="0.45329672"
+     style="stop-color:#000000;stop-opacity:0.48736462;" /><stop
+     style="stop-color:#000000;stop-opacity:0.36101082;"
+     offset="0.5"
+     id="stop3158" /><stop
+     id="stop3160"
+     offset="0.70604396"
+     style="stop-color:#000000;stop-opacity:0.15162455;" /><stop
+     id="stop3143"
+     offset="1"
+     style="stop-color:#000000;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient3149"><stop
+     id="stop3151"
+     offset="0"
+     style="stop-color:#454545;stop-opacity:1;" /><stop
+     style="stop-color:#cacaca;stop-opacity:1;"
+     offset="0.48275861"
+     id="stop3920" /><stop
+     id="stop3153"
+     offset="1"
+     style="stop-color:#f8f8f8;stop-opacity:1;" /></linearGradient><linearGradient
+   id="linearGradient2763"><stop
+     id="stop2765"
+     offset="0"
+     style="stop-color:#000000;stop-opacity:1;" /><stop
+     id="stop2767"
+     offset="1"
+     style="stop-color:#000000;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient3235"><stop
+     id="stop3237"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop3239"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient4181"><stop
+     id="stop4183"
+     offset="0"
+     style="stop-color:#000000;stop-opacity:0.29602888;" /><stop
+     id="stop4185"
+     offset="1"
+     style="stop-color:#000000;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient4206"><stop
+     id="stop4208"
+     offset="0"
+     style="stop-color:#f7f7f7;stop-opacity:1;" /><stop
+     id="stop4210"
+     offset="1"
+     style="stop-color:#f7f7f7;stop-opacity:0;" /></linearGradient><linearGradient
+   id="linearGradient4221"><stop
+     style="stop-color:#f7f7f7;stop-opacity:1;"
+     offset="0"
+     id="stop4223" /><stop
+     style="stop-color:#f7f7f7;stop-opacity:0;"
+     offset="1"
+     id="stop4225" /></linearGradient><linearGradient
+   id="linearGradient2741"><stop
+     id="stop2743"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop2745"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient2898"><stop
+     style="stop-color:black;stop-opacity:0;"
+     offset="0"
+     id="stop2900" /><stop
+     id="stop2738"
+     offset="0"
+     style="stop-color:#262626;stop-opacity:1;" /><stop
+     style="stop-color:#4c4c4c;stop-opacity:1;"
+     offset="1"
+     id="stop2902" /></linearGradient><linearGradient
+   id="linearGradient6456"><stop
+     style="stop-color:#888;stop-opacity:1;"
+     offset="0"
+     id="stop6458" /><stop
+     style="stop-color:#b6b6b6;stop-opacity:1;"
+     offset="1"
+     id="stop6460" /></linearGradient><radialGradient
+   gradientUnits="userSpaceOnUse"
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   id="radialGradient2714"><stop
+     id="stop2716"
+     style="stop-color:#00537D"
+     offset="0" /><stop
+     id="stop2718"
+     style="stop-color:#186389"
+     offset="0.0151" /><stop
+     id="stop2720"
+     style="stop-color:#558CA8"
+     offset="0.0558" /><stop
+     id="stop2722"
+     style="stop-color:#89AFC3"
+     offset="0.0964" /><stop
+     id="stop24"
+     style="stop-color:#B3CCD8"
+     offset="0.1357" /><stop
+     id="stop2725"
+     style="stop-color:#D4E2E9"
+     offset="0.1737" /><stop
+     id="stop2727"
+     style="stop-color:#ECF2F5"
+     offset="0.2099" /><stop
+     id="stop2729"
+     style="stop-color:#FAFCFD"
+     offset="0.2435" /><stop
+     id="stop2731"
+     style="stop-color:#FFFFFF"
+     offset="0.2722" /></radialGradient><radialGradient
+   gradientUnits="userSpaceOnUse"
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   id="radialGradient2696"><stop
+     id="stop2698"
+     style="stop-color:#535557"
+     offset="0" /><stop
+     id="stop2700"
+     style="stop-color:#898A8C"
+     offset="0.11366145" /><stop
+     id="stop2702"
+     style="stop-color:#ECECEC"
+     offset="0.20296688" /><stop
+     id="stop2704"
+     style="stop-color:#FAFAFA"
+     offset="0.2363" /><stop
+     id="stop2706"
+     style="stop-color:#FFFFFF"
+     offset="0.2722" /><stop
+     id="stop2708"
+     style="stop-color:#FAFAFA"
+     offset="0.5313" /><stop
+     id="stop2710"
+     style="stop-color:#EBECEC"
+     offset="0.8449" /><stop
+     id="stop2712"
+     style="stop-color:#E1E2E3"
+     offset="1" /></radialGradient><linearGradient
+   y2="94.536598"
+   x2="86.535599"
+   y1="102.3447"
+   x1="94.343803"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2690"><stop
+     id="stop2692"
+     style="stop-color:#FFFFFF"
+     offset="0" /><stop
+     id="stop2694"
+     style="stop-color:#555753"
+     offset="1" /></linearGradient><linearGradient
+   y2="94.586502"
+   x2="86.586502"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2684"><stop
+     id="stop2686"
+     style="stop-color:#FFFFFF"
+     offset="0" /><stop
+     id="stop2688"
+     style="stop-color:#555753"
+     offset="1" /></linearGradient><linearGradient
+   y2="95.292999"
+   x2="87.292999"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2678"><stop
+     id="stop2680"
+     style="stop-color:#FFFFFF"
+     offset="0" /><stop
+     id="stop2682"
+     style="stop-color:#393B38"
+     offset="1" /></linearGradient><linearGradient
+   y2="96.000198"
+   x2="88.000198"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2658"><stop
+     id="stop2660"
+     style="stop-color:#888A85"
+     offset="0" /><stop
+     id="stop2662"
+     style="stop-color:#8C8E89"
+     offset="0.0072" /><stop
+     id="stop2664"
+     style="stop-color:#ABACA9"
+     offset="0.0673" /><stop
+     id="stop2666"
+     style="stop-color:#C5C6C4"
+     offset="0.1347" /><stop
+     id="stop2668"
+     style="stop-color:#DBDBDA"
+     offset="0.2115" /><stop
+     id="stop2670"
+     style="stop-color:#EBEBEB"
+     offset="0.3012" /><stop
+     id="stop2672"
+     style="stop-color:#F7F7F6"
+     offset="0.4122" /><stop
+     id="stop2674"
+     style="stop-color:#FDFDFD"
+     offset="0.5679" /><stop
+     id="stop2676"
+     style="stop-color:#FFFFFF"
+     offset="1" /></linearGradient><linearGradient
+   xlink:href="#linearGradient3149"
+   id="linearGradient3884"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.1111117,0,0,1.6,-12.85765,-0.81587)"
+   spreadMethod="reflect"
+   x1="58.073513"
+   y1="5.5073318"
+   x2="58.073513"
+   y2="12.044647" /><linearGradient
+   xlink:href="#linearGradient3149"
+   id="linearGradient3891"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.227818,0,0,1.286432,98.39085,13.42714)"
+   x1="-34.499901"
+   y1="-1.3553318"
+   x2="-34.499901"
+   y2="-11.966981" /><linearGradient
+   xlink:href="#linearGradient3235"
+   id="linearGradient3931"
+   x1="48.61359"
+   y1="10.752187"
+   x2="84"
+   y2="10.752187"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1.1303775,0,0,1,-18.92046,-0.5)" /><filter
+   x="-0.035955056"
+   width="1.0719101"
+   y="-0.25168539"
+   height="1.5033708"
+   id="filter4033"><feGaussianBlur
+     stdDeviation="0.6349485"
+     id="feGaussianBlur4035" /></filter><linearGradient
+   xlink:href="#linearGradient4077"
+   id="linearGradient4083"
+   x1="56.827953"
+   y1="-34.582161"
+   x2="54.1763"
+   y2="32.055855"
+   gradientUnits="userSpaceOnUse" /><linearGradient
+   xlink:href="#linearGradient3235"
+   id="linearGradient4135"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(1,0,0,1.1489125,-138.10679,0)"
+   x1="56.623783"
+   y1="21.105345"
+   x2="101.6466"
+   y2="21.381557" /><mask
+   maskUnits="userSpaceOnUse"
+   id="mask4131"><rect
+     style="opacity:1;fill:url(#linearGradient4135);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"
+     id="rect4133"
+     width="65.186401"
+     height="28.561073"
+     x="-101.64659"
+     y="10.285005"
+     transform="matrix(-1,0,-0.3481553,0.9374369,0,0)" /></mask><linearGradient
+   xlink:href="#linearGradient3235"
+   id="linearGradient4147"
+   x1="48.461166"
+   y1="1.3560734"
+   x2="75.130096"
+   y2="1.3560734"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.83908,1.721978)" /><linearGradient
+   xlink:href="#linearGradient4207"
+   id="linearGradient4190"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.96637,0)"
+   x1="79.587105"
+   y1="-25.960203"
+   x2="110.8327"
+   y2="90.649948" /><linearGradient
+   xlink:href="#linearGradient4384"
+   id="linearGradient4194"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(-1,0,0,1,120.02776,0)"
+   x1="79.587105"
+   y1="-25.960203"
+   x2="110.8327"
+   y2="90.649948" /><linearGradient
+   xlink:href="#linearGradient3638"
+   id="linearGradient4215"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.968754,-0.9999969)"
+   x1="73.615906"
+   y1="97.608109"
+   x2="73.943695"
+   y2="138.20813" /><filter
+   x="-0.023605747"
+   width="1.0472115"
+   y="-0.46785067"
+   height="1.9357013"
+   id="filter4253"><feGaussianBlur
+     stdDeviation="0.94422987"
+     id="feGaussianBlur4255" /></filter><linearGradient
+   gradientTransform="translate(-127.99999,0)"
+   gradientUnits="userSpaceOnUse"
+   y2="53.669254"
+   x2="157.3817"
+   y1="7.9986315"
+   x1="157.3817"
+   id="linearGradient3470"
+   xlink:href="#linearGradient3464" />
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4477">
+                       <stop
+   id="stop4479"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop4481"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4475"
+   xlink:href="#linearGradient3287" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient2298"
+   xlink:href="#linearGradient3287" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientTransform="translate(69.54139,-45.18897)"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4468"
+   xlink:href="#linearGradient18668" />
+       
+       
+       
+       
+<linearGradient
+   gradientTransform="translate(-20,-16)"
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4466"
+   xlink:href="#XMLID_9_" /><linearGradient
+   gradientTransform="translate(-20,-16)"
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4464"
+   xlink:href="#XMLID_10_" /><linearGradient
+   gradientTransform="translate(-20,-16)"
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4462"
+   xlink:href="#XMLID_11_" /><linearGradient
+   gradientTransform="translate(-20,-16)"
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4460"
+   xlink:href="#XMLID_12_" /><radialGradient
+   gradientTransform="translate(-20,-16)"
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient4458"
+   xlink:href="#XMLID_7_" /><radialGradient
+   gradientTransform="translate(-20,-16)"
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient4456"
+   xlink:href="#XMLID_8_" /><linearGradient
+   gradientTransform="translate(69.54139,-45.18897)"
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4454"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4452"
+   xlink:href="#linearGradient18668" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4450"
+   xlink:href="#XMLID_2_" /><linearGradient
+   y2="51.1875"
+   x2="-39.53125"
+   y1="78"
+   x1="-39.53125"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4448"
+   xlink:href="#linearGradient18668" />
+               
+       <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4442">
+                       <stop
+   id="stop4444"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop4446"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient>
+               <linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4440"
+   xlink:href="#XMLID_2_" /><radialGradient
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.754978,-2.959381e-2,0,0.905772,7.650275,10.87807)"
+   r="8.968153"
+   fy="31.045055"
+   fx="26.954102"
+   cy="31.045055"
+   cx="26.954102"
+   id="radialGradient4438"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4436"
+   xlink:href="#linearGradient2309" /><linearGradient
+   gradientTransform="translate(1.470416e-5,0)"
+   y2="30.441185"
+   x2="27.719746"
+   y1="7.881104"
+   x1="27.719746"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4434"
+   xlink:href="#linearGradient15967" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4432"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="100.82378"
+   x2="-18.121965"
+   y1="100.82378"
+   x1="-74.820707"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4430"
+   xlink:href="#linearGradient2309" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4428"
+   xlink:href="#XMLID_2_" />
+       
+<foreignObject
+   id="foreignObject4426"
+   height="1"
+   width="1"
+   y="0"
+   x="0"
+   requiredExtensions="http://ns.adobe.com/AdobeIllustrator/10.0/">
+               
+       </foreignObject>
+       <radialGradient
+   r="139.55859"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient4424"
+   xlink:href="#XMLID_8_" /><radialGradient
+   r="139.5585"
+   cy="112.3047"
+   cx="102"
+   gradientUnits="userSpaceOnUse"
+   id="radialGradient4422"
+   xlink:href="#XMLID_7_" /><linearGradient
+   y2="96.0002"
+   x2="88.0002"
+   y1="104"
+   x1="96"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4420"
+   xlink:href="#XMLID_12_" /><linearGradient
+   y2="95.293"
+   x2="87.293"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4418"
+   xlink:href="#XMLID_11_" /><linearGradient
+   y2="94.5865"
+   x2="86.5865"
+   y1="103"
+   x1="95"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4416"
+   xlink:href="#XMLID_10_" /><linearGradient
+   y2="94.5366"
+   x2="86.5356"
+   y1="102.3447"
+   x1="94.3438"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4414"
+   xlink:href="#XMLID_9_" /><linearGradient
+   y2="0"
+   x2="28"
+   y1="57.5"
+   x1="28"
+   gradientUnits="userSpaceOnUse"
+   id="linearGradient4408">
+                       <stop
+   id="stop4410"
+   style="stop-color:#FFEA00"
+   offset="0" />
+                       <stop
+   id="stop4412"
+   style="stop-color:#FFCC00"
+   offset="1" />
+               </linearGradient><linearGradient
+   id="linearGradient4402"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:white;stop-opacity:1;"
+   id="stop4404" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop4406" />
+               </linearGradient><linearGradient
+   id="linearGradient4396"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#fff8a8;stop-opacity:1;"
+   id="stop4398" />
+                       <stop
+   offset="1"
+   style="stop-color:white;stop-opacity:0;"
+   id="stop4400" />
+               </linearGradient><linearGradient
+   id="linearGradient4390"><stop
+     id="stop4392"
+     offset="0"
+     style="stop-color:black;stop-opacity:1" /><stop
+     id="stop4394"
+     offset="1"
+     style="stop-color:black;stop-opacity:0" /></linearGradient><linearGradient
+   id="linearGradient4384"
+   gradientUnits="userSpaceOnUse"
+   x1="28"
+   y1="57.5"
+   x2="28"
+   y2="0">
+                       <stop
+   offset="0"
+   style="stop-color:#FFEA00"
+   id="stop4386" />
+                       <stop
+   offset="1"
+   style="stop-color:#ffa000;stop-opacity:1;"
+   id="stop4388" />
+               </linearGradient><linearGradient
+   id="linearGradient3464"><stop
+     id="stop3466"
+     offset="0"
+     style="stop-color:#ffffff;stop-opacity:1;" /><stop
+     id="stop3468"
+     offset="1"
+     style="stop-color:#ffffff;stop-opacity:0;" /></linearGradient><linearGradient
+   xlink:href="#linearGradient4077"
+   id="linearGradient4590"
+   gradientUnits="userSpaceOnUse"
+   x1="56.827953"
+   y1="-34.582161"
+   x2="76.486145"
+   y2="38.820595" /><linearGradient
+   xlink:href="#linearGradient4005"
+   id="linearGradient4648"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-6.96875,5.5)"
+   x1="63.085938"
+   y1="19.992191"
+   x2="63.085938"
+   y2="13.937426" /><radialGradient
+   xlink:href="#XMLID_7_"
+   id="radialGradient4659"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.9999972,-4.0000003)"
+   cx="102"
+   cy="112.3047"
+   r="139.5585" /><radialGradient
+   xlink:href="#XMLID_8_"
+   id="radialGradient4661"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.9999972,-4.0000003)"
+   cx="102"
+   cy="112.3047"
+   r="139.55859" /><linearGradient
+   xlink:href="#XMLID_9_"
+   id="linearGradient4663"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.9999972,-4.0000003)"
+   x1="94.3438"
+   y1="102.3447"
+   x2="86.5356"
+   y2="94.5366" /><linearGradient
+   xlink:href="#XMLID_10_"
+   id="linearGradient4665"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.9999972,-4.0000003)"
+   x1="95"
+   y1="103"
+   x2="86.5865"
+   y2="94.5865" /><linearGradient
+   xlink:href="#XMLID_11_"
+   id="linearGradient4667"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.9999972,-4.0000003)"
+   x1="95"
+   y1="103"
+   x2="87.293"
+   y2="95.293" /><linearGradient
+   xlink:href="#XMLID_12_"
+   id="linearGradient4669"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-7.9999972,-4.0000003)"
+   x1="96"
+   y1="104"
+   x2="88.0002"
+   y2="96.0002" /><filter
+   id="filter4787"><feGaussianBlur
+     stdDeviation="2.2677902"
+     id="feGaussianBlur4789" /></filter><linearGradient
+   xlink:href="#linearGradient4811"
+   id="linearGradient4817"
+   x1="50.759903"
+   y1="-2.1362097"
+   x2="50.759903"
+   y2="1.3951097"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(3.125e-2,0)" /><linearGradient
+   xlink:href="#XMLID_12_"
+   id="linearGradient4840"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.8300749,-0.2224179,0.2224179,0.8300749,11.707924,31.425182)"
+   x1="96"
+   y1="104"
+   x2="88.0002"
+   y2="96.0002" /><linearGradient
+   xlink:href="#XMLID_11_"
+   id="linearGradient4843"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.8300749,-0.2224179,0.2224179,0.8300749,11.707924,31.425182)"
+   x1="95"
+   y1="103"
+   x2="87.293"
+   y2="95.293" /><linearGradient
+   xlink:href="#XMLID_10_"
+   id="linearGradient4846"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.8300749,-0.2224179,0.2224179,0.8300749,11.707924,31.425182)"
+   x1="95"
+   y1="103"
+   x2="86.5865"
+   y2="94.5865" /><linearGradient
+   xlink:href="#XMLID_9_"
+   id="linearGradient4849"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.8300749,-0.2224179,0.2224179,0.8300749,11.707924,31.425182)"
+   x1="94.3438"
+   y1="102.3447"
+   x2="86.5356"
+   y2="94.5366" /><radialGradient
+   xlink:href="#XMLID_8_"
+   id="radialGradient4852"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.8300749,-0.2224179,0.2224179,0.8300749,11.707924,31.425182)"
+   cx="102"
+   cy="112.3047"
+   r="139.55859" /><radialGradient
+   xlink:href="#XMLID_7_"
+   id="radialGradient4855"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="matrix(0.8300749,-0.2224179,0.2224179,0.8300749,11.707924,31.425182)"
+   cx="102"
+   cy="112.3047"
+   r="139.5585" /><filter
+   x="-0.040822664"
+   width="1.0816453"
+   y="-0.11777063"
+   height="1.2355413"
+   id="filter3346"><feGaussianBlur
+     stdDeviation="0.90509031"
+     id="feGaussianBlur3348" /></filter><filter
+   id="filter3396"><feGaussianBlur
+     stdDeviation="0.19500234"
+     id="feGaussianBlur3398" /></filter><linearGradient
+   xlink:href="#linearGradient3400"
+   id="linearGradient3406"
+   x1="92"
+   y1="20"
+   x2="92"
+   y2="92"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(3.125e-2,0)" /><radialGradient
+   xlink:href="#XMLID_7_"
+   id="radialGradient3464"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-15.96875,-8)"
+   cx="102"
+   cy="112.3047"
+   r="139.5585" /><radialGradient
+   xlink:href="#XMLID_8_"
+   id="radialGradient3466"
+   gradientUnits="userSpaceOnUse"
+   gradientTransform="translate(-15.96875,-8.1)"
+   cx="102"
+   cy="112.3047"
+   r="139.55859" /><filter
+   id="filter3496"><feGaussianBlur
+     stdDeviation="2.3034589"
+     id="feGaussianBlur3498" /></filter></defs>
+<metadata
+   id="metadata3">
+       <ns:sfw>
+               <ns:slices>
+                       <ns:slice
+   y="0"
+   x="0"
+   height="128"
+   width="128"
+   sliceID="1316743234" />
+               </ns:slices>
+               <ns:sliceSourceBounds
+   y="0"
+   x="0"
+   height="128"
+   width="128"
+   bottomLeftOrigin="true" />
+               <ns:optimizationSettings>
+                       <ns:targetSettings
+   targetSettingsID="0"
+   fileFormat="PNG24Format">
+                               <ns:PNG24Format
+   transparency="true"
+   filtered="false"
+   matteColor="#FFFFFF"
+   noMatteColor="false"
+   interlaced="false">
+                                       </ns:PNG24Format>
+                       </ns:targetSettings>
+                       <ns:targetSettings
+   targetSettingsID="1696735251"
+   fileFormat="PNG24Format">
+                               <ns:PNG24Format
+   transparency="true"
+   filtered="false"
+   matteColor="#FFFFFF"
+   noMatteColor="false"
+   interlaced="false">
+                                       </ns:PNG24Format>
+                       </ns:targetSettings>
+               </ns:optimizationSettings>
+       </ns:sfw>
+<rdf:RDF><cc:Work
+     rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+       rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata>
+
+<radialGradient
+   id="XMLID_7_"
+   cx="102"
+   cy="112.3047"
+   r="139.5585"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0"
+   style="stop-color:#3e3e3e;stop-opacity:1;"
+   id="stop16" />
+       
+       
+       
+       
+       <stop
+   offset="0.1737"
+   style="stop-color:#dfdfdf;stop-opacity:1;"
+   id="stop26" />
+       <stop
+   offset="0.2099"
+   style="stop-color:#ECF2F5"
+   id="stop28" />
+       <stop
+   offset="0.2435"
+   style="stop-color:#FAFCFD"
+   id="stop30" />
+       <stop
+   offset="0.2722"
+   style="stop-color:#FFFFFF"
+   id="stop32" />
+</radialGradient>
+
+<radialGradient
+   id="XMLID_8_"
+   cx="102"
+   cy="112.3047"
+   r="139.55859"
+   gradientUnits="userSpaceOnUse">
+       <stop
+   offset="0"
+   style="stop-color:#535557"
+   id="stop37" />
+       
+       <stop
+   offset="0.11366145"
+   style="stop-color:#898A8C"
+   id="stop41" />
+       
+       
+       <stop
+   offset="0.20296688"
+   style="stop-color:#ECECEC"
+   id="stop47" />
+       <stop
+   offset="0.2363"
+   style="stop-color:#FAFAFA"
+   id="stop49" />
+       <stop
+   offset="0.2722"
+   style="stop-color:#FFFFFF"
+   id="stop51" />
+       <stop
+   offset="0.5313"
+   style="stop-color:#FAFAFA"
+   id="stop53" />
+       <stop
+   offset="0.8449"
+   style="stop-color:#EBECEC"
+   id="stop55" />
+       <stop
+   offset="1"
+   style="stop-color:#E1E2E3"
+   id="stop57" />
+</radialGradient>
+
+<linearGradient
+   id="XMLID_9_"
+   gradientUnits="userSpaceOnUse"
+   x1="94.3438"
+   y1="102.3447"
+   x2="86.5356"
+   y2="94.5366">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop62" />
+       <stop
+   offset="1"
+   style="stop-color:#555753"
+   id="stop64" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_10_"
+   gradientUnits="userSpaceOnUse"
+   x1="95"
+   y1="103"
+   x2="86.5865"
+   y2="94.5865">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop69" />
+       <stop
+   offset="1"
+   style="stop-color:#555753"
+   id="stop71" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_11_"
+   gradientUnits="userSpaceOnUse"
+   x1="95"
+   y1="103"
+   x2="87.293"
+   y2="95.293">
+       <stop
+   offset="0"
+   style="stop-color:#FFFFFF"
+   id="stop76" />
+       <stop
+   offset="1"
+   style="stop-color:#393B38"
+   id="stop78" />
+</linearGradient>
+
+<linearGradient
+   id="XMLID_12_"
+   gradientUnits="userSpaceOnUse"
+   x1="96"
+   y1="104"
+   x2="88.0002"
+   y2="96.0002">
+       <stop
+   offset="0"
+   style="stop-color:#888A85"
+   id="stop83" />
+       <stop
+   offset="0.0072"
+   style="stop-color:#8C8E89"
+   id="stop85" />
+       <stop
+   offset="0.0673"
+   style="stop-color:#ABACA9"
+   id="stop87" />
+       <stop
+   offset="0.1347"
+   style="stop-color:#C5C6C4"
+   id="stop89" />
+       <stop
+   offset="0.2115"
+   style="stop-color:#DBDBDA"
+   id="stop91" />
+       <stop
+   offset="0.3012"
+   style="stop-color:#EBEBEB"
+   id="stop93" />
+       <stop
+   offset="0.4122"
+   style="stop-color:#F7F7F6"
+   id="stop95" />
+       <stop
+   offset="0.5679"
+   style="stop-color:#FDFDFD"
+   id="stop97" />
+       <stop
+   offset="1"
+   style="stop-color:#FFFFFF"
+   id="stop99" />
+</linearGradient>
+
+
+<path
+   style="opacity:0.7715356;fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter4787)"
+   d="M 41.000003,32 L 41.000003,122 C 41.000003,123.104 41.896003,124 43.000003,124 L 85.187503,124 C 85.717503,124 86.218753,123.78125 86.593753,123.40625 C 86.593753,123.40625 98.500003,113.5 104,108 C 109.5,102.5 119.40625,90.59375 119.40625,90.59375 C 119.78125,90.218751 120,89.7175 120,89.1875 L 120,32 L 41.000003,32 z"
+   id="path4749"
+   transform="matrix(0.8300749,-0.2224179,0.2224179,0.8300749,4.1776509,29.884226)" /><path
+   id="path4213"
+   d="M 8.03125,114.15625 L 8.03125,115.15625 C 8.03125,117.28318 9.74806,119 11.875,119 L 100.1875,119 C 102.31443,119 104.03125,117.28318 104.03125,115.15625 L 104.03125,114.15625 C 104.03125,116.28318 102.31443,118 100.1875,118 L 11.875,118 C 9.74806,118 8.03125,116.28318 8.03125,114.15625 z"
+   style="opacity:1;fill:url(#linearGradient4215);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter4253)" /><rect
+   style="opacity:0.57786889;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.63199997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+   id="rect1327"
+   width="1"
+   height="0"
+   x="60.000023"
+   y="-83" /><path
+   id="path3448"
+   d="M 17.031253,19.9 L 17.031253,109.9 C 17.031253,111.004 17.927253,111.9 19.031253,111.9 L 61.218753,111.9 C 61.748753,111.9 62.250003,111.68125 62.625003,111.30625 C 62.625003,111.30625 74.531253,101.4 80.03125,95.9 C 85.53125,90.4 95.4375,78.49375 95.4375,78.49375 C 95.8125,78.118751 96.03125,77.6175 96.03125,77.0875 L 96.03125,19.9 L 17.031253,19.9 z"
+   style="opacity:0.7715356;fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter4787)" /><path
+   style="opacity:1;fill:url(#linearGradient3816);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"
+   d="M 16.5625,12 C 11.83418,12 8.03125,15.802937 8.03125,20.53125 L 8.03125,116.15625 C 8.03125,118.28318 9.74806,120 11.875,120 L 100.1875,120 C 102.31443,120 104.03125,118.28318 104.03125,116.15625 L 104.03125,20.53125 C 104.03125,15.802937 100.22831,12 95.5,12 L 16.5625,12 z"
+   id="rect2834" /><path
+   style="opacity:0.55805209;fill:none;stroke:#000000;stroke-width:1;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+   d="M 16.231253,20.2 L 16.231253,109.9 C 16.231253,111.004 17.127253,111.9 18.231253,111.9 L 61.218753,111.9 C 61.748753,111.9 62.250003,111.68125 62.625003,111.30625 C 62.625003,111.30625 74.531253,101.4 80.03125,95.9 C 85.53125,90.4 95.4375,78.49375 95.4375,78.49375 C 95.8125,78.118751 96.03125,77.6175 96.03125,77.0875 L 96.03125,20.2 L 16.231253,20.2 z"
+   id="path3450" /><path
+   style="fill:url(#linearGradient3891);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:0.19512191"
+   d="M 40.03125,0 L 43.791442,16 L 49.853792,16 L 62.208708,16 L 68.271058,16 L 72.03125,0 L 58.448516,0 L 53.613984,0 L 40.03125,0 z"
+   id="rect3276" /><path
+   style="fill:url(#radialGradient3464)"
+   d="M 16.031253,20 L 16.031253,110 C 16.031253,111.104 16.927253,112 18.031253,112 L 61.203253,112 C 61.733253,112 62.242253,111.789 62.617253,111.414 L 95.44525,78.586 C 95.82025,78.211 96.03125,77.702 96.03125,77.172 L 96.03125,20 L 16.031253,20 z"
+   id="path3452" /><path
+   style="opacity:1;fill:url(#linearGradient4190);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"
+   d="M 94.50237,12 C 99.23068,12 103.03363,15.802937 103.03362,20.53125 L 103.03362,116.15625 C 103.03362,118.28318 101.31681,120 99.18987,120 L 100.18987,120 C 102.31681,120 104.03362,118.28318 104.03362,116.15625 L 104.03362,20.53125 C 104.03363,15.802937 100.23068,12 95.50237,12 L 94.50237,12 z"
+   id="path4181" /><path
+   style="fill:url(#radialGradient3466);fill-opacity:1"
+   d="M 18.031253,20.9 C 17.480253,20.9 17.031253,21.349 17.031253,21.9 L 17.031253,109.9 C 17.031253,110.452 17.480253,110.9 18.031253,110.9 L 62.203253,110.9 C 62.466253,110.9 62.724253,110.794 62.910253,110.607 L 94.73825,78.779 C 94.92525,78.592 95.03125,78.335 95.03125,78.072 L 95.03125,21.9 C 95.03125,21.349 94.58325,20.9 94.03125,20.9 L 18.031253,20.9 z"
+   id="path3454" /><rect
+   style="opacity:0.47191013;fill:url(#linearGradient4648);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter4033)"
+   id="rect4003"
+   width="42.382812"
+   height="6.0546875"
+   x="36.000015"
+   y="19.437502"
+   rx="1.5625"
+   ry="1.5625" /><path
+   transform="matrix(1,0,0.3713907,0.9284767,-7.96875,0)"
+   style="opacity:0.54681648;fill:url(#linearGradient4590);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3346)"
+   mask="url(#mask4131)"
+   d="M 36.111931,14.503877 L 83.012997,13.908895 C 83.727578,15.756474 84.556527,18.968682 79.20125,30.865909 L 36.111931,32.353364 L 36.111931,14.503877 z"
+   id="rect4075" /><path
+   style="opacity:0.5955056;fill:#a67f00;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3396)"
+   d="M 16.687503,12.1 C 11.959173,12.1 8.125003,15.902937 8.125003,20.63125 L 8.125003,21.63125 C 8.125003,16.902937 11.959173,13.1 16.687503,13.1 L 95.39375,13.1 C 100.12206,13.1 103.925,16.902937 103.925,21.63125 L 103.925,20.63125 C 103.925,15.902937 100.12206,12.1 95.39375,12.1 L 16.687503,12.1 z"
+   id="path3374" /><path
+   id="path4192"
+   d="M 17.559013,12 C 12.830703,12 9.027753,15.802937 9.027763,20.53125 L 9.027763,116.15625 C 9.027763,118.28318 10.744573,120 12.871513,120 L 11.871513,120 C 9.744573,120 8.027763,118.28318 8.027763,116.15625 L 8.027763,20.53125 C 8.027753,15.802937 11.830703,12 16.559013,12 L 17.559013,12 z"
+   style="opacity:1;fill:url(#linearGradient4194);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" /><path
+   id="path4819"
+   d="M 17.287503,13.1 C 12.559173,13.1 8.725003,16.902937 8.725003,21.63125 L 8.725003,22.63125 C 8.725003,17.902937 12.559173,14.1 17.287503,14.1 L 94.79375,14.1 C 99.52206,14.1 103.325,17.902937 103.325,22.63125 L 103.325,21.63125 C 103.325,16.902937 99.52206,13.1 94.79375,13.1 L 17.287503,13.1 z"
+   style="opacity:0.78277151;fill:url(#linearGradient3406);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" /><rect
+   style="fill:url(#linearGradient3884);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:0.19512191"
+   id="rect3259"
+   width="40"
+   height="16"
+   x="36.03125"
+   y="8" /><rect
+   style="opacity:1;fill:url(#linearGradient3931);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"
+   id="rect3922"
+   width="40"
+   height="1.7551692"
+   x="36.03125"
+   y="10.244837"
+   rx="0"
+   ry="0" /><path
+   style="opacity:0.77902623;fill:url(#linearGradient4147);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.08779998;stroke-opacity:1"
+   d="M 40.622085,2.1113039 L 68.03125,2.0761391 L 68.03125,4.0096341 L 41.034868,4 L 40.622085,2.1113039 z"
+   id="rect4138" /><path
+   style="opacity:1;fill:#714c00;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998000000000;stroke-opacity:1"
+   d="M 8.03125,115.15625 L 8.03125,116.15625 C 8.03125,118.28318 9.74806,120 11.875,120 L 100.1875,120 C 102.31443,120 104.03125,118.28318 104.03125,116.15625 L 104.03125,115.15625 C 104.03125,117.28318 102.31443,119 100.1875,119 L 11.875,119 C 9.74806,119 8.03125,117.28318 8.03125,115.15625 z"
+   id="path4196" /><path
+   id="path2260"
+   d="M 44.730764,47.754446 L 64.681651,122.21217 C 64.927201,123.12857 65.870234,123.67304 66.786636,123.42748 L 102.46949,113.8663 C 102.90943,113.74841 103.27684,113.45534 103.50472,113.06066 C 103.50472,113.06066 111.18446,102.18957 114.52658,96.400858 C 117.8687,90.612147 123.44346,78.52574 123.44346,78.52574 C 123.67133,78.131055 123.74142,77.666326 123.62354,77.226386 L 110.97074,30.005498 L 44.730764,47.754446 z"
+   style="opacity:0.55805209;fill:none;stroke:#000000;stroke-width:0.85935682;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
+   style="fill:#000000;fill-opacity:1;filter:url(#filter3496)"
+   d="M 34.351372,38.094343 C 33.819147,38.236952 33.501656,38.786863 33.644265,39.319088 L 57.120341,126.82056 C 57.263209,127.35375 57.812861,127.67028 58.345086,127.52767 L 102.51196,115.19511 C 102.766,115.12704 102.98777,114.95788 103.11904,114.72911 C 113.23749,102.05387 118.38978,88.275038 126.02483,75.047932 C 126.15706,74.818905 126.19293,74.543227 126.12486,74.289189 L 111.28648,18.431203 C 111.14387,17.898978 110.59492,17.581228 110.06173,17.724096 L 34.351372,38.094343 z"
+   id="path3478"
+   transform="matrix(0.8593568,0,0,0.8593568,15.743342,14.940706)" /><path
+   id="path2262"
+   d="M 44.498024,47.549907 L 64.515636,122.25665 C 64.761186,123.17305 65.704219,123.71752 66.620622,123.47196 L 102.45661,113.86974 C 102.89656,113.75186 103.27213,113.4635 103.50001,113.06881 L 123.44816,78.517583 C 123.67604,78.122898 123.73797,77.65346 123.6201,77.21352 L 110.90401,29.756475 L 44.498024,47.549907 z"
+   style="fill:url(#radialGradient4855)" /><path
+   id="path2264"
+   d="M 46.380592,47.935147 C 45.923221,48.057699 45.650383,48.530268 45.772935,48.98764 L 65.345711,122.03423 C 65.468485,122.49243 65.940833,122.76445 66.398204,122.64189 L 103.06427,112.81725 C 103.28258,112.75875 103.47316,112.61338 103.58597,112.41679 L 122.92648,78.918044 C 123.04011,78.721228 123.07093,78.484322 123.01244,78.266013 L 110.51878,31.639043 C 110.39623,31.181672 109.92448,30.908611 109.46628,31.031386 L 46.380592,47.935147 z"
+   style="fill:url(#radialGradient4852);fill-opacity:1" /><path
+   style="opacity:0.15;fill:url(#linearGradient4849)"
+   id="path2266"
+   d="M 123.44816,78.517583 C 123.60008,78.25446 109.61881,87.929502 105.43939,89.049375 C 104.06644,89.417255 103.24854,90.833911 103.61641,92.206854 C 104.73629,96.386283 103.34809,113.33194 103.50001,113.06881 L 123.44816,78.517583 z" /><path
+   style="opacity:0.2;fill:url(#linearGradient4846)"
+   id="path2268"
+   d="M 123.44816,78.517583 C 123.67604,78.122898 113.50103,87.778937 105.6618,89.87945 C 104.74623,90.124778 104.20116,91.068864 104.44649,91.984436 C 106.54701,99.82367 103.27213,113.4635 103.50001,113.06881 L 123.44816,78.517583 z" /><path
+   style="opacity:0.25;fill:url(#linearGradient4843)"
+   id="path2270"
+   d="M 123.44816,78.517583 C 123.5934,78.266037 114.02477,88.528274 105.88422,90.709526 C 105.42519,90.832523 105.15357,91.302987 105.27657,91.762019 C 107.45782,99.90256 103.35478,113.32036 103.50001,113.06881 L 123.44816,78.517583 z" /><path
+   style="fill:url(#linearGradient4840)"
+   id="path2272"
+   d="M 103.50001,113.06881 C 103.50001,113.06881 111.18446,102.18957 114.52658,96.400858 C 117.8687,90.612147 123.44816,78.517583 123.44816,78.517583 C 123.44816,78.517583 114.60448,89.220904 106.09621,91.500686 C 108.376,100.00896 103.50001,113.06881 103.50001,113.06881 z" /><path
+   id="path4809"
+   d="M 40.03125,0 L 43.791442,16 L 49.853792,16 L 62.208708,16 L 68.271058,16 L 72.03125,0 L 58.448516,0 L 53.613984,0 L 40.03125,0 z"
+   style="fill:url(#linearGradient4817);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:0.19512191" /></svg>
diff --git a/flags/system/no-arrow-up.png b/flags/system/no-arrow-up.png
new file mode 100644 (file)
index 0000000..8ef3b5c
Binary files /dev/null and b/flags/system/no-arrow-up.png differ
diff --git a/flags/system/stopsign-arrow-2up.png b/flags/system/stopsign-arrow-2up.png
new file mode 100644 (file)
index 0000000..c7ffe8b
Binary files /dev/null and b/flags/system/stopsign-arrow-2up.png differ
diff --git a/flags/system/stopsign-arrow-up.png b/flags/system/stopsign-arrow-up.png
new file mode 100644 (file)
index 0000000..8582963
Binary files /dev/null and b/flags/system/stopsign-arrow-up.png differ
diff --git a/flags/system/target.svg b/flags/system/target.svg
new file mode 100644 (file)
index 0000000..bbda3c4
--- /dev/null
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 47.999999 47.999999"
+   version="1.1"
+   id="svg34"
+   width="48"
+   height="48">
+  <metadata
+     id="metadata38">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs12">
+    <linearGradient
+       id="a"
+       x1="118.30738"
+       x2="482.57711"
+       y1="263.64055"
+       y2="582.97722"
+       gradientTransform="matrix(0.11054535,0,0,0.10716801,-11.054132,-22.713934)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         stop-color="#fff"
+         offset="0"
+         id="stop2" />
+      <stop
+         stop-color="#fff"
+         stop-opacity="0"
+         offset="1"
+         id="stop4" />
+    </linearGradient>
+    <linearGradient
+       id="b"
+       x1="74.607258"
+       x2="510.59619"
+       y1="224.9666"
+       y2="599.82393"
+       gradientTransform="scale(0.97671648,1.0238386)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         stop-color="#f00"
+         offset="0"
+         id="stop7" />
+      <stop
+         stop-color="#9d0000"
+         stop-opacity=".929"
+         offset="1"
+         id="stop9" />
+    </linearGradient>
+  </defs>
+  <path
+     d="m 47.390516,26.444182 a 21.43239,22.466403 0 1 0 -42.8647776,0 21.43239,22.466403 0 1 0 42.8647776,0 z"
+     fill="#00002f"
+     fill-opacity="0.2"
+     fill-rule="evenodd"
+     id="path14"
+     style="display:none;stroke-width:0.108844" />
+  <g
+     fill-rule="evenodd"
+     id="g30"
+     transform="matrix(0.10884358,0,0,0.10884358,-11.054132,-22.713934)"
+     style="display:inline">
+    <path
+       d="m 521.12,430.29 a 196.91,206.41 0 1 0 -393.82,0 196.91,206.41 0 1 0 393.82,0 z"
+       fill="url(#b)"
+       id="path16"
+       style="fill:url(#b)" />
+    <path
+       d="m 508.62,430.29 a 184.42,193.31 0 1 0 -368.83,0 184.42,193.31 0 1 0 368.83,0 z"
+       fill="#f20000"
+       id="path18" />
+    <path
+       d="m 488.32,430.29 a 164.12,172.03 0 1 0 -328.23,0 164.12,172.03 0 1 0 328.23,0 z"
+       fill="#ffffff"
+       id="path20" />
+    <path
+       d="m 456.17,430.29 a 131.97,138.34 0 1 0 -263.94,0 131.97,138.34 0 1 0 263.94,0 z"
+       fill="#f20000"
+       id="path22" />
+    <path
+       d="m 431.33,430.29 a 107.125,112.29524 0 1 0 -214.25,0 107.125,112.29524 0 1 0 214.25,0 z"
+       fill="#ffffff"
+       id="path24" />
+    <path
+       d="m 394.42,430.29 a 70.215,73.602048 0 1 0 -140.43,0 70.215,73.602048 0 1 0 140.43,0 z"
+       fill="#f20000"
+       id="path26" />
+    <path
+       d="m 367.55,430.29 a 43.349,45.44 0 1 0 -86.698,0 43.349,45.44 0 1 0 86.698,0 z"
+       fill="#ffffff"
+       id="path28" />
+  </g>
+  <path
+     d="M 9.9679179,36.116023 C 22.3652,40.144433 25.367106,28.995912 24.367924,23.597922 23.369434,18.200261 28.746916,9.5592786 38.76793,11.079822 31.865395,3.1401183 19.789962,2.2948386 11.849824,9.1973724 3.9096816,16.099362 3.0653841,28.175338 9.9676994,36.115479 l -6.46e-5,6.15e-4 z"
+     fill="url(#a)"
+     stroke-width="0"
+     id="path32"
+     style="display:inline;fill:url(#a)" />
+</svg>
diff --git a/flags/system/task-finished.svg b/flags/system/task-finished.svg
new file mode 100644 (file)
index 0000000..4d6da6b
--- /dev/null
@@ -0,0 +1,2441 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="64"
+   height="64"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient4494">
+      <stop
+         id="stop4490"
+         offset="0"
+         style="stop-color:#758377;stop-opacity:1" />
+      <stop
+         id="stop4492"
+         offset="1"
+         style="stop-color:#474747;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4453">
+      <stop
+         style="stop-color:#8a8b8a;stop-opacity:1"
+         offset="0"
+         id="stop4449" />
+      <stop
+         style="stop-color:#393939;stop-opacity:1"
+         offset="1"
+         id="stop4451" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1251">
+      <stop
+         id="stop1247"
+         offset="0"
+         style="stop-color:#00e145;stop-opacity:1" />
+      <stop
+         id="stop1249"
+         offset="1"
+         style="stop-color:#087427;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215">
+      <stop
+         id="stop1242"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop1244"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1210">
+      <stop
+         style="stop-color:#b5ffc8;stop-opacity:1"
+         offset="0"
+         id="stop1206" />
+      <stop
+         style="stop-color:#bfffd6;stop-opacity:0"
+         offset="1"
+         id="stop1208" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1130-2">
+      <stop
+         id="stop1126"
+         offset="0"
+         style="stop-color:#0a831f;stop-opacity:1" />
+      <stop
+         id="stop1128"
+         offset="1"
+         style="stop-color:#004706;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1119-8">
+      <stop
+         style="stop-color:#22cd49;stop-opacity:1"
+         offset="0"
+         id="stop1115" />
+      <stop
+         style="stop-color:#346830;stop-opacity:1"
+         offset="1"
+         id="stop1117" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2075">
+      <stop
+         id="stop2067"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.51447427"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop2069" />
+      <stop
+         offset="0.63315159"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2071" />
+      <stop
+         id="stop2073"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient5252">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop5254" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0;"
+         offset="1"
+         id="stop5256" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5225">
+      <stop
+         id="stop5227"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop5229"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215-9">
+      <stop
+         id="stop5217"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop5219"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5187">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5189" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5191" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5132">
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:1"
+         offset="0"
+         id="stop5134" />
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:0"
+         offset="1"
+         id="stop5136" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5116">
+      <stop
+         id="stop5118"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop5120"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5097">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5099" />
+      <stop
+         style="stop-color:#ffbebe;stop-opacity:0"
+         offset="1"
+         id="stop5101" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5080-3">
+      <stop
+         style="stop-color:#ffb5b5;stop-opacity:1"
+         offset="0"
+         id="stop5082" />
+      <stop
+         style="stop-color:#ffbfbf;stop-opacity:0;"
+         offset="1"
+         id="stop5084" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5031">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5033" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5035" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5015-9-3">
+      <stop
+         style="stop-color:#ff1212;stop-opacity:1"
+         offset="0"
+         id="stop5017" />
+      <stop
+         style="stop-color:#750000;stop-opacity:1"
+         offset="1"
+         id="stop5019" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4997-6">
+      <stop
+         id="stop4999"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1" />
+      <stop
+         id="stop5001"
+         offset="1"
+         style="stop-color:#470000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient4997-6"
+       id="linearGradient3146"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient5015-9-3"
+       id="radialGradient5023"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <linearGradient
+       xlink:href="#linearGradient5080-3"
+       id="linearGradient5086"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5097"
+       id="linearGradient5103"
+       x1="113.41915"
+       y1="76.386581"
+       x2="101.99058"
+       y2="38.609497"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5116"
+       id="linearGradient5114"
+       gradientUnits="userSpaceOnUse"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="67.763039"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5132"
+       id="linearGradient5138"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5193"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215-9"
+       id="radialGradient5205"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5209"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5213"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5225"
+       id="radialGradient5223"
+       cx="64.000008"
+       cy="26.931658"
+       fx="64.000008"
+       fy="26.931658"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.15707082,-10.997031,2.9287916)" />
+    <radialGradient
+       xlink:href="#linearGradient5031"
+       id="radialGradient5231"
+       cx="64.000008"
+       cy="21.660604"
+       fx="64.000008"
+       fy="21.660604"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8655683,0,0,0.24089925,-87.241074,-1.6130893)" />
+    <radialGradient
+       xlink:href="#linearGradient5252"
+       id="radialGradient5258"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter5316">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318" />
+    </filter>
+    <filter
+       id="filter5366">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368" />
+    </filter>
+    <filter
+       id="filter3576">
+      <feGaussianBlur
+         id="feGaussianBlur3578"
+         stdDeviation="0.576875" />
+    </filter>
+    <filter
+       id="filter3550">
+      <feGaussianBlur
+         id="feGaussianBlur3552"
+         stdDeviation="1.23375" />
+    </filter>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="24.151943"
+       x2="75.157829"
+       y1="91.321831"
+       x1="75.157829"
+       id="linearGradient3354"
+       xlink:href="#linearGradient3348" />
+    <linearGradient
+       y2="17.476311"
+       x2="59.757221"
+       y1="114.03454"
+       x1="59.355339"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3264"
+       xlink:href="#linearGradient3188" />
+    <linearGradient
+       id="linearGradient3148">
+      <stop
+         id="stop3150"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1;" />
+      <stop
+         id="stop3152"
+         offset="1"
+         style="stop-color:#bf0000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3158">
+      <stop
+         id="stop3160"
+         offset="0"
+         style="stop-color:#520000;stop-opacity:1" />
+      <stop
+         id="stop3162"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3166">
+      <stop
+         id="stop3168"
+         offset="0"
+         style="stop-color:#e20800;stop-opacity:1" />
+      <stop
+         style="stop-color:#d80500;stop-opacity:1;"
+         offset="0.48148149"
+         id="stop3564" />
+      <stop
+         id="stop3170"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3188">
+      <stop
+         id="stop3190"
+         offset="0"
+         style="stop-color:#ffaa00;stop-opacity:1;" />
+      <stop
+         id="stop3192"
+         offset="1"
+         style="stop-color:#ffaa00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3203">
+      <stop
+         id="stop3205"
+         offset="0"
+         style="stop-color:#ffbfbf;stop-opacity:1;" />
+      <stop
+         id="stop3207"
+         offset="1"
+         style="stop-color:#ffbfbf;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3254">
+      <stop
+         id="stop3256"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3258"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3282-3">
+      <stop
+         id="stop3284"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3286"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3324">
+      <stop
+         id="stop3326"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3328"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3348">
+      <stop
+         id="stop3350"
+         offset="0"
+         style="stop-color:#320000;stop-opacity:1;" />
+      <stop
+         id="stop3352"
+         offset="1"
+         style="stop-color:#320000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3530">
+      <stop
+         id="stop3532"
+         offset="0"
+         style="stop-color:#590000;stop-opacity:1;" />
+      <stop
+         id="stop3534"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3554">
+      <stop
+         id="stop3556"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3558"
+         offset="1"
+         style="stop-color:#dfdfdf;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3554"
+       id="linearGradient5530"
+       gradientUnits="userSpaceOnUse"
+       x1="68.9375"
+       y1="38.90625"
+       x2="68.9375"
+       y2="103.40701"
+       gradientTransform="matrix(0.56403211,0,0,0.56403211,-3.6254784,-3.8045531)" />
+    <linearGradient
+       xlink:href="#linearGradient3282-3"
+       id="linearGradient5533"
+       gradientUnits="userSpaceOnUse"
+       x1="58.855938"
+       y1="13.276386"
+       x2="58.800629"
+       y2="43.014843"
+       gradientTransform="translate(-209,134.00203)" />
+    <linearGradient
+       xlink:href="#linearGradient3254"
+       id="linearGradient5536"
+       gradientUnits="userSpaceOnUse"
+       x1="97.911537"
+       y1="86.30513"
+       x2="71.094215"
+       y2="39.373199"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3530"
+       id="radialGradient5539"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3513697,0,0,1.3513697,-21.49693,-22.68578)"
+       cx="62.78125"
+       cy="66.175667"
+       fx="62.78125"
+       fy="77.980095"
+       r="29.84375" />
+    <linearGradient
+       xlink:href="#linearGradient3203"
+       id="linearGradient5542"
+       gradientUnits="userSpaceOnUse"
+       x1="64.968697"
+       y1="9.5585432"
+       x2="89.705704"
+       y2="101.87831"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3166"
+       id="radialGradient5546"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.41925,0,0,1.4090223,-235.83199,109.95438)"
+       cx="63.999996"
+       cy="74.182564"
+       fx="63.999996"
+       fy="74.182564"
+       r="48" />
+    <radialGradient
+       xlink:href="#linearGradient3324"
+       id="radialGradient5549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.501569,0,0,2.2063489,-177.10041,58.92705)"
+       cx="64"
+       cy="60.521297"
+       fx="64"
+       fy="44.562428"
+       r="52" />
+    <linearGradient
+       xlink:href="#linearGradient3158"
+       id="linearGradient5552"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,-209,261.99796)"
+       x1="65.306122"
+       y1="21.898888"
+       x2="65.306122"
+       y2="107.30016" />
+    <linearGradient
+       xlink:href="#linearGradient3148"
+       id="linearGradient5555"
+       gradientUnits="userSpaceOnUse"
+       x1="71.937202"
+       y1="114.73783"
+       x2="71.937202"
+       y2="7.5424786"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574">
+      <stop
+         id="stop4576"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580" />
+      <stop
+         id="stop4582"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient24014"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016" />
+      <stop
+         id="stop24018"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4">
+      <stop
+         id="stop2812-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0" />
+      <stop
+         id="stop2820-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <linearGradient
+       xlink:href="#radialGradient24014"
+       id="linearGradient24078"
+       gradientUnits="userSpaceOnUse"
+       x1="73.711586"
+       y1="71.214951"
+       x2="89.811958"
+       y2="99.101616" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7">
+      <stop
+         id="stop4576-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5" />
+      <stop
+         id="stop4582-6"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient24113">
+      <stop
+         style="stop-color:#fffbba;stop-opacity:1;"
+         offset="0"
+         id="stop24115" />
+      <stop
+         style="stop-color:#fffbba;stop-opacity:0;"
+         offset="1"
+         id="stop24117" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient24091">
+      <stop
+         style="stop-color:#fff201;stop-opacity:1;"
+         offset="0"
+         id="stop24093" />
+      <stop
+         style="stop-color:#fff201;stop-opacity:0;"
+         offset="1"
+         id="stop24095" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient24014-2"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016-9" />
+      <stop
+         id="stop24018-1"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020-2"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022-7" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0">
+      <stop
+         id="stop2812-5-9"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6" />
+      <stop
+         id="stop2820-3-0"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074-6">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076-2"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <filter
+       id="filter24121"
+       x="-0.192"
+       width="1.384"
+       y="-0.192"
+       height="1.384">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123" />
+    </filter>
+    <filter
+       id="filter24133"
+       x="-0.040568756"
+       width="1.0811375"
+       y="-0.066520196"
+       height="1.1330404">
+      <feGaussianBlur
+         stdDeviation="0.31738818"
+         id="feGaussianBlur24135" />
+    </filter>
+    <filter
+       id="filter24274">
+      <feGaussianBlur
+         stdDeviation="1.3050374"
+         id="feGaussianBlur24276" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0"
+       id="linearGradient4613"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738" />
+    <radialGradient
+       xlink:href="#radialGradient4574-7"
+       id="radialGradient4615"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7024894,0,0,1.7024894,-63.192305,-52.615725)"
+       cx="90.121712"
+       cy="78.674843"
+       fx="90.121712"
+       fy="78.674843"
+       r="19.575562" />
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient4617"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.790741"
+       x2="89.953125"
+       y2="109.35688" />
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619"
+       gradientUnits="userSpaceOnUse"
+       cx="89.095451"
+       cy="77.441864"
+       fx="89.095451"
+       fy="77.441864"
+       r="6.5473376" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-6">
+      <stop
+         id="stop4576-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-5" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-3" />
+      <stop
+         id="stop4582-5"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <filter
+       id="filter2220"
+       x="-0.021250301"
+       width="1.0425006"
+       y="-0.034843912"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619-1"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375" />
+    <filter
+       id="filter24121-9"
+       x="-0.192"
+       width="1.3839999"
+       y="-0.192"
+       height="1.3839999">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123-2" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7"
+       id="linearGradient2275"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7"
+       id="linearGradient4613-3"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-84.185323,-77.8823)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7">
+      <stop
+         id="stop2812-5-9-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2" />
+      <stop
+         id="stop2820-3-0-2"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#linearGradient1130-2"
+       id="linearGradient3146-3"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient1119-8"
+       id="radialGradient5023-1"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <filter
+       id="filter5366-0">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368-6" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient1210"
+       id="linearGradient5086-6"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5205-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-2">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-2" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5209-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-1">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-29" />
+    </filter>
+    <linearGradient
+       id="linearGradient3342">
+      <stop
+         id="stop3344"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3347"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3825">
+      <stop
+         id="stop3827"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.18705036;"
+         offset="0.5"
+         id="stop3833" />
+      <stop
+         id="stop3829"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:#beba2c;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:#b6be2c;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3528">
+      <stop
+         id="stop3530"
+         offset="0"
+         style="stop-color:#eaf209;stop-opacity:1;" />
+      <stop
+         id="stop3532-6"
+         offset="1"
+         style="stop-color:#c7c634;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3295">
+      <stop
+         id="stop3297"
+         offset="0"
+         style="stop-color:#fffe63;stop-opacity:1;" />
+      <stop
+         id="stop3299"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3202">
+      <stop
+         id="stop3204"
+         offset="0"
+         style="stop-color:#fcff9c;stop-opacity:1;" />
+      <stop
+         id="stop3206"
+         offset="1"
+         style="stop-color:#c1a965;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="XMLID_4_">
+      <stop
+         id="stop3082"
+         style="stop-color:#cfd13d;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop3090"
+         style="stop-color:#db8900;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient3344">
+      <stop
+         style="stop-color:#fdff63;stop-opacity:1;"
+         offset="0"
+         id="stop3346" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3348" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="123.90625"
+       x2="8.083992"
+       y1="33.40625"
+       x1="147.09375"
+       id="linearGradient3516"
+       xlink:href="#XMLID_4_"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="116.90625"
+       fx="67.09375"
+       cy="116.90625"
+       cx="67.09375"
+       id="radialGradient3524"
+       xlink:href="#XMLID_4_"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <radialGradient
+       gradientTransform="matrix(0.25960703,0.02195575,-0.01356265,0.16036622,20.547101,19.117458)"
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="68.231934"
+       fx="64.689766"
+       cy="27.418272"
+       cx="99.726295"
+       id="radialGradient3535"
+       xlink:href="#linearGradient3528" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       id="linearGradient3548"
+       xlink:href="#linearGradient3295"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <linearGradient
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8480022,9.0589208)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3581"
+       xlink:href="#linearGradient5225" />
+    <linearGradient
+       gradientTransform="translate(-137)"
+       gradientUnits="userSpaceOnUse"
+       y2="63.426777"
+       x2="208.59375"
+       y1="130.40625"
+       x1="208.59375"
+       id="linearGradient3613"
+       xlink:href="#linearGradient3295" />
+    <filter
+       id="filter3639">
+      <feGaussianBlur
+         id="feGaussianBlur3641"
+         stdDeviation="1.0580524" />
+    </filter>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.17149938,0,1.717802e-8,0.37424684,15.498384,9.0562384)"
+       r="59.995121"
+       fy="66.906013"
+       fx="-10.165252"
+       cy="66.906013"
+       cx="-10.165252"
+       id="radialGradient3654"
+       xlink:href="#radialGradient24014-2" />
+    <radialGradient
+       r="59.995121"
+       fy="80.404922"
+       fx="167.67001"
+       cy="80.404922"
+       cx="167.67001"
+       gradientTransform="matrix(0.10016647,0.19510746,-0.26335376,0.13520353,48.633717,-4.4371762)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3658"
+       xlink:href="#radialGradient2810-4-0-7" />
+    <linearGradient
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       y2="14.444496"
+       x2="125.30366"
+       y1="12.569496"
+       x1="120.0625"
+       id="linearGradient3676"
+       xlink:href="#linearGradient3282-3" />
+    <filter
+       id="filter3738"
+       height="1.2746474"
+       y="-0.13732363"
+       width="1.301924"
+       x="-0.15096202" />
+    <radialGradient
+       r="59.995121"
+       fy="26.862719"
+       fx="74.871155"
+       cy="48.228905"
+       cx="72.684891"
+       gradientTransform="matrix(0.36761749,0.00625584,-0.00133974,0.07872926,0.89968044,20.463474)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3744"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.675025,0,0,0.3583625,19.527377,41.004647)"
+       r="59.995121"
+       fy="126.69183"
+       fx="66.01458"
+       cy="126.69183"
+       cx="66.01458"
+       id="radialGradient3757"
+       xlink:href="#linearGradient3751" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.11577766,0,0,0.17884727,24.409472,10.504314)"
+       r="59.995121"
+       fy="7.4108429"
+       fx="64.088867"
+       cy="7.4108429"
+       cx="64.088867"
+       id="radialGradient3767"
+       xlink:href="#linearGradient5225" />
+    <linearGradient
+       y2="11.610882"
+       x2="120.93423"
+       y1="12.569496"
+       x1="120.0625"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3771"
+       xlink:href="#linearGradient3282-3" />
+    <filter
+       id="filter3438">
+      <feGaussianBlur
+         id="feGaussianBlur3440"
+         stdDeviation="1.3342697" />
+    </filter>
+    <filter
+       id="filter3630"
+       x="-0.0059927434"
+       width="1.0119855"
+       y="-0.0060072742"
+       height="1.0120145" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2361"
+       xlink:href="#linearGradient3825" />
+    <linearGradient
+       y2="57.25"
+       x2="-152.26776"
+       y1="37.68198"
+       x1="-151.43935"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2363"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="39.803303"
+       x1="-132.51041"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2365"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="44.753052"
+       x1="-83.012932"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2367"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="86.125"
+       x2="-163"
+       y1="105.625"
+       x1="-73"
+       id="linearGradient3349"
+       xlink:href="#linearGradient3342" />
+    <filter
+       id="filter3363"
+       height="1.2042203"
+       y="-0.10211017"
+       width="1.1754827"
+       x="-0.087741368">
+      <feGaussianBlur
+         id="feGaussianBlur3365"
+         stdDeviation="3.0526685" />
+    </filter>
+    <linearGradient
+       y2="92.603989"
+       x2="-138.0043"
+       y1="137.13324"
+       x1="-83.593941"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3372"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="112.70422"
+       x2="-136.51074"
+       y1="99.979607"
+       x1="-61.802711"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3376"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3388"
+       xlink:href="#linearGradient3825" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3422"
+       xlink:href="#linearGradient3825" />
+    <mask
+       id="mask3402"
+       maskUnits="userSpaceOnUse">
+      <g
+         transform="translate(167.50257,-0.00375516)"
+         id="g3404">
+        <g
+           transform="translate(80.51637,30.885255)"
+           id="g3406">
+          <path
+             id="path3408"
+             d="m -184.42232,-32.47243 c -33.12519,0 -64,32.374805 -64,65.5 0,33.12519 31.37481,64 64.5,64 30.28912,0 55.33661,-26.21626 59.40625,-55.34375 l -35.03125,-5.03125 c -1.62468,11.96113 -11.93007,20.96875 -24.375,20.96875 -13.57163,0 -22.09375,-11.52212 -22.09375,-25.09375 0,-13.571634 6.02212,-20.09375 19.59375,-20.09375 6.78582,-1e-6 9.92129,-2.234956 14.375,2.21875 l -4.82718,11.327179 c -2.05587,2.05587 -2.24372,3.30578 -1.67961,4.615529 0.50857,1.180779 1.52073,2.526042 4.20973,2.526042 h 43.95331 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.843229 -2.18147,-4.349615 -1.31432,-0.520385 -3.03321,-0.122678 -5.10709,1.9512 l -10.19531,0.195314 c -10.85935,-10.859351 -26.3749,-13.0625 -42.9375,-13.0625 z"
+             style="opacity:1;fill:url(#radialGradient3422);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+          <path
+             id="path3410"
+             d="M -161.5,34.5 C -162,37 -180,54 -180,54 l 47.5,26 20.5,-41.5 z"
+             style="fill:url(#linearGradient2363);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+          <path
+             style="fill:url(#linearGradient2365);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             id="path3412" />
+          <path
+             id="path3414"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             style="fill:url(#linearGradient2367);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+        </g>
+        <rect
+           style="opacity:1;fill:url(#linearGradient3349);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           id="rect3416"
+           width="83.5"
+           height="71.75"
+           x="-119"
+           y="69.75" />
+        <path
+           transform="rotate(50.254681,-117.75,104.12499)"
+           style="fill:url(#linearGradient3372);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           id="path3418" />
+        <path
+           id="path3420"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           style="fill:url(#linearGradient3376);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           transform="rotate(50.254681,-117.75,104.12499)" />
+      </g>
+    </mask>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="18.103027"
+       x2="-33.476654"
+       y1="18.103027"
+       x1="-267.47665"
+       id="linearGradient3565"
+       xlink:href="#linearGradient3751" />
+    <radialGradient
+       xlink:href="#linearGradient3254"
+       id="radialGradient4619-1-3"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375"
+       gradientTransform="matrix(1.2924208,0,0,0.87375818,-91.725015,-49.563789)" />
+    <filter
+       id="filter2220-2"
+       x="-0.0212503"
+       width="1.0425006"
+       y="-0.03484391"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218-9" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7-2"
+       id="linearGradient2275-1"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-3.5182439,-4.743318)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7-2">
+      <stop
+         id="stop4576-5-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3-0" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5-9" />
+      <stop
+         id="stop4582-6-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7-0"
+       id="linearGradient4613-3-6"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-87.703563,-82.625618)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7-0">
+      <stop
+         id="stop2812-5-9-5-6"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9-2" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2-6" />
+      <stop
+         id="stop2820-3-0-2-1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2029"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5258-3"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018-5"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020-3" />
+    </filter>
+    <filter
+       id="filter5316-9">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318-3" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient1251"
+       id="linearGradient1250"
+       gradientUnits="userSpaceOnUse"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399" />
+    <radialGradient
+       xlink:href="#linearGradient4453"
+       id="radialGradient5023-1-0"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <linearGradient
+       xlink:href="#linearGradient4494"
+       id="linearGradient4478"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       spreadMethod="pad" />
+    <radialGradient
+       xlink:href="#linearGradient5031"
+       id="radialGradient5205-7-3"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-2-9">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-2-2" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5031"
+       id="radialGradient5209-8"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-3">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-6" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619-1-2"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375" />
+    <filter
+       id="filter24121-9-1"
+       x="-0.192"
+       width="1.3839999"
+       y="-0.192"
+       height="1.3839999">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123-2-9" />
+    </filter>
+    <filter
+       id="filter2220-8"
+       x="-0.0212503"
+       width="1.0425006"
+       y="-0.03484391"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218-4" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7-0"
+       id="linearGradient2275-5"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7-0">
+      <stop
+         id="stop4576-5-3"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3-6" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5-1" />
+      <stop
+         id="stop4582-6-0"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7-2"
+       id="linearGradient4613-3-63"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-84.185319,-77.8823)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7-2">
+      <stop
+         id="stop2812-5-9-5-0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9-6" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2-1" />
+      <stop
+         id="stop2820-3-0-2-5"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient4649"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <linearGradient
+       id="f">
+      <stop
+         offset="0"
+         stop-color="#f0ff80"
+         id="stop7" />
+      <stop
+         offset="1"
+         stop-color="#f0ff80"
+         stop-opacity="0"
+         id="stop9" />
+    </linearGradient>
+    <linearGradient
+       id="d">
+      <stop
+         offset="0"
+         stop-color="#001400"
+         id="stop17" />
+      <stop
+         offset="1"
+         stop-color="#001400"
+         stop-opacity="0"
+         id="stop19" />
+    </linearGradient>
+    <linearGradient
+       id="c">
+      <stop
+         offset="0"
+         stop-color="#bfffbf"
+         id="stop22" />
+      <stop
+         offset="1"
+         stop-color="#bfffbf"
+         stop-opacity="0"
+         id="stop24" />
+    </linearGradient>
+    <linearGradient
+       id="b">
+      <stop
+         offset="0"
+         stop-color="#003100"
+         id="stop27" />
+      <stop
+         offset="1"
+         stop-color="#008c00"
+         id="stop29" />
+    </linearGradient>
+    <linearGradient
+       id="a">
+      <stop
+         offset="0"
+         stop-color="#66f515"
+         id="stop32" />
+      <stop
+         offset="1"
+         stop-color="#002e00"
+         id="stop34" />
+    </linearGradient>
+    <linearGradient
+       gradientTransform="matrix(0.41620037,0,0,0.41620037,-1.9662228,4.1525157)"
+       gradientUnits="userSpaceOnUse"
+       y2="30.849001"
+       x2="89.091003"
+       y1="103.897"
+       x1="89.091003"
+       id="i"
+       xlink:href="#b" />
+    <linearGradient
+       gradientTransform="matrix(0.41620037,0,0,0.41620037,-1.9662228,4.1525157)"
+       gradientUnits="userSpaceOnUse"
+       y2="89.995003"
+       x2="83.324997"
+       y1="24.063"
+       x1="83.324997"
+       id="x"
+       xlink:href="#c" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="47.379002"
+       x2="71.603996"
+       y1="96.884003"
+       x1="71.603996"
+       id="y"
+       xlink:href="#f" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="46.277"
+       x2="77.138"
+       y1="74.838997"
+       x1="87.532997"
+       id="A"
+       xlink:href="#linearGradient5225"
+       gradientTransform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877147)" />
+    <linearGradient
+       y2="69.837997"
+       x2="83.324997"
+       y1="24.063"
+       x1="83.324997"
+       gradientTransform="matrix(0.41620037,0,0,0.41620037,-1.9662228,4.1525157)"
+       gradientUnits="userSpaceOnUse"
+       id="B"
+       xlink:href="#linearGradient5225" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.54593835,0,0,0.40945792,-9.0025067,3.0346017)"
+       r="48"
+       fy="99.884003"
+       fx="54.537998"
+       cy="77.542"
+       cx="54.537998"
+       id="w"
+       xlink:href="#a" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.2350117,0,0,0.3819221,8.1990547,2.5476477)"
+       r="52"
+       fy="87.081001"
+       fx="53.16"
+       cy="95.459"
+       cx="52.792"
+       id="v"
+       xlink:href="#d" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-96.241,-146.148)"
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       id="t"
+       xlink:href="#linearGradient5225" />
+    <radialGradient
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-96.241,-146.148)"
+       gradientUnits="userSpaceOnUse"
+       id="r"
+       xlink:href="#linearGradient5225" />
+    <radialGradient
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-167.241,-126.148)"
+       gradientUnits="userSpaceOnUse"
+       id="p"
+       xlink:href="#linearGradient5225" />
+    <radialGradient
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-96.241,-146.148)"
+       gradientUnits="userSpaceOnUse"
+       id="n"
+       xlink:href="#linearGradient5225" />
+    <radialGradient
+       r="3.016"
+       fy="29.375"
+       fx="99.765999"
+       cy="29.375"
+       cx="99.765999"
+       gradientTransform="matrix(1.96467,0,0,5.97527,-167.241,-126.148)"
+       gradientUnits="userSpaceOnUse"
+       id="l"
+       xlink:href="#f" />
+    <radialGradient
+       r="52"
+       fy="51.919998"
+       fx="53.632999"
+       cy="51.919998"
+       cx="53.632999"
+       gradientTransform="matrix(1.09614,0.08791,-0.10023,1.24973,1.06,-18.687)"
+       gradientUnits="userSpaceOnUse"
+       id="j"
+       xlink:href="#linearGradient5225" />
+    <filter
+       id="z">
+      <feGaussianBlur
+         stdDeviation=".425"
+         id="feGaussianBlur50" />
+    </filter>
+    <filter
+       id="h">
+      <feGaussianBlur
+         stdDeviation=".461"
+         id="feGaussianBlur53" />
+    </filter>
+    <filter
+       id="k">
+      <feBlend
+         in2="BackgroundImage"
+         mode="lighten"
+         id="feBlend56" />
+    </filter>
+    <filter
+       height="1.206"
+       y="-0.103"
+       width="1.365"
+       x="-0.182"
+       id="m">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur59" />
+    </filter>
+    <filter
+       height="1.206"
+       y="-0.103"
+       width="1.365"
+       x="-0.182"
+       id="q">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur62" />
+    </filter>
+    <filter
+       height="1.37"
+       y="-0.185"
+       width="1.2079999"
+       x="-0.104"
+       id="o">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur65" />
+    </filter>
+    <filter
+       height="1.206"
+       y="-0.103"
+       width="1.365"
+       x="-0.182"
+       id="u">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur68" />
+    </filter>
+    <filter
+       height="1.37"
+       y="-0.185"
+       width="1.2079999"
+       x="-0.104"
+       id="s">
+      <feGaussianBlur
+         stdDeviation=".458"
+         id="feGaussianBlur71" />
+    </filter>
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     style="display:inline">
+    <rect
+       style="display:none;opacity:0.75;fill:#044814;fill-opacity:1;stroke:#044814;stroke-width:8.49952;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366-0)"
+       id="rect5320-2"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455611)" />
+    <rect
+       style="display:none;opacity:0.75;fill:#9c0f0f;fill-opacity:1;stroke:#9c0f0f;stroke-width:8.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366)"
+       id="rect5320"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#radialGradient5223);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect5221"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient4478);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160-5-2"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146-3);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160-5"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <path
+       id="path5203-8-2"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5205-7-3);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-2-9)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       id="path5203-8"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5205-7);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-2)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       id="path5203"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5205);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5209-8);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-3)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207-1" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5209);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5209-7);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-1)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207-3" />
+    <path
+       id="path5211"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.6;fill:url(#radialGradient5213);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(-5.7792385e-8,0.67425523,-0.67425523,-5.7792385e-8,75.308143,-11.001313)" />
+    <path
+       style="display:inline;opacity:0.75;fill:url(#radialGradient5193);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5176"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       ry="3.3871541"
+       rx="3.3871541"
+       y="5.1822882"
+       x="5.1851034"
+       height="53.940422"
+       width="53.940422"
+       id="rect5029"
+       style="display:inline;opacity:0.726829;fill:none;fill-opacity:1;stroke:url(#radialGradient5231);stroke-width:4.512;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822867"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164-0-6"
+       style="display:inline;opacity:1;fill:url(#radialGradient5023-1-0);fill-opacity:1;stroke:none;stroke-width:0.282;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822867"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164-0"
+       style="display:none;opacity:1;fill:url(#radialGradient5023-1);fill-opacity:1;stroke:none;stroke-width:0.282;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822872"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164"
+       style="display:none;opacity:1;fill:url(#radialGradient5023);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       style="display:none;opacity:1;fill:url(#radialGradient5258-3);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018-5)"
+       id="rect5248-5"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <rect
+       style="display:none;opacity:1;fill:url(#radialGradient5258);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018)"
+       id="rect5248"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <path
+       style="display:none;opacity:0.347912;fill:url(#linearGradient5086-6);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.182282 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 V 32.447481 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.7010521 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073-7" />
+    <path
+       style="display:none;opacity:1;fill:url(#linearGradient5086);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5103);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 58.598759,6.8679198 c 0.103868,0.3358577 0.147495,0.7034165 0.147495,1.0745949 V 29.855813 c -9.210898,2.928066 -19.961237,4.614433 -31.458226,4.614435 -7.796643,0 -15.236303,-0.800017 -22.1029314,-2.212401 v 0.189634 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-0.6750766 -0.20066,-1.2989941 -0.526761,-1.8331322 z"
+       id="path5088" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5114);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 0.2715754,0.05916 0.5482294,0.111422 0.8217485,0.168564 V 9.6070826 c 0,-1.9337182 1.5206973,-3.476629 3.4134179,-3.476629 h 45.470092 c 1.892717,0 3.413416,1.5429108 3.413416,3.476629 V 30.551138 c 0.272799,-0.0837 0.551623,-0.166974 0.821749,-0.252846 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="path5105" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1250);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316-9)"
+       id="rect5122-6"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient5138);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316)"
+       id="rect5122"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <g
+       id="g1044"
+       style="display:none">
+      <path
+         id="path3528"
+         d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 34.5,81.6875 46.3125,93.5 63.34375,76.4375 80.40625,93.5 92.1875,81.6875 75.15625,64.65625 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+         style="display:inline;fill:none;fill-opacity:1;stroke:url(#radialGradient5539);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3550)"
+         transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+      <path
+         style="display:inline;fill:url(#linearGradient5530);fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+         id="rect3376" />
+      <path
+         style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.885;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3576)"
+         d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 48.59375,67.625 c 5.04146,0.77689 10.40123,1.1875 15.96875,1.1875 4.79161,0 9.42877,-0.32448 13.84375,-0.90625 l -3.25,-3.25 L 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+         id="path3566"
+         transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    </g>
+  </g>
+  <g
+     id="layer3">
+    <path
+       id="path23453-8-5"
+       style="display:none;fill:url(#linearGradient4613-3-63);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 21.07485,55.890327 c 8.460788,-5.782067 16.492576,-11.675689 17.372943,-23.367686 0,0 -1.434341,-17.417807 -17.372943,-22.9529746 C 37.958766,8.2969245 50.723883,8.8716328 53.828674,34.238808 53.460129,40.029443 49.448618,59.167233 21.07485,55.890327 Z" />
+    <path
+       id="path1835-4"
+       style="display:none;opacity:0.549037;fill:url(#linearGradient2275-5);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 8.210266,-6.098481 16.706917,-9.658831 16.706917,-22.449928 10e-7,-12.791096 -5.601011,-18.476359 -16.706917,-23.870732 14.619324,-2.5999875 32.750265,2.268472 32.750265,23.66266 z" />
+    <path
+       style="font-variation-settings:normal;display:none;opacity:0.986056;vector-effect:none;fill:url(#linearGradient4649);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220-8);stop-color:#000000;stop-opacity:1"
+       d="m 81.937183,67.269305 c 6.008047,3.070756 5.278565,6.721758 5.517768,7.850284 2.691267,-0.278177 3.873086,-0.468142 4.97754,-0.836625 -0.440041,-4.956775 -3.709675,-7.674519 -10.495308,-7.013659 z"
+       id="path24084-3-7"
+       transform="matrix(3.1302825,0,0,3.1302825,-235.41168,-201.00226)" />
+    <circle
+       style="display:none;fill:url(#radialGradient4619-1-2);fill-opacity:1;stroke:none;filter:url(#filter24121-9-1)"
+       id="path24099-0-6"
+       transform="matrix(1.2924208,0,0,1.2924208,-74.768867,-79.148647)"
+       cx="89.095451"
+       cy="77.441864"
+       r="3.3587573" />
+    <path
+       id="path1835-2-5"
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="M 28.496031,56.983258 C 11.59107,36.105184 26.844767,54.73078 9.1988124,32.889365 c 6.2087856,0 7.6028236,0.03782 12.6008986,0.03782 8.403801,11.612914 3.409276,4.901538 10.608672,13.851072 5.789968,-15.700481 4.403978,-9.307909 13.623994,-37.0867632 6.837214,0 3.867154,0.1281689 10.54242,0.1281689 C 47.819033,32.207084 38.718406,56.911737 38.718406,56.911737 c -6.993176,0 -4.937205,0.07152 -10.222375,0.07152 z" />
+    <g
+       style="enable-background:new"
+       id="g7713"
+       transform="matrix(1.1668865,0,0,1.1668865,3.8666542,-1.1844116)">
+      <path
+         d="M 54.394,74.154 28.631,47.75 16,60.698 54.394,100.053 112,41 99.367,28.053 Z"
+         fill="none"
+         stroke="#004d00"
+         stroke-width="8.1"
+         stroke-linecap="round"
+         stroke-linejoin="round"
+         filter="url(#h)"
+         id="path76"
+         transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+      <path
+         d="M 20.672579,33.350635 9.9500098,22.361285 4.6929831,27.750245 20.672579,44.129815 44.648218,19.55193 39.390359,14.163384 Z"
+         fill="none"
+         stroke="url(#i)"
+         stroke-width="3.3296"
+         stroke-linecap="round"
+         stroke-linejoin="round"
+         id="path78"
+         style="stroke:url(#i)" />
+      <path
+         d="M 54.394,74.154 28.631,47.75 16,60.698 54.394,100.053 112,41 99.367,28.053 Z"
+         opacity="0.286"
+         fill="none"
+         stroke="url(#j)"
+         stroke-width="8"
+         stroke-linecap="round"
+         stroke-linejoin="round"
+         filter="url(#k)"
+         id="path80"
+         style="stroke:url(#j)"
+         transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+      <path
+         transform="matrix(0.41620037,0,0,-0.41620037,8.8549867,63.981325)"
+         d="m 28.406,44.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.687,9.688 c 0.111,-0.114 0.85,-0.848 0.938,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+         opacity="0.41"
+         fill="url(#l)"
+         filter="url(#m)"
+         id="path82"
+         style="fill:url(#l)" />
+      <path
+         transform="matrix(-0.14234891,0.39110041,0.39110041,0.14234891,8.1103064,-15.077374)"
+         d="m 99.406,24.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.688,9.688 c 0.11,-0.114 0.85,-0.848 0.937,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+         opacity="0.238"
+         fill="url(#n)"
+         filter="url(#o)"
+         id="path84"
+         style="fill:url(#n)" />
+      <path
+         d="m 28.406,44.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.687,9.688 c 0.111,-0.114 0.85,-0.848 0.938,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+         opacity="0.776"
+         fill="url(#p)"
+         filter="url(#q)"
+         id="path86"
+         style="fill:url(#p)"
+         transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+      <path
+         d="m 99.406,24.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.688,9.688 c 0.11,-0.114 0.85,-0.848 0.937,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+         transform="matrix(0.14234891,0.39110041,-0.39110041,0.14234891,41.540516,-23.401123)"
+         opacity="0.371"
+         fill="url(#r)"
+         filter="url(#s)"
+         id="path88"
+         style="fill:url(#r)" />
+      <path
+         d="m 99.406,24.031 c -0.15,-0.002 -0.286,0.017 -0.437,0.032 a 3.98,3.98 0 0 0 -2.219,0.968 l 1.688,9.688 c 0.11,-0.114 0.85,-0.848 0.937,-0.938 l 0.375,0.375 3.031,-8.343 -0.562,-0.563 a 4.046,4.046 0 0 0 -2.813,-1.219 z"
+         opacity="0.871"
+         fill="url(#t)"
+         filter="url(#u)"
+         id="path90"
+         style="fill:url(#t)"
+         transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+      <path
+         d="M 20.672579,33.350635 9.9500098,22.361285 4.6929831,27.750245 20.672579,44.129815 44.648218,19.55193 39.390359,14.163384 Z"
+         opacity="0.286"
+         fill="none"
+         stroke="url(#v)"
+         stroke-width="3.3296"
+         stroke-linecap="round"
+         stroke-linejoin="round"
+         id="path92"
+         style="stroke:url(#v)" />
+      <path
+         d="M 20.672579,33.350635 9.9500098,22.361285 4.6929831,27.750245 20.672579,44.129815 44.648218,19.55193 39.390359,14.163384 Z"
+         fill="url(#w)"
+         id="path94"
+         style="fill:url(#w);stroke-width:0.4162" />
+      <path
+         d="m 39.393688,14.167546 c 0,0 -14.673976,15.041479 -18.716114,19.183919 C 17.286373,29.876195 9.9475125,22.361285 9.9475125,22.361285 l -5.2545294,5.3848 6.8544039,7.02296 h 0.233904 c 7.295993,0 14.207832,-0.87111 20.40672,-2.43186 L 44.648218,19.55193 Z"
+         fill="url(#x)"
+         id="path96"
+         style="fill:url(#x);stroke-width:0.4162" />
+      <path
+         d="M 54.394,74.154 28.631,47.75 16,60.698 54.394,100.053 112,41 99.367,28.053 Z"
+         fill="none"
+         stroke="url(#y)"
+         filter="url(#z)"
+         id="path98"
+         style="stroke:url(#y)"
+         transform="matrix(0.41620037,0,0,0.41620037,-1.9662228,2.4877157)" />
+      <path
+         d="m 39.393688,14.167546 -0.168977,0.18188 5.072233,5.111356 -12.486011,12.577163 c -6.212206,1.53494 -12.925518,2.58835 -20.237742,2.58835 h -0.156075 l 0.130271,0.14317 h 0.233904 c 7.295993,0 14.207832,-0.87153 20.407136,-2.43228 L 44.648218,19.55193 Z"
+         fill="url(#A)"
+         id="path100"
+         style="fill:url(#A);stroke-width:0.4162" />
+      <path
+         d="m 39.393688,14.167546 c 0,0 -14.673976,15.041479 -18.716114,19.183919 C 17.286373,29.876195 9.9475125,22.361285 9.9475125,22.361285 l -5.2545294,5.3848 0.2081004,0.2081 5.046429,-5.1767 c 0,0 7.3388605,7.51491 10.7300615,10.99019 l 18.716114,-19.184345 5.04643,5.176705 0.2081,-0.208105 z"
+         fill="url(#B)"
+         id="path102"
+         style="fill:url(#B);stroke-width:0.4162" />
+    </g>
+  </g>
+  <g
+     id="layer5"
+     style="display:none">
+    <path
+       id="path23453-8-8"
+       style="display:inline;fill:url(#linearGradient4613-3-6);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 34.296024,31.758871 c 3.648849,-4.344634 1.378731,-1.827187 4.822751,-5.235736 -1.882369,-1.830148 -4.234452,-3.364703 -7.219932,-3.364703 -9.108227,0 -10.298314,6.383483 -10.298314,8.964776 0,7.776724 4.775811,10.548629 9.951736,10.808771 6.602468,0 10.258777,-3.284875 10.258777,-7.222891 4.316118,0.656645 7.169186,0.590906 11.188659,1.252808 -1.263606,4.715843 -6.519859,17.595542 -20.084172,17.595542 -11.464553,0 -22.914951,-8.228225 -22.914951,-21.544053 0,-3.034067 2.551584,-21.800026 21.895432,-21.800026 9.082295,0 11.686301,2.263192 16.035505,6.612396 2.466249,-1.592587 4.725818,-2.836218 5.168571,-3.31835 0,6.120029 -0.04483,17.168951 -0.04483,17.168951 -11.056775,0 -7.068513,0.08252 -18.759232,0.08252 z" />
+    <path
+       id="path1835-7"
+       style="display:none;opacity:0.549037;fill:url(#linearGradient2275-1);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 50.306871,28.489009 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 25.766872,45.048528 34.263523,41.488178 34.263523,28.697081 34.263524,15.905985 28.662512,10.220722 17.556606,4.8263494 32.17593,2.2263619 50.306871,7.094821 50.306871,28.489009 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2029);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220-2);stop-color:#000000;stop-opacity:1"
+       d="m 85.790181,69.3457 c -4.147963,0 -6.232322,3.972264 -6.232322,7.140412 2.210509,0.242419 1.833722,0.150641 3.617866,0.28857 0,-0.721321 0.269839,-3.690282 3.142481,-3.690282 1.674544,0 1.838989,0.396877 2.507226,1.116157 -0.788848,0.79914 -0.958432,1.010933 -1.540676,1.672608 2.353371,0 4.08289,-0.02636 5.992824,-0.02636 0.01922,-2.458423 -0.04785,-3.684979 -0.0096,-5.48023 -1.08015,0.68045 -0.467913,0.431269 -1.632788,1.020826 C 90.315075,70.067284 88.110758,69.3457 85.790179,69.3457 Z"
+       id="path24084-3-9"
+       transform="matrix(3.1302825,0,0,3.1302825,-238.92992,-205.74557)" />
+    <ellipse
+       style="display:inline;opacity:0.729931;fill:url(#radialGradient4619-1-3);fill-opacity:1;stroke:none;stroke-width:1.06267"
+       id="path24099-0-2"
+       cx="23.4238"
+       cy="18.101673"
+       rx="4.3409276"
+       ry="2.9347417" />
+    <path
+       id="path1835-2-0"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 35.243021,32.051343 c -2.566708,0.05403 0.651716,-2.30417 3.875753,-5.528207 -2.102078,-2.536143 -3.960323,-3.548914 -7.290519,-3.513296 -8.57924,0.09176 -10.251031,7.335354 -10.251031,10.031984 0,5.916934 5.337162,9.858491 10.167765,9.858491 4.529185,0 8.643811,-1.883349 10.066053,-7.191227 8.34228,1.009859 3.445518,0.345854 11.006018,1.192373 1.180973,0.132229 -3.212591,17.572604 -20.943122,17.572604 -17.967972,0 -21.732031,-17.030792 -21.732031,-21.610128 0,-3.707705 2.445098,-21.611175 21.337446,-21.611175 11.167452,0 13.652839,4.309924 16.452162,6.572993 3.310615,-2.234412 2.879134,-1.655801 5.168571,-3.31835 0,5.074207 -0.04483,12.821672 -0.04483,17.168951 -3.860022,0 -17.812232,0.374987 -17.812232,0.374987 z" />
+  </g>
+  <g
+     id="layer2"
+     style="display:none">
+    <g
+       id="layer1-7"
+       transform="matrix(0.41287673,0,0,0.41287673,5.902367,6.3992748)"
+       style="display:inline">
+      <path
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-200.19994)"
+         style="display:none;fill:#7c4300;fill-opacity:1;stroke:none;filter:url(#filter24274)"
+         id="path24256"
+         d="m 104.17619,99.240114 -8.848081,-2.928692 -3.443926,8.660548 -4.895494,-7.930943 -8.205094,4.420653 1.347746,-9.22222 -9.127006,-1.887717 6.96036,-6.198314 -5.778291,-7.312802 9.316145,-0.274151 0.274151,-9.316145 7.312802,5.778291 6.198314,-6.96036 1.887717,9.127006 9.222217,-1.347746 -4.42065,8.205093 7.93094,4.895494 -8.66054,3.443927 z" />
+      <path
+         style="display:inline;fill:url(#linearGradient4613);fill-opacity:1;stroke:none"
+         id="path23453"
+         d="m 104.17619,99.240114 -10.230663,-5.89365 -2.061344,11.625506 -4.048776,-11.09094 -9.051812,7.58065 4.027577,-11.098657 -11.806837,-0.01128 10.219381,-5.913187 -9.037312,-7.597929 11.629423,2.039127 -2.039127,-11.629423 7.597929,9.037311 5.913187,-10.21938 0.01128,11.806836 11.098654,-4.027576 -7.580647,9.051812 11.090937,4.048775 -11.625503,2.061344 z"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         d="m 104.17619,99.240114 -10.385259,-6.225183 -1.906748,11.957039 -3.954098,-11.444281 -9.14649,7.933991 4.327227,-11.308475 -12.106487,0.198538 10.583794,-5.881305 -9.401725,-7.629811 11.888087,2.297791 -2.297791,-11.888087 7.629811,9.401725 5.881305,-10.583794 -0.198538,12.106487 11.308472,-4.327227 -7.933988,9.146489 11.444278,3.954098 -11.957035,1.906748 z"
+         id="path24010"
+         style="display:inline;opacity:0.52993;fill:url(#radialGradient4615);fill-opacity:1;stroke:none"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         style="display:inline;opacity:0.986056;fill:url(#linearGradient4617);fill-opacity:1;stroke:none;filter:url(#filter24133)"
+         d="m 86.944196,66.665243 c 0.776155,4.836498 2.036516,9.187328 2.371631,11.214513 -2.475744,-0.37446 -8.63073,-2.201551 -10.928322,-1.831849 0.177199,0.630895 6.807053,5.906003 8.33621,7.39065 l -3.275165,2.09736 c 3.929307,1.140291 4.392666,0.995333 9.36395,0.995333 6.484057,0 14.45306,-1.448378 17.70315,-2.252082 -0.10927,-0.422007 -5.92149,-2.009477 -5.75199,-2.411083 l 7.13409,-9.020562 c -2.50429,0.903469 -8.74215,3.215276 -11.09866,4.027576 l -0.19984,-11.284229 -5.724622,9.696773 c -1.638398,-1.711586 -5.787432,-6.122882 -7.930432,-8.6224 z"
+         id="path24084"
+         transform="matrix(3.1302824,0,0,3.1302824,-235.41167,-201.00225)" />
+      <circle
+         style="display:inline;fill:url(#radialGradient4619);fill-opacity:1;stroke:none;filter:url(#filter24121)"
+         id="path24099"
+         transform="matrix(3.1302824,0,0,3.1302824,-222.15083,-198.43969)"
+         cx="89.095451"
+         cy="77.441864"
+         r="3.3587573" />
+      <path
+         d="M 107.90577,106.51705 75.88091,88.068263 69.428322,124.45938 56.754512,89.741606 28.419783,113.47117 41.027236,78.729249 4.0685019,78.693941 36.058051,60.183997 7.768713,36.400333 44.172092,42.783379 37.789047,6.3799993 61.57271,34.669337 80.082655,2.6797879 80.117963,39.638522 114.85989,27.031069 91.130319,55.365797 125.84809,68.039607 89.456977,74.492195 Z"
+         id="path24010-6"
+         style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="layer4"
+     style="display:none">
+    <path
+       id="path23453-8"
+       style="display:inline;fill:url(#linearGradient4613-3);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 21.07485,55.890327 c 8.460788,-5.782067 16.492576,-11.675689 17.372943,-23.367686 0,0 -1.434341,-17.417807 -17.372943,-22.9529742 C 37.958766,8.2969249 50.723883,8.8716332 53.828674,34.238808 53.460129,40.029443 49.448618,59.167233 21.07485,55.890327 Z" />
+    <path
+       id="path1835"
+       style="display:inline;opacity:0.549037;fill:url(#linearGradient2275);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.781767,46.231496 37.781767,33.440399 37.781768,20.649303 32.180756,14.96404 21.07485,9.5696674 35.694174,6.9696799 53.825115,11.838139 53.825115,33.232327 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220);stop-color:#000000;stop-opacity:1"
+       d="m 81.937183,67.269305 c 6.008047,3.070756 5.278565,6.721758 5.517768,7.850284 2.691267,-0.278177 3.873086,-0.468142 4.97754,-0.836625 -0.440041,-4.956775 -3.709675,-7.674519 -10.495308,-7.013659 z"
+       id="path24084-3"
+       transform="matrix(3.1302825,0,0,3.1302825,-235.41168,-201.00226)" />
+    <circle
+       style="display:inline;fill:url(#radialGradient4619-1);fill-opacity:1;stroke:none;filter:url(#filter24121-9)"
+       id="path24099-0"
+       transform="matrix(1.2924208,0,0,1.2924208,-74.768867,-79.148647)"
+       cx="89.095451"
+       cy="77.441864"
+       r="3.3587573" />
+    <path
+       id="path1835-2"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.886791,46.231065 37.781767,33.440399 37.68169,21.252101 32.180756,14.964039 21.07485,9.5696668 35.694174,6.9696793 53.825115,11.838138 53.825115,33.232327 Z" />
+  </g>
+</svg>
diff --git a/flags/system/task-new-morning.svg b/flags/system/task-new-morning.svg
new file mode 100644 (file)
index 0000000..9bc6ba6
--- /dev/null
@@ -0,0 +1,1102 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="64"
+   height="64"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2075">
+      <stop
+         id="stop2067"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.51447427"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop2069" />
+      <stop
+         offset="0.63315159"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2071" />
+      <stop
+         id="stop2073"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient5252">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop5254" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0;"
+         offset="1"
+         id="stop5256" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5225">
+      <stop
+         id="stop5227"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop5229"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215">
+      <stop
+         id="stop5217"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop5219"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5187">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5189" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5191" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5132">
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:1"
+         offset="0"
+         id="stop5134" />
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:0"
+         offset="1"
+         id="stop5136" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5116">
+      <stop
+         id="stop5118"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop5120"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5097">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5099" />
+      <stop
+         style="stop-color:#ffbebe;stop-opacity:0"
+         offset="1"
+         id="stop5101" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5080">
+      <stop
+         style="stop-color:#ffb5b5;stop-opacity:1"
+         offset="0"
+         id="stop5082" />
+      <stop
+         style="stop-color:#ffbfbf;stop-opacity:0;"
+         offset="1"
+         id="stop5084" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5031">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5033" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5035" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5015">
+      <stop
+         style="stop-color:#ff1212;stop-opacity:1"
+         offset="0"
+         id="stop5017" />
+      <stop
+         style="stop-color:#750000;stop-opacity:1"
+         offset="1"
+         id="stop5019" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4997">
+      <stop
+         id="stop4999"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1" />
+      <stop
+         id="stop5001"
+         offset="1"
+         style="stop-color:#470000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient4997"
+       id="linearGradient3146"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient5015"
+       id="radialGradient5023"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <linearGradient
+       xlink:href="#linearGradient5080"
+       id="linearGradient5086"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5097"
+       id="linearGradient5103"
+       x1="113.41915"
+       y1="76.386581"
+       x2="101.99058"
+       y2="38.609497"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5116"
+       id="linearGradient5114"
+       gradientUnits="userSpaceOnUse"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="67.763039"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5132"
+       id="linearGradient5138"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5193"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5205"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5209"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5213"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5225"
+       id="radialGradient5223"
+       cx="64.000008"
+       cy="26.931658"
+       fx="64.000008"
+       fy="26.931658"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.15707082,-10.997031,2.9287916)" />
+    <radialGradient
+       xlink:href="#linearGradient5031"
+       id="radialGradient5231"
+       cx="64.000008"
+       cy="21.660604"
+       fx="64.000008"
+       fy="21.660604"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8655683,0,0,0.24089925,-87.241074,-1.6130893)" />
+    <radialGradient
+       xlink:href="#linearGradient5252"
+       id="radialGradient5258"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter5316">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318" />
+    </filter>
+    <filter
+       id="filter5366">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368" />
+    </filter>
+    <filter
+       id="filter3576">
+      <feGaussianBlur
+         id="feGaussianBlur3578"
+         stdDeviation="0.576875" />
+    </filter>
+    <filter
+       id="filter3550">
+      <feGaussianBlur
+         id="feGaussianBlur3552"
+         stdDeviation="1.23375" />
+    </filter>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="24.151943"
+       x2="75.157829"
+       y1="91.321831"
+       x1="75.157829"
+       id="linearGradient3354"
+       xlink:href="#linearGradient3348" />
+    <linearGradient
+       y2="17.476311"
+       x2="59.757221"
+       y1="114.03454"
+       x1="59.355339"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3264"
+       xlink:href="#linearGradient3188" />
+    <linearGradient
+       id="linearGradient3148">
+      <stop
+         id="stop3150"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1;" />
+      <stop
+         id="stop3152"
+         offset="1"
+         style="stop-color:#bf0000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3158">
+      <stop
+         id="stop3160"
+         offset="0"
+         style="stop-color:#520000;stop-opacity:1" />
+      <stop
+         id="stop3162"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3166">
+      <stop
+         id="stop3168"
+         offset="0"
+         style="stop-color:#e20800;stop-opacity:1" />
+      <stop
+         style="stop-color:#d80500;stop-opacity:1;"
+         offset="0.48148149"
+         id="stop3564" />
+      <stop
+         id="stop3170"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3188">
+      <stop
+         id="stop3190"
+         offset="0"
+         style="stop-color:#ffaa00;stop-opacity:1;" />
+      <stop
+         id="stop3192"
+         offset="1"
+         style="stop-color:#ffaa00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3203">
+      <stop
+         id="stop3205"
+         offset="0"
+         style="stop-color:#ffbfbf;stop-opacity:1;" />
+      <stop
+         id="stop3207"
+         offset="1"
+         style="stop-color:#ffbfbf;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3254">
+      <stop
+         id="stop3256"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3258"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3282">
+      <stop
+         id="stop3284"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3286"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3324">
+      <stop
+         id="stop3326"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3328"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3348">
+      <stop
+         id="stop3350"
+         offset="0"
+         style="stop-color:#320000;stop-opacity:1;" />
+      <stop
+         id="stop3352"
+         offset="1"
+         style="stop-color:#320000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3530">
+      <stop
+         id="stop3532"
+         offset="0"
+         style="stop-color:#590000;stop-opacity:1;" />
+      <stop
+         id="stop3534"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3554">
+      <stop
+         id="stop3556"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3558"
+         offset="1"
+         style="stop-color:#dfdfdf;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3554"
+       id="linearGradient5530"
+       gradientUnits="userSpaceOnUse"
+       x1="68.9375"
+       y1="38.90625"
+       x2="68.9375"
+       y2="103.40701"
+       gradientTransform="matrix(0.56403211,0,0,0.56403211,-3.6254784,-3.8045531)" />
+    <linearGradient
+       xlink:href="#linearGradient3282"
+       id="linearGradient5533"
+       gradientUnits="userSpaceOnUse"
+       x1="58.855938"
+       y1="13.276386"
+       x2="58.800629"
+       y2="43.014843"
+       gradientTransform="translate(-209,134.00203)" />
+    <linearGradient
+       xlink:href="#linearGradient3254"
+       id="linearGradient5536"
+       gradientUnits="userSpaceOnUse"
+       x1="97.911537"
+       y1="86.30513"
+       x2="71.094215"
+       y2="39.373199"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3530"
+       id="radialGradient5539"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3513697,0,0,1.3513697,-21.49693,-22.68578)"
+       cx="62.78125"
+       cy="66.175667"
+       fx="62.78125"
+       fy="77.980095"
+       r="29.84375" />
+    <linearGradient
+       xlink:href="#linearGradient3203"
+       id="linearGradient5542"
+       gradientUnits="userSpaceOnUse"
+       x1="64.968697"
+       y1="9.5585432"
+       x2="89.705704"
+       y2="101.87831"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3166"
+       id="radialGradient5546"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.41925,0,0,1.4090223,-235.83199,109.95438)"
+       cx="63.999996"
+       cy="74.182564"
+       fx="63.999996"
+       fy="74.182564"
+       r="48" />
+    <radialGradient
+       xlink:href="#linearGradient3324"
+       id="radialGradient5549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.501569,0,0,2.2063489,-177.10041,58.92705)"
+       cx="64"
+       cy="60.521297"
+       fx="64"
+       fy="44.562428"
+       r="52" />
+    <linearGradient
+       xlink:href="#linearGradient3158"
+       id="linearGradient5552"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,-209,261.99796)"
+       x1="65.306122"
+       y1="21.898888"
+       x2="65.306122"
+       y2="107.30016" />
+    <linearGradient
+       xlink:href="#linearGradient3148"
+       id="linearGradient5555"
+       gradientUnits="userSpaceOnUse"
+       x1="71.937202"
+       y1="114.73783"
+       x2="71.937202"
+       y2="7.5424786"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574">
+      <stop
+         id="stop4576"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580" />
+      <stop
+         id="stop4582"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient24014"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016" />
+      <stop
+         id="stop24018"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4">
+      <stop
+         id="stop2812-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0" />
+      <stop
+         id="stop2820-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <linearGradient
+       xlink:href="#radialGradient24014"
+       id="linearGradient24078"
+       gradientUnits="userSpaceOnUse"
+       x1="73.711586"
+       y1="71.214951"
+       x2="89.811958"
+       y2="99.101616" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7">
+      <stop
+         id="stop4576-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5" />
+      <stop
+         id="stop4582-6"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient24113">
+      <stop
+         style="stop-color:#fffbba;stop-opacity:1;"
+         offset="0"
+         id="stop24115" />
+      <stop
+         style="stop-color:#fffbba;stop-opacity:0;"
+         offset="1"
+         id="stop24117" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient24091">
+      <stop
+         style="stop-color:#fff201;stop-opacity:1;"
+         offset="0"
+         id="stop24093" />
+      <stop
+         style="stop-color:#fff201;stop-opacity:0;"
+         offset="1"
+         id="stop24095" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient24014-2"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016-9" />
+      <stop
+         id="stop24018-1"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020-2"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022-7" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0">
+      <stop
+         id="stop2812-5-9"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6" />
+      <stop
+         id="stop2820-3-0"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074-6">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076-2"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <filter
+       id="filter24121"
+       x="-0.192"
+       width="1.384"
+       y="-0.192"
+       height="1.384">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123" />
+    </filter>
+    <filter
+       id="filter24133"
+       x="-0.040568756"
+       width="1.0811375"
+       y="-0.066520196"
+       height="1.1330404">
+      <feGaussianBlur
+         stdDeviation="0.31738818"
+         id="feGaussianBlur24135" />
+    </filter>
+    <filter
+       id="filter24274">
+      <feGaussianBlur
+         stdDeviation="1.3050374"
+         id="feGaussianBlur24276" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0"
+       id="linearGradient4613"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738" />
+    <radialGradient
+       xlink:href="#radialGradient4574-7"
+       id="radialGradient4615"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7024894,0,0,1.7024894,-63.192305,-52.615725)"
+       cx="90.121712"
+       cy="78.674843"
+       fx="90.121712"
+       fy="78.674843"
+       r="19.575562" />
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient4617"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.790741"
+       x2="89.953125"
+       y2="109.35688" />
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619"
+       gradientUnits="userSpaceOnUse"
+       cx="89.095451"
+       cy="77.441864"
+       fx="89.095451"
+       fy="77.441864"
+       r="6.5473376" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-6">
+      <stop
+         id="stop4576-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-5" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-3" />
+      <stop
+         id="stop4582-5"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <filter
+       id="filter2220"
+       x="-0.021250301"
+       width="1.0425006"
+       y="-0.034843912"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619-1"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375" />
+    <filter
+       id="filter24121-9"
+       x="-0.192"
+       width="1.3839999"
+       y="-0.192"
+       height="1.3839999">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123-2" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7"
+       id="linearGradient2275"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7"
+       id="linearGradient4613-3"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-84.185323,-77.8823)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7">
+      <stop
+         id="stop2812-5-9-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2" />
+      <stop
+         id="stop2820-3-0-2"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <rect
+       style="display:inline;opacity:0.75;fill:#9c0f0f;fill-opacity:1;stroke:#9c0f0f;stroke-width:8.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366)"
+       id="rect5320"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#radialGradient5223);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect5221"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       ry="3.3871541"
+       rx="3.3871541"
+       y="5.1822882"
+       x="5.1851034"
+       height="53.940422"
+       width="53.940422"
+       id="rect5029"
+       style="display:inline;opacity:0.726829;fill:none;fill-opacity:1;stroke:url(#radialGradient5231);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path5211"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.6;fill:url(#radialGradient5213);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(-5.7792385e-8,0.67425523,-0.67425523,-5.7792385e-8,75.308143,-11.001313)" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5209);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207" />
+    <path
+       id="path5203"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5205);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       style="display:inline;opacity:0.75;fill:url(#radialGradient5193);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5176"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822872"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164"
+       style="display:inline;opacity:1;fill:url(#radialGradient5023);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       style="display:inline;opacity:1;fill:url(#radialGradient5258);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018)"
+       id="rect5248"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5086);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5103);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 58.598759,6.8679198 c 0.103868,0.3358577 0.147495,0.7034165 0.147495,1.0745949 V 29.855813 c -9.210898,2.928066 -19.961237,4.614433 -31.458226,4.614435 -7.796643,0 -15.236303,-0.800017 -22.1029314,-2.212401 v 0.189634 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-0.6750766 -0.20066,-1.2989941 -0.526761,-1.8331322 z"
+       id="path5088" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5114);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 0.2715754,0.05916 0.5482294,0.111422 0.8217485,0.168564 V 9.6070826 c 0,-1.9337182 1.5206973,-3.476629 3.4134179,-3.476629 h 45.470092 c 1.892717,0 3.413416,1.5429108 3.413416,3.476629 V 30.551138 c 0.272799,-0.0837 0.551623,-0.166974 0.821749,-0.252846 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="path5105" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient5138);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316)"
+       id="rect5122"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <path
+       id="path3528"
+       d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 34.5,81.6875 46.3125,93.5 63.34375,76.4375 80.40625,93.5 92.1875,81.6875 75.15625,64.65625 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+       style="display:none;fill:none;fill-opacity:1;stroke:url(#radialGradient5539);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3550)"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <path
+       style="display:none;fill:url(#linearGradient5530);fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+       id="rect3376" />
+    <path
+       style="display:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.885;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3576)"
+       d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 48.59375,67.625 c 5.04146,0.77689 10.40123,1.1875 15.96875,1.1875 4.79161,0 9.42877,-0.32448 13.84375,-0.90625 l -3.25,-3.25 L 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+       id="path3566"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <path
+       id="path3381"
+       d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+       style="display:inline;fill:none;fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="layer2"
+     style="display:inline">
+    <g
+       id="layer1-7"
+       transform="matrix(0.41287673,0,0,0.41287673,5.902367,6.3992748)"
+       style="display:inline">
+      <path
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-200.19994)"
+         style="display:none;fill:#7c4300;fill-opacity:1;stroke:none;filter:url(#filter24274)"
+         id="path24256"
+         d="m 104.17619,99.240114 -8.848081,-2.928692 -3.443926,8.660548 -4.895494,-7.930943 -8.205094,4.420653 1.347746,-9.22222 -9.127006,-1.887717 6.96036,-6.198314 -5.778291,-7.312802 9.316145,-0.274151 0.274151,-9.316145 7.312802,5.778291 6.198314,-6.96036 1.887717,9.127006 9.222217,-1.347746 -4.42065,8.205093 7.93094,4.895494 -8.66054,3.443927 z" />
+      <path
+         style="display:inline;fill:url(#linearGradient4613);fill-opacity:1;stroke:none"
+         id="path23453"
+         d="m 104.17619,99.240114 -10.230663,-5.89365 -2.061344,11.625506 -4.048776,-11.09094 -9.051812,7.58065 4.027577,-11.098657 -11.806837,-0.01128 10.219381,-5.913187 -9.037312,-7.597929 11.629423,2.039127 -2.039127,-11.629423 7.597929,9.037311 5.913187,-10.21938 0.01128,11.806836 11.098654,-4.027576 -7.580647,9.051812 11.090937,4.048775 -11.625503,2.061344 z"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         d="m 104.17619,99.240114 -10.385259,-6.225183 -1.906748,11.957039 -3.954098,-11.444281 -9.14649,7.933991 4.327227,-11.308475 -12.106487,0.198538 10.583794,-5.881305 -9.401725,-7.629811 11.888087,2.297791 -2.297791,-11.888087 7.629811,9.401725 5.881305,-10.583794 -0.198538,12.106487 11.308472,-4.327227 -7.933988,9.146489 11.444278,3.954098 -11.957035,1.906748 z"
+         id="path24010"
+         style="display:inline;opacity:0.52993;fill:url(#radialGradient4615);fill-opacity:1;stroke:none"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         style="display:inline;opacity:0.986056;fill:url(#linearGradient4617);fill-opacity:1;stroke:none;filter:url(#filter24133)"
+         d="m 86.944196,66.665243 c 0.776155,4.836498 2.036516,9.187328 2.371631,11.214513 -2.475744,-0.37446 -8.63073,-2.201551 -10.928322,-1.831849 0.177199,0.630895 6.807053,5.906003 8.33621,7.39065 l -3.275165,2.09736 c 3.929307,1.140291 4.392666,0.995333 9.36395,0.995333 6.484057,0 14.45306,-1.448378 17.70315,-2.252082 -0.10927,-0.422007 -5.92149,-2.009477 -5.75199,-2.411083 l 7.13409,-9.020562 c -2.50429,0.903469 -8.74215,3.215276 -11.09866,4.027576 l -0.19984,-11.284229 -5.724622,9.696773 c -1.638398,-1.711586 -5.787432,-6.122882 -7.930432,-8.6224 z"
+         id="path24084"
+         transform="matrix(3.1302824,0,0,3.1302824,-235.41167,-201.00225)" />
+      <circle
+         style="display:inline;fill:url(#radialGradient4619);fill-opacity:1;stroke:none;filter:url(#filter24121)"
+         id="path24099"
+         transform="matrix(3.1302824,0,0,3.1302824,-222.15083,-198.43969)"
+         cx="89.095451"
+         cy="77.441864"
+         r="3.3587573" />
+      <path
+         d="M 107.90577,106.51705 75.88091,88.068263 69.428322,124.45938 56.754512,89.741606 28.419783,113.47117 41.027236,78.729249 4.0685019,78.693941 36.058051,60.183997 7.768713,36.400333 44.172092,42.783379 37.789047,6.3799993 61.57271,34.669337 80.082655,2.6797879 80.117963,39.638522 114.85989,27.031069 91.130319,55.365797 125.84809,68.039607 89.456977,74.492195 Z"
+         id="path24010-6"
+         style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="layer4"
+     style="display:none">
+    <path
+       id="path23453-8"
+       style="display:inline;fill:url(#linearGradient4613-3);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 21.07485,55.890327 c 8.460788,-5.782067 16.492576,-11.675689 17.372943,-23.367686 0,0 -1.434341,-17.417807 -17.372943,-22.9529742 C 37.958766,8.2969249 50.723883,8.8716332 53.828674,34.238808 53.460129,40.029443 49.448618,59.167233 21.07485,55.890327 Z" />
+    <path
+       id="path1835"
+       style="display:inline;opacity:0.549037;fill:url(#linearGradient2275);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.781767,46.231496 37.781767,33.440399 37.781768,20.649303 32.180756,14.96404 21.07485,9.5696674 35.694174,6.9696799 53.825115,11.838139 53.825115,33.232327 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220);stop-color:#000000;stop-opacity:1"
+       d="m 81.937183,67.269305 c 6.008047,3.070756 5.278565,6.721758 5.517768,7.850284 2.691267,-0.278177 3.873086,-0.468142 4.97754,-0.836625 -0.440041,-4.956775 -3.709675,-7.674519 -10.495308,-7.013659 z"
+       id="path24084-3"
+       transform="matrix(3.1302825,0,0,3.1302825,-235.41168,-201.00226)" />
+    <circle
+       style="display:inline;fill:url(#radialGradient4619-1);fill-opacity:1;stroke:none;filter:url(#filter24121-9)"
+       id="path24099-0"
+       transform="matrix(1.2924208,0,0,1.2924208,-74.768867,-79.148647)"
+       cx="89.095451"
+       cy="77.441864"
+       r="3.3587573" />
+    <path
+       id="path1835-2"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.886791,46.231065 37.781767,33.440399 37.68169,21.252101 32.180756,14.964039 21.07485,9.5696668 35.694174,6.9696793 53.825115,11.838138 53.825115,33.232327 Z" />
+  </g>
+</svg>
diff --git a/flags/system/task-new-sleeping.svg b/flags/system/task-new-sleeping.svg
new file mode 100644 (file)
index 0000000..3eb45ba
--- /dev/null
@@ -0,0 +1,1102 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="64"
+   height="64"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2075">
+      <stop
+         id="stop2067"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.51447427"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop2069" />
+      <stop
+         offset="0.63315159"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2071" />
+      <stop
+         id="stop2073"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient5252">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop5254" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0;"
+         offset="1"
+         id="stop5256" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5225">
+      <stop
+         id="stop5227"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop5229"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215">
+      <stop
+         id="stop5217"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop5219"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5187">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5189" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5191" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5132">
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:1"
+         offset="0"
+         id="stop5134" />
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:0"
+         offset="1"
+         id="stop5136" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5116">
+      <stop
+         id="stop5118"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop5120"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5097">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5099" />
+      <stop
+         style="stop-color:#ffbebe;stop-opacity:0"
+         offset="1"
+         id="stop5101" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5080">
+      <stop
+         style="stop-color:#ffb5b5;stop-opacity:1"
+         offset="0"
+         id="stop5082" />
+      <stop
+         style="stop-color:#ffbfbf;stop-opacity:0;"
+         offset="1"
+         id="stop5084" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5031">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5033" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5035" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5015">
+      <stop
+         style="stop-color:#ff1212;stop-opacity:1"
+         offset="0"
+         id="stop5017" />
+      <stop
+         style="stop-color:#750000;stop-opacity:1"
+         offset="1"
+         id="stop5019" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4997">
+      <stop
+         id="stop4999"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1" />
+      <stop
+         id="stop5001"
+         offset="1"
+         style="stop-color:#470000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient4997"
+       id="linearGradient3146"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient5015"
+       id="radialGradient5023"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <linearGradient
+       xlink:href="#linearGradient5080"
+       id="linearGradient5086"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5097"
+       id="linearGradient5103"
+       x1="113.41915"
+       y1="76.386581"
+       x2="101.99058"
+       y2="38.609497"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5116"
+       id="linearGradient5114"
+       gradientUnits="userSpaceOnUse"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="67.763039"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5132"
+       id="linearGradient5138"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5193"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5205"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5209"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5213"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5225"
+       id="radialGradient5223"
+       cx="64.000008"
+       cy="26.931658"
+       fx="64.000008"
+       fy="26.931658"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.15707082,-10.997031,2.9287916)" />
+    <radialGradient
+       xlink:href="#linearGradient5031"
+       id="radialGradient5231"
+       cx="64.000008"
+       cy="21.660604"
+       fx="64.000008"
+       fy="21.660604"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8655683,0,0,0.24089925,-87.241074,-1.6130893)" />
+    <radialGradient
+       xlink:href="#linearGradient5252"
+       id="radialGradient5258"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter5316">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318" />
+    </filter>
+    <filter
+       id="filter5366">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368" />
+    </filter>
+    <filter
+       id="filter3576">
+      <feGaussianBlur
+         id="feGaussianBlur3578"
+         stdDeviation="0.576875" />
+    </filter>
+    <filter
+       id="filter3550">
+      <feGaussianBlur
+         id="feGaussianBlur3552"
+         stdDeviation="1.23375" />
+    </filter>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="24.151943"
+       x2="75.157829"
+       y1="91.321831"
+       x1="75.157829"
+       id="linearGradient3354"
+       xlink:href="#linearGradient3348" />
+    <linearGradient
+       y2="17.476311"
+       x2="59.757221"
+       y1="114.03454"
+       x1="59.355339"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3264"
+       xlink:href="#linearGradient3188" />
+    <linearGradient
+       id="linearGradient3148">
+      <stop
+         id="stop3150"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1;" />
+      <stop
+         id="stop3152"
+         offset="1"
+         style="stop-color:#bf0000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3158">
+      <stop
+         id="stop3160"
+         offset="0"
+         style="stop-color:#520000;stop-opacity:1" />
+      <stop
+         id="stop3162"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3166">
+      <stop
+         id="stop3168"
+         offset="0"
+         style="stop-color:#e20800;stop-opacity:1" />
+      <stop
+         style="stop-color:#d80500;stop-opacity:1;"
+         offset="0.48148149"
+         id="stop3564" />
+      <stop
+         id="stop3170"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3188">
+      <stop
+         id="stop3190"
+         offset="0"
+         style="stop-color:#ffaa00;stop-opacity:1;" />
+      <stop
+         id="stop3192"
+         offset="1"
+         style="stop-color:#ffaa00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3203">
+      <stop
+         id="stop3205"
+         offset="0"
+         style="stop-color:#ffbfbf;stop-opacity:1;" />
+      <stop
+         id="stop3207"
+         offset="1"
+         style="stop-color:#ffbfbf;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3254">
+      <stop
+         id="stop3256"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3258"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3282">
+      <stop
+         id="stop3284"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3286"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3324">
+      <stop
+         id="stop3326"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3328"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3348">
+      <stop
+         id="stop3350"
+         offset="0"
+         style="stop-color:#320000;stop-opacity:1;" />
+      <stop
+         id="stop3352"
+         offset="1"
+         style="stop-color:#320000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3530">
+      <stop
+         id="stop3532"
+         offset="0"
+         style="stop-color:#590000;stop-opacity:1;" />
+      <stop
+         id="stop3534"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3554">
+      <stop
+         id="stop3556"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3558"
+         offset="1"
+         style="stop-color:#dfdfdf;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3554"
+       id="linearGradient5530"
+       gradientUnits="userSpaceOnUse"
+       x1="68.9375"
+       y1="38.90625"
+       x2="68.9375"
+       y2="103.40701"
+       gradientTransform="matrix(0.56403211,0,0,0.56403211,-3.6254784,-3.8045531)" />
+    <linearGradient
+       xlink:href="#linearGradient3282"
+       id="linearGradient5533"
+       gradientUnits="userSpaceOnUse"
+       x1="58.855938"
+       y1="13.276386"
+       x2="58.800629"
+       y2="43.014843"
+       gradientTransform="translate(-209,134.00203)" />
+    <linearGradient
+       xlink:href="#linearGradient3254"
+       id="linearGradient5536"
+       gradientUnits="userSpaceOnUse"
+       x1="97.911537"
+       y1="86.30513"
+       x2="71.094215"
+       y2="39.373199"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3530"
+       id="radialGradient5539"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3513697,0,0,1.3513697,-21.49693,-22.68578)"
+       cx="62.78125"
+       cy="66.175667"
+       fx="62.78125"
+       fy="77.980095"
+       r="29.84375" />
+    <linearGradient
+       xlink:href="#linearGradient3203"
+       id="linearGradient5542"
+       gradientUnits="userSpaceOnUse"
+       x1="64.968697"
+       y1="9.5585432"
+       x2="89.705704"
+       y2="101.87831"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3166"
+       id="radialGradient5546"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.41925,0,0,1.4090223,-235.83199,109.95438)"
+       cx="63.999996"
+       cy="74.182564"
+       fx="63.999996"
+       fy="74.182564"
+       r="48" />
+    <radialGradient
+       xlink:href="#linearGradient3324"
+       id="radialGradient5549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.501569,0,0,2.2063489,-177.10041,58.92705)"
+       cx="64"
+       cy="60.521297"
+       fx="64"
+       fy="44.562428"
+       r="52" />
+    <linearGradient
+       xlink:href="#linearGradient3158"
+       id="linearGradient5552"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,-209,261.99796)"
+       x1="65.306122"
+       y1="21.898888"
+       x2="65.306122"
+       y2="107.30016" />
+    <linearGradient
+       xlink:href="#linearGradient3148"
+       id="linearGradient5555"
+       gradientUnits="userSpaceOnUse"
+       x1="71.937202"
+       y1="114.73783"
+       x2="71.937202"
+       y2="7.5424786"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574">
+      <stop
+         id="stop4576"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580" />
+      <stop
+         id="stop4582"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient24014"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016" />
+      <stop
+         id="stop24018"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4">
+      <stop
+         id="stop2812-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0" />
+      <stop
+         id="stop2820-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <linearGradient
+       xlink:href="#radialGradient24014"
+       id="linearGradient24078"
+       gradientUnits="userSpaceOnUse"
+       x1="73.711586"
+       y1="71.214951"
+       x2="89.811958"
+       y2="99.101616" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7">
+      <stop
+         id="stop4576-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5" />
+      <stop
+         id="stop4582-6"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient24113">
+      <stop
+         style="stop-color:#fffbba;stop-opacity:1;"
+         offset="0"
+         id="stop24115" />
+      <stop
+         style="stop-color:#fffbba;stop-opacity:0;"
+         offset="1"
+         id="stop24117" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient24091">
+      <stop
+         style="stop-color:#fff201;stop-opacity:1;"
+         offset="0"
+         id="stop24093" />
+      <stop
+         style="stop-color:#fff201;stop-opacity:0;"
+         offset="1"
+         id="stop24095" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient24014-2"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016-9" />
+      <stop
+         id="stop24018-1"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020-2"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022-7" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0">
+      <stop
+         id="stop2812-5-9"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6" />
+      <stop
+         id="stop2820-3-0"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074-6">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076-2"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <filter
+       id="filter24121"
+       x="-0.192"
+       width="1.384"
+       y="-0.192"
+       height="1.384">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123" />
+    </filter>
+    <filter
+       id="filter24133"
+       x="-0.040568756"
+       width="1.0811375"
+       y="-0.066520196"
+       height="1.1330404">
+      <feGaussianBlur
+         stdDeviation="0.31738818"
+         id="feGaussianBlur24135" />
+    </filter>
+    <filter
+       id="filter24274">
+      <feGaussianBlur
+         stdDeviation="1.3050374"
+         id="feGaussianBlur24276" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0"
+       id="linearGradient4613"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738" />
+    <radialGradient
+       xlink:href="#radialGradient4574-7"
+       id="radialGradient4615"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7024894,0,0,1.7024894,-63.192305,-52.615725)"
+       cx="90.121712"
+       cy="78.674843"
+       fx="90.121712"
+       fy="78.674843"
+       r="19.575562" />
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient4617"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.790741"
+       x2="89.953125"
+       y2="109.35688" />
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619"
+       gradientUnits="userSpaceOnUse"
+       cx="89.095451"
+       cy="77.441864"
+       fx="89.095451"
+       fy="77.441864"
+       r="6.5473376" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-6">
+      <stop
+         id="stop4576-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-5" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-3" />
+      <stop
+         id="stop4582-5"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <filter
+       id="filter2220"
+       x="-0.021250301"
+       width="1.0425006"
+       y="-0.034843912"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619-1"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375" />
+    <filter
+       id="filter24121-9"
+       x="-0.192"
+       width="1.3839999"
+       y="-0.192"
+       height="1.3839999">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123-2" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7"
+       id="linearGradient2275"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7"
+       id="linearGradient4613-3"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-84.185323,-77.8823)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7">
+      <stop
+         id="stop2812-5-9-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2" />
+      <stop
+         id="stop2820-3-0-2"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <rect
+       style="display:inline;opacity:0.75;fill:#9c0f0f;fill-opacity:1;stroke:#9c0f0f;stroke-width:8.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366)"
+       id="rect5320"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#radialGradient5223);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect5221"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       ry="3.3871541"
+       rx="3.3871541"
+       y="5.1822882"
+       x="5.1851034"
+       height="53.940422"
+       width="53.940422"
+       id="rect5029"
+       style="display:inline;opacity:0.726829;fill:none;fill-opacity:1;stroke:url(#radialGradient5231);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path5211"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.6;fill:url(#radialGradient5213);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(-5.7792385e-8,0.67425523,-0.67425523,-5.7792385e-8,75.308143,-11.001313)" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5209);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207" />
+    <path
+       id="path5203"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5205);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       style="display:inline;opacity:0.75;fill:url(#radialGradient5193);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5176"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822872"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164"
+       style="display:inline;opacity:1;fill:url(#radialGradient5023);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       style="display:inline;opacity:1;fill:url(#radialGradient5258);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018)"
+       id="rect5248"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5086);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5103);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 58.598759,6.8679198 c 0.103868,0.3358577 0.147495,0.7034165 0.147495,1.0745949 V 29.855813 c -9.210898,2.928066 -19.961237,4.614433 -31.458226,4.614435 -7.796643,0 -15.236303,-0.800017 -22.1029314,-2.212401 v 0.189634 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-0.6750766 -0.20066,-1.2989941 -0.526761,-1.8331322 z"
+       id="path5088" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5114);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 0.2715754,0.05916 0.5482294,0.111422 0.8217485,0.168564 V 9.6070826 c 0,-1.9337182 1.5206973,-3.476629 3.4134179,-3.476629 h 45.470092 c 1.892717,0 3.413416,1.5429108 3.413416,3.476629 V 30.551138 c 0.272799,-0.0837 0.551623,-0.166974 0.821749,-0.252846 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="path5105" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient5138);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316)"
+       id="rect5122"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <path
+       id="path3528"
+       d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 34.5,81.6875 46.3125,93.5 63.34375,76.4375 80.40625,93.5 92.1875,81.6875 75.15625,64.65625 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+       style="display:none;fill:none;fill-opacity:1;stroke:url(#radialGradient5539);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3550)"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <path
+       style="display:none;fill:url(#linearGradient5530);fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+       id="rect3376" />
+    <path
+       style="display:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.885;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3576)"
+       d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 48.59375,67.625 c 5.04146,0.77689 10.40123,1.1875 15.96875,1.1875 4.79161,0 9.42877,-0.32448 13.84375,-0.90625 l -3.25,-3.25 L 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+       id="path3566"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <path
+       id="path3381"
+       d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+       style="display:inline;fill:none;fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+  <g
+     id="layer2"
+     style="display:none">
+    <g
+       id="layer1-7"
+       transform="matrix(0.41287673,0,0,0.41287673,5.902367,6.3992748)"
+       style="display:inline">
+      <path
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-200.19994)"
+         style="display:none;fill:#7c4300;fill-opacity:1;stroke:none;filter:url(#filter24274)"
+         id="path24256"
+         d="m 104.17619,99.240114 -8.848081,-2.928692 -3.443926,8.660548 -4.895494,-7.930943 -8.205094,4.420653 1.347746,-9.22222 -9.127006,-1.887717 6.96036,-6.198314 -5.778291,-7.312802 9.316145,-0.274151 0.274151,-9.316145 7.312802,5.778291 6.198314,-6.96036 1.887717,9.127006 9.222217,-1.347746 -4.42065,8.205093 7.93094,4.895494 -8.66054,3.443927 z" />
+      <path
+         style="display:inline;fill:url(#linearGradient4613);fill-opacity:1;stroke:none"
+         id="path23453"
+         d="m 104.17619,99.240114 -10.230663,-5.89365 -2.061344,11.625506 -4.048776,-11.09094 -9.051812,7.58065 4.027577,-11.098657 -11.806837,-0.01128 10.219381,-5.913187 -9.037312,-7.597929 11.629423,2.039127 -2.039127,-11.629423 7.597929,9.037311 5.913187,-10.21938 0.01128,11.806836 11.098654,-4.027576 -7.580647,9.051812 11.090937,4.048775 -11.625503,2.061344 z"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         d="m 104.17619,99.240114 -10.385259,-6.225183 -1.906748,11.957039 -3.954098,-11.444281 -9.14649,7.933991 4.327227,-11.308475 -12.106487,0.198538 10.583794,-5.881305 -9.401725,-7.629811 11.888087,2.297791 -2.297791,-11.888087 7.629811,9.401725 5.881305,-10.583794 -0.198538,12.106487 11.308472,-4.327227 -7.933988,9.146489 11.444278,3.954098 -11.957035,1.906748 z"
+         id="path24010"
+         style="display:inline;opacity:0.52993;fill:url(#radialGradient4615);fill-opacity:1;stroke:none"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         style="display:inline;opacity:0.986056;fill:url(#linearGradient4617);fill-opacity:1;stroke:none;filter:url(#filter24133)"
+         d="m 86.944196,66.665243 c 0.776155,4.836498 2.036516,9.187328 2.371631,11.214513 -2.475744,-0.37446 -8.63073,-2.201551 -10.928322,-1.831849 0.177199,0.630895 6.807053,5.906003 8.33621,7.39065 l -3.275165,2.09736 c 3.929307,1.140291 4.392666,0.995333 9.36395,0.995333 6.484057,0 14.45306,-1.448378 17.70315,-2.252082 -0.10927,-0.422007 -5.92149,-2.009477 -5.75199,-2.411083 l 7.13409,-9.020562 c -2.50429,0.903469 -8.74215,3.215276 -11.09866,4.027576 l -0.19984,-11.284229 -5.724622,9.696773 c -1.638398,-1.711586 -5.787432,-6.122882 -7.930432,-8.6224 z"
+         id="path24084"
+         transform="matrix(3.1302824,0,0,3.1302824,-235.41167,-201.00225)" />
+      <circle
+         style="display:inline;fill:url(#radialGradient4619);fill-opacity:1;stroke:none;filter:url(#filter24121)"
+         id="path24099"
+         transform="matrix(3.1302824,0,0,3.1302824,-222.15083,-198.43969)"
+         cx="89.095451"
+         cy="77.441864"
+         r="3.3587573" />
+      <path
+         d="M 107.90577,106.51705 75.88091,88.068263 69.428322,124.45938 56.754512,89.741606 28.419783,113.47117 41.027236,78.729249 4.0685019,78.693941 36.058051,60.183997 7.768713,36.400333 44.172092,42.783379 37.789047,6.3799993 61.57271,34.669337 80.082655,2.6797879 80.117963,39.638522 114.85989,27.031069 91.130319,55.365797 125.84809,68.039607 89.456977,74.492195 Z"
+         id="path24010-6"
+         style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="layer4"
+     style="display:inline">
+    <path
+       id="path23453-8"
+       style="display:inline;fill:url(#linearGradient4613-3);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 21.07485,55.890327 c 8.460788,-5.782067 16.492576,-11.675689 17.372943,-23.367686 0,0 -1.434341,-17.417807 -17.372943,-22.9529742 C 37.958766,8.2969249 50.723883,8.8716332 53.828674,34.238808 53.460129,40.029443 49.448618,59.167233 21.07485,55.890327 Z" />
+    <path
+       id="path1835"
+       style="display:inline;opacity:0.549037;fill:url(#linearGradient2275);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.781767,46.231496 37.781767,33.440399 37.781768,20.649303 32.180756,14.96404 21.07485,9.5696674 35.694174,6.9696799 53.825115,11.838139 53.825115,33.232327 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220);stop-color:#000000;stop-opacity:1"
+       d="m 81.937183,67.269305 c 6.008047,3.070756 5.278565,6.721758 5.517768,7.850284 2.691267,-0.278177 3.873086,-0.468142 4.97754,-0.836625 -0.440041,-4.956775 -3.709675,-7.674519 -10.495308,-7.013659 z"
+       id="path24084-3"
+       transform="matrix(3.1302825,0,0,3.1302825,-235.41168,-201.00226)" />
+    <circle
+       style="display:inline;fill:url(#radialGradient4619-1);fill-opacity:1;stroke:none;filter:url(#filter24121-9)"
+       id="path24099-0"
+       transform="matrix(1.2924208,0,0,1.2924208,-74.768867,-79.148647)"
+       cx="89.095451"
+       cy="77.441864"
+       r="3.3587573" />
+    <path
+       id="path1835-2"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.886791,46.231065 37.781767,33.440399 37.68169,21.252101 32.180756,14.964039 21.07485,9.5696668 35.694174,6.9696793 53.825115,11.838138 53.825115,33.232327 Z" />
+  </g>
+</svg>
diff --git a/flags/system/task-new.svg b/flags/system/task-new.svg
new file mode 100644 (file)
index 0000000..33546df
--- /dev/null
@@ -0,0 +1,661 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="64"
+   height="64"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient5252">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop5254" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0;"
+         offset="1"
+         id="stop5256" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5225">
+      <stop
+         id="stop5227"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop5229"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215">
+      <stop
+         id="stop5217"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop5219"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5187">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5189" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5191" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5132">
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:1"
+         offset="0"
+         id="stop5134" />
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:0"
+         offset="1"
+         id="stop5136" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5116">
+      <stop
+         id="stop5118"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop5120"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5097">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5099" />
+      <stop
+         style="stop-color:#ffbebe;stop-opacity:0"
+         offset="1"
+         id="stop5101" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5080">
+      <stop
+         style="stop-color:#ffb5b5;stop-opacity:1"
+         offset="0"
+         id="stop5082" />
+      <stop
+         style="stop-color:#ffbfbf;stop-opacity:0;"
+         offset="1"
+         id="stop5084" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5031">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5033" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5035" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5015">
+      <stop
+         style="stop-color:#ff1212;stop-opacity:1"
+         offset="0"
+         id="stop5017" />
+      <stop
+         style="stop-color:#750000;stop-opacity:1"
+         offset="1"
+         id="stop5019" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4997">
+      <stop
+         id="stop4999"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1" />
+      <stop
+         id="stop5001"
+         offset="1"
+         style="stop-color:#470000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient4997"
+       id="linearGradient3146"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient5015"
+       id="radialGradient5023"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <linearGradient
+       xlink:href="#linearGradient5080"
+       id="linearGradient5086"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5097"
+       id="linearGradient5103"
+       x1="113.41915"
+       y1="76.386581"
+       x2="101.99058"
+       y2="38.609497"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5116"
+       id="linearGradient5114"
+       gradientUnits="userSpaceOnUse"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="67.763039"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5132"
+       id="linearGradient5138"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5193"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5205"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5209"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5213"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5225"
+       id="radialGradient5223"
+       cx="64.000008"
+       cy="26.931658"
+       fx="64.000008"
+       fy="26.931658"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.15707082,-10.997031,2.9287916)" />
+    <radialGradient
+       xlink:href="#linearGradient5031"
+       id="radialGradient5231"
+       cx="64.000008"
+       cy="21.660604"
+       fx="64.000008"
+       fy="21.660604"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8655683,0,0,0.24089925,-87.241074,-1.6130893)" />
+    <radialGradient
+       xlink:href="#linearGradient5252"
+       id="radialGradient5258"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       x="-0.13463415"
+       width="1.2692683"
+       y="-0.13463415"
+       height="1.2692683"
+       id="filter5312">
+      <feGaussianBlur
+         stdDeviation="4.2428604"
+         id="feGaussianBlur5314" />
+    </filter>
+    <filter
+       id="filter5316">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318" />
+    </filter>
+    <filter
+       id="filter5366">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368" />
+    </filter>
+    <filter
+       id="filter3576">
+      <feGaussianBlur
+         id="feGaussianBlur3578"
+         stdDeviation="0.576875" />
+    </filter>
+    <filter
+       id="filter3550">
+      <feGaussianBlur
+         id="feGaussianBlur3552"
+         stdDeviation="1.23375" />
+    </filter>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="24.151943"
+       x2="75.157829"
+       y1="91.321831"
+       x1="75.157829"
+       id="linearGradient3354"
+       xlink:href="#linearGradient3348" />
+    <linearGradient
+       y2="17.476311"
+       x2="59.757221"
+       y1="114.03454"
+       x1="59.355339"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3264"
+       xlink:href="#linearGradient3188" />
+    <linearGradient
+       id="linearGradient3148">
+      <stop
+         id="stop3150"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1;" />
+      <stop
+         id="stop3152"
+         offset="1"
+         style="stop-color:#bf0000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3158">
+      <stop
+         id="stop3160"
+         offset="0"
+         style="stop-color:#520000;stop-opacity:1" />
+      <stop
+         id="stop3162"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3166">
+      <stop
+         id="stop3168"
+         offset="0"
+         style="stop-color:#e20800;stop-opacity:1" />
+      <stop
+         style="stop-color:#d80500;stop-opacity:1;"
+         offset="0.48148149"
+         id="stop3564" />
+      <stop
+         id="stop3170"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3188">
+      <stop
+         id="stop3190"
+         offset="0"
+         style="stop-color:#ffaa00;stop-opacity:1;" />
+      <stop
+         id="stop3192"
+         offset="1"
+         style="stop-color:#ffaa00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3203">
+      <stop
+         id="stop3205"
+         offset="0"
+         style="stop-color:#ffbfbf;stop-opacity:1;" />
+      <stop
+         id="stop3207"
+         offset="1"
+         style="stop-color:#ffbfbf;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3254">
+      <stop
+         id="stop3256"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3258"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3282">
+      <stop
+         id="stop3284"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3286"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3324">
+      <stop
+         id="stop3326"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3328"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3348">
+      <stop
+         id="stop3350"
+         offset="0"
+         style="stop-color:#320000;stop-opacity:1;" />
+      <stop
+         id="stop3352"
+         offset="1"
+         style="stop-color:#320000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3530">
+      <stop
+         id="stop3532"
+         offset="0"
+         style="stop-color:#590000;stop-opacity:1;" />
+      <stop
+         id="stop3534"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3554">
+      <stop
+         id="stop3556"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3558"
+         offset="1"
+         style="stop-color:#dfdfdf;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3554"
+       id="linearGradient5530"
+       gradientUnits="userSpaceOnUse"
+       x1="68.9375"
+       y1="38.90625"
+       x2="68.9375"
+       y2="103.40701"
+       gradientTransform="matrix(0.56403211,0,0,0.56403211,-3.6254784,-3.8045531)" />
+    <linearGradient
+       xlink:href="#linearGradient3282"
+       id="linearGradient5533"
+       gradientUnits="userSpaceOnUse"
+       x1="58.855938"
+       y1="13.276386"
+       x2="58.800629"
+       y2="43.014843"
+       gradientTransform="translate(-209,134.00203)" />
+    <linearGradient
+       xlink:href="#linearGradient3254"
+       id="linearGradient5536"
+       gradientUnits="userSpaceOnUse"
+       x1="97.911537"
+       y1="86.30513"
+       x2="71.094215"
+       y2="39.373199"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3530"
+       id="radialGradient5539"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3513697,0,0,1.3513697,-21.49693,-22.68578)"
+       cx="62.78125"
+       cy="66.175667"
+       fx="62.78125"
+       fy="77.980095"
+       r="29.84375" />
+    <linearGradient
+       xlink:href="#linearGradient3203"
+       id="linearGradient5542"
+       gradientUnits="userSpaceOnUse"
+       x1="64.968697"
+       y1="9.5585432"
+       x2="89.705704"
+       y2="101.87831"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3166"
+       id="radialGradient5546"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.41925,0,0,1.4090223,-235.83199,109.95438)"
+       cx="63.999996"
+       cy="74.182564"
+       fx="63.999996"
+       fy="74.182564"
+       r="48" />
+    <radialGradient
+       xlink:href="#linearGradient3324"
+       id="radialGradient5549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.501569,0,0,2.2063489,-177.10041,58.92705)"
+       cx="64"
+       cy="60.521297"
+       fx="64"
+       fy="44.562428"
+       r="52" />
+    <linearGradient
+       xlink:href="#linearGradient3158"
+       id="linearGradient5552"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,-209,261.99796)"
+       x1="65.306122"
+       y1="21.898888"
+       x2="65.306122"
+       y2="107.30016" />
+    <linearGradient
+       xlink:href="#linearGradient3148"
+       id="linearGradient5555"
+       gradientUnits="userSpaceOnUse"
+       x1="71.937202"
+       y1="114.73783"
+       x2="71.937202"
+       y2="7.5424786"
+       gradientTransform="translate(-209,134.00203)" />
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <rect
+       style="display:inline;opacity:0.75;fill:#9c0f0f;fill-opacity:1;stroke:#9c0f0f;stroke-width:8.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366)"
+       id="rect5320"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#radialGradient5223);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect5221"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       ry="3.3871541"
+       rx="3.3871541"
+       y="5.1822882"
+       x="5.1851034"
+       height="53.940422"
+       width="53.940422"
+       id="rect5029"
+       style="display:inline;opacity:0.726829;fill:none;fill-opacity:1;stroke:url(#radialGradient5231);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       id="path5211"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.6;fill:url(#radialGradient5213);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(-5.7792385e-8,0.67425523,-0.67425523,-5.7792385e-8,75.308143,-11.001313)" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5209);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207" />
+    <path
+       id="path5203"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5205);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       style="display:inline;opacity:0.75;fill:url(#radialGradient5193);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5176"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822872"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164"
+       style="display:inline;opacity:1;fill:url(#radialGradient5023);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       style="display:inline;opacity:1;fill:url(#radialGradient5258);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5312)"
+       id="rect5248"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5086);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5103);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 58.598759,6.8679198 c 0.103868,0.3358577 0.147495,0.7034165 0.147495,1.0745949 V 29.855813 c -9.210898,2.928066 -19.961237,4.614433 -31.458226,4.614435 -7.796643,0 -15.236303,-0.800017 -22.1029314,-2.212401 v 0.189634 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-0.6750766 -0.20066,-1.2989941 -0.526761,-1.8331322 z"
+       id="path5088" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5114);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 0.2715754,0.05916 0.5482294,0.111422 0.8217485,0.168564 V 9.6070826 c 0,-1.9337182 1.5206973,-3.476629 3.4134179,-3.476629 h 45.470092 c 1.892717,0 3.413416,1.5429108 3.413416,3.476629 V 30.551138 c 0.272799,-0.0837 0.551623,-0.166974 0.821749,-0.252846 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="path5105" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient5138);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316)"
+       id="rect5122"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <path
+       id="path3528"
+       d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 34.5,81.6875 46.3125,93.5 63.34375,76.4375 80.40625,93.5 92.1875,81.6875 75.15625,64.65625 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+       style="display:inline;fill:none;fill-opacity:1;stroke:url(#radialGradient5539);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3550)"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <path
+       style="display:inline;fill:url(#linearGradient5530);fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+       id="rect3376" />
+    <path
+       style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.885;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3576)"
+       d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 48.59375,67.625 c 5.04146,0.77689 10.40123,1.1875 15.96875,1.1875 4.79161,0 9.42877,-0.32448 13.84375,-0.90625 l -3.25,-3.25 L 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+       id="path3566"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <path
+       id="path3381"
+       d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+       style="display:inline;fill:none;fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  </g>
+</svg>
diff --git a/flags/system/task-wip-morning.svg b/flags/system/task-wip-morning.svg
new file mode 100644 (file)
index 0000000..72c18f0
--- /dev/null
@@ -0,0 +1,1838 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="64"
+   height="64"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient1251">
+      <stop
+         id="stop1247"
+         offset="0"
+         style="stop-color:#00e145;stop-opacity:1" />
+      <stop
+         id="stop1249"
+         offset="1"
+         style="stop-color:#087427;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215">
+      <stop
+         id="stop1242"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop1244"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1210">
+      <stop
+         style="stop-color:#b5ffc8;stop-opacity:1"
+         offset="0"
+         id="stop1206" />
+      <stop
+         style="stop-color:#bfffd6;stop-opacity:0"
+         offset="1"
+         id="stop1208" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1130">
+      <stop
+         id="stop1126"
+         offset="0"
+         style="stop-color:#0a831f;stop-opacity:1" />
+      <stop
+         id="stop1128"
+         offset="1"
+         style="stop-color:#004706;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1119">
+      <stop
+         style="stop-color:#22cd49;stop-opacity:1"
+         offset="0"
+         id="stop1115" />
+      <stop
+         style="stop-color:#346830;stop-opacity:1"
+         offset="1"
+         id="stop1117" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2075">
+      <stop
+         id="stop2067"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.51447427"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop2069" />
+      <stop
+         offset="0.63315159"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2071" />
+      <stop
+         id="stop2073"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient5252">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop5254" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0;"
+         offset="1"
+         id="stop5256" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5225">
+      <stop
+         id="stop5227"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop5229"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215-9">
+      <stop
+         id="stop5217"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop5219"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5187">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5189" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5191" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5132">
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:1"
+         offset="0"
+         id="stop5134" />
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:0"
+         offset="1"
+         id="stop5136" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5116">
+      <stop
+         id="stop5118"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop5120"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5097">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5099" />
+      <stop
+         style="stop-color:#ffbebe;stop-opacity:0"
+         offset="1"
+         id="stop5101" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5080-3">
+      <stop
+         style="stop-color:#ffb5b5;stop-opacity:1"
+         offset="0"
+         id="stop5082" />
+      <stop
+         style="stop-color:#ffbfbf;stop-opacity:0;"
+         offset="1"
+         id="stop5084" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5031">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5033" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5035" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5015-9-3">
+      <stop
+         style="stop-color:#ff1212;stop-opacity:1"
+         offset="0"
+         id="stop5017" />
+      <stop
+         style="stop-color:#750000;stop-opacity:1"
+         offset="1"
+         id="stop5019" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4997-6">
+      <stop
+         id="stop4999"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1" />
+      <stop
+         id="stop5001"
+         offset="1"
+         style="stop-color:#470000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient4997-6"
+       id="linearGradient3146"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient5015-9-3"
+       id="radialGradient5023"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <linearGradient
+       xlink:href="#linearGradient5080-3"
+       id="linearGradient5086"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5097"
+       id="linearGradient5103"
+       x1="113.41915"
+       y1="76.386581"
+       x2="101.99058"
+       y2="38.609497"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5116"
+       id="linearGradient5114"
+       gradientUnits="userSpaceOnUse"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="67.763039"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5132"
+       id="linearGradient5138"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5193"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215-9"
+       id="radialGradient5205"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5209"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5213"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5225"
+       id="radialGradient5223"
+       cx="64.000008"
+       cy="26.931658"
+       fx="64.000008"
+       fy="26.931658"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.15707082,-10.997031,2.9287916)" />
+    <radialGradient
+       xlink:href="#linearGradient5031"
+       id="radialGradient5231"
+       cx="64.000008"
+       cy="21.660604"
+       fx="64.000008"
+       fy="21.660604"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8655683,0,0,0.24089925,-87.241074,-1.6130893)" />
+    <radialGradient
+       xlink:href="#linearGradient5252"
+       id="radialGradient5258"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter5316">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318" />
+    </filter>
+    <filter
+       id="filter5366">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368" />
+    </filter>
+    <filter
+       id="filter3576">
+      <feGaussianBlur
+         id="feGaussianBlur3578"
+         stdDeviation="0.576875" />
+    </filter>
+    <filter
+       id="filter3550">
+      <feGaussianBlur
+         id="feGaussianBlur3552"
+         stdDeviation="1.23375" />
+    </filter>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="24.151943"
+       x2="75.157829"
+       y1="91.321831"
+       x1="75.157829"
+       id="linearGradient3354"
+       xlink:href="#linearGradient3348" />
+    <linearGradient
+       y2="17.476311"
+       x2="59.757221"
+       y1="114.03454"
+       x1="59.355339"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3264"
+       xlink:href="#linearGradient3188" />
+    <linearGradient
+       id="linearGradient3148">
+      <stop
+         id="stop3150"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1;" />
+      <stop
+         id="stop3152"
+         offset="1"
+         style="stop-color:#bf0000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3158">
+      <stop
+         id="stop3160"
+         offset="0"
+         style="stop-color:#520000;stop-opacity:1" />
+      <stop
+         id="stop3162"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3166">
+      <stop
+         id="stop3168"
+         offset="0"
+         style="stop-color:#e20800;stop-opacity:1" />
+      <stop
+         style="stop-color:#d80500;stop-opacity:1;"
+         offset="0.48148149"
+         id="stop3564" />
+      <stop
+         id="stop3170"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3188">
+      <stop
+         id="stop3190"
+         offset="0"
+         style="stop-color:#ffaa00;stop-opacity:1;" />
+      <stop
+         id="stop3192"
+         offset="1"
+         style="stop-color:#ffaa00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3203">
+      <stop
+         id="stop3205"
+         offset="0"
+         style="stop-color:#ffbfbf;stop-opacity:1;" />
+      <stop
+         id="stop3207"
+         offset="1"
+         style="stop-color:#ffbfbf;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3254">
+      <stop
+         id="stop3256"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3258"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3282-3">
+      <stop
+         id="stop3284"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3286"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3324">
+      <stop
+         id="stop3326"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3328"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3348">
+      <stop
+         id="stop3350"
+         offset="0"
+         style="stop-color:#320000;stop-opacity:1;" />
+      <stop
+         id="stop3352"
+         offset="1"
+         style="stop-color:#320000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3530">
+      <stop
+         id="stop3532"
+         offset="0"
+         style="stop-color:#590000;stop-opacity:1;" />
+      <stop
+         id="stop3534"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3554">
+      <stop
+         id="stop3556"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3558"
+         offset="1"
+         style="stop-color:#dfdfdf;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3554"
+       id="linearGradient5530"
+       gradientUnits="userSpaceOnUse"
+       x1="68.9375"
+       y1="38.90625"
+       x2="68.9375"
+       y2="103.40701"
+       gradientTransform="matrix(0.56403211,0,0,0.56403211,-3.6254784,-3.8045531)" />
+    <linearGradient
+       xlink:href="#linearGradient3282-3"
+       id="linearGradient5533"
+       gradientUnits="userSpaceOnUse"
+       x1="58.855938"
+       y1="13.276386"
+       x2="58.800629"
+       y2="43.014843"
+       gradientTransform="translate(-209,134.00203)" />
+    <linearGradient
+       xlink:href="#linearGradient3254"
+       id="linearGradient5536"
+       gradientUnits="userSpaceOnUse"
+       x1="97.911537"
+       y1="86.30513"
+       x2="71.094215"
+       y2="39.373199"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3530"
+       id="radialGradient5539"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3513697,0,0,1.3513697,-21.49693,-22.68578)"
+       cx="62.78125"
+       cy="66.175667"
+       fx="62.78125"
+       fy="77.980095"
+       r="29.84375" />
+    <linearGradient
+       xlink:href="#linearGradient3203"
+       id="linearGradient5542"
+       gradientUnits="userSpaceOnUse"
+       x1="64.968697"
+       y1="9.5585432"
+       x2="89.705704"
+       y2="101.87831"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3166"
+       id="radialGradient5546"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.41925,0,0,1.4090223,-235.83199,109.95438)"
+       cx="63.999996"
+       cy="74.182564"
+       fx="63.999996"
+       fy="74.182564"
+       r="48" />
+    <radialGradient
+       xlink:href="#linearGradient3324"
+       id="radialGradient5549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.501569,0,0,2.2063489,-177.10041,58.92705)"
+       cx="64"
+       cy="60.521297"
+       fx="64"
+       fy="44.562428"
+       r="52" />
+    <linearGradient
+       xlink:href="#linearGradient3158"
+       id="linearGradient5552"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,-209,261.99796)"
+       x1="65.306122"
+       y1="21.898888"
+       x2="65.306122"
+       y2="107.30016" />
+    <linearGradient
+       xlink:href="#linearGradient3148"
+       id="linearGradient5555"
+       gradientUnits="userSpaceOnUse"
+       x1="71.937202"
+       y1="114.73783"
+       x2="71.937202"
+       y2="7.5424786"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574">
+      <stop
+         id="stop4576"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580" />
+      <stop
+         id="stop4582"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient24014"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016" />
+      <stop
+         id="stop24018"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4">
+      <stop
+         id="stop2812-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0" />
+      <stop
+         id="stop2820-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <linearGradient
+       xlink:href="#radialGradient24014"
+       id="linearGradient24078"
+       gradientUnits="userSpaceOnUse"
+       x1="73.711586"
+       y1="71.214951"
+       x2="89.811958"
+       y2="99.101616" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7">
+      <stop
+         id="stop4576-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5" />
+      <stop
+         id="stop4582-6"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient24113">
+      <stop
+         style="stop-color:#fffbba;stop-opacity:1;"
+         offset="0"
+         id="stop24115" />
+      <stop
+         style="stop-color:#fffbba;stop-opacity:0;"
+         offset="1"
+         id="stop24117" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient24091">
+      <stop
+         style="stop-color:#fff201;stop-opacity:1;"
+         offset="0"
+         id="stop24093" />
+      <stop
+         style="stop-color:#fff201;stop-opacity:0;"
+         offset="1"
+         id="stop24095" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient24014-2"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016-9" />
+      <stop
+         id="stop24018-1"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020-2"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022-7" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0">
+      <stop
+         id="stop2812-5-9"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6" />
+      <stop
+         id="stop2820-3-0"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074-6">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076-2"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <filter
+       id="filter24121"
+       x="-0.192"
+       width="1.384"
+       y="-0.192"
+       height="1.384">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123" />
+    </filter>
+    <filter
+       id="filter24133"
+       x="-0.040568756"
+       width="1.0811375"
+       y="-0.066520196"
+       height="1.1330404">
+      <feGaussianBlur
+         stdDeviation="0.31738818"
+         id="feGaussianBlur24135" />
+    </filter>
+    <filter
+       id="filter24274">
+      <feGaussianBlur
+         stdDeviation="1.3050374"
+         id="feGaussianBlur24276" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0"
+       id="linearGradient4613"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738" />
+    <radialGradient
+       xlink:href="#radialGradient4574-7"
+       id="radialGradient4615"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7024894,0,0,1.7024894,-63.192305,-52.615725)"
+       cx="90.121712"
+       cy="78.674843"
+       fx="90.121712"
+       fy="78.674843"
+       r="19.575562" />
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient4617"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.790741"
+       x2="89.953125"
+       y2="109.35688" />
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619"
+       gradientUnits="userSpaceOnUse"
+       cx="89.095451"
+       cy="77.441864"
+       fx="89.095451"
+       fy="77.441864"
+       r="6.5473376" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-6">
+      <stop
+         id="stop4576-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-5" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-3" />
+      <stop
+         id="stop4582-5"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <filter
+       id="filter2220"
+       x="-0.021250301"
+       width="1.0425006"
+       y="-0.034843912"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619-1"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375" />
+    <filter
+       id="filter24121-9"
+       x="-0.192"
+       width="1.3839999"
+       y="-0.192"
+       height="1.3839999">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123-2" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7"
+       id="linearGradient2275"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7"
+       id="linearGradient4613-3"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-84.185323,-77.8823)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7">
+      <stop
+         id="stop2812-5-9-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2" />
+      <stop
+         id="stop2820-3-0-2"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#linearGradient1130"
+       id="linearGradient3146-3"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient1119"
+       id="radialGradient5023-1"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <filter
+       id="filter5366-0">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368-6" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient1210"
+       id="linearGradient5086-6"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5205-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-2">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-2" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5209-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-1">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-29" />
+    </filter>
+    <linearGradient
+       id="linearGradient3342">
+      <stop
+         id="stop3344"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3347"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3825">
+      <stop
+         id="stop3827"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.18705036;"
+         offset="0.5"
+         id="stop3833" />
+      <stop
+         id="stop3829"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:#beba2c;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:#b6be2c;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3528">
+      <stop
+         id="stop3530"
+         offset="0"
+         style="stop-color:#eaf209;stop-opacity:1;" />
+      <stop
+         id="stop3532-6"
+         offset="1"
+         style="stop-color:#c7c634;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3295">
+      <stop
+         id="stop3297"
+         offset="0"
+         style="stop-color:#fffe63;stop-opacity:1;" />
+      <stop
+         id="stop3299"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3202">
+      <stop
+         id="stop3204"
+         offset="0"
+         style="stop-color:#fcff9c;stop-opacity:1;" />
+      <stop
+         id="stop3206"
+         offset="1"
+         style="stop-color:#c1a965;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="XMLID_4_">
+      <stop
+         id="stop3082"
+         style="stop-color:#cfd13d;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop3090"
+         style="stop-color:#db8900;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient3344">
+      <stop
+         style="stop-color:#fdff63;stop-opacity:1;"
+         offset="0"
+         id="stop3346" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3348" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="123.90625"
+       x2="8.083992"
+       y1="33.40625"
+       x1="147.09375"
+       id="linearGradient3516"
+       xlink:href="#XMLID_4_"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="116.90625"
+       fx="67.09375"
+       cy="116.90625"
+       cx="67.09375"
+       id="radialGradient3524"
+       xlink:href="#XMLID_4_"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <radialGradient
+       gradientTransform="matrix(0.25960703,0.02195575,-0.01356265,0.16036622,20.547101,19.117458)"
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="68.231934"
+       fx="64.689766"
+       cy="27.418272"
+       cx="99.726295"
+       id="radialGradient3535"
+       xlink:href="#linearGradient3528" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       id="linearGradient3548"
+       xlink:href="#linearGradient3295"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <linearGradient
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8480022,9.0589208)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3581"
+       xlink:href="#linearGradient5225" />
+    <linearGradient
+       gradientTransform="translate(-137)"
+       gradientUnits="userSpaceOnUse"
+       y2="63.426777"
+       x2="208.59375"
+       y1="130.40625"
+       x1="208.59375"
+       id="linearGradient3613"
+       xlink:href="#linearGradient3295" />
+    <filter
+       id="filter3639">
+      <feGaussianBlur
+         id="feGaussianBlur3641"
+         stdDeviation="1.0580524" />
+    </filter>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.17149938,0,1.717802e-8,0.37424684,15.498384,9.0562384)"
+       r="59.995121"
+       fy="66.906013"
+       fx="-10.165252"
+       cy="66.906013"
+       cx="-10.165252"
+       id="radialGradient3654"
+       xlink:href="#radialGradient24014-2" />
+    <radialGradient
+       r="59.995121"
+       fy="80.404922"
+       fx="167.67001"
+       cy="80.404922"
+       cx="167.67001"
+       gradientTransform="matrix(0.10016647,0.19510746,-0.26335376,0.13520353,48.633717,-4.4371762)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3658"
+       xlink:href="#radialGradient2810-4-0-7" />
+    <linearGradient
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       y2="14.444496"
+       x2="125.30366"
+       y1="12.569496"
+       x1="120.0625"
+       id="linearGradient3676"
+       xlink:href="#linearGradient3282-3" />
+    <filter
+       id="filter3738"
+       height="1.2746474"
+       y="-0.13732363"
+       width="1.301924"
+       x="-0.15096202" />
+    <radialGradient
+       r="59.995121"
+       fy="26.862719"
+       fx="74.871155"
+       cy="48.228905"
+       cx="72.684891"
+       gradientTransform="matrix(0.36761749,0.00625584,-0.00133974,0.07872926,0.89968044,20.463474)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3744"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.675025,0,0,0.3583625,19.527377,41.004647)"
+       r="59.995121"
+       fy="126.69183"
+       fx="66.01458"
+       cy="126.69183"
+       cx="66.01458"
+       id="radialGradient3757"
+       xlink:href="#linearGradient3751" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.11577766,0,0,0.17884727,24.409472,10.504314)"
+       r="59.995121"
+       fy="7.4108429"
+       fx="64.088867"
+       cy="7.4108429"
+       cx="64.088867"
+       id="radialGradient3767"
+       xlink:href="#linearGradient5225" />
+    <linearGradient
+       y2="11.610882"
+       x2="120.93423"
+       y1="12.569496"
+       x1="120.0625"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3771"
+       xlink:href="#linearGradient3282-3" />
+    <filter
+       id="filter3438">
+      <feGaussianBlur
+         id="feGaussianBlur3440"
+         stdDeviation="1.3342697" />
+    </filter>
+    <filter
+       id="filter3630"
+       x="-0.0059927434"
+       width="1.0119855"
+       y="-0.0060072742"
+       height="1.0120145" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2361"
+       xlink:href="#linearGradient3825" />
+    <linearGradient
+       y2="57.25"
+       x2="-152.26776"
+       y1="37.68198"
+       x1="-151.43935"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2363"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="39.803303"
+       x1="-132.51041"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2365"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="44.753052"
+       x1="-83.012932"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2367"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="86.125"
+       x2="-163"
+       y1="105.625"
+       x1="-73"
+       id="linearGradient3349"
+       xlink:href="#linearGradient3342" />
+    <filter
+       id="filter3363"
+       height="1.2042203"
+       y="-0.10211017"
+       width="1.1754827"
+       x="-0.087741368">
+      <feGaussianBlur
+         id="feGaussianBlur3365"
+         stdDeviation="3.0526685" />
+    </filter>
+    <linearGradient
+       y2="92.603989"
+       x2="-138.0043"
+       y1="137.13324"
+       x1="-83.593941"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3372"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="112.70422"
+       x2="-136.51074"
+       y1="99.979607"
+       x1="-61.802711"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3376"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3388"
+       xlink:href="#linearGradient3825" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3422"
+       xlink:href="#linearGradient3825" />
+    <mask
+       id="mask3402"
+       maskUnits="userSpaceOnUse">
+      <g
+         transform="translate(167.50257,-0.00375516)"
+         id="g3404">
+        <g
+           transform="translate(80.51637,30.885255)"
+           id="g3406">
+          <path
+             id="path3408"
+             d="m -184.42232,-32.47243 c -33.12519,0 -64,32.374805 -64,65.5 0,33.12519 31.37481,64 64.5,64 30.28912,0 55.33661,-26.21626 59.40625,-55.34375 l -35.03125,-5.03125 c -1.62468,11.96113 -11.93007,20.96875 -24.375,20.96875 -13.57163,0 -22.09375,-11.52212 -22.09375,-25.09375 0,-13.571634 6.02212,-20.09375 19.59375,-20.09375 6.78582,-1e-6 9.92129,-2.234956 14.375,2.21875 l -4.82718,11.327179 c -2.05587,2.05587 -2.24372,3.30578 -1.67961,4.615529 0.50857,1.180779 1.52073,2.526042 4.20973,2.526042 h 43.95331 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.843229 -2.18147,-4.349615 -1.31432,-0.520385 -3.03321,-0.122678 -5.10709,1.9512 l -10.19531,0.195314 c -10.85935,-10.859351 -26.3749,-13.0625 -42.9375,-13.0625 z"
+             style="opacity:1;fill:url(#radialGradient3422);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+          <path
+             id="path3410"
+             d="M -161.5,34.5 C -162,37 -180,54 -180,54 l 47.5,26 20.5,-41.5 z"
+             style="fill:url(#linearGradient2363);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+          <path
+             style="fill:url(#linearGradient2365);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             id="path3412" />
+          <path
+             id="path3414"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             style="fill:url(#linearGradient2367);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+        </g>
+        <rect
+           style="opacity:1;fill:url(#linearGradient3349);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           id="rect3416"
+           width="83.5"
+           height="71.75"
+           x="-119"
+           y="69.75" />
+        <path
+           transform="rotate(50.254681,-117.75,104.12499)"
+           style="fill:url(#linearGradient3372);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           id="path3418" />
+        <path
+           id="path3420"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           style="fill:url(#linearGradient3376);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           transform="rotate(50.254681,-117.75,104.12499)" />
+      </g>
+    </mask>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="18.103027"
+       x2="-33.476654"
+       y1="18.103027"
+       x1="-267.47665"
+       id="linearGradient3565"
+       xlink:href="#linearGradient3751" />
+    <radialGradient
+       xlink:href="#linearGradient3254"
+       id="radialGradient4619-1-3"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375"
+       gradientTransform="matrix(1.2924208,0,0,0.87375818,-91.725015,-49.563789)" />
+    <filter
+       id="filter2220-2"
+       x="-0.0212503"
+       width="1.0425006"
+       y="-0.03484391"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218-9" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7-2"
+       id="linearGradient2275-1"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-3.5182439,-4.743318)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7-2">
+      <stop
+         id="stop4576-5-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3-0" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5-9" />
+      <stop
+         id="stop4582-6-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7-0"
+       id="linearGradient4613-3-6"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-87.703563,-82.625618)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7-0">
+      <stop
+         id="stop2812-5-9-5-6"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9-2" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2-6" />
+      <stop
+         id="stop2820-3-0-2-1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2029"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5258-3"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018-5"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020-3" />
+    </filter>
+    <filter
+       id="filter5316-9">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318-3" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient1251"
+       id="linearGradient1250"
+       gradientUnits="userSpaceOnUse"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399" />
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     style="display:inline">
+    <rect
+       style="display:inline;opacity:0.75;fill:#044814;fill-opacity:1;stroke:#044814;stroke-width:8.49952;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366-0)"
+       id="rect5320-2"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455611)" />
+    <rect
+       style="display:none;opacity:0.75;fill:#9c0f0f;fill-opacity:1;stroke:#9c0f0f;stroke-width:8.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366)"
+       id="rect5320"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#radialGradient5223);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect5221"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146-3);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160-5"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       ry="3.3871541"
+       rx="3.3871541"
+       y="5.1822882"
+       x="5.1851034"
+       height="53.940422"
+       width="53.940422"
+       id="rect5029"
+       style="display:inline;opacity:0.726829;fill:none;fill-opacity:1;stroke:url(#radialGradient5231);stroke-width:4.512;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5209);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207" />
+    <path
+       id="path5203-8"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5205-7);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-2)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5209-7);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-1)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207-3" />
+    <path
+       id="path5203"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5205);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       id="path5211"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.6;fill:url(#radialGradient5213);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(-5.7792385e-8,0.67425523,-0.67425523,-5.7792385e-8,75.308143,-11.001313)" />
+    <path
+       style="display:inline;opacity:0.75;fill:url(#radialGradient5193);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5176"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822867"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164-0"
+       style="display:inline;opacity:1;fill:url(#radialGradient5023-1);fill-opacity:1;stroke:none;stroke-width:0.282;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822872"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164"
+       style="display:none;opacity:1;fill:url(#radialGradient5023);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       style="display:inline;opacity:1;fill:url(#radialGradient5258-3);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018-5)"
+       id="rect5248-5"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <rect
+       style="display:none;opacity:1;fill:url(#radialGradient5258);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018)"
+       id="rect5248"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <path
+       style="display:inline;opacity:0.347912;fill:url(#linearGradient5086-6);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.182282 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 V 32.447481 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.7010521 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073-7" />
+    <path
+       style="display:none;opacity:1;fill:url(#linearGradient5086);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5103);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 58.598759,6.8679198 c 0.103868,0.3358577 0.147495,0.7034165 0.147495,1.0745949 V 29.855813 c -9.210898,2.928066 -19.961237,4.614433 -31.458226,4.614435 -7.796643,0 -15.236303,-0.800017 -22.1029314,-2.212401 v 0.189634 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-0.6750766 -0.20066,-1.2989941 -0.526761,-1.8331322 z"
+       id="path5088" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5114);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 0.2715754,0.05916 0.5482294,0.111422 0.8217485,0.168564 V 9.6070826 c 0,-1.9337182 1.5206973,-3.476629 3.4134179,-3.476629 h 45.470092 c 1.892717,0 3.413416,1.5429108 3.413416,3.476629 V 30.551138 c 0.272799,-0.0837 0.551623,-0.166974 0.821749,-0.252846 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="path5105" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1250);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316-9)"
+       id="rect5122-6"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient5138);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316)"
+       id="rect5122"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <g
+       id="g1044"
+       style="display:none">
+      <path
+         id="path3528"
+         d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 34.5,81.6875 46.3125,93.5 63.34375,76.4375 80.40625,93.5 92.1875,81.6875 75.15625,64.65625 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+         style="display:inline;fill:none;fill-opacity:1;stroke:url(#radialGradient5539);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3550)"
+         transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+      <path
+         style="display:inline;fill:url(#linearGradient5530);fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+         id="rect3376" />
+      <path
+         style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.885;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3576)"
+         d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 48.59375,67.625 c 5.04146,0.77689 10.40123,1.1875 15.96875,1.1875 4.79161,0 9.42877,-0.32448 13.84375,-0.90625 l -3.25,-3.25 L 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+         id="path3566"
+         transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    </g>
+  </g>
+  <g
+     id="layer5"
+     style="display:none">
+    <path
+       id="path23453-8-8"
+       style="display:inline;fill:url(#linearGradient4613-3-6);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 34.296024,31.758871 c 3.648849,-4.344634 1.378731,-1.827187 4.822751,-5.235736 -1.882369,-1.830148 -4.234452,-3.364703 -7.219932,-3.364703 -9.108227,0 -10.298314,6.383483 -10.298314,8.964776 0,7.776724 4.775811,10.548629 9.951736,10.808771 6.602468,0 10.258777,-3.284875 10.258777,-7.222891 4.316118,0.656645 7.169186,0.590906 11.188659,1.252808 -1.263606,4.715843 -6.519859,17.595542 -20.084172,17.595542 -11.464553,0 -22.914951,-8.228225 -22.914951,-21.544053 0,-3.034067 2.551584,-21.800026 21.895432,-21.800026 9.082295,0 11.686301,2.263192 16.035505,6.612396 2.466249,-1.592587 4.725818,-2.836218 5.168571,-3.31835 0,6.120029 -0.04483,17.168951 -0.04483,17.168951 -11.056775,0 -7.068513,0.08252 -18.759232,0.08252 z" />
+    <path
+       id="path1835-7"
+       style="display:none;opacity:0.549037;fill:url(#linearGradient2275-1);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 50.306871,28.489009 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 25.766872,45.048528 34.263523,41.488178 34.263523,28.697081 34.263524,15.905985 28.662512,10.220722 17.556606,4.8263494 32.17593,2.2263619 50.306871,7.094821 50.306871,28.489009 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2029);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220-2);stop-color:#000000;stop-opacity:1"
+       d="m 85.790181,69.3457 c -4.147963,0 -6.232322,3.972264 -6.232322,7.140412 2.210509,0.242419 1.833722,0.150641 3.617866,0.28857 0,-0.721321 0.269839,-3.690282 3.142481,-3.690282 1.674544,0 1.838989,0.396877 2.507226,1.116157 -0.788848,0.79914 -0.958432,1.010933 -1.540676,1.672608 2.353371,0 4.08289,-0.02636 5.992824,-0.02636 0.01922,-2.458423 -0.04785,-3.684979 -0.0096,-5.48023 -1.08015,0.68045 -0.467913,0.431269 -1.632788,1.020826 C 90.315075,70.067284 88.110758,69.3457 85.790179,69.3457 Z"
+       id="path24084-3-9"
+       transform="matrix(3.1302825,0,0,3.1302825,-238.92992,-205.74557)" />
+    <ellipse
+       style="display:inline;opacity:0.729931;fill:url(#radialGradient4619-1-3);fill-opacity:1;stroke:none;stroke-width:1.06267"
+       id="path24099-0-2"
+       cx="23.4238"
+       cy="18.101673"
+       rx="4.3409276"
+       ry="2.9347417" />
+    <path
+       id="path1835-2-0"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 35.243021,32.051343 c -2.566708,0.05403 0.651716,-2.30417 3.875753,-5.528207 -2.102078,-2.536143 -3.960323,-3.548914 -7.290519,-3.513296 -8.57924,0.09176 -10.251031,7.335354 -10.251031,10.031984 0,5.916934 5.337162,9.858491 10.167765,9.858491 4.529185,0 8.643811,-1.883349 10.066053,-7.191227 8.34228,1.009859 3.445518,0.345854 11.006018,1.192373 1.180973,0.132229 -3.212591,17.572604 -20.943122,17.572604 -17.967972,0 -21.732031,-17.030792 -21.732031,-21.610128 0,-3.707705 2.445098,-21.611175 21.337446,-21.611175 11.167452,0 13.652839,4.309924 16.452162,6.572993 3.310615,-2.234412 2.879134,-1.655801 5.168571,-3.31835 0,5.074207 -0.04483,12.821672 -0.04483,17.168951 -3.860022,0 -17.812232,0.374987 -17.812232,0.374987 z" />
+  </g>
+  <g
+     id="layer2"
+     style="display:inline">
+    <g
+       id="layer1-7"
+       transform="matrix(0.41287673,0,0,0.41287673,5.902367,6.3992748)"
+       style="display:inline">
+      <path
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-200.19994)"
+         style="display:none;fill:#7c4300;fill-opacity:1;stroke:none;filter:url(#filter24274)"
+         id="path24256"
+         d="m 104.17619,99.240114 -8.848081,-2.928692 -3.443926,8.660548 -4.895494,-7.930943 -8.205094,4.420653 1.347746,-9.22222 -9.127006,-1.887717 6.96036,-6.198314 -5.778291,-7.312802 9.316145,-0.274151 0.274151,-9.316145 7.312802,5.778291 6.198314,-6.96036 1.887717,9.127006 9.222217,-1.347746 -4.42065,8.205093 7.93094,4.895494 -8.66054,3.443927 z" />
+      <path
+         style="display:inline;fill:url(#linearGradient4613);fill-opacity:1;stroke:none"
+         id="path23453"
+         d="m 104.17619,99.240114 -10.230663,-5.89365 -2.061344,11.625506 -4.048776,-11.09094 -9.051812,7.58065 4.027577,-11.098657 -11.806837,-0.01128 10.219381,-5.913187 -9.037312,-7.597929 11.629423,2.039127 -2.039127,-11.629423 7.597929,9.037311 5.913187,-10.21938 0.01128,11.806836 11.098654,-4.027576 -7.580647,9.051812 11.090937,4.048775 -11.625503,2.061344 z"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         d="m 104.17619,99.240114 -10.385259,-6.225183 -1.906748,11.957039 -3.954098,-11.444281 -9.14649,7.933991 4.327227,-11.308475 -12.106487,0.198538 10.583794,-5.881305 -9.401725,-7.629811 11.888087,2.297791 -2.297791,-11.888087 7.629811,9.401725 5.881305,-10.583794 -0.198538,12.106487 11.308472,-4.327227 -7.933988,9.146489 11.444278,3.954098 -11.957035,1.906748 z"
+         id="path24010"
+         style="display:inline;opacity:0.52993;fill:url(#radialGradient4615);fill-opacity:1;stroke:none"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         style="display:inline;opacity:0.986056;fill:url(#linearGradient4617);fill-opacity:1;stroke:none;filter:url(#filter24133)"
+         d="m 86.944196,66.665243 c 0.776155,4.836498 2.036516,9.187328 2.371631,11.214513 -2.475744,-0.37446 -8.63073,-2.201551 -10.928322,-1.831849 0.177199,0.630895 6.807053,5.906003 8.33621,7.39065 l -3.275165,2.09736 c 3.929307,1.140291 4.392666,0.995333 9.36395,0.995333 6.484057,0 14.45306,-1.448378 17.70315,-2.252082 -0.10927,-0.422007 -5.92149,-2.009477 -5.75199,-2.411083 l 7.13409,-9.020562 c -2.50429,0.903469 -8.74215,3.215276 -11.09866,4.027576 l -0.19984,-11.284229 -5.724622,9.696773 c -1.638398,-1.711586 -5.787432,-6.122882 -7.930432,-8.6224 z"
+         id="path24084"
+         transform="matrix(3.1302824,0,0,3.1302824,-235.41167,-201.00225)" />
+      <circle
+         style="display:inline;fill:url(#radialGradient4619);fill-opacity:1;stroke:none;filter:url(#filter24121)"
+         id="path24099"
+         transform="matrix(3.1302824,0,0,3.1302824,-222.15083,-198.43969)"
+         cx="89.095451"
+         cy="77.441864"
+         r="3.3587573" />
+      <path
+         d="M 107.90577,106.51705 75.88091,88.068263 69.428322,124.45938 56.754512,89.741606 28.419783,113.47117 41.027236,78.729249 4.0685019,78.693941 36.058051,60.183997 7.768713,36.400333 44.172092,42.783379 37.789047,6.3799993 61.57271,34.669337 80.082655,2.6797879 80.117963,39.638522 114.85989,27.031069 91.130319,55.365797 125.84809,68.039607 89.456977,74.492195 Z"
+         id="path24010-6"
+         style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="layer4"
+     style="display:none">
+    <path
+       id="path23453-8"
+       style="display:inline;fill:url(#linearGradient4613-3);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 21.07485,55.890327 c 8.460788,-5.782067 16.492576,-11.675689 17.372943,-23.367686 0,0 -1.434341,-17.417807 -17.372943,-22.9529742 C 37.958766,8.2969249 50.723883,8.8716332 53.828674,34.238808 53.460129,40.029443 49.448618,59.167233 21.07485,55.890327 Z" />
+    <path
+       id="path1835"
+       style="display:inline;opacity:0.549037;fill:url(#linearGradient2275);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.781767,46.231496 37.781767,33.440399 37.781768,20.649303 32.180756,14.96404 21.07485,9.5696674 35.694174,6.9696799 53.825115,11.838139 53.825115,33.232327 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220);stop-color:#000000;stop-opacity:1"
+       d="m 81.937183,67.269305 c 6.008047,3.070756 5.278565,6.721758 5.517768,7.850284 2.691267,-0.278177 3.873086,-0.468142 4.97754,-0.836625 -0.440041,-4.956775 -3.709675,-7.674519 -10.495308,-7.013659 z"
+       id="path24084-3"
+       transform="matrix(3.1302825,0,0,3.1302825,-235.41168,-201.00226)" />
+    <circle
+       style="display:inline;fill:url(#radialGradient4619-1);fill-opacity:1;stroke:none;filter:url(#filter24121-9)"
+       id="path24099-0"
+       transform="matrix(1.2924208,0,0,1.2924208,-74.768867,-79.148647)"
+       cx="89.095451"
+       cy="77.441864"
+       r="3.3587573" />
+    <path
+       id="path1835-2"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.886791,46.231065 37.781767,33.440399 37.68169,21.252101 32.180756,14.964039 21.07485,9.5696668 35.694174,6.9696793 53.825115,11.838138 53.825115,33.232327 Z" />
+  </g>
+</svg>
diff --git a/flags/system/task-wip-sleeping.svg b/flags/system/task-wip-sleeping.svg
new file mode 100644 (file)
index 0000000..f6a3722
--- /dev/null
@@ -0,0 +1,1838 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="64"
+   height="64"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient1251">
+      <stop
+         id="stop1247"
+         offset="0"
+         style="stop-color:#00e145;stop-opacity:1" />
+      <stop
+         id="stop1249"
+         offset="1"
+         style="stop-color:#087427;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215">
+      <stop
+         id="stop1242"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop1244"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1210">
+      <stop
+         style="stop-color:#b5ffc8;stop-opacity:1"
+         offset="0"
+         id="stop1206" />
+      <stop
+         style="stop-color:#bfffd6;stop-opacity:0"
+         offset="1"
+         id="stop1208" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1130">
+      <stop
+         id="stop1126"
+         offset="0"
+         style="stop-color:#0a831f;stop-opacity:1" />
+      <stop
+         id="stop1128"
+         offset="1"
+         style="stop-color:#004706;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1119">
+      <stop
+         style="stop-color:#22cd49;stop-opacity:1"
+         offset="0"
+         id="stop1115" />
+      <stop
+         style="stop-color:#346830;stop-opacity:1"
+         offset="1"
+         id="stop1117" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2075">
+      <stop
+         id="stop2067"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.51447427"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop2069" />
+      <stop
+         offset="0.63315159"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2071" />
+      <stop
+         id="stop2073"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient5252">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop5254" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0;"
+         offset="1"
+         id="stop5256" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5225">
+      <stop
+         id="stop5227"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop5229"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215-9">
+      <stop
+         id="stop5217"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop5219"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5187">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5189" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5191" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5132">
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:1"
+         offset="0"
+         id="stop5134" />
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:0"
+         offset="1"
+         id="stop5136" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5116">
+      <stop
+         id="stop5118"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop5120"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5097">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5099" />
+      <stop
+         style="stop-color:#ffbebe;stop-opacity:0"
+         offset="1"
+         id="stop5101" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5080-3">
+      <stop
+         style="stop-color:#ffb5b5;stop-opacity:1"
+         offset="0"
+         id="stop5082" />
+      <stop
+         style="stop-color:#ffbfbf;stop-opacity:0;"
+         offset="1"
+         id="stop5084" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5031">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5033" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5035" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5015-9-3">
+      <stop
+         style="stop-color:#ff1212;stop-opacity:1"
+         offset="0"
+         id="stop5017" />
+      <stop
+         style="stop-color:#750000;stop-opacity:1"
+         offset="1"
+         id="stop5019" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4997-6">
+      <stop
+         id="stop4999"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1" />
+      <stop
+         id="stop5001"
+         offset="1"
+         style="stop-color:#470000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient4997-6"
+       id="linearGradient3146"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient5015-9-3"
+       id="radialGradient5023"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <linearGradient
+       xlink:href="#linearGradient5080-3"
+       id="linearGradient5086"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5097"
+       id="linearGradient5103"
+       x1="113.41915"
+       y1="76.386581"
+       x2="101.99058"
+       y2="38.609497"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5116"
+       id="linearGradient5114"
+       gradientUnits="userSpaceOnUse"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="67.763039"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5132"
+       id="linearGradient5138"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5193"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215-9"
+       id="radialGradient5205"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5209"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5213"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5225"
+       id="radialGradient5223"
+       cx="64.000008"
+       cy="26.931658"
+       fx="64.000008"
+       fy="26.931658"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.15707082,-10.997031,2.9287916)" />
+    <radialGradient
+       xlink:href="#linearGradient5031"
+       id="radialGradient5231"
+       cx="64.000008"
+       cy="21.660604"
+       fx="64.000008"
+       fy="21.660604"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8655683,0,0,0.24089925,-87.241074,-1.6130893)" />
+    <radialGradient
+       xlink:href="#linearGradient5252"
+       id="radialGradient5258"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter5316">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318" />
+    </filter>
+    <filter
+       id="filter5366">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368" />
+    </filter>
+    <filter
+       id="filter3576">
+      <feGaussianBlur
+         id="feGaussianBlur3578"
+         stdDeviation="0.576875" />
+    </filter>
+    <filter
+       id="filter3550">
+      <feGaussianBlur
+         id="feGaussianBlur3552"
+         stdDeviation="1.23375" />
+    </filter>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="24.151943"
+       x2="75.157829"
+       y1="91.321831"
+       x1="75.157829"
+       id="linearGradient3354"
+       xlink:href="#linearGradient3348" />
+    <linearGradient
+       y2="17.476311"
+       x2="59.757221"
+       y1="114.03454"
+       x1="59.355339"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3264"
+       xlink:href="#linearGradient3188" />
+    <linearGradient
+       id="linearGradient3148">
+      <stop
+         id="stop3150"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1;" />
+      <stop
+         id="stop3152"
+         offset="1"
+         style="stop-color:#bf0000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3158">
+      <stop
+         id="stop3160"
+         offset="0"
+         style="stop-color:#520000;stop-opacity:1" />
+      <stop
+         id="stop3162"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3166">
+      <stop
+         id="stop3168"
+         offset="0"
+         style="stop-color:#e20800;stop-opacity:1" />
+      <stop
+         style="stop-color:#d80500;stop-opacity:1;"
+         offset="0.48148149"
+         id="stop3564" />
+      <stop
+         id="stop3170"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3188">
+      <stop
+         id="stop3190"
+         offset="0"
+         style="stop-color:#ffaa00;stop-opacity:1;" />
+      <stop
+         id="stop3192"
+         offset="1"
+         style="stop-color:#ffaa00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3203">
+      <stop
+         id="stop3205"
+         offset="0"
+         style="stop-color:#ffbfbf;stop-opacity:1;" />
+      <stop
+         id="stop3207"
+         offset="1"
+         style="stop-color:#ffbfbf;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3254">
+      <stop
+         id="stop3256"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3258"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3282-3">
+      <stop
+         id="stop3284"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3286"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3324">
+      <stop
+         id="stop3326"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3328"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3348">
+      <stop
+         id="stop3350"
+         offset="0"
+         style="stop-color:#320000;stop-opacity:1;" />
+      <stop
+         id="stop3352"
+         offset="1"
+         style="stop-color:#320000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3530">
+      <stop
+         id="stop3532"
+         offset="0"
+         style="stop-color:#590000;stop-opacity:1;" />
+      <stop
+         id="stop3534"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3554">
+      <stop
+         id="stop3556"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3558"
+         offset="1"
+         style="stop-color:#dfdfdf;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3554"
+       id="linearGradient5530"
+       gradientUnits="userSpaceOnUse"
+       x1="68.9375"
+       y1="38.90625"
+       x2="68.9375"
+       y2="103.40701"
+       gradientTransform="matrix(0.56403211,0,0,0.56403211,-3.6254784,-3.8045531)" />
+    <linearGradient
+       xlink:href="#linearGradient3282-3"
+       id="linearGradient5533"
+       gradientUnits="userSpaceOnUse"
+       x1="58.855938"
+       y1="13.276386"
+       x2="58.800629"
+       y2="43.014843"
+       gradientTransform="translate(-209,134.00203)" />
+    <linearGradient
+       xlink:href="#linearGradient3254"
+       id="linearGradient5536"
+       gradientUnits="userSpaceOnUse"
+       x1="97.911537"
+       y1="86.30513"
+       x2="71.094215"
+       y2="39.373199"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3530"
+       id="radialGradient5539"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3513697,0,0,1.3513697,-21.49693,-22.68578)"
+       cx="62.78125"
+       cy="66.175667"
+       fx="62.78125"
+       fy="77.980095"
+       r="29.84375" />
+    <linearGradient
+       xlink:href="#linearGradient3203"
+       id="linearGradient5542"
+       gradientUnits="userSpaceOnUse"
+       x1="64.968697"
+       y1="9.5585432"
+       x2="89.705704"
+       y2="101.87831"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3166"
+       id="radialGradient5546"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.41925,0,0,1.4090223,-235.83199,109.95438)"
+       cx="63.999996"
+       cy="74.182564"
+       fx="63.999996"
+       fy="74.182564"
+       r="48" />
+    <radialGradient
+       xlink:href="#linearGradient3324"
+       id="radialGradient5549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.501569,0,0,2.2063489,-177.10041,58.92705)"
+       cx="64"
+       cy="60.521297"
+       fx="64"
+       fy="44.562428"
+       r="52" />
+    <linearGradient
+       xlink:href="#linearGradient3158"
+       id="linearGradient5552"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,-209,261.99796)"
+       x1="65.306122"
+       y1="21.898888"
+       x2="65.306122"
+       y2="107.30016" />
+    <linearGradient
+       xlink:href="#linearGradient3148"
+       id="linearGradient5555"
+       gradientUnits="userSpaceOnUse"
+       x1="71.937202"
+       y1="114.73783"
+       x2="71.937202"
+       y2="7.5424786"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574">
+      <stop
+         id="stop4576"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580" />
+      <stop
+         id="stop4582"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient24014"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016" />
+      <stop
+         id="stop24018"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4">
+      <stop
+         id="stop2812-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0" />
+      <stop
+         id="stop2820-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <linearGradient
+       xlink:href="#radialGradient24014"
+       id="linearGradient24078"
+       gradientUnits="userSpaceOnUse"
+       x1="73.711586"
+       y1="71.214951"
+       x2="89.811958"
+       y2="99.101616" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7">
+      <stop
+         id="stop4576-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5" />
+      <stop
+         id="stop4582-6"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient24113">
+      <stop
+         style="stop-color:#fffbba;stop-opacity:1;"
+         offset="0"
+         id="stop24115" />
+      <stop
+         style="stop-color:#fffbba;stop-opacity:0;"
+         offset="1"
+         id="stop24117" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient24091">
+      <stop
+         style="stop-color:#fff201;stop-opacity:1;"
+         offset="0"
+         id="stop24093" />
+      <stop
+         style="stop-color:#fff201;stop-opacity:0;"
+         offset="1"
+         id="stop24095" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient24014-2"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016-9" />
+      <stop
+         id="stop24018-1"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020-2"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022-7" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0">
+      <stop
+         id="stop2812-5-9"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6" />
+      <stop
+         id="stop2820-3-0"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074-6">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076-2"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <filter
+       id="filter24121"
+       x="-0.192"
+       width="1.384"
+       y="-0.192"
+       height="1.384">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123" />
+    </filter>
+    <filter
+       id="filter24133"
+       x="-0.040568756"
+       width="1.0811375"
+       y="-0.066520196"
+       height="1.1330404">
+      <feGaussianBlur
+         stdDeviation="0.31738818"
+         id="feGaussianBlur24135" />
+    </filter>
+    <filter
+       id="filter24274">
+      <feGaussianBlur
+         stdDeviation="1.3050374"
+         id="feGaussianBlur24276" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0"
+       id="linearGradient4613"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738" />
+    <radialGradient
+       xlink:href="#radialGradient4574-7"
+       id="radialGradient4615"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7024894,0,0,1.7024894,-63.192305,-52.615725)"
+       cx="90.121712"
+       cy="78.674843"
+       fx="90.121712"
+       fy="78.674843"
+       r="19.575562" />
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient4617"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.790741"
+       x2="89.953125"
+       y2="109.35688" />
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619"
+       gradientUnits="userSpaceOnUse"
+       cx="89.095451"
+       cy="77.441864"
+       fx="89.095451"
+       fy="77.441864"
+       r="6.5473376" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-6">
+      <stop
+         id="stop4576-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-5" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-3" />
+      <stop
+         id="stop4582-5"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <filter
+       id="filter2220"
+       x="-0.021250301"
+       width="1.0425006"
+       y="-0.034843912"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619-1"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375" />
+    <filter
+       id="filter24121-9"
+       x="-0.192"
+       width="1.3839999"
+       y="-0.192"
+       height="1.3839999">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123-2" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7"
+       id="linearGradient2275"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7"
+       id="linearGradient4613-3"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-84.185323,-77.8823)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7">
+      <stop
+         id="stop2812-5-9-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2" />
+      <stop
+         id="stop2820-3-0-2"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#linearGradient1130"
+       id="linearGradient3146-3"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient1119"
+       id="radialGradient5023-1"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <filter
+       id="filter5366-0">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368-6" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient1210"
+       id="linearGradient5086-6"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5205-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-2">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-2" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5209-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-1">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-29" />
+    </filter>
+    <linearGradient
+       id="linearGradient3342">
+      <stop
+         id="stop3344"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3347"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3825">
+      <stop
+         id="stop3827"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.18705036;"
+         offset="0.5"
+         id="stop3833" />
+      <stop
+         id="stop3829"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:#beba2c;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:#b6be2c;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3528">
+      <stop
+         id="stop3530"
+         offset="0"
+         style="stop-color:#eaf209;stop-opacity:1;" />
+      <stop
+         id="stop3532-6"
+         offset="1"
+         style="stop-color:#c7c634;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3295">
+      <stop
+         id="stop3297"
+         offset="0"
+         style="stop-color:#fffe63;stop-opacity:1;" />
+      <stop
+         id="stop3299"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3202">
+      <stop
+         id="stop3204"
+         offset="0"
+         style="stop-color:#fcff9c;stop-opacity:1;" />
+      <stop
+         id="stop3206"
+         offset="1"
+         style="stop-color:#c1a965;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="XMLID_4_">
+      <stop
+         id="stop3082"
+         style="stop-color:#cfd13d;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop3090"
+         style="stop-color:#db8900;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient3344">
+      <stop
+         style="stop-color:#fdff63;stop-opacity:1;"
+         offset="0"
+         id="stop3346" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3348" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="123.90625"
+       x2="8.083992"
+       y1="33.40625"
+       x1="147.09375"
+       id="linearGradient3516"
+       xlink:href="#XMLID_4_"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="116.90625"
+       fx="67.09375"
+       cy="116.90625"
+       cx="67.09375"
+       id="radialGradient3524"
+       xlink:href="#XMLID_4_"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <radialGradient
+       gradientTransform="matrix(0.25960703,0.02195575,-0.01356265,0.16036622,20.547101,19.117458)"
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="68.231934"
+       fx="64.689766"
+       cy="27.418272"
+       cx="99.726295"
+       id="radialGradient3535"
+       xlink:href="#linearGradient3528" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       id="linearGradient3548"
+       xlink:href="#linearGradient3295"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <linearGradient
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8480022,9.0589208)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3581"
+       xlink:href="#linearGradient5225" />
+    <linearGradient
+       gradientTransform="translate(-137)"
+       gradientUnits="userSpaceOnUse"
+       y2="63.426777"
+       x2="208.59375"
+       y1="130.40625"
+       x1="208.59375"
+       id="linearGradient3613"
+       xlink:href="#linearGradient3295" />
+    <filter
+       id="filter3639">
+      <feGaussianBlur
+         id="feGaussianBlur3641"
+         stdDeviation="1.0580524" />
+    </filter>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.17149938,0,1.717802e-8,0.37424684,15.498384,9.0562384)"
+       r="59.995121"
+       fy="66.906013"
+       fx="-10.165252"
+       cy="66.906013"
+       cx="-10.165252"
+       id="radialGradient3654"
+       xlink:href="#radialGradient24014-2" />
+    <radialGradient
+       r="59.995121"
+       fy="80.404922"
+       fx="167.67001"
+       cy="80.404922"
+       cx="167.67001"
+       gradientTransform="matrix(0.10016647,0.19510746,-0.26335376,0.13520353,48.633717,-4.4371762)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3658"
+       xlink:href="#radialGradient2810-4-0-7" />
+    <linearGradient
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       y2="14.444496"
+       x2="125.30366"
+       y1="12.569496"
+       x1="120.0625"
+       id="linearGradient3676"
+       xlink:href="#linearGradient3282-3" />
+    <filter
+       id="filter3738"
+       height="1.2746474"
+       y="-0.13732363"
+       width="1.301924"
+       x="-0.15096202" />
+    <radialGradient
+       r="59.995121"
+       fy="26.862719"
+       fx="74.871155"
+       cy="48.228905"
+       cx="72.684891"
+       gradientTransform="matrix(0.36761749,0.00625584,-0.00133974,0.07872926,0.89968044,20.463474)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3744"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.675025,0,0,0.3583625,19.527377,41.004647)"
+       r="59.995121"
+       fy="126.69183"
+       fx="66.01458"
+       cy="126.69183"
+       cx="66.01458"
+       id="radialGradient3757"
+       xlink:href="#linearGradient3751" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.11577766,0,0,0.17884727,24.409472,10.504314)"
+       r="59.995121"
+       fy="7.4108429"
+       fx="64.088867"
+       cy="7.4108429"
+       cx="64.088867"
+       id="radialGradient3767"
+       xlink:href="#linearGradient5225" />
+    <linearGradient
+       y2="11.610882"
+       x2="120.93423"
+       y1="12.569496"
+       x1="120.0625"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3771"
+       xlink:href="#linearGradient3282-3" />
+    <filter
+       id="filter3438">
+      <feGaussianBlur
+         id="feGaussianBlur3440"
+         stdDeviation="1.3342697" />
+    </filter>
+    <filter
+       id="filter3630"
+       x="-0.0059927434"
+       width="1.0119855"
+       y="-0.0060072742"
+       height="1.0120145" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2361"
+       xlink:href="#linearGradient3825" />
+    <linearGradient
+       y2="57.25"
+       x2="-152.26776"
+       y1="37.68198"
+       x1="-151.43935"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2363"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="39.803303"
+       x1="-132.51041"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2365"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="44.753052"
+       x1="-83.012932"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2367"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="86.125"
+       x2="-163"
+       y1="105.625"
+       x1="-73"
+       id="linearGradient3349"
+       xlink:href="#linearGradient3342" />
+    <filter
+       id="filter3363"
+       height="1.2042203"
+       y="-0.10211017"
+       width="1.1754827"
+       x="-0.087741368">
+      <feGaussianBlur
+         id="feGaussianBlur3365"
+         stdDeviation="3.0526685" />
+    </filter>
+    <linearGradient
+       y2="92.603989"
+       x2="-138.0043"
+       y1="137.13324"
+       x1="-83.593941"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3372"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="112.70422"
+       x2="-136.51074"
+       y1="99.979607"
+       x1="-61.802711"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3376"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3388"
+       xlink:href="#linearGradient3825" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3422"
+       xlink:href="#linearGradient3825" />
+    <mask
+       id="mask3402"
+       maskUnits="userSpaceOnUse">
+      <g
+         transform="translate(167.50257,-0.00375516)"
+         id="g3404">
+        <g
+           transform="translate(80.51637,30.885255)"
+           id="g3406">
+          <path
+             id="path3408"
+             d="m -184.42232,-32.47243 c -33.12519,0 -64,32.374805 -64,65.5 0,33.12519 31.37481,64 64.5,64 30.28912,0 55.33661,-26.21626 59.40625,-55.34375 l -35.03125,-5.03125 c -1.62468,11.96113 -11.93007,20.96875 -24.375,20.96875 -13.57163,0 -22.09375,-11.52212 -22.09375,-25.09375 0,-13.571634 6.02212,-20.09375 19.59375,-20.09375 6.78582,-1e-6 9.92129,-2.234956 14.375,2.21875 l -4.82718,11.327179 c -2.05587,2.05587 -2.24372,3.30578 -1.67961,4.615529 0.50857,1.180779 1.52073,2.526042 4.20973,2.526042 h 43.95331 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.843229 -2.18147,-4.349615 -1.31432,-0.520385 -3.03321,-0.122678 -5.10709,1.9512 l -10.19531,0.195314 c -10.85935,-10.859351 -26.3749,-13.0625 -42.9375,-13.0625 z"
+             style="opacity:1;fill:url(#radialGradient3422);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+          <path
+             id="path3410"
+             d="M -161.5,34.5 C -162,37 -180,54 -180,54 l 47.5,26 20.5,-41.5 z"
+             style="fill:url(#linearGradient2363);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+          <path
+             style="fill:url(#linearGradient2365);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             id="path3412" />
+          <path
+             id="path3414"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             style="fill:url(#linearGradient2367);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+        </g>
+        <rect
+           style="opacity:1;fill:url(#linearGradient3349);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           id="rect3416"
+           width="83.5"
+           height="71.75"
+           x="-119"
+           y="69.75" />
+        <path
+           transform="rotate(50.254681,-117.75,104.12499)"
+           style="fill:url(#linearGradient3372);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           id="path3418" />
+        <path
+           id="path3420"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           style="fill:url(#linearGradient3376);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           transform="rotate(50.254681,-117.75,104.12499)" />
+      </g>
+    </mask>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="18.103027"
+       x2="-33.476654"
+       y1="18.103027"
+       x1="-267.47665"
+       id="linearGradient3565"
+       xlink:href="#linearGradient3751" />
+    <radialGradient
+       xlink:href="#linearGradient3254"
+       id="radialGradient4619-1-3"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375"
+       gradientTransform="matrix(1.2924208,0,0,0.87375818,-91.725015,-49.563789)" />
+    <filter
+       id="filter2220-2"
+       x="-0.0212503"
+       width="1.0425006"
+       y="-0.03484391"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218-9" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7-2"
+       id="linearGradient2275-1"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-3.5182439,-4.743318)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7-2">
+      <stop
+         id="stop4576-5-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3-0" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5-9" />
+      <stop
+         id="stop4582-6-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7-0"
+       id="linearGradient4613-3-6"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-87.703563,-82.625618)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7-0">
+      <stop
+         id="stop2812-5-9-5-6"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9-2" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2-6" />
+      <stop
+         id="stop2820-3-0-2-1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2029"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5258-3"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018-5"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020-3" />
+    </filter>
+    <filter
+       id="filter5316-9">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318-3" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient1251"
+       id="linearGradient1250"
+       gradientUnits="userSpaceOnUse"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399" />
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     style="display:inline">
+    <rect
+       style="display:inline;opacity:0.75;fill:#044814;fill-opacity:1;stroke:#044814;stroke-width:8.49952;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366-0)"
+       id="rect5320-2"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455611)" />
+    <rect
+       style="display:none;opacity:0.75;fill:#9c0f0f;fill-opacity:1;stroke:#9c0f0f;stroke-width:8.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366)"
+       id="rect5320"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#radialGradient5223);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect5221"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146-3);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160-5"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       ry="3.3871541"
+       rx="3.3871541"
+       y="5.1822882"
+       x="5.1851034"
+       height="53.940422"
+       width="53.940422"
+       id="rect5029"
+       style="display:inline;opacity:0.726829;fill:none;fill-opacity:1;stroke:url(#radialGradient5231);stroke-width:4.512;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5209);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207" />
+    <path
+       id="path5203-8"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5205-7);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-2)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5209-7);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-1)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207-3" />
+    <path
+       id="path5203"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5205);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       id="path5211"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.6;fill:url(#radialGradient5213);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(-5.7792385e-8,0.67425523,-0.67425523,-5.7792385e-8,75.308143,-11.001313)" />
+    <path
+       style="display:inline;opacity:0.75;fill:url(#radialGradient5193);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5176"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822867"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164-0"
+       style="display:inline;opacity:1;fill:url(#radialGradient5023-1);fill-opacity:1;stroke:none;stroke-width:0.282;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822872"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164"
+       style="display:none;opacity:1;fill:url(#radialGradient5023);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       style="display:inline;opacity:1;fill:url(#radialGradient5258-3);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018-5)"
+       id="rect5248-5"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <rect
+       style="display:none;opacity:1;fill:url(#radialGradient5258);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018)"
+       id="rect5248"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <path
+       style="display:inline;opacity:0.347912;fill:url(#linearGradient5086-6);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.182282 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 V 32.447481 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.7010521 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073-7" />
+    <path
+       style="display:none;opacity:1;fill:url(#linearGradient5086);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5103);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 58.598759,6.8679198 c 0.103868,0.3358577 0.147495,0.7034165 0.147495,1.0745949 V 29.855813 c -9.210898,2.928066 -19.961237,4.614433 -31.458226,4.614435 -7.796643,0 -15.236303,-0.800017 -22.1029314,-2.212401 v 0.189634 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-0.6750766 -0.20066,-1.2989941 -0.526761,-1.8331322 z"
+       id="path5088" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5114);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 0.2715754,0.05916 0.5482294,0.111422 0.8217485,0.168564 V 9.6070826 c 0,-1.9337182 1.5206973,-3.476629 3.4134179,-3.476629 h 45.470092 c 1.892717,0 3.413416,1.5429108 3.413416,3.476629 V 30.551138 c 0.272799,-0.0837 0.551623,-0.166974 0.821749,-0.252846 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="path5105" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1250);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316-9)"
+       id="rect5122-6"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient5138);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316)"
+       id="rect5122"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <g
+       id="g1044"
+       style="display:none">
+      <path
+         id="path3528"
+         d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 34.5,81.6875 46.3125,93.5 63.34375,76.4375 80.40625,93.5 92.1875,81.6875 75.15625,64.65625 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+         style="display:inline;fill:none;fill-opacity:1;stroke:url(#radialGradient5539);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3550)"
+         transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+      <path
+         style="display:inline;fill:url(#linearGradient5530);fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+         id="rect3376" />
+      <path
+         style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.885;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3576)"
+         d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 48.59375,67.625 c 5.04146,0.77689 10.40123,1.1875 15.96875,1.1875 4.79161,0 9.42877,-0.32448 13.84375,-0.90625 l -3.25,-3.25 L 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+         id="path3566"
+         transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    </g>
+  </g>
+  <g
+     id="layer5"
+     style="display:none">
+    <path
+       id="path23453-8-8"
+       style="display:inline;fill:url(#linearGradient4613-3-6);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 34.296024,31.758871 c 3.648849,-4.344634 1.378731,-1.827187 4.822751,-5.235736 -1.882369,-1.830148 -4.234452,-3.364703 -7.219932,-3.364703 -9.108227,0 -10.298314,6.383483 -10.298314,8.964776 0,7.776724 4.775811,10.548629 9.951736,10.808771 6.602468,0 10.258777,-3.284875 10.258777,-7.222891 4.316118,0.656645 7.169186,0.590906 11.188659,1.252808 -1.263606,4.715843 -6.519859,17.595542 -20.084172,17.595542 -11.464553,0 -22.914951,-8.228225 -22.914951,-21.544053 0,-3.034067 2.551584,-21.800026 21.895432,-21.800026 9.082295,0 11.686301,2.263192 16.035505,6.612396 2.466249,-1.592587 4.725818,-2.836218 5.168571,-3.31835 0,6.120029 -0.04483,17.168951 -0.04483,17.168951 -11.056775,0 -7.068513,0.08252 -18.759232,0.08252 z" />
+    <path
+       id="path1835-7"
+       style="display:none;opacity:0.549037;fill:url(#linearGradient2275-1);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 50.306871,28.489009 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 25.766872,45.048528 34.263523,41.488178 34.263523,28.697081 34.263524,15.905985 28.662512,10.220722 17.556606,4.8263494 32.17593,2.2263619 50.306871,7.094821 50.306871,28.489009 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2029);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220-2);stop-color:#000000;stop-opacity:1"
+       d="m 85.790181,69.3457 c -4.147963,0 -6.232322,3.972264 -6.232322,7.140412 2.210509,0.242419 1.833722,0.150641 3.617866,0.28857 0,-0.721321 0.269839,-3.690282 3.142481,-3.690282 1.674544,0 1.838989,0.396877 2.507226,1.116157 -0.788848,0.79914 -0.958432,1.010933 -1.540676,1.672608 2.353371,0 4.08289,-0.02636 5.992824,-0.02636 0.01922,-2.458423 -0.04785,-3.684979 -0.0096,-5.48023 -1.08015,0.68045 -0.467913,0.431269 -1.632788,1.020826 C 90.315075,70.067284 88.110758,69.3457 85.790179,69.3457 Z"
+       id="path24084-3-9"
+       transform="matrix(3.1302825,0,0,3.1302825,-238.92992,-205.74557)" />
+    <ellipse
+       style="display:inline;opacity:0.729931;fill:url(#radialGradient4619-1-3);fill-opacity:1;stroke:none;stroke-width:1.06267"
+       id="path24099-0-2"
+       cx="23.4238"
+       cy="18.101673"
+       rx="4.3409276"
+       ry="2.9347417" />
+    <path
+       id="path1835-2-0"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 35.243021,32.051343 c -2.566708,0.05403 0.651716,-2.30417 3.875753,-5.528207 -2.102078,-2.536143 -3.960323,-3.548914 -7.290519,-3.513296 -8.57924,0.09176 -10.251031,7.335354 -10.251031,10.031984 0,5.916934 5.337162,9.858491 10.167765,9.858491 4.529185,0 8.643811,-1.883349 10.066053,-7.191227 8.34228,1.009859 3.445518,0.345854 11.006018,1.192373 1.180973,0.132229 -3.212591,17.572604 -20.943122,17.572604 -17.967972,0 -21.732031,-17.030792 -21.732031,-21.610128 0,-3.707705 2.445098,-21.611175 21.337446,-21.611175 11.167452,0 13.652839,4.309924 16.452162,6.572993 3.310615,-2.234412 2.879134,-1.655801 5.168571,-3.31835 0,5.074207 -0.04483,12.821672 -0.04483,17.168951 -3.860022,0 -17.812232,0.374987 -17.812232,0.374987 z" />
+  </g>
+  <g
+     id="layer2"
+     style="display:none">
+    <g
+       id="layer1-7"
+       transform="matrix(0.41287673,0,0,0.41287673,5.902367,6.3992748)"
+       style="display:inline">
+      <path
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-200.19994)"
+         style="display:none;fill:#7c4300;fill-opacity:1;stroke:none;filter:url(#filter24274)"
+         id="path24256"
+         d="m 104.17619,99.240114 -8.848081,-2.928692 -3.443926,8.660548 -4.895494,-7.930943 -8.205094,4.420653 1.347746,-9.22222 -9.127006,-1.887717 6.96036,-6.198314 -5.778291,-7.312802 9.316145,-0.274151 0.274151,-9.316145 7.312802,5.778291 6.198314,-6.96036 1.887717,9.127006 9.222217,-1.347746 -4.42065,8.205093 7.93094,4.895494 -8.66054,3.443927 z" />
+      <path
+         style="display:inline;fill:url(#linearGradient4613);fill-opacity:1;stroke:none"
+         id="path23453"
+         d="m 104.17619,99.240114 -10.230663,-5.89365 -2.061344,11.625506 -4.048776,-11.09094 -9.051812,7.58065 4.027577,-11.098657 -11.806837,-0.01128 10.219381,-5.913187 -9.037312,-7.597929 11.629423,2.039127 -2.039127,-11.629423 7.597929,9.037311 5.913187,-10.21938 0.01128,11.806836 11.098654,-4.027576 -7.580647,9.051812 11.090937,4.048775 -11.625503,2.061344 z"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         d="m 104.17619,99.240114 -10.385259,-6.225183 -1.906748,11.957039 -3.954098,-11.444281 -9.14649,7.933991 4.327227,-11.308475 -12.106487,0.198538 10.583794,-5.881305 -9.401725,-7.629811 11.888087,2.297791 -2.297791,-11.888087 7.629811,9.401725 5.881305,-10.583794 -0.198538,12.106487 11.308472,-4.327227 -7.933988,9.146489 11.444278,3.954098 -11.957035,1.906748 z"
+         id="path24010"
+         style="display:inline;opacity:0.52993;fill:url(#radialGradient4615);fill-opacity:1;stroke:none"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         style="display:inline;opacity:0.986056;fill:url(#linearGradient4617);fill-opacity:1;stroke:none;filter:url(#filter24133)"
+         d="m 86.944196,66.665243 c 0.776155,4.836498 2.036516,9.187328 2.371631,11.214513 -2.475744,-0.37446 -8.63073,-2.201551 -10.928322,-1.831849 0.177199,0.630895 6.807053,5.906003 8.33621,7.39065 l -3.275165,2.09736 c 3.929307,1.140291 4.392666,0.995333 9.36395,0.995333 6.484057,0 14.45306,-1.448378 17.70315,-2.252082 -0.10927,-0.422007 -5.92149,-2.009477 -5.75199,-2.411083 l 7.13409,-9.020562 c -2.50429,0.903469 -8.74215,3.215276 -11.09866,4.027576 l -0.19984,-11.284229 -5.724622,9.696773 c -1.638398,-1.711586 -5.787432,-6.122882 -7.930432,-8.6224 z"
+         id="path24084"
+         transform="matrix(3.1302824,0,0,3.1302824,-235.41167,-201.00225)" />
+      <circle
+         style="display:inline;fill:url(#radialGradient4619);fill-opacity:1;stroke:none;filter:url(#filter24121)"
+         id="path24099"
+         transform="matrix(3.1302824,0,0,3.1302824,-222.15083,-198.43969)"
+         cx="89.095451"
+         cy="77.441864"
+         r="3.3587573" />
+      <path
+         d="M 107.90577,106.51705 75.88091,88.068263 69.428322,124.45938 56.754512,89.741606 28.419783,113.47117 41.027236,78.729249 4.0685019,78.693941 36.058051,60.183997 7.768713,36.400333 44.172092,42.783379 37.789047,6.3799993 61.57271,34.669337 80.082655,2.6797879 80.117963,39.638522 114.85989,27.031069 91.130319,55.365797 125.84809,68.039607 89.456977,74.492195 Z"
+         id="path24010-6"
+         style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="layer4"
+     style="display:inline">
+    <path
+       id="path23453-8"
+       style="display:inline;fill:url(#linearGradient4613-3);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 21.07485,55.890327 c 8.460788,-5.782067 16.492576,-11.675689 17.372943,-23.367686 0,0 -1.434341,-17.417807 -17.372943,-22.9529742 C 37.958766,8.2969249 50.723883,8.8716332 53.828674,34.238808 53.460129,40.029443 49.448618,59.167233 21.07485,55.890327 Z" />
+    <path
+       id="path1835"
+       style="display:inline;opacity:0.549037;fill:url(#linearGradient2275);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.781767,46.231496 37.781767,33.440399 37.781768,20.649303 32.180756,14.96404 21.07485,9.5696674 35.694174,6.9696799 53.825115,11.838139 53.825115,33.232327 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220);stop-color:#000000;stop-opacity:1"
+       d="m 81.937183,67.269305 c 6.008047,3.070756 5.278565,6.721758 5.517768,7.850284 2.691267,-0.278177 3.873086,-0.468142 4.97754,-0.836625 -0.440041,-4.956775 -3.709675,-7.674519 -10.495308,-7.013659 z"
+       id="path24084-3"
+       transform="matrix(3.1302825,0,0,3.1302825,-235.41168,-201.00226)" />
+    <circle
+       style="display:inline;fill:url(#radialGradient4619-1);fill-opacity:1;stroke:none;filter:url(#filter24121-9)"
+       id="path24099-0"
+       transform="matrix(1.2924208,0,0,1.2924208,-74.768867,-79.148647)"
+       cx="89.095451"
+       cy="77.441864"
+       r="3.3587573" />
+    <path
+       id="path1835-2"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.886791,46.231065 37.781767,33.440399 37.68169,21.252101 32.180756,14.964039 21.07485,9.5696668 35.694174,6.9696793 53.825115,11.838138 53.825115,33.232327 Z" />
+  </g>
+</svg>
diff --git a/flags/system/task-wip.svg b/flags/system/task-wip.svg
new file mode 100644 (file)
index 0000000..8ae3204
--- /dev/null
@@ -0,0 +1,1838 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="64"
+   height="64"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient1251">
+      <stop
+         id="stop1247"
+         offset="0"
+         style="stop-color:#00e145;stop-opacity:1" />
+      <stop
+         id="stop1249"
+         offset="1"
+         style="stop-color:#087427;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215">
+      <stop
+         id="stop1242"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop1244"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1210">
+      <stop
+         style="stop-color:#b5ffc8;stop-opacity:1"
+         offset="0"
+         id="stop1206" />
+      <stop
+         style="stop-color:#bfffd6;stop-opacity:0"
+         offset="1"
+         id="stop1208" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1130">
+      <stop
+         id="stop1126"
+         offset="0"
+         style="stop-color:#0a831f;stop-opacity:1" />
+      <stop
+         id="stop1128"
+         offset="1"
+         style="stop-color:#004706;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1119">
+      <stop
+         style="stop-color:#22cd49;stop-opacity:1"
+         offset="0"
+         id="stop1115" />
+      <stop
+         style="stop-color:#346830;stop-opacity:1"
+         offset="1"
+         id="stop1117" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2075">
+      <stop
+         id="stop2067"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.51447427"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop2069" />
+      <stop
+         offset="0.63315159"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2071" />
+      <stop
+         id="stop2073"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient5252">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop5254" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0;"
+         offset="1"
+         id="stop5256" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5225">
+      <stop
+         id="stop5227"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop5229"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5215-9">
+      <stop
+         id="stop5217"
+         offset="0"
+         style="stop-color:#e16e00;stop-opacity:1;" />
+      <stop
+         id="stop5219"
+         offset="1"
+         style="stop-color:#803f00;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5187">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5189" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5191" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5132">
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:1"
+         offset="0"
+         id="stop5134" />
+      <stop
+         style="stop-color:#ff7e00;stop-opacity:0"
+         offset="1"
+         id="stop5136" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5116">
+      <stop
+         id="stop5118"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop5120"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5097">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5099" />
+      <stop
+         style="stop-color:#ffbebe;stop-opacity:0"
+         offset="1"
+         id="stop5101" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5080-3">
+      <stop
+         style="stop-color:#ffb5b5;stop-opacity:1"
+         offset="0"
+         id="stop5082" />
+      <stop
+         style="stop-color:#ffbfbf;stop-opacity:0;"
+         offset="1"
+         id="stop5084" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5031">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop5033" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop5035" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5015-9-3">
+      <stop
+         style="stop-color:#ff1212;stop-opacity:1"
+         offset="0"
+         id="stop5017" />
+      <stop
+         style="stop-color:#750000;stop-opacity:1"
+         offset="1"
+         id="stop5019" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4997-6">
+      <stop
+         id="stop4999"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1" />
+      <stop
+         id="stop5001"
+         offset="1"
+         style="stop-color:#470000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient4997-6"
+       id="linearGradient3146"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient5015-9-3"
+       id="radialGradient5023"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <linearGradient
+       xlink:href="#linearGradient5080-3"
+       id="linearGradient5086"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5097"
+       id="linearGradient5103"
+       x1="113.41915"
+       y1="76.386581"
+       x2="101.99058"
+       y2="38.609497"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5116"
+       id="linearGradient5114"
+       gradientUnits="userSpaceOnUse"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="67.763039"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <linearGradient
+       xlink:href="#linearGradient5132"
+       id="linearGradient5138"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5193"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215-9"
+       id="radialGradient5205"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5209"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5187"
+       id="radialGradient5213"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <radialGradient
+       xlink:href="#linearGradient5225"
+       id="radialGradient5223"
+       cx="64.000008"
+       cy="26.931658"
+       fx="64.000008"
+       fy="26.931658"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.15707082,-10.997031,2.9287916)" />
+    <radialGradient
+       xlink:href="#linearGradient5031"
+       id="radialGradient5231"
+       cx="64.000008"
+       cy="21.660604"
+       fx="64.000008"
+       fy="21.660604"
+       r="43.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8655683,0,0,0.24089925,-87.241074,-1.6130893)" />
+    <radialGradient
+       xlink:href="#linearGradient5252"
+       id="radialGradient5258"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter5316">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318" />
+    </filter>
+    <filter
+       id="filter5366">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368" />
+    </filter>
+    <filter
+       id="filter3576">
+      <feGaussianBlur
+         id="feGaussianBlur3578"
+         stdDeviation="0.576875" />
+    </filter>
+    <filter
+       id="filter3550">
+      <feGaussianBlur
+         id="feGaussianBlur3552"
+         stdDeviation="1.23375" />
+    </filter>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="24.151943"
+       x2="75.157829"
+       y1="91.321831"
+       x1="75.157829"
+       id="linearGradient3354"
+       xlink:href="#linearGradient3348" />
+    <linearGradient
+       y2="17.476311"
+       x2="59.757221"
+       y1="114.03454"
+       x1="59.355339"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3264"
+       xlink:href="#linearGradient3188" />
+    <linearGradient
+       id="linearGradient3148">
+      <stop
+         id="stop3150"
+         offset="0"
+         style="stop-color:#8c0000;stop-opacity:1;" />
+      <stop
+         id="stop3152"
+         offset="1"
+         style="stop-color:#bf0000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3158">
+      <stop
+         id="stop3160"
+         offset="0"
+         style="stop-color:#520000;stop-opacity:1" />
+      <stop
+         id="stop3162"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3166">
+      <stop
+         id="stop3168"
+         offset="0"
+         style="stop-color:#e20800;stop-opacity:1" />
+      <stop
+         style="stop-color:#d80500;stop-opacity:1;"
+         offset="0.48148149"
+         id="stop3564" />
+      <stop
+         id="stop3170"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3188">
+      <stop
+         id="stop3190"
+         offset="0"
+         style="stop-color:#ffaa00;stop-opacity:1;" />
+      <stop
+         id="stop3192"
+         offset="1"
+         style="stop-color:#ffaa00;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3203">
+      <stop
+         id="stop3205"
+         offset="0"
+         style="stop-color:#ffbfbf;stop-opacity:1;" />
+      <stop
+         id="stop3207"
+         offset="1"
+         style="stop-color:#ffbfbf;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3254">
+      <stop
+         id="stop3256"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3258"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3282-3">
+      <stop
+         id="stop3284"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3286"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3324">
+      <stop
+         id="stop3326"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3328"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3348">
+      <stop
+         id="stop3350"
+         offset="0"
+         style="stop-color:#320000;stop-opacity:1;" />
+      <stop
+         id="stop3352"
+         offset="1"
+         style="stop-color:#320000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3530">
+      <stop
+         id="stop3532"
+         offset="0"
+         style="stop-color:#590000;stop-opacity:1;" />
+      <stop
+         id="stop3534"
+         offset="1"
+         style="stop-color:#590000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3554">
+      <stop
+         id="stop3556"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3558"
+         offset="1"
+         style="stop-color:#dfdfdf;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient3554"
+       id="linearGradient5530"
+       gradientUnits="userSpaceOnUse"
+       x1="68.9375"
+       y1="38.90625"
+       x2="68.9375"
+       y2="103.40701"
+       gradientTransform="matrix(0.56403211,0,0,0.56403211,-3.6254784,-3.8045531)" />
+    <linearGradient
+       xlink:href="#linearGradient3282-3"
+       id="linearGradient5533"
+       gradientUnits="userSpaceOnUse"
+       x1="58.855938"
+       y1="13.276386"
+       x2="58.800629"
+       y2="43.014843"
+       gradientTransform="translate(-209,134.00203)" />
+    <linearGradient
+       xlink:href="#linearGradient3254"
+       id="linearGradient5536"
+       gradientUnits="userSpaceOnUse"
+       x1="97.911537"
+       y1="86.30513"
+       x2="71.094215"
+       y2="39.373199"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3530"
+       id="radialGradient5539"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.3513697,0,0,1.3513697,-21.49693,-22.68578)"
+       cx="62.78125"
+       cy="66.175667"
+       fx="62.78125"
+       fy="77.980095"
+       r="29.84375" />
+    <linearGradient
+       xlink:href="#linearGradient3203"
+       id="linearGradient5542"
+       gradientUnits="userSpaceOnUse"
+       x1="64.968697"
+       y1="9.5585432"
+       x2="89.705704"
+       y2="101.87831"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       xlink:href="#linearGradient3166"
+       id="radialGradient5546"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.41925,0,0,1.4090223,-235.83199,109.95438)"
+       cx="63.999996"
+       cy="74.182564"
+       fx="63.999996"
+       fy="74.182564"
+       r="48" />
+    <radialGradient
+       xlink:href="#linearGradient3324"
+       id="radialGradient5549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.501569,0,0,2.2063489,-177.10041,58.92705)"
+       cx="64"
+       cy="60.521297"
+       fx="64"
+       fy="44.562428"
+       r="52" />
+    <linearGradient
+       xlink:href="#linearGradient3158"
+       id="linearGradient5552"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,-209,261.99796)"
+       x1="65.306122"
+       y1="21.898888"
+       x2="65.306122"
+       y2="107.30016" />
+    <linearGradient
+       xlink:href="#linearGradient3148"
+       id="linearGradient5555"
+       gradientUnits="userSpaceOnUse"
+       x1="71.937202"
+       y1="114.73783"
+       x2="71.937202"
+       y2="7.5424786"
+       gradientTransform="translate(-209,134.00203)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574">
+      <stop
+         id="stop4576"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580" />
+      <stop
+         id="stop4582"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       id="radialGradient24014"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016" />
+      <stop
+         id="stop24018"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4">
+      <stop
+         id="stop2812-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0" />
+      <stop
+         id="stop2820-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <linearGradient
+       xlink:href="#radialGradient24014"
+       id="linearGradient24078"
+       gradientUnits="userSpaceOnUse"
+       x1="73.711586"
+       y1="71.214951"
+       x2="89.811958"
+       y2="99.101616" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7">
+      <stop
+         id="stop4576-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5" />
+      <stop
+         id="stop4582-6"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient24113">
+      <stop
+         style="stop-color:#fffbba;stop-opacity:1;"
+         offset="0"
+         id="stop24115" />
+      <stop
+         style="stop-color:#fffbba;stop-opacity:0;"
+         offset="1"
+         id="stop24117" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient24091">
+      <stop
+         style="stop-color:#fff201;stop-opacity:1;"
+         offset="0"
+         id="stop24093" />
+      <stop
+         style="stop-color:#fff201;stop-opacity:0;"
+         offset="1"
+         id="stop24095" />
+    </linearGradient>
+    <radialGradient
+       id="radialGradient24014-2"
+       cx="232.5"
+       cy="27.3013"
+       r="120"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         id="stop24016-9" />
+      <stop
+         id="stop24018-1"
+         style="stop-color:#c57c00;stop-opacity:1"
+         offset="0.49229774" />
+      <stop
+         id="stop24020-2"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         offset="0.59700626" />
+      <stop
+         offset="1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         id="stop24022-7" />
+    </radialGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0">
+      <stop
+         id="stop2812-5-9"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6" />
+      <stop
+         id="stop2820-3-0"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath24074-6">
+      <path
+         style="opacity:0.39436622;fill:url(#linearGradient24078);fill-opacity:1;stroke:none"
+         id="path24076-2"
+         d="m 104.17619,99.240114 -7.393254,-2.416374 -2.412211,7.77056 -4.913208,-6.029875 -6.230363,5.232875 -0.873257,-7.728938 -8.070419,1.033783 3.443947,-6.974112 -7.348174,-3.493525 6.667723,-4.005058 -4.292936,-6.911662 7.774544,0.235574 0.125279,-8.135397 6.413001,4.401413 4.50372,-6.7762 3.015376,7.169834 7.452262,-3.265607 -1.33961,7.661884 8.03476,1.281791 -5.26928,5.72134 6.06628,5.422232 -7.52598,1.964311 z"
+         transform="translate(80,-0.9385641)" />
+    </clipPath>
+    <filter
+       id="filter24121"
+       x="-0.192"
+       width="1.384"
+       y="-0.192"
+       height="1.384">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123" />
+    </filter>
+    <filter
+       id="filter24133"
+       x="-0.040568756"
+       width="1.0811375"
+       y="-0.066520196"
+       height="1.1330404">
+      <feGaussianBlur
+         stdDeviation="0.31738818"
+         id="feGaussianBlur24135" />
+    </filter>
+    <filter
+       id="filter24274">
+      <feGaussianBlur
+         stdDeviation="1.3050374"
+         id="feGaussianBlur24276" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0"
+       id="linearGradient4613"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738" />
+    <radialGradient
+       xlink:href="#radialGradient4574-7"
+       id="radialGradient4615"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7024894,0,0,1.7024894,-63.192305,-52.615725)"
+       cx="90.121712"
+       cy="78.674843"
+       fx="90.121712"
+       fy="78.674843"
+       r="19.575562" />
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient4617"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.790741"
+       x2="89.953125"
+       y2="109.35688" />
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619"
+       gradientUnits="userSpaceOnUse"
+       cx="89.095451"
+       cy="77.441864"
+       fx="89.095451"
+       fy="77.441864"
+       r="6.5473376" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-6">
+      <stop
+         id="stop4576-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-5" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-3" />
+      <stop
+         id="stop4582-5"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <filter
+       id="filter2220"
+       x="-0.021250301"
+       width="1.0425006"
+       y="-0.034843912"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient24113"
+       id="radialGradient4619-1"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375" />
+    <filter
+       id="filter24121-9"
+       x="-0.192"
+       width="1.3839999"
+       y="-0.192"
+       height="1.3839999">
+      <feGaussianBlur
+         stdDeviation="0.53740116"
+         id="feGaussianBlur24123-2" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7"
+       id="linearGradient2275"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7"
+       id="linearGradient4613-3"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-84.185323,-77.8823)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7">
+      <stop
+         id="stop2812-5-9-5"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2" />
+      <stop
+         id="stop2820-3-0-2"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#linearGradient1130"
+       id="linearGradient3146-3"
+       x1="61.211941"
+       y1="15.015407"
+       x2="61.211941"
+       y2="105.08932"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="pad"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient1119"
+       id="radialGradient5023-1"
+       cx="64.000008"
+       cy="73.475296"
+       fx="64"
+       fy="77.237541"
+       r="39.999996"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1722452,-5.599695e-8,3.9327722e-8,0.82329015,-42.868389,-19.125921)" />
+    <filter
+       id="filter5366-0">
+      <feGaussianBlur
+         stdDeviation="0.52066799"
+         id="feGaussianBlur5368-6" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient1210"
+       id="linearGradient5086-6"
+       x1="77.450546"
+       y1="17.868132"
+       x2="77.450546"
+       y2="89.444931"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67425532,0,0,0.67425532,-10.997031,-10.999845)" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5205-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-2">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-2" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient5215"
+       id="radialGradient5209-7"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.0188417,4.0188417,-0.7071068,0.7071068,-60.177349,-96.991095)"
+       cx="26.03125"
+       cy="26.03125"
+       fx="26.03125"
+       fy="26.03125"
+       r="5.96875" />
+    <filter
+       x="-0.12"
+       width="1.24"
+       y="-0.12"
+       height="1.24"
+       id="filter5199-1">
+      <feGaussianBlur
+         stdDeviation="0.596875"
+         id="feGaussianBlur5201-29" />
+    </filter>
+    <linearGradient
+       id="linearGradient3342">
+      <stop
+         id="stop3344"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3347"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3825">
+      <stop
+         id="stop3827"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.18705036;"
+         offset="0.5"
+         id="stop3833" />
+      <stop
+         id="stop3829"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         id="stop3753"
+         offset="0"
+         style="stop-color:#beba2c;stop-opacity:1;" />
+      <stop
+         id="stop3755"
+         offset="1"
+         style="stop-color:#b6be2c;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3528">
+      <stop
+         id="stop3530"
+         offset="0"
+         style="stop-color:#eaf209;stop-opacity:1;" />
+      <stop
+         id="stop3532-6"
+         offset="1"
+         style="stop-color:#c7c634;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3295">
+      <stop
+         id="stop3297"
+         offset="0"
+         style="stop-color:#fffe63;stop-opacity:1;" />
+      <stop
+         id="stop3299"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3202">
+      <stop
+         id="stop3204"
+         offset="0"
+         style="stop-color:#fcff9c;stop-opacity:1;" />
+      <stop
+         id="stop3206"
+         offset="1"
+         style="stop-color:#c1a965;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="XMLID_4_">
+      <stop
+         id="stop3082"
+         style="stop-color:#cfd13d;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop3090"
+         style="stop-color:#db8900;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient3344">
+      <stop
+         style="stop-color:#fdff63;stop-opacity:1;"
+         offset="0"
+         id="stop3346" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3348" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="123.90625"
+       x2="8.083992"
+       y1="33.40625"
+       x1="147.09375"
+       id="linearGradient3516"
+       xlink:href="#XMLID_4_"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="116.90625"
+       fx="67.09375"
+       cy="116.90625"
+       cx="67.09375"
+       id="radialGradient3524"
+       xlink:href="#XMLID_4_"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <radialGradient
+       gradientTransform="matrix(0.25960703,0.02195575,-0.01356265,0.16036622,20.547101,19.117458)"
+       gradientUnits="userSpaceOnUse"
+       r="56"
+       fy="68.231934"
+       fx="64.689766"
+       cy="27.418272"
+       cx="99.726295"
+       id="radialGradient3535"
+       xlink:href="#linearGradient3528" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       id="linearGradient3548"
+       xlink:href="#linearGradient3295"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8464245,9.0581834)" />
+    <linearGradient
+       y2="80.172485"
+       x2="75.09375"
+       y1="4.5317035"
+       x1="75.09375"
+       gradientTransform="matrix(0.37421642,0,0,0.37421642,7.8480022,9.0589208)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3581"
+       xlink:href="#linearGradient5225" />
+    <linearGradient
+       gradientTransform="translate(-137)"
+       gradientUnits="userSpaceOnUse"
+       y2="63.426777"
+       x2="208.59375"
+       y1="130.40625"
+       x1="208.59375"
+       id="linearGradient3613"
+       xlink:href="#linearGradient3295" />
+    <filter
+       id="filter3639">
+      <feGaussianBlur
+         id="feGaussianBlur3641"
+         stdDeviation="1.0580524" />
+    </filter>
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.17149938,0,1.717802e-8,0.37424684,15.498384,9.0562384)"
+       r="59.995121"
+       fy="66.906013"
+       fx="-10.165252"
+       cy="66.906013"
+       cx="-10.165252"
+       id="radialGradient3654"
+       xlink:href="#radialGradient24014-2" />
+    <radialGradient
+       r="59.995121"
+       fy="80.404922"
+       fx="167.67001"
+       cy="80.404922"
+       cx="167.67001"
+       gradientTransform="matrix(0.10016647,0.19510746,-0.26335376,0.13520353,48.633717,-4.4371762)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3658"
+       xlink:href="#radialGradient2810-4-0-7" />
+    <linearGradient
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       y2="14.444496"
+       x2="125.30366"
+       y1="12.569496"
+       x1="120.0625"
+       id="linearGradient3676"
+       xlink:href="#linearGradient3282-3" />
+    <filter
+       id="filter3738"
+       height="1.2746474"
+       y="-0.13732363"
+       width="1.301924"
+       x="-0.15096202" />
+    <radialGradient
+       r="59.995121"
+       fy="26.862719"
+       fx="74.871155"
+       cy="48.228905"
+       cx="72.684891"
+       gradientTransform="matrix(0.36761749,0.00625584,-0.00133974,0.07872926,0.89968044,20.463474)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3744"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.675025,0,0,0.3583625,19.527377,41.004647)"
+       r="59.995121"
+       fy="126.69183"
+       fx="66.01458"
+       cy="126.69183"
+       cx="66.01458"
+       id="radialGradient3757"
+       xlink:href="#linearGradient3751" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.11577766,0,0,0.17884727,24.409472,10.504314)"
+       r="59.995121"
+       fy="7.4108429"
+       fx="64.088867"
+       cy="7.4108429"
+       cx="64.088867"
+       id="radialGradient3767"
+       xlink:href="#linearGradient5225" />
+    <linearGradient
+       y2="11.610882"
+       x2="120.93423"
+       y1="12.569496"
+       x1="120.0625"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3771"
+       xlink:href="#linearGradient3282-3" />
+    <filter
+       id="filter3438">
+      <feGaussianBlur
+         id="feGaussianBlur3440"
+         stdDeviation="1.3342697" />
+    </filter>
+    <filter
+       id="filter3630"
+       x="-0.0059927434"
+       width="1.0119855"
+       y="-0.0060072742"
+       height="1.0120145" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient2361"
+       xlink:href="#linearGradient3825" />
+    <linearGradient
+       y2="57.25"
+       x2="-152.26776"
+       y1="37.68198"
+       x1="-151.43935"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2363"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="39.803303"
+       x1="-132.51041"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2365"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="72.881729"
+       x2="-158.92462"
+       y1="44.753052"
+       x1="-83.012932"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2367"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="86.125"
+       x2="-163"
+       y1="105.625"
+       x1="-73"
+       id="linearGradient3349"
+       xlink:href="#linearGradient3342" />
+    <filter
+       id="filter3363"
+       height="1.2042203"
+       y="-0.10211017"
+       width="1.1754827"
+       x="-0.087741368">
+      <feGaussianBlur
+         id="feGaussianBlur3365"
+         stdDeviation="3.0526685" />
+    </filter>
+    <linearGradient
+       y2="92.603989"
+       x2="-138.0043"
+       y1="137.13324"
+       x1="-83.593941"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3372"
+       xlink:href="#linearGradient3342" />
+    <linearGradient
+       y2="112.70422"
+       x2="-136.51074"
+       y1="99.979607"
+       x1="-61.802711"
+       gradientTransform="translate(-40.5,-1.5)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3376"
+       xlink:href="#linearGradient3342" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3388"
+       xlink:href="#linearGradient3825" />
+    <radialGradient
+       r="59.995121"
+       fy="59.708473"
+       fx="-113.14772"
+       cy="118.60459"
+       cx="-112.17241"
+       gradientTransform="matrix(0.6484284,0.1017206,-0.03125715,0.1992521,-4.56257,53.15916)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3422"
+       xlink:href="#linearGradient3825" />
+    <mask
+       id="mask3402"
+       maskUnits="userSpaceOnUse">
+      <g
+         transform="translate(167.50257,-0.00375516)"
+         id="g3404">
+        <g
+           transform="translate(80.51637,30.885255)"
+           id="g3406">
+          <path
+             id="path3408"
+             d="m -184.42232,-32.47243 c -33.12519,0 -64,32.374805 -64,65.5 0,33.12519 31.37481,64 64.5,64 30.28912,0 55.33661,-26.21626 59.40625,-55.34375 l -35.03125,-5.03125 c -1.62468,11.96113 -11.93007,20.96875 -24.375,20.96875 -13.57163,0 -22.09375,-11.52212 -22.09375,-25.09375 0,-13.571634 6.02212,-20.09375 19.59375,-20.09375 6.78582,-1e-6 9.92129,-2.234956 14.375,2.21875 l -4.82718,11.327179 c -2.05587,2.05587 -2.24372,3.30578 -1.67961,4.615529 0.50857,1.180779 1.52073,2.526042 4.20973,2.526042 h 43.95331 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.843229 -2.18147,-4.349615 -1.31432,-0.520385 -3.03321,-0.122678 -5.10709,1.9512 l -10.19531,0.195314 c -10.85935,-10.859351 -26.3749,-13.0625 -42.9375,-13.0625 z"
+             style="opacity:1;fill:url(#radialGradient3422);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+          <path
+             id="path3410"
+             d="M -161.5,34.5 C -162,37 -180,54 -180,54 l 47.5,26 20.5,-41.5 z"
+             style="fill:url(#linearGradient2363);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+          <path
+             style="fill:url(#linearGradient2365);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             id="path3412" />
+          <path
+             id="path3414"
+             d="m -161.5,34.5 c -0.5,2.5 -19.77817,19.889087 -19.77817,19.889087 L -151.62742,97.591883 -112,38.5 Z"
+             style="fill:url(#linearGradient2367);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+        </g>
+        <rect
+           style="opacity:1;fill:url(#linearGradient3349);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           id="rect3416"
+           width="83.5"
+           height="71.75"
+           x="-119"
+           y="69.75" />
+        <path
+           transform="rotate(50.254681,-117.75,104.12499)"
+           style="fill:url(#linearGradient3372);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           id="path3418" />
+        <path
+           id="path3420"
+           d="M -159.5,68.25 -39.138259,55.983708 -93.453327,162.55286 -197.79465,128.96507 Z"
+           style="fill:url(#linearGradient3376);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3363)"
+           transform="rotate(50.254681,-117.75,104.12499)" />
+      </g>
+    </mask>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="18.103027"
+       x2="-33.476654"
+       y1="18.103027"
+       x1="-267.47665"
+       id="linearGradient3565"
+       xlink:href="#linearGradient3751" />
+    <radialGradient
+       xlink:href="#linearGradient3254"
+       id="radialGradient4619-1-3"
+       gradientUnits="userSpaceOnUse"
+       cx="89.252594"
+       cy="77.5196"
+       fx="89.252594"
+       fy="77.5196"
+       r="6.5473375"
+       gradientTransform="matrix(1.2924208,0,0,0.87375818,-91.725015,-49.563789)" />
+    <filter
+       id="filter2220-2"
+       x="-0.0212503"
+       width="1.0425006"
+       y="-0.03484391"
+       height="1.0696878">
+      <feGaussianBlur
+         stdDeviation="0.16625095"
+         id="feGaussianBlur2218-9" />
+    </filter>
+    <linearGradient
+       xlink:href="#radialGradient4574-7-2"
+       id="linearGradient2275-1"
+       x1="19.420542"
+       y1="32.759075"
+       x2="54.341114"
+       y2="32.759075"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-3.5182439,-4.743318)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient4574-7-2">
+      <stop
+         id="stop4576-5-7"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3388288"
+         style="stop-color:#fff211;stop-opacity:1;"
+         id="stop4578-3-0" />
+      <stop
+         offset="0.59700626"
+         style="stop-color:#ffff32;stop-opacity:1"
+         id="stop4580-5-9" />
+      <stop
+         id="stop4582-6-3"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#radialGradient2810-4-0-7-0"
+       id="linearGradient4613-3-6"
+       gradientUnits="userSpaceOnUse"
+       x1="89.954811"
+       y1="100.94856"
+       x2="89.954811"
+       y2="61.268738"
+       gradientTransform="matrix(1.2924208,0,0,1.2924208,-87.703563,-82.625618)" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="120"
+       cy="27.3013"
+       cx="232.5"
+       id="radialGradient2810-4-0-7-0">
+      <stop
+         id="stop2812-5-9-5-6"
+         style="stop-color:#ffee93;stop-opacity:1;"
+         offset="0" />
+      <stop
+         offset="0.3773585"
+         style="stop-color:#c57c00;stop-opacity:1;"
+         id="stop3686-3-9-2" />
+      <stop
+         offset="0.49483803"
+         style="stop-color:#ffff7d;stop-opacity:1;"
+         id="stop2816-0-6-2-6" />
+      <stop
+         id="stop2820-3-0-2-1"
+         style="stop-color:#ffe171;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       xlink:href="#linearGradient24091"
+       id="linearGradient2029"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(5.5,-1)"
+       x1="89.953125"
+       y1="74.662361"
+       x2="93.483055"
+       y2="82.781197" />
+    <radialGradient
+       xlink:href="#linearGradient1251"
+       id="radialGradient5258-3"
+       cx="64.000008"
+       cy="82.000008"
+       fx="64.000008"
+       fy="82.000008"
+       r="37.816799"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       style="color-interpolation-filters:sRGB"
+       id="filter1018-5"
+       x="-0.144"
+       width="1.288"
+       y="-0.144"
+       height="1.288">
+      <feGaussianBlur
+         stdDeviation="4.5380159"
+         id="feGaussianBlur1020-3" />
+    </filter>
+    <filter
+       id="filter5316-9">
+      <feGaussianBlur
+         stdDeviation="0.40209128"
+         id="feGaussianBlur5318-3" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient1251"
+       id="linearGradient1250"
+       gradientUnits="userSpaceOnUse"
+       x1="82.550011"
+       y1="108.25001"
+       x2="82.550011"
+       y2="35.43399" />
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     style="display:inline">
+    <rect
+       style="display:inline;opacity:0.75;fill:#044814;fill-opacity:1;stroke:#044814;stroke-width:8.49952;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366-0)"
+       id="rect5320-2"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455611)" />
+    <rect
+       style="display:none;opacity:0.75;fill:#9c0f0f;fill-opacity:1;stroke:#9c0f0f;stroke-width:8.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5366)"
+       id="rect5320"
+       width="95.633598"
+       height="95.633598"
+       x="16.183208"
+       y="16.183208"
+       rx="6.0052505"
+       ry="6.0052505"
+       transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#radialGradient5223);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect5221"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146-3);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160-5"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3146);stroke-width:4.51226;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2160"
+       width="53.940422"
+       height="53.940422"
+       x="5.1851034"
+       y="5.1822882"
+       rx="3.3871541"
+       ry="3.3871541" />
+    <rect
+       ry="3.3871541"
+       rx="3.3871541"
+       y="5.1822882"
+       x="5.1851034"
+       height="53.940422"
+       width="53.940422"
+       id="rect5029"
+       style="display:inline;opacity:0.726829;fill:none;fill-opacity:1;stroke:url(#radialGradient5231);stroke-width:4.512;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5209);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207" />
+    <path
+       id="path5203-8"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.517073;fill:url(#radialGradient5205-7);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-2)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       transform="matrix(-0.67425523,-5.7792385e-8,5.7792385e-8,-0.67425523,75.309615,75.303857)"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5209-7);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199-1)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5207-3" />
+    <path
+       id="path5203"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:none;opacity:0.517073;fill:url(#radialGradient5205);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(5.7792385e-8,-0.67425523,0.67425523,5.7792385e-8,-10.995558,75.305336)" />
+    <path
+       id="path5211"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       style="display:inline;opacity:0.6;fill:url(#radialGradient5213);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       transform="matrix(-5.7792385e-8,0.67425523,-0.67425523,-5.7792385e-8,75.308143,-11.001313)" />
+    <path
+       style="display:inline;opacity:0.75;fill:url(#radialGradient5193);fill-opacity:1;stroke:none;stroke-width:8;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5199)"
+       d="m 28.03125,20.0625 c -4.139326,0.473587 -7.495163,3.829424 -7.96875,7.96875 L 32,32 Z"
+       id="path5176"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822867"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164-0"
+       style="display:inline;opacity:1;fill:url(#radialGradient5023-1);fill-opacity:1;stroke:none;stroke-width:0.282;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       ry="3.5226405"
+       rx="3.5226405"
+       y="5.1822872"
+       x="5.185102"
+       height="53.940422"
+       width="53.940422"
+       id="rect2164"
+       style="display:none;opacity:1;fill:url(#radialGradient5023);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <rect
+       style="display:inline;opacity:1;fill:url(#radialGradient5258-3);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018-5)"
+       id="rect5248-5"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <rect
+       style="display:none;opacity:1;fill:url(#radialGradient5258);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter1018)"
+       id="rect5248"
+       width="75.633598"
+       height="75.633598"
+       x="26.183207"
+       y="26.183207"
+       rx="25.501919"
+       ry="25.501919"
+       transform="matrix(0.63860643,0,0,0.60877674,-8.715501,-5.6811497)" />
+    <path
+       style="display:inline;opacity:0.347912;fill:url(#linearGradient5086-6);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.182282 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 V 32.447481 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.7010521 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073-7" />
+    <path
+       style="display:none;opacity:1;fill:url(#linearGradient5086);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="rect5073" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5103);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 58.598759,6.8679198 c 0.103868,0.3358577 0.147495,0.7034165 0.147495,1.0745949 V 29.855813 c -9.210898,2.928066 -19.961237,4.614433 -31.458226,4.614435 -7.796643,0 -15.236303,-0.800017 -22.1029314,-2.212401 v 0.189634 c 7.0743204,1.540942 14.8140344,2.402034 22.9246804,2.402034 11.333942,0 21.935474,-1.664681 31.015743,-4.551223 V 8.701052 c 0,-0.6750766 -0.20066,-1.2989941 -0.526761,-1.8331322 z"
+       id="path5088" />
+    <path
+       style="display:inline;opacity:1;fill:url(#linearGradient5114);fill-opacity:1;stroke:none;stroke-width:0.282016;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 8.7038667,5.1822819 c -1.9515438,0 -3.5187701,1.5672263 -3.5187701,3.5187701 v 23.746429 c 0.2715754,0.05916 0.5482294,0.111422 0.8217485,0.168564 V 9.6070826 c 0,-1.9337182 1.5206973,-3.476629 3.4134179,-3.476629 h 45.470092 c 1.892717,0 3.413416,1.5429108 3.413416,3.476629 V 30.551138 c 0.272799,-0.0837 0.551623,-0.166974 0.821749,-0.252846 V 8.701052 c 0,-1.9515438 -1.56723,-3.5187701 -3.51877,-3.5187701 z"
+       id="path5105" />
+    <rect
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient1250);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316-9)"
+       id="rect5122-6"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <rect
+       style="display:none;opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient5138);stroke-width:0.418263;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5316)"
+       id="rect5122"
+       width="79.999992"
+       height="79.999992"
+       x="24.000008"
+       y="24.000008"
+       rx="5.2244902"
+       ry="5.2244902"
+       transform="matrix(0.67425535,0,0,0.67425535,-10.997031,-10.999845)" />
+    <g
+       id="g1044"
+       style="display:none">
+      <path
+         id="path3528"
+         d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 34.5,81.6875 46.3125,93.5 63.34375,76.4375 80.40625,93.5 92.1875,81.6875 75.15625,64.65625 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+         style="display:inline;fill:none;fill-opacity:1;stroke:url(#radialGradient5539);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3550)"
+         transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+      <path
+         style="display:inline;fill:url(#linearGradient5530);fill-opacity:1;stroke:none;stroke-width:0.499168;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 22.17899,16.253839 -6.662629,6.645004 9.623798,9.623798 -9.623798,9.606172 6.662629,6.662629 9.606173,-9.623797 9.623797,9.623797 6.645004,-6.662629 -9.606171,-9.606172 9.606171,-9.623798 -6.645004,-6.645004 -9.623797,9.606172 z"
+         id="rect3376" />
+      <path
+         style="display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.885;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3576)"
+         d="M 46.3125,35.8125 34.5,47.59375 51.5625,64.65625 48.59375,67.625 c 5.04146,0.77689 10.40123,1.1875 15.96875,1.1875 4.79161,0 9.42877,-0.32448 13.84375,-0.90625 l -3.25,-3.25 L 92.1875,47.59375 80.40625,35.8125 63.34375,52.84375 Z"
+         id="path3566"
+         transform="matrix(0.56403212,0,0,0.56403212,-3.9427466,-3.9455613)" />
+    </g>
+  </g>
+  <g
+     id="layer5"
+     style="display:inline">
+    <path
+       id="path23453-8-8"
+       style="display:inline;fill:url(#linearGradient4613-3-6);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 34.296024,31.758871 c 3.648849,-4.344634 1.378731,-1.827187 4.822751,-5.235736 -1.882369,-1.830148 -4.234452,-3.364703 -7.219932,-3.364703 -9.108227,0 -10.298314,6.383483 -10.298314,8.964776 0,7.776724 4.775811,10.548629 9.951736,10.808771 6.602468,0 10.258777,-3.284875 10.258777,-7.222891 4.316118,0.656645 7.169186,0.590906 11.188659,1.252808 -1.263606,4.715843 -6.519859,17.595542 -20.084172,17.595542 -11.464553,0 -22.914951,-8.228225 -22.914951,-21.544053 0,-3.034067 2.551584,-21.800026 21.895432,-21.800026 9.082295,0 11.686301,2.263192 16.035505,6.612396 2.466249,-1.592587 4.725818,-2.836218 5.168571,-3.31835 0,6.120029 -0.04483,17.168951 -0.04483,17.168951 -11.056775,0 -7.068513,0.08252 -18.759232,0.08252 z" />
+    <path
+       id="path1835-7"
+       style="display:none;opacity:0.549037;fill:url(#linearGradient2275-1);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 50.306871,28.489009 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 25.766872,45.048528 34.263523,41.488178 34.263523,28.697081 34.263524,15.905985 28.662512,10.220722 17.556606,4.8263494 32.17593,2.2263619 50.306871,7.094821 50.306871,28.489009 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2029);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220-2);stop-color:#000000;stop-opacity:1"
+       d="m 85.790181,69.3457 c -4.147963,0 -6.232322,3.972264 -6.232322,7.140412 2.210509,0.242419 1.833722,0.150641 3.617866,0.28857 0,-0.721321 0.269839,-3.690282 3.142481,-3.690282 1.674544,0 1.838989,0.396877 2.507226,1.116157 -0.788848,0.79914 -0.958432,1.010933 -1.540676,1.672608 2.353371,0 4.08289,-0.02636 5.992824,-0.02636 0.01922,-2.458423 -0.04785,-3.684979 -0.0096,-5.48023 -1.08015,0.68045 -0.467913,0.431269 -1.632788,1.020826 C 90.315075,70.067284 88.110758,69.3457 85.790179,69.3457 Z"
+       id="path24084-3-9"
+       transform="matrix(3.1302825,0,0,3.1302825,-238.92992,-205.74557)" />
+    <ellipse
+       style="display:inline;opacity:0.729931;fill:url(#radialGradient4619-1-3);fill-opacity:1;stroke:none;stroke-width:1.06267"
+       id="path24099-0-2"
+       cx="23.4238"
+       cy="18.101673"
+       rx="4.3409276"
+       ry="2.9347417" />
+    <path
+       id="path1835-2-0"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 35.243021,32.051343 c -2.566708,0.05403 0.651716,-2.30417 3.875753,-5.528207 -2.102078,-2.536143 -3.960323,-3.548914 -7.290519,-3.513296 -8.57924,0.09176 -10.251031,7.335354 -10.251031,10.031984 0,5.916934 5.337162,9.858491 10.167765,9.858491 4.529185,0 8.643811,-1.883349 10.066053,-7.191227 8.34228,1.009859 3.445518,0.345854 11.006018,1.192373 1.180973,0.132229 -3.212591,17.572604 -20.943122,17.572604 -17.967972,0 -21.732031,-17.030792 -21.732031,-21.610128 0,-3.707705 2.445098,-21.611175 21.337446,-21.611175 11.167452,0 13.652839,4.309924 16.452162,6.572993 3.310615,-2.234412 2.879134,-1.655801 5.168571,-3.31835 0,5.074207 -0.04483,12.821672 -0.04483,17.168951 -3.860022,0 -17.812232,0.374987 -17.812232,0.374987 z" />
+  </g>
+  <g
+     id="layer2"
+     style="display:none">
+    <g
+       id="layer1-7"
+       transform="matrix(0.41287673,0,0,0.41287673,5.902367,6.3992748)"
+       style="display:inline">
+      <path
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-200.19994)"
+         style="display:none;fill:#7c4300;fill-opacity:1;stroke:none;filter:url(#filter24274)"
+         id="path24256"
+         d="m 104.17619,99.240114 -8.848081,-2.928692 -3.443926,8.660548 -4.895494,-7.930943 -8.205094,4.420653 1.347746,-9.22222 -9.127006,-1.887717 6.96036,-6.198314 -5.778291,-7.312802 9.316145,-0.274151 0.274151,-9.316145 7.312802,5.778291 6.198314,-6.96036 1.887717,9.127006 9.222217,-1.347746 -4.42065,8.205093 7.93094,4.895494 -8.66054,3.443927 z" />
+      <path
+         style="display:inline;fill:url(#linearGradient4613);fill-opacity:1;stroke:none"
+         id="path23453"
+         d="m 104.17619,99.240114 -10.230663,-5.89365 -2.061344,11.625506 -4.048776,-11.09094 -9.051812,7.58065 4.027577,-11.098657 -11.806837,-0.01128 10.219381,-5.913187 -9.037312,-7.597929 11.629423,2.039127 -2.039127,-11.629423 7.597929,9.037311 5.913187,-10.21938 0.01128,11.806836 11.098654,-4.027576 -7.580647,9.051812 11.090937,4.048775 -11.625503,2.061344 z"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         d="m 104.17619,99.240114 -10.385259,-6.225183 -1.906748,11.957039 -3.954098,-11.444281 -9.14649,7.933991 4.327227,-11.308475 -12.106487,0.198538 10.583794,-5.881305 -9.401725,-7.629811 11.888087,2.297791 -2.297791,-11.888087 7.629811,9.401725 5.881305,-10.583794 -0.198538,12.106487 11.308472,-4.327227 -7.933988,9.146489 11.444278,3.954098 -11.957035,1.906748 z"
+         id="path24010"
+         style="display:inline;opacity:0.52993;fill:url(#radialGradient4615);fill-opacity:1;stroke:none"
+         transform="matrix(3.1302824,0,0,3.1302824,-218.19512,-204.13253)" />
+      <path
+         style="display:inline;opacity:0.986056;fill:url(#linearGradient4617);fill-opacity:1;stroke:none;filter:url(#filter24133)"
+         d="m 86.944196,66.665243 c 0.776155,4.836498 2.036516,9.187328 2.371631,11.214513 -2.475744,-0.37446 -8.63073,-2.201551 -10.928322,-1.831849 0.177199,0.630895 6.807053,5.906003 8.33621,7.39065 l -3.275165,2.09736 c 3.929307,1.140291 4.392666,0.995333 9.36395,0.995333 6.484057,0 14.45306,-1.448378 17.70315,-2.252082 -0.10927,-0.422007 -5.92149,-2.009477 -5.75199,-2.411083 l 7.13409,-9.020562 c -2.50429,0.903469 -8.74215,3.215276 -11.09866,4.027576 l -0.19984,-11.284229 -5.724622,9.696773 c -1.638398,-1.711586 -5.787432,-6.122882 -7.930432,-8.6224 z"
+         id="path24084"
+         transform="matrix(3.1302824,0,0,3.1302824,-235.41167,-201.00225)" />
+      <circle
+         style="display:inline;fill:url(#radialGradient4619);fill-opacity:1;stroke:none;filter:url(#filter24121)"
+         id="path24099"
+         transform="matrix(3.1302824,0,0,3.1302824,-222.15083,-198.43969)"
+         cx="89.095451"
+         cy="77.441864"
+         r="3.3587573" />
+      <path
+         d="M 107.90577,106.51705 75.88091,88.068263 69.428322,124.45938 56.754512,89.741606 28.419783,113.47117 41.027236,78.729249 4.0685019,78.693941 36.058051,60.183997 7.768713,36.400333 44.172092,42.783379 37.789047,6.3799993 61.57271,34.669337 80.082655,2.6797879 80.117963,39.638522 114.85989,27.031069 91.130319,55.365797 125.84809,68.039607 89.456977,74.492195 Z"
+         id="path24010-6"
+         style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+  </g>
+  <g
+     id="layer4"
+     style="display:none">
+    <path
+       id="path23453-8"
+       style="display:inline;fill:url(#linearGradient4613-3);fill-opacity:1;stroke:none;stroke-width:1.29242"
+       d="m 21.07485,55.890327 c 8.460788,-5.782067 16.492576,-11.675689 17.372943,-23.367686 0,0 -1.434341,-17.417807 -17.372943,-22.9529742 C 37.958766,8.2969249 50.723883,8.8716332 53.828674,34.238808 53.460129,40.029443 49.448618,59.167233 21.07485,55.890327 Z" />
+    <path
+       id="path1835"
+       style="display:inline;opacity:0.549037;fill:url(#linearGradient2275);fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.781767,46.231496 37.781767,33.440399 37.781768,20.649303 32.180756,14.96404 21.07485,9.5696674 35.694174,6.9696799 53.825115,11.838139 53.825115,33.232327 Z" />
+    <path
+       style="font-variation-settings:normal;display:inline;opacity:0.986056;vector-effect:none;fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.412877;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter2220);stop-color:#000000;stop-opacity:1"
+       d="m 81.937183,67.269305 c 6.008047,3.070756 5.278565,6.721758 5.517768,7.850284 2.691267,-0.278177 3.873086,-0.468142 4.97754,-0.836625 -0.440041,-4.956775 -3.709675,-7.674519 -10.495308,-7.013659 z"
+       id="path24084-3"
+       transform="matrix(3.1302825,0,0,3.1302825,-235.41168,-201.00226)" />
+    <circle
+       style="display:inline;fill:url(#radialGradient4619-1);fill-opacity:1;stroke:none;filter:url(#filter24121-9)"
+       id="path24099-0"
+       transform="matrix(1.2924208,0,0,1.2924208,-74.768867,-79.148647)"
+       cx="89.095451"
+       cy="77.441864"
+       r="3.3587573" />
+    <path
+       id="path1835-2"
+       style="display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#e6a418;stroke-width:1.032;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:fill markers stroke"
+       d="m 53.825115,33.232327 c 0,14.741656 -15.606016,26.375254 -32.750265,22.658 C 29.285116,49.791846 37.886791,46.231065 37.781767,33.440399 37.68169,21.252101 32.180756,14.964039 21.07485,9.5696668 35.694174,6.9696793 53.825115,11.838138 53.825115,33.232327 Z" />
+  </g>
+</svg>
diff --git a/floatimageobj.cpp b/floatimageobj.cpp
deleted file mode 100644 (file)
index 44b1897..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-#include <QDebug>
-#include <QImageReader>
-
-#include "floatimageobj.h"
-#include "branchobj.h"
-
-
-/////////////////////////////////////////////////////////////////
-// FloatImageObj 
-/////////////////////////////////////////////////////////////////
-
-FloatImageObj::FloatImageObj (QGraphicsItem * parent,TreeItem *ti):FloatObj(parent,ti)
-{
-    //qDebug() << "Const FloatImageObj this="<<this<<"  ti="<<ti;
-    icon=new ImageObj (parent);
-    icon->setPos (absPos.x(), absPos.y() );
-    icon->setVisibility (true);
-    clickPoly=bbox;
-    useRelPos=true;
-
-    //Hide flags
-    systemFlags->setShowFlags(false);
-
-//    setLinkStyle (LinkableMapObj::Parabel);
-}
-
-FloatImageObj::~FloatImageObj ()
-{
-//  qDebug() << "Destr FloatImageObj "<<this<<"";
-    delete(icon);
-}
-
-void FloatImageObj::copy (FloatImageObj* other)
-{                  
-    FloatObj::copy (other);
-    icon->copy (other->icon);
-    positionBBox();
-}
-
-void FloatImageObj::setZValue (const int &i)
-{
-
-//    qDebug()<<"FIO::setZValue z="<<i;
-//    qDebug()<<"  icon="<<icon;
-//    qDebug()<<"  this="<<this;        
-    icon->setZValue (i);
-}
-
-int FloatImageObj::z ()
-{
-    return qRound (icon->zValue());
-}
-
-void FloatImageObj::load (const QImage &img)
-{
-    icon->load(QPixmap::fromImage(img));
-    if (!icon->parentItem() ) icon->setParentItem(this);  // Add to scene initially
-    bbox.setSize ( QSizeF(
-            icon->boundingRect().width(), 
-            icon->boundingRect().height()));
-    clickPoly=bbox;
-    positionBBox();
-}
-
-void FloatImageObj::setParObj (QGraphicsItem *p)
-{
-    setParentItem (p);
-    icon->setParentItem (p);
-    parObj=(LinkableMapObj*)p;
-/*
-    qDebug()<<"FIO::setParentItem";
-    qDebug()<<"  this="<<this;
-    qDebug()<<"  icon="<<icon;
-*/
-}
-
-void FloatImageObj::setVisibility(bool v)
-{
-    OrnamentedObj::setVisibility(v);
-    if (v)
-       icon->setVisibility(true);
-    else
-       icon->setVisibility(false);
-}
-
-void FloatImageObj::moveCenter (double x, double y)
-{
-    FloatObj::moveCenter(x, y);
-    icon->setPos(bbox.topLeft() );
-}
-
-void FloatImageObj::move (double x, double y)
-{
-    FloatObj::move(x,y);
-    icon->setPos (x,y); 
-    positionBBox();
-}
-
-void FloatImageObj::move (QPointF p)
-{
-    FloatImageObj::move (p.x(),p.y());
-}
-
-void FloatImageObj::positionBBox()
-{
-    clickPoly=QPolygonF(bbox);
-    setZValue (dZ_FLOATIMG);
-}
-
-void FloatImageObj::calcBBoxSize()
-{
-    // TODO
-}
-
-QRectF FloatImageObj::getBBoxSizeWithChildren()
-{
-    //TODO abstract in linkablemapobj.h, not calculated
-    return bboxTotal;
-}
-
-void FloatImageObj::calcBBoxSizeWithChildren()
-{
-    //TODO abstract in linkablemapobj.h
-}
-
diff --git a/floatimageobj.h b/floatimageobj.h
deleted file mode 100644 (file)
index 8a9eef4..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef FLOATIMAGEOBJ_H
-#define FLOATIMAGEOBJ_H
-
-#include "floatobj.h"
-#include <QPixmap>
-
-class TreeItem;
-/*! \brief A pixmap which can be positioned freely on the map.  */
-
-
-/////////////////////////////////////////////////////////////////////////////
-class FloatImageObj:public FloatObj {
-public:
-    FloatImageObj (QGraphicsItem*,TreeItem *ti=NULL);
-    ~FloatImageObj ();
-    virtual void copy (FloatImageObj*);
-    virtual void setZValue (const int&);
-    virtual int z();
-
-    virtual void load (const QImage &);
-    virtual void setParObj (QGraphicsItem*);
-    virtual void setVisibility(bool);      // set vis. for w
-    virtual void moveCenter (double x,double y);
-    virtual void move (double x,double y);
-    virtual void move (QPointF);
-    virtual void positionBBox();
-    virtual void calcBBoxSize();
-    virtual QRectF getBBoxSizeWithChildren();  // return size of BBox including children  
-    virtual void calcBBoxSizeWithChildren();   // calc size of  BBox including children recursivly
-
-protected:
-    ImageObj *icon;
-};
-
-#endif
diff --git a/floatobj.cpp b/floatobj.cpp
deleted file mode 100644 (file)
index 799f236..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-#include <QDebug>
-
-#include "floatobj.h"
-#include "mapitem.h"
-
-extern bool debug;
-
-/////////////////////////////////////////////////////////////////
-// FloatObj
-/////////////////////////////////////////////////////////////////
-
-FloatObj::FloatObj (QGraphicsItem *parent, TreeItem *ti):OrnamentedObj(parent,ti)
-{
-    //qDebug() << "Const FloatObj s="<<s<<"  ti="<<ti<<"  treeItem="<<treeItem;
-    init();
-}
-
-FloatObj::~FloatObj ()
-{
-//   qDebug() << "Destr FloatObj";
-}
-
-void FloatObj::init () 
-{
-    setLinkStyle (LinkableMapObj::Parabel);
-    ((MapItem*)treeItem)->setHideLinkUnselected(true);
-}
-
-void FloatObj::copy (FloatObj* other)
-{
-    LinkableMapObj::copy (other);
-    setVisibility (other->visible);
-}
-
-void FloatObj::move (double x, double y)   
-{
-    MapObj::move(x,y);
-}
-
-void FloatObj::move (QPointF p)
-{
-    FloatObj::move(p.x(), p.y());
-}
-
-void FloatObj::moveCenter (double x, double y)
-{
-    absPos=QPointF(x,y);
-    bbox.moveTo(x - bbox.width()/2, y - bbox.height()/2 );
-    clickPoly=QPolygonF (bbox);
-}
-
-void FloatObj::moveCenter2RelPos(double x, double y)  
-{
-    setRelPos (QPointF(x,y));
-    if (parObj)
-    {
-       QPointF p=parObj->getFloatRefPos();
-       moveCenter (p.x() + x, p.y() + y);
-    }
-}
-
-void FloatObj::move2RelPos(double x, double y)  // overloaded to use floatRefPos instead of childRefPos
-{
-    setRelPos (QPointF(x,y));
-    if (parObj)
-    {
-       QPointF p=parObj->getFloatRefPos();
-       move (p.x() + x, p.y() + y);
-    }
-}
-
-void FloatObj::move2RelPos(QPointF p)           // overloaded to use floatRefPos instead of childRefPos
-{
-    move2RelPos (p.x(), p.y());
-}
-
-void FloatObj::setRelPos()
-{
-    if (parObj)
-       setRelPos (absPos - parObj->getFloatRefPos() );
-    else
-       qWarning()<<"FO::setRelPos parObj==0   this="<<this;
-}
-
-void FloatObj::setRelPos(const QPointF &p)
-{
-    if (parObj)
-    {      
-       relPos=p;
-       useRelPos=true;
-    }  else
-       qWarning()<<"LMO::setRelPos (p)  parObj==0   this="<<this;
-}
-
-void FloatObj::setDockPos()
-{
-    parPos=absPos;
-}
-
-void FloatObj::reposition()
-{
-    moveCenter2RelPos (relPos.x(), relPos.y());
-    updateLinkGeometry();   
-}
-
-QRectF FloatObj::getBBoxSizeWithChildren()
-{
-    return bboxTotal;
-}
-
diff --git a/floatobj.h b/floatobj.h
deleted file mode 100644 (file)
index cc0a811..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef FLOATOBJ_H
-#define FLOATOBJ_H
-
-#include "ornamentedobj.h"
-
-/*! \brief Base class for objects floating in the map, which means they can be positioned freely. */
-
-
-/////////////////////////////////////////////////////////////////////////////
-class FloatObj:public OrnamentedObj {
-public:
-    FloatObj (QGraphicsItem*,TreeItem *ti=NULL);
-    ~FloatObj ();
-    virtual void init ();
-    virtual void copy (FloatObj*);
-    virtual void move (double,double);
-    virtual void move (QPointF);
-    virtual void moveCenter (double x,double y);
-    virtual void moveCenter2RelPos(double x, double y);
-    virtual void move2RelPos(double x, double y);
-    virtual void move2RelPos(QPointF p);
-    virtual void setRelPos();
-    virtual void setRelPos(const QPointF &p);
-    virtual void setDockPos();
-    virtual void reposition();
-                                           
-    virtual QRectF getBBoxSizeWithChildren();  // return size of BBox including children  
-};
-
-#endif
diff --git a/forms/attributedialog.ui b/forms/attributedialog.ui
new file mode 100644 (file)
index 0000000..fc16698
--- /dev/null
@@ -0,0 +1,60 @@
+<ui version="4.0" >
+ <class>AttributeDialog</class>
+ <widget class="QDialog" name="AttributeDialog" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>468</width>
+    <height>75</height>
+   </rect>
+  </property>
+  <property name="sizePolicy" >
+   <sizepolicy vsizetype="Preferred" hsizetype="Minimum" >
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle" >
+   <string>Attributes</string>
+  </property>
+  <layout class="QVBoxLayout" >
+   <item>
+    <widget class="QLineEdit" name="dummyLineEdit" />
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <item>
+      <widget class="QPushButton" name="addButton" >
+       <property name="text" >
+        <string>Add key</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" >
+        <size>
+         <width>111</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="closeButton" >
+       <property name="text" >
+        <string>Close</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/forms/attributewidget.ui b/forms/attributewidget.ui
new file mode 100644 (file)
index 0000000..3327fee
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>AttributeWidget</class>
+ <widget class="QWidget" name="AttributeWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>115</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string notr="true">Form</string>
+  </property>
+  <layout class="QHBoxLayout">
+   <property name="spacing">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QPushButton" name="pushButton">
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QComboBox" name="keyComboBox">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QComboBox" name="valueComboBox">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/forms/branchpropeditor.ui b/forms/branchpropeditor.ui
new file mode 100644 (file)
index 0000000..b997aae
--- /dev/null
@@ -0,0 +1,520 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>BranchPropertyEditor</class>
+ <widget class="QWidget" name="BranchPropertyEditor">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>325</width>
+    <height>378</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>Branch Property Editor</string>
+  </property>
+  <layout class="QVBoxLayout">
+   <item>
+    <widget class="QTabWidget" name="tabWidget">
+     <property name="currentIndex">
+      <number>2</number>
+     </property>
+     <widget class="QWidget" name="tab">
+      <attribute name="title">
+       <string>Frame</string>
+      </attribute>
+      <layout class="QVBoxLayout">
+       <property name="spacing">
+        <number>6</number>
+       </property>
+       <property name="leftMargin">
+        <number>9</number>
+       </property>
+       <property name="topMargin">
+        <number>9</number>
+       </property>
+       <property name="rightMargin">
+        <number>9</number>
+       </property>
+       <property name="bottomMargin">
+        <number>9</number>
+       </property>
+       <item>
+        <widget class="QGroupBox" name="groupBox">
+         <property name="title">
+          <string>Geometry</string>
+         </property>
+         <layout class="QGridLayout">
+          <item row="0" column="0" colspan="4">
+           <widget class="QComboBox" name="frameTypeCombo">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <item>
+             <property name="text">
+              <string>No Frame</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>Rectangle</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>Rounded Rectangle</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>Ellipse</string>
+             </property>
+            </item>
+            <item>
+             <property name="text">
+              <string>Cloud</string>
+             </property>
+            </item>
+           </widget>
+          </item>
+          <item row="2" column="3">
+           <spacer>
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item row="2" column="1" colspan="2">
+           <widget class="QLabel" name="framePaddingLabel">
+            <property name="text">
+             <string>Padding</string>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="1" colspan="2">
+           <widget class="QLabel" name="frameBorderLabel">
+            <property name="text">
+             <string>Borderline width</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="0">
+           <widget class="QSpinBox" name="framePaddingSpinBox">
+            <property name="maximum">
+             <number>50</number>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="0">
+           <widget class="QSpinBox" name="frameWidthSpinBox">
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>20</number>
+            </property>
+           </widget>
+          </item>
+          <item row="1" column="0" colspan="3">
+           <widget class="QCheckBox" name="includeChildrenCheckBox">
+            <property name="text">
+             <string>Include children</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <layout class="QVBoxLayout">
+         <property name="spacing">
+          <number>6</number>
+         </property>
+         <property name="leftMargin">
+          <number>0</number>
+         </property>
+         <property name="topMargin">
+          <number>0</number>
+         </property>
+         <property name="rightMargin">
+          <number>0</number>
+         </property>
+         <property name="bottomMargin">
+          <number>0</number>
+         </property>
+         <item>
+          <widget class="QGroupBox" name="colorGroupBox">
+           <property name="sizePolicy">
+            <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+             <horstretch>0</horstretch>
+             <verstretch>0</verstretch>
+            </sizepolicy>
+           </property>
+           <property name="title">
+            <string>Colors</string>
+           </property>
+           <layout class="QGridLayout">
+            <property name="leftMargin">
+             <number>7</number>
+            </property>
+            <property name="topMargin">
+             <number>7</number>
+            </property>
+            <property name="rightMargin">
+             <number>7</number>
+            </property>
+            <property name="bottomMargin">
+             <number>7</number>
+            </property>
+            <property name="spacing">
+             <number>6</number>
+            </property>
+            <item row="0" column="0">
+             <widget class="QPushButton" name="framePenColorButton">
+              <property name="minimumSize">
+               <size>
+                <width>32</width>
+                <height>32</height>
+               </size>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>20</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+             </widget>
+            </item>
+            <item row="0" column="1">
+             <widget class="QLabel" name="penColorLabelDesc">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="text">
+               <string>Borderline color</string>
+              </property>
+              <property name="buddy">
+               <cstring>framePenColorButton</cstring>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="0">
+             <widget class="QPushButton" name="frameBrushColorButton">
+              <property name="minimumSize">
+               <size>
+                <width>32</width>
+                <height>0</height>
+               </size>
+              </property>
+              <property name="maximumSize">
+               <size>
+                <width>20</width>
+                <height>16777215</height>
+               </size>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+             </widget>
+            </item>
+            <item row="1" column="1">
+             <widget class="QLabel" name="brushColorLabelDesc">
+              <property name="text">
+               <string>Background color</string>
+              </property>
+              <property name="buddy">
+               <cstring>frameBrushColorButton</cstring>
+              </property>
+             </widget>
+            </item>
+            <item row="0" column="2">
+             <spacer>
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" stdset="0">
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </widget>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="Layout">
+      <attribute name="title">
+       <string>Layout</string>
+      </attribute>
+      <layout class="QVBoxLayout">
+       <item>
+        <layout class="QVBoxLayout">
+         <item>
+          <widget class="QCheckBox" name="incImgHor">
+           <property name="text">
+            <string>Include images horizontally</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QCheckBox" name="incImgVer">
+           <property name="text">
+            <string>Include images vertically</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QCheckBox" name="childrenFreePositioning">
+           <property name="text">
+            <string>Free positioning of children (experimental!)</string>
+           </property>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <spacer>
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="tab_4">
+      <attribute name="title">
+       <string>Task</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <layout class="QHBoxLayout" name="horizontalLayout">
+         <item>
+          <widget class="QSpinBox" name="taskPrioDelta">
+           <property name="minimum">
+            <number>-10000</number>
+           </property>
+           <property name="maximum">
+            <number>10000</number>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QLabel" name="label">
+           <property name="text">
+            <string extracomment="Manual delta added to priority of task in branch prop editor">Delta priority</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer name="horizontalSpacer">
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>40</width>
+             <height>20</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_creation">
+         <property name="text">
+          <string>Created:</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="lineEditDateCreation">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
+         <property name="readOnly">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_modified">
+         <property name="text">
+          <string>Modified:</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="lineEditDateModification">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
+         <property name="readOnly">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLabel" name="label_sleep">
+         <property name="text">
+          <string>Sleep:</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="lineEditSleep">
+         <property name="enabled">
+          <bool>false</bool>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="verticalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="tab_2">
+      <attribute name="title">
+       <string>Link</string>
+      </attribute>
+      <layout class="QVBoxLayout">
+       <item>
+        <widget class="QCheckBox" name="hideLinkIfUnselected">
+         <property name="text">
+          <string>Hide link if unselected</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer>
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="tab_3">
+      <attribute name="title">
+       <string>Attributes</string>
+      </attribute>
+      <layout class="QVBoxLayout">
+       <item>
+        <widget class="QTableView" name="attributeTableView"/>
+       </item>
+       <item>
+        <layout class="QHBoxLayout">
+         <property name="spacing">
+          <number>6</number>
+         </property>
+         <property name="leftMargin">
+          <number>0</number>
+         </property>
+         <property name="topMargin">
+          <number>0</number>
+         </property>
+         <property name="rightMargin">
+          <number>0</number>
+         </property>
+         <property name="bottomMargin">
+          <number>0</number>
+         </property>
+         <item>
+          <widget class="QPushButton" name="addAttributeButton">
+           <property name="text">
+            <string>+</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <widget class="QPushButton" name="deleteAttributeButton">
+           <property name="text">
+            <string>-</string>
+           </property>
+          </widget>
+         </item>
+         <item>
+          <spacer>
+           <property name="orientation">
+            <enum>Qt::Horizontal</enum>
+           </property>
+           <property name="sizeHint" stdset="0">
+            <size>
+             <width>41</width>
+             <height>31</height>
+            </size>
+           </property>
+          </spacer>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>40</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/forms/confluence-settings-dialog.ui b/forms/confluence-settings-dialog.ui
new file mode 100644 (file)
index 0000000..6507240
--- /dev/null
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ConfluenceSettingsDialog</class>
+ <widget class="QDialog" name="ConfluenceSettingsDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>631</width>
+    <height>356</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="UrlLabel">
+     <property name="text">
+      <string>Confluence URL:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="urlLineEdit"/>
+   </item>
+   <item>
+    <widget class="QCheckBox" name="usePATCheckBox">
+     <property name="text">
+      <string>Use Personal Access Toke instead of username and password for authentication</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="PATLabel">
+     <property name="text">
+      <string>Personal Access Token:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="PATLineEdit">
+     <property name="echoMode">
+      <enum>QLineEdit::Password</enum>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="userLabel">
+     <property name="text">
+      <string>Username:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="userLineEdit"/>
+   </item>
+   <item>
+    <widget class="QLabel" name="passwordLabel">
+     <property name="text">
+      <string>Password:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="passwordLineEdit">
+     <property name="echoMode">
+      <enum>QLineEdit::Password</enum>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QCheckBox" name="savePasswordCheckBox">
+     <property name="text">
+      <string>Save password</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>40</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="layoutDirection">
+      <enum>Qt::LeftToRight</enum>
+     </property>
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     </property>
+     <property name="centerButtons">
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>ConfluenceSettingsDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>ConfluenceSettingsDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/confluence-userdialog.ui b/forms/confluence-userdialog.ui
new file mode 100644 (file)
index 0000000..c75b8b0
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ConfluenceUserDialog</class>
+ <widget class="QDialog" name="ConfluenceUserDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>392</width>
+    <height>308</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLineEdit" name="lineEdit"/>
+   </item>
+   <item>
+    <widget class="QListWidget" name="userListWidget"/>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="layoutDirection">
+      <enum>Qt::LeftToRight</enum>
+     </property>
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/forms/darktheme-settings-dialog.ui b/forms/darktheme-settings-dialog.ui
new file mode 100644 (file)
index 0000000..1ab91e1
--- /dev/null
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DarkThemeSettingsDialog</class>
+ <widget class="QDialog" name="DarkThemeSettingsDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>278</width>
+    <height>181</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>Dark theme settings</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <widget class="QGroupBox" name="groupBox">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+       <horstretch>0</horstretch>
+       <verstretch>1</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="title">
+      <string>Dark theme</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout_3">
+      <item>
+       <layout class="QVBoxLayout" name="verticalLayout">
+        <item>
+         <widget class="QRadioButton" name="systemUseDarkThemeButton">
+          <property name="text">
+           <string>System settings for dark theme</string>
+          </property>
+          <attribute name="buttonGroup">
+           <string notr="true">buttonGroup</string>
+          </attribute>
+         </widget>
+        </item>
+        <item>
+         <widget class="QRadioButton" name="alwaysUseDarkThemeButton">
+          <property name="text">
+           <string>Always use dark theme</string>
+          </property>
+          <attribute name="buttonGroup">
+           <string notr="true">buttonGroup</string>
+          </attribute>
+         </widget>
+        </item>
+        <item>
+         <widget class="QRadioButton" name="neverUseDarkThemeButton">
+          <property name="text">
+           <string>Never use dark theme</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>9</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="closeButton">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Close</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>closeButton</sender>
+   <signal>accepted()</signal>
+   <receiver>DarkThemeSettingsDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>closeButton</sender>
+   <signal>rejected()</signal>
+   <receiver>DarkThemeSettingsDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+ <buttongroups>
+  <buttongroup name="buttonGroup"/>
+ </buttongroups>
+</ui>
diff --git a/forms/default-map-settings-dialog.ui b/forms/default-map-settings-dialog.ui
new file mode 100644 (file)
index 0000000..d6a38fd
--- /dev/null
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <author>Uwe Drechsel</author>
+ <class>DefaultMapSettingsDialog</class>
+ <widget class="QDialog" name="DefaultMapSettingsDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>412</width>
+    <height>154</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string extracomment="Dialog to define path for new maps, e.g. on startup">VYM -  Set path for new maps</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="text">
+      <string/>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QCheckBox" name="autoCheckBox">
+     <property name="text">
+      <string>Automatic (based on theme)</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <widget class="QLineEdit" name="pathLineEdit"/>
+     </item>
+     <item>
+      <widget class="QPushButton" name="setPathPushButton">
+       <property name="text">
+        <string notr="true"/>
+       </property>
+       <property name="icon">
+        <iconset resource="../vym.qrc">
+         <normaloff>:/fileopen.png</normaloff>:/fileopen.png</iconset>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>151</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources>
+  <include location="../vym.qrc"/>
+ </resources>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>DefaultMapSettingsDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>DefaultMapSettingsDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/editxlinkdialog.ui b/forms/editxlinkdialog.ui
new file mode 100644 (file)
index 0000000..5934ecd
--- /dev/null
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>EditXLinkDialog</class>
+ <widget class="QDialog" name="EditXLinkDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>337</width>
+    <height>219</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="windowTitle">
+   <string>Edit XLink</string>
+  </property>
+  <layout class="QVBoxLayout">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="margin">
+    <number>11</number>
+   </property>
+   <item>
+    <layout class="QGridLayout" name="gridLayout">
+     <property name="margin">
+      <number>0</number>
+     </property>
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <item row="3" column="0">
+      <widget class="QLabel" name="label_2">
+       <property name="text">
+        <string>Arrow begin:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="QSpinBox" name="widthBox">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimum">
+        <number>1</number>
+       </property>
+       <property name="maximum">
+        <number>15</number>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="0">
+      <widget class="QLabel" name="textLabel1">
+       <property name="text">
+        <string>XLink width:</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="4">
+      <widget class="QPushButton" name="setColorHeadingButton">
+       <property name="maximumSize">
+        <size>
+         <width>32767</width>
+         <height>20</height>
+        </size>
+       </property>
+       <property name="text">
+        <string>Use color of heading</string>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="1">
+      <widget class="QPushButton" name="colorButton">
+       <property name="enabled">
+        <bool>true</bool>
+       </property>
+       <property name="maximumSize">
+        <size>
+         <width>50</width>
+         <height>20</height>
+        </size>
+       </property>
+       <property name="text">
+        <string/>
+       </property>
+      </widget>
+     </item>
+     <item row="5" column="1" colspan="2">
+      <widget class="QCheckBox" name="useSettings">
+       <property name="text">
+        <string/>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="0">
+      <widget class="QLabel" name="textLabel2">
+       <property name="text">
+        <string>XLink color:</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="2" colspan="2">
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>285</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item row="0" column="2" colspan="2">
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>280</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item row="5" column="0">
+      <widget class="QLabel" name="textLabel1_2">
+       <property name="text">
+        <string>Use as default:</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item row="5" column="3" colspan="2">
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>241</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item row="2" column="0">
+      <widget class="QLabel" name="label">
+       <property name="text">
+        <string extracomment="Linestyle in Edit XLink dialog">Line style:</string>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="1" colspan="3">
+      <widget class="QComboBox" name="lineStyleCombo"/>
+     </item>
+     <item row="4" column="0">
+      <widget class="QLabel" name="label_3">
+       <property name="text">
+        <string>Arrow end:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1">
+      <widget class="QCheckBox" name="checkBoxArrowBegin">
+       <property name="text">
+        <string/>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="1">
+      <widget class="QCheckBox" name="checkBoxArrowEnd">
+       <property name="text">
+        <string/>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer>
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::Expanding</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>16</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="boxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="margin">
+      <number>0</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>100</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>Close</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <includes>
+     <include location="local">src/xlinkitem.h</include>
+     <include location="local">src/linkablemapobj.h</include>
+ </includes>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>EditXLinkDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>338</x>
+     <y>180</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>196</x>
+     <y>102</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/export-confluence-dialog.ui b/forms/export-confluence-dialog.ui
new file mode 100644 (file)
index 0000000..e076369
--- /dev/null
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ExportConfluenceDialog</class>
+ <widget class="QDialog" name="ExportConfluenceDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>591</width>
+    <height>444</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Export Confluence</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <widget class="QLabel" name="exportModeLabel">
+     <property name="text">
+      <string>When exporting to confluence, do</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QRadioButton" name="updatePageButton">
+     <property name="text">
+      <string>update existing page</string>
+     </property>
+     <attribute name="buttonGroup">
+      <string notr="true">buttonGroup</string>
+     </attribute>
+    </widget>
+   </item>
+   <item>
+    <widget class="QRadioButton" name="createPageButton">
+     <property name="text">
+      <string>create new page</string>
+     </property>
+     <attribute name="buttonGroup">
+      <string notr="true">buttonGroup</string>
+     </attribute>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="URLLabel">
+     <property name="text">
+      <string>Page URL:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="0" column="0">
+      <widget class="QLineEdit" name="lineEditURL">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+      </widget>
+     </item>
+     <item row="0" column="1">
+      <widget class="QPushButton" name="openPageButton">
+       <property name="text">
+        <string>Open</string>
+       </property>
+       <property name="icon">
+        <iconset resource="../vym.qrc">
+         <normaloff>:/flag-url.svg</normaloff>:/flag-url.svg</iconset>
+       </property>
+      </widget>
+     </item>
+     <item row="1" column="0">
+      <widget class="QLabel" name="pageNameLabel">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>Page name:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="2" column="0">
+      <widget class="QLineEdit" name="lineEditPageName">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox">
+     <property name="title">
+      <string>Options</string>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <item>
+       <widget class="QCheckBox" name="mapCenterToPageNameCheckBox">
+        <property name="text">
+         <string>Use heading of first map center as page name</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QCheckBox" name="includeMapImageCheckBox">
+        <property name="text">
+         <string>Image of map on top of page</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QCheckBox" name="includeImagesCheckBox">
+        <property name="text">
+         <string>Images used in map</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QCheckBox" name="textColorCheckBox">
+        <property name="text">
+         <string>Colored headings in text</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QCheckBox" name="useNumberingCheckBox">
+        <property name="text">
+         <string>Use numbering</string>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QCheckBox" name="saveSettingsInMapCheckBox">
+        <property name="text">
+         <string>Save settings in map</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>40</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <spacer name="spacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>258</width>
+         <height>21</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="exportButton">
+       <property name="text">
+        <string>Export</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources>
+  <include location="../vym.qrc"/>
+ </resources>
+ <connections>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>ExportConfluenceDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>451</x>
+     <y>416</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>295</x>
+     <y>220</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+ <buttongroups>
+  <buttongroup name="buttonGroup"/>
+ </buttongroups>
+</ui>
diff --git a/forms/export-html-dialog.ui b/forms/export-html-dialog.ui
new file mode 100644 (file)
index 0000000..1aaace3
--- /dev/null
@@ -0,0 +1,440 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ExportHTMLDialog</class>
+ <widget class="QDialog" name="ExportHTMLDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>629</width>
+    <height>547</height>
+   </rect>
+  </property>
+  <property name="sizePolicy">
+   <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+    <horstretch>0</horstretch>
+    <verstretch>0</verstretch>
+   </sizepolicy>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>130</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Export HTML</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <layout class="QHBoxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="QLabel" name="textLabel1">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>125</width>
+         <height>0</height>
+        </size>
+       </property>
+       <property name="text">
+        <string>Export to directory:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLineEdit" name="lineEditDir">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="minimumSize">
+        <size>
+         <width>300</width>
+         <height>0</height>
+        </size>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="browseExportDirButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>Browse</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>600</height>
+      </size>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>16777215</width>
+       <height>16777214</height>
+      </size>
+     </property>
+     <property name="title">
+      <string>Options</string>
+     </property>
+     <widget class="QWidget" name="layoutWidget">
+      <property name="geometry">
+       <rect>
+        <x>20</x>
+        <y>20</y>
+        <width>581</width>
+        <height>259</height>
+       </rect>
+      </property>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <widget class="QCheckBox" name="imageCheckBox">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>Image of map</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="includeImagesCheckBox">
+         <property name="text">
+          <string>Include images</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="TOCCheckBox">
+         <property name="text">
+          <string>Table of contents</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="taskFlagsCheckBox">
+         <property name="text">
+          <string>Task flags</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="userFlagsCheckBox">
+         <property name="text">
+          <string>General flags</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="numberingCheckBox">
+         <property name="text">
+          <string>Number sections</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="textColorCheckBox">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>Colored headings in text</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="saveSettingsInMapCheckBox">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>Save settings in map</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox_3">
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>100</height>
+      </size>
+     </property>
+     <property name="title">
+      <string>Stylesheets</string>
+     </property>
+     <widget class="QWidget" name="layoutWidget1^">
+      <property name="geometry">
+       <rect>
+        <x>20</x>
+        <y>30</y>
+        <width>533</width>
+        <height>78</height>
+       </rect>
+      </property>
+      <layout class="QGridLayout" name="gridLayout">
+       <item row="0" column="0">
+        <widget class="QCheckBox" name="copyCssCheckBox">
+         <property name="text">
+          <string>Copy CSS from </string>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="1">
+        <widget class="QLineEdit" name="lineEditCssSrc">
+         <property name="minimumSize">
+          <size>
+           <width>300</width>
+           <height>0</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+       <item row="1" column="1">
+        <widget class="QLineEdit" name="lineEditCssDst"/>
+       </item>
+       <item row="1" column="0">
+        <widget class="QLabel" name="label">
+         <property name="text">
+          <string>Use CSS from</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+        </widget>
+       </item>
+       <item row="0" column="2">
+        <widget class="QPushButton" name="browseCssSrcButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>Browse</string>
+         </property>
+        </widget>
+       </item>
+       <item row="1" column="2">
+        <widget class="QPushButton" name="browseCssDstButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>Browse</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox_2">
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>70</height>
+      </size>
+     </property>
+     <property name="title">
+      <string>Scripts</string>
+     </property>
+     <widget class="QWidget" name="layoutWidget2">
+      <property name="geometry">
+       <rect>
+        <x>10</x>
+        <y>20</y>
+        <width>519</width>
+        <height>27</height>
+       </rect>
+      </property>
+      <layout class="QHBoxLayout" name="horizontalLayout">
+       <item>
+        <widget class="QLabel" name="textLabel2_2">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize">
+          <size>
+           <width>125</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="frameShape">
+          <enum>QFrame::NoFrame</enum>
+         </property>
+         <property name="text">
+          <string>After Export:</string>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="lineEditPostScript">
+         <property name="minimumSize">
+          <size>
+           <width>300</width>
+           <height>0</height>
+          </size>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QPushButton" name="browsePostExportButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>Browse</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout">
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>61</width>
+         <height>21</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="exportButton">
+       <property name="text">
+        <string>Export</string>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <includes>
+     <include location="local">src/xsltproc.h</include>
+     <include location="local">src/vymprocess.h</include>
+ </includes>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>ExportHTMLDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>459</x>
+     <y>443</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>256</x>
+     <y>233</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>exportButton</sender>
+   <signal>clicked()</signal>
+   <receiver>ExportHTMLDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>368</x>
+     <y>443</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>256</x>
+     <y>233</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/exportxhtmldialog.ui b/forms/exportxhtmldialog.ui
new file mode 100644 (file)
index 0000000..5ef2d95
--- /dev/null
@@ -0,0 +1,539 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ExportXHTMLDialog</class>
+ <widget class="QDialog" name="ExportXHTMLDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>631</width>
+    <height>504</height>
+   </rect>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>0</width>
+    <height>130</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Export XHTML</string>
+  </property>
+  <layout class="QVBoxLayout">
+   <item>
+    <layout class="QHBoxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="QLabel" name="textLabel1">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>Export to directory:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLineEdit" name="lineEditDir">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="browseExportDirButton">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+       <property name="text">
+        <string>Browse</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="buttonGroup2">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>0</width>
+       <height>160</height>
+      </size>
+     </property>
+     <property name="title">
+      <string>Options</string>
+     </property>
+     <widget class="QWidget" name="layoutWidget">
+      <property name="geometry">
+       <rect>
+        <x>20</x>
+        <y>30</y>
+        <width>511</width>
+        <height>116</height>
+       </rect>
+      </property>
+      <layout class="QVBoxLayout">
+       <property name="spacing">
+        <number>6</number>
+       </property>
+       <property name="leftMargin">
+        <number>0</number>
+       </property>
+       <property name="topMargin">
+        <number>0</number>
+       </property>
+       <property name="rightMargin">
+        <number>0</number>
+       </property>
+       <property name="bottomMargin">
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QCheckBox" name="imageButton">
+         <property name="text">
+          <string>Include image</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="textColorButton">
+         <property name="text">
+          <string>Colored headings in text</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="saveSettingsInMapButton">
+         <property name="text">
+          <string>Save settings in map</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="warningsButton">
+         <property name="text">
+          <string>show warnings of xslt processor</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="outputButton">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="text">
+          <string>show output of external scripts</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox2">
+     <property name="title">
+      <string>Stylesheets</string>
+     </property>
+     <layout class="QGridLayout">
+      <property name="leftMargin">
+       <number>11</number>
+      </property>
+      <property name="topMargin">
+       <number>11</number>
+      </property>
+      <property name="rightMargin">
+       <number>11</number>
+      </property>
+      <property name="bottomMargin">
+       <number>11</number>
+      </property>
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <item row="1" column="0">
+       <layout class="QHBoxLayout">
+        <property name="spacing">
+         <number>6</number>
+        </property>
+        <property name="leftMargin">
+         <number>0</number>
+        </property>
+        <property name="topMargin">
+         <number>0</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
+        <item>
+         <widget class="QLabel" name="textLabel2">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>125</width>
+            <height>0</height>
+           </size>
+          </property>
+          <property name="text">
+           <string>XSL:</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEditXSL"/>
+        </item>
+        <item>
+         <widget class="QPushButton" name="browseXSLButton">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="text">
+           <string>Browse</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item row="0" column="0">
+       <layout class="QHBoxLayout">
+        <property name="spacing">
+         <number>6</number>
+        </property>
+        <property name="leftMargin">
+         <number>0</number>
+        </property>
+        <property name="topMargin">
+         <number>0</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
+        <item>
+         <widget class="QLabel" name="textLabel1_2">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>125</width>
+            <height>0</height>
+           </size>
+          </property>
+          <property name="text">
+           <string>CSS:</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEditCSS"/>
+        </item>
+        <item>
+         <widget class="QPushButton" name="browseCSSButton">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="text">
+           <string>Browse</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <widget class="QGroupBox" name="groupBox1">
+     <property name="title">
+      <string>Scripts</string>
+     </property>
+     <layout class="QGridLayout">
+      <property name="leftMargin">
+       <number>11</number>
+      </property>
+      <property name="topMargin">
+       <number>11</number>
+      </property>
+      <property name="rightMargin">
+       <number>11</number>
+      </property>
+      <property name="bottomMargin">
+       <number>11</number>
+      </property>
+      <property name="spacing">
+       <number>6</number>
+      </property>
+      <item row="0" column="0">
+       <layout class="QHBoxLayout">
+        <property name="spacing">
+         <number>6</number>
+        </property>
+        <property name="leftMargin">
+         <number>0</number>
+        </property>
+        <property name="topMargin">
+         <number>0</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
+        <item>
+         <widget class="QLabel" name="textLabel1_3">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>125</width>
+            <height>0</height>
+           </size>
+          </property>
+          <property name="text">
+           <string>Before export:</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEditPreScript"/>
+        </item>
+        <item>
+         <widget class="QPushButton" name="browsePreExportButton">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="text">
+           <string>Browse</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+      <item row="1" column="0">
+       <layout class="QHBoxLayout">
+        <property name="spacing">
+         <number>6</number>
+        </property>
+        <property name="leftMargin">
+         <number>0</number>
+        </property>
+        <property name="topMargin">
+         <number>0</number>
+        </property>
+        <property name="rightMargin">
+         <number>0</number>
+        </property>
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
+        <item>
+         <widget class="QLabel" name="textLabel2_2">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>125</width>
+            <height>0</height>
+           </size>
+          </property>
+          <property name="frameShape">
+           <enum>QFrame::NoFrame</enum>
+          </property>
+          <property name="text">
+           <string>After Export:</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QLineEdit" name="lineEditPostScript"/>
+        </item>
+        <item>
+         <widget class="QPushButton" name="browsePostExportButton">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="text">
+           <string>Browse</string>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
+    <spacer>
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::MinimumExpanding</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>41</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout">
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>61</width>
+         <height>21</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="exportButton">
+       <property name="text">
+        <string>Export</string>
+       </property>
+       <property name="default">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <includes>
+  <include location="local">xsltproc.h</include>
+  <include location="local">process.h</include>
+ </includes>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>ExportXHTMLDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>459</x>
+     <y>443</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>256</x>
+     <y>233</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>exportButton</sender>
+   <signal>clicked()</signal>
+   <receiver>ExportXHTMLDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>368</x>
+     <y>443</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>256</x>
+     <y>233</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/extrainfodialog.ui b/forms/extrainfodialog.ui
new file mode 100644 (file)
index 0000000..dd08c6e
--- /dev/null
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <author>Uwe Drechsel</author>
+ <class>ExtraInfoDialog</class>
+ <widget class="QDialog" name="ExtraInfoDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>595</width>
+    <height>686</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>VYM - Info</string>
+  </property>
+  <layout class="QVBoxLayout">
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <property name="leftMargin">
+    <number>11</number>
+   </property>
+   <property name="topMargin">
+    <number>11</number>
+   </property>
+   <property name="rightMargin">
+    <number>11</number>
+   </property>
+   <property name="bottomMargin">
+    <number>11</number>
+   </property>
+   <item>
+    <widget class="QLabel" name="textLabel1_2">
+     <property name="text">
+      <string>Map:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="mapNameLE">
+     <property name="readOnly">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label_2">
+     <property name="text">
+      <string>File location:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="fileLocationLE">
+     <property name="enabled">
+      <bool>false</bool>
+     </property>
+     <property name="autoFillBackground">
+      <bool>false</bool>
+     </property>
+     <property name="readOnly">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="accessibleDescription">
+      <string extracomment="Label for map title"/>
+     </property>
+     <property name="text">
+      <string>Title:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="mapTitleLE"/>
+   </item>
+   <item>
+    <widget class="QLabel" name="textLabel1">
+     <property name="text">
+      <string>Author:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="authorLE"/>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>40</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <widget class="QLabel" name="textLabel2">
+     <property name="text">
+      <string>Comment:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QTextEdit" name="commentTE"/>
+   </item>
+   <item>
+    <widget class="QLabel" name="textLabel2_2">
+     <property name="text">
+      <string>Statistics:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QTextEdit" name="statsTE">
+     <property name="enabled">
+      <bool>false</bool>
+     </property>
+     <property name="font">
+      <font>
+       <family>DejaVu Sans Mono</family>
+      </font>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>0</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>160</width>
+         <height>21</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="closeButton">
+       <property name="text">
+        <string>Close</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <tabstops>
+  <tabstop>authorLE</tabstop>
+  <tabstop>closeButton</tabstop>
+  <tabstop>mapNameLE</tabstop>
+ </tabstops>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>closeButton</sender>
+   <signal>clicked(bool)</signal>
+   <receiver>ExtraInfoDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>321</x>
+     <y>377</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>187</x>
+     <y>201</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/historywindow.ui b/forms/historywindow.ui
new file mode 100644 (file)
index 0000000..f6fdb47
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>HistoryWindow</class>
+ <widget class="QDialog" name="HistoryWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1160</width>
+    <height>340</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QGridLayout">
+   <property name="leftMargin">
+    <number>9</number>
+   </property>
+   <property name="topMargin">
+    <number>9</number>
+   </property>
+   <property name="rightMargin">
+    <number>9</number>
+   </property>
+   <property name="bottomMargin">
+    <number>9</number>
+   </property>
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <item row="0" column="0">
+    <spacer>
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>40</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item row="2" column="0">
+    <widget class="QPushButton" name="redoButton">
+     <property name="text">
+      <string>Redo</string>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="0">
+    <spacer>
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>61</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item row="0" column="1" rowspan="4">
+    <widget class="QTableWidget" name="historyTable">
+     <row/>
+     <column>
+      <property name="text">
+       <string>Time</string>
+      </property>
+     </column>
+     <column>
+      <property name="text">
+       <string>Comment</string>
+      </property>
+     </column>
+    </widget>
+   </item>
+   <item row="1" column="0">
+    <widget class="QPushButton" name="undoButton">
+     <property name="text">
+      <string>Undo</string>
+     </property>
+    </widget>
+   </item>
+   <item row="4" column="0" colspan="2">
+    <layout class="QHBoxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>0</number>
+     </property>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/forms/jira-settings-dialog.ui b/forms/jira-settings-dialog.ui
new file mode 100644 (file)
index 0000000..cf3721a
--- /dev/null
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>JiraSettingsDialog</class>
+ <widget class="QDialog" name="JiraSettingsDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>904</width>
+    <height>509</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="UrlLabel">
+     <property name="text">
+      <string>JIRA servers:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QTableWidget" name="tableWidget"/>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="addServerButton">
+       <property name="text">
+        <string>Add</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="deleteServerButton">
+       <property name="text">
+        <string>Remove</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QLabel" name="selectedServerLabel">
+     <property name="text">
+      <string>Selected Jira server (click above):</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="selectedServerLineEdit">
+     <property name="enabled">
+      <bool>false</bool>
+     </property>
+     <property name="inputMask">
+      <string notr="true"/>
+     </property>
+     <property name="text">
+      <string notr="true"/>
+     </property>
+     <property name="readOnly">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QCheckBox" name="usePATCheckBox">
+     <property name="text">
+      <string>Use Personal Access Token instead of username and password for authentication</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="PATLabel">
+     <property name="text">
+      <string>Personal Access Token:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="PATLineEdit">
+     <property name="inputMethodHints">
+      <set>Qt::ImhNone</set>
+     </property>
+     <property name="echoMode">
+      <enum>QLineEdit::Password</enum>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLabel" name="userLabel">
+     <property name="text">
+      <string>Username:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="userLineEdit"/>
+   </item>
+   <item>
+    <widget class="QLabel" name="passwordLabel">
+     <property name="text">
+      <string>Password:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="passwordLineEdit">
+     <property name="inputMethodHints">
+      <set>Qt::ImhNone</set>
+     </property>
+     <property name="echoMode">
+      <enum>QLineEdit::Password</enum>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="layoutDirection">
+      <enum>Qt::LeftToRight</enum>
+     </property>
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Close</set>
+     </property>
+     <property name="centerButtons">
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>JiraSettingsDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>JiraSettingsDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/lineeditdialog.ui b/forms/lineeditdialog.ui
new file mode 100644 (file)
index 0000000..c799bce
--- /dev/null
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>LineEditDialog</class>
+ <widget class="QDialog" name="LineEditDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>545</width>
+    <height>116</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <property name="accessibleName">
+   <string notr="true"/>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="accessibleName">
+      <string notr="true"/>
+     </property>
+     <property name="text">
+      <string>TextLabel</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QLineEdit" name="lineEdit">
+     <property name="accessibleName">
+      <string notr="true"/>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>26</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>0</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>73</width>
+         <height>31</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="accessibleName">
+        <string/>
+       </property>
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+       <property name="autoDefault">
+        <bool>false</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>Ok</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>LineEditDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>539</x>
+     <y>87</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>272</x>
+     <y>127</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>clicked()</signal>
+   <receiver>LineEditDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>490</x>
+     <y>87</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>219</x>
+     <y>223</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/lockedfiledialog.ui b/forms/lockedfiledialog.ui
new file mode 100644 (file)
index 0000000..a8dbcca
--- /dev/null
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>LockedFileDialog</class>
+ <widget class="QDialog" name="LockedFileDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>557</width>
+    <height>177</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QTextEdit" name="warningTE">
+     <property name="enabled">
+      <bool>true</bool>
+     </property>
+     <property name="autoFillBackground">
+      <bool>false</bool>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Plain</enum>
+     </property>
+     <property name="readOnly">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>26</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>0</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>73</width>
+         <height>31</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="deleteLockfileButton">
+       <property name="text">
+        <string>Delete lockfile</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="openReadonlyButton">
+       <property name="text">
+        <string>Open readonly</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>openReadonlyButton</sender>
+   <signal>pressed()</signal>
+   <receiver>LockedFileDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>518</x>
+     <y>234</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>272</x>
+     <y>127</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>deleteLockfileButton</sender>
+   <signal>pressed()</signal>
+   <receiver>LockedFileDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>436</x>
+     <y>232</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>219</x>
+     <y>223</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/scripteditor.ui b/forms/scripteditor.ui
new file mode 100644 (file)
index 0000000..e4b05a0
--- /dev/null
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ScriptEditor</class>
+ <widget class="QWidget" name="ScriptEditor">
+  <property name="enabled">
+   <bool>true</bool>
+  </property>
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>404</width>
+    <height>268</height>
+   </rect>
+  </property>
+  <property name="minimumSize">
+   <size>
+    <width>200</width>
+    <height>0</height>
+   </size>
+  </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <widget class="QTabWidget" name="modeTabWidget">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="maximumSize">
+      <size>
+       <width>16777215</width>
+       <height>1000000</height>
+      </size>
+     </property>
+     <property name="accessibleName">
+      <string notr="true"/>
+     </property>
+     <property name="currentIndex">
+      <number>2</number>
+     </property>
+     <widget class="QWidget" name="slideTab">
+      <property name="accessibleDescription">
+       <string/>
+      </property>
+      <attribute name="title">
+       <string notr="true">Slide tab</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_4">
+       <item>
+        <layout class="QVBoxLayout" name="slideVerticalLayout">
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout_4">
+           <item>
+            <widget class="QPushButton" name="slideRunButton">
+             <property name="text">
+              <string>Run</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../vym.qrc">
+               <normaloff>:/script-run.svg</normaloff>:/script-run.svg</iconset>
+             </property>
+             <property name="shortcut">
+              <string/>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <widget class="QPushButton" name="slideSaveButton">
+             <property name="text">
+              <string>Save to selected slide</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../vym.qrc">
+               <normaloff>:/filesave.png</normaloff>:/filesave.png</iconset>
+             </property>
+             <property name="shortcut">
+              <string/>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+        </layout>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="macroTab">
+      <property name="enabled">
+       <bool>true</bool>
+      </property>
+      <attribute name="title">
+       <string notr="true">Macro tab</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout_3">
+       <item>
+        <layout class="QVBoxLayout" name="macroVerticalLayout">
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayout_2">
+           <item>
+            <widget class="QPushButton" name="macroRunButton">
+             <property name="text">
+              <string>Run</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../vym.qrc">
+               <normaloff>:/script-run.svg</normaloff>:/script-run.svg</iconset>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_2">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>410</width>
+               <height>13</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <widget class="QPushButton" name="macroLoadButton">
+             <property name="text">
+              <string>Reload</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../vym.qrc">
+               <normaloff>:/script-reload.svg</normaloff>:/script-reload.svg</iconset>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="macroSaveButton">
+             <property name="text">
+              <string>Save</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../vym.qrc">
+               <normaloff>:/filesave.png</normaloff>:/filesave.png</iconset>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="macroPathLineEdit">
+         <property name="minimumSize">
+          <size>
+           <width>0</width>
+           <height>0</height>
+          </size>
+         </property>
+         <property name="inputMask">
+          <string/>
+         </property>
+         <property name="text">
+          <string notr="true"/>
+         </property>
+         <property name="frame">
+          <bool>false</bool>
+         </property>
+         <property name="alignment">
+          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+         </property>
+         <property name="readOnly">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="fileTab">
+      <attribute name="title">
+       <string notr="true">File tab</string>
+      </attribute>
+      <layout class="QVBoxLayout" name="verticalLayout">
+       <item>
+        <layout class="QVBoxLayout" name="fileVerticalLayout">
+         <item>
+          <layout class="QHBoxLayout" name="fileButtonLayout">
+           <item>
+            <widget class="QPushButton" name="fileRunButton">
+             <property name="text">
+              <string>Run</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../vym.qrc">
+               <normaloff>:/script-run.svg</normaloff>:/script-run.svg</iconset>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="horizontalSpacer_4">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>369</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <widget class="QPushButton" name="fileLoadButton">
+             <property name="text">
+              <string>Load</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../vym.qrc">
+               <normaloff>:/fileopen.png</normaloff>:/fileopen.png</iconset>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="fileSaveButton">
+             <property name="text">
+              <string>Save</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../vym.qrc">
+               <normaloff>:/filesave.png</normaloff>:/filesave.png</iconset>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QPushButton" name="fileSaveAsButton">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>84</width>
+               <height>0</height>
+              </size>
+             </property>
+             <property name="text">
+              <string>Save as</string>
+             </property>
+             <property name="icon">
+              <iconset resource="../vym.qrc">
+               <normaloff>:/filesaveas.png</normaloff>:/filesaveas.png</iconset>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <widget class="QLineEdit" name="scriptPathLineEdit">
+         <property name="enabled">
+          <bool>true</bool>
+         </property>
+         <property name="readOnly">
+          <bool>true</bool>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources>
+  <include location="../vym.qrc"/>
+ </resources>
+ <connections/>
+</ui>
diff --git a/forms/showtextdialog.ui b/forms/showtextdialog.ui
new file mode 100644 (file)
index 0000000..270a325
--- /dev/null
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ShowTextDialog</class>
+ <widget class="QDialog" name="ShowTextDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>1116</width>
+    <height>748</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QGridLayout">
+   <property name="leftMargin">
+    <number>9</number>
+   </property>
+   <property name="topMargin">
+    <number>9</number>
+   </property>
+   <property name="rightMargin">
+    <number>9</number>
+   </property>
+   <property name="bottomMargin">
+    <number>9</number>
+   </property>
+   <property name="spacing">
+    <number>6</number>
+   </property>
+   <item row="0" column="0">
+    <widget class="QTextBrowser" name="textBrowser"/>
+   </item>
+   <item row="1" column="0">
+    <layout class="QHBoxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>0</number>
+     </property>
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>131</width>
+         <height>31</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>Close</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>clicked()</signal>
+   <receiver>ShowTextDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>278</x>
+     <y>253</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>96</x>
+     <y>254</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/warningdialog.ui b/forms/warningdialog.ui
new file mode 100644 (file)
index 0000000..d0d7c95
--- /dev/null
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>WarningDialog</class>
+ <widget class="QDialog" name="WarningDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>545</width>
+    <height>256</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Dialog</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QTextEdit" name="warningTE">
+     <property name="frameShape">
+      <enum>QFrame::NoFrame</enum>
+     </property>
+     <property name="frameShadow">
+      <enum>QFrame::Plain</enum>
+     </property>
+     <property name="readOnly">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>20</width>
+       <height>26</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout">
+     <property name="spacing">
+      <number>6</number>
+     </property>
+     <property name="leftMargin">
+      <number>0</number>
+     </property>
+     <property name="topMargin">
+      <number>0</number>
+     </property>
+     <property name="rightMargin">
+      <number>0</number>
+     </property>
+     <property name="bottomMargin">
+      <number>0</number>
+     </property>
+     <item>
+      <widget class="QCheckBox" name="showAgainBox">
+       <property name="text">
+        <string>showAgainBox</string>
+       </property>
+       <property name="checked">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer>
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::Expanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>73</width>
+         <height>31</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="cancelButton">
+       <property name="text">
+        <string>Cancel</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="okButton">
+       <property name="text">
+        <string>Ok</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>okButton</sender>
+   <signal>pressed()</signal>
+   <receiver>WarningDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>518</x>
+     <y>234</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>272</x>
+     <y>127</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>cancelButton</sender>
+   <signal>pressed()</signal>
+   <receiver>WarningDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>436</x>
+     <y>232</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>219</x>
+     <y>223</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
diff --git a/forms/zip-settings-dialog.ui b/forms/zip-settings-dialog.ui
new file mode 100644 (file)
index 0000000..dda74b4
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ZipSettingsDialog</class>
+ <widget class="QDialog" name="ZipSettingsDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>766</width>
+    <height>222</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>zip settings</string>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout">
+   <item>
+    <widget class="QLabel" name="zipToolLabel">
+     <property name="text">
+      <string>zip tool:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <widget class="QLineEdit" name="zipToolPathLE"/>
+     </item>
+     <item>
+      <widget class="QPushButton" name="zipToolButton">
+       <property name="text">
+        <string>Choose</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLabel" name="zipToolStatusLabel">
+       <property name="text">
+        <string>Status</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <widget class="QLabel" name="unzipToolLabel">
+     <property name="text">
+      <string>unzip tool:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <item>
+      <widget class="QLineEdit" name="unzipToolPathLE"/>
+     </item>
+     <item>
+      <widget class="QPushButton" name="unzipToolButton">
+       <property name="text">
+        <string>Choose</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLabel" name="unzipToolStatusLabel">
+       <property name="text">
+        <string>Status</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item>
+    <spacer name="verticalSpacer">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>17</width>
+       <height>28</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_3">
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>595</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="closeButton">
+       <property name="text">
+        <string>Close</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/frameobj.cpp b/frameobj.cpp
deleted file mode 100644 (file)
index e1cd434..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
-#include "frameobj.h"
-
-#include <QColor>
-#include <QDebug>
-#include <QGraphicsScene>
-
-#include "misc.h"  //for roof function
-
-/////////////////////////////////////////////////////////////////
-// FrameObj
-/////////////////////////////////////////////////////////////////
-FrameObj::FrameObj(QGraphicsItem *parent) :MapObj(parent)
-{
-    init ();
-}
-
-FrameObj::~FrameObj()
-{
-    clear();
-}
-
-void FrameObj::init()
-{
-    type=NoFrame;
-    clear();
-    borderWidth=1;
-    penColor=QColor (Qt::black);
-    brushColor=QColor (Qt::white);
-    includeChildren=false;
-}
-
-void FrameObj::clear()
-{
-    switch (type)
-    {
-       case NoFrame:
-           break;
-       case Rectangle:
-           delete rectFrame;
-           break;
-       case RoundedRectangle:
-           delete pathFrame;
-           break;
-       case Ellipse:
-           delete ellipseFrame;
-           break;
-       case Cloud:
-           delete pathFrame;
-           break;
-    }
-    type=NoFrame;
-    padding=0; // No frame requires also no padding
-    xsize=0;
-}
-
-void FrameObj::move(double x, double y)
-{
-    switch (type)
-    {
-       case NoFrame:
-           break;
-       case Rectangle:
-           rectFrame->setPos (x,y);
-           break;
-       case RoundedRectangle:
-           pathFrame->setPos (x,y);
-           break;
-       case Ellipse:
-           ellipseFrame->setPos (x,y);
-            break;
-       case Cloud:
-           pathFrame->setPos (x,y);
-           break;
-    }
-}
-
-void FrameObj::moveBy(double x, double y)
-{
-    MapObj::moveBy (x,y);
-}
-
-void FrameObj::positionBBox()
-{
-}
-
-void FrameObj::calcBBoxSize()
-{
-}
-
-void FrameObj::setRect(const QRectF &r)
-{
-    bbox=r;
-    switch (type)
-       {
-       case NoFrame:
-           break;
-
-       case Rectangle:
-           rectFrame->setRect (QRectF(bbox.x(),bbox.y(),bbox.width(),bbox.height() ));
-           break;
-
-       case RoundedRectangle:
-       {
-           QPointF tl=bbox.topLeft();
-           QPointF tr=bbox.topRight();
-           QPointF bl=bbox.bottomLeft();
-           QPointF br=bbox.bottomRight();
-           QPainterPath path;
-
-           qreal n=10;
-           path.moveTo (tl.x() +n/2, tl.y());
-
-           // Top path
-           path.lineTo (tr.x()-n, tr.y());
-           path.arcTo  (tr.x()-n, tr.y(), n, n,90,-90);
-           path.lineTo (br.x()  , br.y()-n);
-           path.arcTo  (br.x()-n, br.y()-n, n, n,0,-90);
-           path.lineTo (bl.x()+n, br.y());
-           path.arcTo  (bl.x()  , bl.y()-n, n, n,-90,-90);
-           path.lineTo (tl.x()  , tl.y()+n);
-           path.arcTo  (tl.x()  , tl.y(), n, n,180,-90);
-           pathFrame->setPath(path);
-       }
-           break;
-       case Ellipse:
-           ellipseFrame->setRect (QRectF(bbox.x(),bbox.y(),bbox.width(),bbox.height() ));
-            xsize=20;//max(bbox.width(), bbox.height()) / 4;
-           break;
-
-       case Cloud:
-           QPointF tl=bbox.topLeft();
-           QPointF tr=bbox.topRight();
-           QPointF bl=bbox.bottomLeft();
-           QPainterPath path;
-           path.moveTo (tl);
-
-           float w=bbox.width();   // width
-           float h=bbox.height();  // height
-           int n=w/40;             // number of intervalls
-           float d=w/n;            // width of interwall
-
-           // Top path
-           for (float i=0; i<n; i++)
-           {
-               path.cubicTo (
-                   tl.x() + i*d,     tl.y()- 100*roof ((i+0.5)/n) , 
-                   tl.x() + (i+1)*d, tl.y()- 100*roof ((i+0.5)/n) , 
-                   tl.x() + (i+1)*d + 20*roof ((i+1)/n), tl.y()- 50*roof((i+1)/n) );
-           }
-           // Right path
-           n=h/20;
-           d=h/n;
-           for (float i=0; i<n; i++)
-           {
-               path.cubicTo (
-                   tr.x()+ 100*roof ((i+0.5)/n)        , tr.y() + i*d,
-                   tr.x()+ 100*roof ((i+0.5)/n)        , tr.y() + (i+1)*d,
-                   tr.x() + 60*roof ((i+1)/n)          , tr.y() + (i+1)*d );
-           }
-           n=w/60;
-           d=w/n;
-           // Bottom path
-           for (float i=n; i>0; i--)
-           {
-               path.cubicTo (
-                   bl.x() + i*d,  bl.y()+ 100*roof ((i-0.5)/n) , 
-                   bl.x() + (i-1)*d,      bl.y()+ 100*roof ((i-0.5)/n) , 
-                   bl.x() + (i-1)*d + 20*roof ((i-1)/n), bl.y()+ 50*roof((i-1)/n) );
-           }
-           // Left path
-           n=h/20;
-           d=h/n;
-           for (float i=n; i>0; i--)
-           {
-               path.cubicTo (
-                   tl.x()- 100*roof ((i-0.5)/n)        , tr.y() + i*d,
-                   tl.x()- 100*roof ((i-0.5)/n)        , tr.y() + (i-1)*d,
-                   tl.x()-  60*roof ((i-1)/n)          , tr.y() + (i-1)*d );
-           }
-           pathFrame->setPath(path);
-            xsize=50;
-           break;
-    }
-}
-
-void FrameObj::setPadding (const int &i)
-{
-    padding=i;
-}
-
-int FrameObj::getPadding()
-{
-    if (type==NoFrame)
-       return 0;
-    else
-       return padding;
-}
-
-qreal FrameObj::getTotalPadding()
-{
-    return xsize  + padding + borderWidth; 
-}
-
-qreal FrameObj::getXPadding()
-{
-    return xsize; 
-}
-
-void FrameObj::setBorderWidth (const int &i)
-{
-    borderWidth=i;
-    repaint();
-}
-
-int FrameObj::getBorderWidth()
-{
-    return borderWidth;
-}
-
-FrameObj::FrameType FrameObj::getFrameType()
-{
-    return type;
-}
-
-FrameObj::FrameType FrameObj::getFrameType(const QString &s)
-{
-    if (s=="Rectangle")
-       return Rectangle;
-    else if (s=="RoundedRectangle")
-       return RoundedRectangle;
-    else if (s=="Ellipse")
-       return Ellipse;
-    else if (s=="Cloud")
-       return Cloud;
-    return NoFrame;    
-}
-
-QString FrameObj::getFrameTypeName()
-{
-    switch (type)
-    {
-       case Rectangle:
-           return "Rectangle";
-           break;
-       case RoundedRectangle:
-           return "RoundedRectangle";
-           break;
-       case Ellipse:
-           return "Ellipse";
-           break;
-       case Cloud:
-           return "Cloud";
-           break;
-       default:
-           return "NoFrame";
-    }
-}
-
-void FrameObj::setFrameType(const FrameType &t)
-{
-    if (t!=type)
-    {
-        clear();
-        type=t;
-        switch (type)
-        {
-            case NoFrame:
-                break;
-            case Rectangle:
-                rectFrame = scene()->addRect(QRectF(0,0,0,0), QPen(penColor), brushColor);
-                rectFrame->setZValue(dZ_FRAME_LOW);
-                rectFrame->setParentItem (this);
-                rectFrame->show();
-                break;
-            case RoundedRectangle:
-                {
-                    QPainterPath path;
-                    pathFrame = scene()->addPath(path, QPen(penColor), brushColor);
-                    pathFrame->setZValue(dZ_FRAME_LOW);
-                    pathFrame->setParentItem (this);
-                    pathFrame->show();
-                }
-                break;
-            case Ellipse:
-                ellipseFrame = scene()->addEllipse(QRectF(0,0,0,0), QPen(penColor), brushColor);
-                ellipseFrame->setZValue(dZ_FRAME_LOW);
-                ellipseFrame->setParentItem (this);
-                ellipseFrame->show();
-                break;
-            case Cloud:
-                {
-                    QPainterPath path;
-                    pathFrame = scene()->addPath(path, QPen(penColor), brushColor);
-                    pathFrame->setZValue(dZ_FRAME_LOW);
-                    pathFrame->setParentItem (this);
-                    pathFrame->show();
-                    break;
-                }
-        }
-    }
-    setVisibility (visible);
-}
-
-void FrameObj::setFrameType(const QString &t)
-{
-    if (t=="Rectangle")
-       FrameObj::setFrameType (Rectangle);
-    else if (t=="RoundedRectangle")  
-       FrameObj::setFrameType (RoundedRectangle);
-    else if (t=="Ellipse")  
-       FrameObj::setFrameType (Ellipse);
-    else if (t=="Cloud")  
-       FrameObj::setFrameType (Cloud);
-    else    
-       FrameObj::setFrameType (NoFrame);
-}
-
-void FrameObj::setPenColor (QColor col)
-{
-    penColor=col;
-    repaint();
-}
-
-QColor FrameObj::getPenColor ()
-{
-    return penColor;
-}
-
-void FrameObj::setBrushColor (QColor col)
-{
-    brushColor=col;
-    repaint();
-}
-
-QColor FrameObj::getBrushColor ()
-{
-    return brushColor;
-}
-
-void FrameObj::setFrameIncludeChildren(bool b)
-{
-    includeChildren=b;
-}
-
-bool FrameObj::getFrameIncludeChildren()
-{
-    return includeChildren;
-}
-
-void FrameObj::repaint()
-{
-    QPen pen;
-    pen.setColor (penColor);
-    pen.setWidth (borderWidth);
-    QBrush brush (brushColor);
-    switch (type)
-    {
-       case Rectangle:
-           rectFrame->setPen   (pen);
-           rectFrame->setBrush (brush);
-           break;
-       case RoundedRectangle:
-           pathFrame->setPen   (pen);
-           pathFrame->setBrush (brush);
-           break;
-       case Ellipse:
-           ellipseFrame->setPen   (pen);
-           ellipseFrame->setBrush (brush);
-           break;
-       case Cloud:
-           pathFrame->setPen   (pen);
-           pathFrame->setBrush (brush);
-           break;
-       default:
-           break;
-    }
-}
-
-void FrameObj::setZValue (double z)
-{
-    switch (type)
-    {
-       case NoFrame:
-           break;
-       case Rectangle:
-           rectFrame->setZValue (z);
-           break;
-       case RoundedRectangle:
-           pathFrame->setZValue (z);
-           break;
-       case Ellipse:
-           ellipseFrame->setZValue (z);
-           break;
-       case Cloud:
-           pathFrame->setZValue (z);
-           break;
-    }
-}
-
-void FrameObj::setVisibility (bool v)
-{
-    MapObj::setVisibility(v);
-    switch (type)
-    {
-       case NoFrame:
-           break;
-       case Rectangle:
-           if (visible)
-               rectFrame->show();
-           else    
-               rectFrame->hide();
-           break;
-       case RoundedRectangle:
-           if (visible)
-               pathFrame->show();
-           else    
-               pathFrame->hide();
-           break;
-       case Ellipse:
-           if (visible)
-               ellipseFrame->show();
-           else    
-               ellipseFrame->hide();
-           break;
-       case Cloud:
-           if (visible)
-               pathFrame->show();
-           else    
-               pathFrame->hide();
-           break;
-    }
-}
-
-QString FrameObj::saveToDir ()
-{
-    QString frameTypeAttr=attribut ("frameType",getFrameTypeName());
-    if (type==NoFrame) 
-       return singleElement ("frame", frameTypeAttr);
-
-    QString penColAttr=attribut ("penColor",penColor.name() );
-    QString brushColAttr=attribut ("brushColor",brushColor.name() );
-    QString paddingAttr=attribut ("padding",QString::number (padding) );
-    QString borderWidthAttr=attribut ("borderWidth",QString::number (borderWidth) );
-    QString incChildren;
-    if (includeChildren)
-       incChildren=attribut ("includeChildren","true");
-    return singleElement (
-       "frame",frameTypeAttr + 
-       penColAttr + 
-       brushColAttr +
-       paddingAttr +
-       borderWidthAttr +
-       incChildren);
-}
-
diff --git a/frameobj.h b/frameobj.h
deleted file mode 100644 (file)
index ea5fc06..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef FRAMEOBJ_H
-#define FRAMEOBJ_H
-
-#include "mapobj.h"
-
-
-/*! \brief This class adds a frame to a MapObj. 
-*/
-
-class FrameObj:public MapObj {
-public:
-
-    /*! \brief Supported frame types */
-    enum FrameType {NoFrame,Rectangle,RoundedRectangle,Ellipse,Cloud};
-
-    FrameObj(QGraphicsItem *parent);
-    ~FrameObj();
-    void init();
-    void clear();
-    void move (double x,double y);  // move to absolute Position
-    void moveBy (double x,double y);// move to relative Position
-    void positionBBox();            
-    void calcBBoxSize();           
-    void setRect (const QRectF &);   // set dimensions         
-    void setPadding(const int &);
-    int getPadding();
-    qreal getTotalPadding();         // padding + borderwidth + xsize (e.g. cloud)
-    qreal getXPadding();
-    void setBorderWidth (const int &);
-    int getBorderWidth ();
-    FrameType getFrameType ();
-    FrameType getFrameType (const QString &);
-    QString getFrameTypeName ();
-    void setFrameType (const FrameType &);
-    void setFrameType (const QString &);
-    void setPenColor (QColor);
-    QColor getPenColor ();
-    void setBrushColor (QColor);
-    QColor getBrushColor ();
-    void setFrameIncludeChildren(bool);
-    bool getFrameIncludeChildren();
-    void repaint();
-    void setZValue (double z);
-    void setVisibility(bool);
-    QString saveToDir ();
-
-private:
-    FrameType type;        //!< Frame type
-    QGraphicsRectItem * rectFrame;
-    QGraphicsEllipseItem * ellipseFrame;
-    QGraphicsPathItem *pathFrame;
-    int padding;           // distance text - frame
-    int borderWidth;
-    qreal xsize;            //! Extra size caused e.g. by cloud geometry
-    QColor penColor;
-    QColor brushColor;
-    bool includeChildren;
-};
-#endif
-
diff --git a/geometry.cpp b/geometry.cpp
deleted file mode 100644 (file)
index 54e86bb..0000000
+++ /dev/null
@@ -1,385 +0,0 @@
-#include "geometry.h"
-
-#include <math.h>
-#include "misc.h"
-
-#include <QString>
-
-#include <iostream>
-using namespace std;
-
-
-QRectF addBBox(QRectF r1, QRectF r2)
-{   
-    // Find smallest QRectF containing given rectangles
-
-    QRectF n;
-    // Set left border
-    if (r1.left() <= r2.left() )
-       n.setLeft(r1.left() );
-    else
-       n.setLeft(r2.left() );
-       
-    // Set top border      
-    if (r1.top() <= r2.top() )
-       n.setTop(r1.top() );
-    else
-       n.setTop(r2.top() );
-       
-    // Set right border
-    if (r1.right() <= r2.right() )
-       n.setRight(r2.right() );
-    else
-       n.setRight(r1.right() );
-       
-    // Set bottom 
-    if (r1.bottom() <= r2.bottom() )
-       n.setBottom(r2.bottom() );
-    else
-       n.setBottom(r1.bottom() );
-    return n;
-}
-
-QSize addBBoxSize (QSize s1, QSize s2)
-{   
-    // Find the minimimum smallest QSize which could include 2 given sizes
-
-    QSize s=s1;
-    if (s1.width() <= s2.width() )
-       s.setWidth (s2.width() );
-    if (s1.height() <= s2.height() )
-       s.setHeight(s2.height() ); 
-    return s;
-}
-
-bool isInBox(const QPointF &p, const QRectF &box)
-{
-    if (p.x() >= box.left() && p.x() <= box.right()  
-    && p.y() <= box.bottom() && p.y() >= box.top() )
-       return true;
-    return false;   
-}
-
-qreal Geometry::distance (const QPointF &p, const QPointF &q)
-{
-    return sqrt (p.x()*q.x() + p.y()*q.y());
-}
-
-Vector::Vector ():QPointF ()
-{
-}
-
-Vector::Vector (const QPointF &p):QPointF (p)
-{
-}
-
-Vector::Vector (qreal x, qreal y):QPointF (x,y)
-{
-}
-
-Vector::~Vector ()
-{
-}
-
-//! Check if length is 0
-bool Vector::isNull()
-{
-    if (x()==0 && y()==0)
-       return true;
-    return false;   
-}
-
-//! Normalize vector
-void Vector::normalize ()
-{
-    if (isNull() ) return;
-    qreal l=sqrt ( x()*x() + y()*y() );
-    setX (x()/l);
-    setY (y()/l);
-}
-
-//! Dot product of two vectors
-qreal Vector::dotProduct (const QPointF &b)
-{
-    return x()*b.x() + y()*b.y();
-}
-
-
-void Vector::scale (const qreal &f)
-{
-    setX (x()*f);
-    setY (y()*f);
-}
-
-void Vector::invert ()
-{
-    setX (-x());
-    setY (-y());
-}
-
-QPointF Vector::toQPointF ()
-{
-    return QPointF (x(),y());
-}
-
-/*! Calculate the projection of a polygon on an axis
-    and returns it as a [min, max] interval  */
-ConvexPolygon::ConvexPolygon ()
-{
-}
-
-ConvexPolygon::ConvexPolygon (QPolygonF p):QPolygonF (p)
-{
-}
-
-ConvexPolygon::~ConvexPolygon ()
-{
-}
-
-void ConvexPolygon::calcCentroid() 
-{
-    // Calculate area and centroid
-    // http://en.wikipedia.org/wiki/Centroid
-    qreal cx,cy,p;
-    cx=cy=0;
-    _area=0;
-
-    append (at(0));
-    for (int i=0;i<size()-1;i++)
-    {
-       p=at(i).x() * at(i+1).y() - at(i+1).x() * at(i).y();
-       _area+=p;
-       cx+=(at(i).x()+at(i+1).x()) * p;
-       cy+=(at(i).y()+at(i+1).y()) * p;
-    }  
-    pop_back();
-    // area is negative if vertices ordered counterclockwise
-    // (in mirrored graphicsview!)
-    _area=_area/2;  
-    p=_area*6;
-    _centroid.setX (cx/p);
-    _centroid.setY (cy/p);
-}
-
-QPointF ConvexPolygon::centroid() const
-{
-    return _centroid;
-}
-
-qreal ConvexPolygon::weight() const
-{
-    return _area;
-}
-
-std::string ConvexPolygon::toStdString()
-{
-    QString s ("(");
-    for (int i=0;i<size();++i)
-    {
-       s+=QString("(%1,%2)").arg(at(i).x()).arg(at(i).y());
-       if (i<size()-1) s+=",";
-    }
-    s+=")"; 
-    return s.toStdString();
-}
-
-Vector ConvexPolygon::at(const int &i) const
-{
-    return Vector (QPolygonF::at(i).x(),QPolygonF::at(i).y());
-}
-
-void ConvexPolygon::translate ( const Vector & offset )
-{ translate (offset.x(),offset.y());}
-
-void ConvexPolygon::translate ( qreal dx, qreal dy )
-{
-    QPolygonF::translate (dx,dy);
-    _centroid=_centroid+QPointF (dx,dy);
-}
-
-void projectPolygon(Vector axis, ConvexPolygon polygon, qreal &min, qreal &max) 
-{
-    // To project a point on an axis use the dot product
-
-    //qDebug() << "Projecting on "<< axis;
-    qreal d = axis.dotProduct(polygon.at(0));
-    min = d;
-    max = d;
-    for (int i = 0; i < polygon.size(); i++) 
-    {
-        d= polygon.at(i).dotProduct (axis);
-        if (d < min) 
-            min = d;
-        else 
-            if (d> max) max = d;
-    // qDebug() << "p="<<polygon.at(i)<<"  d="<<d<<"  (min, max)=("<<min<<","<<max<<")";       
-    }
-}
-
-// Calculate the signed distance between [minA, maxA] and [minB, maxB]
-// The distance will be negative if the intervals overlap
-
-qreal intervalDistance(qreal minA, qreal maxA, qreal minB, qreal maxB) {
-    if (minA < minB) {
-        return minB - maxA;
-    } else {
-        return minA - maxB;
-    }
-}
-
-/*!
- Check if polygon A is going to collide with polygon B.
- The last parameter is the *relative* velocity 
- of the polygons (i.e. velocityA - velocityB)
-*/
-
-PolygonCollisionResult polygonCollision(ConvexPolygon polygonA, 
-                              ConvexPolygon polygonB, Vector velocity) 
-{
-    PolygonCollisionResult result;
-    result.intersect = true;
-    result.willIntersect = true;
-
-    int edgeCountA = polygonA.size();
-    int edgeCountB = polygonB.size();
-    qreal minIntervalDistance = 1000000000;
-    QPointF translationAxis;
-    QPointF edge;
-
-/*
-    qDebug() << "A: ";
-    for (int k=0; k<edgeCountA;k++)
-       qDebug() <<polygonA.at(k);
-    qDebug() << "B: ";
-    for (int k=0; k<edgeCountB;k++)
-       qDebug() <<polygonB.at(k);
-    qDebug() ;    
-*/     
-       
-    // Loop through all the edges of both polygons
-    for (int i=0;i<edgeCountA + edgeCountB;i++)
-    {
-        if (i< edgeCountA) 
-       {
-           // Loop through polygon A
-           if (i<edgeCountA-1)
-               edge = QPointF (
-                   polygonA.at(i+1).x()-polygonA.at(i).x(), 
-                   polygonA.at(i+1).y()-polygonA.at(i).y());
-           else        
-               edge = QPointF (
-                   polygonA.at(0).x()-polygonA.at(i).x(), 
-                   polygonA.at(0).y()-polygonA.at(i).y());
-        } else 
-       {
-           // Loop through polygon B
-           if (i < edgeCountA +edgeCountB -1 )
-               edge = QPointF (
-                   polygonB.at(i-edgeCountA+1).x() - polygonB.at(i-edgeCountA).x(), 
-                   polygonB.at(i-edgeCountA+1).y() - polygonB.at(i-edgeCountA).y());
-           else    
-               edge = QPointF (
-                   polygonB.at(0).x() - polygonB.at(i-edgeCountA).x(), 
-                   polygonB.at(0).y() - polygonB.at(i-edgeCountA).y());
-       }
-
-        // ===== 1. Find if the polygons are currently intersecting =====
-
-        // Find the axis perpendicular to the current edge
-
-        Vector axis (-edge.y(), edge.x());
-        axis.normalize();
-
-        // Find the projection of the polygon on the current axis
-
-        qreal minA = 0; qreal minB = 0; qreal maxA = 0; qreal maxB = 0;
-        projectPolygon(axis, polygonA, minA, maxA);
-        projectPolygon(axis, polygonB, minB, maxB);
-
-        // Check if the polygon projections are currentlty intersecting
-
-        qreal d = intervalDistance(minA, maxA, minB, maxB);
-        if (d > 0) result.intersect = false;
-
-       // ===== 2. Now find if the polygons *will* intersect =====
-
-
-        // Project the velocity on the current axis
-
-        qreal velocityProjection = axis.dotProduct(velocity);
-
-        // Get the projection of polygon A during the movement
-
-        if (velocityProjection < 0) 
-            minA += velocityProjection;
-        else 
-            maxA += velocityProjection;
-
-        // Do the same test as above for the new projection
-
-        // d = intervalDistance(minA, maxA, minB, maxB);
-        //if (d > 0) result.willIntersect = false;
-       /*
-       qDebug() <<"   ";
-       qDebug() << "edge="<<edge<<"  ";
-       qDebug() <<"axis="<<axis<<"  ";
-       qDebug() <<"dA=("<<minA<<","<<maxA<<")  dB=("<<minB<<","<<maxB<<")";
-       qDebug() <<"  d="<<d<<"   ";
-       //qDebug() <<"minD="<<minIntervalDistance<<"  ";
-       qDebug() <<"int="<<result.intersect<<"  ";
-       //qDebug() <<"wint="<<result.willIntersect<<"  ";
-       //qDebug() <<"velProj="<<velocityProjection<<"  ";
-       qDebug() ;
-       */
-    
-        if (result.intersect )// || result.willIntersect) 
-       {
-           // Check if the current interval distance is the minimum one. If so
-           // store the interval distance and the current distance.  This will
-           // be used to calculate the minimum translation vector
-
-           if (d<0) d=-d;
-           if (d < minIntervalDistance) {
-               minIntervalDistance = d;
-               //translationAxis = axis;
-               //qDebug() << "tAxix="<<translationAxis;
-
-               //QPointF t = polygonA.Center - polygonB.Center;
-               //QPointF t = polygonA.at(0) - polygonB.at(0);
-               //if (dotProduct(t,translationAxis) < 0)
-               //  translationAxis = -translationAxis;
-           }
-       }
-    }
-
-    // The minimum translation vector
-    // can be used to push the polygons appart.
-
-    if (result.willIntersect)
-        result.minTranslation = 
-               translationAxis * minIntervalDistance;
-    
-    return result;
-}
-
-/* The function can be used this way: 
-   QPointF polygonATranslation = new QPointF();
-*/   
-
-
-/*
-PolygonCollisionResult r = PolygonCollision(polygonA, polygonB, velocity);
-
-if (r.WillIntersect) 
-  // Move the polygon by its velocity, then move
-  // the polygons appart using the Minimum Translation Vector
-  polygonATranslation = velocity + r.minTranslation;
-else 
-  // Just move the polygon by its velocity
-  polygonATranslation = velocity;
-
-polygonA.Offset(polygonATranslation);
-
-*/
-
-
diff --git a/geometry.h b/geometry.h
deleted file mode 100644 (file)
index a694a57..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef GEOMETRY
-#define GEOMETRY
-
-#include <QPolygonF>
-
-namespace Geometry {
-    qreal distance (const QPointF &p, const QPointF &q);
-};
-
-QRectF addBBox(QRectF r1, QRectF r2);
-QSize addBBoxSize(QSize s1, QSize s2);
-bool isInBox(const QPointF &p, const QRectF &box);
-
-class Vector:public QPointF
-{
-public:
-       Vector ();
-       Vector (const QPointF &p);
-       Vector (qreal x, qreal y);
-       virtual ~Vector ();
-
-       friend inline bool operator==(const Vector &v1, const Vector &v2 )
-       { return v1.x()==v2.x() && v1.y()==v2.y(); }
-
-       bool isNull();
-       virtual void normalize ();
-       virtual qreal dotProduct (const QPointF &b);
-       virtual void scale  (const qreal &f);
-       virtual void invert ();
-       virtual QPointF toQPointF();
-};
-
-class ConvexPolygon:public QPolygonF
-{
-public:
-       ConvexPolygon ();
-       ConvexPolygon (QPolygonF p);
-        virtual ~ConvexPolygon();
-       void calcCentroid() ;
-       QPointF centroid() const;
-       qreal weight() const;
-       std::string toStdString ();
-       Vector at (const int &i) const ; 
-       virtual void translate ( const Vector &offset );
-       virtual void translate ( qreal dx, qreal dy );
-private:
-       Vector _centroid;
-       qreal _area;
-};
-
-class PolygonCollisionResult {
-public:
-    // Are the polygons going to intersect forward in time?
-    bool willIntersect;
-
-    // Are the polygons currently intersecting?
-    bool intersect;
-
-    // The translation to apply to the first polygon to push the polygons apart.
-    QPointF minTranslation;
-};
-
-
-void projectPolygon(Vector axis, ConvexPolygon polygon, qreal &min, qreal &max) ;
-
-qreal intervalDistance(qreal minA, qreal maxA, qreal minB, qreal maxB);
-PolygonCollisionResult polygonCollision(ConvexPolygon polygonA, 
-                              ConvexPolygon polygonB, Vector velocity);
-
-#endif
\ No newline at end of file
diff --git a/heading.cpp b/heading.cpp
deleted file mode 100644 (file)
index 4e0f5e7..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "heading.h"
-#include "misc.h"
-
-#include <QRegExp>
-#include <QDebug>
-
-/////////////////////////////////////////////////////////////////
-// Heading
-/////////////////////////////////////////////////////////////////
-
-void Heading::operator =(const VymText &other)
-{
-    copy (other);
-}
-
-QString Heading::saveToDir ()
-{
-    return valueElement ("heading", VymText::saveToDir(), getAttributes() );
-}
-
diff --git a/heading.h b/heading.h
deleted file mode 100644 (file)
index baa02d8..0000000
--- a/heading.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef HEADING_H
-#define HEADING_H
-
-#include "vymtext.h"
-
-/*! \brief The heading belonging to one OrnamentedObj */
-
-
-class Heading:public VymText
-{
-public:
-    void operator= (const VymText &other);
-    QString saveToDir();
-};
-#endif
diff --git a/headingeditor.cpp b/headingeditor.cpp
deleted file mode 100644 (file)
index 3cb4741..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "headingeditor.h"
-#include "settings.h"
-
-extern Settings settings;
-extern QString vymName;
-
-HeadingEditor::HeadingEditor(QString scope):TextEditor()
-{
-    editorName = tr("Note Editor","Name of editor shown as window title");
-    setWindowTitle("");
-
-    // Load Settings
-    init (scope);
-}
-
-HeadingEditor::~HeadingEditor() {}
-
diff --git a/headingeditor.h b/headingeditor.h
deleted file mode 100644 (file)
index 3ed1975..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef HEADINGEDITOR_H \r
-#define HEADINGEDITOR_H\r
-\r
-#include "texteditor.h"\r
-\r
-class HeadingEditor :  public TextEditor {\r
-    Q_OBJECT\r
-public:\r
-    HeadingEditor(QString scope);\r
-    ~HeadingEditor();\r
-\r
-};\r
-\r
-#endif\r
diff --git a/headingobj.cpp b/headingobj.cpp
deleted file mode 100644 (file)
index ae32b58..0000000
+++ /dev/null
@@ -1,293 +0,0 @@
-#include <QDebug>
-#include <QRegExp>
-#include <QGraphicsScene>
-
-#include "headingobj.h"
-
-extern bool debug;
-
-/////////////////////////////////////////////////////////////////
-// HeadingObj
-/////////////////////////////////////////////////////////////////
-HeadingObj::HeadingObj(QGraphicsItem *parent) :MapObj(parent)
-{
-    //qDebug() << "Const HeadingObj (s) ";
-    init ();
-}
-
-HeadingObj::~HeadingObj()
-{
-//  qDebug() << "Destr. HeadingObj "<<heading;
-    while (!textline.isEmpty())
-       delete textline.takeFirst();
-}
-
-void HeadingObj::init()
-{
-    textwidth=40;
-    color=QColor ("black");
-    font=QFont();
-    heading="";
-    angle=0;   
-}
-
-void HeadingObj::copy(HeadingObj *other)
-{
-    MapObj::copy (other);
-    textwidth=other->textwidth;
-    color=other->color;
-    font=other->font;
-    setText (other->text() );
-}
-
-void HeadingObj::move(double x, double y)
-{
-    MapObj::move(x,y);
-
-    qreal h;   // height of a textline
-    qreal ho;  // offset of height while drawing all lines
-
-    if (!textline.isEmpty() )
-       h=textline.first()->boundingRect().height();
-    else
-       h=2;
-    ho=0;
-    for (int i=0; i<textline.size(); ++i)
-    {
-       textline.at(i)->setPos(x,y+ho);
-       ho=ho+h;
-    }  
-}
-
-
-void HeadingObj::moveBy(double x, double y)
-{
-    move (x+absPos.x(),y+absPos.y() );
-}
-
-void HeadingObj::positionBBox()
-{
-    bbox.setX (absPos.x());
-    bbox.setY (absPos.y());
-}
-
-void HeadingObj::calcBBoxSize()
-{   
-    qreal w=0;
-    qreal h=0;
-    // Using Backspace an empty heading might easily be created, then there
-    // would be textline.first()==NULL This can be worked around by the following, but
-    // then no selection would be visible, thus we prevent it in ::setText()
-    if (!textline.isEmpty() )
-    {
-       for (int i=0; i<textline.size(); i++)
-       {
-           h+=textline.at(i)->boundingRect().height();
-           if (w<textline.at(i)->boundingRect().width() )
-               w=textline.at(i)->boundingRect().width();
-       }   
-    } 
-    bbox.setSize (QSizeF(w,h));
-}
-
-QGraphicsTextItem* HeadingObj::newLine(QString s)  
-{
-    QGraphicsTextItem *t=new QGraphicsTextItem (s,parentItem());
-    t->setFont (font);
-    t->setZValue(dZ_TEXT);
-    t->setDefaultTextColor(color);
-    t->setRotation (angle);
-    return t;
-}
-
-void HeadingObj::setTransformOriginPoint (const QPointF & p)
-{
-    for (int i=0; i<textline.size(); i++)
-    {
-       textline.at(i)->setTransformOriginPoint (p);
-    }
-}
-
-void HeadingObj::setRotation (const qreal &a)
-{
-    angle=a;
-    for (int i=0; i<textline.size(); i++)
-       textline.at(i)->setRotation (angle);
-}
-
-qreal HeadingObj::getRotation()
-{
-    return angle;
-}
-
-void HeadingObj::setText (QString s)  
-{
-    heading=s;
-
-    // remove old textlines and prepare generating new ones
-    while (!textline.isEmpty())
-       delete textline.takeFirst();
-
-    if (s.startsWith("<html>")||
-       s.startsWith("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">")
-    )
-    {
-       QGraphicsTextItem *t=new QGraphicsTextItem ();
-       t->setFont (font);
-       t->setZValue(dZ_TEXT);
-       t->setHtml (s);
-       t->setDefaultTextColor(color);
-       t->setRotation (angle);
-       scene()->addItem (t);
-       textline.append (t);
-    } else
-    {
-       // prevent empty textline, so at least a small selection stays
-       // visible for this heading
-       if (s.length()==0) s="  ";
-
-       int i=0;        // index for actual search for ws
-       int j=0;        // index of last ws
-       int k=0;        // index of "<br>" or similar linebreak
-       int br=0;       // width of found break, e.g. for <br> it is 4
-       QRegExp re("<br.*/>");
-       re.setMinimal (true);
-
-       // set the text and wrap lines
-       while (s.length()>0)
-       {
-           // ok, some people wanted manual linebreaks, here we go
-           k=re.indexIn (s,i);
-           if (k>=0)
-           {
-               br=re.cap(0).length();
-               i=k;
-           } else
-               i=s.indexOf (" ",i);
-           if (i<0 && j==0)
-           {   // no ws found at all in s
-               // append whole s
-               textline.append (newLine(s));
-               s="";
-           } else
-           {
-               if (i<0 && j>0)
-               {       // no ws found in actual search
-                   if (s.length()<=textwidth)
-                   {
-                       textline.append (newLine(s));
-                       s="";
-                   } else
-                   {
-                       textline.append (newLine(s.left(j)));
-                       s=s.mid(j+1,s.length());
-                       j=0;
-                   }       
-               } else
-               {
-                   if (i>= 0 && i<=static_cast <int> (textwidth))
-                   {   // there is a ws in textwidth
-                       if (br>0)
-                       {
-                           // here is a linebreak
-                           textline.append (newLine(s.left(i)));
-                           s=s.mid(i+br,s.length());
-                           i=0;
-                           j=0;
-                           br=0;
-                       } else
-                       {
-                           j=i;
-                           i++;
-                       }
-                   } else
-                   {
-                       if (i>static_cast <int> (textwidth)  )
-                       {       
-                           if (j>0)
-                           {   // a ws out of textwidth, but we have also one in
-                               textline.append (newLine(s.left(j)));
-                               s=s.mid(j+1,s.length());
-                               i=0;
-                               j=0;
-                           } else
-                           {   // a ws out of text, but none in
-                               textline.append (newLine(s.left(i)));
-                               s=s.mid(i+1,s.length());
-                               i=0;
-                           }
-                       }
-                   } 
-               }         
-           }       
-       }
-    } // ASCII heading with multiple lines
-    setVisibility (visible);
-    move (absPos.x(),absPos.y());
-    calcBBoxSize();
-}
-
-QString HeadingObj::text ()
-{
-    return heading;
-}
-
-void HeadingObj::setFont (QFont f)
-{
-    if (font!=f) 
-    {
-       font=f;
-       setText (text());
-    }
-}
-
-QFont HeadingObj::getFont()
-{
-    return font;
-}    
-    
-    
-void HeadingObj::setColor (QColor c)
-{
-    if (color!=c)
-    {
-       color=c;
-       for (int i=0; i<textline.size(); ++i)
-           // TextItem
-           textline.at(i)->setDefaultTextColor(c);
-           // SimpleTextItem
-           //textline.at(i)->setBrush(c);
-    }      
-}
-
-QColor HeadingObj::getColor()
-{
-    return color;
-}    
-
-void HeadingObj::setZValue (double z)
-{
-    for (int i=0; i<textline.size(); ++i)
-       textline.at(i)->setZValue (z);
-}
-
-void HeadingObj::setVisibility (bool v)
-{
-    MapObj::setVisibility(v);
-    for (int i=0; i<textline.size(); ++i)
-       if (v)
-           textline.at(i)->show();
-       else
-           textline.at(i)->hide();
-}
-
-qreal HeadingObj::getHeight ()
-{
-    return bbox.height();
-}
-
-qreal HeadingObj::getWidth()
-{
-    return bbox.width();
-}
-
diff --git a/headingobj.h b/headingobj.h
deleted file mode 100644 (file)
index ed85ab3..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef HEADINGOBJ_H
-#define HEADINGOBJ_H
-
-#include "mapobj.h"
-
-/*! \brief The heading of an OrnamentedObj */
-
-class HeadingObj:public MapObj {
-public:
-    HeadingObj(QGraphicsItem*);
-    virtual ~HeadingObj();
-    virtual void init();
-    virtual void copy(HeadingObj*);
-    virtual void move (double x,double y);      // move to absolute Position
-    virtual void moveBy (double x,double y);    // move to relative Position
-    virtual void positionBBox();
-       virtual void calcBBoxSize();
-private:
-//    QGraphicsSimpleTextItem* newLine(QString);               // generate new textline
-    QGraphicsTextItem* newLine(QString);               // generate new textline
-public:    
-    virtual void setTransformOriginPoint (const QPointF &);
-    virtual void setRotation (qreal const &a);
-    virtual qreal getRotation();
-private:
-    qreal angle;    
-
-public:    
-    virtual void setText(QString);
-    virtual QString text();
-    virtual void setFont(QFont);
-    virtual QFont getFont();
-    virtual void setColor(QColor);
-    virtual QColor getColor();
-    virtual void setZValue (double z);
-    virtual void setVisibility(bool);
-    virtual qreal getHeight();
-    virtual qreal getWidth();
-
-protected:
-    QString heading;
-    int textwidth;                                                             // width for formatting text
-    QList <QGraphicsTextItem*> textline;
-    QColor color;
-    QFont font;
-};
-#endif
diff --git a/highlighter.cpp b/highlighter.cpp
deleted file mode 100644 (file)
index fdad6e4..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2005-2006 Trolltech ASA. All rights reserved.
-**
-** This file is part of the example classes of the Qt Toolkit.
-**
-** This file may be used under the terms of the GNU General Public
-** License version 2.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of
-** this file.  Please review the following information to ensure GNU
-** General Public Licensing requirements will be met:
-** http://www.trolltech.com/products/qt/opensource.html
-**
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://www.trolltech.com/products/qt/licensing.html or contact the
-** sales department at sales@trolltech.com.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-****************************************************************************/
-
-// highlighting rules have been adapted by Uwe Drechsel to match vym syntax
-
-
-#include <QtGui>
-
-#include "highlighter.h"
-
-Highlighter::Highlighter(QTextDocument *parent)        
-    : QSyntaxHighlighter(parent)
-{
-    HighlightingRule rule;
-
-    keywordFormat.setForeground(Qt::darkBlue);
-    keywordFormat.setFontWeight(QFont::Bold);
-
-    // QT keywords
-    /*
-    classFormat.setFontWeight(QFont::Bold);
-    classFormat.setForeground(Qt::darkMagenta);
-    rule.pattern = QRegExp("\\bQ[A-Za-z]+\\b");
-    rule.format = classFormat;
-    highlightingRules.append(rule);
-    */
-
-    // Single line comments
-    singleLineCommentFormat.setForeground(Qt::red);
-    rule.pattern = QRegExp("#[^\n]*");
-    rule.format = singleLineCommentFormat;
-    highlightingRules.append(rule);
-
-    // multiline comments
-    multiLineCommentFormat.setForeground(Qt::red);
-    commentStartExpression = QRegExp("/\\*");
-    commentEndExpression = QRegExp("\\*/");
-
-    // Quotations
-    quotationFormat.setForeground(Qt::darkGreen);
-    rule.pattern = QRegExp("\".*\"");
-    rule.format = quotationFormat;
-    highlightingRules.append(rule);
-
-    QStringList valuePatterns;
-    valuePatterns << "\\btrue\\b" << "\\bfalse\\b";
-    foreach (QString pattern, valuePatterns) {
-        rule.pattern = QRegExp(pattern);
-        rule.format = quotationFormat;
-        highlightingRules.append(rule);
-    }
-
-
-
-    // Funtions
-    /*
-    functionFormat.setFontItalic(true);
-    functionFormat.setForeground(Qt::blue);
-    rule.pattern = QRegExp("\\b[A-Za-z0-9_]+(?=\\()");
-    rule.format = functionFormat;
-    highlightingRules.append(rule);
-    */
-
-}
-
-void Highlighter::addKeywords (const QStringList &list)
-{
-    HighlightingRule rule;
-    foreach (QString pattern, list) {
-        rule.pattern = QRegExp(pattern);
-        rule.format = keywordFormat;
-        highlightingRules.append(rule);
-    }
-}
-
-void Highlighter::highlightBlock(const QString &text)
-{
-    foreach (HighlightingRule rule, highlightingRules) {
-        QRegExp expression(rule.pattern);
-        int index = text.indexOf(expression);
-        while (index >= 0) {
-            int length = expression.matchedLength();
-            setFormat(index, length, rule.format);
-            index = text.indexOf(expression, index + length);
-        }
-    }
-    setCurrentBlockState(0);
-
-    int startIndex = 0;
-    if (previousBlockState() != 1)
-        startIndex = text.indexOf(commentStartExpression);
-
-    while (startIndex >= 0) {
-        int endIndex = text.indexOf(commentEndExpression, startIndex);
-        int commentLength;
-        if (endIndex == -1) {
-            setCurrentBlockState(1);
-            commentLength = text.length() - startIndex;
-        } else {
-            commentLength = endIndex - startIndex
-                            + commentEndExpression.matchedLength();
-        }
-        setFormat(startIndex, commentLength, multiLineCommentFormat);
-        startIndex = text.indexOf(commentStartExpression,
-                                                startIndex + commentLength);
-    }
-}
diff --git a/highlighter.h b/highlighter.h
deleted file mode 100644 (file)
index ec0d6be..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2005-2006 Trolltech ASA. All rights reserved.
-**
-** This file is part of the example classes of the Qt Toolkit.
-**
-** This file may be used under the terms of the GNU General Public
-** License version 2.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of
-** this file.  Please review the following information to ensure GNU
-** General Public Licensing requirements will be met:
-** http://www.trolltech.com/products/qt/opensource.html
-**
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://www.trolltech.com/products/qt/licensing.html or contact the
-** sales department at sales@trolltech.com.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-****************************************************************************/
-
-#ifndef HIGHLIGHTER_H
-#define HIGHLIGHTER_H
-
-#include <QSyntaxHighlighter>
-
-#include <QHash>
-#include <QTextCharFormat>
-
-class QTextDocument;
-
-class Highlighter : public QSyntaxHighlighter
-{
-    Q_OBJECT
-
-public:
-    Highlighter(QTextDocument *parent = 0);
-    void addKeywords (const QStringList &sl);
-
-protected:
-    void highlightBlock(const QString &text);
-
-private:
-    struct HighlightingRule
-    {
-        QRegExp pattern;
-        QTextCharFormat format;
-    };
-    QVector<HighlightingRule> highlightingRules;
-
-    QRegExp commentStartExpression;
-    QRegExp commentEndExpression;
-
-    QTextCharFormat keywordFormat;
-    QTextCharFormat classFormat;
-    QTextCharFormat singleLineCommentFormat;
-    QTextCharFormat multiLineCommentFormat;
-    QTextCharFormat quotationFormat;
-    QTextCharFormat functionFormat;
-};
-
-#endif
diff --git a/historywindow.cpp b/historywindow.cpp
deleted file mode 100644 (file)
index 53e3ff7..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-#include "historywindow.h"
-#include "mainwindow.h"
-
-
-extern Settings settings;
-extern Main *mainWindow;
-
-HistoryWindow::HistoryWindow (QWidget *parent):QDialog (parent)
-{
-    ui.setupUi (this);
-    ui.historyTable->setRowCount (settings.value( "/history/stepsTotal",75).toInt());
-    ui.historyTable->setColumnCount (3);
-
-    
-    QTableWidgetItem *item;
-
-    item= new QTableWidgetItem(tr("Action","Table with actions"));
-    ui.historyTable->setHorizontalHeaderItem(0, item);
-    
-    item= new QTableWidgetItem(tr("Comment","Table with actions"));
-    ui.historyTable->setHorizontalHeaderItem(1, item);
-    
-    item= new QTableWidgetItem(tr("Undo action","Table with actions"));
-    ui.historyTable->setHorizontalHeaderItem(2, item);
-
-    ui.historyTable->setSelectionBehavior (QAbstractItemView::SelectRows);
-
-    ui.undoButton->setIcon (QIcon(":/undo.png"));
-    ui.redoButton->setIcon (QIcon(":/redo.png"));
-
-    connect ( ui.undoButton, SIGNAL (clicked()), this, SLOT (undo()));
-    connect ( ui.redoButton, SIGNAL (clicked()), this, SLOT (redo()));
-    connect ( ui.historyTable, SIGNAL (itemSelectionChanged()), this, SLOT (select()));
-
-    // Load Settings
-
-    resize (settings.value ( "/satellite/historywindow/geometry/size", QSize(1000,400)).toSize());
-    move   (settings.value ( "/satellite/historywindow/geometry/pos", QPoint (0,450)).toPoint());
-
-    ui.historyTable->setColumnWidth (0,settings.value("/satellite/historywindow/geometry/columnWidth/0",250).toInt());
-    ui.historyTable->setColumnWidth (1,settings.value("/satellite/historywindow/geometry/columnWidth/1",350).toInt());
-    ui.historyTable->setColumnWidth (2,settings.value("/satellite/historywindow/geometry/columnWidth/2",250).toInt());
-}
-
-HistoryWindow::~HistoryWindow()
-{
-    // Save settings
-    settings.setValue( "/satellite/historywindow/geometry/size", size() );
-    settings.setValue( "/satellite/historywindow/geometry/pos", pos() );
-
-    for (int i=0; i<3; ++i)
-       settings.setValue( QString("/satellite/historywindow/geometry/columnWidth/%1").arg(i), ui.historyTable->columnWidth (i) );
-}
-
-void HistoryWindow::clearRow(int row)
-{
-    QTableWidgetItem *it;
-    it=ui.historyTable->item (row,0);
-    if (it) it->setText ("");
-    it=ui.historyTable->item (row,1);
-    if (it) it->setText ("");
-    it=ui.historyTable->item (row,2);
-    if (it) it->setText ("");
-}
-
-void HistoryWindow::updateRow(int row, int step, SimpleSettings &set)
-{
-    QTableWidgetItem *item;
-
-    item= new QTableWidgetItem(set.value(QString("/history/step-%1/redoCommand").arg(step)));
-    ui.historyTable->setItem(row, 0, item);
-
-    item= new QTableWidgetItem(set.value(QString("/history/step-%1/comment").arg(step)));
-    ui.historyTable->setItem(row, 1, item);
-
-    item=new QTableWidgetItem(set.value(QString("/history/step-%1/undoCommand").arg(step)));
-    ui.historyTable->setItem(row, 2, item);
-}
-
-void HistoryWindow::update(SimpleSettings &set)
-{
-    int undosAvail=set.readNumValue("/history/undosAvail",0);
-    int redosAvail=set.readNumValue("/history/redosAvail",0);
-    int stepsTotal=set.readNumValue("/history/stepsTotal",1000);
-    int curStep=set.readNumValue ("/history/curStep");
-    int i;
-    int s=curStep;
-    int r=undosAvail-1;
-    QTableWidgetItem *item;
-
-    // Update number of rows
-    ui.historyTable->setRowCount (undosAvail + redosAvail +1);
-
-    // Update buttons
-    if (undosAvail<1)
-       ui.undoButton->setEnabled (false);
-    else    
-       ui.undoButton->setEnabled (true);
-
-    if (redosAvail<1)
-       ui.redoButton->setEnabled (false);
-    else    
-       ui.redoButton->setEnabled (true);
-
-    // Update undos in table
-    for (i=undosAvail; i>0; i--)
-    {
-       updateRow (r,s,set);
-       r--;
-       s--;
-       if (s<1) s=stepsTotal;
-    }
-    
-    // Generated the "now" row
-    QColor c(255,200,120);
-    for (i=0;i<=2;i++)
-    {
-       if (i!=1)
-       {
-           item=new QTableWidgetItem("");
-           item->setBackgroundColor (c);
-           ui.historyTable->setItem(undosAvail, i, item);
-       }
-    }
-    item=new QTableWidgetItem(" - " +tr("Current state","Current bar in history hwindow")+ " - ");
-    item->setBackgroundColor (c);
-    ui.historyTable->setItem(undosAvail, 1, item);
-
-    // Show "now" row
-    ui.historyTable->scrollToItem (item);
-
-    // Update Redos in table
-    s=curStep;
-    s++; if (s>stepsTotal) s=1;
-    for (i=1;i<= redosAvail; i++)
-    {
-       updateRow (undosAvail+i,s,set);
-       s++; if (s>stepsTotal) s=1;
-    }
-
-    // Delete the rest
-    for (i=undosAvail+redosAvail+1;i<= stepsTotal; i++)
-       clearRow (i);
-
-    //ui.historyTable->resizeColumnsToContents();
-}
-
-void HistoryWindow::setStepsTotal (int st)
-{
-    // Number of steps + "current" bar
-    ui.historyTable->setRowCount (st+1);
-}
-
-
-void HistoryWindow::closeEvent (QCloseEvent *)
-{
-    hide();
-    emit (windowClosed() );
-}
-
-void HistoryWindow::undo()
-{
-    mainWindow->editUndo();
-}
-
-void HistoryWindow::redo()
-{
-    mainWindow->editRedo();
-}
-
-void HistoryWindow::select()
-{
-    mainWindow->gotoHistoryStep (ui.historyTable->row (ui.historyTable->selectedItems().first()));
-}
diff --git a/historywindow.h b/historywindow.h
deleted file mode 100644 (file)
index 656492a..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef HISTORYWINDOW_H
-#define HISTORYWINDOW_H
-
-#include <QDialog>
-
-#include "settings.h"
-#include "ui_historywindow.h"
-
-
-/////////////////////////////////////////////////////////////////////////////
-class HistoryWindow:public QDialog
-{
-    Q_OBJECT
-
-public:
-    HistoryWindow(QWidget* parent = 0);
-    ~HistoryWindow();
-    void update (SimpleSettings &);
-    void setStepsTotal (int);
-
-protected:
-    void closeEvent( QCloseEvent* );
-
-private slots: 
-    void undo();
-    void redo();
-    void select();
-
-signals:
-    void windowClosed();
-
-private:
-    void clearRow (int);
-    void updateRow (int, int, SimpleSettings &);
-    Ui::HistoryWindow ui;
-};
-
-
-#endif
diff --git a/historywindow.ui b/historywindow.ui
deleted file mode 100644 (file)
index fc72c21..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-<ui version="4.0" >
- <class>HistoryWindow</class>
- <widget class="QDialog" name="HistoryWindow" >
-  <property name="geometry" >
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>1160</width>
-    <height>340</height>
-   </rect>
-  </property>
-  <property name="windowTitle" >
-   <string>Dialog</string>
-  </property>
-  <layout class="QGridLayout" >
-   <property name="leftMargin" >
-    <number>9</number>
-   </property>
-   <property name="topMargin" >
-    <number>9</number>
-   </property>
-   <property name="rightMargin" >
-    <number>9</number>
-   </property>
-   <property name="bottomMargin" >
-    <number>9</number>
-   </property>
-   <property name="horizontalSpacing" >
-    <number>6</number>
-   </property>
-   <property name="verticalSpacing" >
-    <number>6</number>
-   </property>
-   <item row="0" column="0" >
-    <spacer>
-     <property name="orientation" >
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" >
-      <size>
-       <width>20</width>
-       <height>40</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="2" column="0" >
-    <widget class="QPushButton" name="redoButton" >
-     <property name="text" >
-      <string>Redo</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="0" >
-    <spacer>
-     <property name="orientation" >
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" >
-      <size>
-       <width>20</width>
-       <height>61</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item rowspan="4" row="0" column="1" >
-    <widget class="QTableWidget" name="historyTable" >
-     <row/>
-     <column>
-      <property name="text" >
-       <string>Time</string>
-      </property>
-     </column>
-     <column>
-      <property name="text" >
-       <string>Comment</string>
-      </property>
-     </column>
-    </widget>
-   </item>
-   <item row="1" column="0" >
-    <widget class="QPushButton" name="undoButton" >
-     <property name="text" >
-      <string>Undo</string>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="0" colspan="2" >
-    <layout class="QHBoxLayout" >
-     <property name="spacing" >
-      <number>6</number>
-     </property>
-     <property name="leftMargin" >
-      <number>0</number>
-     </property>
-     <property name="topMargin" >
-      <number>0</number>
-     </property>
-     <property name="rightMargin" >
-      <number>0</number>
-     </property>
-     <property name="bottomMargin" >
-      <number>0</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation" >
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" >
-        <size>
-         <width>131</width>
-         <height>31</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="closeButton" >
-       <property name="text" >
-        <string>Close</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>closeButton</sender>
-   <signal>clicked()</signal>
-   <receiver>HistoryWindow</receiver>
-   <slot>close()</slot>
-   <hints>
-    <hint type="sourcelabel" >
-     <x>369</x>
-     <y>253</y>
-    </hint>
-    <hint type="destinationlabel" >
-     <x>179</x>
-     <y>282</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/icons/configure-plus.svg b/icons/configure-plus.svg
new file mode 100644 (file)
index 0000000..a81174e
--- /dev/null
@@ -0,0 +1,5010 @@
+<?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="128"
+   height="128"
+   id="svg1307"
+   sodipodi:version="0.32"
+   inkscape:version="0.92.2 5c3e80d, 2017-08-06"
+   version="1.0"
+   sodipodi:docname="configure-plus.svgz"
+   inkscape:output_extension="org.inkscape.output.svgz.inkscape">
+  <defs
+     id="defs1309">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 64 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="128 : 64 : 1"
+       inkscape:persp3d-origin="64 : 42.666667 : 1"
+       id="perspective554" />
+    <linearGradient
+       id="linearGradient3578">
+      <stop
+         style="stop-color:#a2a2a2;stop-opacity:1;"
+         offset="0"
+         id="stop3580" />
+      <stop
+         style="stop-color:#e0e0e0;stop-opacity:1;"
+         offset="1"
+         id="stop3582" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3536">
+      <stop
+         style="stop-color:#d2d2d2;stop-opacity:1;"
+         offset="0"
+         id="stop3538" />
+      <stop
+         style="stop-color:#d2d2d2;stop-opacity:1"
+         offset="1"
+         id="stop3540" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3513">
+      <stop
+         style="stop-color:#f9f9f9;stop-opacity:1;"
+         offset="0"
+         id="stop3515" />
+      <stop
+         style="stop-color:#d1d1d1;stop-opacity:1;"
+         offset="1"
+         id="stop3517" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient6184">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop6186" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop6188" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2648">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2650" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2652" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient34264">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop34266" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop34268" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient26369">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop26371" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop26373" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient25485">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop25487" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop25489" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient23722">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop23724" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop23726" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient22831">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop22833" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:0;"
+         offset="1"
+         id="stop22835" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient17579">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop17581" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop17583" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient15825">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop15827" />
+      <stop
+         style="stop-color:#555753;stop-opacity:0;"
+         offset="1"
+         id="stop15829" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient13184">
+      <stop
+         style="stop-color:#000000;stop-opacity:0.66666669;"
+         offset="0"
+         id="stop13186" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop13188" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient11428">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop11430" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop11432" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient10539">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop10541" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:0;"
+         offset="1"
+         id="stop10543" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6818">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop6820" />
+      <stop
+         style="stop-color:#3e3e3e;stop-opacity:0;"
+         offset="1"
+         id="stop6822" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient5928">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop5930" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop5932" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4174">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop4176" />
+      <stop
+         style="stop-color:#3e3e3e;stop-opacity:0;"
+         offset="1"
+         id="stop4178" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3168">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3170" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3172" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2948">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2950" />
+      <stop
+         id="stop2956"
+         offset="0.14835165"
+         style="stop-color:#000000;stop-opacity:0;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.39607843;"
+         offset="0.42443547"
+         id="stop2960" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.79061371;"
+         offset="0.57417583"
+         id="stop2958" />
+      <stop
+         id="stop2962"
+         offset="0.78708792"
+         style="stop-color:#000000;stop-opacity:0.09386282;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop2952" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2938">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2940" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop2942" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2926">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2928" />
+      <stop
+         id="stop2934"
+         offset="0.31868133"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2930" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2916">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2918" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop2920" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2890">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2892" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop2894" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2878">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2880" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2882" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2854">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2856" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop2858" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2830">
+      <stop
+         style="stop-color:#111111;stop-opacity:1;"
+         offset="0"
+         id="stop2832" />
+      <stop
+         id="stop2838"
+         offset="0.14285715"
+         style="stop-color:#6e6e70;stop-opacity:1;" />
+      <stop
+         style="stop-color:#101010;stop-opacity:1;"
+         offset="0.5714286"
+         id="stop2864" />
+      <stop
+         style="stop-color:#0d0d0d;stop-opacity:1;"
+         offset="1"
+         id="stop2834" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2803">
+      <stop
+         style="stop-color:#e2dcdc;stop-opacity:1;"
+         offset="0"
+         id="stop2809" />
+      <stop
+         id="stop2811"
+         offset="0.39074388"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2813"
+         offset="0.82692307"
+         style="stop-color:#dfd9df;stop-opacity:1;" />
+      <stop
+         id="stop2815"
+         offset="1"
+         style="stop-color:#c3c3c3;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2370">
+      <stop
+         id="stop2378"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#2a2a2a;stop-opacity:1;"
+         offset="1"
+         id="stop2374" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2352">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2354" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop2356" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2334">
+      <stop
+         style="stop-color:#323232;stop-opacity:1;"
+         offset="0"
+         id="stop2336" />
+      <stop
+         id="stop2346"
+         offset="0.07692308"
+         style="stop-color:#dfe1e1;stop-opacity:1;" />
+      <stop
+         id="stop2342"
+         offset="0.5"
+         style="stop-color:#e2dcdc;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0.78201604"
+         id="stop2348" />
+      <stop
+         style="stop-color:#dfd9df;stop-opacity:1;"
+         offset="0.9005897"
+         id="stop2344" />
+      <stop
+         style="stop-color:#3a3a3a;stop-opacity:1;"
+         offset="1"
+         id="stop2338" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2322">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2324" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop2326" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2310">
+      <stop
+         style="stop-color:#020202;stop-opacity:1;"
+         offset="0"
+         id="stop2312" />
+      <stop
+         style="stop-color:#020202;stop-opacity:0;"
+         offset="1"
+         id="stop2314" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2270">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop2272" />
+      <stop
+         id="stop2286"
+         offset="0.11893105"
+         style="stop-color:#141414;stop-opacity:1;" />
+      <stop
+         id="stop2282"
+         offset="0.17597927"
+         style="stop-color:#282828;stop-opacity:1;" />
+      <stop
+         style="stop-color:#363636;stop-opacity:1;"
+         offset="0.50941366"
+         id="stop2284" />
+      <stop
+         style="stop-color:#303030;stop-opacity:1;"
+         offset="0.84284806"
+         id="stop2280" />
+      <stop
+         id="stop2288"
+         offset="0.88084084"
+         style="stop-color:#141414;stop-opacity:1;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop2274" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2334"
+       id="linearGradient3034"
+       gradientUnits="userSpaceOnUse"
+       x1="-70.588905"
+       y1="67.754272"
+       x2="-59.581383"
+       y2="67.754272" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2270"
+       id="linearGradient3036"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="34.91254"
+       y1="94.734375"
+       x2="55.089256"
+       y2="94.734375" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient3038"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="45.24057"
+       y1="61.083416"
+       x2="45.24057"
+       y2="62.415165" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient3040"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="45.615768"
+       y1="128.00496"
+       x2="45.615768"
+       y2="125.89983" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient3042"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="37.235054"
+       y1="75.415688"
+       x2="38.61475"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient3044"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,-1.376939e-17,1.646902e-16,1,-20.17672,17)"
+       x1="36.909187"
+       y1="75.415688"
+       x2="38.451817"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient3046"
+       gradientUnits="userSpaceOnUse"
+       x1="-74.01326"
+       y1="49.46249"
+       x2="-58.206917"
+       y2="65.268829" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient3048"
+       gradientUnits="userSpaceOnUse"
+       x1="-66.905724"
+       y1="77.09996"
+       x2="-66.905724"
+       y2="75.717079" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient3050"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.526348e-14,-131)"
+       x1="-66.905724"
+       y1="78.000954"
+       x2="-66.905724"
+       y2="77.232819" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3052"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,5.364468e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3054"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,-7.50372e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3056"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.139091e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3058"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,-3.238486e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3060"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,-2.207453e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3062"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,4.546976e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3064"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,-1.862329e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3066"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,5.421266e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3068"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,-1.437822e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3070"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,2.862109e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3072"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,2.862109e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3074"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,-1.966153e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3076"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.125039e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3078"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,-1.792768e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3080"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.470075e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3082"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,4.406901e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3084"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,7.849441e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3086"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.987674e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3088"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,-4.151802e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3090"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.474107e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3092"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.303235e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3094"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.303235e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3096"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,2.265975e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3098"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.107829e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3100"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.001307e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3102"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.83909e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3104"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.754026e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3106"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,3.772202e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3108"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,4.030706e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3110"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,2.550598e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3112"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,4.804871e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3114"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.457581e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient3116"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.168299e-19,3.205999e-16,0.636364,1.457581e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2803"
+       id="linearGradient3118"
+       gradientUnits="userSpaceOnUse"
+       x1="62.987843"
+       y1="46.469597"
+       x2="118.02947"
+       y2="62.350033" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient3120"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="92.496124"
+       cy="43.249184"
+       fx="92.496124"
+       fy="43.249184"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient3122"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="92.990265"
+       cy="42.850105"
+       fx="92.990265"
+       fy="42.850105"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient3124"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="93.747849"
+       cy="43.102612"
+       fx="93.747849"
+       fy="43.102612"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient3126"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="94.932045"
+       cy="43.032188"
+       fx="94.932045"
+       fy="43.032188"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient3128"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.300662,-1.882999e-2,2.005934e-2,1.33551,-123.153,-7.387795)"
+       cx="94.435982"
+       cy="42.709927"
+       fx="94.435982"
+       fy="42.709927"
+       r="16.633095" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2854"
+       id="linearGradient3130"
+       gradientUnits="userSpaceOnUse"
+       x1="106.03028"
+       y1="59.273457"
+       x2="108.78728"
+       y2="55.574818" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2854"
+       id="linearGradient3132"
+       gradientUnits="userSpaceOnUse"
+       x1="103.66061"
+       y1="55.344017"
+       x2="107.04121"
+       y2="51.711597" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2938"
+       id="linearGradient3134"
+       gradientUnits="userSpaceOnUse"
+       x1="61.870293"
+       y1="33.318996"
+       x2="61.870293"
+       y2="40.550549" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2948"
+       id="linearGradient3136"
+       gradientUnits="userSpaceOnUse"
+       x1="46.855392"
+       y1="40.660038"
+       x2="75.465431"
+       y2="41.511894" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2916"
+       id="radialGradient3138"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.617226,0.606572,-0.146664,0.632822,-86.90283,-16.60576)"
+       cx="58.079144"
+       cy="51.897194"
+       fx="60.050133"
+       fy="51.985794"
+       r="15.014902" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2926"
+       id="radialGradient3140"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.225599,0.203775,-7.627682e-2,0.833117,-74.62907,17.88836)"
+       spreadMethod="reflect"
+       cx="59.887943"
+       cy="-16.594898"
+       fx="59.887943"
+       fy="-16.594898"
+       r="15.014902" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2878"
+       id="radialGradient3142"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,2.37874e-15,2.09606e-15,140,-1.424076e-13,-6071.644)"
+       cx="47.794022"
+       cy="43.680889"
+       fx="47.817745"
+       fy="43.681263"
+       r="0.046902865" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2890"
+       id="radialGradient3144"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.37874e-15,-2.09606e-15,140,4.710543e-14,-6071.644)"
+       cx="47.794022"
+       cy="43.680889"
+       fx="47.831978"
+       fy="43.680515"
+       r="0.046902865" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3168"
+       id="linearGradient3174"
+       x1="35.537346"
+       y1="23.461704"
+       x2="9.0165615"
+       y2="49.982487"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.986971,0,0,0.986971,4.047828e-3,1.858743)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3168"
+       id="linearGradient3180"
+       gradientUnits="userSpaceOnUse"
+       x1="56.906048"
+       y1="14.887002"
+       x2="5.8861146"
+       y2="54.610104"
+       gradientTransform="matrix(0.986971,0,0,0.986971,4.047828e-3,1.858743)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3168"
+       id="linearGradient3182"
+       gradientUnits="userSpaceOnUse"
+       x1="27.370962"
+       y1="12.437087"
+       x2="9.0165615"
+       y2="49.982487"
+       gradientTransform="matrix(0.986971,0,0,0.986971,4.047828e-3,1.858743)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2334"
+       id="linearGradient1664"
+       gradientUnits="userSpaceOnUse"
+       x1="-70.588905"
+       y1="67.754272"
+       x2="-59.581383"
+       y2="67.754272" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2270"
+       id="linearGradient1666"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="34.91254"
+       y1="94.734375"
+       x2="55.089256"
+       y2="94.734375" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient1668"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="45.24057"
+       y1="61.083416"
+       x2="45.24057"
+       y2="62.415165" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient1670"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="45.615768"
+       y1="128.00496"
+       x2="45.615768"
+       y2="125.89983" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient1672"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="37.235054"
+       y1="75.415688"
+       x2="38.61475"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient1674"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,2.569558e-17,1.252253e-16,1,-20.17672,17)"
+       x1="36.909187"
+       y1="75.415688"
+       x2="38.451817"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient1676"
+       gradientUnits="userSpaceOnUse"
+       x1="-74.01326"
+       y1="49.46249"
+       x2="-58.206917"
+       y2="65.268829" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient1678"
+       gradientUnits="userSpaceOnUse"
+       x1="-66.905724"
+       y1="77.09996"
+       x2="-66.905724"
+       y2="75.717079" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient1680"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(3.646831e-14,-131)"
+       x1="-66.905724"
+       y1="78.000954"
+       x2="-66.905724"
+       y2="77.232819" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1682"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,1.660363e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1684"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,1.060278e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1686"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,2.778046e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1688"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,2.891932e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1690"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,1.491877e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1692"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,2.179522e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1694"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,1.199718e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1696"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,2.696165e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1698"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,2.096038e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1700"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,1.925166e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1702"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,1.925166e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1704"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,2.249778e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1706"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,3.624027e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1708"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,1.908036e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1710"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,4.312364e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1712"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,2.76794e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1714"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,2.768806e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1716"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,4.314923e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1718"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,1.740246e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1720"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,3.11458e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1722"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,3.6304e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1724"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,3.6304e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1726"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,4.049973e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1728"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,3.642986e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1730"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,4.330565e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1732"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,3.794774e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1734"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,3.473624e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1736"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,4.955272e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1738"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,5.235222e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1740"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,4.742356e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1742"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,6.58887e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1744"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,3.778131e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1746"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-4.676464e-17,1.974282e-16,0.636364,3.778131e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2803"
+       id="linearGradient1748"
+       gradientUnits="userSpaceOnUse"
+       x1="62.987843"
+       y1="46.469597"
+       x2="118.02947"
+       y2="62.350033" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1750"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="92.496124"
+       cy="43.249184"
+       fx="92.496124"
+       fy="43.249184"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1752"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="92.990265"
+       cy="42.850105"
+       fx="92.990265"
+       fy="42.850105"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1754"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="93.747849"
+       cy="43.102612"
+       fx="93.747849"
+       fy="43.102612"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1756"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="94.932045"
+       cy="43.032188"
+       fx="94.932045"
+       fy="43.032188"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1758"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.300662,-1.882999e-2,2.005934e-2,1.33551,-123.153,-7.387795)"
+       cx="94.435982"
+       cy="42.709927"
+       fx="94.435982"
+       fy="42.709927"
+       r="16.633095" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2854"
+       id="linearGradient1760"
+       gradientUnits="userSpaceOnUse"
+       x1="106.03028"
+       y1="59.273457"
+       x2="108.78728"
+       y2="55.574818" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2854"
+       id="linearGradient1762"
+       gradientUnits="userSpaceOnUse"
+       x1="103.66061"
+       y1="55.344017"
+       x2="107.04121"
+       y2="51.711597" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2938"
+       id="linearGradient1764"
+       gradientUnits="userSpaceOnUse"
+       x1="61.870293"
+       y1="33.318996"
+       x2="61.870293"
+       y2="40.550549" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2948"
+       id="linearGradient1766"
+       gradientUnits="userSpaceOnUse"
+       x1="46.855392"
+       y1="40.660038"
+       x2="75.465431"
+       y2="41.511894" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2916"
+       id="radialGradient1768"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.617226,0.606572,-0.146664,0.632822,-86.90283,-16.60576)"
+       cx="58.079144"
+       cy="51.897194"
+       fx="60.050133"
+       fy="51.985794"
+       r="15.014902" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2926"
+       id="radialGradient1770"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.225599,0.203775,-7.627682e-2,0.833117,-74.62907,17.88836)"
+       spreadMethod="reflect"
+       cx="59.887943"
+       cy="-16.594898"
+       fx="59.887943"
+       fy="-16.594898"
+       r="15.014902" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2878"
+       id="radialGradient1772"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,7.051659e-16,1.593778e-15,140,-1.111943e-13,-6071.644)"
+       cx="47.794022"
+       cy="43.680889"
+       fx="47.817745"
+       fy="43.681263"
+       r="0.046902865" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2890"
+       id="radialGradient1774"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-7.051659e-16,-1.593778e-15,140,3.353423e-14,-6071.644)"
+       cx="47.794022"
+       cy="43.680889"
+       fx="47.831978"
+       fy="43.680515"
+       r="0.046902865" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3168"
+       id="linearGradient1776"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.986971,0,0,0.986971,4.047828e-3,1.858743)"
+       x1="35.537346"
+       y1="23.461704"
+       x2="9.0165615"
+       y2="49.982487" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3168"
+       id="linearGradient1778"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.986971,0,0,0.986971,4.047828e-3,1.858743)"
+       x1="27.370962"
+       y1="12.437087"
+       x2="9.0165615"
+       y2="49.982487" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3168"
+       id="linearGradient1780"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.986971,0,0,0.986971,4.047828e-3,1.858743)"
+       x1="56.906048"
+       y1="14.887002"
+       x2="5.8861146"
+       y2="54.610104" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3168"
+       id="linearGradient1783"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.789223,0,0,0.789223,-18.91589,-19.59139)"
+       x1="56.906048"
+       y1="14.887002"
+       x2="5.8861146"
+       y2="54.610104" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3168"
+       id="linearGradient1786"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.789223,0,0,0.789223,-18.91589,-19.59139)"
+       x1="27.370962"
+       y1="12.437087"
+       x2="9.0165615"
+       y2="49.982487" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3168"
+       id="linearGradient1789"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.789223,0,0,0.789223,-18.91589,-19.59139)"
+       x1="35.537346"
+       y1="23.461704"
+       x2="9.0165615"
+       y2="49.982487" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2334"
+       id="linearGradient1860"
+       gradientUnits="userSpaceOnUse"
+       x1="-70.588905"
+       y1="67.754272"
+       x2="-59.581383"
+       y2="67.754272" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2270"
+       id="linearGradient1862"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="34.91254"
+       y1="94.734375"
+       x2="55.089256"
+       y2="94.734375" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient1864"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="45.24057"
+       y1="61.083416"
+       x2="45.24057"
+       y2="62.415165" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient1866"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="45.615768"
+       y1="128.00496"
+       x2="45.615768"
+       y2="125.89983" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient1868"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="37.235054"
+       y1="75.415688"
+       x2="38.61475"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient1870"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,-1.515175e-17,1.660726e-16,1,-20.17672,17)"
+       x1="36.909187"
+       y1="75.415688"
+       x2="38.451817"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient1872"
+       gradientUnits="userSpaceOnUse"
+       x1="-74.01326"
+       y1="49.46249"
+       x2="-58.206917"
+       y2="65.268829" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient1874"
+       gradientUnits="userSpaceOnUse"
+       x1="-66.905724"
+       y1="77.09996"
+       x2="-66.905724"
+       y2="75.717079" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient1876"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.71099e-14,-131)"
+       x1="-66.905724"
+       y1="78.000954"
+       x2="-66.905724"
+       y2="77.232819" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1878"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,-5.053689e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1880"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,-1.019542e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1882"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,2.689696e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1884"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,-3.765219e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1886"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,-2.820011e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1888"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,5.289163e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1890"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,-2.131499e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1892"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,6.163448e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1894"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,-6.705151e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1896"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,1.028665e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1898"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,1.028665e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1900"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,-1.921598e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1902"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,1.341331e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1904"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,-1.233087e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1906"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,2.029756e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1908"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,3.135941e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1910"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,1.001237e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1912"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,1.860578e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1914"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,-1.988877e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1916"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,2.033788e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1918"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,2.206305e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1920"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,2.206305e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1922"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,3.173522e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1924"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,1.45737e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1926"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,1.222077e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1928"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,2.381781e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1930"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,2.167946e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1932"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,4.508055e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1934"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,4.401703e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1936"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,3.243527e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1938"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,4.939794e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1940"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,1.914425e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient1942"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.959262e-17,2.824547e-16,0.636364,1.914425e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2803"
+       id="linearGradient1944"
+       gradientUnits="userSpaceOnUse"
+       x1="62.987843"
+       y1="46.469597"
+       x2="118.02947"
+       y2="62.350033" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1946"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="92.496124"
+       cy="43.249184"
+       fx="92.496124"
+       fy="43.249184"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1948"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="92.990265"
+       cy="42.850105"
+       fx="92.990265"
+       fy="42.850105"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1950"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="93.747849"
+       cy="43.102612"
+       fx="93.747849"
+       fy="43.102612"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1952"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.675817,0.229166,-0.267617,1.957047,-51.37697,-57.4844)"
+       cx="94.932045"
+       cy="43.032188"
+       fx="94.932045"
+       fy="43.032188"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1954"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.300662,-1.882999e-2,2.005934e-2,1.33551,-123.153,-7.387795)"
+       cx="94.435982"
+       cy="42.709927"
+       fx="94.435982"
+       fy="42.709927"
+       r="16.633095" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2854"
+       id="linearGradient1956"
+       gradientUnits="userSpaceOnUse"
+       x1="106.03028"
+       y1="59.273457"
+       x2="108.78728"
+       y2="55.574818" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2854"
+       id="linearGradient1958"
+       gradientUnits="userSpaceOnUse"
+       x1="103.66061"
+       y1="55.344017"
+       x2="107.04121"
+       y2="51.711597" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2938"
+       id="linearGradient1960"
+       gradientUnits="userSpaceOnUse"
+       x1="61.870293"
+       y1="33.318996"
+       x2="61.870293"
+       y2="40.550549" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2948"
+       id="linearGradient1962"
+       gradientUnits="userSpaceOnUse"
+       x1="46.855392"
+       y1="40.660038"
+       x2="75.465431"
+       y2="41.511894" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2916"
+       id="radialGradient1964"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.617226,0.606572,-0.146664,0.632822,-86.90283,-16.60576)"
+       cx="58.079144"
+       cy="51.897194"
+       fx="60.050133"
+       fy="51.985794"
+       r="15.014902" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2926"
+       id="radialGradient1966"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.225599,0.203775,-7.627682e-2,0.833117,-74.62907,17.88836)"
+       spreadMethod="reflect"
+       cx="59.887943"
+       cy="-16.594898"
+       fx="59.887943"
+       fy="-16.594898"
+       r="15.014902" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2878"
+       id="radialGradient1968"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,2.326698e-15,2.113654e-15,140,-1.494572e-13,-6071.644)"
+       cx="47.794022"
+       cy="43.680889"
+       fx="47.817745"
+       fy="43.681263"
+       r="0.046902865" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2890"
+       id="radialGradient1970"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-2.326698e-15,-2.113654e-15,140,4.239366e-14,-6071.644)"
+       cx="47.794022"
+       cy="43.680889"
+       fx="47.831978"
+       fy="43.680515"
+       r="0.046902865" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2926"
+       id="radialGradient1976"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.940074,-1.588391,-0.604405,0.714441,79.25473,53.42941)"
+       spreadMethod="reflect"
+       cx="59.887943"
+       cy="-16.594898"
+       fx="59.887943"
+       fy="-16.594898"
+       r="15.014902" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2916"
+       id="radialGradient1979"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-2.574493,-1.579616,-0.388241,0.612382,117.5678,105.9122)"
+       cx="58.079144"
+       cy="51.897194"
+       fx="60.050133"
+       fy="51.985794"
+       r="15.014902" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2948"
+       id="linearGradient1982"
+       gradientUnits="userSpaceOnUse"
+       x1="46.855392"
+       y1="40.660038"
+       x2="75.465431"
+       y2="41.511894"
+       gradientTransform="matrix(-0.79859,-0.785623,-0.79859,0.785623,36.35388,50.6852)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2938"
+       id="linearGradient1988"
+       gradientUnits="userSpaceOnUse"
+       x1="61.870293"
+       y1="33.318996"
+       x2="61.870293"
+       y2="40.550549"
+       gradientTransform="matrix(-0.79859,-0.785623,-0.79859,0.785623,30.08343,56.26406)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2854"
+       id="linearGradient1993"
+       gradientUnits="userSpaceOnUse"
+       x1="103.66061"
+       y1="55.344017"
+       x2="107.04121"
+       y2="51.711597"
+       gradientTransform="matrix(-0.79859,-0.785623,-0.79859,0.785623,-13.80973,-1.407777)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2854"
+       id="linearGradient1996"
+       gradientUnits="userSpaceOnUse"
+       x1="106.03028"
+       y1="59.273457"
+       x2="108.78728"
+       y2="55.574818"
+       gradientTransform="matrix(-0.79859,-0.785623,-0.79859,0.785623,-2.715852,3.924997e-2)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient1999"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.822248,-1.822246,-1.082544,1.033448,89.30972,89.05773)"
+       cx="94.435982"
+       cy="42.709927"
+       fx="94.435982"
+       fy="42.709927"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient2002"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.5213,-1.136522,-1.349162,1.747747,103.9957,-7.081684)"
+       cx="94.932045"
+       cy="43.032188"
+       fx="94.932045"
+       fy="43.032188"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient2005"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.5213,-1.136522,-1.349162,1.747747,74.57286,13.29483)"
+       cx="93.747849"
+       cy="43.102612"
+       fx="93.747849"
+       fy="43.102612"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient2008"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.5213,-1.136522,-1.349162,1.747747,88.56079,1.035505)"
+       cx="92.990265"
+       cy="42.850105"
+       fx="92.990265"
+       fy="42.850105"
+       r="16.633095" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2830"
+       id="radialGradient2011"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.5213,-1.136522,-1.349162,1.747747,86.14908,8.095624)"
+       cx="92.496124"
+       cy="43.249184"
+       fx="92.496124"
+       fy="43.249184"
+       r="16.633095" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2803"
+       id="linearGradient2018"
+       gradientUnits="userSpaceOnUse"
+       x1="62.987843"
+       y1="46.469597"
+       x2="118.02947"
+       y2="62.350033"
+       gradientTransform="matrix(-0.79859,-0.785623,-0.79859,0.785623,-22.97423,25.6034)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2334"
+       id="linearGradient2178"
+       gradientUnits="userSpaceOnUse"
+       x1="-70.588905"
+       y1="67.754272"
+       x2="-59.581383"
+       y2="67.754272" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2270"
+       id="linearGradient2180"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="34.91254"
+       y1="94.734375"
+       x2="55.089256"
+       y2="94.734375" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient2182"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="45.24057"
+       y1="61.083416"
+       x2="45.24057"
+       y2="62.415165" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient2184"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="45.615768"
+       y1="128.00496"
+       x2="45.615768"
+       y2="125.89983" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient2186"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-110.0893,17)"
+       x1="37.235054"
+       y1="75.415688"
+       x2="38.61475"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient2188"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,-1.791647e-17,1.688374e-16,1,-20.17672,17)"
+       x1="36.909187"
+       y1="75.415688"
+       x2="38.451817"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient2190"
+       gradientUnits="userSpaceOnUse"
+       x1="-74.01326"
+       y1="49.46249"
+       x2="-58.206917"
+       y2="65.268829" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient2192"
+       gradientUnits="userSpaceOnUse"
+       x1="-66.905724"
+       y1="77.09996"
+       x2="-66.905724"
+       y2="75.717079" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient2194"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.704187e-14,-131)"
+       x1="-66.905724"
+       y1="78.000954"
+       x2="-66.905724"
+       y2="77.232819" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2196"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-1.043839e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2198"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-1.128754e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2200"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-8.704084e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2202"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-4.303646e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2204"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-3.616001e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2206"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.278175e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2208"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-2.5841e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2210"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.193909e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2212"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-1.123117e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2214"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.653483e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2216"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.653483e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2218"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-2.461499e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2220"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.48812e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2222"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-1.257949e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2224"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.661505e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2226"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-1.084822e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2228"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,6.32987e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2230"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,2.904248e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2232"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,-1.082264e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2234"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.665537e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2236"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,2.524832e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2238"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,2.524832e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2240"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,3.584586e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2242"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,7.524209e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2244"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,2.595866e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2246"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,2.063134e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2248"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.591757e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2250"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,4.57573e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2252"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,3.739667e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2254"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,3.225355e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2256"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,3.805609e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2258"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.424083e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2260"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.021152e-17,2.061643e-16,0.636364,1.424083e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient2296"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.120247,-1.614215e-16,-1.614215e-16,1.120247,123.6118,-119.9966)"
+       x1="-66.905724"
+       y1="78.000954"
+       x2="-66.905724"
+       y2="77.232819" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient2299"
+       gradientUnits="userSpaceOnUse"
+       x1="-66.905724"
+       y1="77.09996"
+       x2="-66.905724"
+       y2="75.717079"
+       gradientTransform="matrix(1.120246,7.48831e-17,7.48831e-17,1.120246,118.5217,-17.87025)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2352"
+       id="linearGradient2302"
+       gradientUnits="userSpaceOnUse"
+       x1="-74.01326"
+       y1="49.46249"
+       x2="-58.206917"
+       y2="65.268829"
+       gradientTransform="matrix(1.120247,1.614215e-16,1.614215e-16,1.120247,132.086,-29.06635)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient2305"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.79859,0.785623,-0.79859,0.785623,-69.21454,-66.44414)"
+       x1="36.909187"
+       y1="75.415688"
+       x2="38.451817"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2322"
+       id="linearGradient2308"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.79859,-0.785623,-0.79859,0.785623,6.511022,10.33247)"
+       x1="37.235054"
+       y1="75.415688"
+       x2="38.61475"
+       y2="75.479614" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient2311"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.79859,-0.785623,-0.79859,0.785623,2.588745,4.193251)"
+       x1="45.615768"
+       y1="128.00496"
+       x2="45.615768"
+       y2="125.89983" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2310"
+       id="linearGradient2314"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.79859,-0.785623,-0.79859,0.785623,2.588745,4.193251)"
+       x1="45.24057"
+       y1="61.083416"
+       x2="45.24057"
+       y2="62.415165" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2270"
+       id="linearGradient2317"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.79859,-0.785623,-0.79859,0.785623,-17.36371,-13.31556)"
+       x1="34.91254"
+       y1="94.734375"
+       x2="55.089256"
+       y2="94.734375" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2334"
+       id="linearGradient2320"
+       gradientUnits="userSpaceOnUse"
+       x1="-70.588905"
+       y1="67.754272"
+       x2="-59.581383"
+       y2="67.754272"
+       gradientTransform="matrix(1.120248,2.4796e-16,2.4796e-16,1.120248,115.37,-23.77326)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2322"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,2.185565e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2324"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,2.185565e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2326"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,3.776751e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2328"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,3.280457e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2330"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,3.87873e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2332"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,5.252557e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2334"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-1.083177e-16,2.452153e-16,0.636364,2.753898e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2336"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,2.207748e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2338"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,7.199203e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2340"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-1.083177e-16,2.452153e-16,0.636364,3.88699e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2342"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-1.083177e-16,2.452153e-16,0.636364,3.89463e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2344"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,2.466136e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2346"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,2.466136e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2348"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,1.691496e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2350"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-1.035488e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2352"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,1.083825e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2354"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,2.342856e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2356"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-7.382862e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2358"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,2.460457e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2360"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-9.995371e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2362"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,1.618856e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2364"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-2.753341e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2366"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-1.58413e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2368"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-1.58413e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2370"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-1.406633e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2372"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,7.827176e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2374"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-2.114052e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2376"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,8.64902e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2378"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-4.022335e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2380"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-3.828047e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2382"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-9.533901e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2384"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-8.765871e-15,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2370"
+       id="radialGradient2386"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.926461e-17,2.256898e-16,0.636364,-1.135841e-14,30.62293)"
+       cx="-67.615143"
+       cy="84.213043"
+       fx="-67.047073"
+       fy="83.803413"
+       r="1.4498374" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4174"
+       id="radialGradient4180"
+       cx="173.35292"
+       cy="29.473955"
+       fx="173.35292"
+       fy="29.473955"
+       r="7.125"
+       gradientTransform="matrix(5.093182,3.710751e-2,-3.342812e-2,4.588167,-714.9349,-106.8524)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient5934"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417"
+       gradientTransform="matrix(1,0,0,0.931884,0,2.144242)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient5938"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.931884,105.2193,7.709746)"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6818"
+       id="radialGradient6824"
+       cx="150.17821"
+       cy="56.316689"
+       fx="150.17821"
+       fy="56.316689"
+       r="4.6959705"
+       gradientTransform="matrix(7.899763,-0.133352,0.10295,6.09874,-1034.66,-286.0457)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient7704"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.931884,0,2.144242)"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4174"
+       id="radialGradient7706"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.093182,3.710751e-2,-3.342812e-2,4.588167,-714.9349,-106.8524)"
+       cx="173.35292"
+       cy="29.473955"
+       fx="173.35292"
+       fy="29.473955"
+       r="7.125" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6818"
+       id="radialGradient7708"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(7.899763,-0.133352,0.10295,6.09874,-1034.66,-286.0457)"
+       cx="150.17821"
+       cy="56.316689"
+       fx="150.17821"
+       fy="56.316689"
+       r="4.6959705" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6818"
+       id="radialGradient7711"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(7.899763,-0.133352,0.10295,6.09874,-1031.154,-297.761)"
+       cx="150.17821"
+       cy="56.316689"
+       fx="150.17821"
+       fy="56.316689"
+       r="4.6959705" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4174"
+       id="radialGradient7714"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.093182,3.710751e-2,-3.342812e-2,4.588167,-711.6483,-118.8231)"
+       cx="173.35292"
+       cy="29.473955"
+       fx="173.35292"
+       fy="29.473955"
+       r="7.125" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient7717"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.931884,3.581214,-10.16833)"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient8763"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.931884,3.581214,-10.16833)"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4174"
+       id="radialGradient8765"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.093182,3.710751e-2,-3.342812e-2,4.588167,-711.6483,-118.8231)"
+       cx="173.35292"
+       cy="29.473955"
+       fx="173.35292"
+       fy="29.473955"
+       r="7.125" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6818"
+       id="radialGradient8767"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(7.899763,-0.133352,0.10295,6.09874,-1031.154,-297.761)"
+       cx="150.17821"
+       cy="56.316689"
+       fx="150.17821"
+       fy="56.316689"
+       r="4.6959705" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient9655"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.931884,3.581214,-10.16833)"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4174"
+       id="radialGradient9657"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.093182,3.710751e-2,-3.342812e-2,4.588167,-711.6483,-118.8231)"
+       cx="173.35292"
+       cy="29.473955"
+       fx="173.35292"
+       fy="29.473955"
+       r="7.125" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6818"
+       id="radialGradient9659"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(7.899763,-0.133352,0.10295,6.09874,-1031.154,-297.761)"
+       cx="150.17821"
+       cy="56.316689"
+       fx="150.17821"
+       fy="56.316689"
+       r="4.6959705" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10539"
+       id="radialGradient10545"
+       cx="222.09877"
+       cy="1.2351388"
+       fx="222.09877"
+       fy="1.2351388"
+       r="16.390625"
+       gradientTransform="matrix(2.3781044,-0.3075006,1.0402511,6.8677766,-436.02391,108.90546)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2890"
+       id="radialGradient10549"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.173821,-47.9025,5.721087,-227.0754,-210.4152,12251.98)"
+       cx="47.794022"
+       cy="43.680889"
+       fx="47.831978"
+       fy="43.680515"
+       r="0.046902865" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient11428"
+       id="radialGradient12309"
+       cx="94.138443"
+       cy="38.927982"
+       fx="94.138443"
+       fy="38.927982"
+       r="6.8733773"
+       gradientTransform="matrix(0.581247,5.817117e-3,-7.455762e-2,9.383173,36.03053,-309.6658)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient13184"
+       id="linearGradient13190"
+       x1="79.735275"
+       y1="48.538783"
+       x2="95"
+       y2="48.538783"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.737301,-6.658052e-7,1.272726e-7,1.016243,23.72264,1.031887)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient11428"
+       id="radialGradient14940"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.566041,4.976245e-3,-7.260836e-2,8.025401,38.46269,-251.3652)"
+       cx="94.138443"
+       cy="38.927982"
+       fx="94.138443"
+       fy="38.927982"
+       r="6.8733773" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient13184"
+       id="linearGradient14942"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.718011,5.475357e-7,-1.861064e-8,0.869189,26.47674,14.37374)"
+       x1="79.735275"
+       y1="48.538783"
+       x2="95"
+       y2="48.538783" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient11428"
+       id="radialGradient14946"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.602777,4.958538e-3,-7.732142e-2,7.998709,33.70512,-255.1298)"
+       cx="94.138443"
+       cy="38.927982"
+       fx="94.138443"
+       fy="38.927982"
+       r="6.8733773" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient13184"
+       id="linearGradient14948"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.764612,-9.213433e-7,-8.915483e-8,0.866298,20.94123,9.725384)"
+       x1="79.735275"
+       y1="48.538783"
+       x2="95"
+       y2="48.538783" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient15825"
+       id="radialGradient15831"
+       cx="77.371063"
+       cy="64.803642"
+       fx="77.371063"
+       fy="64.803642"
+       r="4.1422901"
+       gradientTransform="matrix(0.71884,5.195072e-2,0.124003,10.14631,11.77238,-600.3243)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient17579"
+       id="radialGradient19335"
+       cx="64.035408"
+       cy="72.25351"
+       fx="64.035408"
+       fy="72.25351"
+       r="8.072001"
+       gradientTransform="matrix(0.35411,-4.17141,5.032558,-1.51988,-331.3648,448.8406)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient22831"
+       id="radialGradient22837"
+       cx="78.344902"
+       cy="47.896503"
+       fx="78.344902"
+       fy="47.896503"
+       r="59.06985"
+       gradientTransform="matrix(1.0280267,-0.1270725,0.1309176,0.9349125,-10.479426,16.042145)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient23722"
+       id="linearGradient23728"
+       x1="105.58075"
+       y1="11.270861"
+       x2="120.06922"
+       y2="11.270861"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0692341,-0.1321662,0.1338966,0.9561867,-15.573128,15.396338)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10539"
+       id="radialGradient24609"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.315085,-1.392699e-2,7.510166e-2,7.192445,-292.2322,-2.7905)"
+       cx="223.56834"
+       cy="0.89173615"
+       fx="223.56834"
+       fy="0.89173615"
+       r="16.390625" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient25485"
+       id="radialGradient25491"
+       cx="302.08856"
+       cy="-10.284327"
+       fx="302.08856"
+       fy="-10.284327"
+       r="59.073312"
+       gradientTransform="matrix(0.2857021,-9.6936986e-2,0.3403616,0.8738542,19.958746,76.364594)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient26369"
+       id="linearGradient26375"
+       x1="114.74419"
+       y1="51.131916"
+       x2="141.67282"
+       y2="13.184787"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0280267,-0.1270725,0.1338966,0.9561867,-10.625435,14.784763)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient25485"
+       id="radialGradient27252"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.2857021,-9.6936986e-2,0.3403616,0.8738542,20.206674,76.333938)"
+       cx="302.08856"
+       cy="-10.284327"
+       fx="302.08856"
+       fy="-10.284327"
+       r="59.073312" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10539"
+       id="radialGradient27256"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.3781044,-0.3075006,1.0402511,6.8677766,-437.14482,108.10564)"
+       cx="224.46358"
+       cy="-4.2258649"
+       fx="224.46358"
+       fy="-4.2258649"
+       r="16.390625" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient34264"
+       id="radialGradient34270"
+       cx="19.006332"
+       cy="99.120925"
+       fx="19.006332"
+       fy="99.120925"
+       r="4.6031745"
+       gradientTransform="matrix(1,0,0,1.412255,-10.60951,-60.48313)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient34264"
+       id="radialGradient34276"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.0334476,7.8972655e-2,-0.1160692,-1.3576785,44.296126,247.80777)"
+       cx="19.006332"
+       cy="99.120925"
+       fx="19.006332"
+       fy="99.120925"
+       r="4.6031745" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient34286"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,-9.128475e-18,3.774609e-18,0.931884,3.581214,-10.16833)"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4174"
+       id="radialGradient34288"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.093182,3.710751e-2,-3.342812e-2,4.588167,-711.6483,-118.8231)"
+       cx="173.35292"
+       cy="29.473955"
+       fx="173.35292"
+       fy="29.473955"
+       r="7.125" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6818"
+       id="radialGradient34290"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(7.899763,-0.133352,0.10295,6.09874,-1031.154,-297.761)"
+       cx="150.17821"
+       cy="56.316689"
+       fx="150.17821"
+       fy="56.316689"
+       r="4.6959705" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6818"
+       id="radialGradient34293"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(7.403726,0.332339,-0.273065,5.985581,-954.1066,-351.1562)"
+       cx="150.17821"
+       cy="56.316689"
+       fx="150.17821"
+       fy="56.316689"
+       r="4.6959705" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4174"
+       id="radialGradient34296"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.765918,0.334945,-0.309234,4.496536,-664.8065,-156.7887)"
+       cx="173.35292"
+       cy="29.473955"
+       fx="173.35292"
+       fy="29.473955"
+       r="7.125" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient34299"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.936186,5.862005e-2,-5.645099e-2,0.913671,-2.35175,-7.555558)"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4174"
+       id="radialGradient34303"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.9443389,-0.2853475,0.2841705,4.3388229,-752.28517,-40.172841)"
+       cx="174.07651"
+       cy="28.159636"
+       fx="174.07651"
+       fy="28.159636"
+       r="7.125" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient34310"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.936186,5.862005e-2,-5.645099e-2,0.913671,-3.359552,-9.002585)"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient34264"
+       id="radialGradient1771"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.412255,-1.403157,-41.48484)"
+       cx="19.006332"
+       cy="99.120925"
+       fx="19.006332"
+       fy="99.120925"
+       r="4.6031745" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2648"
+       id="radialGradient2654"
+       cx="22.596113"
+       cy="66.948593"
+       fx="22.596113"
+       fy="66.948593"
+       r="33.898299"
+       gradientTransform="matrix(1,0,0,0.902419,0,5.424548)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2648"
+       id="radialGradient2670"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.902419,0,5.424548)"
+       cx="22.596113"
+       cy="66.948593"
+       fx="22.596113"
+       fy="66.948593"
+       r="33.898299" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient34264"
+       id="radialGradient2672"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.412255,-10.60951,-60.48313)"
+       cx="19.006332"
+       cy="99.120925"
+       fx="19.006332"
+       fy="99.120925"
+       r="4.6031745" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient34264"
+       id="radialGradient2674"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.412255,-10.60951,-60.48313)"
+       cx="19.006332"
+       cy="99.120925"
+       fx="19.006332"
+       fy="99.120925"
+       r="4.6031745" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient34264"
+       id="radialGradient2681"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.412255,13.98352,-38.48484)"
+       cx="19.006332"
+       cy="99.120925"
+       fx="19.006332"
+       fy="99.120925"
+       r="4.6031745" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2648"
+       id="radialGradient4432"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.902419,0,5.424548)"
+       cx="22.596113"
+       cy="66.948593"
+       fx="22.596113"
+       fy="66.948593"
+       r="33.898299" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2648"
+       id="radialGradient4435"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.902419,11.7966,24.7511)"
+       cx="22.596113"
+       cy="66.948593"
+       fx="22.596113"
+       fy="66.948593"
+       r="33.898299" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="radialGradient6190"
+       cx="18.988296"
+       cy="99.099475"
+       fx="18.988296"
+       fy="99.099475"
+       r="4.9090158"
+       gradientTransform="matrix(1,0,0,1.329001,0,-32.60378)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2648"
+       id="radialGradient7278"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.902419,11.7966,24.7511)"
+       cx="22.596113"
+       cy="66.948593"
+       fx="22.596113"
+       fy="66.948593"
+       r="33.898299" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="radialGradient7280"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.329001,0,-32.60378)"
+       cx="18.988296"
+       cy="99.099475"
+       fx="18.988296"
+       fy="99.099475"
+       r="4.9090158" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="radialGradient7282"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.329001,0,-32.60378)"
+       cx="18.988296"
+       cy="99.099475"
+       fx="18.988296"
+       fy="99.099475"
+       r="4.9090158" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="radialGradient7285"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.329001,0,-32.60378)"
+       cx="18.988296"
+       cy="99.099475"
+       fx="18.988296"
+       fy="99.099475"
+       r="4.9090158" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="radialGradient7288"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.329001,0,-32.60378)"
+       cx="18.988296"
+       cy="99.099475"
+       fx="18.988296"
+       fy="99.099475"
+       r="4.9090158" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2648"
+       id="radialGradient7292"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.902419,11.7966,24.7511)"
+       cx="22.596113"
+       cy="66.948593"
+       fx="22.596113"
+       fy="66.948593"
+       r="33.898299" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2648"
+       id="radialGradient8638"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.902419,11.7966,24.7511)"
+       cx="22.596113"
+       cy="66.948593"
+       fx="22.596113"
+       fy="66.948593"
+       r="33.898299" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="radialGradient8640"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.329001,0,-32.60378)"
+       cx="18.988296"
+       cy="99.099475"
+       fx="18.988296"
+       fy="99.099475"
+       r="4.9090158" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="radialGradient8642"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.329001,0,-32.60378)"
+       cx="18.988296"
+       cy="99.099475"
+       fx="18.988296"
+       fy="99.099475"
+       r="4.9090158" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="radialGradient8645"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0280267,-0.1270725,0.1779489,1.2707731,-14.990972,-16.390537)"
+       cx="18.988296"
+       cy="99.099475"
+       fx="18.988296"
+       fy="99.099475"
+       r="4.9090158" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="radialGradient8648"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0280267,-0.1270725,0.1779489,1.2707731,-14.990972,-16.390537)"
+       cx="18.988296"
+       cy="99.099475"
+       fx="18.988296"
+       fy="99.099475"
+       r="4.9090158" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2648"
+       id="radialGradient8652"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0280267,-0.1270725,0.1208309,0.8628811,4.8158744,36.952411)"
+       cx="22.596113"
+       cy="66.948593"
+       fx="22.596113"
+       fy="66.948593"
+       r="33.898299" />
+    <linearGradient
+       id="linearGradient12948">
+      <stop
+         id="stop12950"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop12952"
+         offset="1"
+         style="stop-color:#c0c0c0;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3273">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0.55035973;"
+         offset="0"
+         id="stop3275" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3277" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1563">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop1565" />
+      <stop
+         style="stop-color:white;stop-opacity:0;"
+         offset="1"
+         id="stop1567" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3638">
+      <stop
+         id="stop3640"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0.06868132"
+         id="stop3661" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0.5"
+         id="stop3659" />
+      <stop
+         id="stop3642"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3290">
+      <stop
+         id="stop3292"
+         offset="0"
+         style="stop-color:yellow;stop-opacity:1;" />
+      <stop
+         id="stop3294"
+         offset="1"
+         style="stop-color:#ffb66d;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3236">
+      <stop
+         id="stop3238"
+         offset="0"
+         style="stop-color:#727272;stop-opacity:1;" />
+      <stop
+         id="stop3240"
+         offset="1"
+         style="stop-color:#f8f8f8;stop-opacity:1;" />
+    </linearGradient>
+    <filter
+       inkscape:collect="always"
+       id="filter3737">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.30086486"
+         id="feGaussianBlur3739" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient11428"
+       id="radialGradient3758"
+       cx="27.96059"
+       cy="118.94362"
+       fx="27.96059"
+       fy="118.94362"
+       r="54.613575"
+       gradientTransform="matrix(0.218502,-6.8178502e-2,0.7665978,2.4568331,-46.677697,-138.76422)"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       inkscape:collect="always"
+       id="filter3933">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="1.4820941"
+         id="feGaussianBlur3935" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5928"
+       id="radialGradient3937"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9702732,-6.2911785e-2,6.4304453e-2,0.8808136,-50.713809,19.652164)"
+       cx="154.17799"
+       cy="33.309246"
+       fx="154.17799"
+       fy="33.309246"
+       r="11.547417" />
+    <filter
+       inkscape:collect="always"
+       id="filter3985">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.18706947"
+         id="feGaussianBlur3987" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3989">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.086425096"
+         id="feGaussianBlur3991" />
+    </filter>
+    <filter
+       inkscape:collect="always"
+       id="filter3995">
+      <feGaussianBlur
+         inkscape:collect="always"
+         stdDeviation="0.17395735"
+         id="feGaussianBlur3997" />
+    </filter>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2648"
+       id="radialGradient4005"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.4649621,1.0036473,-0.2853745,0.1958414,69.723794,-13.486394)"
+       cx="62.261757"
+       cy="77.167572"
+       fx="56.312855"
+       fy="65.784782"
+       r="33.898299" />
+    <linearGradient
+       y2="104.80668"
+       x2="-62.424866"
+       y1="76.708466"
+       x1="-13.757333"
+       gradientTransform="translate(148,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4794"
+       xlink:href="#XMLID_4_"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="XMLID_4_">
+      <stop
+         id="stop3082"
+         style="stop-color:#72D13D"
+         offset="0" />
+      <stop
+         id="stop3084"
+         style="stop-color:#35AC1C"
+         offset="0.3553" />
+      <stop
+         id="stop3086"
+         style="stop-color:#0F9508"
+         offset="0.6194" />
+      <stop
+         id="stop3088"
+         style="stop-color:#008C00"
+         offset="0.7574" />
+      <stop
+         id="stop3090"
+         style="stop-color:#007A00"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       y2="19.281664"
+       x2="80"
+       y1="15.336544"
+       x1="73.742638"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4796"
+       xlink:href="#linearGradient6184"
+       inkscape:collect="always" />
+    <filter
+       id="filter3387"
+       height="1.249912"
+       y="-0.12495601"
+       width="1.2041403"
+       x="-0.10207015"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur3389"
+         stdDeviation="0.44655691"
+         inkscape:collect="always" />
+    </filter>
+    <radialGradient
+       r="6.7806501"
+       fy="17.83758"
+       fx="73.656624"
+       cy="17.83758"
+       cx="73.656624"
+       gradientTransform="matrix(1,0,0,0.8708964,0,2.3028957)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4800"
+       xlink:href="#linearGradient5412"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5412"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:#fff14d;stop-opacity:1;"
+         id="stop5414" />
+      <stop
+         offset="1"
+         style="stop-color:#f8ffa0;stop-opacity:0;"
+         id="stop5416" />
+    </linearGradient>
+    <radialGradient
+       r="6.2063885"
+       fy="17.802542"
+       fx="73.082359"
+       cy="17.802542"
+       cx="73.082359"
+       gradientTransform="matrix(1,0,0,0.9256542,0,1.3235438)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4802"
+       xlink:href="#linearGradient4770"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4770"
+       gradientUnits="userSpaceOnUse"
+       x1="-84.002403"
+       y1="-383.9971"
+       x2="-12.0029"
+       y2="-383.9971"
+       gradientTransform="rotate(90,-90.0007,50.0022)">
+      <stop
+         offset="0"
+         style="stop-color:#e5ff00;stop-opacity:1"
+         id="stop4772" />
+      <stop
+         offset="1"
+         style="stop-color:#bff500;stop-opacity:0;"
+         id="stop4774" />
+    </linearGradient>
+    <radialGradient
+       r="24"
+       fy="104"
+       fx="104"
+       cy="104"
+       cx="104"
+       gradientTransform="translate(0,-1.3e-5)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4806"
+       xlink:href="#linearGradient3030"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3030"
+       inkscape:collect="always">
+      <stop
+         id="stop3032"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.77902622" />
+      <stop
+         id="stop3034"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       r="20"
+       fy="96"
+       fx="-40"
+       cy="84"
+       cx="-44"
+       gradientTransform="translate(148,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4810"
+       xlink:href="#XMLID_4_"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="radialGradient3376">
+      <stop
+         id="stop3366"
+         style="stop-color:#72D13D"
+         offset="0" />
+      <stop
+         id="stop3368"
+         style="stop-color:#35AC1C"
+         offset="0.3553" />
+      <stop
+         id="stop3370"
+         style="stop-color:#0F9508"
+         offset="0.6194" />
+      <stop
+         id="stop3372"
+         style="stop-color:#008C00"
+         offset="0.7574" />
+      <stop
+         id="stop3374"
+         style="stop-color:#007A00"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       y2="108.0104"
+       x2="11.68106"
+       y1="60.539303"
+       x1="11.68106"
+       gradientTransform="translate(85.3125,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4812"
+       xlink:href="#linearGradient6184"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="96.001434"
+       x2="11.68106"
+       y1="52"
+       x1="6.6976352"
+       gradientTransform="translate(85.30236,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4814"
+       xlink:href="#linearGradient6184"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="72"
+       x2="14.697635"
+       y1="96"
+       x1="26.697636"
+       gradientTransform="translate(85.30236,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4816"
+       xlink:href="#linearGradient6184"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="84"
+       x2="120.25"
+       y1="84"
+       x1="79.75"
+       gradientTransform="translate(3.99999,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4818"
+       xlink:href="#linearGradient3225"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3225">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3227" />
+      <stop
+         style="stop-color:#aeaeae;stop-opacity:1;"
+         offset="1"
+         id="stop3229" />
+    </linearGradient>
+    <filter
+       id="filter3191"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur3193"
+         stdDeviation="0.2025"
+         inkscape:collect="always" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="linearGradient3571"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="linearGradient3573"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6184"
+       id="linearGradient3575"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.0732162"
+     inkscape:cx="78.967116"
+     inkscape:cy="88.494423"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:document-units="px"
+     inkscape:grid-bbox="true"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1000"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata1312">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer">
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient3937);stroke-width:1.57810318;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3933)"
+       d="m 99.787,3.875 c -0.38761,0.00147 -0.76398,0.010712 -1.156249,0.03125 -0.04111,0.00215 -0.08396,-0.00236 -0.125,0 -0.22868,0.013135 -1.083675,0.054918 -1.15625,0.0625 -0.06299,0.00658 -0.152795,-0.00489 -0.21875,0 -0.07118,0.00809 -0.14783,0.022534 -0.21875,0.03125 -0.641049,0.078775 -1.28857,0.184325 -1.90625,0.3125 -7.767306,1.4321718 -13.665922,6.636729 -14.84375,12.90625 -0.05158,0.265453 -0.09061,0.543458 -0.125,0.8125 -0.02137,0.176806 -0.0487,0.353035 -0.0625,0.53125 -0.0051,0.03258 -0.02643,0.09238 -0.03125,0.125 0,0 -3.381331,20.709517 -7.375,26.28125 -0.09795,0.136657 -0.232109,0.331624 -0.4375,0.5625 -1.440155,1.508485 -4.713324,4.672076 -8.78125,8.59375 -15.886657,15.088469 -47.18285,43.76734 -54.90625,52 -0.09039,0.0848 -1.0625,1 -1.0625,1 l 0.40625,-0.28125 c -0.52975,0.58685 -0.92924,1.04236 -1.09375,1.3125 -0.74532,1.2239 -1.2252,2.50943 -1.46875,3.8125 -0.00384,0.02 0.00373,0.0425 0,0.0625 -0.05528,0.3052 -0.095,0.60027 -0.125,0.90625 -0.00319,0.0302 0.00295,0.0636 0,0.0937 -0.02759,0.30674 -0.05941,0.63142 -0.0625,0.9375 -1.6e-4,0.0105 1.3e-4,0.0208 0,0.0312 -0.00226,0.30496 0.01003,0.6033 0.03125,0.90625 0.00136,0.0209 -0.00147,0.0416 0,0.0625 0.02281,0.30294 0.04832,0.60673 0.09375,0.90625 0.00301,0.0205 -0.00311,0.0421 0,0.0625 0.04694,0.29918 0.11882,0.58064 0.1875,0.875 0.05119,0.22628 0.12388,0.43341 0.1875,0.65625 0.02678,0.0919 0.03365,0.19003 0.0625,0.28125 0.00696,0.0224 0.02417,0.0401 0.03125,0.0625 0.01717,0.0533 0.04463,0.10322 0.0625,0.15625 0.17386,0.52494 0.35425,1.06545 0.59375,1.5625 0.00986,0.0202 0.02128,0.0423 0.03125,0.0625 2.01346,4.12141 6.21584,7.11428 11.125,6.6875 0.2621,-0.0174 0.54635,-0.0564 0.8125,-0.0937 0.0099,-0.002 0.02138,0.002 0.03125,0 0.07192,-0.0103 0.14655,-0.0195 0.21875,-0.0312 1.12838,-0.18406 2.29152,-0.58032 3.46875,-1.15625 0.728,-0.33876 1.4502,-0.7455 2.1875,-1.25 7.777258,-5.32167 54.751551,-63.992351 61.09375,-68.09375 0.1357,-0.08776 0.329542,-0.189751 0.5,-0.28125 7.345999,-3.210548 14.400649,-3.647728 21.781249,-6.1875 2.38889,-0.54638 4,-0.90625 4,-0.90625 0.005,0.0011 0.0265,-5.44e-4 0.0312,0 0.004,-5e-5 0.0272,6.35e-4 0.0312,0 0.003,-0.0018 0.0283,-0.02887 0.0312,-0.03125 0.002,-0.0041 0.0297,-0.02661 0.0312,-0.03125 0.001,-0.0052 -8.9e-4,-0.0255 0,-0.03125 5e-4,-0.0057 0.001,-0.02191 0,-0.03125 0.003,-7.45e-4 0.125,-0.03125 0.125,-0.03125 0.16232,0.03646 0.13926,-0.207499 -0.0312,-0.71875 4.28901,-2.22562 9.82067,-8.273651 11.90625,-17.03125 0.10101,-0.424119 -0.19444,-3.348789 -0.3125,-3.53125 0.0146,-0.06414 0.0481,-0.123214 0.0625,-0.1875 l -13.3125,6.28125 -8.21875,-5.46875 c -0.88732,-1.738808 -1.71153,-3.319499 -2.21875,-4.40625 4e-5,-4.127866 -0.0033,-4.478058 0.375,-8.21875 5.07467,-1.997762 14.03125,-5.4375 14.03125,-5.4375 -0.0105,-0.010082 -0.0208,-0.021191 -0.0312,-0.03125 0.0126,-0.00482 0.28125,-0.09375 0.28125,-0.09375 C 110.85113,5.9411151 105.6011,3.8529483 99.787,3.875 Z M 16.943251,106.71875 c 2.45674,-0.0582 4.83751,1.56017 6.15625,3.90625 0.10908,0.19885 0.21919,0.38518 0.3125,0.59375 0.0099,0.0216 0.02152,0.0408 0.03125,0.0625 0.09209,0.21044 0.175131,0.43724 0.25,0.65625 0.0076,0.0216 0.02382,0.0408 0.03125,0.0625 0.121128,0.36439 0.21215,0.74151 0.28125,1.125 0.03177,0.16659 0.04132,0.33035 0.0625,0.5 0.02294,0.19692 0.05445,0.3935 0.0625,0.59375 0.127034,3.16042 -2.7388,6.43578 -6,7.15625 -0.16457,0.0225 -0.3344,0.0226 -0.5,0.0312 -3.65242,0.19122 -7.36535,-3.46519 -7.59375,-7.28125 -0.15736,-2.62913 1.26481,-5.26077 3.78125,-6.625 0.61117,-0.30037 1.30564,-0.54914 2.03125,-0.6875 0.06063,-0.009 0.12592,0.007 0.1875,0 0.29518,-0.0452 0.59518,-0.0769 0.90625,-0.0937 z"
+       id="path3762"
+       sodipodi:nodetypes="csssssccsscscccccsssssssssssssssssscssscsscccssssssccscccccccscccsssssssscsscssc"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g8758"
+       transform="matrix(0.9702732,-0.06291178,0.06900478,0.9451966,-53.4637,27.488536)"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true">
+      <path
+         sodipodi:nodetypes="cccsc"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path3285"
+         d="m 181.67604,9.099418 -14.13212,5.699466 -8.155,-6.393046 c -1.0714,1.417425 -1.8863,21.693357 3.10193,21.520607 9.13195,-0.316254 15.80573,-9.325742 19.18519,-20.827027 z"
+         style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient9655);stroke-width:1.64400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         inkscape:connector-curvature="0" />
+      <path
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path3293"
+         d="m 181.16095,9.7597789 -13.40625,5.4062501 -0.84375,9.4375 1.53125,4.15625 c 5.84622,-3.223357 10.19566,-10.413188 12.71875,-19.0000001 z"
+         style="opacity:0.51376145;fill:url(#radialGradient9657);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.14400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         inkscape:connector-curvature="0" />
+      <path
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         id="path5936"
+         d="m 159.31603,8.5972985 c -0.004,0.00554 -0.0271,0.02514 -0.0312,0.03125 -0.008,0.013357 -0.023,0.046897 -0.0312,0.0625 -1.03857,2.0973105 -1.73455,21.6068755 3.15625,21.4374995 1.08085,-0.03743 2.14566,-0.198035 3.15625,-0.46875 l 0.6875,-15.59375 z"
+         style="opacity:0.51376145;fill:url(#radialGradient9659);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.64400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         inkscape:connector-curvature="0" />
+    </g>
+    <path
+       style="opacity:1;fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.14400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 96.407112,2.0934337 c -9.006677,1.10679 -15.853729,7.2281576 -16.414062,14.4622933 -0.0051,0.03257 -0.02046,0.102065 -0.02528,0.134682 0,0 -3.372795,20.719473 -7.366464,26.291206 -3.134494,4.373038 -63.0566574,58.537925 -65.879723,63.173695 -5.96259731,9.79119 5.156855,23.75388 16.953634,15.68182 7.777263,-5.32168 54.734833,-63.975733 61.077032,-68.077132 4.286904,-2.772282 26.554971,-7.518913 26.554971,-7.518913 1.29851,0.291691 -9.27869,-18.990813 -12.124836,-25.088868 4e-5,-4.141922 -0.009,-4.477931 0.37325,-8.254629 5.027286,-1.981773 14.280846,-5.5153873 14.280846,-5.5153873 -3.69826,-3.562812 -9.42386,-5.707913 -15.700166,-5.3793021 -0.04111,0.00215 -0.09195,0.0046 -0.13299,0.00696 -0.22868,0.013135 -1.05808,0.051617 -1.130654,0.059198 -0.06299,0.00658 -0.166822,0.00729 -0.232778,0.012188 -0.07118,0.00809 -0.161856,0.00347 -0.232776,0.012187 z M 16.792733,104.64842 c 3.652459,-0.19123 7.185809,3.35542 7.35492,7.56267 0.139905,3.48066 -3.3408,7.10973 -6.993246,7.30096 -3.652434,0.19123 -7.3745654,-3.4804 -7.6029684,-7.29645 -0.219475,-3.66701 2.6251024,-7.32549 7.2412944,-7.56718 z"
+       id="path2388"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       sodipodi:nodetypes="cccssssccccssssccssss"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="cccssssccccssssccssss"
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       id="path21956"
+       d="M 96.920143,1.9928089 C 87.913471,3.0995969 81.066421,9.2209652 80.506086,16.4551 c -0.0051,0.03257 -0.02046,0.102066 -0.02528,0.134683 0,0 -3.372795,20.719472 -7.366464,26.291206 -3.134498,4.373038 -63.056651,58.537921 -65.8797225,63.173691 -5.9625973,9.79118 5.1568545,23.75387 16.9536345,15.68181 7.777255,-5.32167 54.734831,-63.97572 61.07703,-68.077119 4.286905,-2.772282 26.554966,-7.518911 26.554966,-7.518911 1.29851,0.29169 -9.27869,-18.990813 -12.124837,-25.088868 4e-5,-4.141922 -0.009,-4.477932 0.373247,-8.254629 5.02729,-1.981773 14.28085,-5.5153879 14.28085,-5.5153879 -3.69826,-3.5628105 -9.42386,-5.7079123 -15.700167,-5.3793014 -0.04111,0.00215 -0.09195,0.0046 -0.13299,0.00696 -0.22868,0.013135 -1.058079,0.051615 -1.130654,0.059197 -0.06299,0.00658 -0.166822,0.00729 -0.232777,0.012188 -0.07118,0.00809 -0.161856,0.00347 -0.232776,0.012188 z M 17.30577,104.5478 c 3.652452,-0.19123 7.185815,3.3554 7.35492,7.56265 0.139906,3.48066 -3.340799,7.10973 -6.993253,7.30097 -3.652427,0.19122 -7.374564,-3.4804 -7.60296,-7.29646 -0.2194764,-3.667 2.625107,-7.32547 7.241293,-7.56716 z"
+       style="opacity:1;fill:url(#radialGradient22837);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.14400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:1;fill:url(#radialGradient10545);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.14400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 82.022813,17.158216 7.476733,16.244342 3.18391,-1.357171 5.282584,11.829504 -2.618444,1.242964 3.598414,4.701128 c 5.94399,-1.490277 12.35515,-4.03493 12.35515,-4.03493 0.005,5.49e-4 0.0281,-0.0016 0.0324,-0.0017 0.004,-6.32e-4 0.0288,-4.66e-4 0.0324,-0.0017 0.003,-0.0029 0.0283,-0.0289 0.0306,-0.03242 0.002,-0.0046 -0.003,-0.02554 -0.002,-0.03073 0.002,-0.01149 0.0283,-0.04947 0.0287,-0.06315 -0.0255,-1.778824 -9.5371,-19.209589 -12.20663,-24.951553 -0.003,-4.141547 0.0036,-4.474387 0.38103,-8.250493 4.99941,-1.978326 14.22909,-5.1079947 14.22909,-5.1079947 C 110.14548,3.7794616 102.58604,2.2249011 96.949357,3.270741 88.095754,4.9134527 82.839455,10.203925 82.022813,17.158216 Z"
+       id="path9661"
+       sodipodi:nodetypes="cccccccssssscccsc"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:1;fill:url(#radialGradient25491);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.14400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 95.37965,2.3079607 C 86.892997,3.7422551 80.538502,9.6902535 80.000071,16.641803 c -0.0051,0.03257 -0.01056,0.09088 -0.01539,0.123494 -1.1e-5,3e-6 -3.370986,20.720966 -7.364666,26.2927 -3.134487,4.373037 -63.0751704,58.530253 -65.8982471,63.166023 -5.96259731,9.79118 5.1719001,23.75744 16.9686721,15.68539 7.777263,-5.32168 54.750843,-63.972709 61.093043,-68.074108 4.286893,-2.77228 26.528407,-7.534856 26.528407,-7.534856 0.005,0.0011 0.0316,0.02537 0.0363,0.02591 0.004,-4.8e-5 0.0281,-0.0033 0.0321,-0.004 0.003,-0.0018 0.025,-0.03148 0.0279,-0.03385 0.002,-0.0041 0.0264,-0.02921 0.0279,-0.03385 0.001,-0.0052 -0.005,-0.02413 -0.004,-0.02988 0.002,-0.01889 -0.0113,-0.06589 -0.0126,-0.08964 -0.1795,-2.019876 -9.55658,-19.213077 -12.213732,-24.906183 3e-5,-4.141921 -0.0021,-4.477765 0.38017,-8.254463 5.027292,-1.98177 14.259032,-5.5318912 14.259032,-5.5318912 -3.69826,-3.5628119 -9.40943,-5.6852545 -15.685732,-5.3566443 -0.04111,0.00215 -0.09165,-0.016355 -0.13269,-0.013997 -0.22868,0.013135 -1.060197,0.071643 -1.132772,0.079224 -0.063,0.00658 -0.16311,-0.00698 -0.229065,-0.00208 -0.06229,0.00708 -0.159045,0.022733 -0.22488,0.027797 -0.351826,0.043235 -0.715165,0.072739 -1.060153,0.1310439 z m 1.356026,1.0483056 c 5.604764,-0.9619721 12.944854,0.2183998 16.568794,3.7275876 0,0 -9.16323,3.5416501 -14.16265,5.5199791 -0.37744,3.776106 -0.38317,4.112916 -0.38017,8.254463 2.64868,5.697105 12.01022,22.904231 12.18161,24.910153 3.9e-4,0.0074 0.004,0.02293 0.004,0.02988 -0.005,0.01133 -0.0183,0.05295 -0.0238,0.06373 2.4e-4,0.0028 0.004,0.02665 0.004,0.02988 -0.007,0.0073 -0.0267,0.03238 -0.0279,0.03385 -0.007,1.9e-4 -0.0301,0.0037 -0.0321,0.004 -0.003,2.43e-4 -0.0292,0.0038 -0.0321,0.004 0,0 -7.10909,1.217519 -13.05309,2.707798 L 96.000978,46.055871 99.49838,43.760695 93.103661,31.367651 88.691484,32.898992 81.562893,17.299771 c 0.816633,-6.95429 6.066367,-12.2391452 14.919961,-13.8818563 0.08807,-0.01634 0.163859,-0.046379 0.252822,-0.061648 z M 15.64722,104.84718 c 0.369716,-0.0691 0.764014,-0.0923 1.160711,-0.11307 3.652448,-0.19123 7.194398,3.33321 7.363513,7.54046 0.139907,3.48066 -3.363433,7.12037 -7.015889,7.31161 -3.652441,0.19123 -7.3628234,-3.48348 -7.5912294,-7.29954 -0.200604,-3.35187 2.1504664,-6.70476 6.0828944,-7.43946 z"
+       id="path23730"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       sodipodi:nodetypes="ccssssscsssssscccssssscccccsssssscccccccsccssssc"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       id="path27250"
+       d="M 95.627579,2.2773147 C 87.140931,3.7116079 80.786436,9.6596062 80.248005,16.611157 c -0.0051,0.03257 -0.01056,0.09088 -0.01539,0.123493 -1.1e-5,4e-6 -3.37099,20.720967 -7.36467,26.292701 C 69.733461,47.400388 9.7927726,101.5576 6.9696971,106.19338 1.0070949,115.98455 12.1416,129.9508 23.938372,121.87875 31.715635,116.55707 78.689216,57.906055 85.031418,53.804656 89.318313,51.032375 111.55982,46.2698 111.55982,46.2698 c 0.005,0.0011 0.0316,0.02537 0.0363,0.02591 0.004,-4.8e-5 0.0281,-0.0033 0.0321,-0.004 0.003,-0.0018 0.025,-0.03148 0.0279,-0.03385 0.002,-0.0041 0.0264,-0.02921 0.0279,-0.03385 10e-4,-0.0052 -0.005,-0.02413 -0.004,-0.02988 0.002,-0.01889 -0.0113,-0.06589 -0.0126,-0.08964 -0.1795,-2.019876 -9.55658,-19.213077 -12.21373,-24.906182 3e-5,-4.141921 -0.0021,-4.477766 0.38016,-8.254464 5.02729,-1.981771 14.25904,-5.5318912 14.25904,-5.5318912 -3.69826,-3.5628127 -9.40943,-5.6852552 -15.68573,-5.356645 -0.04112,0.00215 -0.09165,-0.016355 -0.13269,-0.013996 -0.22868,0.013134 -1.060198,0.071643 -1.132773,0.079223 -0.063,0.00658 -0.163111,-0.00698 -0.229065,-0.00208 -0.06229,0.00708 -0.159043,0.022734 -0.224881,0.027798 -0.351826,0.043235 -0.715163,0.072739 -1.060152,0.1310439 z m 1.356026,1.0483049 c 5.604765,-0.9619728 12.944855,0.2184005 16.568795,3.727589 0,0 -9.16324,3.5416504 -14.16266,5.5199774 -0.37743,3.776107 -0.38316,4.112917 -0.38016,8.254464 2.64867,5.697105 12.01022,22.904231 12.18161,24.910153 3.9e-4,0.0074 0.004,0.02293 0.004,0.02988 -0.005,0.01133 -0.0183,0.05295 -0.0237,0.06373 2.4e-4,0.0028 0.004,0.02666 0.004,0.02988 -0.007,0.0073 -0.0266,0.03238 -0.0279,0.03385 -0.007,1.91e-4 -0.0301,0.0037 -0.0321,0.004 -0.003,2.43e-4 -0.0292,0.0038 -0.0321,0.004 0,0 -7.10909,1.217519 -13.05309,2.707797 L 96.152029,45.33341 99.92966,43.238192 94.063095,31.014461 89.090472,32.145885 81.810827,17.269124 c 0.816634,-6.95429 6.066367,-12.2391454 14.919956,-13.8818553 0.08807,-0.016341 0.16386,-0.04638 0.252822,-0.061649 z M 15.895147,104.81653 c 0.369723,-0.0691 0.764013,-0.0923 1.160717,-0.11308 3.652444,-0.19122 7.194395,3.33322 7.363509,7.54046 0.139908,3.48066 -3.363432,7.12037 -7.015889,7.31161 -3.65244,0.19124 -7.362822,-3.48348 -7.5912284,-7.29953 -0.200602,-3.35187 2.1504634,-6.70475 6.0828914,-7.43946 z"
+       style="opacity:1;fill:url(#radialGradient27252);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       sodipodi:nodetypes="ccssssscsssssscccssssscccccsssssscccccccsccssssc"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g22839"
+       transform="matrix(1.0280267,-0.1270725,0.1338966,0.9561867,-10.625435,14.784763)">
+      <rect
+         transform="matrix(0.956291,-0.292417,0.309707,0.950832,0,0)"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         y="58"
+         x="68.625313"
+         height="13.094864"
+         width="13.399776"
+         id="rect10551"
+         style="opacity:1;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient19335);stroke-width:1.54412687;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         style="opacity:1;fill:url(#radialGradient15831);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.64400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect14950"
+         width="7.7254124"
+         height="11.043238"
+         x="71.562981"
+         y="55.691086"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         transform="matrix(0.967683,-0.25217,0.307423,0.951573,0,0)" />
+      <rect
+         transform="matrix(0.98605,-0.16645,0.08671967,0.996233,0,0)"
+         ry="0"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         y="49.742821"
+         x="82.51152"
+         height="1.2325668"
+         width="11.254695"
+         id="rect10553"
+         style="opacity:1;fill:url(#radialGradient12309);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient13190);stroke-width:0.38432986;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         style="opacity:1;fill:url(#radialGradient14940);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient14942);stroke-width:0.35075644;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect14938"
+         width="10.960242"
+         height="1.0542099"
+         x="83.72757"
+         y="56.036003"
+         inkscape:r_cx="true"
+         inkscape:r_cy="true"
+         ry="0"
+         transform="matrix(0.989282,-0.14602,0.09906172,0.995081,0,0)" />
+      <rect
+         transform="matrix(0.990631,-0.136567,0.105988,0.994367,0,0)"
+         ry="0"
+         inkscape:r_cy="true"
+         inkscape:r_cx="true"
+         y="51.249149"
+         x="81.907768"
+         height="1.0507048"
+         width="11.671585"
+         id="rect14944"
+         style="opacity:1;fill:url(#radialGradient14946);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient14948);stroke-width:0.36135769;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+    <path
+       style="fill:url(#linearGradient23728);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3737)"
+       d="m 99.2677,12.983285 14.24754,-5.499896 0.64447,1.6900843 -14.93125,5.9161787 z"
+       id="rect22846"
+       sodipodi:nodetypes="ccccc"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:url(#linearGradient26375);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="m 110.6256,44.083197 c 4.16016,-0.788867 10.66003,-9.472209 12.73946,-19.223901 0.0925,-0.433768 0.42564,3.057917 0.31495,3.522705 -2.1447,9.005862 -7.92928,15.152605 -12.2638,17.217183 -0.2564,0.122122 0.0298,1.726102 -0.79061,-1.515987 z"
+       id="rect25493"
+       sodipodi:nodetypes="csssc"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       sodipodi:nodetypes="cccccccssssscccsc"
+       id="path27254"
+       d="m 82.637435,16.143859 6.549595,16.828136 4.024578,-0.757297 5.498222,11.568254 -3.265358,2.026717 2.380648,3.20948 c 5.94399,-1.490278 12.35515,-4.034931 12.35515,-4.034931 0.005,5.5e-4 0.0281,-0.0016 0.0324,-0.0017 0.004,-6.33e-4 0.0288,-4.67e-4 0.0324,-0.0017 0.003,-0.0029 0.0284,-0.0289 0.0306,-0.03242 0.002,-0.0046 -0.003,-0.02554 -0.002,-0.03073 0.002,-0.01149 0.0283,-0.04947 0.0287,-0.06314 -0.0255,-1.778825 -9.53709,-19.20959 -12.20662,-24.951553 -0.003,-4.141547 0.0036,-4.474388 0.38103,-8.250494 4.99941,-1.9783252 13.18461,-5.3923853 13.18461,-5.3923853 C 107.98012,2.6952353 101.65891,2.8086948 96.022224,3.8545354 87.168617,5.4972474 83.454078,9.1895676 82.637435,16.143859 Z"
+       style="opacity:1;fill:url(#radialGradient27256);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.14400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3985)"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:0.3853211;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="m 7.3940916,105.13388 c 0,0 61.6058644,-57.798833 65.5952104,-62.509902 3.830719,-4.523743 7.179199,-25.083938 7.179199,-25.083938 0,0 2.099396,-1.422428 1.698281,-0.189078 C 81.317191,19.040841 75.973894,39.788229 74.66237,41.80284 71.674566,46.392359 54.716167,61.534229 54.716167,61.534229 L 13.281724,100.89827 Z"
+       id="rect30766"
+       sodipodi:nodetypes="cscssccc"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:0.89449541;fill:url(#radialGradient34276);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="m 17.910823,120.66107 c 0,0 -4.758812,0.0749 -7.265533,-3.07512 -2.5067274,-3.15 -2.7163134,-7.96065 -2.7163134,-7.96065 l 0.550378,-0.82443 c 0,0 0.495154,4.82614 2.7533634,7.8753 2.301478,3.10756 7.238333,3.28453 7.161393,3.41309 z"
+       id="path34274"
+       sodipodi:nodetypes="cscczcc"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.57810318;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 109.06927,30.29602 c -0.0834,0.269367 0.2624,8.336725 0.31254,8.621859 0.1201,4.429678 1.17074,4.697551 1.28619,5.491562 0.8564,-0.325814 0.2753,0.08044 1.04576,-0.396065 -0.0737,-0.387297 -1.16364,-3.087824 -1.61383,-4.056245 0.0386,-2.203134 0.0457,-8.382588 0.0548,-8.968831 -0.41562,-0.278109 -0.57522,-0.389031 -1.08548,-0.69228 z"
+       id="path34280"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       sodipodi:nodetypes="ccccccc"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:0.51376145;fill:url(#radialGradient34303);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.14400005;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 122.85659,25.194942 -12.63467,5.953381 -0.16743,8.973375 1.77253,3.83214 c 5.45,-3.414502 9.17402,-10.483938 11.02957,-18.758896 z"
+       id="path34301"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path2276"
+       d="m -228.9185,-67.271774 v -2.794709 z"
+       style="fill:#ffffff;fill-opacity:0.75688076;fill-rule:nonzero;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path2191"
+       d="m 65.6909,-129.46266 v -2.79471 z"
+       style="fill:#ffffff;fill-opacity:0.75688076;fill-rule:nonzero;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:0.06147539;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       d="m -52.477129,-94.134134 c -5.3396,0 -9.65625,4.316653 -9.65625,9.65625 v 8.375 h -48.250001 c -5.3396,0 -9.65625,4.285407 -9.65625,9.625 v 40.750008 c 0,5.33959 4.31665,9.625 9.65625,9.625 h 57.906251 37.562499 1.0625 c 5.3396,0 9.625,-4.2854 9.625,-9.625 v -58.750008 c 0,-5.339595 -4.28541,-9.65625 -9.625,-9.65625 z"
+       id="path2860"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path2985"
+       d="m -91.3174,-199.09776 v -2.79471 z"
+       style="fill:#ffffff;fill-opacity:0.75688076;fill-rule:nonzero;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path3206"
+       d="m -210.8196,-285.72801 v -2.79471 z"
+       style="fill:#ffffff;fill-opacity:0.75688076;fill-rule:nonzero;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <g
+       id="layer4"
+       inkscape:label="box"
+       style="display:inline"
+       transform="translate(-27.868,-141.1464)" />
+    <g
+       id="layer5"
+       inkscape:label="zip_app"
+       style="display:inline"
+       transform="translate(-27.868,-141.1464)" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path3946"
+       d="m 35.7718,-219.97274 v -2.79471 z"
+       style="fill:#ffffff;fill-opacity:0.75688076;fill-rule:nonzero;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path1561"
+       d="m -56.852646,-146.07906 v -1.52674 z"
+       style="fill:#ffffff;fill-opacity:0.75688076;fill-rule:nonzero;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <rect
+       style="opacity:0.57786889;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.63199997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       id="rect1327"
+       width="1"
+       height="0"
+       x="-114.33738"
+       y="-202.67905" />
+    <rect
+       style="opacity:0.57786889;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.63199997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       id="rect2482"
+       width="1"
+       height="0"
+       x="-149.4642"
+       y="-230.20667" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path2494"
+       d="m -308.40162,-303.42273 v -2.79471 z"
+       style="fill:#ffffff;fill-opacity:0.75688076;fill-rule:nonzero;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <g
+       style="opacity:0.40163933"
+       transform="matrix(-0.782995,0,0,0.650879,-2631.26,383.0949)"
+       id="g4640" />
+    <g
+       id="g4646"
+       transform="matrix(-0.782995,0,0,0.650879,-2631.26,383.0949)"
+       style="opacity:0.40163933" />
+    <g
+       id="g4730"
+       transform="matrix(1,0,0,0.650879,569.7028,390.4227)"
+       style="opacity:0.40163933" />
+    <g
+       style="opacity:0.40163933"
+       transform="matrix(1,0,0,0.650879,569.7028,390.4227)"
+       id="g4748" />
+    <path
+       sodipodi:nodetypes="ccssssscsssssscccssssscccccsssssscccccccsccssssc"
+       style="opacity:1;fill:url(#radialGradient3758);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 95.627579,2.2773147 C 87.140931,3.7116079 80.786436,9.6596062 80.248005,16.611157 c -0.0051,0.03257 -0.01056,0.09088 -0.01539,0.123493 -1.1e-5,4e-6 -3.37099,20.720967 -7.36467,26.292701 C 69.733461,47.400388 9.7927726,101.5576 6.9696971,106.19338 1.0070949,115.98455 12.1416,129.9508 23.938372,121.87875 31.715635,116.55707 78.689216,57.906055 85.031418,53.804656 89.318313,51.032375 111.55982,46.2698 111.55982,46.2698 c 0.005,0.0011 0.0316,0.02537 0.0363,0.02591 0.004,-4.8e-5 0.0281,-0.0033 0.0321,-0.004 0.003,-0.0018 0.025,-0.03148 0.0279,-0.03385 0.002,-0.0041 0.0264,-0.02921 0.0279,-0.03385 10e-4,-0.0052 -0.005,-0.02413 -0.004,-0.02988 0.002,-0.01889 -0.0113,-0.06589 -0.0126,-0.08964 -0.1795,-2.019876 -9.55658,-19.213077 -12.21373,-24.906182 3e-5,-4.141921 -0.0021,-4.477766 0.38016,-8.254464 5.02729,-1.981771 14.25904,-5.5318912 14.25904,-5.5318912 -3.69826,-3.5628127 -9.40943,-5.6852552 -15.68573,-5.356645 -0.04112,0.00215 -0.09165,-0.016355 -0.13269,-0.013996 -0.22868,0.013134 -1.060198,0.071643 -1.132773,0.079223 -0.063,0.00658 -0.163111,-0.00698 -0.229065,-0.00208 -0.06229,0.00708 -0.159043,0.022734 -0.224881,0.027798 -0.351826,0.043235 -0.715163,0.072739 -1.060152,0.1310439 z m 1.356026,1.0483049 c 5.604765,-0.9619728 12.944855,0.2184005 16.568795,3.727589 0,0 -9.16324,3.5416504 -14.16266,5.5199774 -0.37743,3.776107 -0.38316,4.112917 -0.38016,8.254464 2.64867,5.697105 12.01022,22.904231 12.18161,24.910153 3.9e-4,0.0074 0.004,0.02293 0.004,0.02988 -0.005,0.01133 -0.0183,0.05295 -0.0237,0.06373 2.4e-4,0.0028 0.004,0.02666 0.004,0.02988 -0.007,0.0073 -0.0266,0.03238 -0.0279,0.03385 -0.007,1.91e-4 -0.0301,0.0037 -0.0321,0.004 -0.003,2.43e-4 -0.0292,0.0038 -0.0321,0.004 0,0 -7.10909,1.217519 -13.05309,2.707797 L 96.152029,45.33341 99.92966,43.238192 94.063095,31.014461 89.090472,32.145885 81.810827,17.269124 c 0.816634,-6.95429 6.066367,-12.2391454 14.919956,-13.8818553 0.08807,-0.016341 0.16386,-0.04638 0.252822,-0.061649 z M 15.895147,104.81653 c 0.369723,-0.0691 0.764013,-0.0923 1.160717,-0.11308 3.652444,-0.19122 7.194395,3.33322 7.363509,7.54046 0.139908,3.48066 -3.363432,7.12037 -7.015889,7.31161 -3.65244,0.19124 -7.362822,-3.48348 -7.5912284,-7.29953 -0.200602,-3.35187 2.1504634,-6.70475 6.0828914,-7.43946 z"
+       id="path3752"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:#888a85;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 16.232154,102.01072 c 5.542991,-1.30497 11.850216,4.9107 10.634504,10.77082 4.148589,-3.435 51.888934,-56.678298 52.878909,-59.240393 1.515966,-3.923382 -2.578082,-7.468416 -6.472096,-5.79737 -2.716058,1.165545 -57.402108,54.351883 -57.041317,54.266943 z"
+       id="path30758"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       sodipodi:nodetypes="ccsss"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:0.8;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 16.232154,102.01072 c 5.542991,-1.30497 11.850216,4.9107 10.634504,10.77082 4.148589,-3.435 51.888934,-56.678298 52.878909,-59.240393 1.515966,-3.923382 -2.578082,-7.468416 -6.472096,-5.79737 -2.716058,1.165545 -57.402108,54.351883 -57.041317,54.266943 z"
+       id="path7295"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       sodipodi:nodetypes="ccsss"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:0.27722772;fill:url(#radialGradient4005);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 16.232154,102.01072 c 5.542991,-1.30497 11.850216,4.9107 10.634504,10.77082 4.148589,-3.435 51.888934,-56.678298 52.878909,-59.240393 1.515966,-3.923382 -2.578082,-7.468416 -6.472096,-5.79737 -2.716058,1.165545 -57.402108,54.351883 -57.041317,54.266943 z"
+       id="path4003"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       sodipodi:nodetypes="ccsss"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="ccsss"
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       id="path1773"
+       d="m 16.232154,102.01072 c 5.542991,-1.30497 11.850216,4.9107 10.634504,10.77082 4.148589,-3.435 51.888934,-56.678298 52.878909,-59.240393 1.515966,-3.923382 -2.578082,-7.468416 -6.472096,-5.79737 -2.716058,1.165545 -57.402108,54.351883 -57.041317,54.266943 z"
+       style="opacity:0.5;fill:url(#radialGradient8652);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       style="opacity:0.40366971;fill:#2e3436;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="m 73.187648,47.861864 c 0.304157,-0.187382 2.875741,-1.470035 5.250175,0.619594 2.026842,1.783732 1.75363,3.629711 1.188913,5.291315 -0.272716,0.80243 -22.190145,25.654653 -26.124661,30.176498 -1.934704,2.223509 -8.555253,9.46003 -14.629769,16.144579 -6.128605,6.74407 -11.883964,12.59402 -11.883964,12.59402 0,0 51.929323,-57.887948 52.242985,-59.467212 0.459811,-2.315109 -0.488446,-3.051963 -1.269992,-3.791501 -0.796519,-0.753703 -2.198023,-1.596044 -4.105583,-1.208905 -2.63055,0.533867 -56.501715,53.331948 -57.521095,53.719358 0,0 12.936333,-12.809079 26.5886,-25.982915 C 56.575524,62.78286 70.943728,49.244268 73.187648,47.861864 Z"
+       id="path2271"
+       sodipodi:nodetypes="csssscszscss"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       inkscape:connector-curvature="0" />
+    <path
+       inkscape:r_cy="true"
+       inkscape:r_cx="true"
+       sodipodi:nodetypes="csccszscc"
+       id="path2660"
+       d="m 16.748453,101.47356 c 0,0 4.295757,-1.03111 7.966389,2.40881 4.014319,3.762 2.793249,8.2417 2.793249,8.2417 l -0.645563,0.77086 c 0,0 0.353049,-1.71439 -0.06429,-3.39624 -0.417342,-1.68186 -1.30398,-3.40987 -2.815054,-4.80097 -1.489067,-1.37084 -2.900596,-2.25341 -4.434227,-2.5817 -1.533631,-0.32828 -3.277011,-0.0915 -3.242053,-0.15744 z"
+       style="fill:url(#radialGradient8648);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:url(#radialGradient8645);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="m 16.748453,101.47356 c 0,0 4.295757,-1.03111 7.966389,2.40881 4.014319,3.762 2.793249,8.2417 2.793249,8.2417 l -0.645563,0.77086 c 0,0 0.353049,-1.71439 -0.06429,-3.39624 -0.417342,-1.68186 -1.30398,-3.40987 -2.815054,-4.80097 -1.489067,-1.37084 -2.900596,-2.25341 -4.434227,-2.5817 -1.533631,-0.32828 -3.277011,-0.0915 -3.242053,-0.15744 z"
+       id="path6192"
+       sodipodi:nodetypes="csccszscc"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3989)"
+       d="M 104.608,3.1939149 C 92.616145,2.2045921 83.866393,6.3602734 82.450397,15.463498 84.09662,8.5060072 91.399094,2.8573689 104.608,3.1939149 Z"
+       id="path3939"
+       sodipodi:nodetypes="ccc"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="ccc"
+       id="path3993"
+       d="M 104.608,3.1939149 C 92.465413,1.4810786 82.871562,5.8477846 82.450397,15.463498 84.759841,8.6265928 91.399094,3.1286865 104.608,3.1939149 Z"
+       style="opacity:0.77722772;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3995)"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:type="inkscape:offset"
+       inkscape:radius="-0.28695962"
+       inkscape:original="M 100.1875 2.84375 C 90.210833 2.6635632 82.806019 7.0550008 82.4375 15.46875 C 84.746947 8.6318447 91.384844 3.1222716 104.59375 3.1875 C 103.07593 2.9733955 101.61274 2.869491 100.1875 2.84375 z "
+       style="opacity:0.77722772;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3995)"
+       id="path4001"
+       d="M 99.845703,3.1445312 C 95.047296,3.1093795 90.877905,4.1378624 87.871094,6.171875 85.309782,7.9045212 83.590019,10.352782 82.974609,13.498047 85.463031,8.2994997 90.737725,4.1607052 99.845703,3.1445312 Z" />
+    <path
+       style="opacity:0.5;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.44400001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 75.434671,47.3125 c -0.705894,-0.02155 -1.426122,0.124179 -2.15625,0.4375 -2.716058,1.165544 -57.392041,54.33494 -57.03125,54.25 0.377005,-0.0888 0.743532,-0.1346 1.125,-0.15625 5.831453,-5.884125 53.363515,-52.002584 55.90625,-53.09375 3.117022,-1.337614 6.356572,0.665759 6.75,3.53125 0.257477,-2.663561 -1.943805,-4.887869 -4.59375,-4.96875 z m -48.4375,64.375 c -0.01923,0.36711 -0.04902,0.72749 -0.125,1.09375 0.02334,-0.0193 0.09892,-0.0713 0.125,-0.0937 5.49e-4,-0.0105 -5.05e-4,-0.0208 0,-0.0312 0.01565,-0.32513 0.02578,-0.64588 0,-0.96875 z"
+       id="path3741"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g4655"
+       transform="translate(-6.2557811,-6.0329512)">
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient4794);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08780003;stroke-opacity:1"
+         d="m 102.0625,79.999994 c -3.31753,0 -6.0625,2.74498 -6.0625,6.0625 v 9.9375 h -9.9375 c -3.31753,0 -6.0625,2.74498 -6.0625,6.062496 v 3.875 c 0,3.31753 2.74497,6.0625 6.0625,6.0625 H 96 v 9.93751 c 0,3.31752 2.74497,6.0625 6.0625,6.0625 h 3.875 c 3.31752,0 6.0625,-2.74498 6.0625,-6.0625 v -9.93751 h 9.9375 c 3.31752,0 6.0625,-2.74497 6.0625,-6.0625 v -3.875 c 0,-3.317516 -2.74498,-6.062496 -6.0625,-6.062496 H 112 v -9.9375 c 0,-3.31752 -2.74498,-6.0625 -6.0625,-6.0625 z"
+         id="path3012"
+         sodipodi:nodetypes="ccccccccccccccccccccc"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccc"
+         transform="matrix(-0.4770371,0,0,0.4770371,134.46434,74.913337)"
+         id="path3091"
+         d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 68.465655,24.133449 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+         style="fill:url(#linearGradient3571);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient3573);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 68.172686,21.789699 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+         id="path3095"
+         transform="matrix(0.4705955,0,0,0.4705955,74.322072,75.046467)"
+         sodipodi:nodetypes="cccccc"
+         clip-path="none" />
+      <g
+         id="g3201"
+         transform="matrix(1,0,0,-1,148,188.38795)"
+         clip-path="none">
+        <path
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccc"
+           transform="matrix(-0.463084,0,0,0.463084,-14.468792,55.235658)"
+           id="path3197"
+           d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 l 2.175622,10.747436 11.133979,-0.114683 v -0.46875 C 81.92653,20.116546 74.219552,10.743294 69.875971,12.057888 Z"
+           style="opacity:0.64356432;fill:url(#radialGradient4800);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)" />
+        <path
+           inkscape:connector-curvature="0"
+           style="opacity:0.64356432;fill:url(#radialGradient4802);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+           d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 67.782061,23.547512 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+           id="path3199"
+           transform="matrix(0.4624565,0,0,0.4624565,-73.133616,55.243224)"
+           sodipodi:nodetypes="cccccc" />
+      </g>
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccc"
+         transform="matrix(0.4793282,0,0,0.4793282,89.738069,90.470087)"
+         id="path3221"
+         d="M 69.719108,13.31279 C 68.64202,13.378073 67.34775,12.277052 66.875971,12.995388 L 68.465655,24.133449 79,23.37409 v -0.46875 c 1.740958,-2.57016 -4.937311,-9.65189 -9.280892,-9.59255 z"
+         style="opacity:0.55056176;fill:url(#linearGradient3575);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccccccccccccccccccc"
+         id="path3028"
+         d="m 102.0625,79.999994 c -3.31753,0 -6.0625,2.74498 -6.0625,6.0625 v 9.9375 h -9.9375 c -3.31753,0 -6.0625,2.74498 -6.0625,6.062496 v 3.875 c 0,3.31753 2.74497,6.0625 6.0625,6.0625 H 96 v 9.93751 c 0,3.31752 2.74497,6.0625 6.0625,6.0625 h 3.875 c 3.31752,0 6.0625,-2.74498 6.0625,-6.0625 v -9.93751 h 9.9375 c 3.31752,0 6.0625,-2.74497 6.0625,-6.0625 v -3.875 c 0,-3.317516 -2.74498,-6.062496 -6.0625,-6.062496 H 112 v -9.9375 c 0,-3.31752 -2.74498,-6.0625 -6.0625,-6.0625 z"
+         style="opacity:0.64356432;fill:url(#radialGradient4806);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08780003;stroke-opacity:1"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="opacity:0.55056176;fill:url(#linearGradient4796);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 68.465655,24.133449 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+         id="path3217"
+         transform="matrix(-0.4540742,0,0,0.4540742,116.57304,91.07955)"
+         sodipodi:nodetypes="cccccc"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#radialGradient4810);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08780003;stroke-opacity:1"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 13.9375 H 86.0625 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 3.875 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 H 100 v 13.93751 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 h 3.875 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -13.93751 h 13.9375 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -3.875 c 0,-1.13397 -0.92853,-2.062496 -2.0625,-2.062496 H 108 v -13.9375 c 0,-1.13397 -0.92853,-2.0625 -2.0625,-2.0625 z"
+         id="rect2407"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient4812);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08780003;stroke-opacity:1"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 13.9375 H 86.0625 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 3.875 c 0,0.1098 0.04574,0.20722 0.0625,0.3125 3.25768,0.46957 6.69134,0.75 10.25,0.75 11.50157,0 21.80584,-2.62983 28.59375,-6.75 -0.28924,-0.15515 -0.61935,-0.249996 -0.96875,-0.249996 H 108 v -13.9375 c 0,-1.13397 -0.92853,-2.0625 -2.0625,-2.0625 z"
+         id="path3038"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient4814);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08780003;stroke-opacity:1"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 1 c 0,-1.13397 1.32853,-2.6625 2.4625,-2.6625 h 3.875 c 0.28349,0 0.56599,0.05148 0.8125,0.15625 0.11026,0.24952 0.4875,1.12458 0.4875,1.4125 l 0.3625,14.03125 0.0312,-13.9375 c 0,-0.57563 -0.24106,-1.09358 -0.625,-1.46875 -0.0878,-0.08777 -0.17903,-0.17902 -0.28125,-0.25 -0.008,-0.0052 -0.0235,0.0051 -0.0312,0 -0.10208,-0.06913 -0.19867,-0.13727 -0.3125,-0.1875 -0.009,-0.0037 -0.0225,0.0036 -0.0312,0 -0.1146,-0.0487 -0.25111,-0.09763 -0.375,-0.125 -0.0102,-0.0021 -0.021,0.002 -0.0312,0 -0.12367,-0.0255 -0.24455,-0.02921 -0.375,-0.03125 h -0.0312 -0.46875 z m -16,16 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 1 c 0,-1.13397 0.92853,-2.6625 2.0625,-2.6625 L 100,99.999994 Z m 21.9375,0 13.75977,0.511716 c -6.7592,3.6271 -17.82247,6.39454 -28.50977,6.39453 -1.77933,0 -3.53955,-0.09 -5.25,-0.21875 2.06039,0.18692 4.17941,0.3125 6.34375,0.3125 10.77006,0 20.48375,-2.32371 27.25,-6 0.008,-0.004 0.0233,0.004 0.0312,0 0.44256,-0.24123 0.86462,-0.49711 1.28125,-0.75 -0.13631,-0.0731 -0.2853,-0.14478 -0.4375,-0.1875 -0.01,-0.003 -0.0212,0.003 -0.0312,0 -0.15237,-0.0404 -0.30537,-0.0598 -0.46875,-0.0625 h -0.0312 -0.46875 z"
+         id="path3062"
+         sodipodi:nodetypes="cccccccccsssssssccccccccccccscssscsscccc"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccccccsssssssccccccccccccscssscsscccc"
+         id="path3087"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 1 c 0,-1.13397 1.32853,-2.6625 2.4625,-2.6625 h 3.875 c 0.28349,0 0.56599,0.05148 0.8125,0.15625 0.11026,0.24952 0.4875,1.12458 0.4875,1.4125 l 0.3625,14.03125 0.0312,-13.9375 c 0,-0.57563 -0.24106,-1.09358 -0.625,-1.46875 -0.0878,-0.08777 -0.17903,-0.17902 -0.28125,-0.25 -0.008,-0.0052 -0.0235,0.0051 -0.0312,0 -0.10208,-0.06913 -0.19867,-0.13727 -0.3125,-0.1875 -0.009,-0.0037 -0.0225,0.0036 -0.0312,0 -0.1146,-0.0487 -0.25111,-0.09763 -0.375,-0.125 -0.0102,-0.0021 -0.021,0.002 -0.0312,0 -0.12367,-0.0255 -0.24455,-0.02921 -0.375,-0.03125 h -0.0312 -0.46875 z m -16,16 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 1 c 0,-1.13397 0.92853,-2.6625 2.0625,-2.6625 L 100,99.999994 Z m 21.9375,0 13.85742,0.511716 c -6.75919,3.6271 -17.92012,6.39454 -28.60742,6.39453 -1.77933,0 -3.53955,-0.09 -5.25,-0.21875 2.06039,0.18692 4.17941,0.3125 6.34375,0.3125 10.77006,0 20.48375,-2.32371 27.25,-6 0.008,-0.004 0.0233,0.004 0.0312,0 0.44256,-0.24123 0.86462,-0.49711 1.28125,-0.75 -0.13631,-0.0731 -0.2853,-0.14478 -0.4375,-0.1875 -0.01,-0.003 -0.0212,0.003 -0.0312,0 -0.15237,-0.0404 -0.30537,-0.0598 -0.46875,-0.0625 h -0.0312 -0.46875 z"
+         style="fill:url(#linearGradient4816);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08780003;stroke-opacity:1"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3099"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 13.9375 H 86.0625 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 3.875 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 H 100 v 13.93751 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 h 3.875 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -13.93751 h 13.9375 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -3.875 c 0,-1.13397 -0.92853,-2.062496 -2.0625,-2.062496 H 108 v -13.9375 c 0,-1.13397 -0.92853,-2.0625 -2.0625,-2.0625 z"
+         style="fill:none;fill-opacity:1;stroke:url(#linearGradient4818);stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08780003;stroke-opacity:1;filter:url(#filter3191)"
+         clip-path="none" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/cursorcolorpicker.png b/icons/cursorcolorpicker.png
deleted file mode 100644 (file)
index 277a4da..0000000
Binary files a/icons/cursorcolorpicker.png and /dev/null differ
diff --git a/icons/cursorcolorpicker16.png b/icons/cursorcolorpicker16.png
deleted file mode 100644 (file)
index d4a4b59..0000000
Binary files a/icons/cursorcolorpicker16.png and /dev/null differ
diff --git a/icons/cursorcopy.png b/icons/cursorcopy.png
deleted file mode 100644 (file)
index 879ccb6..0000000
Binary files a/icons/cursorcopy.png and /dev/null differ
diff --git a/icons/cursorhandopen.png b/icons/cursorhandopen.png
deleted file mode 100644 (file)
index 6c430db..0000000
Binary files a/icons/cursorhandopen.png and /dev/null differ
diff --git a/icons/cursorhandopen16.png b/icons/cursorhandopen16.png
deleted file mode 100644 (file)
index bc0dda5..0000000
Binary files a/icons/cursorhandopen16.png and /dev/null differ
diff --git a/icons/cursors/cursorcolorpicker.png b/icons/cursors/cursorcolorpicker.png
new file mode 100644 (file)
index 0000000..277a4da
Binary files /dev/null and b/icons/cursors/cursorcolorpicker.png differ
diff --git a/icons/cursors/cursorxlink.png b/icons/cursors/cursorxlink.png
new file mode 100644 (file)
index 0000000..d8762d8
Binary files /dev/null and b/icons/cursors/cursorxlink.png differ
diff --git a/icons/cursorxlink.png b/icons/cursorxlink.png
deleted file mode 100644 (file)
index d8762d8..0000000
Binary files a/icons/cursorxlink.png and /dev/null differ
diff --git a/icons/document-save.svg b/icons/document-save.svg
new file mode 100644 (file)
index 0000000..9719cfd
--- /dev/null
@@ -0,0 +1,29000 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   version="1.0"
+   width="128"
+   height="128"
+   id="svg2"
+   sodipodi:docname="document-save.svg"
+   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg">
+  <sodipodi:namedview
+     id="namedview8879"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:showpageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#d1d1d1"
+     showgrid="false"
+     inkscape:zoom="5.8046875"
+     inkscape:cx="23.601615"
+     inkscape:cy="64.344549"
+     inkscape:window-width="1920"
+     inkscape:window-height="1006"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <defs
+     id="defs5">
+    <linearGradient
+       id="linearGradient28132">
+      <stop
+         id="stop28134"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop28136"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient28077">
+      <stop
+         id="stop28079"
+         style="stop-color:#7a7a7a;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop28081"
+         style="stop-color:#000000;stop-opacity:0.4909091"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient28069">
+      <stop
+         id="stop28071"
+         style="stop-color:#868385;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop28073"
+         style="stop-color:#4a4949;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient28059">
+      <stop
+         id="stop28061"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop28063"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient28049">
+      <stop
+         id="stop28051"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop28053"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient27983">
+      <stop
+         id="stop27985"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop27987"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient27973">
+      <stop
+         id="stop27975"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop27977"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient27933">
+      <stop
+         id="stop27935"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop27937"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient17395">
+      <stop
+         id="stop17397"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop17399"
+         style="stop-color:#ffffff;stop-opacity:0.80000001"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient17383">
+      <stop
+         id="stop17385"
+         style="stop-color:#202020;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop17387"
+         style="stop-color:#202020;stop-opacity:0.76363635"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3275">
+      <stop
+         id="stop3277"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3279"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3215">
+      <stop
+         id="stop3217"
+         style="stop-color:#8a8a8a;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3219"
+         style="stop-color:#c6c6c6;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3136">
+      <stop
+         id="stop3138"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3140"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3088">
+      <stop
+         id="stop3090"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3092"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3033">
+      <stop
+         id="stop3035"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3037"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3706">
+      <stop
+         id="stop3708"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3710"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3577">
+      <stop
+         id="stop3579"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3581"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3468">
+      <stop
+         id="stop3470"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3472"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3446">
+      <stop
+         id="stop3448"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3451"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3111">
+      <stop
+         id="stop3113"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3603"
+         style="stop-color:#ffffff;stop-opacity:0.69818181"
+         offset="0.5" />
+      <stop
+         id="stop3115"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3077">
+      <stop
+         id="stop3079"
+         style="stop-color:#d230aa;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop3087"
+         style="stop-color:#ecf1f9;stop-opacity:1"
+         offset="0.23081657" />
+      <stop
+         id="stop3085"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0.38490108" />
+      <stop
+         id="stop3081"
+         style="stop-color:#fa0087;stop-opacity:1;"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3317">
+      <stop
+         id="stop3319"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3321"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3174">
+      <stop
+         id="stop3176"
+         style="stop-color:#2e2a2b;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3182"
+         style="stop-color:#4c494a;stop-opacity:1"
+         offset="0.33497536" />
+      <stop
+         id="stop3214"
+         style="stop-color:#5b595a;stop-opacity:1"
+         offset="0.66748768" />
+      <stop
+         id="stop3178"
+         style="stop-color:#6b696a;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="-97.742668"
+       y1="1937.9885"
+       x2="-97.742668"
+       y2="1895.421"
+       id="linearGradient3250"
+       xlink:href="#linearGradient3174"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.7893616,0,0,2.81413,340.78585,-5332.2854)" />
+    <filter
+       id="filter3444"
+       height="4.0705728"
+       y="-1.5361652"
+       width="1.1483735"
+       x="-0.076225706">
+      <feGaussianBlur
+         id="feGaussianBlur3446"
+         stdDeviation="2.9868914" />
+    </filter>
+    <clipPath
+       id="clipPath3008">
+      <rect
+         width="78.12355"
+         height="55.395592"
+         rx="1.133948"
+         ry="1.133948"
+         x="24.680513"
+         y="-68.245476"
+         id="rect3010"
+         style="opacity:0.265625;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.39999992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    </clipPath>
+    <radialGradient
+       cx="100.30548"
+       cy="42.449028"
+       r="38"
+       fx="100.30548"
+       fy="42.449028"
+       id="radialGradient3083"
+       xlink:href="#linearGradient3077"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(4.9800639,7.915887e-7,-3.2520536e-7,2.0233274,-458.82779,-99.306449)" />
+    <filter
+       id="filter3105"
+       x="-0.024996538"
+       y="-0.034457445"
+       width="1.0499931"
+       height="1.0689149">
+      <feGaussianBlur
+         id="feGaussianBlur3107"
+         stdDeviation="0.66759571" />
+    </filter>
+    <radialGradient
+       cx="64.801826"
+       cy="63.781319"
+       r="34.041004"
+       fx="64.801826"
+       fy="63.781319"
+       id="radialGradient3117"
+       xlink:href="#linearGradient3111"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1398365,0,0,0.01070664,-9.061664,63.098436)" />
+    <clipPath
+       id="clipPath3215">
+      <path
+         d="M 11.375,-167.68125 C 8.4215521,-167.68125 8,-167.31718 8,-164.3375 L 8,-163.55625 C 8,-166.53593 8.4215521,-166.86875 11.375,-166.86875 L 116.625,-166.86875 C 119.57845,-166.86875 120,-166.53593 120,-163.55625 L 120,-164.3375 C 120,-167.31718 119.57845,-167.68125 116.625,-167.68125 L 11.375,-167.68125 z"
+         id="path3217"
+         style="opacity:1;fill:url(#linearGradient3219);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" />
+    </clipPath>
+    <linearGradient
+       x1="-98.926186"
+       y1="1892.9656"
+       x2="-98.926186"
+       y2="1897.0332"
+       id="linearGradient3219"
+       xlink:href="#linearGradient3317"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.5599786,0,0,2.5827101,317.24891,-5063.043)" />
+    <filter
+       height="1.3877762"
+       y="-0.19388811"
+       width="1.0142819"
+       x="-0.0071409683"
+       id="filter3371">
+      <feGaussianBlur
+         id="feGaussianBlur3373"
+         stdDeviation="0.33324519" />
+    </filter>
+    <filter
+       id="filter3417"
+       x="-0.0023883184"
+       y="-0.068358797"
+       width="1.0047766"
+       height="1.1367176">
+      <feGaussianBlur
+         id="feGaussianBlur3419"
+         stdDeviation="0.11145486" />
+    </filter>
+    <linearGradient
+       x1="69.913269"
+       y1="-96.5"
+       x2="70.020454"
+       y2="-67.843079"
+       id="linearGradient3453"
+       xlink:href="#linearGradient3446"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.0589968,131.40729)" />
+    <linearGradient
+       x1="107.06239"
+       y1="-26.262714"
+       x2="107.06239"
+       y2="134.55173"
+       id="linearGradient3474"
+       xlink:href="#linearGradient3468"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0896035,0,0,1.0896035,5.3525997,-6.3408764)" />
+    <filter
+       height="1.4429938"
+       y="-0.22149692"
+       width="1.0471677"
+       x="-0.023583868"
+       id="filter3565">
+      <feGaussianBlur
+         id="feGaussianBlur3567"
+         stdDeviation="1.0149838" />
+    </filter>
+    <radialGradient
+       cx="28.481363"
+       cy="164.13387"
+       r="52.144646"
+       fx="28.481363"
+       fy="164.13387"
+       id="radialGradient3583"
+       xlink:href="#linearGradient3577"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(5.4915792,-0.1150427,0.00261032,0.1246041,-128.35474,104.82482)" />
+    <filter
+       height="1.1948204"
+       y="-0.097410189"
+       width="1.123267"
+       x="-0.061633492"
+       id="filter3659">
+      <feGaussianBlur
+         id="feGaussianBlur3661"
+         stdDeviation="1.9228365" />
+    </filter>
+    <radialGradient
+       cx="64.801826"
+       cy="63.781319"
+       r="34.041004"
+       fx="64.801826"
+       fy="63.781319"
+       id="radialGradient3692"
+       xlink:href="#linearGradient3111"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1497543,0,0,0.0240063,-4.3090827,76.84458)" />
+    <radialGradient
+       cx="84"
+       cy="91.983192"
+       r="32"
+       fx="84"
+       fy="91.983192"
+       id="radialGradient3704"
+       xlink:href="#linearGradient3468"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0896035,0,0,0.67667418,-4.8896732,34.275042)" />
+    <linearGradient
+       x1="47.608696"
+       y1="104.35009"
+       x2="47.608696"
+       y2="176.35008"
+       id="linearGradient3712"
+       xlink:href="#linearGradient3706"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       height="2.2482"
+       y="-0.62409998"
+       width="1.0121165"
+       x="-0.0060582431"
+       id="filter3726">
+      <feGaussianBlur
+         id="feGaussianBlur3728"
+         stdDeviation="0.18955201" />
+    </filter>
+    <radialGradient
+       cx="118.16644"
+       cy="9.119606"
+       r="1.284445"
+       fx="118.16644"
+       fy="9.119606"
+       id="radialGradient3039"
+       xlink:href="#linearGradient3033"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2088257,0.9583181,-1.4021168,1.7686352,-11.9962,-120.41039)" />
+    <filter
+       id="filter3077"
+       x="-0.15990919"
+       y="-0.2259117"
+       width="1.3198184"
+       height="1.4518234">
+      <feGaussianBlur
+         id="feGaussianBlur3079"
+         stdDeviation="0.10453397" />
+    </filter>
+    <radialGradient
+       cx="118.16644"
+       cy="9.119606"
+       r="1.284445"
+       fx="118.16644"
+       fy="9.119606"
+       id="radialGradient3084"
+       xlink:href="#linearGradient3033"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2088257,0.9583181,-1.4021168,1.7686352,-11.0962,-120.71039)" />
+    <radialGradient
+       cx="104.09375"
+       cy="9"
+       r="0.46875"
+       fx="104.09375"
+       fy="9"
+       id="radialGradient3094"
+       xlink:href="#linearGradient3088"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8,-0.4640388,1.9104855)" />
+    <filter
+       id="filter3120"
+       x="-0.066461539"
+       y="-0.083076924"
+       width="1.1329231"
+       height="1.1661538">
+      <feGaussianBlur
+         id="feGaussianBlur3122"
+         stdDeviation="0.025961538" />
+    </filter>
+    <radialGradient
+       cx="104.09375"
+       cy="9"
+       r="0.46875"
+       fx="104.09375"
+       fy="9"
+       id="radialGradient3126"
+       xlink:href="#linearGradient3088"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.8,-80.464039,1.9104855)" />
+    <linearGradient
+       x1="-37.195274"
+       y1="42.336197"
+       x2="-12.625"
+       y2="106.7981"
+       id="linearGradient3142"
+       xlink:href="#linearGradient3136"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(126.8)" />
+    <filter
+       id="filter3192"
+       x="-0.016369328"
+       y="-0.0074140351"
+       width="1.0327387"
+       height="1.0183422">
+      <feGaussianBlur
+         id="feGaussianBlur3194"
+         stdDeviation="0.0231875" />
+    </filter>
+    <clipPath
+       id="clipPath3199">
+      <path
+         d="M 18.189713,132.42089 C 16.770505,132.42089 15.627213,133.56419 15.627213,134.98339 L 15.627213,172.16667 L 87.627215,172.16667 L 87.627215,134.98339 C 87.627215,133.56419 86.483925,132.42089 85.064715,132.42089 L 18.189713,132.42089 z"
+         id="path3201"
+         style="fill:#000000;fill-opacity:0.12831858;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    </clipPath>
+    <linearGradient
+       x1="64"
+       y1="120.0697"
+       x2="56"
+       y2="96.315643"
+       id="linearGradient3221"
+       xlink:href="#linearGradient3215"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0896035,0,0,1.100885,-4.8896732,-8.4251554)" />
+    <filter
+       height="1.1857692"
+       y="-0.092884612"
+       width="1.2476923"
+       x="-0.12384615"
+       id="filter3271">
+      <feGaussianBlur
+         id="feGaussianBlur3273"
+         stdDeviation="1.2384615" />
+    </filter>
+    <linearGradient
+       x1="68"
+       y1="120"
+       x2="36"
+       y2="84"
+       id="linearGradient3281"
+       xlink:href="#linearGradient3275"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient17389"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.04831,98.650809)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient17391"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.86565,81.869097)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient17393"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.65627,76.131701)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient17401"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.35341,75.348463)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient17403"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.98917,83.339266)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient17405"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.98299,64.593236)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient17927"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.06714,86.432831)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient17929"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.83916,54.919294)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient17931"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.88342,62.800233)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient17933"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.71623,79.165529)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient17935"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.84517,54.21146)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient17937"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.53241,97.806917)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient17939"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.24534,81.048567)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient17941"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.70361,55.279303)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient17943"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.6284,97.067631)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient17945"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.34854,61.711899)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient17947"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.66265,52.483914)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient17949"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.59014,59.510188)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient17951"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.46624,60.173404)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient17953"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.87629,58.336657)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient17955"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.58009,67.154481)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient17957"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.73496,62.400106)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient17959"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.35161,73.551175)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient17961"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.89594,66.58864)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient17963"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.13384,84.814934)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient17965"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.91271,77.941165)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient17967"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.20449,51.17675)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient17969"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.06524,69.064619)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient17971"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.52359,92.856996)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient17973"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.43503,94.662593)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient17975"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.85757,64.997276)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient17977"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.75931,67.251671)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient17979"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.65593,78.369252)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient17981"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.62706,51.493137)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient17983"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.93824,68.322369)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient17985"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.53268,55.235233)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient17987"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.21066,71.47352)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient17989"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.5919,56.467526)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient17991"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.71564,74.930868)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient17993"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.4736,53.559868)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient17995"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.55832,61.067038)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient17997"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.31207,66.681291)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient17999"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.10403,67.750684)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18001"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.33468,72.447586)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18003"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.26012,87.91266)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18005"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.40056,82.048109)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18007"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.0213,62.520599)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18009"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.36835,56.244802)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18011"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.08718,57.926553)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18013"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.79114,57.080862)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18015"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.03918,48.584498)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18017"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.6183,63.700535)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18019"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.93757,95.476082)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18021"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.02547,77.574321)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18023"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.21364,48.418007)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18025"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.70823,82.23261)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18027"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.15255,92.772183)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18029"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.65169,79.498937)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18031"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.49456,78.16038)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18033"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.67608,84.861682)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18035"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.26899,52.027937)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18037"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.45628,86.592803)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18039"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.00836,90.316584)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18041"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.89546,82.204785)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18043"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.56485,49.076767)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18045"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.43699,83.788635)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18047"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.40557,82.936981)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18049"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.93802,93.778176)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18051"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.19068,89.201266)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18053"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.13798,52.027419)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18055"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.45937,84.129612)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18057"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.56245,48.654412)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18059"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.63529,65.193646)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18061"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.98125,77.181558)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18063"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.69936,101.45983)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18065"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.28009,95.000749)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18067"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.7688,89.934128)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18069"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.73667,49.776232)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18071"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.71492,87.099601)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18073"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.40761,55.73509)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18075"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.59256,76.129457)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18077"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.50428,70.646216)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18079"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.1711,87.719524)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18081"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.57429,74.288249)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18083"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.27965,65.898402)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18085"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.29621,93.400413)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18087"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.27056,70.316108)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18089"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.20777,48.563152)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18091"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.39529,83.572253)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18093"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.81164,57.257035)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18095"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.89446,53.860035)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18097"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.88926,94.901194)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18099"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.34424,94.619712)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18101"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.08388,70.672254)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18103"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.9536,55.272771)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18105"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.64822,51.584368)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18107"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.34619,56.086318)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18109"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.27079,87.813541)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18111"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.02855,64.950753)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18113"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.72777,47.537589)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18115"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.50256,86.101458)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18117"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.31555,49.887473)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18119"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.22916,94.031526)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18121"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.47311,67.000704)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18123"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.55203,62.073911)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18125"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.18659,61.00993)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18127"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.54179,61.764079)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18129"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.42695,88.75579)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18131"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.73423,88.006441)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18133"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.64361,58.908237)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18135"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.96634,55.970755)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18137"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.50462,92.061954)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient18139"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.43236,57.658044)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient18141"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.54487,89.80346)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient18143"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.63109,94.239208)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient18145"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.39712,73.965174)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient18147"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.64656,71.246105)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient18149"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.26639,58.537091)" />
+    <clipPath
+       id="clipPath25065">
+      <path
+         d="M -283.36245,66.003757 C -284.5397,66.003757 -285.48745,66.951507 -285.48745,68.128757 L -285.48745,105.94751 L -230.0812,105.94751 L -230.0812,68.128757 C -230.0812,66.951507 -231.02895,66.003757 -232.2062,66.003757 L -283.36245,66.003757 z M -277.1437,69.347507 L -263.0187,69.347507 C -262.49915,69.347507 -262.0812,69.765457 -262.0812,70.285007 L -262.0812,96.410007 C -262.0812,96.929557 -262.49915,97.347507 -263.0187,97.347507 L -277.1437,97.347507 C -277.66325,97.347507 -278.0812,96.929557 -278.0812,96.410007 L -278.0812,70.285007 C -278.0812,69.76546 -277.66325,69.347507 -277.1437,69.347507 z"
+         id="path25067"
+         style="opacity:1;fill:url(#linearGradient25069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    </clipPath>
+    <linearGradient
+       x1="52"
+       y1="112"
+       x2="52"
+       y2="80"
+       id="linearGradient25069"
+       xlink:href="#linearGradient3215"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-318.0812,-14.652496)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25071"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.38211,96.058611)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25073"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.17339,68.78127)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25075"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.16644,100.32021)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25077"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.0724,74.753533)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25079"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.8528,53.860792)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25081"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.06483,97.785398)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25083"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.80022,50.494008)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25085"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.04164,84.576711)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25087"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.52819,76.538651)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25089"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.65959,57.539347)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25091"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.86203,66.719957)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25093"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.8179,50.386062)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25095"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.05855,74.425415)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25097"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.12915,42.23811)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25099"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.66068,93.444381)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25101"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.70143,51.859788)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25103"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.98631,53.268073)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25105"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.37167,89.887836)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25107"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.74685,64.326802)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25109"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.8959,81.54662)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25111"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.29278,47.198913)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25113"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.711,91.667267)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25115"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.69501,98.782896)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25117"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.34776,95.10665)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25119"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.74429,53.915931)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25121"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.55698,53.16276)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25123"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.95662,47.486179)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25125"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.35779,58.642553)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25127"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.23431,45.441149)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25129"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.86474,74.954131)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25131"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.10867,97.34097)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25133"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.25958,46.78729)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25135"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.81379,94.9744)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25137"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.94383,78.792993)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25139"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.57868,84.007476)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25141"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.90486,92.071216)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25143"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.00999,71.757639)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25145"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.61023,87.451829)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25147"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.28284,81.593319)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25149"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.0861,90.515961)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25151"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.78528,75.738299)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25153"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.05801,67.184614)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25155"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.88883,54.629747)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25157"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.78443,79.523126)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25159"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.08719,80.115126)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25161"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.49501,50.253965)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25163"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.25412,62.696544)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25165"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.45523,79.406263)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25167"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.41942,54.610361)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25169"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.5503,80.159362)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25171"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.74779,82.303681)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25173"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.25995,94.08089)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25175"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.0894,95.830634)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25177"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.55239,43.484478)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25179"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.02703,76.389395)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25181"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.01949,89.014582)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25183"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.5417,72.608952)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25185"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.02746,79.641932)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25187"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.10405,89.937584)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25189"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.01422,68.861646)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25191"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.34232,64.508541)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25193"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.1797,58.959427)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25195"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.06036,98.049416)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25197"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.04789,60.240488)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25199"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.66368,52.21739)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25201"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.81342,73.677919)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25203"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.27374,88.937138)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25205"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.28503,78.626899)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25207"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.77725,94.296605)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25209"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.03812,59.050813)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25211"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.04593,71.103629)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25213"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.33961,87.338103)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25215"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.90676,91.613815)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25217"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.58716,82.306123)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25219"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.97587,82.888964)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25221"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.63853,48.592378)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25223"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.17805,82.032511)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25225"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.34891,75.185611)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25227"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.37818,58.417957)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25229"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.67765,55.742352)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25231"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.4097,62.833675)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25233"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.35607,79.408455)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25235"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.7447,68.787837)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25237"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.94661,55.287673)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25239"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.17737,55.539508)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25241"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.80814,74.829959)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25243"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.23561,52.533322)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25245"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.80864,97.942226)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25247"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.04119,65.636136)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25249"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.16068,85.874483)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25251"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.2966,78.103089)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25253"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.2253,63.940556)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25255"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.24862,54.096019)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25257"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.54865,65.626587)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25259"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.0947,48.525423)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25261"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.75331,51.284339)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25263"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.13564,72.571239)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25265"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.09768,73.231703)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25267"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.70515,102.75344)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25269"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.38314,101.07037)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25271"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.05661,63.96836)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25273"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.94209,72.979553)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25275"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.86084,73.351613)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25277"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.08696,78.669612)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25279"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.46218,61.658045)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25281"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.01556,70.609094)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25283"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.60137,85.269477)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25285"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.85815,87.158859)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25287"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.93834,73.09266)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25289"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.51219,76.968198)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25291"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.62389,53.714891)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25293"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.81095,65.65574)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25295"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.1174,79.920498)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25297"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.31182,94.22334)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25299"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.82608,79.603251)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25301"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.74465,86.802406)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25303"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.19678,55.049012)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25305"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.27319,62.663747)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25307"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.00246,99.797565)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25309"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.49681,62.469135)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25311"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.01015,67.065542)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25313"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.2218,88.255847)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25315"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.62659,100.49906)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25317"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.88673,89.25093)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25319"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.76579,78.929875)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25321"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.1367,69.744078)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25323"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.16539,96.80496)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25325"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.50604,95.25611)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25327"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.0547,101.92665)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25329"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.95849,84.566088)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25331"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.91109,56.112126)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25333"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.89562,74.202974)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25335"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.53845,92.086584)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25337"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.9649,56.388537)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25339"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.0286,75.756506)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25341"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.89374,87.521709)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25343"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.8761,68.273979)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25345"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.26228,47.180868)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25347"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.91805,83.030339)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25349"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.90486,89.074686)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25351"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.74266,61.23647)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25353"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.07618,77.989104)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25355"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.99922,82.379721)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25357"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.25102,78.974994)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25359"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.92593,66.582197)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25361"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.87488,90.973141)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25363"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.14427,53.878791)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25365"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.63365,51.02227)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25367"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.63774,97.263187)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25369"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.66009,78.261234)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25371"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.12648,63.541393)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25373"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.44656,90.883629)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25375"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.10606,66.63253)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25377"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.24541,89.879804)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25379"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.75451,73.741383)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25381"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.04198,85.944877)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25383"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.59922,93.062511)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25385"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.33442,48.916147)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25387"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.42778,87.747819)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25389"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.87795,46.102846)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25391"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.76042,57.778219)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25393"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.28711,55.089283)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25395"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.00493,80.55014)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25397"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.76301,84.467965)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25399"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.09758,65.661454)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25401"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.60272,91.234744)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25403"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.19726,69.665254)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25405"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.48891,52.819633)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25407"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.66919,94.582064)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25409"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.80325,85.619929)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25411"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.57968,57.069825)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25413"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.58682,65.503385)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25415"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.14174,48.577251)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25417"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.67014,82.861539)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25419"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.77739,87.621414)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25421"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.58356,90.808782)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25423"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.22748,49.22511)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25425"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.88045,89.331479)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25427"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.08206,73.679835)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25429"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.92333,98.779166)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25431"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.80519,81.754991)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25433"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.48779,69.946426)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25435"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.6343,67.002042)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25437"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.36223,86.555487)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25439"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.98491,53.461282)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25441"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.63347,60.740732)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25443"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.49112,93.886238)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25445"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.0295,46.463347)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25447"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.39578,80.802235)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25449"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.25661,74.119006)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25451"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.82125,56.065217)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25453"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.21644,57.806455)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25455"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.1716,43.752105)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25457"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.03293,67.790618)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25459"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.11879,70.91176)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25461"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.04165,79.077835)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25463"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.39124,76.195736)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25465"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.90693,79.587908)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25467"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.22061,47.99961)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25469"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.39882,62.582495)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25471"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.67782,102.12202)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25473"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.47238,73.923449)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25475"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.9026,64.745496)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25477"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.81868,77.281724)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25479"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.12565,63.352013)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25481"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.33163,97.086604)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25483"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.76353,85.066104)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25485"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.89508,54.203911)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25487"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.54305,67.199939)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25489"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.27681,72.403163)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25491"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.02385,88.069533)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25493"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.76838,88.78592)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25495"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.32961,56.208973)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25497"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.37873,88.863579)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25499"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.97817,91.731797)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25501"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.47633,50.134554)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25503"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.90923,69.227596)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25505"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.88412,67.106252)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25507"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.40947,74.939971)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25509"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.4478,57.634612)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25511"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.51182,92.809539)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25513"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.80362,50.410836)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25515"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.02572,65.891626)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25517"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.66411,84.453632)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25519"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.32685,59.734527)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25521"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.87078,59.219945)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25523"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.10721,59.642293)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25525"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.87107,95.50353)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25527"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.33115,96.648737)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25529"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.96561,51.859787)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25531"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.44773,78.310106)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25533"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.55415,72.470695)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25535"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.81771,87.843085)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25537"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.59479,45.717249)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25539"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.54047,71.618169)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25541"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.89265,55.938324)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25543"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.50631,73.919704)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25545"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.76911,49.792033)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25547"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.2194,64.311435)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25549"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.45637,61.709902)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25551"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.49561,43.100523)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25553"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.64006,66.916448)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25555"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.83152,80.672031)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25557"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.79432,71.297676)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25559"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.925,100.26332)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25561"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.38018,63.48345)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25563"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.42613,90.671813)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25565"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.09766,43.021663)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25567"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.71879,94.060061)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25569"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.43313,100.4486)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25571"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.93287,84.710556)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25573"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.02746,65.316537)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25575"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.81323,83.133066)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25577"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.82007,62.36345)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25579"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.39029,94.105045)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25581"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.13426,58.170705)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25583"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.18474,75.349434)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25585"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.20203,48.845529)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25587"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.03562,55.758101)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25589"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.29811,52.259728)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25591"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.6151,77.618141)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25593"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.05919,91.908055)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25595"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.60563,78.470723)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25597"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.903,89.769672)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25599"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.24145,45.861223)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25601"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.53475,43.795964)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25603"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.77556,48.95078)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25605"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.2318,87.681518)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25607"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.58276,55.747252)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25609"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.78469,79.944157)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25611"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.86844,50.278288)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25613"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.91709,47.248874)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25615"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.95266,76.765426)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25617"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.94025,78.21498)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25619"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.68773,56.303855)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25621"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.42025,72.239281)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25623"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.77142,70.608768)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25625"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.62663,85.751899)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25627"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.42123,91.671771)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25629"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.10816,83.461099)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25631"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.671,50.936341)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25633"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.8437,76.600442)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25635"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.54453,86.838596)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25637"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.60334,44.432277)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25639"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.19863,77.925457)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25641"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.81916,94.114099)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25643"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.90901,62.531869)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25645"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.70763,73.774118)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25647"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.46635,77.168898)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25649"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.52156,69.213722)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25651"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.16458,66.538678)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25653"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.12069,62.394789)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25655"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.52721,90.396189)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25657"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.04492,54.904169)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25659"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.45617,81.829262)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25661"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.64673,71.55417)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25663"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.44925,62.441034)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25665"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.12965,56.246736)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25667"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.92528,53.299937)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25669"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.2057,95.742977)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25671"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.29121,86.984918)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25673"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.07831,65.831275)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25675"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.34249,98.138056)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25677"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.4937,75.046925)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25679"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.1355,90.678068)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25681"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.25941,94.504639)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25683"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.67862,58.096074)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25685"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.17987,88.526706)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25687"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.87076,85.072027)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25689"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.44615,99.129507)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25691"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.03251,52.847877)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25693"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.31058,78.926478)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25695"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.38729,76.478332)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25697"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.77608,48.930248)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25699"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.78137,65.224321)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25701"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.75188,76.831363)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25703"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.11667,99.752269)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25705"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.04074,83.076253)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25707"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.40607,61.643761)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25709"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.68623,81.637039)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25711"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.6966,82.312204)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25713"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.87099,85.200996)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25715"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.14815,80.964882)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25717"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.25356,56.87887)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25719"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.98002,90.303091)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25721"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.64409,62.66442)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25723"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.07904,58.945199)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25725"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.74295,74.927436)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25727"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.72421,60.663158)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25729"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.21981,74.741939)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25731"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.31423,69.448412)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25733"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.84608,68.815406)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25735"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.18009,72.228015)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25737"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.34991,69.38326)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25739"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.3173,94.625498)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25741"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.62702,57.437192)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25743"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.44646,93.781072)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25745"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.76175,81.46759)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25747"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.78404,49.42172)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25749"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.81022,99.158159)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25751"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.52567,99.957901)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25753"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.57132,57.231352)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25755"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.75051,83.271844)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25757"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.11784,89.955784)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25759"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.2487,58.800202)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25761"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.694,60.709343)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25763"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.11199,96.768099)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25765"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.40943,62.401395)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25767"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.45206,78.631553)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25769"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.26711,66.539263)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25771"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.70911,70.352217)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25773"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.40295,95.35491)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25775"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.94716,50.093518)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25777"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.64272,72.150133)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25779"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.62647,81.143023)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25781"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.14228,54.86069)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25783"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.29509,58.719807)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25785"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.30549,66.017408)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25787"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.31534,83.536696)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25789"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.74634,54.54358)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25791"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.81598,71.036429)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25793"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.37822,50.882072)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25795"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.54397,95.704671)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25797"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.10988,80.137108)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25799"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.12294,94.958668)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25801"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.14566,48.90426)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25803"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.47119,69.295949)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25805"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.10648,68.840038)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25807"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.91314,91.117042)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25809"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.0356,46.698952)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25811"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.94624,73.379187)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25813"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.57653,93.149875)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25815"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.55881,53.111903)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25817"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.09461,51.13869)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25819"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.26013,97.389846)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25821"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.54159,74.940044)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25823"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.07562,92.952027)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25825"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.89693,60.272946)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25827"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.98046,78.793425)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25829"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.86916,51.559013)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25831"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.32905,85.452556)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25833"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.54228,90.635746)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25835"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.44461,57.766641)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25837"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.24108,68.261244)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25839"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.16236,61.104509)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25841"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.34105,58.960917)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25843"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.2905,83.175482)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25845"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.15465,75.135647)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25847"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.9938,55.97573)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25849"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.90553,96.057791)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25851"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.96328,66.21203)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25853"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.76821,93.599068)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25855"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.95708,55.921228)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25857"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.1816,60.903275)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25859"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.30553,80.478416)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25861"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.10752,50.516123)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25863"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.50403,78.72218)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25865"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.70184,79.141059)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25867"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.8086,77.286836)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25869"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.89896,54.508566)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25871"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.13152,96.866027)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25873"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.73149,77.585866)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25875"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.52509,44.701208)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25877"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.61234,70.479666)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25879"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.8115,63.378045)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25881"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.42213,58.729505)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25883"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.04973,100.68876)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25885"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.26572,51.814988)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25887"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.19359,93.559083)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25889"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.29907,41.550704)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25891"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.34885,49.193737)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25893"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.37881,67.984252)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25895"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.28267,59.49831)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25897"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.05311,53.805192)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25899"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.5602,81.313378)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25901"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.9489,83.375827)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25903"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.45863,89.337988)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25905"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.30777,89.488645)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25907"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.26991,68.026294)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25909"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.197,44.08644)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25911"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.57626,59.327194)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25913"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.05568,56.498296)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25915"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.83245,75.470348)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25917"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.85895,100.97328)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25919"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.25345,68.350558)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25921"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.79683,55.060749)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25923"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.63195,50.962423)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25925"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.29248,92.765928)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25927"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.70545,69.466989)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25929"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.15384,88.371961)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25931"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.74113,95.148243)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25933"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.89802,91.894132)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25935"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.17488,61.734911)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25937"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.98542,55.171014)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25939"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.40944,81.128571)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25941"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.77183,67.275714)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25943"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.54992,51.391434)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25945"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.84487,57.530592)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25947"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.32101,72.460262)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25949"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.13057,89.796131)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25951"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.63146,66.984367)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25953"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.47995,98.363352)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25955"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.85622,95.006691)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25957"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.62809,70.570403)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25959"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.29674,82.688109)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25961"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.9558,59.196439)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25963"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.90801,84.960554)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25965"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.0659,80.248099)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25967"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.02201,56.40529)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25969"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.47597,59.319721)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25971"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.91338,81.832351)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25973"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.67642,97.511173)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25975"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.77997,66.826761)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25977"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.21696,55.204814)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25979"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.28156,99.194668)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25981"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.16497,91.936968)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25983"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.96732,57.902306)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25985"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.66966,94.451773)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25987"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.86723,80.633635)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient25989"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.87851,84.513313)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient25991"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.09357,60.622522)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient25993"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.42322,60.924173)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient25995"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.51572,47.316547)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient25997"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.41057,59.199964)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient25999"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.64963,47.837809)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26001"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.77568,100.63515)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26003"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.58237,45.460225)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26005"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.36492,92.067389)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26007"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.75397,54.890055)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26009"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.15973,82.806109)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26011"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.91485,69.195625)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26013"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.89556,98.504519)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26015"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.19639,89.863388)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26017"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.32418,81.88167)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26019"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.20665,97.838212)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26021"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.94344,90.752694)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26023"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.16996,82.180245)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26025"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.31052,57.231976)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26027"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.94962,51.183241)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26029"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.42874,66.896446)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26031"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.65024,96.875921)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26033"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.308,55.386706)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26035"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-168.67373,60.753257)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26037"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.50822,51.075751)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26039"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.52894,58.762284)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26041"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.94959,91.684887)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26043"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.26789,84.877056)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26045"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.05805,94.476969)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26047"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.56355,86.41264)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26049"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.13517,77.175513)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26051"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.02597,58.035693)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26053"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.14971,93.175794)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26055"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.25824,88.410331)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26057"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.79815,59.03502)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26059"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.94424,100.56856)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26061"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.38437,47.090204)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26063"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.70144,67.344287)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26065"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.50104,73.092261)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26067"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.91998,71.783425)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26069"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.65277,74.03124)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26071"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.11602,99.243278)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26073"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.81905,83.115296)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26075"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.53041,58.04325)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26077"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.71379,53.569638)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26079"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.73995,56.014834)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26081"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.52662,45.024141)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26083"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.19677,82.692683)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26085"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.8594,73.102465)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26087"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.59595,65.436866)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26089"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.99607,60.382145)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26091"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.61424,94.167518)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26093"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.99055,58.222766)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26095"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.75284,57.913561)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26097"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.88775,81.060687)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26099"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.3816,64.33263)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26101"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.89851,53.909031)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26103"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.17448,62.102049)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26105"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.73853,57.030866)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26107"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.17331,73.768629)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26109"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.11883,81.414662)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26111"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.68982,64.458518)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26113"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.10479,96.180089)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26115"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.91423,82.147877)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26117"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.78875,74.985805)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26119"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.62906,96.421111)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26121"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.61017,90.04855)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26123"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.21485,44.978928)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26125"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.57813,77.832142)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26127"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.49023,74.683485)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26129"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.73713,47.320861)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26131"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.16616,84.789256)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26133"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.12103,100.13712)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26135"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.46258,85.337301)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26137"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.95687,96.57967)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26139"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.89762,43.598589)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26141"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.00975,52.562994)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26143"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.29583,89.579706)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26145"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.03831,46.741795)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26147"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.03618,89.022991)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26149"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.58455,96.869575)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26151"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.40275,53.81825)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26153"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.89983,65.779625)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26155"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.54855,79.720058)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26157"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.66431,70.024915)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26159"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.40935,72.453765)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26161"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.64538,74.917475)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26163"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.72972,48.706565)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26165"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.94438,74.846626)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26167"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.21313,101.54873)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26169"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.98842,76.692321)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26171"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.2709,100.69639)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26173"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.9594,72.450047)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26175"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.20383,59.035082)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26177"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.12744,53.794548)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26179"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.98869,53.142207)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26181"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.13628,98.100518)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26183"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.56781,94.919393)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26185"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.12461,95.97926)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26187"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.35399,55.220506)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26189"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.62563,82.907266)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26191"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.49627,98.714929)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26193"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.96478,58.525976)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26195"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.45519,97.424779)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26197"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.98701,92.818729)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26199"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.83196,91.179346)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26201"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.12249,56.157795)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26203"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.78724,61.715517)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26205"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.17592,66.548739)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26207"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.60827,71.560403)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26209"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.63961,99.402208)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26211"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.02711,87.232951)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26213"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.98141,75.110907)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26215"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.72915,90.927929)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26217"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.92879,97.252538)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26219"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.72492,56.317052)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26221"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.6908,88.473853)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26223"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.04456,69.276317)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26225"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.42003,78.754986)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26227"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.48178,71.059478)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26229"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.4398,89.404901)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26231"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.08727,100.23941)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26233"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.81385,88.623736)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26235"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.35265,81.097498)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26237"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.49542,80.736363)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26239"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.82391,102.62995)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26241"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.68584,69.035616)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26243"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.8909,91.25955)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26245"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.51204,43.292758)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26247"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.58826,92.533231)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26249"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.91765,93.825399)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26251"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.18391,67.189922)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26253"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.23566,61.001922)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26255"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.59135,67.428878)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26257"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.32576,85.901619)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26259"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.88665,79.910358)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26261"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.29826,52.507608)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26263"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.91739,98.245721)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26265"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.86528,73.586258)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26267"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.69827,64.588411)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26269"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.77836,48.821272)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26271"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.31001,52.850576)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26273"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.32314,53.194791)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26275"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.31448,58.892835)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26277"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.85686,93.462001)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26279"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.9758,86.814968)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26281"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.48695,94.50283)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26283"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.77448,73.905739)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26285"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.11146,91.445987)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26287"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.43543,88.270935)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26289"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.26511,63.034765)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26291"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.87736,49.880397)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26293"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.32143,91.272568)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26295"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.90065,86.616652)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26297"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.60436,53.461688)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26299"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.43582,70.048052)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26301"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.39886,49.361679)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26303"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.75499,81.637997)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26305"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.69395,77.737543)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26307"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.90078,68.517067)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26309"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.238,65.742941)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26311"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.82817,74.89994)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26313"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.96281,90.303768)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26315"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.94621,83.816846)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26317"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.09277,92.359799)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26319"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.04693,42.296234)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26321"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.81511,95.382853)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26323"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.35982,68.031212)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26325"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.57305,65.633167)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26327"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.72023,78.376137)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26329"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.71531,95.386817)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26331"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.76606,70.613992)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26333"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.92549,77.294246)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26335"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.3949,93.826772)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26337"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.56505,76.919073)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26339"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.36489,89.107953)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26341"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.96918,73.353203)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26343"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.50662,49.932981)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26345"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.85232,43.463212)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26347"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.80296,61.002647)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26349"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.45749,54.539732)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26351"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.19833,61.363868)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26353"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.89152,67.193431)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26355"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.23817,56.717644)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26357"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.69815,65.891141)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26359"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.42673,47.889739)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26361"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.37493,80.774838)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26363"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.5567,71.713477)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26365"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.46176,58.968814)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26367"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.09506,75.675963)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26369"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.77836,88.047292)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26371"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.58104,72.677987)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26373"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.40127,56.120337)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26375"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.88109,99.349973)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26377"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.90521,76.321763)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26379"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.77391,73.143969)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26381"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.45078,68.894473)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26383"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.34401,73.508028)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26385"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.01549,98.843449)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26387"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.45871,54.292015)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26389"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.02899,63.064932)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26391"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.96409,49.99785)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26393"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.13609,59.196361)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26395"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.09141,102.17008)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26397"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.26954,70.133057)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26399"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.73524,96.505891)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26401"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.41006,68.527705)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26403"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.60542,60.727199)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26405"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.43104,53.430483)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26407"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.32042,92.259938)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26409"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.6568,68.338744)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26411"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.66507,53.368637)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26413"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.15419,84.625236)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26415"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.35996,85.892578)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26417"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.95352,73.071673)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26419"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.59911,52.768718)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26421"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.04709,68.472085)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26423"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.73392,95.242565)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26425"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.91053,53.860252)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26427"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.961,94.592686)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26429"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.02644,95.825107)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26431"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.84879,59.021262)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26433"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.29974,64.380676)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26435"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.59404,97.507151)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26437"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.12866,71.287185)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26439"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.69166,91.939584)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26441"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.92339,44.953255)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26443"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.56343,52.22804)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26445"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.63368,48.017753)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26447"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.02668,62.411475)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26449"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.42675,58.566706)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26451"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.33318,46.059348)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26453"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.13567,58.757321)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26455"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.57474,100.96913)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26457"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.97263,46.082625)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26459"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.32669,67.279158)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26461"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.76226,59.46013)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26463"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.45756,71.652658)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26465"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.58738,67.526028)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26467"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.47772,96.355565)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26469"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.16172,62.355435)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26471"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.98759,49.311847)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26473"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.58199,67.883424)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26475"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.25718,51.466042)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26477"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.80047,42.984038)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26479"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.26636,52.927194)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26481"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.5903,87.902473)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26483"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.57186,74.960311)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26485"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.46051,84.348265)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26487"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.88495,91.390387)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26489"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.04437,49.478819)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26491"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.50689,56.699134)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26493"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.49716,54.758095)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26495"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.2186,63.383976)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26497"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.99597,64.615185)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26499"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.72593,54.306593)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26501"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.6354,82.192618)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26503"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.72677,55.965991)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26505"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.74684,93.348705)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26507"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.11095,98.355157)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26509"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.41642,58.129447)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26511"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.81562,60.402738)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26513"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.48888,67.582417)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26515"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.11081,52.39427)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26517"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.87595,73.453053)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26519"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.74565,94.623539)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26521"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.46457,73.105186)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26523"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.20061,75.219563)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26525"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.39882,83.93047)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26527"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.23296,85.458922)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26529"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.18903,54.684773)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26531"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.29115,65.385264)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26533"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.01924,57.108653)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26535"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.23811,93.415943)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26537"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.82636,92.995696)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26539"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.68705,51.525738)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26541"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.45861,61.014299)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26543"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.82901,51.479338)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26545"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.42642,61.330648)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26547"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.6842,73.453246)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26549"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.58525,66.465893)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26551"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.65937,68.581665)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26553"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.65553,87.989401)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26555"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.63622,51.559167)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26557"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.38301,92.658321)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26559"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.06131,89.702831)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26561"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.07053,52.322113)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26563"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.23187,71.007622)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26565"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.67469,80.249936)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26567"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.02737,96.164018)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26569"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.42304,93.151821)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26571"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.55154,48.490688)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26573"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.11645,54.391145)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26575"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.3394,80.019154)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26577"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.89769,96.314695)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26579"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.88531,49.529028)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26581"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.85806,86.512638)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26583"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.36352,70.500382)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26585"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.76024,70.321758)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26587"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.00964,53.501083)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26589"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.02392,69.637928)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26591"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.42011,62.360143)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26593"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.54394,65.259638)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26595"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.69392,86.017179)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26597"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.56186,64.985879)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26599"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.64496,56.82673)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26601"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.66833,86.746129)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26603"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.78226,85.95013)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26605"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.24824,72.365237)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26607"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.15693,63.896508)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26609"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.30288,80.624838)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26611"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.02397,72.263928)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26613"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.03842,70.252906)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26615"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.67534,93.586753)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26617"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.23822,59.113575)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26619"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.84416,89.554328)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26621"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.00951,84.592508)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26623"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.61788,91.38449)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26625"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.41408,97.937064)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26627"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.74698,97.735057)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26629"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.89324,94.469438)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26631"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.50418,58.701932)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26633"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.8596,44.794286)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26635"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.66711,51.755713)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26637"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.39911,73.751137)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26639"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.57062,50.664985)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26641"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.99916,69.832004)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26643"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.80681,94.021697)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26645"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.11165,94.957536)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26647"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.13101,67.590716)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26649"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.16655,58.136705)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26651"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.66747,82.325226)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26653"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.04692,48.675928)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26655"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.0267,46.756689)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26657"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.44269,56.526845)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26659"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.75759,93.703667)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26661"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.15057,64.973857)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26663"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.12993,47.849245)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26665"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.40412,74.531046)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26667"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.29494,77.499106)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26669"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.01155,79.499492)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26671"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.8569,48.353139)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26673"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.29418,60.754963)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26675"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.91676,52.290803)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26677"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.59185,67.100203)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26679"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.50241,48.87804)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26681"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.60132,60.533927)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26683"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.53892,94.433567)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26685"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.09794,48.828103)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26687"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.57013,82.682983)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26689"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.76597,83.949033)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26691"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.41993,88.546402)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26693"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.13572,41.787681)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26695"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.2046,93.907054)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26697"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.39272,97.495864)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26699"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.13122,82.505099)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26701"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.19993,78.552961)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26703"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.72661,92.537514)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26705"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.13729,85.11606)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26707"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.9277,84.964934)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26709"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.50066,62.492006)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26711"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.73891,99.746001)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26713"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.2192,85.015978)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26715"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.28973,54.49741)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26717"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.89829,91.53533)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26719"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.52714,88.219852)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26721"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.127,72.901326)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26723"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.7262,77.373646)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26725"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.36687,57.304014)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26727"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.3269,89.768624)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26729"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.96267,95.156223)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26731"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.8186,59.507254)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26733"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.42245,76.670179)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26735"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.3597,74.818794)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26737"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.16566,83.292056)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26739"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.41349,62.868961)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26741"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.53911,76.582523)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26743"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.07409,78.455391)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26745"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.44513,72.724965)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26747"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.32481,80.052048)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26749"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.17019,93.569393)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26751"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.13774,79.803506)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26753"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.25357,58.474889)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26755"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.63833,61.961568)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26757"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-260.13253,96.203313)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26759"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.19565,54.751181)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26761"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.63476,52.889621)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26763"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.37497,62.196116)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26765"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.98695,42.068143)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26767"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.13319,58.588144)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26769"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.82398,98.448223)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26771"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.34805,45.208615)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26773"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.40748,48.825207)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26775"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.32017,48.215713)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26777"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.64056,47.270949)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26779"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.57535,55.331806)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26781"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.82305,83.233524)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26783"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.73142,91.108762)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26785"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.90855,74.865231)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26787"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.05043,84.496449)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26789"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.58459,61.751464)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26791"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.14596,54.424693)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26793"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.72812,74.904465)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26795"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.33155,100.14082)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26797"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.97193,89.39845)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26799"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.54809,98.186606)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26801"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.13964,82.361444)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26803"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.26848,72.117728)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26805"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.62859,99.526146)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26807"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.59623,53.871792)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26809"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.80598,69.166711)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26811"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.62474,48.787047)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26813"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.75345,54.240746)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26815"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.98752,67.876902)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26817"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.87876,99.123473)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26819"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.61416,49.531959)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26821"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.16456,75.169359)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26823"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.23696,94.313255)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26825"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.84062,82.983714)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26827"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.01685,52.493784)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26829"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.27146,65.60472)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26831"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.88539,78.432125)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26833"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.0056,55.437687)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26835"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.09645,96.57678)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26837"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.28814,83.132852)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26839"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.92543,100.63432)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26841"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.75459,93.615295)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26843"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.81267,76.598283)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26845"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.97243,65.554836)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26847"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.11098,78.060595)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26849"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.16023,50.367691)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26851"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.09602,47.509494)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26853"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.83567,48.407023)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26855"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.9713,90.760856)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26857"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.79418,74.074289)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26859"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.43577,43.332912)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26861"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.81327,79.099323)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26863"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.00449,94.083539)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26865"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.72126,53.408845)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26867"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.91972,50.59402)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26869"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.55979,61.669974)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26871"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.4726,78.824903)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26873"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.59763,53.619283)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26875"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.49684,51.026235)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26877"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.85444,49.641287)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26879"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.88381,46.625689)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26881"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.59828,48.962924)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26883"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.23879,89.017315)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26885"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.23683,73.082304)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26887"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.78688,97.803018)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26889"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.30024,72.56641)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26891"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.45358,67.925848)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26893"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.11391,49.244629)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26895"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.59331,54.91602)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26897"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.98258,93.006514)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26899"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.0406,73.285834)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26901"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.68471,55.729024)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26903"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.25009,62.909781)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26905"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.96538,51.964452)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26907"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.40219,48.541983)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26909"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.79974,49.135089)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26911"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.42489,55.403287)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26913"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.85561,98.609587)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26915"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.64675,95.536323)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26917"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.88588,66.792578)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26919"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.20914,43.457729)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26921"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.7775,59.436448)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26923"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.42544,67.928941)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26925"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.39275,56.094044)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26927"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.32934,47.507026)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26929"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.96646,52.423282)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26931"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.21976,74.8022)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26933"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.88266,41.815936)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26935"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.24918,78.518997)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26937"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.39568,89.980882)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26939"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.42916,94.635184)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26941"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.71388,88.271429)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26943"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.32837,88.617969)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26945"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.36292,61.565947)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26947"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.03473,80.857534)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26949"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.02853,59.90518)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26951"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.85935,46.662372)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26953"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.90877,86.371204)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26955"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.34812,58.661015)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26957"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.15893,64.234779)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26959"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.59054,92.636764)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26961"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.40673,81.751939)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26963"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.53017,98.088555)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26965"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.48704,62.034599)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26967"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.83137,51.828938)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26969"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.006,73.061615)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26971"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.07541,75.576698)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26973"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.65465,58.645614)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26975"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.86415,95.785422)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26977"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.88074,52.043047)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26979"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.30588,68.913181)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26981"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.2829,73.774293)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26983"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.80454,68.145279)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26985"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.17494,67.113967)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26987"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.66985,54.392166)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient26989"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.88847,93.637588)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient26991"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.03066,73.675414)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient26993"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.06557,55.925664)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient26995"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.5447,83.559618)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient26997"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.71731,50.554901)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient26999"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.07803,65.559852)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27001"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.45447,90.161169)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27003"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.7531,48.033577)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27005"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.16031,47.967923)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27007"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.53537,53.997638)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27009"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.47562,89.229685)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27011"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.26156,83.952679)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27013"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.68998,56.521744)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27015"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.86286,69.171286)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27017"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.54466,89.382028)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27019"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.08195,46.87524)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27021"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.0621,87.935662)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27023"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.3626,52.442573)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27025"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.42473,76.507755)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27027"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.53228,72.686821)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27029"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.29684,96.025376)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27031"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-168.88852,72.260417)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27033"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.49294,81.663317)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27035"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.70952,82.014123)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27037"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.67126,94.803721)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27039"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.63545,67.542586)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27041"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.92638,95.414083)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27043"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.70623,91.7262)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27045"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.37697,79.695679)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27047"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.20392,93.233867)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27049"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.71903,60.287723)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27051"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.02161,76.867306)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27053"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.42568,55.353147)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27055"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.92188,63.576552)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27057"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.9187,92.942361)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27059"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.39752,51.243918)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27061"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.69192,59.804687)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27063"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.51508,65.169586)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27065"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.25668,71.859799)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27067"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.18018,47.753546)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27069"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.48528,86.274435)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27071"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.60975,90.283974)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27073"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.0405,47.926017)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27075"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.33325,65.496812)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27077"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.81389,56.478834)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27079"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.49509,92.598888)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27081"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.13202,75.764768)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27083"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.65004,53.119399)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27085"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-168.30515,71.365268)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27087"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.84295,96.176021)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27089"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.09341,43.681222)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27091"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.76605,102.45759)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27093"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.26758,59.881431)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27095"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.13229,99.369038)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27097"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.98228,83.05717)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27099"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.51677,73.080526)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27101"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.83872,53.045346)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27103"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.76763,93.592923)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27105"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.85753,47.641127)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27107"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.58626,50.668684)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27109"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.4069,81.262723)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27111"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.24921,79.5565)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27113"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.24494,71.067549)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27115"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.75189,50.231633)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27117"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.24434,67.14382)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27119"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.39405,69.786388)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27121"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.87732,88.400952)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27123"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.01247,45.337134)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27125"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.39061,93.604926)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27127"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.48454,50.217383)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27129"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.39395,51.765841)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27131"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.25533,56.205039)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27133"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.47816,62.048213)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27135"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.50064,52.310424)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27137"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.06861,81.446812)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27139"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.44734,90.179264)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27141"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.19114,56.493832)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27143"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.63145,73.571373)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27145"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.76286,73.427755)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27147"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.35129,69.495692)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27149"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.69785,71.126726)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27151"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.1162,78.513566)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27153"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.80517,67.452178)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27155"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.05264,98.221228)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27157"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.33798,52.073688)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27159"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.4885,49.09578)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27161"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.91622,66.613438)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27163"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.55953,62.212819)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27165"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.40228,58.703143)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27167"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.44557,61.922664)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27169"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.75543,55.062425)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27171"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.79794,56.817966)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27173"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.80249,46.383038)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27175"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.45649,79.39155)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27177"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.65817,98.525973)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27179"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.49252,86.65376)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27181"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.03005,63.616941)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27183"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.60675,86.836585)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27185"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.46391,61.275552)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27187"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.40339,103.07046)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27189"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.53363,47.761835)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27191"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.0782,91.999649)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27193"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.75617,57.089151)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27195"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.69444,79.661631)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27197"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.30338,49.239175)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27199"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.8518,65.758393)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27201"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.25918,65.382044)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27203"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.32333,56.70231)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27205"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.91028,75.726513)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27207"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.59383,70.351584)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27209"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.1034,54.435877)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27211"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.51601,95.192673)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27213"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.43965,80.028121)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27215"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.59322,76.343647)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27217"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.18344,47.610142)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27219"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.39095,43.639795)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27221"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.92671,68.771652)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27223"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.21166,92.648675)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27225"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.17735,71.794053)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27227"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.63236,47.52766)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27229"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.16081,44.41662)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27231"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.00261,90.128253)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27233"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.92227,43.55991)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27235"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.32533,49.972242)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27237"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.10997,89.14704)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27239"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.30227,60.285538)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27241"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.76842,77.390421)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27243"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.6665,62.558809)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27245"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.38184,82.872731)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27247"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.61765,96.52765)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27249"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.72541,51.47113)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27251"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.54138,53.545465)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27253"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.86173,52.774178)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27255"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.71077,43.880661)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27257"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.09393,89.496547)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27259"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.06203,66.59722)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27261"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.48757,91.970496)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27263"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.06744,64.277019)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27265"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.99988,52.392496)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27267"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.04893,50.604921)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27269"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.65616,73.939693)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27271"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.01359,69.767063)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27273"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.78541,97.601017)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27275"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.97623,59.497332)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27277"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.62014,72.269821)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27279"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.66247,76.179903)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27281"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.49072,44.982129)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27283"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.04212,91.48411)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27285"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.30554,82.579974)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27287"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.03744,54.986725)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27289"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.36851,70.543028)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27291"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.97446,50.204559)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27293"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.93491,65.972144)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27295"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.37111,77.804346)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27297"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.81671,69.086974)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27299"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.38225,78.498775)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27301"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.91362,60.616454)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27303"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.66797,46.953719)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27305"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.55395,70.518223)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27307"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.07622,83.963307)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27309"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.87336,58.408898)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27311"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.1624,69.371136)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27313"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.19766,61.537071)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27315"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.24193,92.054032)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27317"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.57792,85.804146)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27319"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.91185,72.680429)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27321"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.21114,54.390718)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27323"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.425,58.312746)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27325"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.75555,54.81788)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27327"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.02179,89.657359)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27329"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.34862,76.778873)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27331"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.69843,96.395674)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27333"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.41247,98.459073)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27335"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.64167,99.407929)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27337"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.55057,71.155806)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27339"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.99484,42.637907)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27341"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.28505,55.87091)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27343"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.59065,90.220947)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27345"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.80267,84.26335)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27347"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.0481,69.504368)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27349"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.70248,70.584924)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27351"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.60597,71.929613)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27353"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.26451,61.650553)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27355"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.07096,61.27863)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27357"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.51102,59.166309)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27359"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.7622,71.153328)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27361"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.03042,69.238498)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27363"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.0127,72.966632)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27365"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.16327,93.601756)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27367"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.65317,86.450568)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27369"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.63188,88.665087)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27371"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.79384,53.28071)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27373"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-172.74532,63.571401)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27375"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.36995,98.386192)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27377"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.87674,71.675146)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27379"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.63154,56.464275)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27381"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.30959,100.32155)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27383"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.89624,76.824878)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27385"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.89333,59.036414)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27387"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.15441,79.028562)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27389"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.17175,82.356747)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27391"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.40338,71.852443)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27393"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.32571,78.574712)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27395"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.27469,82.10326)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27397"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.74472,92.858382)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27399"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.39287,43.722363)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27401"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.91341,58.102918)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27403"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.0014,102.05417)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27405"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.70591,86.082562)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27407"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.67988,73.064213)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27409"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.69945,93.694066)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27411"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.81662,92.427571)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27413"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.6518,97.097598)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27415"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.17079,99.725263)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27417"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.32322,57.339996)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27419"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.08888,90.37825)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27421"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.81039,97.796346)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27423"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.75166,49.166841)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27425"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.59494,76.576066)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27427"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.15051,97.084599)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27429"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.48403,101.42318)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27431"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.43478,67.779459)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27433"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.22419,53.68767)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27435"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.39505,77.294326)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27437"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.41919,63.575869)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27439"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.78438,100.27467)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27441"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.61177,77.533893)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27443"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.64022,70.853269)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27445"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.55297,95.290354)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27447"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.07855,79.238468)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27449"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.65079,77.687797)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27451"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.02062,95.590901)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27453"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.96278,49.586168)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27455"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.76927,45.050973)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27457"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.51603,60.583904)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27459"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.6906,62.896975)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27461"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.38112,93.672405)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27463"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.79225,91.745447)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27465"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.44269,51.903418)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27467"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.81928,67.525668)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27469"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.72833,73.448474)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27471"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.40508,60.974073)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27473"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.05455,87.628991)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27475"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.93588,99.420661)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27477"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.88648,81.120501)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27479"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.86504,86.770173)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27481"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.13681,93.182029)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27483"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.73521,43.869682)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27485"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.0881,84.61171)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27487"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.46233,54.843602)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27489"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.6321,73.541725)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27491"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.32357,55.670436)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27493"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.91557,46.204655)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27495"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.9719,91.231164)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27497"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.69165,59.134301)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27499"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.46456,65.903504)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27501"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.46929,90.501004)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27503"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.24033,81.588013)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27505"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.82874,79.876219)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27507"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.42978,93.090415)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27509"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.61435,90.058372)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27511"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.98492,100.36541)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27513"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.9321,48.867215)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27515"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.90345,55.127806)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27517"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.50047,56.752685)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27519"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.57486,42.693569)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27521"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.24764,56.266412)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27523"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.66904,75.110959)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27525"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.52155,62.944166)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27527"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.6552,81.070833)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27529"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.68383,61.281742)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27531"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.22425,49.58798)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27533"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.5244,86.671087)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27535"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.15446,47.974507)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27537"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.76731,79.287042)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27539"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.15219,46.775348)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27541"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.08445,95.691504)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27543"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.70082,55.18296)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27545"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.3063,79.701222)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27547"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.49142,61.200645)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27549"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.76269,63.163291)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27551"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.04973,55.765566)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27553"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.38488,76.892807)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27555"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.26932,93.768386)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27557"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.22819,47.398248)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27559"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.57728,63.124516)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27561"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.63133,50.924622)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27563"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.13129,45.932102)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27565"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.04168,82.928417)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27567"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.8057,74.82315)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27569"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.39228,70.354617)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27571"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.13287,61.835684)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27573"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.60438,69.14573)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27575"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.81305,49.90574)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27577"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.21594,91.217105)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27579"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.19728,84.062432)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27581"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.9291,92.821144)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27583"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.03933,58.077371)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27585"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.60605,49.964956)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27587"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.38271,65.26114)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27589"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.78933,53.963431)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27591"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.30792,89.913488)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27593"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.44719,64.11581)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27595"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.51248,92.923726)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27597"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.3718,63.91343)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27599"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.42852,92.383231)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27601"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.76597,73.805175)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27603"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.96429,98.739247)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27605"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.5644,67.666933)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27607"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.17004,83.93924)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27609"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.16036,64.890456)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27611"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.18946,50.145956)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27613"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.60101,93.847542)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27615"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.13068,83.539022)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27617"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.16829,96.832506)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27619"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.0358,102.55861)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27621"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.50379,92.037363)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27623"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.71694,50.290692)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27625"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.47726,61.12236)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27627"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.67564,85.75803)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27629"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.99966,93.434097)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27631"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.09472,77.736566)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27633"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.51741,86.140447)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27635"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.83897,90.975822)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27637"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.21035,74.418667)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27639"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.86655,42.609709)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27641"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.6819,88.413202)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27643"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.87855,53.0696)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27645"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.77414,100.67582)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27647"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.3602,81.96574)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27649"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.09159,47.566903)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27651"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.68274,79.474551)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27653"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.48495,94.626364)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27655"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.37711,46.555566)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27657"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.8809,69.086841)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27659"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.6635,60.352803)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27661"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.95466,72.099926)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27663"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.21111,88.011876)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27665"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.83231,53.316376)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27667"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.84369,65.005735)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27669"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.9989,84.981571)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27671"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.58639,90.28221)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27673"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.47176,73.80615)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27675"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.75774,91.16306)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27677"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.16251,77.140677)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27679"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.52545,61.924834)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27681"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.0902,47.953693)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27683"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.93112,65.923658)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27685"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.70327,50.510667)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27687"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.52473,96.774009)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27689"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.08273,85.522736)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27691"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.53941,71.551229)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27693"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.45404,70.624355)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27695"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.9827,86.295303)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27697"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.54892,92.148972)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27699"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.9395,55.93824)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27701"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.46854,45.740705)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27703"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.59022,53.978766)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27705"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.99056,75.23682)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27707"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.6356,50.811083)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27709"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.03312,97.129739)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27711"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.53792,97.993185)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27713"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.83949,92.077517)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27715"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.1949,48.230903)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27717"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.80275,63.060718)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27719"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.97292,71.188488)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27721"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.14657,68.359108)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27723"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.42977,50.332265)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27725"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.24824,73.086246)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27727"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.76036,51.632528)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27729"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.27915,51.806225)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27731"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.78673,89.143551)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27733"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.85919,71.873986)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27735"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.70566,42.473075)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27737"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.34795,53.497344)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27739"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.79936,49.45235)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27741"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.00608,48.228358)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27743"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.05346,52.476784)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27745"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.12808,54.081591)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27747"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.12163,60.597171)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27749"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.42381,59.130803)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27751"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.10873,63.050103)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27753"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.32857,55.884135)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27755"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.70162,54.331071)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27757"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.56882,84.0983)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27759"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.36178,46.74517)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27761"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.78346,50.453108)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27763"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.92705,87.02696)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27765"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.25513,53.96114)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27767"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.08563,91.112785)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27769"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.58453,74.274969)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27771"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.62858,65.665589)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27773"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.65329,79.940039)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27775"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.76626,77.12677)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27777"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.29766,67.797527)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27779"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.80633,45.766603)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27781"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.01509,96.010002)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27783"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.83557,56.520808)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27785"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.34907,95.535144)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27787"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.79617,96.412337)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27789"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.46954,66.478543)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27791"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.44943,89.33075)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27793"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.67063,68.294369)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27795"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.01207,61.20943)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27797"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.73846,87.445554)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27799"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.91904,70.247864)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27801"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.48082,99.563156)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27803"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.4407,45.611464)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27805"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.85378,66.384985)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27807"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.52721,46.698474)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27809"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.80022,47.896807)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27811"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.80727,102.88663)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27813"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.76038,73.863831)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27815"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.93098,47.204356)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27817"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.6804,65.256119)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27819"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.22945,55.767241)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27821"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.54617,48.169583)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27823"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.51632,77.705709)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27825"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.52519,80.579242)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27827"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.0888,93.519977)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27829"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.76835,93.562585)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27831"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.36747,60.812258)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27833"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.29986,51.075908)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27835"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.85083,56.279579)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27837"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.33677,64.543745)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27839"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.11549,62.724424)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27841"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.11813,68.243802)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27843"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.9637,81.829271)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27845"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.71646,80.73381)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27847"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.97031,59.434907)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27849"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.03427,47.761811)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27851"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.2947,83.727191)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27853"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.08309,98.542115)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27855"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.91882,68.097545)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27857"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.72297,62.6757)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27859"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.77392,49.448992)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27861"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.44367,88.139277)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27863"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.07915,68.960728)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27865"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.11148,71.847331)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27867"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.72353,74.3722)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27869"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.20403,73.58001)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27871"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.05235,102.50404)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27873"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.43746,85.588314)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27875"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.6801,69.436624)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27877"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.46415,55.915574)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27879"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.24972,91.450947)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27881"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.67721,79.344433)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27883"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.30184,50.246818)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27885"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.80369,91.46636)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27887"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.87594,52.952389)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27889"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.79273,64.86767)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27891"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.33654,86.19453)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27893"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.07836,54.07525)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="52.066509"
+       x2="-224.06104"
+       y2="52.066509"
+       id="linearGradient27895"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.99045,71.632159)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="56.950672"
+       x2="-165.60368"
+       y2="56.950672"
+       id="linearGradient27897"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.6111,98.159425)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="63.208508"
+       x2="-188.19296"
+       y2="63.208508"
+       id="linearGradient27899"
+       xlink:href="#linearGradient17383"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.45905,77.759546)" />
+    <linearGradient
+       x1="-287.55518"
+       y1="71.908424"
+       x2="-224.06104"
+       y2="71.908424"
+       id="linearGradient27901"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.7514,72.150342)" />
+    <linearGradient
+       x1="-281.29733"
+       y1="76.792587"
+       x2="-165.60368"
+       y2="76.792587"
+       id="linearGradient27903"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.73003,67.384443)" />
+    <linearGradient
+       x1="-303.8866"
+       y1="83.050423"
+       x2="-188.19296"
+       y2="83.050423"
+       id="linearGradient27905"
+       xlink:href="#linearGradient17395"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.42247,74.315027)" />
+    <filter
+       id="filter27927"
+       x="-0.001688787"
+       y="-0.0030154907"
+       width="1.0033776"
+       height="1.006031">
+      <feGaussianBlur
+         id="feGaussianBlur27929"
+         stdDeviation="0.071512502" />
+    </filter>
+    <radialGradient
+       cx="59.983643"
+       cy="120.82638"
+       r="29.457615"
+       fx="59.983643"
+       fy="120.82638"
+       id="radialGradient27939"
+       xlink:href="#linearGradient27933"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.8793038,-5.0037745e-7,5.9254638e-8,0.2083586,-52.74385,95.651194)" />
+    <filter
+       height="2.1329554"
+       y="-0.56647772"
+       width="1.1115345"
+       x="-0.055767236"
+       id="filter27965">
+      <feGaussianBlur
+         id="feGaussianBlur27967"
+         stdDeviation="1.3689748" />
+    </filter>
+    <linearGradient
+       x1="-80.095642"
+       y1="78.43882"
+       x2="-89.987785"
+       y2="115.78114"
+       id="linearGradient27979"
+       xlink:href="#linearGradient27973"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0896035,0,0,1.100885,4.8896732,-8.4251554)" />
+    <linearGradient
+       x1="86.693916"
+       y1="100.83184"
+       x2="90.051781"
+       y2="100.83184"
+       id="linearGradient27989"
+       xlink:href="#linearGradient27983"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1)" />
+    <filter
+       height="1.0452233"
+       y="-0.022611664"
+       width="1.5097902"
+       x="-0.25489511"
+       id="filter28003">
+      <feGaussianBlur
+         id="feGaussianBlur28005"
+         stdDeviation="0.35662617" />
+    </filter>
+    <filter
+       height="1.3033333"
+       y="-0.15166667"
+       width="1.455"
+       x="-0.2275"
+       id="filter28031">
+      <feGaussianBlur
+         id="feGaussianBlur28033"
+         stdDeviation="0.55" />
+    </filter>
+    <clipPath
+       id="clipPath28041">
+      <rect
+         width="8"
+         height="12"
+         rx="1.079258"
+         ry="1.079258"
+         x="12"
+         y="12"
+         id="rect28043"
+         style="opacity:0.18359375;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    </clipPath>
+    <clipPath
+       id="clipPath28045">
+      <rect
+         width="8"
+         height="12"
+         rx="1.079258"
+         ry="1.079258"
+         x="12"
+         y="12"
+         id="rect28047"
+         style="opacity:0.18359375;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    </clipPath>
+    <filter
+       id="filter28101"
+       x="-0.061194788"
+       y="-0.072420322"
+       width="1.1223896"
+       height="1.1448406">
+      <feGaussianBlur
+         id="feGaussianBlur28103"
+         stdDeviation="0.04177847" />
+    </filter>
+    <radialGradient
+       cx="16"
+       cy="18"
+       r="4"
+       fx="16"
+       fy="18"
+       id="radialGradient28110"
+       xlink:href="#linearGradient28077"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,1.5,0,-9)" />
+    <linearGradient
+       x1="16"
+       y1="1.5952783"
+       x2="16"
+       y2="18.75548"
+       id="linearGradient28112"
+       xlink:href="#linearGradient28049"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       cx="14"
+       cy="19.699831"
+       r="2.1500001"
+       fx="14"
+       fy="18.836424"
+       id="radialGradient28114"
+       xlink:href="#linearGradient28069"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1062878,0,0,1.1062878,0.547091,-2.2994329)" />
+    <linearGradient
+       x1="11.917725"
+       y1="17.560907"
+       x2="11.917725"
+       y2="20.038458"
+       id="linearGradient28116"
+       xlink:href="#linearGradient28059"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1062878,0,0,1.1062878,0.547091,-2.2994329)" />
+    <linearGradient
+       x1="60.25"
+       y1="122.00736"
+       x2="60.25"
+       y2="118.5"
+       id="linearGradient28138"
+       xlink:href="#linearGradient28132"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0896035,0,0,1.100885,-4.8896732,-8.4251554)" />
+    <linearGradient
+       id="linearGradient3207">
+      <stop
+         id="stop3209"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3211"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5433">
+      <stop
+         id="stop5435"
+         style="stop-color:#ea3838;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop5437"
+         style="stop-color:#c40000;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2922">
+      <stop
+         id="stop2924"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop2926"
+         style="stop-color:#515151;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3325">
+      <stop
+         id="stop3327"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3329"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3623">
+      <stop
+         id="stop3625"
+         style="stop-color:#ffffff;stop-opacity:0.68345326"
+         offset="0" />
+      <stop
+         id="stop3627"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5826">
+      <stop
+         id="stop5828"
+         style="stop-color:#980000;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop5830"
+         style="stop-color:#db5c5c;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3058">
+      <stop
+         id="stop3060"
+         style="stop-color:#9a7600;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3066"
+         style="stop-color:#e3ad00;stop-opacity:1"
+         offset="0.09292036" />
+      <stop
+         id="stop3070"
+         style="stop-color:#ffcd2c;stop-opacity:1"
+         offset="0.5043171" />
+      <stop
+         id="stop3068"
+         style="stop-color:#e3ad00;stop-opacity:1"
+         offset="0.91571385" />
+      <stop
+         id="stop3062"
+         style="stop-color:#b98d00;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7364">
+      <stop
+         id="stop7366"
+         style="stop-color:#d4a100;stop-opacity:0.97647059"
+         offset="0" />
+      <stop
+         id="stop7368"
+         style="stop-color:#ffc712;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2598">
+      <stop
+         id="stop2600"
+         style="stop-color:#252525;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop2606"
+         style="stop-color:#252525;stop-opacity:1"
+         offset="0.29354507" />
+      <stop
+         id="stop2608"
+         style="stop-color:#252525;stop-opacity:1"
+         offset="0.45366704" />
+      <stop
+         id="stop2602"
+         style="stop-color:#000000;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2257">
+      <stop
+         id="stop2259"
+         style="stop-color:#b4942a;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop2261"
+         style="stop-color:#e4dcc9;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <radialGradient
+       cx="305.02731"
+       cy="-349"
+       r="34.178398"
+       id="path2489_1_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1658,0,0,-1,-353.77589,-376.98677)">
+      <stop
+         id="stop44"
+         style="stop-color:#4b73ad;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop46"
+         style="stop-color:#80b3ff;stop-opacity:1"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       cx="354.85159"
+       cy="-426"
+       r="34.1791"
+       id="path4248_1_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,-359.20739,-378.98677)">
+      <stop
+         id="stop38"
+         style="stop-color:#538bcf;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop40"
+         style="stop-color:#80b3ff;stop-opacity:1"
+         offset="1" />
+    </radialGradient>
+    <radialGradient
+       cx="354.85159"
+       cy="-426"
+       r="34.1791"
+       id="path2471_1_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-1,-359.20739,-376.98677)">
+      <stop
+         id="stop32"
+         style="stop-color:#538bcf;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop34"
+         style="stop-color:#80b3ff;stop-opacity:1"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       x1="354.68549"
+       y1="-601.27588"
+       x2="354.68549"
+       y2="-503.146"
+       id="front_1_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,-0.6522,-359.42609,-340.63827)">
+      <stop
+         id="stop20"
+         style="stop-color:#b3d9ff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop22"
+         style="stop-color:#71a8f5;stop-opacity:1"
+         offset="0.48629999" />
+      <stop
+         id="stop24"
+         style="stop-color:#2c72c7;stop-opacity:1"
+         offset="0.79879999" />
+      <stop
+         id="stop26"
+         style="stop-color:#2c72c7;stop-opacity:1"
+         offset="0.98000002" />
+      <stop
+         id="stop28"
+         style="stop-color:#deebff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="63.4995"
+       y1="-79.239304"
+       x2="63.4995"
+       y2="9.3268995"
+       id="XMLID_1_"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-68.240592,44.013228)">
+      <stop
+         id="stop6"
+         style="stop-color:#73a3e7;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop8"
+         style="stop-color:#83b1f5;stop-opacity:1"
+         offset="0.13940001" />
+      <stop
+         id="stop10"
+         style="stop-color:#bcd6fc;stop-opacity:1"
+         offset="0.3689" />
+      <stop
+         id="stop12"
+         style="stop-color:#659fee;stop-opacity:1"
+         offset="0.5007" />
+      <stop
+         id="stop14"
+         style="stop-color:#0066ff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       x1="305.35327"
+       y1="-33.695843"
+       x2="273.56915"
+       y2="122.91273"
+       id="linearGradient3377"
+       xlink:href="#linearGradient3303"
+       gradientUnits="userSpaceOnUse" />
+    <clipPath
+       id="clipPath3367">
+      <path
+         d="M 240.04888,9 C 237.09544,9 234.6888,11.347166 234.6888,14.32684 L 234.6888,111.25905 L 245.32884,121.91273 L 341.32804,121.91273 C 344.28149,121.91273 346.68786,119.56556 346.68786,116.58615 L 346.68786,14.32684 C 346.68786,11.347166 344.28149,9 341.32804,9 L 240.04888,9 z"
+         id="path3369"
+         style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" />
+    </clipPath>
+    <linearGradient
+       x1="-97.742668"
+       y1="1937.9885"
+       x2="-97.742668"
+       y2="1895.421"
+       id="linearGradient3359"
+       xlink:href="#linearGradient3174"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.5599786,0,0,2.5827101,158.24797,-4821.2784)" />
+    <linearGradient
+       x1="-44.117901"
+       y1="127.91319"
+       x2="-43.770939"
+       y2="119.03187"
+       id="linearGradient3323"
+       xlink:href="#linearGradient3317"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       x1="-44.802357"
+       y1="71.894066"
+       x2="-44.802357"
+       y2="130.6806"
+       id="linearGradient3309"
+       xlink:href="#linearGradient3303"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       x1="92.574883"
+       y1="122.13094"
+       x2="53.747078"
+       y2="76.315697"
+       id="linearGradient3293"
+       xlink:href="#linearGradient3270"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-106.875,0)" />
+    <clipPath
+       id="clipPath3289">
+      <path
+         d="M -69.78125,80 C -70.381154,80 -70.875,80.470333 -70.875,81.0625 L -70.875,122.9375 C -70.875,123.52967 -70.381154,124 -69.78125,124 L -9.09375,124 C -8.493846,124 -8.000004,123.52967 -8,122.9375 L -8,81.0625 C -8,80.470333 -8.493846,80 -9.09375,80 L -69.78125,80 z"
+         id="path3291"
+         style="opacity:1;fill:url(#linearGradient3293);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1" />
+    </clipPath>
+    <linearGradient
+       x1="92.574883"
+       y1="122.13094"
+       x2="53.747078"
+       y2="76.315697"
+       id="linearGradient3285"
+       xlink:href="#linearGradient3270"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-106.875,0)" />
+    <linearGradient
+       x1="92.574883"
+       y1="122.13094"
+       x2="53.747078"
+       y2="76.315697"
+       id="linearGradient3276"
+       xlink:href="#linearGradient3270"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       x1="-97.742668"
+       y1="1937.9885"
+       x2="-97.742668"
+       y2="1895.421"
+       id="linearGradient5823"
+       xlink:href="#linearGradient3174"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.5599786,0,0,2.5827101,325.24891,-4887.3657)" />
+    <linearGradient
+       id="linearGradient3163">
+      <stop
+         id="stop3165"
+         style="stop-color:#6b696a;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3167"
+         style="stop-color:#6b696a;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient5810">
+      <stop
+         id="stop5812"
+         style="stop-color:#2e2a2b;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop5814"
+         style="stop-color:#4c494a;stop-opacity:1"
+         offset="0.33497536" />
+      <stop
+         id="stop5816"
+         style="stop-color:#5b595a;stop-opacity:1"
+         offset="0.66748768" />
+      <stop
+         id="stop5818"
+         style="stop-color:#6b696a;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3206">
+      <stop
+         id="stop3208"
+         style="stop-color:#e3e2e6;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3216"
+         style="stop-color:#000000;stop-opacity:0.5411765"
+         offset="0.5" />
+      <stop
+         id="stop3210"
+         style="stop-color:#000000;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3270">
+      <stop
+         id="stop3272"
+         style="stop-color:#a0a1a5;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3274"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3303">
+      <stop
+         id="stop3305"
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3307"
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3448">
+      <stop
+         id="stop3450"
+         style="stop-color:#cac7dc;stop-opacity:1"
+         offset="0" />
+      <stop
+         id="stop3452"
+         style="stop-color:#cac7dc;stop-opacity:0"
+         offset="1" />
+    </linearGradient>
+  </defs>
+  <rect
+     width="58.91523"
+     height="5.7999449"
+     rx="0.72191608"
+     ry="0.28855881"
+     x="30.526026"
+     y="117.92641"
+     transform="matrix(1.0896035,0,0,1.100885,-4.8896731,-8.4251555)"
+     id="rect27931"
+     style="opacity:1;fill:url(#radialGradient27939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter27965)" />
+  <path
+     d="m 16,121 h 14 v -1 h 58.2 v 1 H 116 v -4 L 12.710706,110.00228 Z"
+     id="path3507"
+     style="fill:url(#radialGradient3583);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3565)"
+     transform="matrix(1.0896035,0,0,1.0896035,-4.8896731,-6.9946386)" />
+  <path
+     d="m 16,121 h 14 v -1 h 60 v 1 h 29 v -4 L 12.710706,116.00228 Z"
+     id="path3390"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3444)"
+     transform="matrix(1.0896035,0,0,1.0896035,-4.8896731,-6.9946386)" />
+  <path
+     d="m 7.4893379,1.7221892 c -1.9707896,0 -3.6621833,1.7710884 -3.661159,3.6249364 V 113.14401 L 15.421602,124.75229 H 122.20188 c 3.21808,0 3.66086,-0.37828 3.66086,-3.62465 V 5.3471256 c 0,-1.975425 -1.69766,-3.6249364 -3.66086,-3.6249364 z"
+     id="rect2169"
+     style="opacity:1;fill:url(#linearGradient3250);fill-opacity:1;stroke:none;stroke-width:0.544802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+  <path
+     d="m 24.693828,-69.480939 v 56.65625 h 78.100002 v -56.65625 z"
+     transform="matrix(1.0896035,0,0,1.0896035,-4.5627921,76.341908)"
+     clip-path="url(#clipPath3008)"
+     id="rect2379"
+     style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3105)" />
+  <rect
+     width="82.809868"
+     height="58.838589"
+     rx="1.3451192"
+     ry="1.3451192"
+     x="23.440018"
+     y="1.7221892"
+     id="rect3325"
+     style="display:inline;opacity:1;fill:url(#radialGradient3083);fill-opacity:1;stroke:none;stroke-width:2.1792;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+  <rect
+     width="4.1940451"
+     height="58.753334"
+     rx="1.0074191"
+     ry="1.0074191"
+     x="23.604387"
+     y="1.7221892"
+     id="rect3490"
+     style="opacity:0.613281;fill:#cfdce7;fill-opacity:1;stroke:none;stroke-width:0.544802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <rect
+     width="4.1344771"
+     height="58.258171"
+     rx="0.97763497"
+     ry="1.0074191"
+     x="101.89146"
+     y="2.2669909"
+     id="rect3488"
+     style="opacity:0.546875;fill:#cfdce7;fill-opacity:1;stroke:none;stroke-width:0.544802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <rect
+     width="75.091873"
+     height="0.7289294"
+     x="26.018856"
+     y="63.416855"
+     id="rect3109"
+     style="opacity:1;fill:url(#radialGradient3117);fill-opacity:1;stroke:none;stroke-width:0.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3726)"
+     transform="matrix(1.0896035,0,0,1.0896035,-4.8896731,-6.9946386)" />
+  <path
+     d="m 12.375,-168.28125 c -2.9534479,0 -4.375,0.36407 -4.375,3.34375 v 0.78125 c 0,-2.97968 1.4215521,-3.3125 4.375,-3.3125 h 103.25 c 2.95345,0 4.375,0.33282 4.375,3.3125 v -0.78125 c 0,-2.97968 -1.42155,-3.34375 -4.375,-3.34375 z"
+     transform="matrix(1.0896035,0,0,1.0896035,-4.8896731,185.70335)"
+     clip-path="url(#clipPath3215)"
+     id="path3209"
+     style="opacity:1;fill:#000000;fill-opacity:0.358407;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3371)" />
+  <path
+     d="M 11.375,8.600468 C 9.318588,8.707659 8,9.305748 8,11.912968 v 0.59375 c 0,-2.97968 1.421552,-3.3125 4.375,-3.3125 h 103.25 c 2.95345,0 4.375,0.33282 4.375,3.3125 v -0.59375 c 0,-2.97968 -1.42155,-3.3125 -4.375,-3.3125 H 12.375 c -0.369181,0 -0.706227,-0.015309 -1,0 z"
+     id="path3381"
+     style="opacity:1;fill:#ffffff;fill-opacity:0.469027;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3417)"
+     transform="matrix(1.0896035,0,0,1.0896035,-4.8896731,-6.9946386)" />
+  <path
+     d="m 104.309,8.626039 c -0.10113,0 -0.18846,0.03692 -0.28125,0.0625 -0.10429,0.02875 -0.19158,0.06873 -0.28125,0.125 -0.0855,0.05367 -0.15037,0.1133 -0.21875,0.1875 -0.0286,0.03101 -0.0686,0.05969 -0.0937,0.09375 -0.0337,0.0406 -0.0655,0.08064 -0.0937,0.125 -0.0934,0.16901 -0.15625,0.35712 -0.15625,0.5625 v 51.375 h 0.40625 v -51.375 c 0,-0.21142 0.0889,-0.39008 0.1875,-0.5625 h 11.90624 c 2.95345,0 4.375,0.33282 4.375,3.3125 v -0.59375 c 0,-2.60722 -1.31573,-3.17681 -3.375,-3.28125 H 104.559 c 0.0536,-0.00807 0.10032,-0.03125 0.15625,-0.03125 z m -93.218753,0.03125 c -1.625192,0.15371 -2.961966,0.77436 -3,2.875 0.121067,-2.05986 1.759484,-2.3125 4.34375,-2.3125 h 12 c 0.106588,0.1773 0.15625,0.37327 0.15625,0.59375 v 51.375 h 0.40625 v -51.375 c 0,-0.22048 -0.04966,-0.41645 -0.15625,-0.59375 -0.04526,-0.07529 -0.09582,-0.15599 -0.15625,-0.21875 -0.09373,-0.10558 -0.218747,-0.19086 -0.34375,-0.25 -0.116339,-0.05505 -0.234438,-0.09375 -0.375,-0.09375 h -0.5 z m -3,2.875 c -0.00244,0.13474 -0.03125,0.25892 -0.03125,0.40625 v 0.59375 c 0,-0.37246 0.013955,-0.70573 0.03125,-1 z"
+     id="path3423"
+     style="opacity:0.269531;fill:url(#linearGradient3453);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3417)"
+     transform="matrix(1.0896035,0,0,1.0896035,-4.8896731,-6.9946386)" />
+  <path
+     d="m 120.8845,2.3759513 c 3.21808,0 4.11326,0.3626484 4.11326,3.6093115 V 118.52087 c 0,3.24638 -3.07438,5.78852 -6.29247,5.78852 h 0.78315 c 3.21809,0 5.82257,-2.54214 5.82257,-5.78852 V 5.9852628 c 0,-3.2466631 -0.42527,-3.6093115 -3.64336,-3.6093115 z"
+     id="path3455"
+     style="opacity:1;fill:url(#linearGradient3474);fill-opacity:1;stroke:none;stroke-width:0.544802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+  <path
+     d="m 29.977638,10.572501 v 4.307885 h 69.73462 v -4.307885 z"
+     id="path3476"
+     style="opacity:0.565217;fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.544802;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 30.012182,28.121732 V 32.36073 H 99.746801 V 28.121732 Z"
+     id="path3478"
+     style="opacity:0.565217;fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.544802;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="m 29.977638,45.526575 v 4.358414 h 69.73462 v -4.358414 z"
+     id="path3480"
+     style="opacity:0.565217;fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.544802;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <path
+     d="M 105.62078,1.7221892 V 60.349666 c 0.19939,-0.110713 0.32071,-0.273487 0.44265,-0.435841 V 1.7221892 Z"
+     id="rect3492"
+     style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.544802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <path
+     d="m 23.558743,1.7221892 0.01489,58.0765398 c 0.112318,0.217801 0.27509,0.36833 0.44265,0.512474 L 24.001395,1.7221892 Z"
+     id="path3497"
+     style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.544802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <path
+     d="m 16.78125,130.4375 c -1.48295,0 -2.65625,1.20455 -2.65625,2.6875 v 42.03125 c 0,1.48295 1.173301,2.65625 2.65625,2.65625 H 16.9375 C 16.529729,177.36613 16.25,176.78074 16.25,176.125 v -39.96875 c 0,-1.39131 1.112011,-2.53125 2.5,-2.53125 h 65.59375 c 1.387992,0 2.5,1.13994 2.5,2.53125 V 176.125 c 2e-6,0.65574 -0.248479,1.24113 -0.65625,1.6875 h 0.125 c 1.48295,0 2.687502,-1.1733 2.6875,-2.65625 V 133.125 c 0,-1.48295 -1.204549,-2.6875 -2.6875,-2.6875 z"
+     transform="matrix(1.0896035,0,0,1.0896035,12.97035,-64.035477)"
+     clip-path="url(#clipPath3199)"
+     id="rect3626"
+     style="fill:url(#linearGradient3712);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3659)" />
+  <path
+     d="m 32.742845,80.182182 c -1.546374,0 -2.792109,1.245733 -2.792109,2.792108 l 0.0269,40.47467 h 78.451454 l -0.0269,-40.47467 c 0,-1.546375 -1.24573,-2.792108 -2.79211,-2.792108 z"
+     id="path3680"
+     style="opacity:1;fill:#000000;fill-opacity:0.128319;stroke:none;stroke-width:0.544802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <path
+     d="m 32.789924,80.250783 c -1.546374,0 -2.792108,1.245744 -2.792108,2.79211 V 123.55792 L 108.42909,123.4309 V 82.915866 c 0,-1.546365 -1.24573,-2.792108 -2.79211,-2.792108 z"
+     id="path3694"
+     style="opacity:0.0742188;fill:url(#radialGradient3704);fill-opacity:1;stroke:none;stroke-width:0.544802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <path
+     d="M 52.9375,84 C 52.41795,84 52,84.417953 52,84.9375 V 108 H 40.9375 C 40.41795,108 40,108.41795 40,108.9375 v 6.125 C 40,115.58205 40.417949,116 40.9375,116 h 12 10.125 C 63.58205,116 64,115.58205 64,115.0625 v -6.125 -24 C 64,84.41795 63.582051,84 63.0625,84 Z"
+     transform="matrix(1.0896035,0,0,1.100885,-4.8896731,-8.4251555)"
+     id="rect3226"
+     style="display:inline;opacity:1;fill:url(#linearGradient3281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3271)" />
+  <rect
+     width="75.745247"
+     height="1.6343969"
+     x="31.076672"
+     y="77.558594"
+     id="rect3669"
+     style="opacity:0.377717;fill:url(#radialGradient3692);fill-opacity:1;stroke:none;stroke-width:0.762722;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <path
+     d="m 103.91096,8.735486 -0.75,0.6875 0.9375,0.0625 z"
+     id="path3086"
+     style="fill:url(#radialGradient3094);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3120)"
+     transform="matrix(1.0896035,0,0,1.0896035,-4.8896731,-6.9946386)" />
+  <path
+     d="m 23.91096,8.7354857 -0.75,0.6875 0.9375,0.0625 z"
+     transform="matrix(-1.0896035,0,0,1.0896035,47.476038,-6.9946386)"
+     id="path3124"
+     style="fill:url(#radialGradient3126);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3120)" />
+  <path
+     d="m 112.08125,97.375 v 6.71875 h -1.21875 -1.03125 l 4.34375,7.53125 4.34375,-7.53125 h -1.03125 -1.21875 V 97.375 H 114.175 Z"
+     transform="matrix(1.0760673,0,0,1.0896035,-4.1085462,-6.7767179)"
+     id="path3128"
+     style="opacity:0.453125;fill:url(#linearGradient3142);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3192)" />
+  <rect
+     width="3.3578629"
+     height="37.852272"
+     x="87.693916"
+     y="81.905701"
+     transform="matrix(1.0896035,0,0,1.100885,-4.8896731,-8.4251555)"
+     id="rect27981"
+     style="opacity:0.296875;fill:url(#linearGradient27989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28003)" />
+  <path
+     d="m 32.747381,80.52409 c -1.282737,0 -2.315408,1.043363 -2.315408,2.339379 L 30.62459,124.34158 H 90.995433 V 82.70749 c 0,-1.296019 -0.896472,-2.1834 -2.179208,-2.1834 z m 6.968588,8.751972 h 15.390649 c 0.566105,0 1.021503,0.460116 1.021503,1.032079 V 113.8419 c 0,0.57196 -0.455399,1.03208 -1.021503,1.03208 H 39.715969 c -0.566105,0 -1.021503,-0.46012 -1.021503,-1.03208 V 90.308141 c 0,-0.57196 0.455399,-1.032079 1.021503,-1.032079 z"
+     id="rect3196"
+     style="opacity:1;fill:url(#linearGradient3221);fill-opacity:1;stroke:none;stroke-width:0.108961;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <g
+     transform="matrix(1.0896035,0,0,1.100885,342.5021,8.863764)"
+     clip-path="url(#clipPath25065)"
+     id="g23527"
+     style="display:none;opacity:0.183594;filter:url(#filter27927)">
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.79343"
+       y="84.707176"
+       id="rect17371"
+       style="opacity:0.1875;fill:url(#linearGradient17393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.9552"
+       y="91.262184"
+       id="rect17373"
+       style="opacity:0.1875;fill:url(#linearGradient17391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-256.91937"
+       y="109.06592"
+       id="rect17375"
+       style="opacity:0.1875;fill:url(#linearGradient17389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.12012"
+       y="76.49028"
+       id="rect17377"
+       style="opacity:0.46875;fill:url(#linearGradient17405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.07872"
+       y="96.053925"
+       id="rect17379"
+       style="opacity:0.46875;fill:url(#linearGradient17403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-269.22446"
+       y="89.085144"
+       id="rect17381"
+       style="opacity:0.46875;fill:url(#linearGradient17401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.40353"
+       y="67.112572"
+       id="rect17407"
+       style="opacity:0.1875;fill:url(#linearGradient18149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.73615"
+       y="80.639206"
+       id="rect17409"
+       style="opacity:0.1875;fill:url(#linearGradient18147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-255.26816"
+       y="84.380295"
+       id="rect17411"
+       style="opacity:0.1875;fill:url(#linearGradient18145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-274.76822"
+       y="106.13625"
+       id="rect17413"
+       style="opacity:0.46875;fill:url(#linearGradient18143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.63443"
+       y="102.51813"
+       id="rect17415"
+       style="opacity:0.46875;fill:url(#linearGradient18141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-235.30339"
+       y="71.39473"
+       id="rect17417"
+       style="opacity:0.46875;fill:url(#linearGradient18139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.64175"
+       y="100.63744"
+       id="rect17419"
+       style="opacity:0.1875;fill:url(#linearGradient18137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.05591"
+       y="65.363846"
+       id="rect17421"
+       style="opacity:0.1875;fill:url(#linearGradient18135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-267.51465"
+       y="69.323357"
+       id="rect17423"
+       style="opacity:0.1875;fill:url(#linearGradient18133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.87137"
+       y="99.903488"
+       id="rect17425"
+       style="opacity:0.46875;fill:url(#linearGradient18131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.51654"
+       y="101.47046"
+       id="rect17427"
+       style="opacity:0.46875;fill:url(#linearGradient18129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-226.41283"
+       y="75.500755"
+       id="rect17429"
+       style="opacity:0.46875;fill:url(#linearGradient18127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-295.32373"
+       y="69.585419"
+       id="rect17431"
+       style="opacity:0.1875;fill:url(#linearGradient18125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.6416"
+       y="71.46701"
+       id="rect17433"
+       style="opacity:0.1875;fill:url(#linearGradient18123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-231.34415"
+       y="77.415817"
+       id="rect17435"
+       style="opacity:0.1875;fill:url(#linearGradient18121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-307.36627"
+       y="105.92856"
+       id="rect17437"
+       style="opacity:0.46875;fill:url(#linearGradient18119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.40512"
+       y="62.602127"
+       id="rect17439"
+       style="opacity:0.46875;fill:url(#linearGradient18117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-226.37361"
+       y="99.838142"
+       id="rect17441"
+       style="opacity:0.46875;fill:url(#linearGradient18115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.8649"
+       y="56.113068"
+       id="rect17443"
+       style="opacity:0.1875;fill:url(#linearGradient18113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.1181"
+       y="74.343849"
+       id="rect17445"
+       style="opacity:0.1875;fill:url(#linearGradient18111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-244.14183"
+       y="98.228653"
+       id="rect17447"
+       style="opacity:0.1875;fill:url(#linearGradient18109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.48334"
+       y="67.98336"
+       id="rect17449"
+       style="opacity:0.46875;fill:url(#linearGradient18107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.73779"
+       y="64.299034"
+       id="rect17451"
+       style="opacity:0.46875;fill:url(#linearGradient18105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-263.82462"
+       y="69.00946"
+       id="rect17453"
+       style="opacity:0.46875;fill:url(#linearGradient18103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.22101"
+       y="79.247726"
+       id="rect17455"
+       style="opacity:0.1875;fill:url(#linearGradient18101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.43381"
+       y="104.01281"
+       id="rect17457"
+       style="opacity:0.1875;fill:url(#linearGradient18099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-244.76028"
+       y="105.31631"
+       id="rect17459"
+       style="opacity:0.1875;fill:url(#linearGradient18097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.03159"
+       y="65.75708"
+       id="rect17461"
+       style="opacity:0.46875;fill:url(#linearGradient18095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.90118"
+       y="69.971687"
+       id="rect17463"
+       style="opacity:0.46875;fill:url(#linearGradient18093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-305.26633"
+       y="97.308929"
+       id="rect17465"
+       style="opacity:0.46875;fill:url(#linearGradient18091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.34489"
+       y="57.138626"
+       id="rect17467"
+       style="opacity:0.1875;fill:url(#linearGradient18089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.36011"
+       y="79.709198"
+       id="rect17469"
+       style="opacity:0.1875;fill:url(#linearGradient18087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-278.16724"
+       y="103.81553"
+       id="rect17471"
+       style="opacity:0.1875;fill:url(#linearGradient18085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-254.41679"
+       y="77.795441"
+       id="rect17473"
+       style="opacity:0.46875;fill:url(#linearGradient18083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.66385"
+       y="87.002907"
+       id="rect17475"
+       style="opacity:0.46875;fill:url(#linearGradient18081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.04214"
+       y="101.45621"
+       id="rect17477"
+       style="opacity:0.46875;fill:url(#linearGradient18079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-279.64142"
+       y="79.221695"
+       id="rect17479"
+       style="opacity:0.1875;fill:url(#linearGradient18077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-240.68213"
+       y="85.522552"
+       id="rect17481"
+       style="opacity:0.1875;fill:url(#linearGradient18075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.27867"
+       y="66.150208"
+       id="rect17483"
+       style="opacity:0.1875;fill:url(#linearGradient18073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-255.85204"
+       y="98.996635"
+       id="rect17485"
+       style="opacity:0.46875;fill:url(#linearGradient18071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.82623"
+       y="62.490906"
+       id="rect17487"
+       style="opacity:0.46875;fill:url(#linearGradient18069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-235.63985"
+       y="103.67081"
+       id="rect17489"
+       style="opacity:0.46875;fill:url(#linearGradient18067);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.41724"
+       y="103.57622"
+       id="rect17491"
+       style="opacity:0.1875;fill:url(#linearGradient18065);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-287.78891"
+       y="110.85292"
+       id="rect17493"
+       style="opacity:0.1875;fill:url(#linearGradient18063);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-270.85229"
+       y="87.596672"
+       id="rect17495"
+       style="opacity:0.1875;fill:url(#linearGradient18061);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-279.77243"
+       y="77.090691"
+       id="rect17497"
+       style="opacity:0.46875;fill:url(#linearGradient18059);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.65201"
+       y="61.369072"
+       id="rect17499"
+       style="opacity:0.46875;fill:url(#linearGradient18057);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-256.33041"
+       y="97.866295"
+       id="rect17501"
+       style="opacity:0.46875;fill:url(#linearGradient18055);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.27512"
+       y="60.602905"
+       id="rect17503"
+       style="opacity:0.1875;fill:url(#linearGradient18053);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.28024"
+       y="98.59436"
+       id="rect17505"
+       style="opacity:0.1875;fill:url(#linearGradient18051);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-268.80908"
+       y="104.19329"
+       id="rect17507"
+       style="opacity:0.1875;fill:url(#linearGradient18049);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.54272"
+       y="94.834015"
+       id="rect17509"
+       style="opacity:0.46875;fill:url(#linearGradient18047);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.52655"
+       y="96.503296"
+       id="rect17511"
+       style="opacity:0.46875;fill:url(#linearGradient18045);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-232.43588"
+       y="62.813446"
+       id="rect17513"
+       style="opacity:0.46875;fill:url(#linearGradient18043);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-220.03261"
+       y="90.780258"
+       id="rect17515"
+       style="opacity:0.1875;fill:url(#linearGradient18041);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.0979"
+       y="99.709679"
+       id="rect17517"
+       style="opacity:0.1875;fill:url(#linearGradient18039);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-304.3273"
+       y="97.007927"
+       id="rect17519"
+       style="opacity:0.1875;fill:url(#linearGradient18037);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.40613"
+       y="63.924969"
+       id="rect17521"
+       style="opacity:0.46875;fill:url(#linearGradient18035);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.76562"
+       y="97.57634"
+       id="rect17523"
+       style="opacity:0.46875;fill:url(#linearGradient18033);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-240.3656"
+       y="91.897057"
+       id="rect17525"
+       style="opacity:0.46875;fill:url(#linearGradient18031);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.78883"
+       y="88.074402"
+       id="rect17527"
+       style="opacity:0.1875;fill:url(#linearGradient18029);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.24213"
+       y="102.16527"
+       id="rect17529"
+       style="opacity:0.1875;fill:url(#linearGradient18027);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-291.57928"
+       y="92.647728"
+       id="rect17531"
+       style="opacity:0.1875;fill:url(#linearGradient18025);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-254.35078"
+       y="60.315037"
+       id="rect17533"
+       style="opacity:0.46875;fill:url(#linearGradient18023);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.11502"
+       y="90.288979"
+       id="rect17535"
+       style="opacity:0.46875;fill:url(#linearGradient18021);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-248.80861"
+       y="109.21276"
+       id="rect17537"
+       style="opacity:0.46875;fill:url(#linearGradient18019);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-240.75543"
+       y="72.276009"
+       id="rect17539"
+       style="opacity:0.1875;fill:url(#linearGradient18017);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.12875"
+       y="57.977592"
+       id="rect17541"
+       style="opacity:0.1875;fill:url(#linearGradient18015);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-274.66217"
+       y="67.495979"
+       id="rect17543"
+       style="opacity:0.1875;fill:url(#linearGradient18013);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.2243"
+       y="69.823593"
+       id="rect17545"
+       style="opacity:0.46875;fill:url(#linearGradient18011);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.45792"
+       y="68.959457"
+       id="rect17547"
+       style="opacity:0.46875;fill:url(#linearGradient18009);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-300.89233"
+       y="76.257271"
+       id="rect17549"
+       style="opacity:0.46875;fill:url(#linearGradient18007);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.53769"
+       y="90.623589"
+       id="rect17551"
+       style="opacity:0.1875;fill:url(#linearGradient18005);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-241.34969"
+       y="97.305748"
+       id="rect17553"
+       style="opacity:0.1875;fill:url(#linearGradient18003);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-232.20572"
+       y="82.862694"
+       id="rect17555"
+       style="opacity:0.1875;fill:url(#linearGradient18001);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.24118"
+       y="79.64772"
+       id="rect17557"
+       style="opacity:0.46875;fill:url(#linearGradient17999);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.40161"
+       y="79.395935"
+       id="rect17559"
+       style="opacity:0.46875;fill:url(#linearGradient17997);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.42935"
+       y="74.803711"
+       id="rect17561"
+       style="opacity:0.46875;fill:url(#linearGradient17995);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.61072"
+       y="62.135342"
+       id="rect17563"
+       style="opacity:0.1875;fill:url(#linearGradient17993);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.80521"
+       y="84.323967"
+       id="rect17565"
+       style="opacity:0.1875;fill:url(#linearGradient17991);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-281.46295"
+       y="66.882637"
+       id="rect17567"
+       style="opacity:0.1875;fill:url(#linearGradient17989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-266.34781"
+       y="83.370567"
+       id="rect17569"
+       style="opacity:0.46875;fill:url(#linearGradient17987);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.62222"
+       y="67.94989"
+       id="rect17571"
+       style="opacity:0.46875;fill:url(#linearGradient17985);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-270.8093"
+       y="82.059044"
+       id="rect17573"
+       style="opacity:0.46875;fill:url(#linearGradient17983);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.76419"
+       y="60.068611"
+       id="rect17575"
+       style="opacity:0.1875;fill:url(#linearGradient17981);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-263.74551"
+       y="87.762344"
+       id="rect17577"
+       style="opacity:0.1875;fill:url(#linearGradient17979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-252.63034"
+       y="77.666779"
+       id="rect17579"
+       style="opacity:0.1875;fill:url(#linearGradient17977);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.99472"
+       y="76.894325"
+       id="rect17581"
+       style="opacity:0.46875;fill:url(#linearGradient17975);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-272.5246"
+       y="107.37724"
+       id="rect17583"
+       style="opacity:0.46875;fill:url(#linearGradient17973);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.39462"
+       y="106.59368"
+       id="rect17585"
+       style="opacity:0.46875;fill:url(#linearGradient17971);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-301.20239"
+       y="77.640099"
+       id="rect17587"
+       style="opacity:0.1875;fill:url(#linearGradient17969);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.29407"
+       y="60.569847"
+       id="rect17589"
+       style="opacity:0.1875;fill:url(#linearGradient17967);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-232.78375"
+       y="88.356277"
+       id="rect17591"
+       style="opacity:0.1875;fill:url(#linearGradient17965);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.27098"
+       y="96.711983"
+       id="rect17593"
+       style="opacity:0.46875;fill:url(#linearGradient17963);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.9855"
+       y="79.303299"
+       id="rect17595"
+       style="opacity:0.46875;fill:url(#linearGradient17961);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-284.22263"
+       y="87.287857"
+       id="rect17597"
+       style="opacity:0.46875;fill:url(#linearGradient17959);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.8721"
+       y="70.975586"
+       id="rect17599"
+       style="opacity:0.1875;fill:url(#linearGradient17957);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.66968"
+       y="76.547577"
+       id="rect17601"
+       style="opacity:0.1875;fill:url(#linearGradient17955);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-225.74731"
+       y="68.751762"
+       id="rect17603"
+       style="opacity:0.1875;fill:url(#linearGradient17953);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.60339"
+       y="72.070457"
+       id="rect17605"
+       style="opacity:0.46875;fill:url(#linearGradient17951);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-295.67972"
+       y="72.224846"
+       id="rect17607"
+       style="opacity:0.46875;fill:url(#linearGradient17949);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-261.53369"
+       y="66.220589"
+       id="rect17609"
+       style="opacity:0.46875;fill:url(#linearGradient17947);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.48569"
+       y="70.287376"
+       id="rect17611"
+       style="opacity:0.1875;fill:url(#linearGradient17945);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.71796"
+       y="106.46072"
+       id="rect17613"
+       style="opacity:0.1875;fill:url(#linearGradient17943);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.57463"
+       y="65.69442"
+       id="rect17615"
+       style="opacity:0.1875;fill:url(#linearGradient17941);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-248.38248"
+       y="92.94561"
+       id="rect17617"
+       style="opacity:0.46875;fill:url(#linearGradient17939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.62196"
+       y="110.52157"
+       id="rect17619"
+       style="opacity:0.46875;fill:url(#linearGradient17937);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-263.71622"
+       y="67.948135"
+       id="rect17621"
+       style="opacity:0.46875;fill:url(#linearGradient17935);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-304.85336"
+       y="87.741013"
+       id="rect17623"
+       style="opacity:0.1875;fill:url(#linearGradient17933);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.97302"
+       y="72.193329"
+       id="rect17625"
+       style="opacity:0.1875;fill:url(#linearGradient17931);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-268.71017"
+       y="65.334404"
+       id="rect17627"
+       style="opacity:0.1875;fill:url(#linearGradient17929);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-217.20427"
+       y="98.32988"
+       id="rect17629"
+       style="opacity:0.46875;fill:url(#linearGradient17927);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.47168"
+       y="108.77326"
+       id="rect17631"
+       style="opacity:0.46875;fill:url(#linearGradient25071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-238.04443"
+       y="82.517944"
+       id="rect17633"
+       style="opacity:0.46875;fill:url(#linearGradient25073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.30357"
+       y="108.89568"
+       id="rect17635"
+       style="opacity:0.1875;fill:url(#linearGradient25075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.16194"
+       y="84.146629"
+       id="rect17637"
+       style="opacity:0.1875;fill:url(#linearGradient25077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-273.72382"
+       y="64.275902"
+       id="rect17639"
+       style="opacity:0.1875;fill:url(#linearGradient25079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-228.20195"
+       y="109.68244"
+       id="rect17641"
+       style="opacity:0.46875;fill:url(#linearGradient25081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.8898"
+       y="63.208668"
+       id="rect17643"
+       style="opacity:0.46875;fill:url(#linearGradient25083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-293.91269"
+       y="98.313393"
+       id="rect17645"
+       style="opacity:0.46875;fill:url(#linearGradient25085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.66534"
+       y="85.114136"
+       id="rect17647"
+       style="opacity:0.1875;fill:url(#linearGradient25087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.74916"
+       y="66.932426"
+       id="rect17649"
+       style="opacity:0.1875;fill:url(#linearGradient25089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-296.73309"
+       y="77.135086"
+       id="rect17651"
+       style="opacity:0.1875;fill:url(#linearGradient25091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.95505"
+       y="62.283104"
+       id="rect17653"
+       style="opacity:0.46875;fill:url(#linearGradient25093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.14812"
+       y="87.140076"
+       id="rect17655"
+       style="opacity:0.46875;fill:url(#linearGradient25095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-271.00018"
+       y="55.974785"
+       id="rect17657"
+       style="opacity:0.46875;fill:url(#linearGradient25097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.79782"
+       y="102.01984"
+       id="rect17659"
+       style="opacity:0.1875;fill:url(#linearGradient25099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-248.791"
+       y="61.252872"
+       id="rect17661"
+       style="opacity:0.1875;fill:url(#linearGradient25101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.85733"
+       y="63.683193"
+       id="rect17663"
+       style="opacity:0.1875;fill:url(#linearGradient25103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.50882"
+       y="101.78488"
+       id="rect17665"
+       style="opacity:0.46875;fill:url(#linearGradient25105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-240.83641"
+       y="77.041458"
+       id="rect17667"
+       style="opacity:0.46875;fill:url(#linearGradient25107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-244.76694"
+       y="95.283287"
+       id="rect17669"
+       style="opacity:0.46875;fill:url(#linearGradient25109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.42992"
+       y="55.774399"
+       id="rect17671"
+       style="opacity:0.1875;fill:url(#linearGradient25111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.80057"
+       y="101.06035"
+       id="rect17673"
+       style="opacity:0.1875;fill:url(#linearGradient25113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-298.56604"
+       y="109.198"
+       id="rect17675"
+       style="opacity:0.1875;fill:url(#linearGradient25115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.48489"
+       y="107.00368"
+       id="rect17677"
+       style="opacity:0.46875;fill:url(#linearGradient25117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.83386"
+       y="66.630585"
+       id="rect17679"
+       style="opacity:0.46875;fill:url(#linearGradient25119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-277.42801"
+       y="66.899437"
+       id="rect17681"
+       style="opacity:0.46875;fill:url(#linearGradient25121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.09375"
+       y="56.061657"
+       id="rect17683"
+       style="opacity:0.1875;fill:url(#linearGradient25123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.44736"
+       y="68.035645"
+       id="rect17685"
+       style="opacity:0.1875;fill:url(#linearGradient25125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-228.10535"
+       y="55.856274"
+       id="rect17687"
+       style="opacity:0.1875;fill:url(#linearGradient25127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.00189"
+       y="86.851196"
+       id="rect17689"
+       style="opacity:0.46875;fill:url(#linearGradient25129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.19824"
+       y="110.05563"
+       id="rect17691"
+       style="opacity:0.46875;fill:url(#linearGradient25131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-287.13065"
+       y="60.523964"
+       id="rect17693"
+       style="opacity:0.46875;fill:url(#linearGradient25133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-253.95091"
+       y="103.54987"
+       id="rect17695"
+       style="opacity:0.1875;fill:url(#linearGradient25135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.0334"
+       y="88.186096"
+       id="rect17697"
+       style="opacity:0.1875;fill:url(#linearGradient25137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-265.44974"
+       y="94.422592"
+       id="rect17699"
+       style="opacity:0.1875;fill:url(#linearGradient25139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-279.04202"
+       y="103.96825"
+       id="rect17701"
+       style="opacity:0.46875;fill:url(#linearGradient25141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-285.09955"
+       y="84.472305"
+       id="rect17703"
+       style="opacity:0.46875;fill:url(#linearGradient25143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-294.48126"
+       y="101.18851"
+       id="rect17705"
+       style="opacity:0.46875;fill:url(#linearGradient25145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-272.41995"
+       y="90.168793"
+       id="rect17707"
+       style="opacity:0.1875;fill:url(#linearGradient25147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.17566"
+       y="99.90905"
+       id="rect17709"
+       style="opacity:0.1875;fill:url(#linearGradient25149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-272.65631"
+       y="86.153412"
+       id="rect17711"
+       style="opacity:0.1875;fill:url(#linearGradient25151);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.19516"
+       y="79.081665"
+       id="rect17713"
+       style="opacity:0.46875;fill:url(#linearGradient25153);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.97839"
+       y="67.344398"
+       id="rect17715"
+       style="opacity:0.46875;fill:url(#linearGradient25155);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-305.65546"
+       y="93.259796"
+       id="rect17717"
+       style="opacity:0.46875;fill:url(#linearGradient25157);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-291.2243"
+       y="88.690613"
+       id="rect17719"
+       style="opacity:0.1875;fill:url(#linearGradient25159);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.58456"
+       y="59.647064"
+       id="rect17721"
+       style="opacity:0.1875;fill:url(#linearGradient25161);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-253.12515"
+       y="73.111664"
+       id="rect17723"
+       style="opacity:0.1875;fill:url(#linearGradient25163);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.59235"
+       y="91.303307"
+       id="rect17725"
+       style="opacity:0.46875;fill:url(#linearGradient25165);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.509"
+       y="67.325012"
+       id="rect17727"
+       style="opacity:0.46875;fill:url(#linearGradient25167);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-228.42133"
+       y="93.896034"
+       id="rect17729"
+       style="opacity:0.46875;fill:url(#linearGradient25169);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.88492"
+       y="90.879166"
+       id="rect17731"
+       style="opacity:0.1875;fill:url(#linearGradient25171);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-263.34952"
+       y="103.47399"
+       id="rect17733"
+       style="opacity:0.1875;fill:url(#linearGradient25173);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-272.96045"
+       y="106.24575"
+       id="rect17735"
+       style="opacity:0.1875;fill:url(#linearGradient25175);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.68954"
+       y="55.381527"
+       id="rect17737"
+       style="opacity:0.46875;fill:url(#linearGradient25177);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.11661"
+       y="89.104057"
+       id="rect17739"
+       style="opacity:0.46875;fill:url(#linearGradient25179);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-295.8905"
+       y="102.75126"
+       id="rect17741"
+       style="opacity:0.46875;fill:url(#linearGradient25181);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-224.67885"
+       y="81.184441"
+       id="rect17743"
+       style="opacity:0.1875;fill:url(#linearGradient25183);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.11703"
+       y="89.035004"
+       id="rect17745"
+       style="opacity:0.1875;fill:url(#linearGradient25185);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-295.9751"
+       y="100.35271"
+       id="rect17747"
+       style="opacity:0.1875;fill:url(#linearGradient25187);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.15137"
+       y="80.75869"
+       id="rect17749"
+       style="opacity:0.46875;fill:url(#linearGradient25189);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.43188"
+       y="77.223198"
+       id="rect17751"
+       style="opacity:0.46875;fill:url(#linearGradient25191);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-289.05075"
+       y="72.696106"
+       id="rect17753"
+       style="opacity:0.46875;fill:url(#linearGradient25193);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.19749"
+       y="106.62489"
+       id="rect17755"
+       style="opacity:0.1875;fill:url(#linearGradient25195);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.13745"
+       y="69.633575"
+       id="rect17757"
+       style="opacity:0.1875;fill:url(#linearGradient25197);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.53471"
+       y="62.632496"
+       id="rect17759"
+       style="opacity:0.1875;fill:url(#linearGradient25199);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.95056"
+       y="85.574959"
+       id="rect17761"
+       style="opacity:0.46875;fill:url(#linearGradient25201);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.36328"
+       y="101.6518"
+       id="rect17763"
+       style="opacity:0.46875;fill:url(#linearGradient25203);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-286.15607"
+       y="92.363571"
+       id="rect17765"
+       style="opacity:0.46875;fill:url(#linearGradient25205);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.91437"
+       y="102.87209"
+       id="rect17767"
+       style="opacity:0.1875;fill:url(#linearGradient25207);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.12769"
+       y="68.443901"
+       id="rect17769"
+       style="opacity:0.1875;fill:url(#linearGradient25209);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-277.91699"
+       y="81.518745"
+       id="rect17771"
+       style="opacity:0.1875;fill:url(#linearGradient25211);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-225.47676"
+       y="99.235146"
+       id="rect17773"
+       style="opacity:0.46875;fill:url(#linearGradient25213);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.99631"
+       y="104.32848"
+       id="rect17775"
+       style="opacity:0.46875;fill:url(#linearGradient25215);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-277.45819"
+       y="96.042809"
+       id="rect17777"
+       style="opacity:0.46875;fill:url(#linearGradient25217);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.11304"
+       y="91.464439"
+       id="rect18151"
+       style="opacity:0.1875;fill:url(#linearGradient25219);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.72809"
+       y="57.985466"
+       id="rect18153"
+       style="opacity:0.1875;fill:url(#linearGradient25221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-274.04907"
+       y="92.447624"
+       id="rect18155"
+       style="opacity:0.1875;fill:url(#linearGradient25223);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.48605"
+       y="87.082649"
+       id="rect18157"
+       style="opacity:0.46875;fill:url(#linearGradient25225);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-225.46774"
+       y="71.132614"
+       id="rect18159"
+       style="opacity:0.46875;fill:url(#linearGradient25227);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-294.54868"
+       y="69.479034"
+       id="rect18161"
+       style="opacity:0.46875;fill:url(#linearGradient25229);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.54684"
+       y="71.409157"
+       id="rect18163"
+       style="opacity:0.1875;fill:url(#linearGradient25231);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.44562"
+       y="88.801552"
+       id="rect18165"
+       style="opacity:0.1875;fill:url(#linearGradient25233);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-260.61575"
+       y="79.20295"
+       id="rect18167"
+       style="opacity:0.1875;fill:url(#linearGradient25235);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.08376"
+       y="67.184708"
+       id="rect18169"
+       style="opacity:0.46875;fill:url(#linearGradient25237);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-225.26695"
+       y="68.254173"
+       id="rect18171"
+       style="opacity:0.46875;fill:url(#linearGradient25239);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-295.67917"
+       y="88.566643"
+       id="rect18173"
+       style="opacity:0.46875;fill:url(#linearGradient25241);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-221.37273"
+       y="61.108807"
+       id="rect18175"
+       style="opacity:0.1875;fill:url(#linearGradient25243);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-272.89822"
+       y="107.33531"
+       id="rect18177"
+       style="opacity:0.1875;fill:url(#linearGradient25245);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-276.91226"
+       y="76.051247"
+       id="rect18179"
+       style="opacity:0.1875;fill:url(#linearGradient25247);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-262.29782"
+       y="97.771523"
+       id="rect18181"
+       style="opacity:0.46875;fill:url(#linearGradient25249);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.38615"
+       y="90.817757"
+       id="rect18183"
+       style="opacity:0.46875;fill:url(#linearGradient25251);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-261.09634"
+       y="77.677231"
+       id="rect18185"
+       style="opacity:0.46875;fill:url(#linearGradient25253);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.38574"
+       y="62.671509"
+       id="rect18187"
+       style="opacity:0.1875;fill:url(#linearGradient25255);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.63821"
+       y="75.019676"
+       id="rect18189"
+       style="opacity:0.1875;fill:url(#linearGradient25257);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-276.96573"
+       y="58.94054"
+       id="rect18191"
+       style="opacity:0.1875;fill:url(#linearGradient25259);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.89044"
+       y="63.18137"
+       id="rect18193"
+       style="opacity:0.46875;fill:url(#linearGradient25261);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.22519"
+       y="85.285896"
+       id="rect18195"
+       style="opacity:0.46875;fill:url(#linearGradient25263);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-277.96872"
+       y="86.968376"
+       id="rect18197"
+       style="opacity:0.46875;fill:url(#linearGradient25265);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.8423"
+       y="111.32892"
+       id="rect18199"
+       style="opacity:0.1875;fill:url(#linearGradient25267);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.47272"
+       y="110.46347"
+       id="rect18201"
+       style="opacity:0.1875;fill:url(#linearGradient25269);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-261.92764"
+       y="74.383469"
+       id="rect18203"
+       style="opacity:0.1875;fill:url(#linearGradient25271);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.07919"
+       y="84.876595"
+       id="rect18205"
+       style="opacity:0.46875;fill:url(#linearGradient25273);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.95041"
+       y="86.066269"
+       id="rect18207"
+       style="opacity:0.46875;fill:url(#linearGradient25275);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-270.95801"
+       y="92.406303"
+       id="rect18209"
+       style="opacity:0.46875;fill:url(#linearGradient25277);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.59933"
+       y="70.233521"
+       id="rect18211"
+       style="opacity:0.1875;fill:url(#linearGradient25279);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.10513"
+       y="80.002182"
+       id="rect18213"
+       style="opacity:0.1875;fill:url(#linearGradient25281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-226.47241"
+       y="95.684586"
+       id="rect18215"
+       style="opacity:0.1875;fill:url(#linearGradient25283);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.99527"
+       y="99.055901"
+       id="rect18217"
+       style="opacity:0.46875;fill:url(#linearGradient25285);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.02789"
+       y="85.807312"
+       id="rect18219"
+       style="opacity:0.46875;fill:url(#linearGradient25287);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-298.38324"
+       y="90.704887"
+       id="rect18221"
+       style="opacity:0.46875;fill:url(#linearGradient25289);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.76099"
+       y="62.290359"
+       id="rect18223"
+       style="opacity:0.1875;fill:url(#linearGradient25291);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.90051"
+       y="75.048828"
+       id="rect18225"
+       style="opacity:0.1875;fill:url(#linearGradient25293);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-241.98842"
+       y="90.335617"
+       id="rect18227"
+       style="opacity:0.1875;fill:url(#linearGradient25295);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-270.44897"
+       y="106.12038"
+       id="rect18229"
+       style="opacity:0.46875;fill:url(#linearGradient25297);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.91562"
+       y="92.317909"
+       id="rect18231"
+       style="opacity:0.46875;fill:url(#linearGradient25299);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.61569"
+       y="100.5391"
+       id="rect18233"
+       style="opacity:0.46875;fill:url(#linearGradient25301);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.33392"
+       y="63.624489"
+       id="rect18235"
+       style="opacity:0.1875;fill:url(#linearGradient25303);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.36273"
+       y="72.056847"
+       id="rect18237"
+       style="opacity:0.1875;fill:url(#linearGradient25305);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-280.8735"
+       y="110.21268"
+       id="rect18239"
+       style="opacity:0.1875;fill:url(#linearGradient25307);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.63394"
+       y="74.366173"
+       id="rect18241"
+       style="opacity:0.46875;fill:url(#linearGradient25309);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.0997"
+       y="79.780212"
+       id="rect18243"
+       style="opacity:0.46875;fill:url(#linearGradient25311);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-270.09283"
+       y="101.99254"
+       id="rect18245"
+       style="opacity:0.46875;fill:url(#linearGradient25313);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.76373"
+       y="109.07452"
+       id="rect18247"
+       style="opacity:0.1875;fill:url(#linearGradient25315);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.97629"
+       y="98.64402"
+       id="rect18249"
+       style="opacity:0.1875;fill:url(#linearGradient25317);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-279.63684"
+       y="89.344994"
+       id="rect18251"
+       style="opacity:0.1875;fill:url(#linearGradient25319);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.27385"
+       y="81.641121"
+       id="rect18253"
+       style="opacity:0.46875;fill:url(#linearGradient25321);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.25494"
+       y="109.51963"
+       id="rect18255"
+       style="opacity:0.46875;fill:url(#linearGradient25323);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.37708"
+       y="108.9928"
+       id="rect18257"
+       style="opacity:0.46875;fill:url(#linearGradient25325);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.19186"
+       y="110.50214"
+       id="rect18259"
+       style="opacity:0.1875;fill:url(#linearGradient25327);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.0481"
+       y="93.95919"
+       id="rect18261"
+       style="opacity:0.1875;fill:url(#linearGradient25329);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.78215"
+       y="66.527237"
+       id="rect18263"
+       style="opacity:0.1875;fill:url(#linearGradient25331);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.03275"
+       y="86.100006"
+       id="rect18265"
+       style="opacity:0.46875;fill:url(#linearGradient25333);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.62799"
+       y="104.80125"
+       id="rect18267"
+       style="opacity:0.46875;fill:url(#linearGradient25335);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-251.83594"
+       y="70.125221"
+       id="rect18269"
+       style="opacity:0.46875;fill:url(#linearGradient25337);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-270.16574"
+       y="84.331985"
+       id="rect18271"
+       style="opacity:0.1875;fill:url(#linearGradient25339);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.98331"
+       y="96.91481"
+       id="rect18273"
+       style="opacity:0.1875;fill:url(#linearGradient25341);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-231.74715"
+       y="78.689095"
+       id="rect18275"
+       style="opacity:0.1875;fill:url(#linearGradient25343);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.39941"
+       y="59.077904"
+       id="rect18277"
+       style="opacity:0.46875;fill:url(#linearGradient25345);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.0076"
+       y="95.745003"
+       id="rect18279"
+       style="opacity:0.46875;fill:url(#linearGradient25347);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-304.77591"
+       y="102.81136"
+       id="rect18281"
+       style="opacity:0.46875;fill:url(#linearGradient25349);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.87979"
+       y="69.811943"
+       id="rect18283"
+       style="opacity:0.1875;fill:url(#linearGradient25351);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.16574"
+       y="87.382187"
+       id="rect18285"
+       style="opacity:0.1875;fill:url(#linearGradient25353);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-270.87027"
+       y="92.79483"
+       id="rect18287"
+       style="opacity:0.1875;fill:url(#linearGradient25355);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.38815"
+       y="90.872025"
+       id="rect18289"
+       style="opacity:0.46875;fill:url(#linearGradient25357);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.0155"
+       y="79.296844"
+       id="rect18291"
+       style="opacity:0.46875;fill:url(#linearGradient25359);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-242.74591"
+       y="104.70981"
+       id="rect18293"
+       style="opacity:0.46875;fill:url(#linearGradient25361);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-240.28142"
+       y="62.454266"
+       id="rect18295"
+       style="opacity:0.1875;fill:url(#linearGradient25363);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-285.72321"
+       y="60.415363"
+       id="rect18297"
+       style="opacity:0.1875;fill:url(#linearGradient25365);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-251.50877"
+       y="107.67831"
+       id="rect18299"
+       style="opacity:0.1875;fill:url(#linearGradient25367);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-270.79721"
+       y="90.158287"
+       id="rect18301"
+       style="opacity:0.46875;fill:url(#linearGradient25369);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.21603"
+       y="76.256042"
+       id="rect18303"
+       style="opacity:0.46875;fill:url(#linearGradient25371);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-282.3176"
+       y="104.62031"
+       id="rect18305"
+       style="opacity:0.46875;fill:url(#linearGradient25373);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-222.24321"
+       y="75.208"
+       id="rect18307"
+       style="opacity:0.1875;fill:url(#linearGradient25375);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-254.33498"
+       y="99.272896"
+       id="rect18309"
+       style="opacity:0.1875;fill:url(#linearGradient25377);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-270.62555"
+       y="84.156494"
+       id="rect18311"
+       style="opacity:0.1875;fill:url(#linearGradient25379);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-249.17912"
+       y="97.841927"
+       id="rect18313"
+       style="opacity:0.46875;fill:url(#linearGradient25381);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.68881"
+       y="105.77716"
+       id="rect18315"
+       style="opacity:0.46875;fill:url(#linearGradient25383);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-290.20544"
+       y="62.652821"
+       id="rect18317"
+       style="opacity:0.46875;fill:url(#linearGradient25385);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.56491"
+       y="96.323288"
+       id="rect18319"
+       style="opacity:0.1875;fill:url(#linearGradient25387);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.96753"
+       y="55.495941"
+       id="rect18321"
+       style="opacity:0.1875;fill:url(#linearGradient25389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-292.63147"
+       y="68.193329"
+       id="rect18323"
+       style="opacity:0.1875;fill:url(#linearGradient25391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.42424"
+       y="66.986328"
+       id="rect18325"
+       style="opacity:0.46875;fill:url(#linearGradient25393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.0945"
+       y="93.264801"
+       id="rect18327"
+       style="opacity:0.46875;fill:url(#linearGradient25395);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-301.63403"
+       y="98.204636"
+       id="rect18329"
+       style="opacity:0.46875;fill:url(#linearGradient25397);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.23471"
+       y="74.236923"
+       id="rect18331"
+       style="opacity:0.1875;fill:url(#linearGradient25399);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.69228"
+       y="100.62784"
+       id="rect18333"
+       style="opacity:0.1875;fill:url(#linearGradient25401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.0683"
+       y="80.08036"
+       id="rect18335"
+       style="opacity:0.1875;fill:url(#linearGradient25403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-291.62607"
+       y="64.716675"
+       id="rect18337"
+       style="opacity:0.46875;fill:url(#linearGradient25405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.75874"
+       y="107.29673"
+       id="rect18339"
+       style="opacity:0.46875;fill:url(#linearGradient25407);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-232.67427"
+       y="99.356606"
+       id="rect18341"
+       style="opacity:0.46875;fill:url(#linearGradient25409);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.71683"
+       y="65.645309"
+       id="rect18343"
+       style="opacity:0.1875;fill:url(#linearGradient25411);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-272.67639"
+       y="74.896492"
+       id="rect18345"
+       style="opacity:0.1875;fill:url(#linearGradient25413);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-253.01279"
+       y="58.992363"
+       id="rect18347"
+       style="opacity:0.1875;fill:url(#linearGradient25415);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.80728"
+       y="94.758575"
+       id="rect18349"
+       style="opacity:0.46875;fill:url(#linearGradient25417);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.86696"
+       y="100.33606"
+       id="rect18351"
+       style="opacity:0.46875;fill:url(#linearGradient25419);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.45459"
+       y="104.54546"
+       id="rect18353"
+       style="opacity:0.46875;fill:url(#linearGradient25421);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-274.36459"
+       y="57.800591"
+       id="rect18355"
+       style="opacity:0.1875;fill:url(#linearGradient25423);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.97002"
+       y="98.724579"
+       id="rect18357"
+       style="opacity:0.1875;fill:url(#linearGradient25425);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-250.95309"
+       y="84.094955"
+       id="rect18359"
+       style="opacity:0.1875;fill:url(#linearGradient25427);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-240.06047"
+       y="110.67622"
+       id="rect18361"
+       style="opacity:0.46875;fill:url(#linearGradient25429);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-262.89478"
+       y="94.46965"
+       id="rect18363"
+       style="opacity:0.46875;fill:url(#linearGradient25431);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-237.35883"
+       y="83.683098"
+       id="rect18365"
+       style="opacity:0.46875;fill:url(#linearGradient25433);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.77145"
+       y="75.577515"
+       id="rect18367"
+       style="opacity:0.1875;fill:url(#linearGradient25435);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.45178"
+       y="95.948578"
+       id="rect18369"
+       style="opacity:0.1875;fill:url(#linearGradient25437);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.85594"
+       y="63.876396"
+       id="rect18371"
+       style="opacity:0.1875;fill:url(#linearGradient25439);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.77063"
+       y="72.637779"
+       id="rect18373"
+       style="opacity:0.46875;fill:url(#linearGradient25441);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.58069"
+       y="106.60091"
+       id="rect18375"
+       style="opacity:0.46875;fill:url(#linearGradient25443);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-268.90054"
+       y="60.200027"
+       id="rect18377"
+       style="opacity:0.46875;fill:url(#linearGradient25445);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-222.53291"
+       y="89.377716"
+       id="rect18379"
+       style="opacity:0.1875;fill:url(#linearGradient25447);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.34618"
+       y="83.512108"
+       id="rect18381"
+       style="opacity:0.1875;fill:url(#linearGradient25449);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-295.69232"
+       y="66.480316"
+       id="rect18383"
+       style="opacity:0.1875;fill:url(#linearGradient25451);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.35358"
+       y="69.703491"
+       id="rect18385"
+       style="opacity:0.46875;fill:url(#linearGradient25453);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.26117"
+       y="56.466759"
+       id="rect18387"
+       style="opacity:0.46875;fill:url(#linearGradient25455);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-242.90395"
+       y="81.527306"
+       id="rect18389"
+       style="opacity:0.46875;fill:url(#linearGradient25457);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.25595"
+       y="79.487236"
+       id="rect18391"
+       style="opacity:0.1875;fill:url(#linearGradient25459);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-238.13121"
+       y="88.470932"
+       id="rect18393"
+       style="opacity:0.1875;fill:url(#linearGradient25461);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-250.26227"
+       y="86.610855"
+       id="rect18395"
+       style="opacity:0.1875;fill:url(#linearGradient25463);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.04407"
+       y="91.484947"
+       id="rect18397"
+       style="opacity:0.46875;fill:url(#linearGradient25465);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-255.31018"
+       y="60.714272"
+       id="rect18399"
+       style="opacity:0.46875;fill:url(#linearGradient25467);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-250.26987"
+       y="76.319176"
+       id="rect18401"
+       style="opacity:0.46875;fill:url(#linearGradient25469);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.81497"
+       y="110.69751"
+       id="rect18403"
+       style="opacity:0.1875;fill:url(#linearGradient25471);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.56194"
+       y="83.316528"
+       id="rect18405"
+       style="opacity:0.1875;fill:url(#linearGradient25473);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-266.77362"
+       y="75.160622"
+       id="rect18407"
+       style="opacity:0.1875;fill:url(#linearGradient25475);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.95584"
+       y="89.178764"
+       id="rect18409"
+       style="opacity:0.46875;fill:url(#linearGradient25477);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-255.21521"
+       y="76.066673"
+       id="rect18411"
+       style="opacity:0.46875;fill:url(#linearGradient25479);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-299.20267"
+       y="110.82329"
+       id="rect18413"
+       style="opacity:0.46875;fill:url(#linearGradient25481);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.90068"
+       y="93.641579"
+       id="rect18415"
+       style="opacity:0.1875;fill:url(#linearGradient25483);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.98462"
+       y="63.597"
+       id="rect18417"
+       style="opacity:0.1875;fill:url(#linearGradient25485);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-259.41406"
+       y="77.615059"
+       id="rect18419"
+       style="opacity:0.1875;fill:url(#linearGradient25487);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.41394"
+       y="84.300209"
+       id="rect18421"
+       style="opacity:0.46875;fill:url(#linearGradient25489);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-248.11342"
+       y="100.78419"
+       id="rect18423"
+       style="opacity:0.46875;fill:url(#linearGradient25491);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-248.6394"
+       y="102.52259"
+       id="rect18425"
+       style="opacity:0.46875;fill:url(#linearGradient25493);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-223.46675"
+       y="64.784454"
+       id="rect18427"
+       style="opacity:0.1875;fill:url(#linearGradient25495);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.46829"
+       y="98.256683"
+       id="rect18429"
+       style="opacity:0.1875;fill:url(#linearGradient25497);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-249.84923"
+       y="102.14691"
+       id="rect18431"
+       style="opacity:0.1875;fill:url(#linearGradient25499);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.61346"
+       y="62.031593"
+       id="rect18433"
+       style="opacity:0.46875;fill:url(#linearGradient25501);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-301.99881"
+       y="81.942253"
+       id="rect18435"
+       style="opacity:0.46875;fill:url(#linearGradient25503);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.75516"
+       y="80.842926"
+       id="rect18437"
+       style="opacity:0.46875;fill:url(#linearGradient25505);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.5466"
+       y="83.51545"
+       id="rect18439"
+       style="opacity:0.1875;fill:url(#linearGradient25507);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.53737"
+       y="67.027702"
+       id="rect18441"
+       style="opacity:0.1875;fill:url(#linearGradient25509);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.38284"
+       y="103.22467"
+       id="rect18443"
+       style="opacity:0.1875;fill:url(#linearGradient25511);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-224.94073"
+       y="62.307873"
+       id="rect18445"
+       style="opacity:0.46875;fill:url(#linearGradient25513);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.1153"
+       y="78.606285"
+       id="rect18447"
+       style="opacity:0.46875;fill:url(#linearGradient25515);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-272.53516"
+       y="98.190308"
+       id="rect18449"
+       style="opacity:0.46875;fill:url(#linearGradient25517);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-228.46397"
+       y="68.309998"
+       id="rect18451"
+       style="opacity:0.1875;fill:url(#linearGradient25519);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.96036"
+       y="68.613037"
+       id="rect18453"
+       style="opacity:0.1875;fill:url(#linearGradient25521);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.97824"
+       y="70.057411"
+       id="rect18455"
+       style="opacity:0.1875;fill:url(#linearGradient25523);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.00824"
+       y="107.40057"
+       id="rect18457"
+       style="opacity:0.46875;fill:url(#linearGradient25525);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.42072"
+       y="109.3634"
+       id="rect18459"
+       style="opacity:0.46875;fill:url(#linearGradient25527);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-292.83664"
+       y="65.596466"
+       id="rect18461"
+       style="opacity:0.46875;fill:url(#linearGradient25529);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-222.58488"
+       y="86.885582"
+       id="rect18463"
+       style="opacity:0.1875;fill:url(#linearGradient25531);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.64371"
+       y="81.863777"
+       id="rect18465"
+       style="opacity:0.1875;fill:url(#linearGradient25533);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-301.68872"
+       y="98.258194"
+       id="rect18467"
+       style="opacity:0.1875;fill:url(#linearGradient25535);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.73193"
+       y="57.614296"
+       id="rect18469"
+       style="opacity:0.46875;fill:url(#linearGradient25537);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.63004"
+       y="84.332832"
+       id="rect18471"
+       style="opacity:0.46875;fill:url(#linearGradient25539);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-238.7637"
+       y="69.674995"
+       id="rect18473"
+       style="opacity:0.46875;fill:url(#linearGradient25541);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.64343"
+       y="82.495186"
+       id="rect18475"
+       style="opacity:0.1875;fill:url(#linearGradient25543);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.85864"
+       y="59.185127"
+       id="rect18477"
+       style="opacity:0.1875;fill:url(#linearGradient25545);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-271.09042"
+       y="74.726555"
+       id="rect18479"
+       style="opacity:0.1875;fill:url(#linearGradient25547);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-270.59351"
+       y="73.606941"
+       id="rect18481"
+       style="opacity:0.46875;fill:url(#linearGradient25549);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.58517"
+       y="55.815166"
+       id="rect18483"
+       style="opacity:0.46875;fill:url(#linearGradient25551);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-273.51108"
+       y="80.653122"
+       id="rect18485"
+       style="opacity:0.46875;fill:url(#linearGradient25553);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-263.96866"
+       y="89.247513"
+       id="rect18487"
+       style="opacity:0.1875;fill:url(#linearGradient25555);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-266.88388"
+       y="80.690773"
+       id="rect18489"
+       style="opacity:0.1875;fill:url(#linearGradient25557);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-290.79605"
+       y="110.67844"
+       id="rect18491"
+       style="opacity:0.1875;fill:url(#linearGradient25559);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.51732"
+       y="75.380501"
+       id="rect18493"
+       style="opacity:0.46875;fill:url(#linearGradient25561);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.51567"
+       y="103.38647"
+       id="rect18495"
+       style="opacity:0.46875;fill:url(#linearGradient25563);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.96869"
+       y="56.758343"
+       id="rect18497"
+       style="opacity:0.46875;fill:url(#linearGradient25565);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.85594"
+       y="102.63554"
+       id="rect18499"
+       style="opacity:0.1875;fill:url(#linearGradient25567);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.52267"
+       y="109.84169"
+       id="rect18501"
+       style="opacity:0.1875;fill:url(#linearGradient25569);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-227.80392"
+       y="95.125671"
+       id="rect18503"
+       style="opacity:0.1875;fill:url(#linearGradient25571);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.16461"
+       y="77.213577"
+       id="rect18505"
+       style="opacity:0.46875;fill:url(#linearGradient25573);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.90277"
+       y="95.847725"
+       id="rect18507"
+       style="opacity:0.46875;fill:url(#linearGradient25575);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-255.6911"
+       y="76.100128"
+       id="rect18509"
+       style="opacity:0.46875;fill:url(#linearGradient25577);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-249.52742"
+       y="102.68053"
+       id="rect18511"
+       style="opacity:0.1875;fill:url(#linearGradient25579);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.22385"
+       y="67.563797"
+       id="rect18513"
+       style="opacity:0.1875;fill:url(#linearGradient25581);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-284.05579"
+       y="85.764542"
+       id="rect18515"
+       style="opacity:0.1875;fill:url(#linearGradient25583);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.3392"
+       y="60.742577"
+       id="rect18517"
+       style="opacity:0.46875;fill:url(#linearGradient25585);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.12518"
+       y="68.472763"
+       id="rect18519"
+       style="opacity:0.46875;fill:url(#linearGradient25587);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-240.16914"
+       y="65.996407"
+       id="rect18521"
+       style="opacity:0.46875;fill:url(#linearGradient25589);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-218.75221"
+       y="86.193619"
+       id="rect18523"
+       style="opacity:0.1875;fill:url(#linearGradient25591);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-241.14877"
+       y="101.30114"
+       id="rect18525"
+       style="opacity:0.1875;fill:url(#linearGradient25593);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-272.47665"
+       y="88.885841"
+       id="rect18527"
+       style="opacity:0.1875;fill:url(#linearGradient25595);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-241.04015"
+       y="101.66671"
+       id="rect18529"
+       style="opacity:0.46875;fill:url(#linearGradient25597);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.33102"
+       y="58.575886"
+       id="rect18531"
+       style="opacity:0.46875;fill:url(#linearGradient25599);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.40578"
+       y="57.532642"
+       id="rect18533"
+       style="opacity:0.46875;fill:url(#linearGradient25601);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-221.9127"
+       y="57.526257"
+       id="rect18919"
+       style="opacity:0.1875;fill:url(#linearGradient25603);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.32135"
+       y="97.074615"
+       id="rect18921"
+       style="opacity:0.1875;fill:url(#linearGradient25605);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-263.4538"
+       y="66.162369"
+       id="rect18923"
+       style="opacity:0.1875;fill:url(#linearGradient25607);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-255.92183"
+       y="91.841202"
+       id="rect18925"
+       style="opacity:0.46875;fill:url(#linearGradient25609);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.95801"
+       y="62.992939"
+       id="rect18927"
+       style="opacity:0.46875;fill:url(#linearGradient25611);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-247.78813"
+       y="60.985554"
+       id="rect18929"
+       style="opacity:0.46875;fill:url(#linearGradient25613);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.08983"
+       y="85.340904"
+       id="rect18931"
+       style="opacity:0.1875;fill:url(#linearGradient25615);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.02982"
+       y="87.608078"
+       id="rect18933"
+       style="opacity:0.1875;fill:url(#linearGradient25617);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-254.55878"
+       y="66.718971"
+       id="rect18935"
+       style="opacity:0.1875;fill:url(#linearGradient25619);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.55739"
+       y="84.136307"
+       id="rect18937"
+       style="opacity:0.46875;fill:url(#linearGradient25621);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-241.86101"
+       y="83.323425"
+       id="rect18939"
+       style="opacity:0.46875;fill:url(#linearGradient25623);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-278.49765"
+       y="99.488594"
+       id="rect18941"
+       style="opacity:0.46875;fill:url(#linearGradient25625);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.55836"
+       y="100.24726"
+       id="rect18943"
+       style="opacity:0.1875;fill:url(#linearGradient25627);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.19774"
+       y="92.854179"
+       id="rect18945"
+       style="opacity:0.1875;fill:url(#linearGradient25629);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-276.54205"
+       y="61.351452"
+       id="rect18947"
+       style="opacity:0.1875;fill:url(#linearGradient25631);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.98083"
+       y="88.497482"
+       id="rect18949"
+       style="opacity:0.46875;fill:url(#linearGradient25633);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.63409"
+       y="99.553261"
+       id="rect18951"
+       style="opacity:0.46875;fill:url(#linearGradient25635);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-295.47437"
+       y="58.168949"
+       id="rect18953"
+       style="opacity:0.46875;fill:url(#linearGradient25637);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.33575"
+       y="86.500946"
+       id="rect18955"
+       style="opacity:0.1875;fill:url(#linearGradient25639);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.90872"
+       y="103.5072"
+       id="rect18957"
+       style="opacity:0.1875;fill:url(#linearGradient25641);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.78004"
+       y="72.946983"
+       id="rect18959"
+       style="opacity:0.1875;fill:url(#linearGradient25643);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.84477"
+       y="85.671165"
+       id="rect18961"
+       style="opacity:0.46875;fill:url(#linearGradient25645);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.55591"
+       y="89.883553"
+       id="rect18963"
+       style="opacity:0.46875;fill:url(#linearGradient25647);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-291.39258"
+       y="82.950401"
+       id="rect18965"
+       style="opacity:0.46875;fill:url(#linearGradient25649);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.30173"
+       y="75.114151"
+       id="rect18967"
+       style="opacity:0.1875;fill:url(#linearGradient25651);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.21027"
+       y="71.787895"
+       id="rect18969"
+       style="opacity:0.1875;fill:url(#linearGradient25653);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-255.39825"
+       y="100.81129"
+       id="rect18971"
+       style="opacity:0.1875;fill:url(#linearGradient25655);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-274.18207"
+       y="66.801216"
+       id="rect18973"
+       style="opacity:0.46875;fill:url(#linearGradient25657);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.54575"
+       y="94.54393"
+       id="rect18975"
+       style="opacity:0.46875;fill:url(#linearGradient25659);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-236.51776"
+       y="85.290855"
+       id="rect18977"
+       style="opacity:0.46875;fill:url(#linearGradient25661);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.5864"
+       y="71.016502"
+       id="rect18979"
+       style="opacity:0.1875;fill:url(#linearGradient25663);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.21921"
+       y="65.639832"
+       id="rect18981"
+       style="opacity:0.1875;fill:url(#linearGradient25665);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.79636"
+       y="63.71505"
+       id="rect18983"
+       style="opacity:0.1875;fill:url(#linearGradient25667);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.34283"
+       y="107.64001"
+       id="rect18985"
+       style="opacity:0.46875;fill:url(#linearGradient25669);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.38077"
+       y="99.69957"
+       id="rect18987"
+       style="opacity:0.46875;fill:url(#linearGradient25671);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-264.94934"
+       y="79.567955"
+       id="rect18989"
+       style="opacity:0.46875;fill:url(#linearGradient25673);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-270.47961"
+       y="106.71353"
+       id="rect18991"
+       style="opacity:0.1875;fill:url(#linearGradient25675);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.58325"
+       y="84.44001"
+       id="rect18993"
+       style="opacity:0.1875;fill:url(#linearGradient25677);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-271.00653"
+       y="101.09319"
+       id="rect18995"
+       style="opacity:0.1875;fill:url(#linearGradient25679);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.39656"
+       y="106.40167"
+       id="rect18997"
+       style="opacity:0.46875;fill:url(#linearGradient25681);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.76819"
+       y="70.810738"
+       id="rect18999"
+       style="opacity:0.46875;fill:url(#linearGradient25683);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-244.0509"
+       y="102.26338"
+       id="rect19001"
+       style="opacity:0.46875;fill:url(#linearGradient25685);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.00787"
+       y="93.647499"
+       id="rect19003"
+       style="opacity:0.1875;fill:url(#linearGradient25687);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.53571"
+       y="108.52261"
+       id="rect19005"
+       style="opacity:0.1875;fill:url(#linearGradient25689);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-250.90356"
+       y="63.263"
+       id="rect19007"
+       style="opacity:0.1875;fill:url(#linearGradient25691);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-238.44772"
+       y="90.823517"
+       id="rect19009"
+       style="opacity:0.46875;fill:url(#linearGradient25693);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.47687"
+       y="89.193001"
+       id="rect19011"
+       style="opacity:0.46875;fill:url(#linearGradient25695);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-272.64713"
+       y="62.666931"
+       id="rect19013"
+       style="opacity:0.46875;fill:url(#linearGradient25697);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.9185"
+       y="73.799789"
+       id="rect19015"
+       style="opacity:0.1875;fill:url(#linearGradient25699);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.84146"
+       y="86.224449"
+       id="rect19017"
+       style="opacity:0.1875;fill:url(#linearGradient25701);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-263.98773"
+       y="110.16738"
+       id="rect19019"
+       style="opacity:0.1875;fill:url(#linearGradient25703);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.17789"
+       y="94.973297"
+       id="rect19021"
+       style="opacity:0.46875;fill:url(#linearGradient25705);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.49565"
+       y="74.358421"
+       id="rect19023"
+       style="opacity:0.46875;fill:url(#linearGradient25707);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-290.55728"
+       y="95.373718"
+       id="rect19025"
+       style="opacity:0.46875;fill:url(#linearGradient25709);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.83374"
+       y="90.887688"
+       id="rect19027"
+       style="opacity:0.1875;fill:url(#linearGradient25711);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.96057"
+       y="94.594093"
+       id="rect19029"
+       style="opacity:0.1875;fill:url(#linearGradient25713);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.0192"
+       y="91.37999"
+       id="rect19031"
+       style="opacity:0.1875;fill:url(#linearGradient25715);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-218.39069"
+       y="68.775909"
+       id="rect19033"
+       style="opacity:0.46875;fill:url(#linearGradient25717);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.06958"
+       y="103.01775"
+       id="rect19035"
+       style="opacity:0.46875;fill:url(#linearGradient25719);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-303.51514"
+       y="76.4011"
+       id="rect19037"
+       style="opacity:0.46875;fill:url(#linearGradient25721);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-218.21619"
+       y="67.520676"
+       id="rect19039"
+       style="opacity:0.1875;fill:url(#linearGradient25723);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-279.83255"
+       y="84.320534"
+       id="rect19041"
+       style="opacity:0.1875;fill:url(#linearGradient25725);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-273.59525"
+       y="71.078278"
+       id="rect19043"
+       style="opacity:0.1875;fill:url(#linearGradient25727);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.35696"
+       y="86.638985"
+       id="rect19045"
+       style="opacity:0.46875;fill:url(#linearGradient25729);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.40378"
+       y="82.163078"
+       id="rect19047"
+       style="opacity:0.46875;fill:url(#linearGradient25731);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-264.71713"
+       y="82.552078"
+       id="rect19049"
+       style="opacity:0.46875;fill:url(#linearGradient25733);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.31723"
+       y="80.803482"
+       id="rect19051"
+       style="opacity:0.1875;fill:url(#linearGradient25735);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.43948"
+       y="78.776352"
+       id="rect19053"
+       style="opacity:0.1875;fill:url(#linearGradient25737);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-286.18832"
+       y="105.04062"
+       id="rect19055"
+       style="opacity:0.1875;fill:url(#linearGradient25739);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-287.76416"
+       y="69.334221"
+       id="rect19057"
+       style="opacity:0.46875;fill:url(#linearGradient25741);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.53604"
+       y="106.49574"
+       id="rect19059"
+       style="opacity:0.46875;fill:url(#linearGradient25743);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-250.6328"
+       y="95.204269"
+       id="rect19061"
+       style="opacity:0.46875;fill:url(#linearGradient25745);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.92119"
+       y="57.997192"
+       id="rect19063"
+       style="opacity:0.1875;fill:url(#linearGradient25747);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.89978"
+       y="108.55125"
+       id="rect19065"
+       style="opacity:0.1875;fill:url(#linearGradient25749);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-269.3967"
+       y="110.37301"
+       id="rect19067"
+       style="opacity:0.1875;fill:url(#linearGradient25751);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.70844"
+       y="69.12841"
+       id="rect19069"
+       style="opacity:0.46875;fill:url(#linearGradient25753);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.84006"
+       y="95.986496"
+       id="rect19071"
+       style="opacity:0.46875;fill:url(#linearGradient25755);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-244.98888"
+       y="103.69247"
+       id="rect19073"
+       style="opacity:0.46875;fill:url(#linearGradient25757);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.38586"
+       y="67.375679"
+       id="rect19075"
+       style="opacity:0.1875;fill:url(#linearGradient25759);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.78357"
+       y="70.102432"
+       id="rect19077"
+       style="opacity:0.1875;fill:url(#linearGradient25761);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-258.98303"
+       y="107.18321"
+       id="rect19079"
+       style="opacity:0.1875;fill:url(#linearGradient25763);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-221.54657"
+       y="74.298431"
+       id="rect19081"
+       style="opacity:0.46875;fill:url(#linearGradient25765);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.54166"
+       y="91.346199"
+       id="rect19083"
+       style="opacity:0.46875;fill:url(#linearGradient25767);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-296.13815"
+       y="80.275932"
+       id="rect19085"
+       style="opacity:0.46875;fill:url(#linearGradient25769);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.84622"
+       y="78.927689"
+       id="rect19087"
+       style="opacity:0.1875;fill:url(#linearGradient25771);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.49251"
+       y="104.74801"
+       id="rect19089"
+       style="opacity:0.1875;fill:url(#linearGradient25773);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-242.81819"
+       y="60.508629"
+       id="rect19091"
+       style="opacity:0.1875;fill:url(#linearGradient25775);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.77986"
+       y="84.047173"
+       id="rect19093"
+       style="opacity:0.46875;fill:url(#linearGradient25777);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.71603"
+       y="93.857674"
+       id="rect19095"
+       style="opacity:0.46875;fill:url(#linearGradient25779);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.01331"
+       y="68.597374"
+       id="rect19097"
+       style="opacity:0.46875;fill:url(#linearGradient25781);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.43222"
+       y="67.29528"
+       id="rect19099"
+       style="opacity:0.1875;fill:url(#linearGradient25783);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.39505"
+       y="75.4105"
+       id="rect19101"
+       style="opacity:0.1875;fill:url(#linearGradient25785);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-227.18639"
+       y="93.951813"
+       id="rect19103"
+       style="opacity:0.1875;fill:url(#linearGradient25787);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-279.88348"
+       y="66.440628"
+       id="rect19105"
+       style="opacity:0.46875;fill:url(#linearGradient25789);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.90556"
+       y="83.751076"
+       id="rect19107"
+       style="opacity:0.46875;fill:url(#linearGradient25791);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-243.24927"
+       y="64.618744"
+       id="rect19109"
+       style="opacity:0.46875;fill:url(#linearGradient25793);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.68109"
+       y="104.28016"
+       id="rect19111"
+       style="opacity:0.1875;fill:url(#linearGradient25795);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-262.19943"
+       y="89.530205"
+       id="rect19113"
+       style="opacity:0.1875;fill:url(#linearGradient25797);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-260.99399"
+       y="105.37378"
+       id="rect19115"
+       style="opacity:0.1875;fill:url(#linearGradient25799);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-270.28281"
+       y="60.801304"
+       id="rect19117"
+       style="opacity:0.46875;fill:url(#linearGradient25801);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-289.56076"
+       y="82.010605"
+       id="rect19119"
+       style="opacity:0.46875;fill:url(#linearGradient25803);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-247.97751"
+       y="82.576714"
+       id="rect19121"
+       style="opacity:0.46875;fill:url(#linearGradient25805);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.05029"
+       y="99.69252"
+       id="rect19123"
+       style="opacity:0.1875;fill:url(#linearGradient25807);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.12518"
+       y="56.092049"
+       id="rect19125"
+       style="opacity:0.1875;fill:url(#linearGradient25809);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-306.81729"
+       y="83.794304"
+       id="rect19127"
+       style="opacity:0.1875;fill:url(#linearGradient25811);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.71368"
+       y="105.04692"
+       id="rect19129"
+       style="opacity:0.46875;fill:url(#linearGradient25813);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.64838"
+       y="65.826553"
+       id="rect19131"
+       style="opacity:0.46875;fill:url(#linearGradient25815);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-243.96567"
+       y="64.875366"
+       id="rect19133"
+       style="opacity:0.46875;fill:url(#linearGradient25817);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.39728"
+       y="105.96532"
+       id="rect19135"
+       style="opacity:0.1875;fill:url(#linearGradient25819);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.63116"
+       y="84.33313"
+       id="rect19137"
+       style="opacity:0.1875;fill:url(#linearGradient25821);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-228.94666"
+       y="103.36714"
+       id="rect19139"
+       style="opacity:0.1875;fill:url(#linearGradient25823);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-272.03406"
+       y="72.169991"
+       id="rect19141"
+       style="opacity:0.46875;fill:url(#linearGradient25825);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.07004"
+       y="91.508087"
+       id="rect19143"
+       style="opacity:0.46875;fill:url(#linearGradient25827);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-290.74023"
+       y="65.295685"
+       id="rect19145"
+       style="opacity:0.46875;fill:url(#linearGradient25829);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.46622"
+       y="94.028046"
+       id="rect19147"
+       style="opacity:0.1875;fill:url(#linearGradient25831);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.63184"
+       y="100.02885"
+       id="rect19149"
+       style="opacity:0.1875;fill:url(#linearGradient25833);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.31564"
+       y="68.181747"
+       id="rect19151"
+       style="opacity:0.1875;fill:url(#linearGradient25835);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.37823"
+       y="80.158287"
+       id="rect19153"
+       style="opacity:0.46875;fill:url(#linearGradient25837);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.25195"
+       y="73.81916"
+       id="rect19155"
+       style="opacity:0.46875;fill:url(#linearGradient25839);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-250.21211"
+       y="72.697601"
+       id="rect19157"
+       style="opacity:0.46875;fill:url(#linearGradient25841);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.42764"
+       y="91.750961"
+       id="rect19159"
+       style="opacity:0.1875;fill:url(#linearGradient25843);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-287.2442"
+       y="84.52874"
+       id="rect19161"
+       style="opacity:0.1875;fill:url(#linearGradient25845);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-304.86484"
+       y="66.390846"
+       id="rect19163"
+       style="opacity:0.1875;fill:url(#linearGradient25847);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-225.04269"
+       y="107.95484"
+       id="rect19165"
+       style="opacity:0.46875;fill:url(#linearGradient25849);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.05286"
+       y="78.926689"
+       id="rect19167"
+       style="opacity:0.46875;fill:url(#linearGradient25851);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.63925"
+       y="107.33574"
+       id="rect19169"
+       style="opacity:0.46875;fill:url(#linearGradient25853);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.09424"
+       y="64.496719"
+       id="rect19171"
+       style="opacity:0.1875;fill:url(#linearGradient25855);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.27118"
+       y="70.296356"
+       id="rect19173"
+       style="opacity:0.1875;fill:url(#linearGradient25857);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-241.17659"
+       y="90.893532"
+       id="rect19175"
+       style="opacity:0.1875;fill:url(#linearGradient25859);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.24466"
+       y="62.413158"
+       id="rect19177"
+       style="opacity:0.46875;fill:url(#linearGradient25861);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.59363"
+       y="91.436836"
+       id="rect19179"
+       style="opacity:0.46875;fill:url(#linearGradient25863);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-296.57291"
+       y="92.877731"
+       id="rect19181"
+       style="opacity:0.46875;fill:url(#linearGradient25865);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-225.94574"
+       y="85.862312"
+       id="rect19183"
+       style="opacity:0.1875;fill:url(#linearGradient25867);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-285.98853"
+       y="63.901665"
+       id="rect19185"
+       style="opacity:0.1875;fill:url(#linearGradient25869);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-295.00256"
+       y="107.28114"
+       id="rect19187"
+       style="opacity:0.1875;fill:url(#linearGradient25871);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.86865"
+       y="89.48291"
+       id="rect19189"
+       style="opacity:0.46875;fill:url(#linearGradient25873);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.61465"
+       y="57.415867"
+       id="rect19191"
+       style="opacity:0.46875;fill:url(#linearGradient25875);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-254.48337"
+       y="84.216339"
+       id="rect19193"
+       style="opacity:0.46875;fill:url(#linearGradient25877);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.94864"
+       y="71.953529"
+       id="rect19195"
+       style="opacity:0.1875;fill:url(#linearGradient25879);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.51169"
+       y="68.122597"
+       id="rect19197"
+       style="opacity:0.1875;fill:url(#linearGradient25881);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.92078"
+       y="111.10387"
+       id="rect19199"
+       style="opacity:0.1875;fill:url(#linearGradient25883);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.40286"
+       y="63.712029"
+       id="rect19201"
+       style="opacity:0.46875;fill:url(#linearGradient25885);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.28314"
+       y="106.27374"
+       id="rect19203"
+       style="opacity:0.46875;fill:url(#linearGradient25887);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-263.1701"
+       y="55.287373"
+       id="rect19205"
+       style="opacity:0.46875;fill:url(#linearGradient25889);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-249.48601"
+       y="57.769218"
+       id="rect19207"
+       style="opacity:0.1875;fill:url(#linearGradient25891);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.46838"
+       y="77.377342"
+       id="rect19209"
+       style="opacity:0.1875;fill:url(#linearGradient25893);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-293.15372"
+       y="69.913437"
+       id="rect19211"
+       style="opacity:0.1875;fill:url(#linearGradient25895);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.19022"
+       y="65.70224"
+       id="rect19213"
+       style="opacity:0.46875;fill:url(#linearGradient25897);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.64978"
+       y="94.028038"
+       id="rect19215"
+       style="opacity:0.46875;fill:url(#linearGradient25899);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.81993"
+       y="97.112503"
+       id="rect19217"
+       style="opacity:0.46875;fill:url(#linearGradient25901);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.59576"
+       y="97.91346"
+       id="rect19219"
+       style="opacity:0.1875;fill:url(#linearGradient25903);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.39734"
+       y="98.881744"
+       id="rect19221"
+       style="opacity:0.1875;fill:url(#linearGradient25905);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-292.14093"
+       y="78.441406"
+       id="rect19223"
+       style="opacity:0.1875;fill:url(#linearGradient25907);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-304.33417"
+       y="55.983482"
+       id="rect19225"
+       style="opacity:0.46875;fill:url(#linearGradient25909);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.66583"
+       y="72.041855"
+       id="rect19227"
+       style="opacity:0.46875;fill:url(#linearGradient25911);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-304.92673"
+       y="70.234978"
+       id="rect19229"
+       style="opacity:0.46875;fill:url(#linearGradient25913);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.9696"
+       y="84.045815"
+       id="rect19231"
+       style="opacity:0.1875;fill:url(#linearGradient25915);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.9485"
+       y="110.36636"
+       id="rect19233"
+       style="opacity:0.1875;fill:url(#linearGradient25917);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.12448"
+       y="78.765671"
+       id="rect19235"
+       style="opacity:0.1875;fill:url(#linearGradient25919);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.93396"
+       y="66.957794"
+       id="rect19237"
+       style="opacity:0.46875;fill:url(#linearGradient25921);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-261.72153"
+       y="63.677078"
+       id="rect19239"
+       style="opacity:0.46875;fill:url(#linearGradient25923);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-234.16353"
+       y="106.5026"
+       id="rect19241"
+       style="opacity:0.46875;fill:url(#linearGradient25925);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.84259"
+       y="78.04248"
+       id="rect19243"
+       style="opacity:0.1875;fill:url(#linearGradient25927);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.24341"
+       y="97.765053"
+       id="rect19245"
+       style="opacity:0.1875;fill:url(#linearGradient25929);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-258.61215"
+       y="105.56336"
+       id="rect19247"
+       style="opacity:0.1875;fill:url(#linearGradient25931);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.03516"
+       y="103.79118"
+       id="rect19249"
+       style="opacity:0.46875;fill:url(#linearGradient25933);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.26445"
+       y="74.449562"
+       id="rect19251"
+       style="opacity:0.46875;fill:url(#linearGradient25935);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.85646"
+       y="68.907692"
+       id="rect19253"
+       style="opacity:0.46875;fill:url(#linearGradient25937);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.54657"
+       y="89.704041"
+       id="rect19255"
+       style="opacity:0.1875;fill:url(#linearGradient25939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.86136"
+       y="76.668816"
+       id="rect19257"
+       style="opacity:0.1875;fill:url(#linearGradient25941);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-285.42096"
+       y="61.806561"
+       id="rect19259"
+       style="opacity:0.1875;fill:url(#linearGradient25943);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.98203"
+       y="69.427635"
+       id="rect19261"
+       style="opacity:0.46875;fill:url(#linearGradient25945);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.41055"
+       y="85.174919"
+       id="rect19263"
+       style="opacity:0.46875;fill:url(#linearGradient25947);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.0016"
+       y="103.53281"
+       id="rect19265"
+       style="opacity:0.46875;fill:url(#linearGradient25949);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.7686"
+       y="75.559853"
+       id="rect19267"
+       style="opacity:0.1875;fill:url(#linearGradient25951);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.5695"
+       y="107.75644"
+       id="rect19269"
+       style="opacity:0.1875;fill:url(#linearGradient25953);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.72728"
+       y="105.42181"
+       id="rect19271"
+       style="opacity:0.1875;fill:url(#linearGradient25955);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.7652"
+       y="82.467445"
+       id="rect19273"
+       style="opacity:0.46875;fill:url(#linearGradient25957);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-253.38632"
+       y="95.402771"
+       id="rect19275"
+       style="opacity:0.46875;fill:url(#linearGradient25959);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-240.82684"
+       y="72.933113"
+       id="rect19277"
+       style="opacity:0.46875;fill:url(#linearGradient25961);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.04517"
+       y="93.536026"
+       id="rect19279"
+       style="opacity:0.1875;fill:url(#linearGradient25963);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-270.15546"
+       y="89.64119"
+       id="rect19281"
+       style="opacity:0.1875;fill:url(#linearGradient25965);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-267.89304"
+       y="66.820396"
+       id="rect19283"
+       style="opacity:0.1875;fill:url(#linearGradient25967);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-301.6131"
+       y="71.216759"
+       id="rect19285"
+       style="opacity:0.46875;fill:url(#linearGradient25969);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.00293"
+       y="94.547012"
+       id="rect19287"
+       style="opacity:0.46875;fill:url(#linearGradient25971);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-258.54749"
+       y="111.24785"
+       id="rect19289"
+       style="opacity:0.46875;fill:url(#linearGradient25973);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.9171"
+       y="75.402245"
+       id="rect19291"
+       style="opacity:0.1875;fill:url(#linearGradient25975);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.30652"
+       y="64.5979"
+       id="rect19293"
+       style="opacity:0.1875;fill:url(#linearGradient25977);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.15259"
+       y="109.60979"
+       id="rect19295"
+       style="opacity:0.1875;fill:url(#linearGradient25979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.30212"
+       y="103.83401"
+       id="rect19297"
+       style="opacity:0.46875;fill:url(#linearGradient25981);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-263.05688"
+       y="70.616966"
+       id="rect19299"
+       style="opacity:0.46875;fill:url(#linearGradient25983);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-240.5407"
+       y="108.18846"
+       id="rect19301"
+       style="opacity:0.46875;fill:url(#linearGradient25985);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-266.00439"
+       y="89.209114"
+       id="rect19687"
+       style="opacity:0.1875;fill:url(#linearGradient25987);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.96806"
+       y="93.906403"
+       id="rect19689"
+       style="opacity:0.1875;fill:url(#linearGradient25989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-271.9646"
+       y="71.037643"
+       id="rect19691"
+       style="opacity:0.1875;fill:url(#linearGradient25991);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.56036"
+       y="72.821198"
+       id="rect19693"
+       style="opacity:0.46875;fill:url(#linearGradient25993);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-240.60529"
+       y="60.0312"
+       id="rect19695"
+       style="opacity:0.46875;fill:url(#linearGradient25995);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.2816"
+       y="72.936653"
+       id="rect19697"
+       style="opacity:0.46875;fill:url(#linearGradient25997);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-285.78677"
+       y="56.41328"
+       id="rect19699"
+       style="opacity:0.1875;fill:url(#linearGradient25999);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-279.86523"
+       y="110.02824"
+       id="rect19701"
+       style="opacity:0.1875;fill:url(#linearGradient26001);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-228.45341"
+       y="55.875343"
+       id="rect19703"
+       style="opacity:0.1875;fill:url(#linearGradient26003);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.50208"
+       y="103.96443"
+       id="rect19705"
+       style="opacity:0.46875;fill:url(#linearGradient26005);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.84354"
+       y="67.604721"
+       id="rect19707"
+       style="opacity:0.46875;fill:url(#linearGradient26007);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-235.03075"
+       y="96.542793"
+       id="rect19709"
+       style="opacity:0.46875;fill:url(#linearGradient26009);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.05197"
+       y="77.771103"
+       id="rect19711"
+       style="opacity:0.1875;fill:url(#linearGradient26011);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-238.98514"
+       y="107.89761"
+       id="rect19713"
+       style="opacity:0.1875;fill:url(#linearGradient26013);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-270.06744"
+       y="100.2785"
+       id="rect19715"
+       style="opacity:0.1875;fill:url(#linearGradient26015);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.4613"
+       y="93.778717"
+       id="rect19717"
+       style="opacity:0.46875;fill:url(#linearGradient26017);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-274.2962"
+       y="110.55288"
+       id="rect19719"
+       style="opacity:0.46875;fill:url(#linearGradient26019);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-281.81448"
+       y="104.48936"
+       id="rect19721"
+       style="opacity:0.46875;fill:url(#linearGradient26021);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.3071"
+       y="90.755722"
+       id="rect19723"
+       style="opacity:0.1875;fill:url(#linearGradient26023);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.40009"
+       y="66.625076"
+       id="rect19725"
+       style="opacity:0.1875;fill:url(#linearGradient26025);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-274.82065"
+       y="61.598354"
+       id="rect19727"
+       style="opacity:0.1875;fill:url(#linearGradient26027);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-241.56587"
+       y="78.79348"
+       id="rect19729"
+       style="opacity:0.46875;fill:url(#linearGradient26029);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.73978"
+       y="109.59057"
+       id="rect19731"
+       style="opacity:0.46875;fill:url(#linearGradient26031);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.17905"
+       y="69.12339"
+       id="rect19733"
+       style="opacity:0.46875;fill:url(#linearGradient26033);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-216.81087"
+       y="69.328728"
+       id="rect19735"
+       style="opacity:0.1875;fill:url(#linearGradient26035);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.59779"
+       y="60.468842"
+       id="rect19737"
+       style="opacity:0.1875;fill:url(#linearGradient26037);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-292.39996"
+       y="69.177399"
+       id="rect19739"
+       style="opacity:0.1875;fill:url(#linearGradient26039);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-266.0867"
+       y="103.58194"
+       id="rect19741"
+       style="opacity:0.46875;fill:url(#linearGradient26041);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.35747"
+       y="97.591721"
+       id="rect19743"
+       style="opacity:0.46875;fill:url(#linearGradient26043);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-284.92908"
+       y="108.21365"
+       id="rect19745"
+       style="opacity:0.46875;fill:url(#linearGradient26045);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.70068"
+       y="94.988106"
+       id="rect19747"
+       style="opacity:0.1875;fill:url(#linearGradient26047);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.22475"
+       y="86.568611"
+       id="rect19749"
+       style="opacity:0.1875;fill:url(#linearGradient26049);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-225.897"
+       y="68.450813"
+       id="rect19751"
+       style="opacity:0.1875;fill:url(#linearGradient26051);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.28683"
+       y="105.07285"
+       id="rect19753"
+       style="opacity:0.46875;fill:url(#linearGradient26053);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.34781"
+       y="101.12499"
+       id="rect19755"
+       style="opacity:0.46875;fill:url(#linearGradient26055);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-260.66919"
+       y="72.771706"
+       id="rect19757"
+       style="opacity:0.46875;fill:url(#linearGradient26057);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.08136"
+       y="109.14403"
+       id="rect19759"
+       style="opacity:0.1875;fill:url(#linearGradient26059);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-266.47391"
+       y="56.483292"
+       id="rect19761"
+       style="opacity:0.1875;fill:url(#linearGradient26061);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-305.57245"
+       y="77.759392"
+       id="rect19763"
+       style="opacity:0.1875;fill:url(#linearGradient26063);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.63818"
+       y="84.989304"
+       id="rect19765"
+       style="opacity:0.46875;fill:url(#linearGradient26065);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-295.00952"
+       y="84.498077"
+       id="rect19767"
+       style="opacity:0.46875;fill:url(#linearGradient26067);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-301.5238"
+       y="87.767929"
+       id="rect19769"
+       style="opacity:0.46875;fill:url(#linearGradient26069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.25314"
+       y="107.81876"
+       id="rect19771"
+       style="opacity:0.1875;fill:url(#linearGradient26071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.9086"
+       y="92.5084"
+       id="rect19773"
+       style="opacity:0.1875;fill:url(#linearGradient26073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-294.40143"
+       y="68.458366"
+       id="rect19775"
+       style="opacity:0.1875;fill:url(#linearGradient26075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.85092"
+       y="65.466675"
+       id="rect19777"
+       style="opacity:0.46875;fill:url(#linearGradient26077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.8295"
+       y="68.729492"
+       id="rect19779"
+       style="opacity:0.46875;fill:url(#linearGradient26079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-263.39764"
+       y="58.76083"
+       id="rect19781"
+       style="opacity:0.46875;fill:url(#linearGradient26081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.33389"
+       y="91.26815"
+       id="rect19783"
+       style="opacity:0.1875;fill:url(#linearGradient26083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.94896"
+       y="82.49556"
+       id="rect19785"
+       style="opacity:0.1875;fill:url(#linearGradient26085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.46701"
+       y="75.851974"
+       id="rect19787"
+       style="opacity:0.1875;fill:url(#linearGradient26087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.13321"
+       y="72.279182"
+       id="rect19789"
+       style="opacity:0.46875;fill:url(#linearGradient26089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.7038"
+       y="106.88218"
+       id="rect19791"
+       style="opacity:0.46875;fill:url(#linearGradient26091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-241.86159"
+       y="71.95945"
+       id="rect19793"
+       style="opacity:0.46875;fill:url(#linearGradient26093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.88998"
+       y="66.489037"
+       id="rect19795"
+       style="opacity:0.1875;fill:url(#linearGradient26095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.97731"
+       y="90.453789"
+       id="rect19797"
+       style="opacity:0.1875;fill:url(#linearGradient26097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-285.25266"
+       y="74.747742"
+       id="rect19799"
+       style="opacity:0.1875;fill:url(#linearGradient26099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.03563"
+       y="65.806068"
+       id="rect19801"
+       style="opacity:0.46875;fill:url(#linearGradient26101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-253.26402"
+       y="74.816711"
+       id="rect19803"
+       style="opacity:0.46875;fill:url(#linearGradient26103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.60954"
+       y="70.76754"
+       id="rect19805"
+       style="opacity:0.46875;fill:url(#linearGradient26105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.31042"
+       y="82.344101"
+       id="rect19807"
+       style="opacity:0.1875;fill:url(#linearGradient26107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.2084"
+       y="90.807762"
+       id="rect19809"
+       style="opacity:0.1875;fill:url(#linearGradient26109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-239.56085"
+       y="74.873642"
+       id="rect19811"
+       style="opacity:0.1875;fill:url(#linearGradient26111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.24194"
+       y="108.07713"
+       id="rect19813"
+       style="opacity:0.46875;fill:url(#linearGradient26113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-254.00378"
+       y="94.862534"
+       id="rect19815"
+       style="opacity:0.46875;fill:url(#linearGradient26115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-289.65979"
+       y="88.722481"
+       id="rect19817"
+       style="opacity:0.46875;fill:url(#linearGradient26117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.76619"
+       y="104.99657"
+       id="rect19819"
+       style="opacity:0.1875;fill:url(#linearGradient26119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-295.69971"
+       y="99.441635"
+       id="rect19821"
+       style="opacity:0.1875;fill:url(#linearGradient26121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-300.08588"
+       y="55.394043"
+       id="rect19823"
+       style="opacity:0.1875;fill:url(#linearGradient26123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.71527"
+       y="89.729172"
+       id="rect19825"
+       style="opacity:0.46875;fill:url(#linearGradient26125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.57977"
+       y="87.39814"
+       id="rect19827"
+       style="opacity:0.46875;fill:url(#linearGradient26127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.60815"
+       y="61.057537"
+       id="rect19829"
+       style="opacity:0.46875;fill:url(#linearGradient26129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.3033"
+       y="93.364738"
+       id="rect19831"
+       style="opacity:0.1875;fill:url(#linearGradient26131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-291.2106"
+       y="109.53021"
+       id="rect19833"
+       style="opacity:0.1875;fill:url(#linearGradient26133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-240.3336"
+       y="95.752419"
+       id="rect19835"
+       style="opacity:0.1875;fill:url(#linearGradient26135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.09399"
+       y="108.47672"
+       id="rect19837"
+       style="opacity:0.46875;fill:url(#linearGradient26137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.98718"
+       y="56.313244"
+       id="rect19839"
+       style="opacity:0.46875;fill:url(#linearGradient26139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-250.88078"
+       y="66.299667"
+       id="rect19841"
+       style="opacity:0.46875;fill:url(#linearGradient26141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.43297"
+       y="98.155182"
+       id="rect19843"
+       style="opacity:0.1875;fill:url(#linearGradient26143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.12787"
+       y="56.134888"
+       id="rect19845"
+       style="opacity:0.1875;fill:url(#linearGradient26145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-306.90723"
+       y="99.438095"
+       id="rect19847"
+       style="opacity:0.1875;fill:url(#linearGradient26147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.72171"
+       y="108.76661"
+       id="rect19849"
+       style="opacity:0.46875;fill:url(#linearGradient26149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.49231"
+       y="66.532898"
+       id="rect19851"
+       style="opacity:0.46875;fill:url(#linearGradient26151);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-232.77087"
+       y="79.516312"
+       id="rect19853"
+       style="opacity:0.46875;fill:url(#linearGradient26153);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.68567"
+       y="88.295525"
+       id="rect19855"
+       style="opacity:0.1875;fill:url(#linearGradient26155);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.75388"
+       y="79.418007"
+       id="rect19857"
+       style="opacity:0.1875;fill:url(#linearGradient26157);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-300.2804"
+       y="82.868881"
+       id="rect19859"
+       style="opacity:0.1875;fill:url(#linearGradient26159);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.78253"
+       y="86.814514"
+       id="rect19861"
+       style="opacity:0.46875;fill:url(#linearGradient26161);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-241.81927"
+       y="61.421219"
+       id="rect19863"
+       style="opacity:0.46875;fill:url(#linearGradient26163);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-226.81541"
+       y="88.583298"
+       id="rect19865"
+       style="opacity:0.46875;fill:url(#linearGradient26165);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.35025"
+       y="110.12419"
+       id="rect19867"
+       style="opacity:0.1875;fill:url(#linearGradient26167);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-289.07797"
+       y="86.085411"
+       id="rect19869"
+       style="opacity:0.1875;fill:url(#linearGradient26169);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-280.14191"
+       y="111.1115"
+       id="rect19871"
+       style="opacity:0.1875;fill:url(#linearGradient26171);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.09656"
+       y="84.347092"
+       id="rect19873"
+       style="opacity:0.46875;fill:url(#linearGradient26173);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.2934"
+       y="71.749733"
+       id="rect19875"
+       style="opacity:0.46875;fill:url(#linearGradient26175);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-273.99847"
+       y="67.531227"
+       id="rect19877"
+       style="opacity:0.46875;fill:url(#linearGradient26177);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.12584"
+       y="61.71769"
+       id="rect19879"
+       style="opacity:0.1875;fill:url(#linearGradient26179);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.22586"
+       y="107.49362"
+       id="rect19881"
+       style="opacity:0.1875;fill:url(#linearGradient26181);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-285.43884"
+       y="105.33451"
+       id="rect19883"
+       style="opacity:0.1875;fill:url(#linearGradient26183);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-279.26175"
+       y="107.8763"
+       id="rect19885"
+       style="opacity:0.46875;fill:url(#linearGradient26185);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.44354"
+       y="67.935165"
+       id="rect19887"
+       style="opacity:0.46875;fill:url(#linearGradient26187);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.49667"
+       y="96.643944"
+       id="rect19889"
+       style="opacity:0.46875;fill:url(#linearGradient26189);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-217.63341"
+       y="107.29041"
+       id="rect19891"
+       style="opacity:0.1875;fill:url(#linearGradient26191);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-228.05434"
+       y="67.919067"
+       id="rect19893"
+       style="opacity:0.1875;fill:url(#linearGradient26193);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-261.32623"
+       y="107.8399"
+       id="rect19895"
+       style="opacity:0.1875;fill:url(#linearGradient26195);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-289.12415"
+       y="104.71578"
+       id="rect19897"
+       style="opacity:0.46875;fill:url(#linearGradient26197);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.92154"
+       y="103.894"
+       id="rect19899"
+       style="opacity:0.46875;fill:url(#linearGradient26199);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-234.99353"
+       y="69.89447"
+       id="rect19901"
+       style="opacity:0.46875;fill:url(#linearGradient26201);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.92441"
+       y="70.290993"
+       id="rect19903"
+       style="opacity:0.1875;fill:url(#linearGradient26203);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.26547"
+       y="75.941833"
+       id="rect19905"
+       style="opacity:0.1875;fill:url(#linearGradient26205);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.47929"
+       y="81.975525"
+       id="rect19907"
+       style="opacity:0.1875;fill:url(#linearGradient26207);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.77673"
+       y="111.29926"
+       id="rect19909"
+       style="opacity:0.46875;fill:url(#linearGradient26209);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-263.11667"
+       y="99.947609"
+       id="rect19911"
+       style="opacity:0.46875;fill:url(#linearGradient26211);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-242.85245"
+       y="88.847588"
+       id="rect19913"
+       style="opacity:0.46875;fill:url(#linearGradient26213);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-249.8663"
+       y="99.503418"
+       id="rect19915"
+       style="opacity:0.1875;fill:url(#linearGradient26215);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.01836"
+       y="106.64564"
+       id="rect19917"
+       style="opacity:0.1875;fill:url(#linearGradient26217);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.59598"
+       y="66.732162"
+       id="rect19919"
+       style="opacity:0.1875;fill:url(#linearGradient26219);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-223.82793"
+       y="100.37089"
+       id="rect19921"
+       style="opacity:0.46875;fill:url(#linearGradient26221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.13416"
+       y="81.990974"
+       id="rect19923"
+       style="opacity:0.46875;fill:url(#linearGradient26223);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-306.29108"
+       y="92.491669"
+       id="rect19925"
+       style="opacity:0.46875;fill:url(#linearGradient26225);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-291.61893"
+       y="79.634949"
+       id="rect19927"
+       style="opacity:0.1875;fill:url(#linearGradient26227);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-255.52936"
+       y="98.797989"
+       id="rect19929"
+       style="opacity:0.1875;fill:url(#linearGradient26229);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-273.95828"
+       y="110.65452"
+       id="rect19931"
+       style="opacity:0.1875;fill:url(#linearGradient26231);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-217.95099"
+       y="100.52077"
+       id="rect19933"
+       style="opacity:0.46875;fill:url(#linearGradient26233);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.4422"
+       y="93.812157"
+       id="rect19935"
+       style="opacity:0.46875;fill:url(#linearGradient26235);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-277.36646"
+       y="94.473045"
+       id="rect19937"
+       style="opacity:0.46875;fill:url(#linearGradient26237);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-222.96104"
+       y="111.20544"
+       id="rect19939"
+       style="opacity:0.1875;fill:url(#linearGradient26239);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.77539"
+       y="78.428696"
+       id="rect19941"
+       style="opacity:0.1875;fill:url(#linearGradient26241);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-227.76193"
+       y="101.67466"
+       id="rect19943"
+       style="opacity:0.1875;fill:url(#linearGradient26243);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.64917"
+       y="55.1898"
+       id="rect19945"
+       style="opacity:0.46875;fill:url(#linearGradient26245);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.67783"
+       y="105.24789"
+       id="rect19947"
+       style="opacity:0.46875;fill:url(#linearGradient26247);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.7887"
+       y="107.56207"
+       id="rect19949"
+       style="opacity:0.46875;fill:url(#linearGradient26249);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.32104"
+       y="75.765396"
+       id="rect19951"
+       style="opacity:0.1875;fill:url(#linearGradient26251);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.3252"
+       y="70.395012"
+       id="rect19953"
+       style="opacity:0.1875;fill:url(#linearGradient26253);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-300.4624"
+       y="77.843994"
+       id="rect19955"
+       style="opacity:0.1875;fill:url(#linearGradient26255);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.46291"
+       y="97.798653"
+       id="rect19957"
+       style="opacity:0.46875;fill:url(#linearGradient26257);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.97621"
+       y="92.625015"
+       id="rect19959"
+       style="opacity:0.46875;fill:url(#linearGradient26259);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-292.16928"
+       y="66.244278"
+       id="rect19961"
+       style="opacity:0.46875;fill:url(#linearGradient26261);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.05453"
+       y="106.82121"
+       id="rect19963"
+       style="opacity:0.1875;fill:url(#linearGradient26263);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-255.95485"
+       y="82.979355"
+       id="rect19965"
+       style="opacity:0.1875;fill:url(#linearGradient26265);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-296.56934"
+       y="75.003525"
+       id="rect19967"
+       style="opacity:0.1875;fill:url(#linearGradient26267);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.9155"
+       y="60.718307"
+       id="rect19969"
+       style="opacity:0.46875;fill:url(#linearGradient26269);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.39957"
+       y="65.565224"
+       id="rect19971"
+       style="opacity:0.46875;fill:url(#linearGradient26271);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-288.19415"
+       y="66.931465"
+       id="rect19973"
+       style="opacity:0.46875;fill:url(#linearGradient26273);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.45161"
+       y="67.468315"
+       id="rect19975"
+       style="opacity:0.1875;fill:url(#linearGradient26275);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.94643"
+       y="102.85509"
+       id="rect19977"
+       style="opacity:0.1875;fill:url(#linearGradient26277);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-253.84683"
+       y="97.23008"
+       id="rect19979"
+       style="opacity:0.1875;fill:url(#linearGradient26279);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-218.62408"
+       y="106.39987"
+       id="rect19981"
+       style="opacity:0.46875;fill:url(#linearGradient26281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.86404"
+       y="86.620399"
+       id="rect19983"
+       style="opacity:0.46875;fill:url(#linearGradient26283);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-268.98251"
+       y="105.18267"
+       id="rect19985"
+       style="opacity:0.46875;fill:url(#linearGradient26285);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.57259"
+       y="96.846413"
+       id="rect19987"
+       style="opacity:0.1875;fill:url(#linearGradient26287);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-241.35466"
+       y="72.427864"
+       id="rect19989"
+       style="opacity:0.1875;fill:url(#linearGradient26289);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-243.7484"
+       y="60.295509"
+       id="rect19991"
+       style="opacity:0.1875;fill:url(#linearGradient26291);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-222.45859"
+       y="103.16962"
+       id="rect19993"
+       style="opacity:0.46875;fill:url(#linearGradient26293);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.9902"
+       y="99.331314"
+       id="rect19995"
+       style="opacity:0.46875;fill:url(#linearGradient26295);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-271.4754"
+       y="67.198364"
+       id="rect19997"
+       style="opacity:0.46875;fill:url(#linearGradient26297);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-224.57295"
+       y="78.623528"
+       id="rect19999"
+       style="opacity:0.1875;fill:url(#linearGradient26299);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.48843"
+       y="58.754765"
+       id="rect20001"
+       style="opacity:0.1875;fill:url(#linearGradient26301);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-258.62601"
+       y="92.053108"
+       id="rect20003"
+       style="opacity:0.1875;fill:url(#linearGradient26303);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.83109"
+       y="89.63459"
+       id="rect20005"
+       style="opacity:0.46875;fill:url(#linearGradient26305);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.99036"
+       y="81.23172"
+       id="rect20007"
+       style="opacity:0.46875;fill:url(#linearGradient26307);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-290.10904"
+       y="79.479607"
+       id="rect20009"
+       style="opacity:0.46875;fill:url(#linearGradient26309);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.9653"
+       y="83.475426"
+       id="rect20011"
+       style="opacity:0.1875;fill:url(#linearGradient26311);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.05237"
+       y="99.696861"
+       id="rect20013"
+       style="opacity:0.1875;fill:url(#linearGradient26313);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-228.81726"
+       y="94.231972"
+       id="rect20015"
+       style="opacity:0.1875;fill:url(#linearGradient26315);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.22989"
+       y="104.25684"
+       id="rect20017"
+       style="opacity:0.46875;fill:url(#linearGradient26317);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-261.13651"
+       y="55.010883"
+       id="rect20019"
+       style="opacity:0.46875;fill:url(#linearGradient26319);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-239.68616"
+       y="109.11954"
+       id="rect20021"
+       style="opacity:0.46875;fill:url(#linearGradient26321);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.49696"
+       y="76.606689"
+       id="rect20023"
+       style="opacity:0.1875;fill:url(#linearGradient26323);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.6626"
+       y="75.026268"
+       id="rect20025"
+       style="opacity:0.1875;fill:url(#linearGradient26325);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-286.59128"
+       y="88.79126"
+       id="rect20027"
+       style="opacity:0.1875;fill:url(#linearGradient26327);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.85246"
+       y="107.28387"
+       id="rect20029"
+       style="opacity:0.46875;fill:url(#linearGradient26329);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.85561"
+       y="83.328651"
+       id="rect20031"
+       style="opacity:0.46875;fill:url(#linearGradient26331);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-243.79652"
+       y="91.03093"
+       id="rect20033"
+       style="opacity:0.46875;fill:url(#linearGradient26333);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.53204"
+       y="102.40226"
+       id="rect20035"
+       style="opacity:0.1875;fill:url(#linearGradient26335);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.65462"
+       y="86.312164"
+       id="rect20037"
+       style="opacity:0.1875;fill:url(#linearGradient26337);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-297.23593"
+       y="99.523064"
+       id="rect20039"
+       style="opacity:0.1875;fill:url(#linearGradient26339);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-270.10629"
+       y="85.250237"
+       id="rect20041"
+       style="opacity:0.46875;fill:url(#linearGradient26341);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.59616"
+       y="62.64764"
+       id="rect20043"
+       style="opacity:0.46875;fill:url(#linearGradient26343);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-279.72336"
+       y="57.199894"
+       id="rect20045"
+       style="opacity:0.46875;fill:url(#linearGradient26345);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.94009"
+       y="69.578125"
+       id="rect20047"
+       style="opacity:0.1875;fill:url(#linearGradient26347);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.54706"
+       y="63.932827"
+       id="rect20049"
+       style="opacity:0.1875;fill:url(#linearGradient26349);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-234.06938"
+       y="71.778969"
+       id="rect20051"
+       style="opacity:0.1875;fill:url(#linearGradient26351);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.02867"
+       y="79.090485"
+       id="rect20053"
+       style="opacity:0.46875;fill:url(#linearGradient26353);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.32771"
+       y="69.432304"
+       id="rect20055"
+       style="opacity:0.46875;fill:url(#linearGradient26355);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-234.56918"
+       y="79.627808"
+       id="rect20057"
+       style="opacity:0.46875;fill:url(#linearGradient26357);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.56387"
+       y="56.465225"
+       id="rect20059"
+       style="opacity:0.1875;fill:url(#linearGradient26359);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.46451"
+       y="90.167923"
+       id="rect20061"
+       style="opacity:0.1875;fill:url(#linearGradient26361);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-263.4277"
+       y="82.128593"
+       id="rect20063"
+       style="opacity:0.1875;fill:url(#linearGradient26363);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.59889"
+       y="70.86586"
+       id="rect20065"
+       style="opacity:0.46875;fill:url(#linearGradient26365);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-304.18463"
+       y="88.390617"
+       id="rect20067"
+       style="opacity:0.46875;fill:url(#linearGradient26367);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-290.64938"
+       y="101.78397"
+       id="rect20069"
+       style="opacity:0.46875;fill:url(#linearGradient26369);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.71817"
+       y="81.253448"
+       id="rect20455"
+       style="opacity:0.1875;fill:url(#linearGradient26371);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-240.49081"
+       y="65.51342"
+       id="rect20457"
+       style="opacity:0.1875;fill:url(#linearGradient26373);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-279.75214"
+       y="109.76508"
+       id="rect20459"
+       style="opacity:0.1875;fill:url(#linearGradient26375);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.04233"
+       y="88.218803"
+       id="rect20461"
+       style="opacity:0.46875;fill:url(#linearGradient26377);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.86346"
+       y="85.858627"
+       id="rect20463"
+       style="opacity:0.46875;fill:url(#linearGradient26379);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-225.32182"
+       y="82.631157"
+       id="rect20465"
+       style="opacity:0.46875;fill:url(#linearGradient26381);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.48117"
+       y="82.083504"
+       id="rect20467"
+       style="opacity:0.1875;fill:url(#linearGradient26383);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.10507"
+       y="108.23654"
+       id="rect20469"
+       style="opacity:0.1875;fill:url(#linearGradient26385);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-259.32974"
+       y="64.70713"
+       id="rect20471"
+       style="opacity:0.1875;fill:url(#linearGradient26387);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.16614"
+       y="74.961967"
+       id="rect20473"
+       style="opacity:0.46875;fill:url(#linearGradient26389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.05365"
+       y="62.712513"
+       id="rect20475"
+       style="opacity:0.46875;fill:url(#linearGradient26391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.00711"
+       y="72.933044"
+       id="rect20477"
+       style="opacity:0.46875;fill:url(#linearGradient26393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-287.22855"
+       y="110.74557"
+       id="rect20479"
+       style="opacity:0.1875;fill:url(#linearGradient26395);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.3591"
+       y="79.526146"
+       id="rect20481"
+       style="opacity:0.1875;fill:url(#linearGradient26397);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.60628"
+       y="106.92101"
+       id="rect20483"
+       style="opacity:0.1875;fill:url(#linearGradient26399);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.54721"
+       y="80.424744"
+       id="rect20485"
+       style="opacity:0.46875;fill:url(#linearGradient26401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.69498"
+       y="73.441864"
+       id="rect20487"
+       style="opacity:0.46875;fill:url(#linearGradient26403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-286.30206"
+       y="67.167152"
+       id="rect20489"
+       style="opacity:0.46875;fill:url(#linearGradient26405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-218.45755"
+       y="100.83543"
+       id="rect20491"
+       style="opacity:0.1875;fill:url(#linearGradient26407);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.74637"
+       y="77.731842"
+       id="rect20493"
+       style="opacity:0.1875;fill:url(#linearGradient26409);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-260.5361"
+       y="63.783749"
+       id="rect20495"
+       style="opacity:0.1875;fill:url(#linearGradient26411);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.29132"
+       y="96.522278"
+       id="rect20497"
+       style="opacity:0.46875;fill:url(#linearGradient26413);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.44952"
+       y="98.607231"
+       id="rect20499"
+       style="opacity:0.46875;fill:url(#linearGradient26415);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-274.82455"
+       y="86.80835"
+       id="rect20501"
+       style="opacity:0.46875;fill:url(#linearGradient26417);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-219.73625"
+       y="61.344193"
+       id="rect20503"
+       style="opacity:0.1875;fill:url(#linearGradient26419);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.13663"
+       y="77.865173"
+       id="rect20505"
+       style="opacity:0.1875;fill:url(#linearGradient26421);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-287.60495"
+       y="105.65768"
+       id="rect20507"
+       style="opacity:0.1875;fill:url(#linearGradient26423);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.04767"
+       y="65.757294"
+       id="rect20509"
+       style="opacity:0.46875;fill:url(#linearGradient26425);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.05054"
+       y="107.30734"
+       id="rect20511"
+       style="opacity:0.46875;fill:url(#linearGradient26427);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-302.89746"
+       y="109.56179"
+       id="rect20513"
+       style="opacity:0.46875;fill:url(#linearGradient26429);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.98593"
+       y="67.596725"
+       id="rect20515"
+       style="opacity:0.1875;fill:url(#linearGradient26431);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.38931"
+       y="73.773773"
+       id="rect20517"
+       style="opacity:0.1875;fill:url(#linearGradient26433);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-241.46507"
+       y="107.92227"
+       id="rect20519"
+       style="opacity:0.1875;fill:url(#linearGradient26435);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.26581"
+       y="83.184235"
+       id="rect20521"
+       style="opacity:0.46875;fill:url(#linearGradient26437);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-285.78122"
+       y="104.65424"
+       id="rect20523"
+       style="opacity:0.46875;fill:url(#linearGradient26439);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.79443"
+       y="58.689938"
+       id="rect20525"
+       style="opacity:0.46875;fill:url(#linearGradient26441);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.70056"
+       y="60.803516"
+       id="rect20527"
+       style="opacity:0.1875;fill:url(#linearGradient26443);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.72324"
+       y="57.410843"
+       id="rect20529"
+       style="opacity:0.1875;fill:url(#linearGradient26445);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-301.89771"
+       y="72.826591"
+       id="rect20531"
+       style="opacity:0.1875;fill:url(#linearGradient26447);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-219.5639"
+       y="70.463745"
+       id="rect20533"
+       style="opacity:0.46875;fill:url(#linearGradient26449);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.42273"
+       y="58.774006"
+       id="rect20535"
+       style="opacity:0.46875;fill:url(#linearGradient26451);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.00671"
+       y="72.494003"
+       id="rect20537"
+       style="opacity:0.46875;fill:url(#linearGradient26453);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.71185"
+       y="109.54459"
+       id="rect20539"
+       style="opacity:0.1875;fill:url(#linearGradient26455);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-266.06219"
+       y="55.475723"
+       id="rect20541"
+       style="opacity:0.1875;fill:url(#linearGradient26457);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-236.19772"
+       y="77.694275"
+       id="rect20543"
+       style="opacity:0.1875;fill:url(#linearGradient26459);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.89938"
+       y="71.35717"
+       id="rect20545"
+       style="opacity:0.46875;fill:url(#linearGradient26461);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.54712"
+       y="84.367325"
+       id="rect20547"
+       style="opacity:0.46875;fill:url(#linearGradient26463);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-289.45844"
+       y="81.262711"
+       id="rect20549"
+       style="opacity:0.46875;fill:url(#linearGradient26465);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.61487"
+       y="104.93104"
+       id="rect20551"
+       style="opacity:0.1875;fill:url(#linearGradient26467);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.25128"
+       y="71.748528"
+       id="rect20553"
+       style="opacity:0.1875;fill:url(#linearGradient26469);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-227.85863"
+       y="59.726963"
+       id="rect20555"
+       style="opacity:0.1875;fill:url(#linearGradient26471);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.71912"
+       y="79.780472"
+       id="rect20557"
+       style="opacity:0.46875;fill:url(#linearGradient26473);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-289.34674"
+       y="64.180695"
+       id="rect20559"
+       style="opacity:0.46875;fill:url(#linearGradient26475);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-237.67152"
+       y="56.720722"
+       id="rect20561"
+       style="opacity:0.46875;fill:url(#linearGradient26477);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-261.4035"
+       y="61.502678"
+       id="rect20563"
+       style="opacity:0.1875;fill:url(#linearGradient26479);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.67986"
+       y="97.29557"
+       id="rect20565"
+       style="opacity:0.1875;fill:url(#linearGradient26481);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-297.44293"
+       y="85.375412"
+       id="rect20567"
+       style="opacity:0.1875;fill:url(#linearGradient26483);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.59766"
+       y="96.2453"
+       id="rect20569"
+       style="opacity:0.46875;fill:url(#linearGradient26485);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-249.9745"
+       y="104.10505"
+       id="rect20571"
+       style="opacity:0.46875;fill:url(#linearGradient26487);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-264.91541"
+       y="63.215496"
+       id="rect20573"
+       style="opacity:0.46875;fill:url(#linearGradient26489);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-255.64404"
+       y="65.274605"
+       id="rect20575"
+       style="opacity:0.1875;fill:url(#linearGradient26491);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.5867"
+       y="64.151192"
+       id="rect20577"
+       style="opacity:0.1875;fill:url(#linearGradient26493);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.08963"
+       y="73.799103"
+       id="rect20579"
+       style="opacity:0.1875;fill:url(#linearGradient26495);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.13312"
+       y="76.512222"
+       id="rect20581"
+       style="opacity:0.46875;fill:url(#linearGradient26497);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.81549"
+       y="67.021263"
+       id="rect20583"
+       style="opacity:0.46875;fill:url(#linearGradient26499);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-287.50644"
+       y="95.929291"
+       id="rect20585"
+       style="opacity:0.46875;fill:url(#linearGradient26501);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.86389"
+       y="64.541458"
+       id="rect20587"
+       style="opacity:0.1875;fill:url(#linearGradient26503);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.83641"
+       y="102.7418"
+       id="rect20589"
+       style="opacity:0.1875;fill:url(#linearGradient26505);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-271.98199"
+       y="108.77027"
+       id="rect20591"
+       style="opacity:0.1875;fill:url(#linearGradient26507);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.55357"
+       y="70.026482"
+       id="rect20593"
+       style="opacity:0.46875;fill:url(#linearGradient26509);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.90517"
+       y="73.117393"
+       id="rect20595"
+       style="opacity:0.46875;fill:url(#linearGradient26511);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-307.35992"
+       y="81.319099"
+       id="rect20597"
+       style="opacity:0.46875;fill:url(#linearGradient26513);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.24792"
+       y="60.969742"
+       id="rect20599"
+       style="opacity:0.1875;fill:url(#linearGradient26515);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.96555"
+       y="82.846146"
+       id="rect20601"
+       style="opacity:0.1875;fill:url(#linearGradient26517);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.6167"
+       y="105.03866"
+       id="rect20603"
+       style="opacity:0.1875;fill:url(#linearGradient26519);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.6017"
+       y="85.002228"
+       id="rect20605"
+       style="opacity:0.46875;fill:url(#linearGradient26521);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.29018"
+       y="87.934219"
+       id="rect20607"
+       style="opacity:0.46875;fill:url(#linearGradient26523);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-295.26987"
+       y="97.667152"
+       id="rect20609"
+       style="opacity:0.46875;fill:url(#linearGradient26525);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.37012"
+       y="94.034401"
+       id="rect20611"
+       style="opacity:0.1875;fill:url(#linearGradient26527);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.27859"
+       y="64.077866"
+       id="rect20613"
+       style="opacity:0.1875;fill:url(#linearGradient26529);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-255.16219"
+       y="75.800377"
+       id="rect20615"
+       style="opacity:0.1875;fill:url(#linearGradient26531);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-270.15637"
+       y="69.005692"
+       id="rect20617"
+       style="opacity:0.46875;fill:url(#linearGradient26533);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-291.32767"
+       y="106.1306"
+       id="rect20619"
+       style="opacity:0.46875;fill:url(#linearGradient26535);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-294.69739"
+       y="106.73238"
+       id="rect20621"
+       style="opacity:0.46875;fill:url(#linearGradient26537);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.82419"
+       y="60.101208"
+       id="rect20623"
+       style="opacity:0.1875;fill:url(#linearGradient26539);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-225.54817"
+       y="70.407402"
+       id="rect20625"
+       style="opacity:0.1875;fill:url(#linearGradient26541);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.70004"
+       y="61.894451"
+       id="rect20627"
+       style="opacity:0.1875;fill:url(#linearGradient26543);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.56357"
+       y="73.227684"
+       id="rect20629"
+       style="opacity:0.46875;fill:url(#linearGradient26545);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-248.77377"
+       y="86.167908"
+       id="rect20631"
+       style="opacity:0.46875;fill:url(#linearGradient26547);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.4563"
+       y="80.202568"
+       id="rect20633"
+       style="opacity:0.46875;fill:url(#linearGradient26549);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-222.79651"
+       y="77.157135"
+       id="rect20635"
+       style="opacity:0.1875;fill:url(#linearGradient26551);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.74509"
+       y="97.382492"
+       id="rect20637"
+       style="opacity:0.1875;fill:url(#linearGradient26553);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-280.50726"
+       y="61.974281"
+       id="rect20639"
+       style="opacity:0.1875;fill:url(#linearGradient26555);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-272.52014"
+       y="104.55537"
+       id="rect20641"
+       style="opacity:0.46875;fill:url(#linearGradient26557);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-295.15088"
+       y="102.41749"
+       id="rect20643"
+       style="opacity:0.46875;fill:url(#linearGradient26559);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-303.94156"
+       y="66.058792"
+       id="rect20645"
+       style="opacity:0.46875;fill:url(#linearGradient26561);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.36902"
+       y="79.583107"
+       id="rect20647"
+       style="opacity:0.1875;fill:url(#linearGradient26563);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.76428"
+       y="89.643036"
+       id="rect20649"
+       style="opacity:0.1875;fill:url(#linearGradient26565);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-228.89841"
+       y="106.57912"
+       id="rect20651"
+       style="opacity:0.1875;fill:url(#linearGradient26567);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.56018"
+       y="105.04887"
+       id="rect20653"
+       style="opacity:0.46875;fill:url(#linearGradient26569);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.64111"
+       y="61.205338"
+       id="rect20655"
+       style="opacity:0.46875;fill:url(#linearGradient26571);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.98749"
+       y="68.127831"
+       id="rect20657"
+       style="opacity:0.46875;fill:url(#linearGradient26573);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.47653"
+       y="88.594643"
+       id="rect20659"
+       style="opacity:0.1875;fill:url(#linearGradient26575);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.98727"
+       y="105.70779"
+       id="rect20661"
+       style="opacity:0.1875;fill:url(#linearGradient26577);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-226.75633"
+       y="59.944138"
+       id="rect20663"
+       style="opacity:0.1875;fill:url(#linearGradient26579);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.99521"
+       y="98.409698"
+       id="rect20665"
+       style="opacity:0.46875;fill:url(#linearGradient26581);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-261.45309"
+       y="83.215034"
+       id="rect20667"
+       style="opacity:0.46875;fill:url(#linearGradient26583);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-259.63129"
+       y="84.058441"
+       id="rect20669"
+       style="opacity:0.46875;fill:url(#linearGradient26585);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.14677"
+       y="62.076561"
+       id="rect20671"
+       style="opacity:0.1875;fill:url(#linearGradient26587);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.11346"
+       y="79.031021"
+       id="rect20673"
+       style="opacity:0.1875;fill:url(#linearGradient26589);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-304.29114"
+       y="72.775261"
+       id="rect20675"
+       style="opacity:0.1875;fill:url(#linearGradient26591);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.68109"
+       y="77.156677"
+       id="rect20677"
+       style="opacity:0.46875;fill:url(#linearGradient26593);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.78348"
+       y="98.731834"
+       id="rect20679"
+       style="opacity:0.46875;fill:url(#linearGradient26595);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-225.43291"
+       y="78.722549"
+       id="rect20681"
+       style="opacity:0.46875;fill:url(#linearGradient26597);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.78207"
+       y="65.402222"
+       id="rect20683"
+       style="opacity:0.1875;fill:url(#linearGradient26599);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.7579"
+       y="96.139221"
+       id="rect20685"
+       style="opacity:0.1875;fill:url(#linearGradient26601);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-260.65329"
+       y="96.36525"
+       id="rect20687"
+       style="opacity:0.1875;fill:url(#linearGradient26603);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.38538"
+       y="84.262276"
+       id="rect20689"
+       style="opacity:0.46875;fill:url(#linearGradient26605);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.24651"
+       y="76.61116"
+       id="rect20691"
+       style="opacity:0.46875;fill:url(#linearGradient26607);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-298.17392"
+       y="94.361511"
+       id="rect20693"
+       style="opacity:0.46875;fill:url(#linearGradient26609);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-254.1611"
+       y="80.839401"
+       id="rect20695"
+       style="opacity:0.1875;fill:url(#linearGradient26611);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-301.12796"
+       y="79.646004"
+       id="rect20697"
+       style="opacity:0.1875;fill:url(#linearGradient26613);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-300.54639"
+       y="104.00186"
+       id="rect20699"
+       style="opacity:0.1875;fill:url(#linearGradient26615);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.37537"
+       y="71.01062"
+       id="rect20701"
+       style="opacity:0.46875;fill:url(#linearGradient26617);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.93375"
+       y="102.269"
+       id="rect20703"
+       style="opacity:0.46875;fill:url(#linearGradient26619);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.88052"
+       y="98.329185"
+       id="rect20705"
+       style="opacity:0.46875;fill:url(#linearGradient26621);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-223.75504"
+       y="99.959984"
+       id="rect20707"
+       style="opacity:0.1875;fill:url(#linearGradient26623);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.50363"
+       y="107.33015"
+       id="rect20709"
+       style="opacity:0.1875;fill:url(#linearGradient26625);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-303.61804"
+       y="108.15018"
+       id="rect20711"
+       style="opacity:0.1875;fill:url(#linearGradient26627);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.03036"
+       y="106.36648"
+       id="rect20713"
+       style="opacity:0.46875;fill:url(#linearGradient26629);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.59375"
+       y="71.416595"
+       id="rect20715"
+       style="opacity:0.46875;fill:url(#linearGradient26631);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-300.73062"
+       y="58.53096"
+       id="rect20717"
+       style="opacity:0.46875;fill:url(#linearGradient26633);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.80426"
+       y="60.331181"
+       id="rect20719"
+       style="opacity:0.1875;fill:url(#linearGradient26635);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.48868"
+       y="83.144234"
+       id="rect20721"
+       style="opacity:0.1875;fill:url(#linearGradient26637);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-307.44165"
+       y="61.080101"
+       id="rect20723"
+       style="opacity:0.1875;fill:url(#linearGradient26639);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-249.13631"
+       y="81.72905"
+       id="rect20725"
+       style="opacity:0.46875;fill:url(#linearGradient26641);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.89638"
+       y="106.73634"
+       id="rect20727"
+       style="opacity:0.46875;fill:url(#linearGradient26643);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-304.9827"
+       y="108.69421"
+       id="rect20729"
+       style="opacity:0.46875;fill:url(#linearGradient26645);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.26816"
+       y="76.166199"
+       id="rect20731"
+       style="opacity:0.1875;fill:url(#linearGradient26647);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-261.2561"
+       y="67.529793"
+       id="rect20733"
+       style="opacity:0.1875;fill:url(#linearGradient26649);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-306.53851"
+       y="92.740334"
+       id="rect20735"
+       style="opacity:0.1875;fill:url(#linearGradient26651);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.18407"
+       y="60.572968"
+       id="rect20737"
+       style="opacity:0.46875;fill:url(#linearGradient26653);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.11626"
+       y="59.471355"
+       id="rect20739"
+       style="opacity:0.46875;fill:url(#linearGradient26655);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-238.31374"
+       y="70.263519"
+       id="rect20741"
+       style="opacity:0.46875;fill:url(#linearGradient26657);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-295.89474"
+       y="102.27914"
+       id="rect20743"
+       style="opacity:0.1875;fill:url(#linearGradient26659);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.24013"
+       y="74.366951"
+       id="rect20745"
+       style="opacity:0.1875;fill:url(#linearGradient26661);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-303.00098"
+       y="58.264374"
+       id="rect20747"
+       style="opacity:0.1875;fill:url(#linearGradient26663);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.54126"
+       y="86.428101"
+       id="rect20749"
+       style="opacity:0.46875;fill:url(#linearGradient26665);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-304.38449"
+       y="90.213768"
+       id="rect20751"
+       style="opacity:0.46875;fill:url(#linearGradient26667);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-283.8826"
+       y="93.236168"
+       id="rect20753"
+       style="opacity:0.46875;fill:url(#linearGradient26669);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.99405"
+       y="56.928612"
+       id="rect20755"
+       style="opacity:0.1875;fill:url(#linearGradient26671);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.38376"
+       y="70.148064"
+       id="rect20757"
+       style="opacity:0.1875;fill:url(#linearGradient26673);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-271.78781"
+       y="62.705917"
+       id="rect20759"
+       style="opacity:0.1875;fill:url(#linearGradient26675);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.72897"
+       y="78.997246"
+       id="rect20761"
+       style="opacity:0.46875;fill:url(#linearGradient26677);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-253.59196"
+       y="61.592701"
+       id="rect20763"
+       style="opacity:0.46875;fill:url(#linearGradient26679);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-257.47235"
+       y="74.270607"
+       id="rect20765"
+       style="opacity:0.46875;fill:url(#linearGradient26681);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.67603"
+       y="103.00905"
+       id="rect20767"
+       style="opacity:0.1875;fill:url(#linearGradient26683);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.1875"
+       y="58.221188"
+       id="rect20769"
+       style="opacity:0.1875;fill:url(#linearGradient26685);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-293.44116"
+       y="93.098091"
+       id="rect20771"
+       style="opacity:0.1875;fill:url(#linearGradient26687);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-274.90311"
+       y="95.846085"
+       id="rect20773"
+       style="opacity:0.46875;fill:url(#linearGradient26689);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.50949"
+       y="101.26105"
+       id="rect20775"
+       style="opacity:0.46875;fill:url(#linearGradient26691);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-301.00677"
+       y="55.524345"
+       id="rect20777"
+       style="opacity:0.46875;fill:url(#linearGradient26693);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.34172"
+       y="102.48254"
+       id="rect20779"
+       style="opacity:0.1875;fill:url(#linearGradient26695);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.48227"
+       y="106.88896"
+       id="rect20781"
+       style="opacity:0.1875;fill:url(#linearGradient26697);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-277.00226"
+       y="92.920219"
+       id="rect20783"
+       style="opacity:0.1875;fill:url(#linearGradient26699);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.33708"
+       y="90.449989"
+       id="rect20785"
+       style="opacity:0.46875;fill:url(#linearGradient26701);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.81618"
+       y="105.25217"
+       id="rect20787"
+       style="opacity:0.46875;fill:url(#linearGradient26703);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-281.00833"
+       y="98.852737"
+       id="rect20789"
+       style="opacity:0.46875;fill:url(#linearGradient26705);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-220.06483"
+       y="93.540413"
+       id="rect20791"
+       style="opacity:0.1875;fill:url(#linearGradient26707);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.59024"
+       y="71.885101"
+       id="rect20793"
+       style="opacity:0.1875;fill:url(#linearGradient26709);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.60995"
+       y="110.16111"
+       id="rect20795"
+       style="opacity:0.1875;fill:url(#linearGradient26711);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.35635"
+       y="96.913025"
+       id="rect20797"
+       style="opacity:0.46875;fill:url(#linearGradient26713);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.3793"
+       y="67.212074"
+       id="rect20799"
+       style="opacity:0.46875;fill:url(#linearGradient26715);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-305.76932"
+       y="105.27201"
+       id="rect20801"
+       style="opacity:0.46875;fill:url(#linearGradient26717);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.66428"
+       y="96.795341"
+       id="rect20803"
+       style="opacity:0.1875;fill:url(#linearGradient26719);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.21658"
+       y="82.294411"
+       id="rect20805"
+       style="opacity:0.1875;fill:url(#linearGradient26721);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-301.59726"
+       y="87.788773"
+       id="rect20807"
+       style="opacity:0.1875;fill:url(#linearGradient26723);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-228.504"
+       y="69.20105"
+       id="rect20809"
+       style="opacity:0.46875;fill:url(#linearGradient26725);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.41647"
+       y="102.48328"
+       id="rect20811"
+       style="opacity:0.46875;fill:url(#linearGradient26727);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-237.83372"
+       y="108.8929"
+       id="rect20813"
+       style="opacity:0.46875;fill:url(#linearGradient26729);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-240.95575"
+       y="68.082726"
+       id="rect20815"
+       style="opacity:0.1875;fill:url(#linearGradient26731);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-289.51202"
+       y="86.063263"
+       id="rect20817"
+       style="opacity:0.1875;fill:url(#linearGradient26733);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-277.23071"
+       y="85.233902"
+       id="rect20819"
+       style="opacity:0.1875;fill:url(#linearGradient26735);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-221.3028"
+       y="95.189102"
+       id="rect20821"
+       style="opacity:0.46875;fill:url(#linearGradient26737);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.50308"
+       y="75.583626"
+       id="rect20823"
+       style="opacity:0.46875;fill:url(#linearGradient26739);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-296.41016"
+       y="90.319199"
+       id="rect20825"
+       style="opacity:0.46875;fill:url(#linearGradient26741);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-287.21121"
+       y="87.030853"
+       id="rect20827"
+       style="opacity:0.1875;fill:url(#linearGradient26743);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.5347"
+       y="82.118057"
+       id="rect20829"
+       style="opacity:0.1875;fill:url(#linearGradient26745);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-305.19586"
+       y="90.467171"
+       id="rect20831"
+       style="opacity:0.1875;fill:url(#linearGradient26747);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-219.30733"
+       y="105.46643"
+       id="rect20833"
+       style="opacity:0.46875;fill:url(#linearGradient26749);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.22729"
+       y="92.518166"
+       id="rect20835"
+       style="opacity:0.46875;fill:url(#linearGradient26751);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-286.12463"
+       y="72.211571"
+       id="rect20837"
+       style="opacity:0.46875;fill:url(#linearGradient26753);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-221.77547"
+       y="70.537048"
+       id="rect20839"
+       style="opacity:0.1875;fill:url(#linearGradient26755);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-307.22208"
+       y="105.5964"
+       id="rect20841"
+       style="opacity:0.1875;fill:url(#linearGradient26757);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-236.0667"
+       y="65.166298"
+       id="rect20843"
+       style="opacity:0.1875;fill:url(#linearGradient26759);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.77191"
+       y="64.786659"
+       id="rect20845"
+       style="opacity:0.46875;fill:url(#linearGradient26761);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.46454"
+       y="74.910774"
+       id="rect20847"
+       style="opacity:0.46875;fill:url(#linearGradient26763);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-237.85799"
+       y="55.804825"
+       id="rect20849"
+       style="opacity:0.46875;fill:url(#linearGradient26765);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.27036"
+       y="67.163628"
+       id="rect20851"
+       style="opacity:0.1875;fill:url(#linearGradient26767);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-253.91354"
+       y="107.84132"
+       id="rect20853"
+       style="opacity:0.1875;fill:url(#linearGradient26769);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-261.21909"
+       y="55.62373"
+       id="rect20855"
+       style="opacity:0.1875;fill:url(#linearGradient26771);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-241.54463"
+       y="60.722244"
+       id="rect20857"
+       style="opacity:0.46875;fill:url(#linearGradient26773);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.40973"
+       y="60.930378"
+       id="rect20859"
+       style="opacity:0.46875;fill:url(#linearGradient26775);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-261.5116"
+       y="61.007633"
+       id="rect20861"
+       style="opacity:0.46875;fill:url(#linearGradient26777);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.71246"
+       y="63.907291"
+       id="rect20863"
+       style="opacity:0.1875;fill:url(#linearGradient26779);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.91263"
+       y="92.62661"
+       id="rect20865"
+       style="opacity:0.1875;fill:url(#linearGradient26781);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-264.60248"
+       y="101.52387"
+       id="rect20867"
+       style="opacity:0.1875;fill:url(#linearGradient26783);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.04568"
+       y="86.762276"
+       id="rect20869"
+       style="opacity:0.46875;fill:url(#linearGradient26785);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-285.13998"
+       y="97.211113"
+       id="rect20871"
+       style="opacity:0.46875;fill:url(#linearGradient26787);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-228.45563"
+       y="75.488144"
+       id="rect20873"
+       style="opacity:0.46875;fill:url(#linearGradient26789);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.2831"
+       y="63.000179"
+       id="rect20875"
+       style="opacity:0.1875;fill:url(#linearGradient26791);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.81769"
+       y="84.297562"
+       id="rect20877"
+       style="opacity:0.1875;fill:url(#linearGradient26793);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-299.20258"
+       y="110.55594"
+       id="rect20879"
+       style="opacity:0.1875;fill:url(#linearGradient26795);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-255.10905"
+       y="101.29549"
+       id="rect20881"
+       style="opacity:0.46875;fill:url(#linearGradient26797);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.63766"
+       y="110.90127"
+       id="rect20883"
+       style="opacity:0.46875;fill:url(#linearGradient26799);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-242.0107"
+       y="96.098122"
+       id="rect20885"
+       style="opacity:0.46875;fill:url(#linearGradient26801);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-224.40564"
+       y="80.693207"
+       id="rect20887"
+       style="opacity:0.1875;fill:url(#linearGradient26803);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.71815"
+       y="108.91924"
+       id="rect20889"
+       style="opacity:0.1875;fill:url(#linearGradient26805);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-232.46727"
+       y="64.286911"
+       id="rect20891"
+       style="opacity:0.1875;fill:url(#linearGradient26807);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-301.94312"
+       y="81.063759"
+       id="rect20893"
+       style="opacity:0.46875;fill:url(#linearGradient26809);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-262.71429"
+       y="61.501709"
+       id="rect20895"
+       style="opacity:0.46875;fill:url(#linearGradient26811);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-244.6245"
+       y="67.977432"
+       id="rect20897"
+       style="opacity:0.46875;fill:url(#linearGradient26813);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.12466"
+       y="76.452377"
+       id="rect20899"
+       style="opacity:0.1875;fill:url(#linearGradient26815);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.96835"
+       y="108.51657"
+       id="rect20901"
+       style="opacity:0.1875;fill:url(#linearGradient26817);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-259.4852"
+       y="59.947071"
+       id="rect20903"
+       style="opacity:0.1875;fill:url(#linearGradient26819);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-217.3017"
+       y="87.066414"
+       id="rect20905"
+       style="opacity:0.46875;fill:url(#linearGradient26821);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.32651"
+       y="107.02791"
+       id="rect20907"
+       style="opacity:0.46875;fill:url(#linearGradient26823);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-274.71164"
+       y="96.72039"
+       id="rect20909"
+       style="opacity:0.46875;fill:url(#linearGradient26825);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.15398"
+       y="61.069256"
+       id="rect20911"
+       style="opacity:0.1875;fill:url(#linearGradient26827);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.36102"
+       y="74.99781"
+       id="rect20913"
+       style="opacity:0.1875;fill:url(#linearGradient26829);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-260.75641"
+       y="88.847244"
+       id="rect20915"
+       style="opacity:0.1875;fill:url(#linearGradient26831);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-218.14275"
+       y="67.334724"
+       id="rect20917"
+       style="opacity:0.46875;fill:url(#linearGradient26833);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.18599"
+       y="109.29144"
+       id="rect20919"
+       style="opacity:0.46875;fill:url(#linearGradient26835);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.15916"
+       y="96.86953"
+       id="rect20921"
+       style="opacity:0.46875;fill:url(#linearGradient26837);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-295.06256"
+       y="109.20979"
+       id="rect20923"
+       style="opacity:0.1875;fill:url(#linearGradient26839);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.84415"
+       y="103.0084"
+       id="rect20925"
+       style="opacity:0.1875;fill:url(#linearGradient26841);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-252.68372"
+       y="87.013405"
+       id="rect20927"
+       style="opacity:0.1875;fill:url(#linearGradient26843);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.10957"
+       y="77.451866"
+       id="rect20929"
+       style="opacity:0.46875;fill:url(#linearGradient26845);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-262.20053"
+       y="90.775269"
+       id="rect20931"
+       style="opacity:0.46875;fill:url(#linearGradient26847);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-303.03128"
+       y="64.104378"
+       id="rect20933"
+       style="opacity:0.46875;fill:url(#linearGradient26849);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.23318"
+       y="56.084965"
+       id="rect20935"
+       style="opacity:0.1875;fill:url(#linearGradient26851);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.92523"
+       y="57.800106"
+       id="rect20937"
+       style="opacity:0.1875;fill:url(#linearGradient26853);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-243.84235"
+       y="101.17597"
+       id="rect20939"
+       style="opacity:0.1875;fill:url(#linearGradient26855);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-287.93134"
+       y="85.971329"
+       id="rect20941"
+       style="opacity:0.46875;fill:url(#linearGradient26857);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.52533"
+       y="56.047573"
+       id="rect20943"
+       style="opacity:0.46875;fill:url(#linearGradient26859);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-241.68431"
+       y="92.835999"
+       id="rect20945"
+       style="opacity:0.46875;fill:url(#linearGradient26861);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.14163"
+       y="102.65902"
+       id="rect20947"
+       style="opacity:0.1875;fill:url(#linearGradient26863);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.81085"
+       y="62.801945"
+       id="rect20949"
+       style="opacity:0.1875;fill:url(#linearGradient26865);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-301.79077"
+       y="61.009129"
+       id="rect20951"
+       style="opacity:0.1875;fill:url(#linearGradient26867);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.69693"
+       y="73.567009"
+       id="rect20953"
+       style="opacity:0.46875;fill:url(#linearGradient26869);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.56216"
+       y="91.539566"
+       id="rect20955"
+       style="opacity:0.46875;fill:url(#linearGradient26871);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.46866"
+       y="67.355965"
+       id="rect20957"
+       style="opacity:0.46875;fill:url(#linearGradient26873);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.63399"
+       y="59.601711"
+       id="rect20959"
+       style="opacity:0.1875;fill:url(#linearGradient26875);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.94403"
+       y="59.034389"
+       id="rect20961"
+       style="opacity:0.1875;fill:url(#linearGradient26877);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-273.75485"
+       y="57.040806"
+       id="rect20963"
+       style="opacity:0.1875;fill:url(#linearGradient26879);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.73541"
+       y="60.859955"
+       id="rect20965"
+       style="opacity:0.46875;fill:url(#linearGradient26881);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-287.32837"
+       y="101.73196"
+       id="rect20967"
+       style="opacity:0.46875;fill:url(#linearGradient26883);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-288.10788"
+       y="86.818977"
+       id="rect20969"
+       style="opacity:0.46875;fill:url(#linearGradient26885);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.92403"
+       y="106.37849"
+       id="rect20971"
+       style="opacity:0.1875;fill:url(#linearGradient26887);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.3898"
+       y="81.959496"
+       id="rect20973"
+       style="opacity:0.1875;fill:url(#linearGradient26889);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.32462"
+       y="78.340958"
+       id="rect20975"
+       style="opacity:0.1875;fill:url(#linearGradient26891);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.25104"
+       y="61.141666"
+       id="rect20977"
+       style="opacity:0.46875;fill:url(#linearGradient26893);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.68286"
+       y="67.630676"
+       id="rect20979"
+       style="opacity:0.46875;fill:url(#linearGradient26895);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-238.85361"
+       y="106.74319"
+       id="rect20981"
+       style="opacity:0.46875;fill:url(#linearGradient26897);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.17776"
+       y="81.861305"
+       id="rect20983"
+       style="opacity:0.1875;fill:url(#linearGradient26899);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.77428"
+       y="65.122116"
+       id="rect20985"
+       style="opacity:0.1875;fill:url(#linearGradient26901);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-227.12112"
+       y="73.324898"
+       id="rect20987"
+       style="opacity:0.1875;fill:url(#linearGradient26903);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.10251"
+       y="63.861496"
+       id="rect20989"
+       style="opacity:0.46875;fill:url(#linearGradient26905);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.49176"
+       y="61.256626"
+       id="rect20991"
+       style="opacity:0.46875;fill:url(#linearGradient26907);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-274.67081"
+       y="62.871773"
+       id="rect20993"
+       style="opacity:0.46875;fill:url(#linearGradient26909);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.56204"
+       y="63.978767"
+       id="rect20995"
+       style="opacity:0.1875;fill:url(#linearGradient26911);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.94516"
+       y="108.00268"
+       id="rect20997"
+       style="opacity:0.1875;fill:url(#linearGradient26913);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-225.51779"
+       y="105.95143"
+       id="rect20999"
+       style="opacity:0.1875;fill:url(#linearGradient26915);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-220.02303"
+       y="78.689621"
+       id="rect21001"
+       style="opacity:0.46875;fill:url(#linearGradient26917);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.29872"
+       y="56.172379"
+       id="rect21003"
+       style="opacity:0.46875;fill:url(#linearGradient26919);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-251.64853"
+       y="73.173126"
+       id="rect21005"
+       style="opacity:0.46875;fill:url(#linearGradient26921);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.56259"
+       y="76.504417"
+       id="rect21007"
+       style="opacity:0.1875;fill:url(#linearGradient26923);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.48233"
+       y="65.487144"
+       id="rect21009"
+       style="opacity:0.1875;fill:url(#linearGradient26925);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-306.20041"
+       y="57.922138"
+       id="rect21011"
+       style="opacity:0.1875;fill:url(#linearGradient26927);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.10361"
+       y="64.32032"
+       id="rect21013"
+       style="opacity:0.46875;fill:url(#linearGradient26929);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-301.30933"
+       y="87.516853"
+       id="rect21015"
+       style="opacity:0.46875;fill:url(#linearGradient26931);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-284.75369"
+       y="55.552612"
+       id="rect21017"
+       style="opacity:0.46875;fill:url(#linearGradient26933);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-223.38631"
+       y="87.094467"
+       id="rect21019"
+       style="opacity:0.1875;fill:url(#linearGradient26935);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.48524"
+       y="99.373978"
+       id="rect21021"
+       style="opacity:0.1875;fill:url(#linearGradient26937);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-307.3002"
+       y="105.05029"
+       id="rect21023"
+       style="opacity:0.1875;fill:url(#linearGradient26939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.85101"
+       y="100.16848"
+       id="rect21025"
+       style="opacity:0.46875;fill:url(#linearGradient26941);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-289.41794"
+       y="101.33263"
+       id="rect21027"
+       style="opacity:0.46875;fill:url(#linearGradient26943);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-236.23395"
+       y="75.302628"
+       id="rect21029"
+       style="opacity:0.46875;fill:url(#linearGradient26945);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.17188"
+       y="89.433014"
+       id="rect21031"
+       style="opacity:0.1875;fill:url(#linearGradient26947);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.1181"
+       y="69.298286"
+       id="rect21033"
+       style="opacity:0.1875;fill:url(#linearGradient26949);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-236.73039"
+       y="57.077488"
+       id="rect21035"
+       style="opacity:0.1875;fill:url(#linearGradient26951);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.0459"
+       y="98.268242"
+       id="rect21037"
+       style="opacity:0.46875;fill:url(#linearGradient26953);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.43768"
+       y="71.375671"
+       id="rect21039"
+       style="opacity:0.46875;fill:url(#linearGradient26955);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-259.02997"
+       y="77.971458"
+       id="rect21041"
+       style="opacity:0.46875;fill:url(#linearGradient26957);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.72766"
+       y="101.21225"
+       id="rect21043"
+       style="opacity:0.1875;fill:url(#linearGradient26959);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.49631"
+       y="91.145035"
+       id="rect21045"
+       style="opacity:0.1875;fill:url(#linearGradient26961);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-307.40121"
+       y="108.50367"
+       id="rect21047"
+       style="opacity:0.1875;fill:url(#linearGradient26963);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.62418"
+       y="73.931641"
+       id="rect21049"
+       style="opacity:0.46875;fill:url(#linearGradient26965);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.92096"
+       y="64.543587"
+       id="rect21051"
+       style="opacity:0.46875;fill:url(#linearGradient26967);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-244.87704"
+       y="86.798286"
+       id="rect21053"
+       style="opacity:0.46875;fill:url(#linearGradient26969);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.21255"
+       y="84.152184"
+       id="rect21055"
+       style="opacity:0.1875;fill:url(#linearGradient26971);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-301.7442"
+       y="68.038704"
+       id="rect21057"
+       style="opacity:0.1875;fill:url(#linearGradient26973);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-283.7352"
+       y="106.20054"
+       id="rect21059"
+       style="opacity:0.1875;fill:url(#linearGradient26975);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-248.01788"
+       y="63.94009"
+       id="rect21061"
+       style="opacity:0.46875;fill:url(#linearGradient26977);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.39545"
+       y="81.627846"
+       id="rect21063"
+       style="opacity:0.46875;fill:url(#linearGradient26979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.15396"
+       y="87.510963"
+       id="rect21065"
+       style="opacity:0.46875;fill:url(#linearGradient26981);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-301.94168"
+       y="76.720764"
+       id="rect21067"
+       style="opacity:0.1875;fill:url(#linearGradient26983);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.2645"
+       y="76.507072"
+       id="rect21069"
+       style="opacity:0.1875;fill:url(#linearGradient26985);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-242.54091"
+       y="64.807266"
+       id="rect21071"
+       style="opacity:0.1875;fill:url(#linearGradient26987);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.0256"
+       y="105.53462"
+       id="rect21073"
+       style="opacity:0.46875;fill:url(#linearGradient26989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.12021"
+       y="86.390068"
+       id="rect21075"
+       style="opacity:0.46875;fill:url(#linearGradient26991);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-257.93661"
+       y="69.662346"
+       id="rect21077"
+       style="opacity:0.46875;fill:url(#linearGradient26993);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.68182"
+       y="92.135094"
+       id="rect21079"
+       style="opacity:0.1875;fill:url(#linearGradient26995);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.80685"
+       y="59.947994"
+       id="rect21081"
+       style="opacity:0.1875;fill:url(#linearGradient26997);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.94907"
+       y="75.974976"
+       id="rect21083"
+       style="opacity:0.1875;fill:url(#linearGradient26999);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-224.59161"
+       y="102.0582"
+       id="rect21085"
+       style="opacity:0.46875;fill:url(#linearGradient27001);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.84268"
+       y="60.748241"
+       id="rect21087"
+       style="opacity:0.46875;fill:url(#linearGradient27003);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-247.03136"
+       y="61.704609"
+       id="rect21089"
+       style="opacity:0.46875;fill:url(#linearGradient27005);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.67252"
+       y="62.573116"
+       id="rect21091"
+       style="opacity:0.1875;fill:url(#linearGradient27007);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.56517"
+       y="98.622765"
+       id="rect21093"
+       style="opacity:0.1875;fill:url(#linearGradient27009);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-272.1326"
+       y="94.367805"
+       id="rect21095"
+       style="opacity:0.1875;fill:url(#linearGradient27011);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.82713"
+       y="68.418785"
+       id="rect21097"
+       style="opacity:0.46875;fill:url(#linearGradient27013);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.95242"
+       y="81.885948"
+       id="rect21099"
+       style="opacity:0.46875;fill:url(#linearGradient27015);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-266.41571"
+       y="103.11871"
+       id="rect21101"
+       style="opacity:0.46875;fill:url(#linearGradient27017);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.21912"
+       y="55.450714"
+       id="rect21103"
+       style="opacity:0.1875;fill:url(#linearGradient27019);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.15164"
+       y="97.328751"
+       id="rect21105"
+       style="opacity:0.1875;fill:url(#linearGradient27021);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-287.23364"
+       y="62.857697"
+       id="rect21107"
+       style="opacity:0.1875;fill:url(#linearGradient27023);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-262.56189"
+       y="88.4048"
+       id="rect21109"
+       style="opacity:0.46875;fill:url(#linearGradient27025);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-261.62183"
+       y="85.401474"
+       id="rect21111"
+       style="opacity:0.46875;fill:url(#linearGradient27027);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-235.16788"
+       y="109.76205"
+       id="rect21113"
+       style="opacity:0.46875;fill:url(#linearGradient27029);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-217.02565"
+       y="80.835899"
+       id="rect21115"
+       style="opacity:0.1875;fill:url(#linearGradient27031);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.5825"
+       y="91.056412"
+       id="rect21117"
+       style="opacity:0.1875;fill:url(#linearGradient27033);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.58057"
+       y="92.429237"
+       id="rect21119"
+       style="opacity:0.1875;fill:url(#linearGradient27035);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-255.8084"
+       y="106.70076"
+       id="rect21121"
+       style="opacity:0.46875;fill:url(#linearGradient27037);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.72501"
+       y="80.25724"
+       id="rect21123"
+       style="opacity:0.46875;fill:url(#linearGradient27039);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-251.79741"
+       y="109.15076"
+       id="rect21125"
+       style="opacity:0.46875;fill:url(#linearGradient27041);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-262.84338"
+       y="100.30168"
+       id="rect21127"
+       style="opacity:0.1875;fill:url(#linearGradient27043);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-263.46655"
+       y="89.088768"
+       id="rect21129"
+       style="opacity:0.1875;fill:url(#linearGradient27045);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-279.07495"
+       y="103.64899"
+       id="rect21131"
+       style="opacity:0.1875;fill:url(#linearGradient27047);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.85617"
+       y="72.184769"
+       id="rect21133"
+       style="opacity:0.46875;fill:url(#linearGradient27049);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.11118"
+       y="89.581963"
+       id="rect21135"
+       style="opacity:0.46875;fill:url(#linearGradient27051);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-271.29672"
+       y="69.089821"
+       id="rect21137"
+       style="opacity:0.46875;fill:url(#linearGradient27053);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.05901"
+       y="72.152023"
+       id="rect21139"
+       style="opacity:0.1875;fill:url(#linearGradient27055);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.00827"
+       y="102.33545"
+       id="rect21141"
+       style="opacity:0.1875;fill:url(#linearGradient27057);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-307.26855"
+       y="61.659031"
+       id="rect21143"
+       style="opacity:0.1875;fill:url(#linearGradient27059);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-295.82904"
+       y="71.701729"
+       id="rect21145"
+       style="opacity:0.46875;fill:url(#linearGradient27061);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-238.60464"
+       y="77.884239"
+       id="rect21147"
+       style="opacity:0.46875;fill:url(#linearGradient27063);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-251.12772"
+       y="85.596474"
+       id="rect21149"
+       style="opacity:0.46875;fill:url(#linearGradient27065);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.31731"
+       y="56.329018"
+       id="rect21151"
+       style="opacity:0.1875;fill:url(#linearGradient27067);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.57483"
+       y="95.667526"
+       id="rect21153"
+       style="opacity:0.1875;fill:url(#linearGradient27069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-265.48077"
+       y="100.69909"
+       id="rect21155"
+       style="opacity:0.1875;fill:url(#linearGradient27071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-228.17764"
+       y="59.823067"
+       id="rect21157"
+       style="opacity:0.46875;fill:url(#linearGradient27073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.42281"
+       y="78.211479"
+       id="rect21159"
+       style="opacity:0.46875;fill:url(#linearGradient27075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-301.68494"
+       y="70.215508"
+       id="rect21161"
+       style="opacity:0.46875;fill:url(#linearGradient27077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.6322"
+       y="101.17437"
+       id="rect21163"
+       style="opacity:0.1875;fill:url(#linearGradient27079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-285.22156"
+       y="85.157867"
+       id="rect21165"
+       style="opacity:0.1875;fill:url(#linearGradient27081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-301.52106"
+       y="63.534519"
+       id="rect21167"
+       style="opacity:0.1875;fill:url(#linearGradient27083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-216.44229"
+       y="83.262306"
+       id="rect21169"
+       style="opacity:0.46875;fill:url(#linearGradient27085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-287.93253"
+       y="108.89066"
+       id="rect21171"
+       style="opacity:0.46875;fill:url(#linearGradient27087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-293.96442"
+       y="57.4179"
+       id="rect21173"
+       style="opacity:0.46875;fill:url(#linearGradient27089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.90317"
+       y="111.03307"
+       id="rect21175"
+       style="opacity:0.1875;fill:url(#linearGradient27091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.35715"
+       y="69.274529"
+       id="rect21177"
+       style="opacity:0.1875;fill:url(#linearGradient27093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-260.00333"
+       y="109.78416"
+       id="rect21179"
+       style="opacity:0.1875;fill:url(#linearGradient27095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.11942"
+       y="94.954216"
+       id="rect21181"
+       style="opacity:0.46875;fill:url(#linearGradient27097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.60632"
+       y="85.795189"
+       id="rect21183"
+       style="opacity:0.46875;fill:url(#linearGradient27099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-256.70975"
+       y="66.782021"
+       id="rect21185"
+       style="opacity:0.46875;fill:url(#linearGradient27101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.90479"
+       y="102.16841"
+       id="rect21187"
+       style="opacity:0.1875;fill:url(#linearGradient27103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-228.94711"
+       y="57.03421"
+       id="rect21189"
+       style="opacity:0.1875;fill:url(#linearGradient27105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-264.45731"
+       y="61.083805"
+       id="rect21191"
+       style="opacity:0.1875;fill:url(#linearGradient27107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.54405"
+       y="93.159767"
+       id="rect21193"
+       style="opacity:0.46875;fill:url(#linearGradient27109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.33878"
+       y="92.271156"
+       id="rect21195"
+       style="opacity:0.46875;fill:url(#linearGradient27111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-280.116"
+       y="84.80423"
+       id="rect21197"
+       style="opacity:0.46875;fill:url(#linearGradient27113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.88902"
+       y="58.80711"
+       id="rect21199"
+       style="opacity:0.1875;fill:url(#linearGradient27115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.33392"
+       y="76.536911"
+       id="rect21201"
+       style="opacity:0.1875;fill:url(#linearGradient27117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-306.26511"
+       y="80.201492"
+       id="rect21203"
+       style="opacity:0.1875;fill:url(#linearGradient27119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-301.01447"
+       y="100.298"
+       id="rect21205"
+       style="opacity:0.46875;fill:url(#linearGradient27121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-253.10202"
+       y="58.051792"
+       id="rect21207"
+       style="opacity:0.46875;fill:url(#linearGradient27123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-252.26166"
+       y="107.3416"
+       id="rect21209"
+       style="opacity:0.46875;fill:url(#linearGradient27125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.62167"
+       y="58.792862"
+       id="rect21211"
+       style="opacity:0.1875;fill:url(#linearGradient27127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-261.48352"
+       y="61.158932"
+       id="rect21213"
+       style="opacity:0.1875;fill:url(#linearGradient27129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-283.12637"
+       y="66.620155"
+       id="rect21215"
+       style="opacity:0.1875;fill:url(#linearGradient27131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.6153"
+       y="73.945251"
+       id="rect21217"
+       style="opacity:0.46875;fill:url(#linearGradient27133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.59021"
+       y="65.025085"
+       id="rect21219"
+       style="opacity:0.46875;fill:url(#linearGradient27135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.93964"
+       y="95.183495"
+       id="rect21221"
+       style="opacity:0.46875;fill:url(#linearGradient27137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.58449"
+       y="98.754738"
+       id="rect21223"
+       style="opacity:0.1875;fill:url(#linearGradient27139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.2807"
+       y="65.886925"
+       id="rect21225"
+       style="opacity:0.1875;fill:url(#linearGradient27141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-280.5025"
+       y="83.986488"
+       id="rect21227"
+       style="opacity:0.1875;fill:url(#linearGradient27143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.90002"
+       y="85.324791"
+       id="rect21229"
+       style="opacity:0.46875;fill:url(#linearGradient27145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.44086"
+       y="82.210342"
+       id="rect21231"
+       style="opacity:0.46875;fill:url(#linearGradient27147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-256.56891"
+       y="84.863411"
+       id="rect21233"
+       style="opacity:0.46875;fill:url(#linearGradient27149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.25336"
+       y="87.089043"
+       id="rect21235"
+       style="opacity:0.1875;fill:url(#linearGradient27151);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.89474"
+       y="76.845276"
+       id="rect21237"
+       style="opacity:0.1875;fill:url(#linearGradient27153);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-266.92368"
+       y="108.63635"
+       id="rect21239"
+       style="opacity:0.1875;fill:url(#linearGradient27155);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.47511"
+       y="63.970722"
+       id="rect21241"
+       style="opacity:0.46875;fill:url(#linearGradient27157);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.57806"
+       y="61.810444"
+       id="rect21243"
+       style="opacity:0.46875;fill:url(#linearGradient27159);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-237.78726"
+       y="80.350128"
+       id="rect21245"
+       style="opacity:0.46875;fill:url(#linearGradient27161);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-246.69666"
+       y="70.788307"
+       id="rect21247"
+       style="opacity:0.1875;fill:url(#linearGradient27163);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.49185"
+       y="68.09623"
+       id="rect21249"
+       style="opacity:0.1875;fill:url(#linearGradient27165);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.31662"
+       y="72.337776"
+       id="rect21251"
+       style="opacity:0.1875;fill:url(#linearGradient27167);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.89255"
+       y="66.959465"
+       id="rect21253"
+       style="opacity:0.46875;fill:url(#linearGradient27169);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.88751"
+       y="69.532631"
+       id="rect21255"
+       style="opacity:0.46875;fill:url(#linearGradient27171);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-274.67349"
+       y="60.119705"
+       id="rect21257"
+       style="opacity:0.46875;fill:url(#linearGradient27173);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.59361"
+       y="87.967026"
+       id="rect21259"
+       style="opacity:0.1875;fill:url(#linearGradient27175);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.74771"
+       y="107.91908"
+       id="rect21261"
+       style="opacity:0.1875;fill:url(#linearGradient27177);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-231.36357"
+       y="97.068886"
+       id="rect21263"
+       style="opacity:0.1875;fill:url(#linearGradient27179);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-238.16719"
+       y="75.513985"
+       id="rect21265"
+       style="opacity:0.46875;fill:url(#linearGradient27181);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.69632"
+       y="99.551247"
+       id="rect21267"
+       style="opacity:0.46875;fill:url(#linearGradient27183);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-251.33495"
+       y="75.012238"
+       id="rect21269"
+       style="opacity:0.46875;fill:url(#linearGradient27185);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.54056"
+       y="111.64594"
+       id="rect21271"
+       style="opacity:0.1875;fill:url(#linearGradient27187);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.6232"
+       y="57.15493"
+       id="rect21273"
+       style="opacity:0.1875;fill:url(#linearGradient27189);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-228.94926"
+       y="102.41476"
+       id="rect21275"
+       style="opacity:0.1875;fill:url(#linearGradient27191);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.89328"
+       y="68.986198"
+       id="rect21277"
+       style="opacity:0.46875;fill:url(#linearGradient27193);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.78401"
+       y="92.376289"
+       id="rect21279"
+       style="opacity:0.46875;fill:url(#linearGradient27195);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-248.17442"
+       y="62.975868"
+       id="rect21281"
+       style="opacity:0.46875;fill:url(#linearGradient27197);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.98894"
+       y="74.333855"
+       id="rect21283"
+       style="opacity:0.1875;fill:url(#linearGradient27199);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.34875"
+       y="74.775146"
+       id="rect21285"
+       style="opacity:0.1875;fill:url(#linearGradient27201);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-258.19437"
+       y="67.117424"
+       id="rect21287"
+       style="opacity:0.1875;fill:url(#linearGradient27203);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.04742"
+       y="87.623558"
+       id="rect21289"
+       style="opacity:0.46875;fill:url(#linearGradient27205);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.68338"
+       y="83.066238"
+       id="rect21291"
+       style="opacity:0.46875;fill:url(#linearGradient27207);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-256.97443"
+       y="68.172554"
+       id="rect21293"
+       style="opacity:0.46875;fill:url(#linearGradient27209);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.65314"
+       y="103.76814"
+       id="rect21295"
+       style="opacity:0.1875;fill:url(#linearGradient27211);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.52921"
+       y="89.421211"
+       id="rect21297"
+       style="opacity:0.1875;fill:url(#linearGradient27213);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-255.46428"
+       y="86.758759"
+       id="rect21299"
+       style="opacity:0.1875;fill:url(#linearGradient27215);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-307.32059"
+       y="59.507183"
+       id="rect21301"
+       style="opacity:0.46875;fill:url(#linearGradient27217);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-268.4805"
+       y="56.354454"
+       id="rect21303"
+       style="opacity:0.46875;fill:url(#linearGradient27219);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-253.79776"
+       y="82.508331"
+       id="rect21305"
+       style="opacity:0.46875;fill:url(#linearGradient27221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.34879"
+       y="101.22415"
+       id="rect21307"
+       style="opacity:0.1875;fill:url(#linearGradient27223);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.26691"
+       y="81.187157"
+       id="rect21309"
+       style="opacity:0.1875;fill:url(#linearGradient27225);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-245.5034"
+       y="57.942776"
+       id="rect21311"
+       style="opacity:0.1875;fill:url(#linearGradient27227);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-279.29797"
+       y="56.313656"
+       id="rect21313"
+       style="opacity:0.46875;fill:url(#linearGradient27229);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.09218"
+       y="102.84291"
+       id="rect21315"
+       style="opacity:0.46875;fill:url(#linearGradient27231);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-300.79333"
+       y="57.296597"
+       id="rect21317"
+       style="opacity:0.46875;fill:url(#linearGradient27233);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.46246"
+       y="58.547722"
+       id="rect21319"
+       style="opacity:0.1875;fill:url(#linearGradient27235);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.19955"
+       y="98.540131"
+       id="rect21321"
+       style="opacity:0.1875;fill:url(#linearGradient27237);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.17332"
+       y="70.700653"
+       id="rect21323"
+       style="opacity:0.1875;fill:url(#linearGradient27239);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.90558"
+       y="89.287468"
+       id="rect21325"
+       style="opacity:0.46875;fill:url(#linearGradient27241);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.75607"
+       y="75.273468"
+       id="rect21327"
+       style="opacity:0.46875;fill:url(#linearGradient27243);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-285.25287"
+       y="96.609406"
+       id="rect21329"
+       style="opacity:0.46875;fill:url(#linearGradient27245);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.75479"
+       y="105.10313"
+       id="rect21331"
+       style="opacity:0.1875;fill:url(#linearGradient27247);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.81497"
+       y="60.864231"
+       id="rect21333"
+       style="opacity:0.1875;fill:url(#linearGradient27249);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-261.41241"
+       y="63.960575"
+       id="rect21335"
+       style="opacity:0.1875;fill:url(#linearGradient27251);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.99886"
+       y="64.671219"
+       id="rect21337"
+       style="opacity:0.46875;fill:url(#linearGradient27253);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.80031"
+       y="56.595322"
+       id="rect21339"
+       style="opacity:0.46875;fill:url(#linearGradient27255);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.96497"
+       y="103.23323"
+       id="rect21341"
+       style="opacity:0.46875;fill:url(#linearGradient27257);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.19916"
+       y="75.172691"
+       id="rect21343"
+       style="opacity:0.1875;fill:url(#linearGradient27259);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.57715"
+       y="101.3636"
+       id="rect21345"
+       style="opacity:0.1875;fill:url(#linearGradient27261);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-235.93849"
+       y="74.692139"
+       id="rect21347"
+       style="opacity:0.1875;fill:url(#linearGradient27263);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.13702"
+       y="64.289536"
+       id="rect21349"
+       style="opacity:0.46875;fill:url(#linearGradient27265);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.13849"
+       y="63.319588"
+       id="rect21351"
+       style="opacity:0.46875;fill:url(#linearGradient27267);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.52722"
+       y="87.676361"
+       id="rect21353"
+       style="opacity:0.46875;fill:url(#linearGradient27269);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-249.15074"
+       y="78.342529"
+       id="rect21355"
+       style="opacity:0.1875;fill:url(#linearGradient27271);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-304.875"
+       y="106.99411"
+       id="rect21357"
+       style="opacity:0.1875;fill:url(#linearGradient27273);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-243.84726"
+       y="69.912445"
+       id="rect21359"
+       style="opacity:0.1875;fill:url(#linearGradient27275);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.75728"
+       y="84.166862"
+       id="rect21361"
+       style="opacity:0.46875;fill:url(#linearGradient27277);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.75204"
+       y="88.894562"
+       id="rect21363"
+       style="opacity:0.46875;fill:url(#linearGradient27279);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-267.36176"
+       y="58.718811"
+       id="rect21365"
+       style="opacity:0.46875;fill:url(#linearGradient27281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-223.17926"
+       y="100.05959"
+       id="rect21367"
+       style="opacity:0.1875;fill:url(#linearGradient27283);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-291.39511"
+       y="91.973068"
+       id="rect21369"
+       style="opacity:0.1875;fill:url(#linearGradient27285);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-234.90848"
+       y="65.40184"
+       id="rect21371"
+       style="opacity:0.1875;fill:url(#linearGradient27287);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.50565"
+       y="82.440086"
+       id="rect21373"
+       style="opacity:0.46875;fill:url(#linearGradient27289);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.06406"
+       y="62.919212"
+       id="rect21375"
+       style="opacity:0.46875;fill:url(#linearGradient27291);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-294.80597"
+       y="79.708824"
+       id="rect21377"
+       style="opacity:0.46875;fill:url(#linearGradient27293);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-219.50827"
+       y="86.379814"
+       id="rect21379"
+       style="opacity:0.1875;fill:url(#linearGradient27295);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.90628"
+       y="78.480072"
+       id="rect21381"
+       style="opacity:0.1875;fill:url(#linearGradient27297);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-239.25328"
+       y="88.913887"
+       id="rect21383"
+       style="opacity:0.1875;fill:url(#linearGradient27299);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.05078"
+       y="72.513489"
+       id="rect21385"
+       style="opacity:0.46875;fill:url(#linearGradient27301);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.75754"
+       y="59.668365"
+       id="rect21387"
+       style="opacity:0.46875;fill:url(#linearGradient27303);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-251.42499"
+       y="84.254898"
+       id="rect21389"
+       style="opacity:0.46875;fill:url(#linearGradient27305);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.21336"
+       y="92.538765"
+       id="rect21391"
+       style="opacity:0.1875;fill:url(#linearGradient27307);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-274.96292"
+       y="67.801994"
+       id="rect21393"
+       style="opacity:0.1875;fill:url(#linearGradient27309);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-259.03345"
+       y="79.786247"
+       id="rect21395"
+       style="opacity:0.1875;fill:url(#linearGradient27311);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-222.33481"
+       y="73.434113"
+       id="rect21397"
+       style="opacity:0.46875;fill:url(#linearGradient27313);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.33148"
+       y="104.76869"
+       id="rect21399"
+       style="opacity:0.46875;fill:url(#linearGradient27315);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.44894"
+       y="99.540825"
+       id="rect21401"
+       style="opacity:0.46875;fill:url(#linearGradient27317);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.04898"
+       y="81.255905"
+       id="rect21403"
+       style="opacity:0.1875;fill:url(#linearGradient27319);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.30069"
+       y="63.783806"
+       id="rect21405"
+       style="opacity:0.1875;fill:url(#linearGradient27321);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-266.29605"
+       y="68.727859"
+       id="rect21407"
+       style="opacity:0.1875;fill:url(#linearGradient27323);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-222.89272"
+       y="66.714928"
+       id="rect21409"
+       style="opacity:0.46875;fill:url(#linearGradient27325);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.11136"
+       y="102.37201"
+       id="rect21411"
+       style="opacity:0.46875;fill:url(#linearGradient27327);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-255.21965"
+       y="90.515549"
+       id="rect21413"
+       style="opacity:0.46875;fill:url(#linearGradient27329);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-217.83557"
+       y="104.97116"
+       id="rect21415"
+       style="opacity:0.1875;fill:url(#linearGradient27331);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.50201"
+       y="107.85217"
+       id="rect21417"
+       style="opacity:0.1875;fill:url(#linearGradient27333);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-256.51273"
+       y="109.82304"
+       id="rect21419"
+       style="opacity:0.1875;fill:url(#linearGradient27335);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.68771"
+       y="83.052849"
+       id="rect21421"
+       style="opacity:0.46875;fill:url(#linearGradient27337);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.08441"
+       y="55.352558"
+       id="rect21423"
+       style="opacity:0.46875;fill:url(#linearGradient27339);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-307.1561"
+       y="69.60759"
+       id="rect21425"
+       style="opacity:0.46875;fill:url(#linearGradient27341);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-248.7278"
+       y="98.796432"
+       id="rect21427"
+       style="opacity:0.1875;fill:url(#linearGradient27343);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.89224"
+       y="93.656448"
+       id="rect21429"
+       style="opacity:0.1875;fill:url(#linearGradient27345);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.91916"
+       y="79.919479"
+       id="rect21431"
+       style="opacity:0.1875;fill:url(#linearGradient27347);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.83963"
+       y="82.481972"
+       id="rect21433"
+       style="opacity:0.46875;fill:url(#linearGradient27349);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.69556"
+       y="84.644272"
+       id="rect21435"
+       style="opacity:0.46875;fill:url(#linearGradient27351);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-296.13559"
+       y="75.38723"
+       id="rect21437"
+       style="opacity:0.46875;fill:url(#linearGradient27353);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.20813"
+       y="69.854103"
+       id="rect21439"
+       style="opacity:0.1875;fill:url(#linearGradient27355);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.60059"
+       y="68.559395"
+       id="rect21441"
+       style="opacity:0.1875;fill:url(#linearGradient27357);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-283.63321"
+       y="81.568436"
+       id="rect21443"
+       style="opacity:0.1875;fill:url(#linearGradient27359);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.16757"
+       y="81.135536"
+       id="rect21445"
+       style="opacity:0.46875;fill:url(#linearGradient27361);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.10229"
+       y="85.68129"
+       id="rect21447"
+       style="opacity:0.46875;fill:url(#linearGradient27363);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.03432"
+       y="107.33843"
+       id="rect21449"
+       style="opacity:0.46875;fill:url(#linearGradient27365);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.79033"
+       y="95.026062"
+       id="rect21451"
+       style="opacity:0.1875;fill:url(#linearGradient27367);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.72145"
+       y="98.058182"
+       id="rect21453"
+       style="opacity:0.1875;fill:url(#linearGradient27369);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-233.6649"
+       y="63.695808"
+       id="rect21455"
+       style="opacity:0.1875;fill:url(#linearGradient27371);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-220.88246"
+       y="75.468437"
+       id="rect21457"
+       style="opacity:0.46875;fill:url(#linearGradient27373);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.45953"
+       y="111.10085"
+       id="rect21459"
+       style="opacity:0.46875;fill:url(#linearGradient27375);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-232.74779"
+       y="85.411835"
+       id="rect21461"
+       style="opacity:0.46875;fill:url(#linearGradient27377);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-225.76868"
+       y="65.039749"
+       id="rect21463"
+       style="opacity:0.1875;fill:url(#linearGradient27379);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.39914"
+       y="109.71464"
+       id="rect21465"
+       style="opacity:0.1875;fill:url(#linearGradient27381);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-287.76727"
+       y="87.23999"
+       id="rect21467"
+       style="opacity:0.1875;fill:url(#linearGradient27383);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.03047"
+       y="70.933456"
+       id="rect21469"
+       style="opacity:0.46875;fill:url(#linearGradient27385);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-261.24399"
+       y="91.743217"
+       id="rect21471"
+       style="opacity:0.46875;fill:url(#linearGradient27387);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-268.04282"
+       y="96.093422"
+       id="rect21473"
+       style="opacity:0.46875;fill:url(#linearGradient27389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.54053"
+       y="80.427925"
+       id="rect21475"
+       style="opacity:0.1875;fill:url(#linearGradient27391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.41525"
+       y="87.967781"
+       id="rect21477"
+       style="opacity:0.1875;fill:url(#linearGradient27393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-287.14575"
+       y="92.518379"
+       id="rect21479"
+       style="opacity:0.1875;fill:url(#linearGradient27395);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.88187"
+       y="104.75542"
+       id="rect21481"
+       style="opacity:0.46875;fill:url(#linearGradient27397);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-225.48245"
+       y="56.437023"
+       id="rect21483"
+       style="opacity:0.46875;fill:url(#linearGradient27399);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-291.78445"
+       y="71.8396"
+       id="rect21485"
+       style="opacity:0.46875;fill:url(#linearGradient27401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.13855"
+       y="110.62964"
+       id="rect21487"
+       style="opacity:0.1875;fill:url(#linearGradient27403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.79547"
+       y="95.475662"
+       id="rect21489"
+       style="opacity:0.1875;fill:url(#linearGradient27405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-260.55093"
+       y="83.479332"
+       id="rect21491"
+       style="opacity:0.1875;fill:url(#linearGradient27407);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-264.83661"
+       y="105.59111"
+       id="rect21493"
+       style="opacity:0.46875;fill:url(#linearGradient27409);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-283.90616"
+       y="105.14223"
+       id="rect21495"
+       style="opacity:0.46875;fill:url(#linearGradient27411);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-247.52286"
+       y="110.83428"
+       id="rect21497"
+       style="opacity:0.46875;fill:url(#linearGradient27413);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.30792"
+       y="108.30075"
+       id="rect21499"
+       style="opacity:0.1875;fill:url(#linearGradient27415);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-238.4128"
+       y="66.733093"
+       id="rect21501"
+       style="opacity:0.1875;fill:url(#linearGradient27417);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-236.95995"
+       y="100.79337"
+       id="rect21503"
+       style="opacity:0.1875;fill:url(#linearGradient27419);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-248.94753"
+       y="109.69339"
+       id="rect21505"
+       style="opacity:0.46875;fill:url(#linearGradient27421);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-285.84122"
+       y="61.881496"
+       id="rect21507"
+       style="opacity:0.46875;fill:url(#linearGradient27423);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-263.46597"
+       y="90.312744"
+       id="rect21509"
+       style="opacity:0.46875;fill:url(#linearGradient27425);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.28766"
+       y="105.66008"
+       id="rect21511"
+       style="opacity:0.1875;fill:url(#linearGradient27427);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.57361"
+       y="110.81626"
+       id="rect21513"
+       style="opacity:0.1875;fill:url(#linearGradient27429);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-273.30582"
+       y="78.19458"
+       id="rect21515"
+       style="opacity:0.1875;fill:url(#linearGradient27431);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.36133"
+       y="65.584717"
+       id="rect21517"
+       style="opacity:0.46875;fill:url(#linearGradient27433);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.48462"
+       y="90.008995"
+       id="rect21519"
+       style="opacity:0.46875;fill:url(#linearGradient27435);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-293.29022"
+       y="77.312546"
+       id="rect21521"
+       style="opacity:0.46875;fill:url(#linearGradient27437);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.92154"
+       y="108.85014"
+       id="rect21523"
+       style="opacity:0.1875;fill:url(#linearGradient27439);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-235.70132"
+       y="86.926987"
+       id="rect21525"
+       style="opacity:0.1875;fill:url(#linearGradient27441);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-299.51126"
+       y="81.268387"
+       id="rect21527"
+       style="opacity:0.1875;fill:url(#linearGradient27443);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-242.69012"
+       y="107.18739"
+       id="rect21529"
+       style="opacity:0.46875;fill:url(#linearGradient27445);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.16809"
+       y="91.953133"
+       id="rect21531"
+       style="opacity:0.46875;fill:url(#linearGradient27447);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-303.52182"
+       y="91.424484"
+       id="rect21533"
+       style="opacity:0.46875;fill:url(#linearGradient27449);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.15775"
+       y="104.16637"
+       id="rect21535"
+       style="opacity:0.1875;fill:url(#linearGradient27451);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.05234"
+       y="58.979252"
+       id="rect21537"
+       style="opacity:0.1875;fill:url(#linearGradient27453);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-261.64029"
+       y="55.466087"
+       id="rect21539"
+       style="opacity:0.1875;fill:url(#linearGradient27455);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.65317"
+       y="72.480949"
+       id="rect21541"
+       style="opacity:0.46875;fill:url(#linearGradient27457);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.7802"
+       y="75.611626"
+       id="rect21543"
+       style="opacity:0.46875;fill:url(#linearGradient27459);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-305.25217"
+       y="107.40909"
+       id="rect21545"
+       style="opacity:0.46875;fill:url(#linearGradient27461);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.92938"
+       y="100.32093"
+       id="rect21547"
+       style="opacity:0.1875;fill:url(#linearGradient27463);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.53226"
+       y="61.29652"
+       id="rect21549"
+       style="opacity:0.1875;fill:url(#linearGradient27465);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-292.69031"
+       y="77.940781"
+       id="rect21551"
+       style="opacity:0.1875;fill:url(#linearGradient27467);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.86548"
+       y="85.345512"
+       id="rect21553"
+       style="opacity:0.46875;fill:url(#linearGradient27469);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.49466"
+       y="73.688721"
+       id="rect21555"
+       style="opacity:0.46875;fill:url(#linearGradient27471);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-232.92558"
+       y="101.36566"
+       id="rect21557"
+       style="opacity:0.46875;fill:url(#linearGradient27473);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-263.073"
+       y="107.99613"
+       id="rect21559"
+       style="opacity:0.1875;fill:url(#linearGradient27475);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.97604"
+       y="90.513596"
+       id="rect21561"
+       style="opacity:0.1875;fill:url(#linearGradient27477);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-238.73608"
+       y="97.185303"
+       id="rect21563"
+       style="opacity:0.1875;fill:url(#linearGradient27479);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.27396"
+       y="105.07907"
+       id="rect21565"
+       style="opacity:0.46875;fill:url(#linearGradient27481);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-229.82477"
+       y="56.584343"
+       id="rect21567"
+       style="opacity:0.46875;fill:url(#linearGradient27483);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-286.95914"
+       y="98.348389"
+       id="rect21569"
+       style="opacity:0.46875;fill:url(#linearGradient27485);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.59947"
+       y="63.419086"
+       id="rect21571"
+       style="opacity:0.1875;fill:url(#linearGradient27487);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.72168"
+       y="82.934814"
+       id="rect21573"
+       style="opacity:0.1875;fill:url(#linearGradient27489);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-279.19464"
+       y="66.085556"
+       id="rect21575"
+       style="opacity:0.1875;fill:url(#linearGradient27491);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-284.0527"
+       y="58.101696"
+       id="rect21577"
+       style="opacity:0.46875;fill:url(#linearGradient27493);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.06149"
+       y="103.94582"
+       id="rect21579"
+       style="opacity:0.46875;fill:url(#linearGradient27495);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-235.56268"
+       y="72.870979"
+       id="rect21581"
+       style="opacity:0.46875;fill:url(#linearGradient27497);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-252.6017"
+       y="74.478989"
+       id="rect21583"
+       style="opacity:0.1875;fill:url(#linearGradient27499);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.55887"
+       y="99.894096"
+       id="rect21585"
+       style="opacity:0.1875;fill:url(#linearGradient27501);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-248.11136"
+       y="92.003113"
+       id="rect21587"
+       style="opacity:0.1875;fill:url(#linearGradient27503);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.96588"
+       y="91.77327"
+       id="rect21589"
+       style="opacity:0.46875;fill:url(#linearGradient27505);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-227.51933"
+       y="105.80508"
+       id="rect21591"
+       style="opacity:0.46875;fill:url(#linearGradient27507);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-242.48543"
+       y="103.79506"
+       id="rect21593"
+       style="opacity:0.46875;fill:url(#linearGradient27509);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.12206"
+       y="108.9409"
+       id="rect21595"
+       style="opacity:0.1875;fill:url(#linearGradient27511);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.02167"
+       y="58.260303"
+       id="rect21597"
+       style="opacity:0.1875;fill:url(#linearGradient27513);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-272.77448"
+       y="65.542923"
+       id="rect21599"
+       style="opacity:0.1875;fill:url(#linearGradient27515);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.63763"
+       y="68.649734"
+       id="rect21601"
+       style="opacity:0.46875;fill:url(#linearGradient27517);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.66443"
+       y="55.40823"
+       id="rect21603"
+       style="opacity:0.46875;fill:url(#linearGradient27519);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-281.11868"
+       y="70.003098"
+       id="rect21605"
+       style="opacity:0.46875;fill:url(#linearGradient27521);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.80618"
+       y="83.68644"
+       id="rect21607"
+       style="opacity:0.1875;fill:url(#linearGradient27523);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.61108"
+       y="72.337257"
+       id="rect21609"
+       style="opacity:0.1875;fill:url(#linearGradient27525);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-281.52625"
+       y="91.485954"
+       id="rect21611"
+       style="opacity:0.1875;fill:url(#linearGradient27527);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.82098"
+       y="73.17878"
+       id="rect21613"
+       style="opacity:0.46875;fill:url(#linearGradient27529);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.31381"
+       y="62.302635"
+       id="rect21615"
+       style="opacity:0.46875;fill:url(#linearGradient27531);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.39542"
+       y="100.40778"
+       id="rect21617"
+       style="opacity:0.46875;fill:url(#linearGradient27533);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.2916"
+       y="56.54998"
+       id="rect21619"
+       style="opacity:0.1875;fill:url(#linearGradient27535);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.85687"
+       y="88.680138"
+       id="rect21621"
+       style="opacity:0.1875;fill:url(#linearGradient27537);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-290.02325"
+       y="57.190468"
+       id="rect21623"
+       style="opacity:0.1875;fill:url(#linearGradient27539);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-218.22159"
+       y="107.58854"
+       id="rect21625"
+       style="opacity:0.46875;fill:url(#linearGradient27541);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.79041"
+       y="67.897629"
+       id="rect21627"
+       style="opacity:0.46875;fill:url(#linearGradient27543);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-286.17734"
+       y="93.437904"
+       id="rect21629"
+       style="opacity:0.46875;fill:url(#linearGradient27545);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-221.62856"
+       y="69.776123"
+       id="rect21631"
+       style="opacity:0.1875;fill:url(#linearGradient27547);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-292.85226"
+       y="72.556374"
+       id="rect21633"
+       style="opacity:0.1875;fill:url(#linearGradient27549);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.26521"
+       y="65.97863"
+       id="rect21829"
+       style="opacity:0.46875;fill:url(#linearGradient27745);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-234.92079"
+       y="66.180679"
+       id="rect21635"
+       style="opacity:0.1875;fill:url(#linearGradient27551);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.52203"
+       y="88.789848"
+       id="rect21637"
+       style="opacity:0.46875;fill:url(#linearGradient27553);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.35887"
+       y="106.48306"
+       id="rect21639"
+       style="opacity:0.46875;fill:url(#linearGradient27555);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-257.09924"
+       y="61.134922"
+       id="rect21641"
+       style="opacity:0.46875;fill:url(#linearGradient27557);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.71439"
+       y="71.699997"
+       id="rect21643"
+       style="opacity:0.1875;fill:url(#linearGradient27559);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.7209"
+       y="60.317715"
+       id="rect21645"
+       style="opacity:0.1875;fill:url(#linearGradient27561);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-232.00232"
+       y="56.347214"
+       id="rect21647"
+       style="opacity:0.1875;fill:url(#linearGradient27563);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.17883"
+       y="94.825455"
+       id="rect21649"
+       style="opacity:0.46875;fill:url(#linearGradient27565);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.89526"
+       y="87.537811"
+       id="rect21651"
+       style="opacity:0.46875;fill:url(#linearGradient27567);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-261.26334"
+       y="84.091301"
+       id="rect21653"
+       style="opacity:0.46875;fill:url(#linearGradient27569);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.27002"
+       y="70.411156"
+       id="rect21655"
+       style="opacity:0.1875;fill:url(#linearGradient27571);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.69394"
+       y="78.538818"
+       id="rect21657"
+       style="opacity:0.1875;fill:url(#linearGradient27573);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-273.68408"
+       y="60.320854"
+       id="rect21659"
+       style="opacity:0.1875;fill:url(#linearGradient27575);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.35306"
+       y="103.11416"
+       id="rect21661"
+       style="opacity:0.46875;fill:url(#linearGradient27577);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-244.28685"
+       y="96.777092"
+       id="rect21663"
+       style="opacity:0.46875;fill:url(#linearGradient27579);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-238.80014"
+       y="106.55783"
+       id="rect21665"
+       style="opacity:0.46875;fill:url(#linearGradient27581);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-222.17648"
+       y="66.65284"
+       id="rect21667"
+       style="opacity:0.1875;fill:url(#linearGradient27583);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.69562"
+       y="59.358051"
+       id="rect21669"
+       style="opacity:0.1875;fill:url(#linearGradient27585);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-267.25375"
+       y="75.676254"
+       id="rect21671"
+       style="opacity:0.1875;fill:url(#linearGradient27587);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-263.92645"
+       y="65.860481"
+       id="rect21673"
+       style="opacity:0.46875;fill:url(#linearGradient27589);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-269.39749"
+       y="102.62814"
+       id="rect21675"
+       style="opacity:0.46875;fill:url(#linearGradient27591);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.31821"
+       y="77.852493"
+       id="rect21677"
+       style="opacity:0.46875;fill:url(#linearGradient27593);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.6496"
+       y="101.4992"
+       id="rect21679"
+       style="opacity:0.1875;fill:url(#linearGradient27595);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.46136"
+       y="73.306519"
+       id="rect21681"
+       style="opacity:0.1875;fill:url(#linearGradient27597);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-305.29956"
+       y="102.79834"
+       id="rect21683"
+       style="opacity:0.1875;fill:url(#linearGradient27599);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.90312"
+       y="85.702217"
+       id="rect21685"
+       style="opacity:0.46875;fill:url(#linearGradient27601);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.05383"
+       y="111.4539"
+       id="rect21687"
+       style="opacity:0.46875;fill:url(#linearGradient27603);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-268.43542"
+       y="81.403618"
+       id="rect21689"
+       style="opacity:0.46875;fill:url(#linearGradient27605);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.30719"
+       y="92.514725"
+       id="rect21691"
+       style="opacity:0.1875;fill:url(#linearGradient27607);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.24991"
+       y="74.283562"
+       id="rect21693"
+       style="opacity:0.1875;fill:url(#linearGradient27609);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-282.06049"
+       y="60.561077"
+       id="rect21695"
+       style="opacity:0.1875;fill:url(#linearGradient27611);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-239.73814"
+       y="105.74458"
+       id="rect21697"
+       style="opacity:0.46875;fill:url(#linearGradient27613);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.22021"
+       y="96.253685"
+       id="rect21699"
+       style="opacity:0.46875;fill:url(#linearGradient27615);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-288.03934"
+       y="110.5692"
+       id="rect21701"
+       style="opacity:0.46875;fill:url(#linearGradient27617);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.17294"
+       y="111.13409"
+       id="rect21703"
+       style="opacity:0.1875;fill:url(#linearGradient27619);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-234.59334"
+       y="101.43046"
+       id="rect21705"
+       style="opacity:0.1875;fill:url(#linearGradient27621);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.58798"
+       y="60.705799"
+       id="rect21707"
+       style="opacity:0.1875;fill:url(#linearGradient27623);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-272.61441"
+       y="73.019402"
+       id="rect21709"
+       style="opacity:0.46875;fill:url(#linearGradient27625);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.7652"
+       y="98.472694"
+       id="rect21711"
+       style="opacity:0.46875;fill:url(#linearGradient27627);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-276.8707"
+       y="107.17078"
+       id="rect21713"
+       style="opacity:0.46875;fill:url(#linearGradient27629);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-238.23187"
+       y="86.312042"
+       id="rect21715"
+       style="opacity:0.1875;fill:url(#linearGradient27631);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.60698"
+       y="95.533546"
+       id="rect21717"
+       style="opacity:0.1875;fill:url(#linearGradient27633);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-306.71002"
+       y="101.39093"
+       id="rect21719"
+       style="opacity:0.1875;fill:url(#linearGradient27635);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-272.34747"
+       y="86.315704"
+       id="rect21721"
+       style="opacity:0.46875;fill:url(#linearGradient27637);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-291.95612"
+       y="55.324371"
+       id="rect21723"
+       style="opacity:0.46875;fill:url(#linearGradient27639);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-304.55295"
+       y="102.14988"
+       id="rect21725"
+       style="opacity:0.46875;fill:url(#linearGradient27641);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-267.01569"
+       y="61.645065"
+       id="rect21727"
+       style="opacity:0.1875;fill:url(#linearGradient27643);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-256.86374"
+       y="110.06892"
+       id="rect21729"
+       style="opacity:0.1875;fill:url(#linearGradient27645);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-297.23123"
+       y="92.380867"
+       id="rect21731"
+       style="opacity:0.1875;fill:url(#linearGradient27647);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.22873"
+       y="59.463947"
+       id="rect21733"
+       style="opacity:0.46875;fill:url(#linearGradient27649);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-291.77228"
+       y="92.189217"
+       id="rect21735"
+       style="opacity:0.46875;fill:url(#linearGradient27651);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-285.35599"
+       y="108.36303"
+       id="rect21737"
+       style="opacity:0.46875;fill:url(#linearGradient27653);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.51425"
+       y="55.131035"
+       id="rect21739"
+       style="opacity:0.1875;fill:url(#linearGradient27655);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-254.97046"
+       y="78.479927"
+       id="rect21741"
+       style="opacity:0.1875;fill:url(#linearGradient27657);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-290.53455"
+       y="70.767914"
+       id="rect21743"
+       style="opacity:0.1875;fill:url(#linearGradient27659);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-248.0918"
+       y="83.996956"
+       id="rect21745"
+       style="opacity:0.46875;fill:url(#linearGradient27661);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-280.30066"
+       y="100.72653"
+       id="rect21747"
+       style="opacity:0.46875;fill:url(#linearGradient27663);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-279.70331"
+       y="67.053055"
+       id="rect21749"
+       style="opacity:0.46875;fill:url(#linearGradient27665);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.98083"
+       y="73.581207"
+       id="rect21751"
+       style="opacity:0.1875;fill:url(#linearGradient27667);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.08847"
+       y="94.374672"
+       id="rect21753"
+       style="opacity:0.1875;fill:url(#linearGradient27669);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-254.45741"
+       y="100.69733"
+       id="rect21755"
+       style="opacity:0.1875;fill:url(#linearGradient27671);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-231.60889"
+       y="85.703201"
+       id="rect21757"
+       style="opacity:0.46875;fill:url(#linearGradient27673);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-274.84732"
+       y="103.87772"
+       id="rect21759"
+       style="opacity:0.46875;fill:url(#linearGradient27675);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-289.03357"
+       y="90.877365"
+       id="rect21761"
+       style="opacity:0.46875;fill:url(#linearGradient27677);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.6626"
+       y="70.500305"
+       id="rect21763"
+       style="opacity:0.1875;fill:url(#linearGradient27679);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-225.17976"
+       y="57.346786"
+       id="rect21765"
+       style="opacity:0.1875;fill:url(#linearGradient27681);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-275.80215"
+       y="76.338768"
+       id="rect21767"
+       style="opacity:0.1875;fill:url(#linearGradient27683);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-230.84044"
+       y="62.407707"
+       id="rect21769"
+       style="opacity:0.46875;fill:url(#linearGradient27685);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.61429"
+       y="109.48866"
+       id="rect21771"
+       style="opacity:0.46875;fill:url(#linearGradient27687);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-292.95377"
+       y="99.259407"
+       id="rect21773"
+       style="opacity:0.46875;fill:url(#linearGradient27689);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-302.67654"
+       y="80.126701"
+       id="rect21775"
+       style="opacity:0.1875;fill:url(#linearGradient27691);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.54361"
+       y="80.017448"
+       id="rect21777"
+       style="opacity:0.1875;fill:url(#linearGradient27693);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-270.85376"
+       y="96.710403"
+       id="rect21779"
+       style="opacity:0.1875;fill:url(#linearGradient27695);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.68607"
+       y="104.046"
+       id="rect21781"
+       style="opacity:0.46875;fill:url(#linearGradient27697);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-271.02905"
+       y="68.652893"
+       id="rect21783"
+       style="opacity:0.46875;fill:url(#linearGradient27699);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-294.33957"
+       y="59.477379"
+       id="rect21785"
+       style="opacity:0.46875;fill:url(#linearGradient27701);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.72734"
+       y="62.554237"
+       id="rect21787"
+       style="opacity:0.1875;fill:url(#linearGradient27703);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-251.08012"
+       y="84.629906"
+       id="rect21789"
+       style="opacity:0.1875;fill:url(#linearGradient27705);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-246.50664"
+       y="61.226196"
+       id="rect21791"
+       style="opacity:0.1875;fill:url(#linearGradient27707);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-288.17026"
+       y="109.02679"
+       id="rect21793"
+       style="opacity:0.46875;fill:url(#linearGradient27709);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-276.62747"
+       y="110.70783"
+       id="rect21795"
+       style="opacity:0.46875;fill:url(#linearGradient27711);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-252.71053"
+       y="105.81419"
+       id="rect21797"
+       style="opacity:0.46875;fill:url(#linearGradient27713);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-223.33205"
+       y="56.806377"
+       id="rect21799"
+       style="opacity:0.1875;fill:url(#linearGradient27715);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.8923"
+       y="72.453812"
+       id="rect21801"
+       style="opacity:0.1875;fill:url(#linearGradient27717);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-287.84396"
+       y="81.6036"
+       id="rect21803"
+       style="opacity:0.1875;fill:url(#linearGradient27719);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.28372"
+       y="80.256149"
+       id="rect21805"
+       style="opacity:0.46875;fill:url(#linearGradient27721);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-299.51932"
+       y="63.046921"
+       id="rect21807"
+       style="opacity:0.46875;fill:url(#linearGradient27723);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.11929"
+       y="86.822929"
+       id="rect21809"
+       style="opacity:0.46875;fill:url(#linearGradient27725);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.89749"
+       y="60.208015"
+       id="rect21811"
+       style="opacity:0.1875;fill:url(#linearGradient27727);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-257.36871"
+       y="61.199322"
+       id="rect21813"
+       style="opacity:0.1875;fill:url(#linearGradient27729);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-297.65778"
+       y="99.558662"
+       id="rect21815"
+       style="opacity:0.1875;fill:url(#linearGradient27731);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-294.99631"
+       y="83.771034"
+       id="rect21817"
+       style="opacity:0.46875;fill:url(#linearGradient27733);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-296.79523"
+       y="55.187725"
+       id="rect21819"
+       style="opacity:0.46875;fill:url(#linearGradient27735);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-274.21899"
+       y="67.234024"
+       id="rect21821"
+       style="opacity:0.46875;fill:url(#linearGradient27737);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-279.93652"
+       y="58.027828"
+       id="rect21823"
+       style="opacity:0.1875;fill:url(#linearGradient27739);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.09564"
+       y="57.621449"
+       id="rect21825"
+       style="opacity:0.1875;fill:url(#linearGradient27741);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-230.92448"
+       y="62.891903"
+       id="rect21827"
+       style="opacity:0.1875;fill:url(#linearGradient27743);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-245.2112"
+       y="73.311836"
+       id="rect21831"
+       style="opacity:0.46875;fill:url(#linearGradient27747);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-292.29486"
+       y="72.867485"
+       id="rect21833"
+       style="opacity:0.46875;fill:url(#linearGradient27749);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-293.24588"
+       y="71.625595"
+       id="rect21835"
+       style="opacity:0.1875;fill:url(#linearGradient27751);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-259.41812"
+       y="65.277237"
+       id="rect21837"
+       style="opacity:0.1875;fill:url(#linearGradient27753);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-278.57266"
+       y="64.746178"
+       id="rect21839"
+       style="opacity:0.1875;fill:url(#linearGradient27755);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-281.70593"
+       y="95.995338"
+       id="rect21841"
+       style="opacity:0.46875;fill:url(#linearGradient27757);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.45135"
+       y="59.459827"
+       id="rect21843"
+       style="opacity:0.46875;fill:url(#linearGradient27759);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-296.65451"
+       y="64.189789"
+       id="rect21845"
+       style="opacity:0.46875;fill:url(#linearGradient27761);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.06418"
+       y="95.602432"
+       id="rect21847"
+       style="opacity:0.1875;fill:url(#linearGradient27763);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.3447"
+       y="63.354229"
+       id="rect21849"
+       style="opacity:0.1875;fill:url(#linearGradient27765);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-288.95663"
+       y="101.5279"
+       id="rect21851"
+       style="opacity:0.1875;fill:url(#linearGradient27767);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-298.72165"
+       y="86.172012"
+       id="rect21853"
+       style="opacity:0.46875;fill:url(#linearGradient27769);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-278.71814"
+       y="78.380249"
+       id="rect21855"
+       style="opacity:0.46875;fill:url(#linearGradient27771);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-229.52434"
+       y="93.67672"
+       id="rect21857"
+       style="opacity:0.46875;fill:url(#linearGradient27773);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.90338"
+       y="85.702248"
+       id="rect21859"
+       style="opacity:0.1875;fill:url(#linearGradient27775);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.38721"
+       y="77.190605"
+       id="rect21861"
+       style="opacity:0.1875;fill:url(#linearGradient27777);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-247.67737"
+       y="56.181717"
+       id="rect21863"
+       style="opacity:0.1875;fill:url(#linearGradient27779);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.15222"
+       y="107.90704"
+       id="rect21865"
+       style="opacity:0.46875;fill:url(#linearGradient27781);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-303.92514"
+       y="69.235466"
+       id="rect21867"
+       style="opacity:0.46875;fill:url(#linearGradient27783);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-282.22012"
+       y="109.27183"
+       id="rect21869"
+       style="opacity:0.46875;fill:url(#linearGradient27785);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-282.93329"
+       y="104.98781"
+       id="rect21871"
+       style="opacity:0.1875;fill:url(#linearGradient27787);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-290.55911"
+       y="75.871635"
+       id="rect21873"
+       style="opacity:0.1875;fill:url(#linearGradient27789);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-290.32047"
+       y="99.745865"
+       id="rect21875"
+       style="opacity:0.1875;fill:url(#linearGradient27791);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.80777"
+       y="80.191414"
+       id="rect21877"
+       style="opacity:0.46875;fill:url(#linearGradient27793);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-243.10162"
+       y="73.924088"
+       id="rect21879"
+       style="opacity:0.46875;fill:url(#linearGradient27795);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-234.60951"
+       y="101.18223"
+       id="rect21881"
+       style="opacity:0.46875;fill:url(#linearGradient27797);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.05617"
+       y="78.823349"
+       id="rect21883"
+       style="opacity:0.1875;fill:url(#linearGradient27799);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-300.5704"
+       y="108.95625"
+       id="rect21885"
+       style="opacity:0.1875;fill:url(#linearGradient27801);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-280.31177"
+       y="56.026588"
+       id="rect21887"
+       style="opacity:0.1875;fill:url(#linearGradient27803);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-223.99092"
+       y="78.282021"
+       id="rect21889"
+       style="opacity:0.46875;fill:url(#linearGradient27805);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.61678"
+       y="59.413132"
+       id="rect21891"
+       style="opacity:0.46875;fill:url(#linearGradient27807);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-282.67126"
+       y="61.633476"
+       id="rect21893"
+       style="opacity:0.46875;fill:url(#linearGradient27809);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-306.9444"
+       y="111.4621"
+       id="rect21895"
+       style="opacity:0.1875;fill:url(#linearGradient27811);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-240.84995"
+       y="83.256912"
+       id="rect21897"
+       style="opacity:0.1875;fill:url(#linearGradient27813);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-262.802"
+       y="57.619476"
+       id="rect21899"
+       style="opacity:0.1875;fill:url(#linearGradient27815);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.81755"
+       y="77.153168"
+       id="rect21901"
+       style="opacity:0.46875;fill:url(#linearGradient27817);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-247.31902"
+       y="68.481903"
+       id="rect21903"
+       style="opacity:0.46875;fill:url(#linearGradient27819);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-238.41722"
+       y="61.906265"
+       id="rect21905"
+       style="opacity:0.46875;fill:url(#linearGradient27821);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-232.65349"
+       y="86.281181"
+       id="rect21907"
+       style="opacity:0.1875;fill:url(#linearGradient27823);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.61473"
+       y="89.972336"
+       id="rect21909"
+       style="opacity:0.1875;fill:url(#linearGradient27825);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-241.95982"
+       y="103.9351"
+       id="rect21911"
+       style="opacity:0.1875;fill:url(#linearGradient27827);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-275.90552"
+       y="105.45963"
+       id="rect21913"
+       style="opacity:0.46875;fill:url(#linearGradient27829);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-236.45705"
+       y="73.526924"
+       id="rect21915"
+       style="opacity:0.46875;fill:url(#linearGradient27831);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-291.1709"
+       y="64.812592"
+       id="rect21917"
+       style="opacity:0.46875;fill:url(#linearGradient27833);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-273.98798"
+       y="64.855049"
+       id="rect21919"
+       style="opacity:0.1875;fill:url(#linearGradient27835);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.42635"
+       y="73.936829"
+       id="rect21921"
+       style="opacity:0.1875;fill:url(#linearGradient27837);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-268.98654"
+       y="73.139526"
+       id="rect21923"
+       style="opacity:0.1875;fill:url(#linearGradient27839);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-219.25526"
+       y="80.140846"
+       id="rect21925"
+       style="opacity:0.46875;fill:url(#linearGradient27841);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-277.05325"
+       y="94.54393"
+       id="rect21927"
+       style="opacity:0.46875;fill:url(#linearGradient27843);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-300.58752"
+       y="94.470482"
+       id="rect21929"
+       style="opacity:0.46875;fill:url(#linearGradient27845);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.10745"
+       y="68.010391"
+       id="rect21931"
+       style="opacity:0.1875;fill:url(#linearGradient27847);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-262.12384"
+       y="57.154907"
+       id="rect21933"
+       style="opacity:0.1875;fill:url(#linearGradient27849);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-292.16574"
+       y="94.142303"
+       id="rect21935"
+       style="opacity:0.1875;fill:url(#linearGradient27851);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-266.22025"
+       y="110.43915"
+       id="rect21937"
+       style="opacity:0.46875;fill:url(#linearGradient27853);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-250.00839"
+       y="80.812195"
+       id="rect21939"
+       style="opacity:0.46875;fill:url(#linearGradient27855);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-267.59402"
+       y="76.412384"
+       id="rect21941"
+       style="opacity:0.46875;fill:url(#linearGradient27857);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-305.91107"
+       y="58.024467"
+       id="rect21943"
+       style="opacity:0.1875;fill:url(#linearGradient27859);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-249.53322"
+       y="97.532372"
+       id="rect21945"
+       style="opacity:0.1875;fill:url(#linearGradient27861);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-297.9502"
+       y="79.375854"
+       id="rect21947"
+       style="opacity:0.1875;fill:url(#linearGradient27863);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-297.24863"
+       y="83.744377"
+       id="rect21949"
+       style="opacity:0.46875;fill:url(#linearGradient27865);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-258.81308"
+       y="87.086861"
+       id="rect21951"
+       style="opacity:0.46875;fill:url(#linearGradient27867);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-260.07507"
+       y="87.316689"
+       id="rect21953"
+       style="opacity:0.46875;fill:url(#linearGradient27869);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-286.60129"
+       y="67.812614"
+       id="rect21961"
+       style="opacity:0.46875;fill:url(#linearGradient27877);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.33926"
+       y="104.16561"
+       id="rect21963"
+       style="opacity:0.46875;fill:url(#linearGradient27879);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-283.54825"
+       y="93.081116"
+       id="rect21965"
+       style="opacity:0.46875;fill:url(#linearGradient27881);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-217.43896"
+       y="58.822296"
+       id="rect21967"
+       style="opacity:0.1875;fill:url(#linearGradient27883);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-237.89325"
+       y="100.85945"
+       id="rect21969"
+       style="opacity:0.1875;fill:url(#linearGradient27885);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-242.74698"
+       y="63.367489"
+       id="rect21971"
+       style="opacity:0.1875;fill:url(#linearGradient27887);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-226.92989"
+       y="76.764717"
+       id="rect21973"
+       style="opacity:0.46875;fill:url(#linearGradient27889);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-233.42609"
+       y="98.909195"
+       id="rect21975"
+       style="opacity:0.46875;fill:url(#linearGradient27891);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-299.9494"
+       y="67.81192"
+       id="rect21977"
+       style="opacity:0.46875;fill:url(#linearGradient27893);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="10.629006"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-265.12759"
+       y="80.207634"
+       id="rect21979"
+       style="opacity:0.1875;fill:url(#linearGradient27895);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.28105551"
+       rx="0"
+       ry="0"
+       x="-260.70068"
+       y="107.55251"
+       id="rect21981"
+       style="opacity:0.1875;fill:url(#linearGradient27897);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    <rect
+       width="19.367277"
+       height="0.33215648"
+       rx="0"
+       ry="0"
+       x="-236.33008"
+       y="88.17466"
+       id="rect21983"
+       style="opacity:0.1875;fill:url(#linearGradient27899);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  </g>
+  <path
+     d="m 32.905947,80.589257 c -1.282746,0 -2.315407,1.043363 -2.315407,2.339381 v 0.206415 c 0,-1.296016 1.032661,-2.339376 2.315407,-2.339381 h 55.740029 c 1.122388,0 2.06616,0.824213 2.281357,1.892148 -0.118702,-1.181934 -1.079198,-2.098563 -2.281357,-2.098563 z m 5.754468,33.473783 v 0.20644 c 0,0.57195 0.45539,1.03206 1.021504,1.03206 h 15.390649 c 0.566104,0 1.021493,-0.46011 1.021503,-1.03206 v -0.20644 c -10e-6,0.57196 -0.455399,1.03207 -1.021503,1.03207 H 39.681919 c -0.566114,0 -1.021504,-0.46011 -1.021504,-1.03207 z"
+     id="path3292"
+     style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.108961;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <path
+     d="m 32.905947,80.478198 c -1.282746,0 -2.315407,1.48566 -2.315407,2.781676 v 0.206417 c 0,-1.296017 1.032661,-1.685618 2.315407,-1.685618 h 55.740029 c 1.122388,0 1.848239,0.170448 2.063435,1.238383 -0.118701,-1.181932 -0.861276,-2.430285 -2.063435,-2.430285 z m 5.754468,33.916082 v 0.20642 c 0,0.57196 0.45539,1.03208 1.021504,1.03208 h 15.390649 c 0.566104,0 1.021493,-0.46012 1.021503,-1.03208 v -0.20642 c -10e-6,0.57196 -0.455399,1.03207 -1.021503,1.03207 H 39.681919 c -0.566114,0 -1.021504,-0.46011 -1.021504,-1.03207 z"
+     id="path3301"
+     style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.108961;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <rect
+     width="0.27554536"
+     height="41.69199"
+     rx="0"
+     ry="0"
+     x="-90.849754"
+     y="82.269524"
+     transform="scale(-1,1)"
+     id="rect27971"
+     style="opacity:1;fill:url(#linearGradient27979);fill-opacity:1;stroke:none;stroke-width:0.108961;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <g
+     transform="matrix(1.1859852,0,0,1.202534,-7.2537472,-10.73621)"
+     id="g28105"
+     style="opacity:0.785156">
+    <rect
+       width="8"
+       height="12"
+       rx="1.079258"
+       ry="1.079258"
+       x="12"
+       y="12"
+       transform="matrix(0.6942102,0,0,0.6942102,4.8926363,5.5042159)"
+       clip-path="url(#clipPath28045)"
+       id="rect28009"
+       style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28031)" />
+    <rect
+       width="8"
+       height="12"
+       rx="1.079258"
+       ry="1.079258"
+       x="12"
+       y="12"
+       transform="matrix(0.6942102,0,0,0.6942102,4.8926363,5.5042159)"
+       clip-path="url(#clipPath28041)"
+       id="rect28039"
+       style="opacity:1;fill:url(#radialGradient28110);fill-opacity:1;stroke:url(#linearGradient28112);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28031)" />
+    <rect
+       width="4.3502288"
+       height="3.6759202"
+       rx="0.45226815"
+       ry="0.45226815"
+       x="13.897468"
+       y="18.030909"
+       id="rect28057"
+       style="opacity:1;fill:url(#radialGradient28114);fill-opacity:1;stroke:url(#linearGradient28116);stroke-width:0.331886;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28101)" />
+  </g>
+  <rect
+     width="60.472996"
+     height="2.7522128"
+     x="30.52244"
+     y="122.02972"
+     id="rect28122"
+     style="opacity:0.546875;fill:url(#linearGradient28138);fill-opacity:1;stroke:none;stroke-width:0.326881;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+  <path
+     d="M 7.5045665,1.7227002 C 5.2638927,1.8394937 3.8271546,3.5807792 3.8271546,6.4216141 v 0.646952 c 0,-3.2466686 1.5489281,-4.6989138 4.7670153,-4.6989138 39.7932141,-0.6252603 83.1266491,-0.2966784 113.5911601,0 2.0659,0 3.67741,1.2294159 3.67741,3.6093104 V 5.3320106 c 0,-1.6816602 -1.68725,-3.6093104 -3.67741,-3.6093104 H 8.5941699 c -0.4022612,0 -0.7695079,-0.016683 -1.0896034,0 z"
+     id="path3391"
+     style="opacity:1;fill:#343434;fill-opacity:0.828402;stroke:none;stroke-width:0.544802;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+  <path
+     d="m 118.02054,8.3884687 0.11049,1.1048542 1.45841,10e-8 c -0.0988,-0.472195 -0.19843,-1.1810913 -1.5689,-1.1048543 z"
+     transform="matrix(-1.5136109,0,0,1.5136109,186.51661,-9.434629)"
+     id="path3081"
+     style="fill:url(#radialGradient3084);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3077)" />
+  <path
+     d="m 117.12054,8.6884687 0.11049,1.1048543 h 1.45841 c -0.0988,-0.472195 -0.19843,-1.1810913 -1.5689,-1.1048543 z"
+     transform="matrix(1.3977841,0,0,1.3977841,-41.317637,-9.5720946)"
+     id="path3031"
+     style="opacity:0.861413;fill:url(#radialGradient3039);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3077)" />
+</svg>
diff --git a/icons/down-diagonal-left.png b/icons/down-diagonal-left.png
new file mode 100644 (file)
index 0000000..da22dfd
Binary files /dev/null and b/icons/down-diagonal-left.png differ
diff --git a/icons/down-diagonal-right.png b/icons/down-diagonal-right.png
new file mode 100644 (file)
index 0000000..50fe193
Binary files /dev/null and b/icons/down-diagonal-right.png differ
diff --git a/icons/formatcolorpicker.xpm b/icons/formatcolorpicker.xpm
deleted file mode 100644 (file)
index 53ec969..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/* XPM */
-static const char * formatcolorpicker_xpm[] = {
-"22 22 4 1",
-"      c None",
-".     c #000000",
-"+     c #949194",
-"@     c #FFFFFF",
-"                      ",
-"                      ",
-"                      ",
-"               ...    ",
-"              .....   ",
-"              .....   ",
-"           ........   ",
-"            ......    ",
-"           +@...      ",
-"          +@@@..      ",
-"         +@@@. .      ",
-"        +@@@.         ",
-"       +@@@.          ",
-"      +@@@.           ",
-"     +@@@.            ",
-"    +@@@.             ",
-"    +@@.              ",
-"   +@..               ",
-"    .                 ",
-"                      ",
-"                      ",
-"                      "};
diff --git a/icons/modecolor.png b/icons/modecolor.png
deleted file mode 100644 (file)
index efd8395..0000000
Binary files a/icons/modecolor.png and /dev/null differ
diff --git a/icons/modecopy.png b/icons/modecopy.png
deleted file mode 100644 (file)
index f18351a..0000000
Binary files a/icons/modecopy.png and /dev/null differ
diff --git a/icons/modelink.png b/icons/modelink.png
deleted file mode 100644 (file)
index c606a2c..0000000
Binary files a/icons/modelink.png and /dev/null differ
diff --git a/icons/modifiers/cursorhandopen.png b/icons/modifiers/cursorhandopen.png
new file mode 100644 (file)
index 0000000..4a0ce7f
Binary files /dev/null and b/icons/modifiers/cursorhandopen.png differ
diff --git a/icons/modifiers/mode-color.png b/icons/modifiers/mode-color.png
new file mode 100644 (file)
index 0000000..efd8395
Binary files /dev/null and b/icons/modifiers/mode-color.png differ
diff --git a/icons/modifiers/mode-move-object.svg b/icons/modifiers/mode-move-object.svg
new file mode 100644 (file)
index 0000000..371291c
--- /dev/null
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   viewBox="0 0 24 24"
+   version="1.1"
+   id="svg94"
+   sodipodi:docname="transform-move.svg"
+   inkscape:version="0.92.2 5c3e80d, 2017-08-06">
+  <metadata
+     id="metadata98">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1920"
+     inkscape:window-height="1006"
+     id="namedview96"
+     showgrid="false"
+     inkscape:zoom="33.291667"
+     inkscape:cx="10.227785"
+     inkscape:cy="12"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="g92" />
+  <defs
+     id="defs3051">
+    <style
+       type="text/css"
+       id="current-color-scheme">
+      .ColorScheme-Text {
+        color:#232629;
+      }
+      </style>
+  </defs>
+  <g
+     transform="matrix(1.4787234,0,0,1.4580726,-4.2809762,-4.1289112)"
+     id="g92">
+    <path
+       style="color:#232629;fill:#23ab29;fill-opacity:1;stroke:none"
+       d="M 11,3 9,7 h 4 z m -4,6 -4,2 4,2 z m 8,0 v 4 l 4,-2 z m -4,1 c -0.554,0 -1,0.446 -1,1 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 0,-0.554 -0.446,-1 -1,-1 z m -2,5 2,4 2,-4 z"
+       class="ColorScheme-Text"
+       id="path90"
+       inkscape:connector-curvature="0"
+       inkscape:label="path90" />
+  </g>
+</svg>
diff --git a/icons/modifiers/mode-select.svg b/icons/modifiers/mode-select.svg
new file mode 100644 (file)
index 0000000..57cdd2f
--- /dev/null
@@ -0,0 +1,1127 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns: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="32"
+   height="32"
+   id="svg10643"
+   sodipodi:version="0.32"
+   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
+   sodipodi:docname="mode-select.svg"
+   inkscape:output_extension="org.inkscape.output.svgz.inkscape"
+   inkscape:export-filename="/home/pinheiro/pics/oxygen-icons/scalable/actions/small/32x32/pointer.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90"
+   version="1.0">
+  <defs
+     id="defs10645">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 12 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="24 : 12 : 1"
+       inkscape:persp3d-origin="12 : 8 : 1"
+       id="perspective108" />
+    <linearGradient
+       id="linearGradient3233">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3235" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3237" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3866">
+      <stop
+         id="stop3868"
+         offset="0"
+         style="stop-color:#fff299;stop-opacity:1;" />
+      <stop
+         id="stop3870"
+         offset="1"
+         style="stop-color:#dcd8bd;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient11059">
+      <stop
+         style="stop-color:#727272;stop-opacity:1;"
+         offset="0"
+         id="stop11061" />
+      <stop
+         id="stop11067"
+         offset="0.5"
+         style="stop-color:#a6a6a6;stop-opacity:1;" />
+      <stop
+         style="stop-color:#cdcdcd;stop-opacity:1;"
+         offset="0.75"
+         id="stop11069" />
+      <stop
+         style="stop-color:#acacac;stop-opacity:1;"
+         offset="1"
+         id="stop11063" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient10925">
+      <stop
+         style="stop-color:#bf0303;stop-opacity:0;"
+         offset="0"
+         id="stop10927" />
+      <stop
+         id="stop10978"
+         offset="0.39309064"
+         style="stop-color:#bf0303;stop-opacity:0;" />
+      <stop
+         id="stop10935"
+         offset="0.46538317"
+         style="stop-color:#bf0303;stop-opacity:0.49803922;" />
+      <stop
+         style="stop-color:#bf0303;stop-opacity:1;"
+         offset="0.5"
+         id="stop10976" />
+      <stop
+         id="stop10933"
+         offset="0.5"
+         style="stop-color:#bf0303;stop-opacity:1;" />
+      <stop
+         style="stop-color:#bf0303;stop-opacity:0.49803922;"
+         offset="0.55339807"
+         id="stop10937" />
+      <stop
+         id="stop10980"
+         offset="0.60542935"
+         style="stop-color:#bf0303;stop-opacity:0;" />
+      <stop
+         style="stop-color:#bf0303;stop-opacity:0;"
+         offset="1"
+         id="stop10929" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient10901">
+      <stop
+         id="stop10903"
+         offset="0"
+         style="stop-color:#fff299;stop-opacity:0;" />
+      <stop
+         style="stop-color:#fff299;stop-opacity:1;"
+         offset="0.5"
+         id="stop10909" />
+      <stop
+         id="stop10905"
+         offset="1"
+         style="stop-color:#fff299;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient10854">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop10856" />
+      <stop
+         id="stop10862"
+         offset="0.5"
+         style="stop-color:#000000;stop-opacity:0;" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="1"
+         id="stop10858" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient10711">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop10713" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop10715" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient10875"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8967678,0.05935673,-0.05873468,0.8873664,-5.4012494,0.1392525)"
+       spreadMethod="reflect"
+       cx="18.708233"
+       cy="24.759357"
+       fx="18.708233"
+       fy="24.759357"
+       r="13.169441" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10925"
+       id="radialGradient10931"
+       cx="9.996233"
+       cy="23.364098"
+       fx="7.6629176"
+       fy="18.295921"
+       r="8.7188435"
+       gradientTransform="matrix(3.0577456,1.8802807,-0.9054531,1.4724637,3.4545267,-24.480143)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient10968"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8967678,0.05935673,-0.05873468,0.8873664,-5.4012494,0.1392525)"
+       spreadMethod="reflect"
+       cx="18.708233"
+       cy="24.759357"
+       fx="18.708233"
+       fy="24.759357"
+       r="13.169441" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10925"
+       id="radialGradient10971"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.7002217,0.5715519,-0.4374946,2.0668853,-4.8632848,-26.818351)"
+       cx="9.1802711"
+       cy="24.942194"
+       fx="6.0336409"
+       fy="17.669048"
+       r="8.7188435" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath10999">
+      <path
+         sodipodi:nodetypes="ccccc"
+         id="path11001"
+         d="M 3.6413483,1.9681703 3.779696,17.490509 14.887308,19.785771 21.079035,17.498126 Z"
+         style="fill:#ff80ff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+         inkscape:connector-curvature="0" />
+    </clipPath>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10925"
+       id="radialGradient11003"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.7002217,0.5715519,-0.4374946,2.0668853,-4.8632848,-26.818351)"
+       cx="8.2921495"
+       cy="23.935163"
+       fx="8.2488832"
+       fy="19.781427"
+       r="8.7188435" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10925"
+       id="radialGradient11030"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.7002217,0.5715519,-0.4374946,2.0668853,-4.8632848,-26.818351)"
+       cx="8.2921495"
+       cy="23.935163"
+       fx="8.2488832"
+       fy="19.781427"
+       r="8.7188435" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient11032"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8967678,0.05935673,-0.05873468,0.8873664,-5.4012494,0.1392525)"
+       spreadMethod="reflect"
+       cx="18.708233"
+       cy="24.759357"
+       fx="18.708233"
+       fy="24.759357"
+       r="13.169441" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10925"
+       id="radialGradient11034"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.7002217,0.5715519,-0.4374946,2.0668853,-4.8632848,-26.818351)"
+       cx="8.2921495"
+       cy="23.935163"
+       fx="8.2488832"
+       fy="19.781427"
+       r="8.7188435" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient3294"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7030075,0.6357809,-0.8060735,0.8913044,14.84311,-8.1934483)"
+       spreadMethod="reflect"
+       cx="16.993044"
+       cy="20.648924"
+       fx="16.993044"
+       fy="20.648924"
+       r="13.169441" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="linearGradient3297"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9823337,0,0,0.9823337,0.03300739,0.6182451)"
+       spreadMethod="pad"
+       x1="19.879225"
+       y1="12.061514"
+       x2="16.034332"
+       y2="15.552854" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="linearGradient3353"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9823337,0,0,0.9823337,0.03300739,0.6182451)"
+       spreadMethod="pad"
+       x1="19.879225"
+       y1="12.061514"
+       x2="16.034332"
+       y2="15.552854" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient3355"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7030075,0.6357809,-0.8060735,0.8913044,14.84311,-8.1934483)"
+       spreadMethod="reflect"
+       cx="16.993044"
+       cy="20.648924"
+       fx="16.993044"
+       fy="20.648924"
+       r="13.169441" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="linearGradient3362"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9823337,0,0,0.9823337,0.03300739,0.6182451)"
+       spreadMethod="pad"
+       x1="19.879225"
+       y1="12.061514"
+       x2="16.034332"
+       y2="15.552854" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient3364"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8341244,0.2489558,-0.2435026,0.8158514,0.7851109,-0.01382395)"
+       spreadMethod="reflect"
+       cx="17.54755"
+       cy="21.708042"
+       fx="17.54755"
+       fy="21.708042"
+       r="13.169441" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient3367"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.8151394,0.2358626,-0.2306962,0.7972824,0.7011221,-1.0582457)"
+       spreadMethod="reflect"
+       cx="17.54755"
+       cy="21.708042"
+       fx="17.54755"
+       fy="21.708042"
+       r="13.169441" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="linearGradient3370"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9575785,-0.00803118,0.00803118,0.9575785,-0.0268605,-0.4359562)"
+       spreadMethod="pad"
+       x1="19.879225"
+       y1="12.061514"
+       x2="16.034332"
+       y2="15.552854" />
+    <linearGradient
+       y2="19.626715"
+       x2="10.711697"
+       y1="18.63658"
+       x1="9.7192469"
+       gradientTransform="matrix(3.547255,-0.03993894,0.03993894,3.547255,-27.397339,-48.790495)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3488"
+       xlink:href="#linearGradient10711"
+       inkscape:collect="always" />
+    <radialGradient
+       r="1.15625"
+       fy="20.478674"
+       fx="11.413477"
+       cy="20.478674"
+       cx="11.413477"
+       spreadMethod="pad"
+       gradientTransform="matrix(1.7083003,-0.01851949,0.01798426,1.6589328,-8.4797796,-13.189665)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3486"
+       xlink:href="#linearGradient3330"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="19.626715"
+       x2="10.711697"
+       y1="18.63658"
+       x1="9.7192469"
+       gradientTransform="matrix(3.5474799,0,0,3.5474799,-26.927898,-62.356391)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3475"
+       xlink:href="#linearGradient10711"
+       inkscape:collect="always" />
+    <radialGradient
+       r="1.15625"
+       fy="20.478674"
+       fx="11.413477"
+       cy="20.478674"
+       cx="11.413477"
+       spreadMethod="pad"
+       gradientTransform="matrix(1.7083003,-0.01851949,0.01798426,1.6589328,-8.4797796,-13.189665)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3473"
+       xlink:href="#linearGradient3330"
+       inkscape:collect="always" />
+    <radialGradient
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7809876,0.01449707,-0.0055455,0.2987498,-0.2924169,2.0957246)"
+       r="11.765625"
+       fy="10.911069"
+       fx="1.1416299"
+       cy="10.911069"
+       cx="1.1416299"
+       id="radialGradient3317"
+       xlink:href="#linearGradient3206"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="26.641653"
+       x2="16.836901"
+       y1="6.8943019"
+       x1="5.6869311"
+       gradientTransform="translate(0,-7.2094174)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3265"
+       xlink:href="#linearGradient3267"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="17.133453"
+       x2="16.836901"
+       y1="-2.6138983"
+       x1="5.6869311"
+       gradientTransform="translate(0,2.298783)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3261"
+       xlink:href="#linearGradient3267"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(0,-4.8361309)"
+       y2="24.268368"
+       x2="16.836901"
+       y1="4.5210156"
+       x1="5.6869311"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3257"
+       xlink:href="#linearGradient3267"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(0,-2.4628444)"
+       y2="21.895081"
+       x2="16.836901"
+       y1="2.1477292"
+       x1="5.6869311"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3249"
+       xlink:href="#linearGradient3267"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="19.432236"
+       x2="16.836901"
+       y1="-0.31511527"
+       x1="5.6869311"
+       id="linearGradient3239"
+       xlink:href="#linearGradient3267"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="19.626715"
+       x2="10.711697"
+       y1="18.384007"
+       x1="9.8687286"
+       gradientTransform="matrix(3.6334443,0,0,3.6334443,-27.580699,-51.677773)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3220"
+       xlink:href="#linearGradient10711"
+       inkscape:collect="always" />
+    <radialGradient
+       r="1.15625"
+       fy="20.478674"
+       fx="11.413477"
+       cy="20.478674"
+       cx="11.413477"
+       spreadMethod="pad"
+       gradientTransform="matrix(1.7083003,-0.01851949,0.01798426,1.6589328,-8.4797796,-13.189665)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient3218"
+       xlink:href="#linearGradient10711"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2657">
+      <stop
+         id="stop2659"
+         offset="0"
+         style="stop-color:#ff80ff;stop-opacity:1;" />
+      <stop
+         id="stop2661"
+         offset="1"
+         style="stop-color:#ff80ff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3206">
+      <stop
+         style="stop-color:#b1d28f;stop-opacity:1;"
+         offset="0"
+         id="stop3208" />
+      <stop
+         style="stop-color:#b1d28f;stop-opacity:1;"
+         offset="1"
+         id="stop3210" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3241">
+      <stop
+         id="stop3243"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3245"
+         offset="1"
+         style="stop-color:#debc85;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3267">
+      <stop
+         style="stop-color:#debc85;stop-opacity:1;"
+         offset="0"
+         id="stop3269" />
+      <stop
+         style="stop-color:#debc85;stop-opacity:0;"
+         offset="1"
+         id="stop3271" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3273">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3275" />
+      <stop
+         style="stop-color:#debc85;stop-opacity:0"
+         offset="1"
+         id="stop3277" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3279">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3281" />
+      <stop
+         style="stop-color:#debc85;stop-opacity:0"
+         offset="1"
+         id="stop3283" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3285">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3287" />
+      <stop
+         style="stop-color:#debc85;stop-opacity:0"
+         offset="1"
+         id="stop3289" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3330">
+      <stop
+         style="stop-color:#ff80ff;stop-opacity:0;"
+         offset="0"
+         id="stop3332" />
+      <stop
+         style="stop-color:#666666;stop-opacity:1;"
+         offset="1"
+         id="stop3334" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient4021"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9318803,-0.2210697,0.2308678,0.9731826,-3.9252239,2.7241703)"
+       spreadMethod="pad"
+       cx="11.074039"
+       cy="20.428291"
+       fx="11.074039"
+       fy="20.428291"
+       r="1.15625" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="linearGradient4023"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="rotate(31.625451,7.0901517,44.05565)"
+       x1="21.461079"
+       y1="23.349636"
+       x2="22.96941"
+       y2="28.038134" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="linearGradient4030"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="rotate(31.625451,36.646756,23.962899)"
+       x1="21.461079"
+       y1="23.349636"
+       x2="22.96941"
+       y2="28.038134" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient3490"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1086176,-0.4093269,0.6608062,1.7897223,-9.2289678,-4.0397151)"
+       spreadMethod="reflect"
+       cx="8.8133469"
+       cy="14.235861"
+       fx="8.8133469"
+       fy="14.235861"
+       r="5.3238101" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3496">
+      <rect
+         style="opacity:0.62633481;fill:none;stroke:#000000;stroke-width:0.19602102;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect3498"
+         width="13.277639"
+         height="22.63365"
+         x="5.309958"
+         y="1.2316679"
+         ry="1.171887" />
+    </clipPath>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient3508"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1106976,-0.4036489,0.6516398,1.7930801,-9.2127514,-4.7972628)"
+       spreadMethod="reflect"
+       cx="8.8133469"
+       cy="14.235861"
+       fx="8.8133469"
+       fy="14.235861"
+       r="5.3238101" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3233"
+       id="linearGradient3240"
+       x1="9.4485903"
+       y1="2.761672"
+       x2="7.6776314"
+       y2="19.013866"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.73790666,0,0,0.78279231,16.298002,108.76669)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient10711"
+       id="radialGradient3253"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.83365839,-0.27141718,0.46247276,1.5985534,9.6374798,101.84354)"
+       spreadMethod="reflect"
+       cx="8.2230186"
+       cy="14.316785"
+       fx="8.2230186"
+       fy="14.316785"
+       r="5.3238101" />
+    <linearGradient
+       y2="104.80668"
+       x2="-62.424866"
+       y1="76.708466"
+       x1="-13.757333"
+       gradientTransform="translate(148,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4794"
+       xlink:href="#XMLID_4_"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="XMLID_4_">
+      <stop
+         id="stop3082"
+         style="stop-color:#72D13D"
+         offset="0" />
+      <stop
+         id="stop3084"
+         style="stop-color:#35AC1C"
+         offset="0.3553" />
+      <stop
+         id="stop3086"
+         style="stop-color:#0F9508"
+         offset="0.6194" />
+      <stop
+         id="stop3088"
+         style="stop-color:#008C00"
+         offset="0.7574" />
+      <stop
+         id="stop3090"
+         style="stop-color:#007A00"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3233"
+       id="linearGradient3571"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+    <filter
+       id="filter3387"
+       height="1.249912"
+       y="-0.12495601"
+       width="1.2041403"
+       x="-0.10207015"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur3389"
+         stdDeviation="0.44655691"
+         inkscape:collect="always" />
+    </filter>
+    <radialGradient
+       r="6.7806501"
+       fy="17.83758"
+       fx="73.656624"
+       cy="17.83758"
+       cx="73.656624"
+       gradientTransform="matrix(1,0,0,0.8708964,0,2.3028957)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4800"
+       xlink:href="#linearGradient5412"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient5412"
+       gradientUnits="userSpaceOnUse"
+       x1="28"
+       y1="57.5"
+       x2="28"
+       y2="0">
+      <stop
+         offset="0"
+         style="stop-color:#fff14d;stop-opacity:1;"
+         id="stop5414" />
+      <stop
+         offset="1"
+         style="stop-color:#f8ffa0;stop-opacity:0;"
+         id="stop5416" />
+    </linearGradient>
+    <radialGradient
+       r="6.2063885"
+       fy="17.802542"
+       fx="73.082359"
+       cy="17.802542"
+       cx="73.082359"
+       gradientTransform="matrix(1,0,0,0.9256542,0,1.3235438)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4802"
+       xlink:href="#linearGradient4770"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient4770"
+       gradientUnits="userSpaceOnUse"
+       x1="-84.002403"
+       y1="-383.9971"
+       x2="-12.0029"
+       y2="-383.9971"
+       gradientTransform="rotate(90,-90.0007,50.0022)">
+      <stop
+         offset="0"
+         style="stop-color:#e5ff00;stop-opacity:1"
+         id="stop4772" />
+      <stop
+         offset="1"
+         style="stop-color:#bff500;stop-opacity:0;"
+         id="stop4774" />
+    </linearGradient>
+    <radialGradient
+       r="24"
+       fy="104"
+       fx="104"
+       cy="104"
+       cx="104"
+       gradientTransform="translate(0,-1.3e-5)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4806"
+       xlink:href="#linearGradient3030"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3030"
+       inkscape:collect="always">
+      <stop
+         id="stop3032"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.77902622" />
+      <stop
+         id="stop3034"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <radialGradient
+       r="20"
+       fy="96"
+       fx="-40"
+       cy="84"
+       cx="-44"
+       gradientTransform="translate(148,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4810"
+       xlink:href="#XMLID_4_"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       r="55.147999"
+       cy="-0.2148"
+       cx="48"
+       id="radialGradient3586">
+      <stop
+         id="stop3576"
+         style="stop-color:#72D13D"
+         offset="0" />
+      <stop
+         id="stop3578"
+         style="stop-color:#35AC1C"
+         offset="0.3553" />
+      <stop
+         id="stop3580"
+         style="stop-color:#0F9508"
+         offset="0.6194" />
+      <stop
+         id="stop3582"
+         style="stop-color:#008C00"
+         offset="0.7574" />
+      <stop
+         id="stop3584"
+         style="stop-color:#007A00"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       y2="108.0104"
+       x2="11.68106"
+       y1="60.539303"
+       x1="11.68106"
+       gradientTransform="translate(85.3125,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4812"
+       xlink:href="#linearGradient3233"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="96.001434"
+       x2="11.68106"
+       y1="52"
+       x1="6.6976352"
+       gradientTransform="translate(85.30236,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4814"
+       xlink:href="#linearGradient3233"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="72"
+       x2="14.697635"
+       y1="96"
+       x1="26.697636"
+       gradientTransform="translate(85.30236,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4816"
+       xlink:href="#linearGradient3233"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="84"
+       x2="120.25"
+       y1="84"
+       x1="79.75"
+       gradientTransform="translate(3.99999,19.999992)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4818"
+       xlink:href="#linearGradient3225"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient3225">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop3227" />
+      <stop
+         style="stop-color:#aeaeae;stop-opacity:1;"
+         offset="1"
+         id="stop3229" />
+    </linearGradient>
+    <filter
+       id="filter3191"
+       inkscape:collect="always">
+      <feGaussianBlur
+         id="feGaussianBlur3193"
+         stdDeviation="0.2025"
+         inkscape:collect="always" />
+    </filter>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3233"
+       id="linearGradient3784"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3233"
+       id="linearGradient3786"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3233"
+       id="linearGradient3788"
+       gradientUnits="userSpaceOnUse"
+       x1="73.742638"
+       y1="15.336544"
+       x2="80"
+       y2="19.281664"
+       spreadMethod="reflect" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313708"
+     inkscape:cx="24.505486"
+     inkscape:cy="14.348687"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:window-width="1920"
+     inkscape:window-height="1006"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     width="24px"
+     height="24px"
+     inkscape:object-paths="false"
+     inkscape:object-nodes="true"
+     inkscape:snap-nodes="false"
+     inkscape:snap-global="false"
+     inkscape:window-maximized="1"
+     inkscape:document-rotation="0">
+    <inkscape:grid
+       type="xygrid"
+       id="grid3664"
+       empspacing="2"
+       visible="true"
+       enabled="true"
+       spacingx="4"
+       spacingy="4"
+       originx="0"
+       originy="0" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="10.507812,7.328125"
+       id="guide3666"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="10.292968,7.5546875"
+       id="guide3668"
+       inkscape:locked="false" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata10648">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+     style="opacity:0.71399997;fill:#f0f237;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect964-7"
+     width="26.455315"
+     height="6.0099845"
+     x="2.6415768"
+     y="9.7304106"
+     inkscape:label="rect964" />
+  <rect
+     style="opacity:0.71399997;fill:#f0f237;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     id="rect964"
+     width="26.455315"
+     height="6.0099845"
+     x="2.5155997"
+     y="1.40229"
+     inkscape:label="rect964" />
+  <g
+     id="layer1"
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     transform="translate(0,-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:'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;opacity:0.180996;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.52004;marker:none;enable-background:accumulate"
+       d="m 19.692752,124.26558 c 3.8e-5,0.40987 0.351549,0.78276 0.737906,0.7828 h 2.651852 l 1.844767,2.0059 c 0.201228,0.2096 0.521114,0.27947 0.784028,0.17124 l 0.92238,-0.36694 c 0.260951,-0.0998 0.457323,-0.36762 0.484251,-0.66048 l 0.253656,-2.593 1.775588,-2.34837 c 0.218742,-0.2934 0.197914,-0.75738 -0.04612,-1.02742 l -8.29787,-8.06867 z"
+       id="path3670"
+       sodipodi:nodetypes="cccccccccccc"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:#201020;fill-rule:evenodd;stroke:#170f0c;stroke-width:1.21519;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 20.725442,109.54948 v 12.52469 h 2.951627 l 2.071411,2.22937 0.9314,-0.37025 0.272696,-2.84002 1.907306,-2.52437 z"
+       id="path3502"
+       sodipodi:nodetypes="cccccccc"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="cccccccc"
+       id="path3504"
+       d="m 20.725442,109.54948 v 12.52469 h 2.951628 l 2.07141,2.22936 0.9314,-0.37024 0.272696,-2.84002 1.881757,-2.51773 z"
+       style="display:inline;fill:#c4c4c4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.151898"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:url(#radialGradient3253);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.151898"
+       d="m 20.725442,109.54948 v 12.52469 h 2.951628 l 2.07141,2.22936 0.9314,-0.37024 0.272696,-2.84002 1.866867,-2.48735 z"
+       id="path3506"
+       sodipodi:nodetypes="cccccccc"
+       inkscape:connector-curvature="0" />
+    <path
+       style="display:inline;fill:none;stroke:url(#linearGradient3240);stroke-width:0.607593;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 21.01237,121.73617 2.961251,-0.0131 1.801263,2.2347 0.575337,-0.28945 0.322181,-2.69846 1.749156,-2.38089 -7.381494,-8.20383 z"
+       id="path2253"
+       sodipodi:nodetypes="cccccccc"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g4655"
+       transform="matrix(0.28164268,0,0,0.28164268,-20.45438,90.409607)">
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient4794);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 102.0625,79.999994 c -3.31753,0 -6.0625,2.74498 -6.0625,6.0625 v 9.9375 h -9.9375 c -3.31753,0 -6.0625,2.74498 -6.0625,6.062496 v 3.875 c 0,3.31753 2.74497,6.0625 6.0625,6.0625 H 96 v 9.93751 c 0,3.31752 2.74497,6.0625 6.0625,6.0625 h 3.875 c 3.31752,0 6.0625,-2.74498 6.0625,-6.0625 v -9.93751 h 9.9375 c 3.31752,0 6.0625,-2.74497 6.0625,-6.0625 v -3.875 c 0,-3.317516 -2.74498,-6.062496 -6.0625,-6.062496 H 112 v -9.9375 c 0,-3.31752 -2.74498,-6.0625 -6.0625,-6.0625 z"
+         id="path3012"
+         sodipodi:nodetypes="ccccccccccccccccccccc"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccc"
+         transform="matrix(-0.4770371,0,0,0.4770371,134.46434,74.913337)"
+         id="path3091"
+         d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 68.465655,24.133449 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+         style="fill:url(#linearGradient3784);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient3786);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 68.172686,21.789699 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+         id="path3095"
+         transform="matrix(0.4705955,0,0,0.4705955,74.322072,75.046467)"
+         sodipodi:nodetypes="cccccc"
+         clip-path="none" />
+      <g
+         id="g3201"
+         transform="matrix(1,0,0,-1,148,188.38795)"
+         clip-path="none">
+        <path
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccccc"
+           transform="matrix(-0.463084,0,0,0.463084,-14.468792,55.235658)"
+           id="path3197"
+           d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 l 2.175622,10.747436 11.133979,-0.114683 v -0.46875 C 81.92653,20.116546 74.219552,10.743294 69.875971,12.057888 Z"
+           style="opacity:0.643564;fill:url(#radialGradient4800);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)" />
+        <path
+           inkscape:connector-curvature="0"
+           style="opacity:0.643564;fill:url(#radialGradient4802);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+           d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 67.782061,23.547512 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+           id="path3199"
+           transform="matrix(0.4624565,0,0,0.4624565,-73.133616,55.243224)"
+           sodipodi:nodetypes="cccccc" />
+      </g>
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccc"
+         transform="matrix(0.4793282,0,0,0.4793282,89.738069,90.470087)"
+         id="path3221"
+         d="M 69.719108,13.31279 C 68.64202,13.378073 67.34775,12.277052 66.875971,12.995388 L 68.465655,24.133449 79,23.37409 v -0.46875 c 1.740958,-2.57016 -4.937311,-9.65189 -9.280892,-9.59255 z"
+         style="opacity:0.550562;fill:url(#linearGradient3788);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccccccccccccccccccc"
+         id="path3028"
+         d="m 102.0625,79.999994 c -3.31753,0 -6.0625,2.74498 -6.0625,6.0625 v 9.9375 h -9.9375 c -3.31753,0 -6.0625,2.74498 -6.0625,6.062496 v 3.875 c 0,3.31753 2.74497,6.0625 6.0625,6.0625 H 96 v 9.93751 c 0,3.31752 2.74497,6.0625 6.0625,6.0625 h 3.875 c 3.31752,0 6.0625,-2.74498 6.0625,-6.0625 v -9.93751 h 9.9375 c 3.31752,0 6.0625,-2.74497 6.0625,-6.0625 v -3.875 c 0,-3.317516 -2.74498,-6.062496 -6.0625,-6.062496 H 112 v -9.9375 c 0,-3.31752 -2.74498,-6.0625 -6.0625,-6.0625 z"
+         style="opacity:0.643564;fill:url(#radialGradient4806);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="opacity:0.550562;fill:url(#linearGradient3571);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3387)"
+         d="m 69.875971,12.057888 c -1.077088,0.06528 -2.528221,0.219164 -3,0.9375 L 68.465655,24.133449 79,23.37409 V 22.90534 C 80.740958,20.33518 74.219552,11.998548 69.875971,12.057888 Z"
+         id="path3217"
+         transform="matrix(-0.4540742,0,0,0.4540742,116.57304,91.07955)"
+         sodipodi:nodetypes="cccccc"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#radialGradient4810);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 13.9375 H 86.0625 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 3.875 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 H 100 v 13.93751 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 h 3.875 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -13.93751 h 13.9375 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -3.875 c 0,-1.13397 -0.92853,-2.062496 -2.0625,-2.062496 H 108 v -13.9375 c 0,-1.13397 -0.92853,-2.0625 -2.0625,-2.0625 z"
+         id="rect2407"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient4812);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 13.9375 H 86.0625 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 3.875 c 0,0.1098 0.04574,0.20722 0.0625,0.3125 3.25768,0.46957 6.69134,0.75 10.25,0.75 11.50157,0 21.80584,-2.62983 28.59375,-6.75 -0.28924,-0.15515 -0.61935,-0.249996 -0.96875,-0.249996 H 108 v -13.9375 c 0,-1.13397 -0.92853,-2.0625 -2.0625,-2.0625 z"
+         id="path3038"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:url(#linearGradient4814);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 1 c 0,-1.13397 1.32853,-2.6625 2.4625,-2.6625 h 3.875 c 0.28349,0 0.56599,0.05148 0.8125,0.15625 0.11026,0.24952 0.4875,1.12458 0.4875,1.4125 l 0.3625,14.03125 0.0312,-13.9375 c 0,-0.57563 -0.24106,-1.09358 -0.625,-1.46875 -0.0878,-0.08777 -0.17903,-0.17902 -0.28125,-0.25 -0.008,-0.0052 -0.0235,0.0051 -0.0312,0 -0.10208,-0.06913 -0.19867,-0.13727 -0.3125,-0.1875 -0.009,-0.0037 -0.0225,0.0036 -0.0312,0 -0.1146,-0.0487 -0.25111,-0.09763 -0.375,-0.125 -0.0102,-0.0021 -0.021,0.002 -0.0312,0 -0.12367,-0.0255 -0.24455,-0.02921 -0.375,-0.03125 h -0.0312 -0.46875 z m -16,16 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 1 c 0,-1.13397 0.92853,-2.6625 2.0625,-2.6625 L 100,99.999994 Z m 21.9375,0 13.75977,0.511716 c -6.7592,3.6271 -17.82247,6.39454 -28.50977,6.39453 -1.77933,0 -3.53955,-0.09 -5.25,-0.21875 2.06039,0.18692 4.17941,0.3125 6.34375,0.3125 10.77006,0 20.48375,-2.32371 27.25,-6 0.008,-0.004 0.0233,0.004 0.0312,0 0.44256,-0.24123 0.86462,-0.49711 1.28125,-0.75 -0.13631,-0.0731 -0.2853,-0.14478 -0.4375,-0.1875 -0.01,-0.003 -0.0212,0.003 -0.0312,0 -0.15237,-0.0404 -0.30537,-0.0598 -0.46875,-0.0625 h -0.0312 -0.46875 z"
+         id="path3062"
+         sodipodi:nodetypes="cccccccccsssssssccccccccccccscssscsscccc"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccccccccsssssssccccccccccccscssscsscccc"
+         id="path3087"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 1 c 0,-1.13397 1.32853,-2.6625 2.4625,-2.6625 h 3.875 c 0.28349,0 0.56599,0.05148 0.8125,0.15625 0.11026,0.24952 0.4875,1.12458 0.4875,1.4125 l 0.3625,14.03125 0.0312,-13.9375 c 0,-0.57563 -0.24106,-1.09358 -0.625,-1.46875 -0.0878,-0.08777 -0.17903,-0.17902 -0.28125,-0.25 -0.008,-0.0052 -0.0235,0.0051 -0.0312,0 -0.10208,-0.06913 -0.19867,-0.13727 -0.3125,-0.1875 -0.009,-0.0037 -0.0225,0.0036 -0.0312,0 -0.1146,-0.0487 -0.25111,-0.09763 -0.375,-0.125 -0.0102,-0.0021 -0.021,0.002 -0.0312,0 -0.12367,-0.0255 -0.24455,-0.02921 -0.375,-0.03125 h -0.0312 -0.46875 z m -16,16 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 1 c 0,-1.13397 0.92853,-2.6625 2.0625,-2.6625 L 100,99.999994 Z m 21.9375,0 13.85742,0.511716 c -6.75919,3.6271 -17.92012,6.39454 -28.60742,6.39453 -1.77933,0 -3.53955,-0.09 -5.25,-0.21875 2.06039,0.18692 4.17941,0.3125 6.34375,0.3125 10.77006,0 20.48375,-2.32371 27.25,-6 0.008,-0.004 0.0233,0.004 0.0312,0 0.44256,-0.24123 0.86462,-0.49711 1.28125,-0.75 -0.13631,-0.0731 -0.2853,-0.14478 -0.4375,-0.1875 -0.01,-0.003 -0.0212,0.003 -0.0312,0 -0.15237,-0.0404 -0.30537,-0.0598 -0.46875,-0.0625 h -0.0312 -0.46875 z"
+         style="fill:url(#linearGradient4816);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         clip-path="none" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3099"
+         d="m 102.0625,83.999994 c -1.13397,0 -2.0625,0.92853 -2.0625,2.0625 v 13.9375 H 86.0625 c -1.13397,0 -2.0625,0.928526 -2.0625,2.062496 v 3.875 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 H 100 v 13.93751 c 0,1.13397 0.92853,2.0625 2.0625,2.0625 h 3.875 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -13.93751 h 13.9375 c 1.13397,0 2.0625,-0.92853 2.0625,-2.0625 v -3.875 c 0,-1.13397 -0.92853,-2.062496 -2.0625,-2.062496 H 108 v -13.9375 c 0,-1.13397 -0.92853,-2.0625 -2.0625,-2.0625 z"
+         style="fill:none;fill-opacity:1;stroke:url(#linearGradient4818);stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3191)"
+         clip-path="none" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/modifiers/mode-xlink.png b/icons/modifiers/mode-xlink.png
new file mode 100644 (file)
index 0000000..c606a2c
Binary files /dev/null and b/icons/modifiers/mode-xlink.png differ
diff --git a/icons/rotate-ccw.png b/icons/rotate-ccw.png
deleted file mode 100644 (file)
index 788ef4a..0000000
Binary files a/icons/rotate-ccw.png and /dev/null differ
diff --git a/icons/rotate-cw.png b/icons/rotate-cw.png
deleted file mode 100644 (file)
index e37b237..0000000
Binary files a/icons/rotate-cw.png and /dev/null differ
diff --git a/icons/script-reload.svg b/icons/script-reload.svg
new file mode 100644 (file)
index 0000000..7a95cad
--- /dev/null
@@ -0,0 +1,631 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="128"
+   height="128"
+   id="svg2606"
+   version="1.0">
+  <defs
+     id="defs2608">
+    <linearGradient
+       id="linearGradient3342">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3344" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3347" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3326">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3328" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0;"
+         offset="1"
+         id="stop3330" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3825">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="0"
+         id="stop3827" />
+      <stop
+         id="stop3833"
+         offset="0.5"
+         style="stop-color:#ffffff;stop-opacity:0.18705036;" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3829" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3751">
+      <stop
+         style="stop-color:#53be2c;stop-opacity:1;"
+         offset="0"
+         id="stop3753" />
+      <stop
+         style="stop-color:#53be2c;stop-opacity:0;"
+         offset="1"
+         id="stop3755" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3528">
+      <stop
+         style="stop-color:#62c734;stop-opacity:1;"
+         offset="0"
+         id="stop3530" />
+      <stop
+         style="stop-color:#62c734;stop-opacity:0;"
+         offset="1"
+         id="stop3532" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3295">
+      <stop
+         style="stop-color:#baff63;stop-opacity:1;"
+         offset="0"
+         id="stop3297" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3299" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3202">
+      <stop
+         style="stop-color:#cbff9c;stop-opacity:1;"
+         offset="0"
+         id="stop3204" />
+      <stop
+         style="stop-color:#65c171;stop-opacity:0"
+         offset="1"
+         id="stop3206" />
+    </linearGradient>
+    <radialGradient
+       id="XMLID_4_"
+       cx="48"
+       cy="-0.2148"
+       r="55.148"
+       gradientTransform="matrix(0.9792,0,0,0.9725,133.0002,20.8762)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#72D13D"
+         id="stop3082" />
+      <stop
+         offset="1"
+         style="stop-color:#00b400;stop-opacity:1;"
+         id="stop3090" />
+    </radialGradient>
+    <linearGradient
+       id="linearGradient3260">
+      <stop
+         id="stop3262"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3264"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3344">
+      <stop
+         id="stop3346"
+         offset="0"
+         style="stop-color:#baff63;stop-opacity:1;" />
+      <stop
+         id="stop3348"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3449">
+      <stop
+         id="stop3451"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:0.67266184;" />
+      <stop
+         id="stop3453"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#XMLID_4_"
+       id="linearGradient3516"
+       x1="147.09375"
+       y1="33.40625"
+       x2="8.083992"
+       y2="123.90625"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#XMLID_4_"
+       id="radialGradient3524"
+       cx="67.09375"
+       cy="116.90625"
+       fx="67.09375"
+       fy="116.90625"
+       r="56"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient3528"
+       id="radialGradient3535"
+       cx="99.726295"
+       cy="27.418272"
+       fx="64.689766"
+       fy="68.231934"
+       r="56"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.693735,5.8671246e-2,-3.6242796e-2,0.4285387,33.939389,26.8809)" />
+    <linearGradient
+       xlink:href="#linearGradient3202"
+       id="linearGradient3548"
+       x1="75.09375"
+       y1="4.5317035"
+       x2="75.09375"
+       y2="73.898682"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3260"
+       id="linearGradient3581"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(4.2161108e-3,1.9705695e-3)"
+       x1="75.09375"
+       y1="4.5317035"
+       x2="75.09375"
+       y2="80.172485" />
+    <linearGradient
+       xlink:href="#linearGradient3295"
+       id="linearGradient3613"
+       x1="208.59375"
+       y1="130.40625"
+       x2="208.59375"
+       y2="63.426777"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-137,0)" />
+    <filter
+       id="filter3639">
+      <feGaussianBlur
+         stdDeviation="1.0580524"
+         id="feGaussianBlur3641" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient3449"
+       id="radialGradient3654"
+       cx="-10.165252"
+       cy="66.906013"
+       fx="-10.165252"
+       fy="66.906013"
+       r="59.995121"
+       gradientTransform="matrix(0.4582893,-2.1035589e-8,4.5903973e-8,1.0000813,20.447953,-5.1974351e-3)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient3449"
+       id="radialGradient3658"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.2676699,0.521376,-0.7037472,0.3612977,108.99386,-36.062981)"
+       cx="167.67001"
+       cy="80.404922"
+       fx="167.67001"
+       fy="80.404922"
+       r="59.995121" />
+    <linearGradient
+       xlink:href="#linearGradient3260"
+       id="linearGradient3676"
+       x1="120.0625"
+       y1="12.569496"
+       x2="125.30366"
+       y2="14.444496"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <filter
+       x="-0.15096202"
+       width="1.301924"
+       y="-0.13732364"
+       height="1.2746473"
+       id="filter3738">
+      <feGaussianBlur
+         stdDeviation="0.39257441"
+         id="feGaussianBlur3740" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient3449"
+       id="radialGradient3744"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.982366,1.671718e-2,-3.5801148e-3,0.2103843,-18.56344,30.477792)"
+       cx="72.684891"
+       cy="48.228905"
+       fx="74.871155"
+       fy="26.862719"
+       r="59.995121" />
+    <radialGradient
+       xlink:href="#linearGradient3751"
+       id="radialGradient3757"
+       cx="66.01458"
+       cy="126.69183"
+       fx="66.01458"
+       fy="126.69183"
+       r="59.99512"
+       gradientTransform="matrix(0.675025,0,0,0.3583625,19.527377,41.004647)"
+       gradientUnits="userSpaceOnUse" />
+    <radialGradient
+       xlink:href="#linearGradient3260"
+       id="radialGradient3767"
+       cx="64.088867"
+       cy="7.4108429"
+       fx="64.088867"
+       fy="7.4108429"
+       r="59.995121"
+       gradientTransform="matrix(0.3093869,0,0,0.4779247,44.260611,3.8644223)"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3344"
+       id="linearGradient3771"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       x1="120.0625"
+       y1="12.569496"
+       x2="125.30366"
+       y2="14.444496" />
+    <filter
+       id="filter3438">
+      <feGaussianBlur
+         stdDeviation="1.3342697"
+         id="feGaussianBlur3440" />
+    </filter>
+    <filter
+       id="filter3630">
+      <feGaussianBlur
+         stdDeviation="0.89883985"
+         id="feGaussianBlur3632" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient3825"
+       id="radialGradient2361"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6484284,0.1017206,-3.1257154e-2,0.1992521,-4.56257,53.15916)"
+       cx="-112.17241"
+       cy="118.60459"
+       fx="-113.14772"
+       fy="59.708473"
+       r="59.99512" />
+    <linearGradient
+       xlink:href="#linearGradient3326"
+       id="linearGradient2363"
+       gradientUnits="userSpaceOnUse"
+       x1="-151.43935"
+       y1="37.68198"
+       x2="-152.26776"
+       y2="57.25" />
+    <linearGradient
+       xlink:href="#linearGradient3326"
+       id="linearGradient2365"
+       gradientUnits="userSpaceOnUse"
+       x1="-132.51041"
+       y1="39.803303"
+       x2="-158.92462"
+       y2="72.881729" />
+    <linearGradient
+       xlink:href="#linearGradient3326"
+       id="linearGradient2367"
+       gradientUnits="userSpaceOnUse"
+       x1="-83.012932"
+       y1="44.753052"
+       x2="-158.92462"
+       y2="72.881729" />
+    <linearGradient
+       xlink:href="#linearGradient3342"
+       id="linearGradient3349"
+       x1="-73"
+       y1="105.625"
+       x2="-163"
+       y2="86.125"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       x="-0.087741371"
+       width="1.1754827"
+       y="-0.10211017"
+       height="1.2042203"
+       id="filter3363">
+      <feGaussianBlur
+         stdDeviation="3.0526685"
+         id="feGaussianBlur3365" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient3342"
+       id="linearGradient3372"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-40.5,-1.5)"
+       x1="-83.593941"
+       y1="137.13324"
+       x2="-138.0043"
+       y2="92.603989" />
+    <linearGradient
+       xlink:href="#linearGradient3342"
+       id="linearGradient3376"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-40.5,-1.5)"
+       x1="-61.802711"
+       y1="99.979607"
+       x2="-136.51074"
+       y2="112.70422" />
+    <radialGradient
+       xlink:href="#linearGradient3825"
+       id="radialGradient3388"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6484284,0.1017206,-3.1257154e-2,0.1992521,-4.56257,53.15916)"
+       cx="-112.17241"
+       cy="118.60459"
+       fx="-113.14772"
+       fy="59.708473"
+       r="59.99512" />
+    <linearGradient
+       xlink:href="#linearGradient3326"
+       id="linearGradient3390"
+       gradientUnits="userSpaceOnUse"
+       x1="-151.43935"
+       y1="37.68198"
+       x2="-152.26776"
+       y2="57.25" />
+    <linearGradient
+       xlink:href="#linearGradient3326"
+       id="linearGradient3392"
+       gradientUnits="userSpaceOnUse"
+       x1="-132.51041"
+       y1="39.803303"
+       x2="-158.92462"
+       y2="72.881729" />
+    <linearGradient
+       xlink:href="#linearGradient3326"
+       id="linearGradient3394"
+       gradientUnits="userSpaceOnUse"
+       x1="-83.012932"
+       y1="44.753052"
+       x2="-158.92462"
+       y2="72.881729" />
+    <linearGradient
+       xlink:href="#linearGradient3342"
+       id="linearGradient3396"
+       gradientUnits="userSpaceOnUse"
+       x1="-73"
+       y1="105.625"
+       x2="-163"
+       y2="86.125" />
+    <linearGradient
+       xlink:href="#linearGradient3342"
+       id="linearGradient3398"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-40.5,-1.5)"
+       x1="-83.593941"
+       y1="137.13324"
+       x2="-138.0043"
+       y2="92.603989" />
+    <linearGradient
+       xlink:href="#linearGradient3342"
+       id="linearGradient3400"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-40.5,-1.5)"
+       x1="-61.802711"
+       y1="99.979607"
+       x2="-136.51074"
+       y2="112.70422" />
+    <radialGradient
+       xlink:href="#linearGradient3825"
+       id="radialGradient3422"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6484284,0.1017206,-3.1257154e-2,0.1992521,-4.56257,53.15916)"
+       cx="-112.17241"
+       cy="118.60459"
+       fx="-113.14772"
+       fy="59.708473"
+       r="59.99512" />
+    <linearGradient
+       xlink:href="#linearGradient3326"
+       id="linearGradient3424"
+       gradientUnits="userSpaceOnUse"
+       x1="-151.43935"
+       y1="37.68198"
+       x2="-152.26776"
+       y2="57.25" />
+    <linearGradient
+       xlink:href="#linearGradient3326"
+       id="linearGradient3426"
+       gradientUnits="userSpaceOnUse"
+       x1="-132.51041"
+       y1="39.803303"
+       x2="-158.92462"
+       y2="72.881729" />
+    <linearGradient
+       xlink:href="#linearGradient3326"
+       id="linearGradient3428"
+       gradientUnits="userSpaceOnUse"
+       x1="-83.012932"
+       y1="44.753052"
+       x2="-158.92462"
+       y2="72.881729" />
+    <linearGradient
+       xlink:href="#linearGradient3342"
+       id="linearGradient3430"
+       gradientUnits="userSpaceOnUse"
+       x1="-73"
+       y1="105.625"
+       x2="-163"
+       y2="86.125" />
+    <linearGradient
+       xlink:href="#linearGradient3342"
+       id="linearGradient3432"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-40.5,-1.5)"
+       x1="-83.593941"
+       y1="137.13324"
+       x2="-138.0043"
+       y2="92.603989" />
+    <linearGradient
+       xlink:href="#linearGradient3342"
+       id="linearGradient3434"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-40.5,-1.5)"
+       x1="-61.802711"
+       y1="99.979607"
+       x2="-136.51074"
+       y2="112.70422" />
+    <mask
+       maskUnits="userSpaceOnUse"
+       id="mask3402">
+      <g
+         id="g3404"
+         transform="translate(167.50257,-3.755156e-3)">
+        <g
+           id="g3406"
+           transform="translate(80.51637,30.885255)">
+          <path
+             style="opacity:1;fill:url(#radialGradient3422);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.08779998;stroke-opacity:1"
+             d="M -184.42232,-32.47243 C -217.54751,-32.47243 -248.42232,-0.097625 -248.42232,33.02757 C -248.42232,66.15276 -217.04751,97.02757 -183.92232,97.02757 C -153.6332,97.02757 -128.58571,70.81131 -124.51607,41.68382 L -159.54732,36.65257 C -161.172,48.6137 -171.47739,57.62132 -183.92232,57.62132 C -197.49395,57.62132 -206.01607,46.0992 -206.01607,32.52757 C -206.01607,18.955936 -199.99395,12.43382 -186.42232,12.43382 C -179.6365,12.433819 -176.50103,10.198864 -172.04732,14.65257 L -176.8745,25.979749 C -178.93037,28.035619 -179.11822,29.285529 -178.55411,30.595278 C -178.04554,31.776057 -177.03338,33.12132 -174.34438,33.12132 L -130.39107,33.12132 C -126.54518,33.12132 -123.93208,30.466941 -123.93208,26.871189 L -124.00095,-17.206829 C -124.00095,-19.687584 -124.90346,-21.050058 -126.18242,-21.556444 C -127.49674,-22.076829 -129.21563,-21.679122 -131.28951,-19.605244 L -141.48482,-19.40993 C -152.34417,-30.269281 -167.85972,-32.47243 -184.42232,-32.47243 z "
+             id="path3408" />
+          <path
+             style="fill:url(#linearGradient3424);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)"
+             d="M -161.5,34.5 C -162,37 -180,54 -180,54 L -132.5,80 L -112,38.5 L -161.5,34.5 z "
+             id="path3410" />
+          <path
+             id="path3412"
+             d="M -161.5,34.5 C -162,37 -181.27817,54.389087 -181.27817,54.389087 L -151.62742,97.591883 L -112,38.5 L -161.5,34.5 z "
+             style="fill:url(#linearGradient3426);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)" />
+          <path
+             style="fill:url(#linearGradient3428);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3438)"
+             d="M -161.5,34.5 C -162,37 -181.27817,54.389087 -181.27817,54.389087 L -151.62742,97.591883 L -112,38.5 L -161.5,34.5 z "
+             id="path3414" />
+        </g>
+        <rect
+           y="69.75"
+           x="-119"
+           height="71.75"
+           width="83.5"
+           id="rect3416"
+           style="opacity:1;fill:url(#linearGradient3430);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3363)" />
+        <path
+           id="path3418"
+           d="M -159.5,68.25 L -39.138259,55.983708 L -93.453327,162.55286 L -197.79465,128.96507 L -159.5,68.25 z "
+           style="fill:url(#linearGradient3432);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3363)"
+           transform="matrix(0.6393762,0.7688941,-0.7688941,0.6393762,37.597642,128.08723)" />
+        <path
+           transform="matrix(0.6393762,0.7688941,-0.7688941,0.6393762,37.597642,128.08723)"
+           style="fill:url(#linearGradient3434);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3363)"
+           d="M -159.5,68.25 L -39.138259,55.983708 L -93.453327,162.55286 L -197.79465,128.96507 L -159.5,68.25 z "
+           id="path3420" />
+      </g>
+    </mask>
+    <linearGradient
+       xlink:href="#XMLID_4_"
+       id="linearGradient3458"
+       x1="-659.0235"
+       y1="-16.249783"
+       x2="-432.74933"
+       y2="-16.249783"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient3295"
+       id="linearGradient3462"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-137,0)"
+       x1="206.47243"
+       y1="77.373238"
+       x2="206.47243"
+       y2="15.343517" />
+    <linearGradient
+       xlink:href="#linearGradient3449"
+       id="linearGradient3472"
+       x1="-246.07317"
+       y1="-23.32085"
+       x2="-104.65181"
+       y2="-23.32085"
+       gradientUnits="userSpaceOnUse" />
+  </defs>
+  <metadata
+     id="metadata2611">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <g
+       id="g3835"
+       mask="url(#mask3402)">
+      <path
+         id="rect3204"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         style="opacity:1;fill:url(#linearGradient3516);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+      <path
+         style="opacity:0.797753;fill:url(#radialGradient3757);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         id="path3749" />
+      <path
+         id="path3656"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         style="opacity:0.689139;fill:url(#radialGradient3658);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+      <path
+         style="opacity:1;fill:url(#radialGradient3654);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         id="path3643" />
+      <path
+         id="path3742"
+         d="m 64.09375,3.90625 c -33.125192,-10e-8 -60.0000001,26.874805 -60,60 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,3.90625 64.09375,3.90625 Z"
+         style="opacity:0.797753;fill:url(#radialGradient3744);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1" />
+      <path
+         style="opacity:0.745318;fill:url(#radialGradient3767);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3630)"
+         d="m 64.09375,4.20625 c -33.125192,-10e-8 -60.0000001,26.574805 -60,59.7 1e-7,33.125192 26.87481,60 60,60 30.289116,0 55.33661,-22.21626 59.40625,-51.34375 L 88.46875,67.53125 C 86.844066,79.492379 76.538676,88.5 64.09375,88.5 50.522122,88.499999 39.5,77.477881 39.5,63.90625 39.500001,50.334616 50.522119,39.3125 64.09375,39.3125 c 6.785818,-10e-7 12.921294,2.765044 17.375,7.21875 L 71.141571,56.858429 c -2.05587,2.05587 -2.243725,3.30578 -1.679608,4.615529 C 69.970531,62.654737 70.982695,64 73.671688,64 H 117.625 c 3.84589,0 6.45899,-2.654379 6.45899,-6.250131 l -0.0689,-44.078018 c 0,-2.480755 -0.90251,-3.8432292 -2.18147,-4.3496147 -1.31432,-0.5203849 -3.03321,-0.1226787 -5.10709,1.9511997 L 106.53125,21.46875 C 95.671902,10.609399 80.656349,4.20625 64.09375,4.20625 Z"
+         id="path3759" />
+      <path
+         id="path3660"
+         d="m 117.6875,10.75 0.9375,4.375 1.25,0.875 4,-2.625 c 0.24688,-1.723751 -0.35117,-3.347429 -1.9375,-4.0000001 -1.58634,-0.6525714 -3.16128,0.1267033 -4.25,1.3750001 z"
+         style="opacity:0.820225;fill:url(#linearGradient3676);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3738)" />
+      <path
+         transform="matrix(0,1,1,0,60.363582,-60.363586)"
+         style="opacity:0.820225;fill:url(#linearGradient3771);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3738)"
+         d="m 117.6875,10.75 2.1875,3.125 0.5,-0.125 3.5,-0.375 c 0.24688,-1.723751 -0.35117,-3.347429 -1.9375,-4.0000001 -1.58634,-0.6525714 -3.16128,0.1267033 -4.25,1.3750001 z"
+         id="path3769" />
+      <path
+         id="path3494"
+         d="m 64.09375,7.90625 c -30.961698,-1e-7 -56.0000001,25.038299 -56,56 10e-8,30.961698 25.038304,56 56,56 26.932896,0 49.12173,-18.80675 54.53125,-44 L 91.5,72.03125 C 88.061436,83.928551 77.059621,92.5 64.09375,92.5 48.356404,92.499999 35.5,79.643599 35.5,63.90625 35.500001,48.168899 48.356402,35.3125 64.09375,35.3125 c 7.872416,-10e-7 15.051554,3.207804 20.21875,8.375 0.759464,0.751409 1.187497,1.775386 1.1875,2.84375 0,1.068364 -0.428036,2.092341 -1.1875,2.84375 L 73.6875,60 h 43.9375 c 2.00539,0 2.46875,-0.592164 2.46875,-2.25 L 120,13.65625 109.375,24.3125 c -0.75141,0.759464 -1.77539,1.1875 -2.84375,1.1875 -1.06836,0 -2.09234,-0.428036 -2.84375,-1.1875 C 93.549835,14.174833 79.577106,7.90625 64.09375,7.90625 Z"
+         style="opacity:1;fill:url(#radialGradient3524);fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+      <path
+         style="opacity:1;fill:url(#radialGradient3535);fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1"
+         d="m 64.09375,7.90625 c -30.961698,-1e-7 -56.0000001,25.038299 -56,56 10e-8,30.961698 25.038304,56 56,56 26.932896,0 49.12173,-18.80675 54.53125,-44 L 91.5,72.03125 C 88.061436,83.928551 77.059621,92.5 64.09375,92.5 48.356404,92.499999 35.5,79.643599 35.5,63.90625 35.500001,48.168899 48.356402,35.3125 64.09375,35.3125 c 7.872416,-10e-7 15.051554,3.207804 20.21875,8.375 0.759464,0.751409 1.187497,1.775386 1.1875,2.84375 0,1.068364 -0.428036,2.092341 -1.1875,2.84375 L 73.6875,60 h 43.9375 c 2.00539,0 2.46875,-0.592164 2.46875,-2.25 L 120,13.65625 109.375,24.3125 c -0.75141,0.759464 -1.77539,1.1875 -2.84375,1.1875 -1.06836,0 -2.09234,-0.428036 -2.84375,-1.1875 C 93.549835,14.174833 79.577106,7.90625 64.09375,7.90625 Z"
+         id="path3526" />
+      <path
+         id="path3537"
+         d="m 64.09375,7.90625 c -30.961698,-1e-7 -56.0000001,25.038299 -56,56 0,0.567872 0.014522,1.123731 0.03125,1.6875 5.98947,0.677652 12.141218,1.15013 18.40625,1.40625 -0.270702,-10.459042 3.671609,-20.974916 11.8125,-28.78125 15.339317,-14.708937 39.728563,-14.214319 54.4375,1.125 2.763849,2.882296 4.756602,5.688367 6.5625,9.25 L 78.84375,59 H 98 c 7.9282,-2.026627 15.18621,-3.436967 22.09375,-6.1875 L 120,13.65625 109.375,24.3125 c -0.75141,0.759464 -1.77539,1.1875 -2.84375,1.1875 -1.06836,0 -2.09234,-0.428036 -2.84375,-1.1875 C 93.549835,14.174833 79.577106,7.90625 64.09375,7.90625 Z"
+         style="opacity:0.906367;fill:url(#linearGradient3548);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+      <path
+         id="path3553"
+         d="m 64.099866,7.9087646 c -30.96169,-2e-7 -55.9999999,25.0382984 -55.9999999,55.9999994 10e-6,0.178712 -0.00249,0.354295 0,0.53125 C 8.3531061,33.696509 33.295846,8.9087645 64.099866,8.9087646 c 15.48337,-10e-8 29.45608,6.2685824 39.593744,16.4062494 0.75142,0.759465 1.77539,1.1875 2.84375,1.1875 1.06837,10e-7 2.09234,-0.428036 2.84375,-1.1875 l 10.125,-10.15625 0.49375,37.55 c -6.90754,2.75053 -14.56555,3.86086 -22.493744,5.8875 l -18.65625,0.40625 h 19.15625 c 7.928194,-2.02663 15.186204,-3.43697 22.093744,-6.1875 l -0.0937,-38.15625 v -1 l -0.5,0.5 -10.125,10.15625 c -0.7514,0.759465 -1.77539,1.1875 -2.84375,1.1875 -1.06835,10e-7 -2.09234,-0.428036 -2.84375,-1.1875 -0.0105,-0.01047 -0.0208,-0.02079 -0.0312,-0.03125 -0.0524,-0.05229 -0.10367,-0.104166 -0.15625,-0.15625 -0.5738,-0.567871 -1.15087,-1.11515 -1.75,-1.65625 -0.0815,-0.07412 -0.16804,-0.145107 -0.25,-0.21875 C 91.590066,13.342335 78.496526,7.9087646 64.099866,7.9087646 Z m -0.65625,19.2187494 c -9.23817,0.25052 -18.40344,3.79268 -25.59375,10.6875 -7.63208,7.318434 -11.12755,17.372917 -11.3125,27.21875 0.23988,-9.80188 4.18042,-19.494066 11.8125,-26.8125 13.31613,-12.7689 33.45333,-14.098057 48.15625,-4.1875 -6.87906,-4.805074 -14.98746,-7.12523 -23.0625,-6.90625 z"
+         style="opacity:1;fill:url(#linearGradient3581);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1" />
+      <path
+         id="path3603"
+         d="m 63.59375,7.90625 c -30.9617,-1e-7 -56,25.038299 -56,56 0,30.961698 25.0383,56 56,56 26.9329,0 49.12173,-18.80675 54.53125,-44 L 91,72.03125 C 87.56144,83.928551 76.55962,92.5 63.59375,92.5 47.8564,92.499999 35,79.643599 35,63.90625 35,48.168899 47.8564,35.3125 63.59375,35.3125 c 7.87242,-10e-7 15.05155,3.207804 20.21875,8.375 C 84.57196,44.438909 85,45.462886 85,46.53125 85,47.599614 84.57196,48.623591 83.8125,49.375 L 73.1875,60 h 43.9375 c 2.00539,0 2.46875,-0.592164 2.46875,-2.25 L 119.5,13.65625 108.875,24.3125 c -0.75141,0.759464 -1.77539,1.1875 -2.84375,1.1875 -1.06836,0 -2.09234,-0.428036 -2.84375,-1.1875 C 93.04984,14.174833 79.07711,7.90625 63.59375,7.90625 Z"
+         style="opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3613);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3639)" />
+      <path
+         style="opacity:1;fill:none;fill-opacity:1;stroke:url(#linearGradient3462);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.0878;stroke-opacity:1;filter:url(#filter3639)"
+         d="m 63.59375,7.90625 c -30.9617,-1e-7 -56,25.038299 -56,56 0,30.961698 25.0383,56 56,56 26.9329,0 49.12173,-18.80675 54.53125,-44 L 91,72.03125 C 87.56144,83.928551 76.55962,92.5 63.59375,92.5 47.8564,92.499999 35,79.643599 35,63.90625 35,48.168899 47.8564,35.3125 63.59375,35.3125 c 7.87242,-10e-7 15.05155,3.207804 20.21875,8.375 C 84.57196,44.438909 85,45.462886 85,46.53125 85,47.599614 84.57196,48.623591 83.8125,49.375 L 73.1875,60 h 43.9375 c 2.00539,0 2.46875,-0.592164 2.46875,-2.25 L 119.5,13.65625 108.875,24.3125 c -0.75141,0.759464 -1.77539,1.1875 -2.84375,1.1875 -1.06836,0 -2.09234,-0.428036 -2.84375,-1.1875 C 93.04984,14.174833 79.07711,7.90625 63.59375,7.90625 Z"
+         id="path3460" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/script-run.svg b/icons/script-run.svg
new file mode 100644 (file)
index 0000000..59d721f
--- /dev/null
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="128"
+   height="128"
+   id="svg3186"
+   version="1.0">
+  <defs
+     id="defs3188">
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)"
+       r="40.0294"
+       cy="59.1865"
+       cx="53.1978"
+       id="radialGradient3163">
+      <stop
+         id="stop3165"
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0" />
+      <stop
+         id="stop3175"
+         style="stop-color:#666666;stop-opacity:1;"
+         offset="1" />
+    </radialGradient>
+    <linearGradient
+       id="XMLID_9_"
+       gradientUnits="userSpaceOnUse"
+       x1="11.9487"
+       y1="34"
+       x2="104.0518"
+       y2="34"
+       gradientTransform="translate(559.14286,-264.28571)">
+      <stop
+         offset="0"
+         style="stop-color:#FFFFFF"
+         id="stop56" />
+      <stop
+         offset="0.80000001"
+         style="stop-color:#ffffff;stop-opacity:0;"
+         id="stop58" />
+    </linearGradient>
+    <radialGradient
+       id="XMLID_8_"
+       cx="53.1978"
+       cy="59.1865"
+       r="40.0294"
+       gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)"
+       gradientUnits="userSpaceOnUse">
+      <stop
+         offset="0"
+         style="stop-color:#323232"
+         id="stop41" />
+      <stop
+         offset="0.2083"
+         style="stop-color:#363636"
+         id="stop43" />
+      <stop
+         offset="0.4278"
+         style="stop-color:#434343"
+         id="stop45" />
+      <stop
+         offset="0.6526"
+         style="stop-color:#585858"
+         id="stop47" />
+      <stop
+         offset="0.8796"
+         style="stop-color:#757575"
+         id="stop49" />
+      <stop
+         offset="1"
+         style="stop-color:#888888"
+         id="stop51" />
+    </radialGradient>
+    <radialGradient
+       id="XMLID_7_"
+       cx="58"
+       cy="58"
+       r="48"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(559.14286,-264.28571)">
+      <stop
+         offset="0"
+         style="stop-color:#FFFFFF"
+         id="stop26" />
+      <stop
+         offset="0.574"
+         style="stop-color:#FFFFFF"
+         id="stop28" />
+      <stop
+         offset="0.6842"
+         style="stop-color:#FBFBFB"
+         id="stop30" />
+      <stop
+         offset="0.8001"
+         style="stop-color:#EEEEEE"
+         id="stop32" />
+      <stop
+         offset="0.9"
+         style="stop-color:#DDDDDD"
+         id="stop34" />
+      <stop
+         offset="1"
+         style="stop-color:#BBBBBB"
+         id="stop36" />
+    </radialGradient>
+    <filter
+       id="AI_Sfocatura_4">
+      <feGaussianBlur
+         stdDeviation="4"
+         id="feGaussianBlur6" />
+    </filter>
+    <linearGradient
+       id="XMLID_6_"
+       gradientUnits="userSpaceOnUse"
+       x1="58.0005"
+       y1="116"
+       x2="58.0005"
+       y2="4.882812e-04">
+      <stop
+         offset="0"
+         style="stop-color:#555555"
+         id="stop9" />
+      <stop
+         offset="0.2736"
+         style="stop-color:#595959"
+         id="stop11" />
+      <stop
+         offset="0.562"
+         style="stop-color:#666666"
+         id="stop13" />
+      <stop
+         offset="0.8561"
+         style="stop-color:#7B7B7B"
+         id="stop15" />
+      <stop
+         offset="1"
+         style="stop-color:#888888"
+         id="stop17" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#XMLID_9_"
+       id="linearGradient3242"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(6.0000006,6.0000006)"
+       x1="11.9487"
+       y1="34"
+       x2="104.0518"
+       y2="34" />
+    <radialGradient
+       xlink:href="#XMLID_7_"
+       id="radialGradient3246"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0833333,0,0,1.0833333,1.1666673,1.1666673)"
+       cx="58"
+       cy="58"
+       r="48" />
+    <linearGradient
+       xlink:href="#XMLID_6_"
+       id="linearGradient3251"
+       gradientUnits="userSpaceOnUse"
+       x1="58.0005"
+       y1="116"
+       x2="58.0005"
+       y2="4.882812e-04" />
+    <radialGradient
+       xlink:href="#radialGradient3163"
+       id="radialGradient3253"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.6667,0,0,0.7574,20.7214,14.064)"
+       cx="53.1978"
+       cy="59.186501"
+       r="40.0294" />
+  </defs>
+  <metadata
+     id="metadata3191">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <circle
+       cx="58"
+       cy="58"
+       r="58"
+       id="circle19"
+       style="fill:url(#linearGradient3251)"
+       transform="matrix(1.1034483,0,0,1.1034483,0,-2.8e-6)" />
+    <g
+       id="g21"
+       transform="matrix(1.0833333,0,0,1.0833333,1.1666686,1.1666686)"
+       style="opacity:0.8;filter:url(#AI_Sfocatura_4)">
+      <path
+         d="m 10,58 c 0,26.467 21.533,48 48,48 26.467,0 48,-21.533 48,-48 C 106,31.533 84.467,10 58,10 31.533,10 10,31.533 10,58 Z"
+         id="path23" />
+    </g>
+    <path
+       d="M 12,63.999999 C 12,92.672581 35.327414,116 63.999998,116 92.672584,116 116,92.672581 116,63.999999 116,35.327415 92.672584,12 63.999998,12 35.327414,12 12,35.327415 12,63.999999 Z"
+       id="path38"
+       style="fill:url(#radialGradient3246)" />
+    <polygon
+       points="90,58 42,90 42,26 "
+       id="polygon53"
+       style="fill:url(#radialGradient3253);fill-opacity:1"
+       transform="translate(6,6)" />
+    <path
+       d="M 63.999998,63.999999 C 81.788999,63.999999 97.967006,58.87 110.05199,50.491 104.19999,30.582 85.775999,16 63.999998,16 42.222999,16 23.798999,30.582999 17.949,50.491 30.032,58.87 46.209999,63.999999 63.999998,63.999999 Z"
+       id="path60"
+       style="opacity:0.5;fill:url(#linearGradient3242)" />
+  </g>
+</svg>
diff --git a/icons/system-shutdown.svg b/icons/system-shutdown.svg
new file mode 100644 (file)
index 0000000..175f613
--- /dev/null
@@ -0,0 +1,507 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="128"
+   height="128"
+   id="svg2"
+   version="1.0"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient2990">
+      <stop
+         style="stop-color:#cccccc;stop-opacity:1;"
+         offset="0"
+         id="stop2992" />
+      <stop
+         style="stop-color:#f1f1f1;stop-opacity:1;"
+         offset="1"
+         id="stop2994" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3237">
+      <stop
+         style="stop-color:#ffeb8b;stop-opacity:1;"
+         offset="0"
+         id="stop3239" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop3241" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6674">
+      <stop
+         style="stop-color:#bf0000;stop-opacity:1;"
+         offset="0"
+         id="stop6676" />
+      <stop
+         style="stop-color:#ff1111;stop-opacity:0;"
+         offset="1"
+         id="stop6678" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6666">
+      <stop
+         id="stop6668"
+         offset="0"
+         style="stop-color:#ff5900;stop-opacity:1;" />
+      <stop
+         id="stop6670"
+         offset="1"
+         style="stop-color:#8d0000;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6643">
+      <stop
+         style="stop-color:#ff6565;stop-opacity:1;"
+         offset="0"
+         id="stop6645" />
+      <stop
+         style="stop-color:#ffdfbf;stop-opacity:0;"
+         offset="1"
+         id="stop6647" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6631">
+      <stop
+         style="stop-color:#703700;stop-opacity:1;"
+         offset="0"
+         id="stop6633" />
+      <stop
+         style="stop-color:#bf5e00;stop-opacity:0;"
+         offset="1"
+         id="stop6635" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6610">
+      <stop
+         style="stop-color:#ffbf80;stop-opacity:1;"
+         offset="0"
+         id="stop6612" />
+      <stop
+         style="stop-color:#ffbf80;stop-opacity:0;"
+         offset="1"
+         id="stop6614" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6446">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop6448" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0;"
+         offset="1"
+         id="stop6450" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6404">
+      <stop
+         style="stop-color:#770000;stop-opacity:1;"
+         offset="0"
+         id="stop6406" />
+      <stop
+         style="stop-color:#c10000;stop-opacity:1;"
+         offset="1"
+         id="stop6408" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient9643">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop9645" />
+      <stop
+         style="stop-color:#620000;stop-opacity:1;"
+         offset="1"
+         id="stop9647" />
+    </linearGradient>
+    <radialGradient
+       xlink:href="#linearGradient9643"
+       id="radialGradient9651"
+       cx="12.040753"
+       cy="118.14538"
+       fx="12.040753"
+       fy="118.14538"
+       r="42.559486"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       gradientTransform="matrix(1.7951011,0,0,1.7951011,-9.5736166,-93.937523)" />
+    <radialGradient
+       xlink:href="#linearGradient6666"
+       id="radialGradient9692"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1890799,0,0,1.1890799,-114.77413,-31.375729)"
+       spreadMethod="pad"
+       cx="42.700352"
+       cy="103.5803"
+       fx="42.700352"
+       fy="103.5803"
+       r="42.559486" />
+    <linearGradient
+       xlink:href="#linearGradient6404"
+       id="linearGradient6410"
+       x1="39.741936"
+       y1="113.54839"
+       x2="11.458064"
+       y2="13.006452"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient6446"
+       id="linearGradient6452"
+       x1="21.094994"
+       y1="21.101994"
+       x2="15.189133"
+       y2="27.007854"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       gradientTransform="translate(-7.5870968,-7.3806452)" />
+    <filter
+       id="filter6458"
+       x="-0.076122599"
+       y="-0.072633189"
+       width="1.1522452"
+       height="1.1452664">
+      <feGaussianBlur
+         stdDeviation="0.28444187"
+         id="feGaussianBlur6460" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient6446"
+       id="linearGradient6464"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.4129032,0.6193548)"
+       spreadMethod="reflect"
+       x1="21.094994"
+       y1="21.101994"
+       x2="15.126888"
+       y2="27.070099" />
+    <linearGradient
+       xlink:href="#linearGradient6446"
+       id="linearGradient6470"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.4129032,0.6193548)"
+       spreadMethod="reflect"
+       x1="21.094994"
+       y1="21.101994"
+       x2="13.96104"
+       y2="28.235947" />
+    <linearGradient
+       xlink:href="#linearGradient6446"
+       id="linearGradient6472"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.4129032,0.6193548)"
+       spreadMethod="reflect"
+       x1="21.094994"
+       y1="21.101994"
+       x2="13.96104"
+       y2="28.235947" />
+    <linearGradient
+       xlink:href="#linearGradient6631"
+       id="linearGradient6637"
+       x1="55.329033"
+       y1="112"
+       x2="55.329033"
+       y2="74.913147"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient6643"
+       id="linearGradient6649"
+       x1="62.038712"
+       y1="15.91371"
+       x2="62.038712"
+       y2="50.728985"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient6610"
+       id="linearGradient6655"
+       gradientUnits="userSpaceOnUse"
+       x1="59.225807"
+       y1="20.283871"
+       x2="59.225807"
+       y2="117.32368"
+       gradientTransform="translate(0,1.6516129)" />
+    <linearGradient
+       xlink:href="#linearGradient6610"
+       id="linearGradient6657"
+       gradientUnits="userSpaceOnUse"
+       x1="59.225807"
+       y1="20.283871"
+       x2="59.225807"
+       y2="117.32368" />
+    <linearGradient
+       xlink:href="#linearGradient6674"
+       id="linearGradient6680"
+       x1="19.096775"
+       y1="50.580647"
+       x2="80.047699"
+       y2="66.897575"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       xlink:href="#linearGradient6446"
+       id="linearGradient2816"
+       gradientUnits="userSpaceOnUse"
+       x1="59.225807"
+       y1="-31.712746"
+       x2="59.225807"
+       y2="98.167175" />
+    <linearGradient
+       xlink:href="#linearGradient6446"
+       id="linearGradient3209"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.2623629,1)"
+       x1="59.225807"
+       y1="7.8973217"
+       x2="59.225807"
+       y2="46.228859" />
+    <linearGradient
+       xlink:href="#linearGradient6446"
+       id="linearGradient3225"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.2332229,1.9150941)"
+       x1="92.848534"
+       y1="60.664852"
+       x2="31.376678"
+       y2="21.03125" />
+    <linearGradient
+       xlink:href="#linearGradient6446"
+       id="linearGradient3231"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.2623629,1)"
+       x1="59.225807"
+       y1="7.8973217"
+       x2="59.225807"
+       y2="46.228859" />
+    <linearGradient
+       xlink:href="#linearGradient6446"
+       id="linearGradient3233"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.2332229,1.9150941)"
+       x1="115.76678"
+       y1="71.084908"
+       x2="31.376678"
+       y2="21.03125" />
+    <linearGradient
+       xlink:href="#linearGradient3237"
+       id="linearGradient3243"
+       x1="-60.945251"
+       y1="105.83054"
+       x2="-59.415245"
+       y2="45.631207"
+       gradientUnits="userSpaceOnUse" />
+    <filter
+       id="filter3281"
+       x="-0.012421141"
+       y="-0.012665242"
+       width="1.0248423"
+       height="1.0253305">
+      <feGaussianBlur
+         stdDeviation="0.32872878"
+         id="feGaussianBlur3283" />
+    </filter>
+    <linearGradient
+       xlink:href="#linearGradient6674"
+       id="linearGradient3289"
+       gradientUnits="userSpaceOnUse"
+       x1="60.402065"
+       y1="64.076149"
+       x2="60.402065"
+       y2="-20.962214" />
+    <filter
+       id="filter3319"
+       x="-0.034670946"
+       y="-0.034670946"
+       width="1.0693419"
+       height="1.0693419">
+      <feGaussianBlur
+         stdDeviation="1.6179775"
+         id="feGaussianBlur3321" />
+    </filter>
+    <radialGradient
+       xlink:href="#linearGradient2990"
+       id="radialGradient2996"
+       cx="64"
+       cy="81.325775"
+       fx="66.881805"
+       fy="105.27442"
+       r="43.474762"
+       gradientTransform="matrix(0.712348,-0.1260581,0.1345724,0.7604617,7.4655205,20.174132)"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect" />
+    <radialGradient
+       xlink:href="#linearGradient2990"
+       id="radialGradient3000"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.712348,-0.1260581,0.1345724,0.7604617,-100.53448,20.174132)"
+       spreadMethod="reflect"
+       cx="64"
+       cy="81.325775"
+       fx="66.881805"
+       fy="105.27442"
+       r="43.474762" />
+    <filter
+       id="filter3035"
+       x="-0.016614781"
+       y="-0.023177143"
+       width="1.0332296"
+       height="1.0463543">
+      <feGaussianBlur
+         stdDeviation="0.60200945"
+         id="feGaussianBlur3037" />
+    </filter>
+    <filter
+       id="filter3104"
+       x="-0.011645111"
+       y="-0.014466115"
+       width="1.0232902"
+       height="1.0289322">
+      <feGaussianBlur
+         stdDeviation="0.4217763"
+         id="feGaussianBlur3106" />
+    </filter>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3108">
+      <path
+         style="fill:url(#radialGradient3112);fill-opacity:1;stroke:none;stroke-width:16.49500084;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"
+         d="M -166.22608,25.639042 C -168.37082,25.690988 -170.41095,26.576535 -171.91358,28.107792 C -188.83826,45.032475 -188.83826,72.745609 -171.91358,89.670296 C -154.9889,106.59499 -127.27576,106.59498 -110.35108,89.670296 C -93.426397,72.745608 -93.426407,45.032476 -110.35108,28.107792 C -113.57849,24.889007 -118.78854,24.911628 -122.00733,28.139042 C -125.22611,31.366456 -125.23474,36.576507 -122.00733,39.795292 C -111.39346,50.409165 -111.39346,67.400168 -122.00733,78.014046 C -132.62121,88.627926 -149.64346,88.627916 -160.25733,78.014046 C -170.8712,67.400167 -170.8712,50.409167 -160.25733,39.795292 C -157.82392,37.426791 -157.09428,33.799307 -158.41358,30.670292 C -159.73287,27.541276 -162.83146,25.550254 -166.22608,25.639042 z M -141.25733,26.357792 C -145.38715,26.426713 -148.68411,29.821465 -148.63233,33.951542 L -148.63233,65.951542 C -148.67058,68.656311 -147.24981,71.181744 -144.91358,72.545292 C -142.57735,73.908838 -139.68731,73.90884 -137.35108,72.545292 C -135.01484,71.181742 -133.59407,68.656311 -133.63233,65.951542 L -133.63233,33.951542 C -133.60691,31.924427 -134.41464,29.975845 -135.85108,28.545292 C -137.28752,27.114738 -139.23033,26.324051 -141.25733,26.357792 z"
+         id="path3110" />
+    </clipPath>
+    <radialGradient
+       xlink:href="#linearGradient2990"
+       id="radialGradient3112"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.712348,-0.1260581,0.1345724,0.7604617,-197.66681,20.174132)"
+       spreadMethod="reflect"
+       cx="64"
+       cy="81.325775"
+       fx="66.881805"
+       fy="105.27442"
+       r="43.474762" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipPath3114">
+      <path
+         id="path3116"
+         d="M -69.09375,25.639042 C -71.238499,25.690988 -73.27862,26.576535 -74.78125,28.107792 C -91.705938,45.032475 -91.705939,72.745609 -74.78125,89.670296 C -57.856572,106.59499 -30.143439,106.59498 -13.21875,89.670296 C 3.70593,72.745608 3.70592,45.032476 -13.21875,28.107792 C -16.446164,24.889007 -21.656215,24.911628 -24.875,28.139042 C -28.093785,31.366456 -28.102414,36.576507 -24.875,39.795292 C -14.261134,50.409165 -14.261131,67.400168 -24.875,78.014046 C -35.488884,88.627926 -52.51113,88.627916 -63.125,78.014046 C -73.738879,67.400167 -73.738878,50.409167 -63.125,39.795292 C -60.691591,37.426791 -59.961952,33.799307 -61.28125,30.670292 C -62.600548,27.541276 -65.699137,25.550254 -69.09375,25.639042 z M -44.125,26.357792 C -48.254827,26.426713 -51.551787,29.821465 -51.5,33.951542 L -51.5,65.951542 C -51.538252,68.656311 -50.117481,71.181744 -47.78125,72.545292 C -45.44502,73.908838 -42.554982,73.90884 -40.21875,72.545292 C -37.882517,71.181742 -36.461748,68.656311 -36.5,65.951542 L -36.5,33.951542 C -36.474583,31.924427 -37.28231,29.975845 -38.71875,28.545292 C -40.155192,27.114738 -42.098006,26.324051 -44.125,26.357792 z"
+         style="fill:url(#radialGradient3118);fill-opacity:1;stroke:none;stroke-width:16.49500084;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+    </clipPath>
+    <radialGradient
+       xlink:href="#linearGradient2990"
+       id="radialGradient3118"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.712348,-0.1260581,0.1345724,0.7604617,-100.53448,20.174132)"
+       spreadMethod="reflect"
+       cx="64"
+       cy="81.325775"
+       fx="66.881805"
+       fy="105.27442"
+       r="43.474762" />
+  </defs>
+  <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" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1">
+    <path
+       style="fill:url(#linearGradient3289);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3319)"
+       d="M 18.083601,8 L 109.9164,8 C 115.50271,8 120,12.497286 120,18.083601 L 120,109.9164 C 120,115.50271 115.50271,120 109.9164,120 L 18.083601,120 C 12.497286,120 8,115.50271 8,109.9164 L 8,18.083601 C 8,12.497286 12.497286,8 18.083601,8 z"
+       id="rect3287" />
+    <path
+       style="fill:url(#linearGradient6410);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 18.083601,8 L 109.9164,8 C 115.50271,8 120,12.497286 120,18.083601 L 120,109.9164 C 120,115.50271 115.50271,120 109.9164,120 L 18.083601,120 C 12.497286,120 8,115.50271 8,109.9164 L 8,18.083601 C 8,12.497286 12.497286,8 18.083601,8 z"
+       id="rect8666" />
+    <path
+       style="opacity:0.08290154;fill:url(#linearGradient6680);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 18.083601,8 L 109.9164,8 C 115.50271,8 120,12.497286 120,18.083601 L 120,109.9164 C 120,115.50271 115.50271,120 109.9164,120 L 18.083601,120 C 12.497286,120 8,115.50271 8,109.9164 L 8,18.083601 C 8,12.497286 12.497286,8 18.083601,8 z"
+       id="rect6672" />
+    <path
+       transform="scale(-1,1)"
+       style="fill:url(#radialGradient9692);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+       d="M -109.38386,12.614708 L -19.616139,12.614708 C -15.737346,12.614708 -12.614708,15.737346 -12.614708,19.616139 L -12.614708,108.38386 C -12.614708,112.26265 -15.737346,115.38529 -19.616139,115.38529 L -109.38386,115.38529 C -113.26265,115.38529 -116.38529,112.26265 -116.38529,108.38386 L -116.38529,19.616139 C -116.38529,15.737346 -113.26265,12.614708 -109.38386,12.614708 z"
+       id="rect9641" />
+    <path
+       style="opacity:0.8876405;fill:url(#linearGradient6452);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter6458)"
+       d="M 17.906944,8.299378 C 13.216769,8.299378 8.509435,11.867379 8.509435,17.698118 L 12.77674,17.639205 C 13.229113,15.50937 15.628704,13.368243 17.303345,13.03582 L 17.906944,8.299378 z"
+       id="rect6433" />
+    <path
+       id="path6462"
+       d="M 25.397509,16.46919 C 20.707334,16.46919 16.429601,20.123899 16.429601,25.954638 L 20.77674,25.639205 C 21.229113,23.50937 23.628704,21.368243 25.303345,21.03582 L 25.397509,16.46919 z"
+       style="opacity:0.8689139;fill:url(#linearGradient6464);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter6458)"
+       transform="matrix(-1,0,0,1,135.86741,-8)" />
+    <path
+       style="opacity:0.08290155;fill:url(#linearGradient6637);fill-opacity:1.0;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 8,105.875 L 8,109.90625 C 8,115.49256 12.507435,120 18.09375,120 L 109.90625,120 C 115.49256,120 120,115.49257 120,109.90625 L 120,105.875 C 120,111.46131 115.49256,115.96875 109.90625,115.96875 L 18.09375,115.96875 C 12.507435,115.96875 8,111.46131 8,105.875 z"
+       id="rect6626" />
+    <path
+       id="path6466"
+       d="M 26.246568,16.978625 C 21.556393,16.978625 16.769225,20.633334 16.769225,26.464073 L 20.77674,25.639205 C 21.229113,23.50937 23.628704,21.368243 25.303345,21.03582 L 26.246568,16.978625 z"
+       style="opacity:0.32642487;fill:url(#linearGradient6470);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter6458)"
+       transform="matrix(1,0,0,-1,-8,136.08786)" />
+    <path
+       transform="matrix(-1,0,0,-1,135.86741,136.08786)"
+       style="opacity:0.17616583;fill:url(#linearGradient6472);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter6458)"
+       d="M 26.246568,16.978625 C 21.556393,16.978625 16.769225,20.633334 16.769225,26.464073 L 20.77674,25.639205 C 21.229113,23.50937 23.628704,21.368243 25.303345,21.03582 L 26.246568,16.978625 z"
+       id="path6468" />
+    <path
+       id="path6639"
+       d="M 8,22.03871 L 8,18.00746 C 8,12.42115 12.507435,7.91371 18.09375,7.91371 L 109.90625,7.91371 C 115.49256,7.91371 120,12.42114 120,18.00746 L 120,22.03871 C 120,16.4524 115.49256,11.94496 109.90625,11.94496 L 18.09375,11.94496 C 12.507435,11.94496 8,16.4524 8,22.03871 z"
+       style="opacity:0.38860103;fill:url(#linearGradient6649);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    <g
+       id="g3227"
+       transform="translate(0,-1)">
+      <path
+         id="path3207"
+         d="M 19.441303,13.28125 C 15.451078,13.28125 12.253803,16.478525 12.253803,20.46875 L 12.253803,21.46875 C 12.253803,17.478525 15.451078,14.28125 19.441303,14.28125 L 109.0663,14.28125 C 113.05653,14.28125 116.2538,17.478525 116.2538,21.46875 L 116.2538,20.46875 C 116.2538,16.478525 113.05653,13.28125 109.0663,13.28125 L 19.441303,13.28125 z"
+         style="opacity:1;fill:url(#linearGradient3231);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         id="path3215"
+         d="M 112.21077,14.946344 C 113.80613,16.261139 114.83577,18.233092 114.83577,20.477594 L 114.83577,54.977594 C 114.6424,55.305632 114.39903,55.644913 114.11702,55.977594 C 86.869243,66.464121 40.804813,69.465921 12.242023,62.602594 L 12.242023,63.165094 C 41.223093,70.471727 87.827513,67.54278 115.52327,56.883844 C 115.80529,56.551161 116.04865,56.211882 116.24202,55.883844 L 116.24202,21.383844 C 116.24202,18.530833 114.60098,16.10976 112.21077,14.946344 z"
+         style="opacity:1;fill:url(#linearGradient3233);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+    </g>
+    <path
+       transform="scale(-1,1)"
+       style="fill:none;fill-opacity:1;stroke:url(#linearGradient3243);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;filter:url(#filter3281)"
+       d="M -109.38386,13.614708 L -19.616139,13.614708 C -15.737346,13.614708 -12.614708,16.737346 -12.614708,20.616139 L -12.614708,108.38386 C -12.614708,112.26265 -15.737346,115.38529 -19.616139,115.38529 L -109.38386,115.38529 C -113.26265,115.38529 -116.38529,112.26265 -116.38529,108.38386 L -116.38529,20.616139 C -116.38529,16.737346 -113.26265,13.614708 -109.38386,13.614708 z"
+       id="rect3235" />
+    <path
+       style="opacity:1;fill:url(#linearGradient2816);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 19.1875,12.28125 C 15.197275,12.28125 12,15.478525 12,19.46875 L 12,61.25 C 40.981077,68.556633 87.585499,65.627686 115.28125,54.96875 C 115.56327,54.636067 115.80663,54.296788 116,53.96875 L 116,19.46875 C 116,15.478525 112.80273,12.28125 108.8125,12.28125 L 19.1875,12.28125 z"
+       id="rect9679" />
+    <g
+       id="g3120">
+      <path
+         id="path2968"
+         d="M 38.90625,25.639042 C 36.761501,25.690988 34.72138,26.576535 33.21875,28.107792 C 16.294062,45.032475 16.294061,72.745609 33.21875,89.670296 C 50.143428,106.59499 77.856561,106.59498 94.78125,89.670296 C 111.70593,72.745608 111.70592,45.032476 94.78125,28.107792 C 91.553836,24.889007 86.343785,24.911628 83.125,28.139042 C 79.906215,31.366456 79.897586,36.576507 83.125,39.795292 C 93.738866,50.409165 93.738869,67.400168 83.125,78.014046 C 72.511116,88.627926 55.48887,88.627916 44.875,78.014046 C 34.261121,67.400167 34.261122,50.409167 44.875,39.795292 C 47.308409,37.426791 48.038048,33.799307 46.71875,30.670292 C 45.399452,27.541276 42.300863,25.550254 38.90625,25.639042 z M 63.875,26.357792 C 59.745173,26.426713 56.448213,29.821465 56.5,33.951542 L 56.5,65.951542 C 56.461748,68.656311 57.882519,71.181744 60.21875,72.545292 C 62.55498,73.908838 65.445018,73.90884 67.78125,72.545292 C 70.117483,71.181742 71.538252,68.656311 71.5,65.951542 L 71.5,33.951542 C 71.525417,31.924427 70.71769,29.975845 69.28125,28.545292 C 67.844808,27.114738 65.901994,26.324051 63.875,26.357792 z"
+         style="fill:url(#radialGradient2996);fill-opacity:1;stroke:none;stroke-width:16.49500084;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1" />
+      <path
+         transform="translate(108.00965,0)"
+         clip-path="url(#clipPath3114)"
+         id="path3006"
+         d="M -69.09375,24.624907 C -71.238499,24.676852 -73.27862,25.5624 -74.78125,27.093657 C -83.496145,35.808549 -87.728838,47.384882 -87.46875,58.874907 C -87.223736,48.050827 -82.991043,37.303449 -74.78125,29.093657 C -73.27862,27.5624 -71.238499,26.676852 -69.09375,26.624907 C -65.699137,26.536119 -62.600548,28.527144 -61.28125,31.656157 C -60.989765,32.34748 -60.813923,33.060123 -60.71875,33.781157 C -60.562998,32.401937 -60.718703,30.990365 -61.28125,29.656157 C -62.600548,26.527144 -65.699137,24.536119 -69.09375,24.624907 z M -19.0625,24.687407 C -21.170788,24.694141 -23.265608,25.5112 -24.875,27.124907 C -26.742048,28.996959 -27.5169,31.538014 -27.21875,33.968657 C -27.006797,32.197025 -26.234886,30.48844 -24.875,29.124907 C -21.656215,25.897493 -16.446164,25.874875 -13.21875,29.093657 C -5.0089658,37.303448 -0.77626489,48.050827 -0.53125,58.874907 C -0.2711633,47.384883 -4.5038642,35.80855 -13.21875,27.093657 C -14.832457,25.484264 -16.954212,24.680673 -19.0625,24.687407 z M -44.125,25.343657 C -48.254827,25.412577 -51.551787,28.80733 -51.5,32.937407 L -51.5,34.937407 C -51.551787,30.80733 -48.254827,27.412577 -44.125,27.343657 C -42.098006,27.309916 -40.155192,28.100606 -38.71875,29.531157 C -37.28231,30.96171 -36.474583,32.910295 -36.5,34.937407 L -36.5,32.937407 C -36.474583,30.910295 -37.28231,28.96171 -38.71875,27.531157 C -40.155192,26.100602 -42.098006,25.309916 -44.125,25.343657 z M -71.0625,59.187407 C -71.246543,66.318337 -68.610008,73.514897 -63.125,78.999907 C -52.51113,89.613777 -35.488884,89.613787 -24.875,78.999907 C -19.389998,73.514897 -16.753457,66.318337 -16.9375,59.187407 C -17.248453,65.651457 -19.899749,72.024647 -24.875,76.999907 C -35.488884,87.613787 -52.51113,87.613777 -63.125,76.999907 C -68.100256,72.024647 -70.751547,65.651457 -71.0625,59.187407 z"
+         style="opacity:0.82608696;fill:#000000;fill-opacity:1;stroke:none;stroke-width:16.49500084;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3035)" />
+      <path
+         transform="translate(205.1,0)"
+         clip-path="url(#clipPath3108)"
+         id="path3039"
+         d="M -157.90625,33.745687 C -158.21121,35.386177 -159.00162,36.936857 -160.25,38.151937 C -165.94495,43.846887 -168.60388,51.380287 -168.1875,58.776937 C -167.83474,52.377417 -165.17697,46.078907 -160.25,41.151937 C -158.25381,39.208997 -157.41884,36.412897 -157.90625,33.745687 z M -124.28125,33.839437 C -124.75058,36.410297 -123.99327,39.163987 -122,41.151937 C -117.07303,46.078907 -114.41526,52.377417 -114.0625,58.776937 C -113.64612,51.380287 -116.30505,43.846887 -122,38.151937 C -123.22619,36.929027 -123.98786,35.419277 -124.28125,33.839437 z M -184.5625,58.745687 C -184.95841,70.399217 -180.74753,82.185657 -171.90625,91.026937 C -154.98158,107.95164 -127.26843,107.95163 -110.34375,91.026937 C -101.5026,82.185787 -97.291733,70.399037 -97.6875,58.745687 C -98.04935,69.400437 -102.26022,79.943407 -110.34375,88.026937 C -127.26843,104.95163 -154.98158,104.95164 -171.90625,88.026937 C -179.98965,79.943537 -184.20052,69.400257 -184.5625,58.745687 z M -148.625,64.308187 L -148.625,67.308187 C -148.66326,70.012957 -147.24248,72.538387 -144.90625,73.901937 C -142.57003,75.265487 -139.67998,75.265487 -137.34375,73.901937 C -135.00752,72.538387 -133.58674,70.012957 -133.625,67.308187 L -133.625,64.308187 C -133.58674,67.012957 -135.00752,69.538387 -137.34375,70.901937 C -139.67998,72.265487 -142.57003,72.265487 -144.90625,70.901937 C -147.24248,69.538387 -148.66326,67.012957 -148.625,64.308187 z"
+         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:16.49500084;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3104)" />
+    </g>
+  </g>
+</svg>
diff --git a/icons/taskfilter-activetask.png b/icons/taskfilter-activetask.png
new file mode 100644 (file)
index 0000000..929b558
Binary files /dev/null and b/icons/taskfilter-activetask.png differ
diff --git a/icons/taskfilter-currentmap.png b/icons/taskfilter-currentmap.png
new file mode 100644 (file)
index 0000000..b205ab3
Binary files /dev/null and b/icons/taskfilter-currentmap.png differ
diff --git a/icons/taskfilter-newtask.png b/icons/taskfilter-newtask.png
new file mode 100644 (file)
index 0000000..5cedc8e
Binary files /dev/null and b/icons/taskfilter-newtask.png differ
diff --git a/icons/transform-rotate-ccw.svg b/icons/transform-rotate-ccw.svg
new file mode 100644 (file)
index 0000000..343495b
--- /dev/null
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="128"
+   height="128"
+   id="svg2"
+   version="1.0">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient1038">
+      <stop
+         id="stop1034"
+         offset="0"
+         style="stop-color:#ec0b08;stop-opacity:1" />
+      <stop
+         id="stop1036"
+         offset="1"
+         style="stop-color:#fc2e2d;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1021">
+      <stop
+         id="stop1029"
+         offset="0"
+         style="stop-color:#0648a5;stop-opacity:1" />
+      <stop
+         id="stop1031"
+         offset="1"
+         style="stop-color:#2d85fc;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1027">
+      <stop
+         style="stop-color:#c7cdd7;stop-opacity:1;"
+         offset="0"
+         id="stop1023" />
+      <stop
+         style="stop-color:#e2e2e2;stop-opacity:1"
+         offset="1"
+         id="stop1025" />
+    </linearGradient>
+    <linearGradient
+       id="red">
+      <stop
+         id="stop1017"
+         offset="0"
+         style="stop-color:#0648a5;stop-opacity:1" />
+      <stop
+         id="stop1019"
+         offset="1"
+         style="stop-color:#2d85fc;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2399">
+      <stop
+         id="stop2401"
+         offset="0"
+         style="stop-color:#0968ef;stop-opacity:1;" />
+      <stop
+         id="stop2403"
+         offset="1"
+         style="stop-color:#aecffc;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2431">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2433" />
+      <stop
+         id="stop2435"
+         offset="0.42597079"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2437"
+         offset="0.5892781"
+         style="stop-color:#f1f1f1;stop-opacity:1;" />
+      <stop
+         style="stop-color:#eaeaea;stop-opacity:1;"
+         offset="0.80219781"
+         id="stop2439" />
+      <stop
+         style="stop-color:#dfdfdf;stop-opacity:1;"
+         offset="1"
+         id="stop2441" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7422">
+      <stop
+         style="stop-color:#b4b4b6;stop-opacity:1;"
+         offset="0"
+         id="stop7424" />
+      <stop
+         id="stop5348"
+         offset="0.5"
+         style="stop-color:#414143;stop-opacity:1" />
+      <stop
+         id="stop7426"
+         offset="1"
+         style="stop-color:#b4b4b7;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3310">
+      <stop
+         id="stop3312"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3314"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3314">
+      <stop
+         id="stop3316"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3318"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3323">
+      <stop
+         style="stop-color:#c7cdd7;stop-opacity:1;"
+         offset="0"
+         id="stop3325" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3327" />
+    </linearGradient>
+    <linearGradient
+       xlink:href="#linearGradient1038"
+       id="linearGradient2201"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.66929461,-0.11613409,-0.11613409,0.66929461,168.25112,6.4082535)"
+       x1="5.0720621"
+       y1="27.760326"
+       x2="37.476392"
+       y2="27.760326" />
+    <linearGradient
+       xlink:href="#linearGradient3314"
+       id="linearGradient2204"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.5275638,-2.6458181,2.2162152,1.280019,-187.60223,-4.8954894)"
+       x1="20"
+       y1="78.165009"
+       x2="20"
+       y2="109.84906" />
+    <linearGradient
+       xlink:href="#linearGradient3323"
+       id="linearGradient2207"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7637819,0,0,0.8888892,-77.368144,35.414217)"
+       x1="80.34671"
+       y1="17.268518"
+       x2="73.462685"
+       y2="107.95493" />
+    <linearGradient
+       xlink:href="#linearGradient3310"
+       id="linearGradient2211"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1180717,0,0,1.545076,176.75055,12.228657)"
+       x1="102.31124"
+       y1="-5.8302126"
+       x2="74.330322"
+       y2="32" />
+    <linearGradient
+       xlink:href="#linearGradient2431"
+       id="linearGradient2214"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.83454161,0,0,1.047268,-125.70582,-140.95037)"
+       x1="42.728634"
+       y1="99.999985"
+       x2="124.09152"
+       y2="27.999992" />
+    <linearGradient
+       xlink:href="#linearGradient7422"
+       id="linearGradient2217"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.10543334,0,0,0.15330348,-133.82308,-205.29606)"
+       x1="399.77466"
+       y1="1164.6696"
+       x2="399.77466"
+       y2="549.06134" />
+    <linearGradient
+       xlink:href="#linearGradient1038"
+       id="linearGradient2221"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.58984908,0.24867074,0.24867074,-0.58984908,-42.8577,107.07855)"
+       x1="113.15723"
+       y1="25.786163"
+       x2="39.268185"
+       y2="25.786163" />
+    <linearGradient
+       xlink:href="#linearGradient2399"
+       id="linearGradient3612"
+       x1="-21.411154"
+       y1="70.822525"
+       x2="20.885767"
+       y2="46.102127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0427427,0,-1.6982696e-8,1.047534,-53.031783,-112.17478)" />
+    <linearGradient
+       xlink:href="#linearGradient1021"
+       id="linearGradient3614"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.79642798,0,-1.5095736e-8,0.93114172,-133.70684,-75.077181)"
+       x1="28.42202"
+       y1="58.674355"
+       x2="127.80429"
+       y2="35.79192" />
+    <linearGradient
+       xlink:href="#linearGradient3323"
+       id="linearGradient3616"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67013598,0,0,0.83333345,-73.625866,40.933415)"
+       x1="80.34671"
+       y1="17.268518"
+       x2="73.462685"
+       y2="107.95493" />
+    <linearGradient
+       xlink:href="#linearGradient3310"
+       id="linearGradient3629"
+       x1="68.302673"
+       y1="30.528692"
+       x2="68.302673"
+       y2="85.07811"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1241278,-0.03351365,0.03351365,1.162826,126.89147,-19.473552)" />
+    <linearGradient
+       xlink:href="#linearGradient1027"
+       id="linearGradient3631"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.79221807,0,-1.5797869e-8,0.920649,-133.63954,-74.405647)"
+       x1="73.234238"
+       y1="37.578991"
+       x2="73.462685"
+       y2="107.95493" />
+  </defs>
+  <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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     style="display:inline">
+    <rect
+       style="display:inline;opacity:0.75;fill:url(#linearGradient2217);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.17818"
+       id="rect3281"
+       width="84.82869"
+       height="75.610764"
+       x="-117.06586"
+       y="-116.32477"
+       ry="3.2626424"
+       rx="3.1002548"
+       transform="matrix(0,-1,-1,0,0,0)"
+       clip-path="none" />
+    <rect
+       ry="1.7018102"
+       rx="1.5021745"
+       y="-111.62688"
+       x="-112.35315"
+       height="65.725937"
+       width="75.124489"
+       id="rect3283"
+       style="display:inline;fill:url(#linearGradient2214);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.17818"
+       transform="matrix(0,-1,-1,0,0,0)"
+       clip-path="none" />
+    <path
+       id="path3285"
+       d="m 74.446994,36.94987 c 11.94499,14.567103 23.142318,30.323066 30.118056,49.442428 H 74.132536 C 72.428069,68.087816 67.107199,51.552144 59.772304,36.94987 Z"
+       style="display:inline;fill:url(#linearGradient2211);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.17818"
+       clip-path="none" />
+    <rect
+       transform="matrix(-0.5,-0.8660254,-0.86594345,0.50014192,0,0)"
+       ry="1.395014"
+       rx="1.4335699"
+       y="-49.005219"
+       x="-120.96397"
+       height="67.042198"
+       width="76.457077"
+       id="rect2832"
+       style="display:inline;fill:url(#linearGradient3614);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3612);stroke-width:8.36108;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       clip-path="none" />
+    <rect
+       style="display:inline;fill:url(#linearGradient3631);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.17818"
+       id="rect2326"
+       width="76.052933"
+       height="66.28672"
+       x="-120.96405"
+       y="-48.627483"
+       rx="1.4259923"
+       ry="1.3792942"
+       transform="matrix(-0.5,-0.8660254,-0.86594295,0.50014279,0,0)"
+       clip-path="none" />
+    <path
+       style="display:inline;fill:url(#linearGradient2201);fill-opacity:1;fill-rule:evenodd;stroke:none"
+       d="M 84.684006,11.212406 103.06976,0.61373201 105.26848,3.7356878 98.652298,10.878363 c 25.066532,4.349474 29.710312,19.365481 27.661152,33.105994 l -5.49352,-1.126667 c 0.9783,-10.864047 -0.98925,-22.788949 -23.096705,-26.624972 l 3.846495,8.819374 -3.145324,2.333427 z"
+       id="path2537"
+       clip-path="none" />
+    <path
+       id="path2219"
+       d="m 34.886974,120.40327 -19.129794,5.82889 -1.35613,-3.33298 7.59038,-5.15372 C -0.09970028,108.4322 -1.1763903,93.660069 3.6211497,81.479446 l 4.80463,2.200319 C 5.2218897,93.4467 4.4975197,104.81283 23.9808,113.02667 l -1.65982,-8.91363 3.38303,-1.47485 z"
+       style="display:inline;fill:url(#linearGradient2221);fill-opacity:1;fill-rule:evenodd;stroke:none"
+       clip-path="none" />
+    <path
+       style="display:inline;opacity:0.574257;fill:url(#linearGradient3629);fill-opacity:1;stroke:none;stroke-width:1.17818"
+       d="m 63.902802,15.100884 c 0.536924,-0.06078 1.092632,0.181814 1.388882,0.694934 L 88.93574,56.765253 C 81.176212,58.500048 72.411242,59.322405 63.133645,59.04581 42.636158,58.434719 24.42192,52.529985 13.56241,44.025399 l 49.818759,-28.75852 c 0.165423,-0.09555 0.342721,-0.145725 0.521701,-0.165976 z"
+       id="path3618"
+       clip-path="none" />
+  </g>
+</svg>
diff --git a/icons/transform-rotate-cw.svg b/icons/transform-rotate-cw.svg
new file mode 100644 (file)
index 0000000..56f4c70
--- /dev/null
@@ -0,0 +1,417 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns: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="128"
+   height="128"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
+   version="1.0"
+   sodipodi:docname="transform-rotate-cw.svg"
+   inkscape:output_extension="org.inkscape.output.svgz.inkscape"
+   inkscape:export-filename="/home/pinheiro/pics/oxygen-icons/scalable/actions/small/16x16/transform-rotate.png"
+   inkscape:export-xdpi="45"
+   inkscape:export-ydpi="45">
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient1038">
+      <stop
+         id="stop1034"
+         offset="0"
+         style="stop-color:#ec0b08;stop-opacity:1" />
+      <stop
+         id="stop1036"
+         offset="1"
+         style="stop-color:#fc2e2d;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1021">
+      <stop
+         id="stop1029"
+         offset="0"
+         style="stop-color:#0648a5;stop-opacity:1" />
+      <stop
+         id="stop1031"
+         offset="1"
+         style="stop-color:#2d85fc;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1027">
+      <stop
+         style="stop-color:#c7cdd7;stop-opacity:1;"
+         offset="0"
+         id="stop1023" />
+      <stop
+         style="stop-color:#e2e2e2;stop-opacity:1"
+         offset="1"
+         id="stop1025" />
+    </linearGradient>
+    <linearGradient
+       id="red">
+      <stop
+         id="stop1017"
+         offset="0"
+         style="stop-color:#0648a5;stop-opacity:1" />
+      <stop
+         id="stop1019"
+         offset="1"
+         style="stop-color:#2d85fc;stop-opacity:1" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 64 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="128 : 64 : 1"
+       inkscape:persp3d-origin="64 : 42.666667 : 1"
+       id="perspective46" />
+    <linearGradient
+       id="linearGradient2399">
+      <stop
+         id="stop2401"
+         offset="0"
+         style="stop-color:#0968ef;stop-opacity:1;" />
+      <stop
+         id="stop2403"
+         offset="1"
+         style="stop-color:#aecffc;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2431">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="0"
+         id="stop2433" />
+      <stop
+         id="stop2435"
+         offset="0.42597079"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop2437"
+         offset="0.5892781"
+         style="stop-color:#f1f1f1;stop-opacity:1;" />
+      <stop
+         style="stop-color:#eaeaea;stop-opacity:1;"
+         offset="0.80219781"
+         id="stop2439" />
+      <stop
+         style="stop-color:#dfdfdf;stop-opacity:1;"
+         offset="1"
+         id="stop2441" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient7422">
+      <stop
+         style="stop-color:#b4b4b6;stop-opacity:1;"
+         offset="0"
+         id="stop7424" />
+      <stop
+         id="stop5348"
+         offset="0.5"
+         style="stop-color:#414143;stop-opacity:1" />
+      <stop
+         id="stop7426"
+         offset="1"
+         style="stop-color:#b4b4b7;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3310"
+       inkscape:collect="always">
+      <stop
+         id="stop3312"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3314"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3314"
+       inkscape:collect="always">
+      <stop
+         id="stop3316"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+      <stop
+         id="stop3318"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3323">
+      <stop
+         style="stop-color:#c7cdd7;stop-opacity:1;"
+         offset="0"
+         id="stop3325" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3327" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1038"
+       id="linearGradient2201"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.66929461,-0.11613409,0.11613409,0.66929461,-40.209863,6.4082535)"
+       x1="5.0720621"
+       y1="27.760326"
+       x2="37.476392"
+       y2="27.760326" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3314"
+       id="linearGradient2204"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.5275638,-2.6458181,2.2162152,1.280019,-187.60223,-4.8954894)"
+       x1="20"
+       y1="78.165009"
+       x2="20"
+       y2="109.84906" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3323"
+       id="linearGradient2207"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.7637819,0,0,0.8888892,-77.368144,35.414217)"
+       x1="80.34671"
+       y1="17.268518"
+       x2="73.462685"
+       y2="107.95493" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3310"
+       id="linearGradient2211"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1180717,0,0,1.545076,-48.709295,12.228657)"
+       x1="102.31124"
+       y1="-5.8302126"
+       x2="74.330322"
+       y2="32" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2431"
+       id="linearGradient2214"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.83454161,0,0,1.047268,-125.70582,-12.909115)"
+       x1="42.728634"
+       y1="99.999985"
+       x2="124.09152"
+       y2="27.999992" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient7422"
+       id="linearGradient2217"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.10543334,0,0,0.15330348,-133.82308,-77.254802)"
+       x1="399.77466"
+       y1="1164.6696"
+       x2="399.77466"
+       y2="549.06134" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1038"
+       id="linearGradient2221"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-0.58984908,0.24867074,-0.24867074,-0.58984908,170.89896,107.07855)"
+       x1="113.15723"
+       y1="25.786163"
+       x2="39.268185"
+       y2="25.786163" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2399"
+       id="linearGradient3612"
+       x1="-21.411154"
+       y1="70.822525"
+       x2="20.885767"
+       y2="46.102127"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.0427427,0,-1.6982696e-8,1.047534,11.007019,-1.2877931)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1021"
+       id="linearGradient3614"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.79642798,0,-1.5095736e-8,0.93114172,-69.668038,35.809804)"
+       x1="28.42202"
+       y1="58.674355"
+       x2="127.80429"
+       y2="35.79192" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3323"
+       id="linearGradient3616"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67013598,0,0,0.83333345,-73.625866,40.933415)"
+       x1="80.34671"
+       y1="17.268518"
+       x2="73.462685"
+       y2="107.95493" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3310"
+       id="linearGradient3629"
+       x1="68.302673"
+       y1="30.528692"
+       x2="68.302673"
+       y2="85.07811"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1241278,-0.03351365,-0.03351365,1.162826,1.1497936,-19.473552)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient1027"
+       id="linearGradient3631"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.79221807,0,-1.5797869e-8,0.920649,-69.600625,36.481338)"
+       x1="73.234238"
+       y1="37.578991"
+       x2="73.462685"
+       y2="107.95493" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.5134368"
+     inkscape:cx="99.110669"
+     inkscape:cy="71.434482"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     width="128px"
+     height="128px"
+     showgrid="true"
+     showborder="true"
+     inkscape:window-width="1920"
+     inkscape:window-height="1000"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:snap-nodes="false"
+     inkscape:snap-bbox="true"
+     inkscape:document-rotation="0"
+     inkscape:window-maximized="1">
+    <inkscape:grid
+       id="GridFromPre046Settings"
+       type="xygrid"
+       originx="0"
+       originy="0"
+       spacingx="4"
+       spacingy="4"
+       color="#0000ff"
+       empcolor="#0000ff"
+       opacity="0.2"
+       empopacity="0.4"
+       empspacing="2" />
+  </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></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="display:inline">
+    <rect
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="/home/pinheiro/Desktop/mock2.png"
+       style="display:inline;opacity:0.75;fill:url(#linearGradient2217);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.17818"
+       id="rect3281"
+       width="84.82869"
+       height="75.610764"
+       x="-117.06586"
+       y="11.716495"
+       inkscape:r_cx="true"
+       inkscape:r_cy="true"
+       ry="3.2626424"
+       rx="3.1002548"
+       transform="rotate(-90)"
+       clip-path="none"
+       inkscape:label="bottom frame" />
+    <rect
+       ry="1.7018102"
+       rx="1.5021745"
+       y="16.414379"
+       x="-112.35315"
+       height="65.725937"
+       width="75.124489"
+       id="rect3283"
+       style="display:inline;fill:url(#linearGradient2214);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.17818"
+       transform="rotate(-90)"
+       clip-path="none"
+       inkscape:label="bottom inner" />
+    <path
+       id="path3285"
+       d="M 53.594266,36.94987 C 41.649276,51.516973 30.451948,67.272936 23.476212,86.392298 H 53.908724 C 55.613191,68.087816 60.934061,51.552144 68.268956,36.94987 Z"
+       style="display:inline;fill:url(#linearGradient2211);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.17818"
+       clip-path="none"
+       inkscape:label="effect bottom" />
+    <rect
+       transform="matrix(0.5,-0.8660254,0.86594345,0.50014192,0,0)"
+       ry="1.395014"
+       rx="1.4335699"
+       y="61.881767"
+       x="-56.925175"
+       height="67.042198"
+       width="76.457077"
+       id="rect2832"
+       style="display:inline;fill:url(#linearGradient3614);fill-opacity:1.0;fill-rule:evenodd;stroke:url(#linearGradient3612);stroke-width:8.36108;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       clip-path="none"
+       inkscape:label="frame top rotated" />
+    <rect
+       style="display:inline;fill:url(#linearGradient3631);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.17818"
+       id="rect2326"
+       width="76.052933"
+       height="66.28672"
+       x="-56.92514"
+       y="62.259502"
+       rx="1.4259923"
+       ry="1.3792942"
+       transform="matrix(0.5,-0.8660254,0.86594295,0.50014279,0,0)"
+       clip-path="none"
+       inkscape:label="top inner rotated " />
+    <path
+       style="display:inline;fill:url(#linearGradient2201);fill-opacity:1;fill-rule:evenodd;stroke:none"
+       d="M 43.357254,11.212406 24.9715,0.61373201 22.772775,3.7356878 29.388962,10.878363 C 4.3224249,15.227837 -0.32135147,30.243844 1.7278121,43.984357 L 7.2213297,42.85769 C 6.243034,31.993643 8.2105836,20.068741 30.318035,16.232718 l -3.846497,8.819374 3.145326,2.333427 z"
+       id="path2537"
+       sodipodi:nodetypes="cccccccccc"
+       clip-path="none"
+       inkscape:label="arrow left" />
+    <path
+       sodipodi:nodetypes="cccccccccc"
+       id="path2219"
+       d="m 93.154286,120.40327 19.129794,5.82889 1.35613,-3.33298 -7.59038,-5.15372 c 22.09113,-9.31326 23.16782,-24.085391 18.37028,-36.266014 l -4.80463,2.200319 c 3.20389,9.766935 3.92826,21.133065 -15.55502,29.346905 l 1.65982,-8.91363 -3.38303,-1.47485 z"
+       style="display:inline;fill:url(#linearGradient2221);fill-opacity:1;fill-rule:evenodd;stroke:none"
+       clip-path="none"
+       inkscape:label="arrow right" />
+    <path
+       style="display:inline;opacity:0.574257;fill:url(#linearGradient3629);fill-opacity:1;stroke:none;stroke-width:1.17818"
+       d="m 64.138458,15.100884 c -0.536924,-0.06078 -1.092632,0.181814 -1.388882,0.694934 L 39.10552,56.765253 c 7.759528,1.734795 16.524498,2.557152 25.802095,2.280557 20.497487,-0.611091 38.711725,-6.515825 49.571235,-15.020411 L 64.660091,15.266879 C 64.494668,15.171329 64.31737,15.121154 64.13839,15.100903 Z"
+       id="path3618"
+       clip-path="none"
+       inkscape:label="top effect" />
+  </g>
+</svg>
diff --git a/icons/up-diagonal-left.png b/icons/up-diagonal-left.png
new file mode 100644 (file)
index 0000000..c52af64
Binary files /dev/null and b/icons/up-diagonal-left.png differ
diff --git a/icons/up-diagonal-right.png b/icons/up-diagonal-right.png
new file mode 100644 (file)
index 0000000..2d7623b
Binary files /dev/null and b/icons/up-diagonal-right.png differ
diff --git a/icons/video-projector.png b/icons/video-projector.png
new file mode 100644 (file)
index 0000000..982e0bb
Binary files /dev/null and b/icons/video-projector.png differ
diff --git a/icons/vym-128x128.ico b/icons/vym-128x128.ico
new file mode 100644 (file)
index 0000000..c838f73
Binary files /dev/null and b/icons/vym-128x128.ico differ
diff --git a/icons/vym.ico b/icons/vym.ico
deleted file mode 100755 (executable)
index 5ee1dfe..0000000
Binary files a/icons/vym.ico and /dev/null differ
diff --git a/imageitem.cpp b/imageitem.cpp
deleted file mode 100644 (file)
index 44c1a2f..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-#include "imageitem.h"
-
-#include "branchitem.h"
-#include "mapobj.h"    // z-values
-
-#include <QDebug>
-#include <QString>
-#include <iostream>
-
-bool isImage (const QString &fname)
-{
-    QRegExp rx("(jpg|jpeg|png|xmp|gif|svg)$");
-    rx.setCaseSensitivity (Qt::CaseInsensitive);
-    return fname.contains (rx);
-}
-
-ImageItem::ImageItem()
-{
-    //qDebug()<<"Constr ImageItem";
-    init();
-}
-
-ImageItem::ImageItem (const QList<QVariant> &data, TreeItem *parent):MapItem (data,parent)
-{
-    init();
-}
-
-ImageItem::~ImageItem()
-{
-    //qDebug()<<"Destr ImageItem";
-    if (mo) delete mo;
-}
-
-void ImageItem::init()
-{
-    setType (Image);
-    imageType=Undefined;
-    hideLinkUnselected=true;
-    originalFilename="no original name available";
-    zValue=dZ_FLOATIMG;
-    scaleX=1;
-    scaleY=1;
-    posMode=Relative;
-}
-
-void ImageItem::clear()
-{
-}
-
-ImageItem::ImageType ImageItem::getImageType()
-{
-    return imageType;
-}
-
-void ImageItem::load(const QImage &img)
-{
-    originalImage=img;
-    if (mo) ((FloatImageObj*)mo)->load (originalImage);
-}
-
-bool ImageItem::load(const QString &fname)
-{
-    bool ok = originalImage.load (fname);   
-    if (mo && ok)
-    {
-       setOriginalFilename (fname);
-        setHeadingPlainText (originalFilename);
-       ((FloatImageObj*)mo)->load (originalImage);
-    }  else
-       qWarning() << "ImageItem::load failed for " << fname;
-    return ok; 
-}
-
-FloatImageObj* ImageItem::createMapObj()
-{
-    FloatImageObj *fio=new FloatImageObj ( ((MapItem*)parentItem)->getMO(),this);
-    mo=fio;
-    if (((BranchItem*)parentItem)->isScrolled() || !((MapItem*)parentItem)->getMO()->isVisibleObj() )
-           fio->setVisibility (false);
-    initLMO(); // set rel/abs position in mapitem
-    fio->setZValue(zValue);
-    fio->setRelPos (pos);
-    fio->updateVisibility();
-    return fio;
-}
-
-void ImageItem::setScale (qreal sx, qreal sy)
-{
-    scaleX=sx;
-    scaleY=sy;
-    int w=originalImage.width()*scaleX;
-    int h=originalImage.height()*scaleY;
-    if (mo) ((FloatImageObj*)mo)->load (originalImage.scaled (w,h));
-}
-
-qreal ImageItem::getScaleX ()
-{
-    return scaleX;
-}
-
-qreal ImageItem::getScaleY ()
-{
-    return scaleY;
-}
-
-void ImageItem::setZValue(int z)
-{
-    zValue=z;
-    if (mo) ((FloatImageObj*)mo)->setZValue(z);
-}
-
-void ImageItem::setOriginalFilename(const QString & fn)
-{
-    originalFilename=fn;
-
-    // Set short name. Search from behind:
-    int i=originalFilename.lastIndexOf("/");
-    if (i>=0) originalFilename=originalFilename.remove (0,i+1);
-    setHeadingPlainText (originalFilename);
-}
-
-QString ImageItem::getOriginalFilename()
-{
-    return originalFilename;
-}
-
-bool ImageItem::save(const QString &fn, const QString &format)
-{
-    return originalImage.save (fn,qPrintable (format)); 
-}
-
-QString ImageItem::saveToDir (const QString &tmpdir,const QString &prefix) 
-{
-    if (hidden) return "";
-
-    // Save uuid 
-    QString idAttr=attribut("uuid",uuid.toString());
-
-    QString zAttr=attribut ("zValue",QString().setNum(zValue));
-    QString url;
-
-    ulong n=reinterpret_cast <ulong> (this);
-
-    url="images/"+prefix+"image-" + QString().number(n,10) + ".png" ;
-
-    // And really save the image
-    originalImage.save (tmpdir +"/"+ url, "PNG");
-    QString nameAttr=attribut ("originalName",originalFilename);
-
-    QString scaleAttr=
-       attribut ("scaleX",QString().setNum(scaleX))+
-       attribut ("scaleY",QString().setNum(scaleY));
-
-    return singleElement ("floatimage",  
-       getMapAttr() 
-       +getGeneralAttr()
-       +zAttr  
-       +attribut ("href",QString ("file:")+url)
-       +nameAttr
-       +scaleAttr
-        +idAttr
-    ); 
-}
-
diff --git a/imageitem.h b/imageitem.h
deleted file mode 100644 (file)
index e7066f0..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef IMAGEITEM_H
-#define IMAGEITEM_H
-
-#include <QList>
-#include <QPixmap>
-#include <QVariant>
-
-#include "floatimageobj.h"
-//#include "treeitem.h"
-#include "mapitem.h"
-
-bool isImage (const QString &fname);
-
-class ImageItem: public MapItem
-{
-public:
-    enum ImageType {Undefined,Pixmap,SVG};
-
-public:
-    ImageItem();
-    ImageItem(const QList<QVariant> &data, TreeItem *parent = 0);
-
-    virtual ~ImageItem();
-
-protected:  
-    void init();
-    void clear();
-    ImageType imageType;
-public:        
-    virtual ImageType getImageType();
-
-    virtual void load (const QImage &img);
-    virtual bool load (const QString &fname);
-    virtual FloatImageObj* createMapObj();         //! Create classic object in GraphicsView
-protected:  
-    qreal scaleX;
-    qreal scaleY;
-    QImage  originalImage;
-    QString originalFilename;
-    int zValue;
-
-public:        
-    virtual qreal getScaleX();
-    virtual qreal getScaleY();
-    virtual void setScale (qreal,qreal);
-
-    virtual void setZValue(int z);
-    virtual void setOriginalFilename(const QString &);
-    virtual QString getOriginalFilename();
-    virtual bool save (const QString &fn, const QString &format);
-    virtual QString saveToDir(const QString &,const QString&);
-
-};
-
-
-#endif
-
diff --git a/imageobj.cpp b/imageobj.cpp
deleted file mode 100644 (file)
index bc3fe1e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#include "imageobj.h"
-#include "mapobj.h"
-
-/////////////////////////////////////////////////////////////////
-// ImageObj    
-/////////////////////////////////////////////////////////////////
-ImageObj::ImageObj( QGraphicsItem *parent) : QGraphicsPixmapItem (parent )
-{
-//  qDebug() << "Const ImageObj (scene)";
-
-    setShapeMode (QGraphicsPixmapItem::BoundingRectShape);
-    setZValue(dZ_FLOATIMG);    
-    hide();
-}
-
-ImageObj::~ImageObj()
-{
- //  qDebug() << "Destr ImageObj";
-}
-
-void ImageObj::copy(ImageObj* other)
-{
-    prepareGeometryChange();
-    setVisibility (other->isVisible() );
-    setPixmap (other->QGraphicsPixmapItem::pixmap());  
-    setPos (other->pos());
-}
-
-void ImageObj::setVisibility (bool v)
-{
-    if (v)
-        show();
-    else
-        hide();
-}
-
-void ImageObj::save(const QString &fn, const char *format)
-{
-    pixmap().save (fn,format,100);
-}
-
-bool ImageObj::load (const QString &fn)
-{
-    QPixmap pixmap;
-    if (pixmap.load (fn))
-    {
-        prepareGeometryChange();
-        setPixmap (pixmap);
-        return true;
-    }
-    return false;
-}
-
-bool ImageObj::load (const QPixmap &pm)
-{
-    prepareGeometryChange();
-    setPixmap (pm);
-    return true;
-}
-
-
diff --git a/imageobj.h b/imageobj.h
deleted file mode 100644 (file)
index f637fce..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef IMAGEOBJ_H
-#define IMAGEOBJ_H
-
-#include <QGraphicsScene>
-#include <QGraphicsPixmapItem>
-
-/*! \brief Base class for pixmaps.
-*/
-
-class ImageObj: public QGraphicsPixmapItem
-{
-public:
-    ImageObj( QGraphicsItem*);
-    ~ImageObj();
-    void copy (ImageObj*);
-    void setVisibility(bool);
-    void save (const QString &, const char *);
-    bool load (const QString &);
-    bool load (const QPixmap &);
-};
-#endif
diff --git a/imports.cpp b/imports.cpp
deleted file mode 100644 (file)
index 87a62e6..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-#include "file.h"
-#include "imports.h"
-#include "linkablemapobj.h"
-#include "misc.h"
-#include "mainwindow.h"
-#include "xsltproc.h"
-
-#include <QMessageBox>
-
-extern Main *mainWindow;
-extern QDir vymBaseDir;
-
-ImportBase::ImportBase()
-{
-    bool ok;
-    tmpDir.setPath (makeTmpDir(ok,"vym-import"));
-    if (!tmpDir.exists() || !ok)
-       QMessageBox::critical( 0, QObject::tr( "Error" ),
-                      QObject::tr("Couldn't access temporary directory\n"));
-}
-
-
-ImportBase::~ImportBase()
-{
-    // Remove tmpdir
-    removeDir (tmpDir);
-}
-
-void ImportBase::setDir(const QString &p)
-{
-    inputDir=p;
-}
-
-void ImportBase::setFile (const QString &p)
-{
-    inputFile=p;
-}
-
-bool ImportBase::transform()
-{
-    return true;
-}
-
-QString ImportBase::getTransformedFile()
-{
-    return transformedFile;
-}
-
-/////////////////////////////////////////////////
-bool ImportFirefoxBookmarks::transform()
-{
-    transformedFile=tmpDir.path()+"/bookmarks.xml";
-
-    QStringList lines;
-    QFile file( inputFile );
-    if ( file.open( QIODevice::ReadOnly ) ) 
-    {
-       QTextStream stream( &file );
-       while ( !stream.atEnd() ) 
-           lines += stream.readLine(); // line of text excluding '\n'
-       file.close();
-    }
-    // TODO Generate vym from broken bookmarks above...
-
-    return true;
-}
-
-/////////////////////////////////////////////////
-bool ImportMM::transform()
-{
-    // try to unzip 
-    if (File::Success==unzipDir (tmpDir, inputFile))
-    {
-       
-       // Set short name, too. Search from behind:
-       transformedFile=inputFile;
-       int i=transformedFile.lastIndexOf ("/");
-       if (i>=0) transformedFile=transformedFile.remove (0,i+1);
-       transformedFile.replace(".mmap",".xml");
-       transformedFile=tmpDir.path()+"/"+transformedFile;
-
-       XSLTProc p;
-       p.setInputFile (tmpDir.path()+"/Document.xml");
-       p.setOutputFile (transformedFile);
-       p.setXSLFile (vymBaseDir.path()+"/styles/mmap2vym.xsl");
-       p.process();
-
-       return true;
-    } else
-       return false;
-    
-}
diff --git a/imports.h b/imports.h
deleted file mode 100644 (file)
index 17c6987..0000000
--- a/imports.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef IMPORTS_H
-#define IMPORTS_H
-
-#include <qdir.h>
-#include <qstring.h>
-#include <iostream>
-
-#include "settings.h"
-
-
-///////////////////////////////////////////////////////////////////////
-
-class ImportBase
-{
-public:
-    ImportBase();
-    virtual ~ImportBase();
-    virtual void setDir(const QString &);
-    virtual void setFile(const QString &);
-    virtual bool transform();
-    virtual QString getTransformedFile();
-protected:
-    QDir tmpDir;
-    QString inputDir;
-    QString inputFile;
-    QString transformedFile;
-    
-};
-
-///////////////////////////////////////////////////////////////////////
-class ImportFirefoxBookmarks:public ImportBase
-{
-public:
-    bool transform();
-};  
-
-
-///////////////////////////////////////////////////////////////////////
-class ImportMM:public ImportBase
-{
-public:
-    bool transform();
-};  
-
-
-
-#endif
index c92741553c8a9369fe1c07793978a5d992594780..72e1bd835f4ba75de684a78d56212a9dd4b5e90d 100644 (file)
@@ -4,45 +4,44 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <source>License</source>
-        <translation type="vanished">Povolení</translation>
-    </message>
-    <message>
+        <location filename="../src/aboutdialog.cpp" line="+491"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation>OK</translation>
     </message>
     <message>
-        <source>Credits</source>
-        <translation type="vanished">Zásluhy</translation>
-    </message>
-    <message>
+        <location line="-355"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
-        <translation type="unfinished">Zásluhy</translation>
+        <translation>Zásluhy</translation>
     </message>
     <message>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
-        <translation type="unfinished">Povolení</translation>
+        <translation>Licence</translation>
     </message>
 </context>
 <context>
     <name>AboutTextBrowser</name>
     <message>
+        <location line="+23"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>Varování</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Please use Settings-&gt;</source>
         <translation>Použijte, prosím, nastavení -&gt;</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Set application to open an URL...</source>
         <translation>Nastavit program pro otevírání adres (URL)...</translation>
     </message>
     <message>
+        <location line="-3"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
 </translation>
     </message>
 </context>
+<context>
+    <name>AttributeDialog</name>
+    <message>
+        <source>Attributes</source>
+        <translation type="obsolete">Vlastnosti</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Zavřít</translation>
+    </message>
+</context>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
         <source>+</source>
-        <translation>+</translation>
+        <translation type="vanished">+</translation>
     </message>
     <message>
         <source>-</source>
-        <translation>-</translation>
+        <translation type="vanished">-</translation>
     </message>
     <message>
         <source>Link</source>
-        <translation>Spojení</translation>
+        <translation type="vanished">Spojení</translation>
     </message>
     <message>
         <source>Rounded Rectangle</source>
-        <translation>Zakulacený obdélník</translation>
+        <translation type="vanished">Zakulacený obdélník</translation>
     </message>
     <message>
         <source>Cloud</source>
-        <translation>Mrak</translation>
+        <translation type="vanished">Mrak</translation>
     </message>
     <message>
         <source>Frame</source>
-        <translation>Rámeček</translation>
+        <translation type="vanished">Rámeček</translation>
     </message>
     <message>
         <source>No Frame</source>
-        <translation>Žádný rámeček</translation>
+        <translation type="vanished">Žádný rámeček</translation>
     </message>
     <message>
         <source>Include images vertically</source>
-        <translation>Přihlédnout k horním a dolním okrajům obrázků</translation>
-    </message>
-    <message>
-        <source>Property Editor</source>
-        <translation type="vanished">Editor vlastností</translation>
+        <translation type="vanished">Přihlédnout k horním a dolním okrajům obrázků</translation>
     </message>
     <message>
         <source>Colors</source>
-        <translation>Barvy</translation>
+        <translation type="vanished">Barvy</translation>
     </message>
     <message>
         <source>Hide link if unselected</source>
-        <translation>Skrýt spojení, není-li vybráno</translation>
+        <translation type="vanished">Skrýt spojení, není-li vybráno</translation>
     </message>
     <message>
         <source>Layout</source>
-        <translation>Rozvržení</translation>
+        <translation type="vanished">Rozvržení</translation>
     </message>
     <message>
         <source>Free positioning of children (experimental!)</source>
-        <translation>Volné umístění vedlejších větví (pokusné)</translation>
+        <translation type="vanished">Volné umístění vedlejších větví (pokusné)</translation>
     </message>
     <message>
         <source>Branch Property Editor</source>
-        <translation>Editor vlastností větve</translation>
+        <translation type="vanished">Editor vlastností větve</translation>
     </message>
     <message>
         <source>Padding</source>
-        <translation>Odstup</translation>
+        <translation type="vanished">Odstup</translation>
     </message>
     <message>
         <source>Include images horizontally</source>
-        <translation>Přihlédnout k levým a pravým okrajům obrázků</translation>
+        <translation type="vanished">Přihlédnout k levým a pravým okrajům obrázků</translation>
     </message>
     <message>
         <source>Background color</source>
-        <translation>Barva pozadí</translation>
+        <translation type="vanished">Barva pozadí</translation>
     </message>
     <message>
         <source>Attributes</source>
-        <translation>Vlastnosti</translation>
+        <translation type="vanished">Vlastnosti</translation>
     </message>
     <message>
         <source>Rectangle</source>
-        <translation>Obdélník</translation>
+        <translation type="vanished">Obdélník</translation>
     </message>
     <message>
         <source>Ellipse</source>
-        <translation>Elipsa</translation>
+        <translation type="vanished">Elipsa</translation>
     </message>
     <message>
         <source>Geometry</source>
-        <translation>Uspořádání</translation>
+        <translation type="vanished">Uspořádání</translation>
     </message>
     <message>
         <source>Include children</source>
-        <translation>Zahrnout vedlejší větve</translation>
+        <translation type="vanished">Zahrnout vedlejší větve</translation>
     </message>
     <message>
         <source>Borderline color</source>
-        <translation>Barva dělicí čáry</translation>
+        <translation type="vanished">Barva dělicí čáry</translation>
     </message>
     <message>
         <source>Borderline width</source>
-        <translation>Šířka dělicí čáry</translation>
+        <translation type="vanished">Šířka dělicí čáry</translation>
     </message>
     <message>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
-        <translation type="unfinished">Editor vlastností</translation>
+        <translation>Editor vlastností</translation>
+    </message>
+    <message>
+        <source>Task</source>
+        <translation type="obsolete">Úkol</translation>
+    </message>
+    <message>
+        <location line="+156"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-155"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
+    <message>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">Varování</translation>
+    </message>
+    <message>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
+    <message>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
+    </message>
+    <message>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
+    </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
+    <message>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
+    <message>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation>Varování</translation>
     </message>
     <name>EditXLinkDialog</name>
     <message>
         <source>Close</source>
-        <translation>Zavřít</translation>
+        <translation type="vanished">Zavřít</translation>
     </message>
     <message>
         <source>Use color of heading</source>
-        <translation>Použít barvu záhlaví</translation>
+        <translation type="vanished">Použít barvu záhlaví</translation>
     </message>
     <message>
         <source>Arrow begin:</source>
-        <translation>Začátek šipky:</translation>
+        <translation type="vanished">Začátek šipky:</translation>
     </message>
     <message>
         <source>XLink width:</source>
-        <translation>Šířka xLink:</translation>
+        <translation type="vanished">Šířka xLink:</translation>
     </message>
     <message>
         <source>XLink color:</source>
-        <translation>Barva xLink:</translation>
+        <translation type="vanished">Barva xLink:</translation>
     </message>
     <message>
         <source>Edit XLink</source>
-        <translation>Upravit xLink</translation>
+        <translation type="vanished">Upravit xLink</translation>
     </message>
     <message>
         <source>Arrow end:</source>
-        <translation>Konec šipky:</translation>
+        <translation type="vanished">Konec šipky:</translation>
     </message>
     <message>
         <source>Line style:</source>
         <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation>Styl čáry:</translation>
+        <translation type="vanished">Styl čáry:</translation>
     </message>
     <message>
         <source>Use as default:</source>
-        <translation>Použít jako výchozí:</translation>
+        <translation type="vanished">Použít jako výchozí:</translation>
+    </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
+    <message>
+        <source>Options</source>
+        <translation type="obsolete">Volby</translation>
+    </message>
+    <message>
+        <source>Image of map</source>
+        <translation type="obsolete">Obrázek mapy</translation>
+    </message>
+    <message>
+        <source>Include images</source>
+        <translation type="obsolete">Zahrnout obrázky</translation>
+    </message>
+    <message>
+        <source>Table of contents</source>
+        <translation type="obsolete">Obsah</translation>
+    </message>
+    <message>
+        <source>Task flags</source>
+        <translation type="obsolete">Příznaky úkolů</translation>
+    </message>
+    <message>
+        <source>General flags</source>
+        <translation type="obsolete">Obecné příznaky</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Barevné popisy v textu</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Uložit nastavení do mapy</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="obsolete">Zrušit</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">Exportovat</translation>
     </message>
 </context>
 <context>
     <name>ExportHTMLDialog</name>
     <message>
         <source>Include images</source>
-        <translation>Zahrnout obrázky</translation>
+        <translation type="vanished">Zahrnout obrázky</translation>
     </message>
     <message>
         <source>Table of contents</source>
-        <translation>Obsah</translation>
+        <translation type="vanished">Obsah</translation>
     </message>
     <message>
         <source>Copy CSS from </source>
-        <translation>Kopírovat CSS z </translation>
+        <translation type="vanished">Kopírovat CSS z </translation>
     </message>
     <message>
         <source>General flags</source>
-        <translation>Obecné příznaky</translation>
+        <translation type="vanished">Obecné příznaky</translation>
     </message>
     <message>
         <source>Image of map</source>
-        <translation>Obrázek mapy</translation>
+        <translation type="vanished">Obrázek mapy</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation>Zrušit</translation>
+        <translation type="vanished">Zrušit</translation>
     </message>
     <message>
         <source>Browse</source>
-        <translation>Procházet</translation>
+        <translation type="vanished">Procházet</translation>
     </message>
     <message>
         <source>Export</source>
-        <translation>Vyvést</translation>
+        <translation type="vanished">Exportovat</translation>
     </message>
     <message>
         <source>Save settings in map</source>
-        <translation>Uložit nastavení do mapy</translation>
+        <translation type="vanished">Uložit nastavení do mapy</translation>
     </message>
     <message>
         <source>Options</source>
-        <translation>Volby</translation>
+        <translation type="vanished">Volby</translation>
     </message>
     <message>
+        <location filename="../src/export-html-dialog.cpp" line="+152"/>
         <source>VYM - Export HTML to directory</source>
-        <translation>VYM - Vyvést HTML do adresáře</translation>
+        <translation>VYM - Exportovat HTML do adresáře</translation>
     </message>
     <message>
         <source>Number sections</source>
-        <translation>Číslovat oddíly</translation>
+        <translation type="vanished">Číslovat oddíly</translation>
     </message>
     <message>
         <source>Export HTML</source>
-        <translation>Vyvést jako HTML</translation>
+        <translation type="vanished">Exportovat jako HTML</translation>
     </message>
     <message>
         <source>Scripts</source>
-        <translation>Skripty</translation>
+        <translation type="vanished">Skripty</translation>
     </message>
     <message>
         <source>After Export:</source>
-        <translation>Po vyvedení:</translation>
+        <translation type="vanished">Po exportu:</translation>
     </message>
     <message>
         <source>Colored headings in text</source>
-        <translation>Barevné popisy v textu</translation>
+        <translation type="vanished">Barevné popisy v textu</translation>
     </message>
     <message>
         <source>Stylesheets</source>
-        <translation>Stylové listy</translation>
+        <translation type="vanished">Stylové listy</translation>
     </message>
     <message>
+        <location line="-21"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -287,84 +442,115 @@ ve svém systému povolit!</translation>
     </message>
     <message>
         <source>Task flags</source>
-        <translation>Příznaky úkolů</translation>
+        <translation type="vanished">Příznaky úkolů</translation>
     </message>
     <message>
+        <location line="-1"/>
         <source>Warning</source>
         <translation>Varování</translation>
     </message>
     <message>
         <source>Use CSS from</source>
-        <translation>Použít CSS z </translation>
+        <translation type="vanished">Použít CSS z</translation>
+    </message>
+    <message>
+        <source>Export to directory:</source>
+        <translation type="vanished">Exportovat do adresáře:</translation>
     </message>
+</context>
+<context>
+    <name>ExportXHTMLDialog</name>
     <message>
         <source>Export to directory:</source>
-        <translation>Vyvést do adresáře:</translation>
+        <translation type="obsolete">Exportovat do adresáře:</translation>
+    </message>
+    <message>
+        <source>Browse</source>
+        <translation type="obsolete">Procházet</translation>
+    </message>
+    <message>
+        <source>Options</source>
+        <translation type="obsolete">Volby</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Barevné popisy v textu</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Uložit nastavení do mapy</translation>
+    </message>
+    <message>
+        <source>Stylesheets</source>
+        <translation type="obsolete">Stylové listy</translation>
+    </message>
+    <message>
+        <source>Scripts</source>
+        <translation type="obsolete">Skripty</translation>
+    </message>
+    <message>
+        <source>After Export:</source>
+        <translation type="obsolete">Po exportu:</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="obsolete">Zrušit</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">Exportovat</translation>
     </message>
 </context>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
         <source>Map:</source>
-        <translation>Mapa:</translation>
+        <translation type="vanished">Mapa:</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation>Zavřít</translation>
+        <translation type="vanished">Zavřít</translation>
     </message>
     <message>
         <source>Statistics:</source>
-        <translation>Statistiky:</translation>
+        <translation type="vanished">Statistiky:</translation>
     </message>
     <message>
         <source>VYM - Info</source>
-        <translation>VYM - Informace</translation>
+        <translation type="vanished">VYM - Informace</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation>Zrušit</translation>
+        <translation type="vanished">Zrušit</translation>
     </message>
     <message>
         <source>Title:</source>
-        <translation>Název:</translation>
+        <translation type="vanished">Název:</translation>
     </message>
     <message>
         <source>Comment:</source>
-        <translation>Poznámka:</translation>
+        <translation type="vanished">Poznámka:</translation>
     </message>
     <message>
         <source>Author:</source>
-        <translation>Autor:</translation>
+        <translation type="vanished">Autor:</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <source>Find:</source>
-        <translation type="vanished">Hledat:</translation>
-    </message>
-    <message>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
-        <translation type="unfinished">Hledat:</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">Nová mapa</translation>
+        <translation>Hledat:</translation>
     </message>
 </context>
 <context>
     <name>HeadingEditor</name>
     <message>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <translation type="vanished">Editor popisů</translation>
-    </message>
-    <message>
-        <source>Heading Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished">Editor popisů</translation>
     </message>
 </context>
@@ -372,3471 +558,3325 @@ ve svém systému povolit!</translation>
     <name>HistoryWindow</name>
     <message>
         <source>Redo</source>
-        <translation>Znovu</translation>
+        <translation type="vanished">Znovu</translation>
     </message>
     <message>
         <source>Time</source>
-        <translation>Čas</translation>
+        <translation type="vanished">Čas</translation>
     </message>
     <message>
         <source>Undo</source>
-        <translation>Zpět</translation>
-    </message>
-    <message>
-        <source>Close</source>
-        <translation>Zavřít</translation>
+        <translation type="vanished">Zpět</translation>
     </message>
     <message>
+        <location filename="../src/historywindow.cpp" line="+19"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>Poznámka</translation>
     </message>
-    <message>
-        <source>Action</source>
-        <translation type="vanished">Krok</translation>
-    </message>
     <message>
         <source>Dialog</source>
-        <translation>Dialog</translation>
-    </message>
-    <message>
-        <source>Undo action</source>
-        <translation type="vanished">Krok zpět</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
         <source>Comment</source>
-        <translation>Poznámka</translation>
-    </message>
-    <message>
-        <source>Current state</source>
-        <translation type="vanished">Nynější stav</translation>
+        <translation type="vanished">Poznámka</translation>
     </message>
     <message>
+        <location line="-3"/>
         <source>Action</source>
         <comment>Table with actions</comment>
-        <translation type="unfinished">Krok</translation>
+        <translation>Činnost</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
-        <translation type="unfinished">Krok zpět</translation>
+        <translation>Krok zpět</translation>
     </message>
     <message>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
-        <translation type="unfinished">Nynější stav</translation>
+        <translation>Nynější stav</translation>
+    </message>
+</context>
+<context>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">Varování</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">Přidat</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">Odstranit</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>LineEditDialog</name>
     <message>
+        <location filename="../src/lineeditdialog.cpp" line="+9"/>
         <source>Ok</source>
         <translation>OK</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Cancel</source>
         <translation>Zrušit</translation>
     </message>
     <message>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
         <source>TextLabel</source>
-        <translation>TextovýŠtítek</translation>
+        <translation type="vanished">TextovýŠtítek</translation>
     </message>
 </context>
 <context>
     <name>LockedFileDialog</name>
     <message>
         <source>Dialog</source>
-        <translation type="unfinished">Dialog</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
-        <translation type="unfinished"></translation>
+        <translation>Smazat soubor zámku</translation>
     </message>
     <message>
+        <location line="-1"/>
         <source>Open readonly</source>
-        <translation type="unfinished"></translation>
+        <translation>Otevřít pouze pro čtení</translation>
     </message>
 </context>
 <context>
     <name>Main</name>
     <message>
-        <source>or</source>
-        <translation type="vanished">nebo</translation>
-    </message>
-    <message>
+        <location filename="../src/mainwindow.cpp" line="+3198"/>
         <source>Add</source>
         <translation>Přidat</translation>
     </message>
     <message>
-        <source>Bad</source>
-        <translation type="vanished">Špatné</translation>
-    </message>
-    <message>
-        <source>Back</source>
-        <translation type="vanished">Zpět</translation>
+        <location line="-86"/>
+        <source>Test</source>
+        <translation>Zkouška</translation>
     </message>
     <message>
-        <source>Edit</source>
-        <translation type="vanished">Upravit</translation>
+        <location line="-863"/>
+        <source>&amp;View</source>
+        <translation>&amp;Pohled</translation>
     </message>
     <message>
-        <source>File</source>
-        <translation type="vanished">Soubor</translation>
+        <location line="-819"/>
+        <source>Add branch (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>Přidat novou větev</translation>
     </message>
     <message>
-        <source>Flag</source>
-        <translation type="vanished">Příznak</translation>
+        <location line="+5850"/>
+        <source>Allow</source>
+        <translation>Povolit</translation>
     </message>
     <message>
-        <source>HTML</source>
-        <translation type="vanished">HTML</translation>
+        <location line="-2719"/>
+        <source>Discard changes</source>
+        <translation>Zahodit změny</translation>
     </message>
     <message>
-        <source>Good</source>
-        <translation type="vanished">Dobré</translation>
+        <location line="-489"/>
+        <source>Couldn&apos;t save </source>
+        <translation>Nepodařilo se uložit </translation>
     </message>
     <message>
-        <source>Home</source>
-        <translation type="vanished">Domov</translation>
+        <location line="-1010"/>
+        <source>Use hide flags</source>
+        <comment>Settings action</comment>
+        <translation>Používat během vyvádění příznak &quot;Skrýt&quot;</translation>
     </message>
     <message>
-        <source>Maix</source>
-        <translation type="vanished">Poštovní schránka</translation>
+        <location line="-23"/>
+        <source>Select branch after adding it</source>
+        <comment>Settings action</comment>
+        <translation>Vybrat větev po jejím přidání</translation>
     </message>
     <message>
-        <source>Note</source>
-        <translation type="vanished">Poznámka</translation>
+        <location line="-67"/>
+        <source>Set application to open external links</source>
+        <comment>Settings action</comment>
+        <translation>Nastavit program pro otevírání vnějších odkazů</translation>
     </message>
     <message>
-        <source>Rose</source>
-        <translation type="vanished">Růže</translation>
+        <location line="-1192"/>
+        <source>Delete vym link</source>
+        <comment>Edit menu</comment>
+        <translation>Smazat spojení VYMu</translation>
     </message>
     <message>
-        <source>Stop</source>
-        <translation type="vanished">Zastavit</translation>
+        <location line="+1275"/>
+        <source>Exclusive flags</source>
+        <comment>Settings action</comment>
+        <translation>Výhradní příznaky</translation>
     </message>
     <message>
-        <source>Test</source>
-        <translation>Zkouška</translation>
+        <location line="-820"/>
+        <source>Set &amp;Background Color</source>
+        <translation>Nastavit barvu &amp;pozadí</translation>
     </message>
     <message>
-        <source>Text</source>
-        <translation type="vanished">Text</translation>
+        <location line="+782"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
+        <translation>Čas automatického ukládání</translation>
     </message>
     <message>
-        <source>Textdocument</source>
-        <translation type="vanished">Textový dokument</translation>
+        <location line="-777"/>
+        <source>Set &amp;Background image</source>
+        <translation>Nastavit &amp;obrázek pozadí</translation>
     </message>
     <message>
-        <source>Loading: %1</source>
-        <translation type="vanished">Nahrává se %1</translation>
+        <location line="-680"/>
+        <source>Scroll branch</source>
+        <comment>Edit menu</comment>
+        <translation>Svinout větev</translation>
     </message>
     <message>
-        <source>&amp;View</source>
-        <translation>&amp;Pohled</translation>
+        <location line="+619"/>
+        <source>Linkstyle Line</source>
+        <translation>Styl spojení čára</translation>
     </message>
     <message>
-        <source>Image%1</source>
-        <translation type="vanished">Obrázek %1</translation>
+        <location line="-1879"/>
+        <source>Script Editor</source>
+        <comment>ScriptEditor</comment>
+        <translation>Editor skriptů</translation>
     </message>
     <message>
-        <source>Directory with vym macros:</source>
-        <translation>Adresář s makry VYMu:</translation>
+        <location line="+5672"/>
+        <source>VYM -Information:</source>
+        <translation>Informace VYMu:</translation>
     </message>
     <message>
-        <source>Add branch (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>Přidat novou větev</translation>
+        <location line="-3786"/>
+        <source>Linkstyle Curve</source>
+        <translation>Styl spojení křivka</translation>
     </message>
     <message>
-        <source>Network shortcuts</source>
-        <translation type="vanished">Síťové zkratky</translation>
+        <location line="-39"/>
+        <source>Color &amp;branch</source>
+        <comment>Edit menu</comment>
+        <translation>Obarvit vě&amp;tev</translation>
     </message>
     <message>
-        <source>E&amp;dit</source>
-        <translation type="vanished">Ú&amp;pravy</translation>
+        <location line="-726"/>
+        <source>Add branch as child</source>
+        <comment>Edit menu</comment>
+        <translation>Přidat novou větev jako vedlejší větev</translation>
     </message>
     <message>
-        <source>Allow</source>
-        <translation>Povolit</translation>
+        <location line="+789"/>
+        <source>Hide link if object is not selected</source>
+        <comment>Branch attribute</comment>
+        <translation>Skrýt spojení, není-li vybrán předmět</translation>
     </message>
     <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Posunout větev dolů</translation>
+        <location line="-933"/>
+        <source>&amp;Print</source>
+        <translation>&amp;Tisk</translation>
     </message>
     <message>
-        <source>Idea!</source>
-        <translation type="vanished">Nápad!</translation>
+        <location line="+6004"/>
+        <source>Do not allow</source>
+        <translation>Nepovolit</translation>
     </message>
     <message>
-        <source>Linux</source>
-        <translation type="vanished">Linux</translation>
+        <location line="-7133"/>
+        <source>Main window</source>
+        <comment>Shortcut scope</comment>
+        <translation>Hlavní okno</translation>
     </message>
     <message>
-        <source>Magic</source>
-        <translation type="vanished">Kouzlo</translation>
+        <location line="+1597"/>
+        <source>Open linked map</source>
+        <comment>Edit menu</comment>
+        <translation>Otevřít spojenou mapu</translation>
     </message>
     <message>
-        <source>Modes</source>
-        <translation type="vanished">Režimy</translation>
+        <location line="+1436"/>
+        <source>About VYM</source>
+        <comment>Help action</comment>
+        <translation>O programu VYM</translation>
     </message>
     <message>
-        <source>PDF%1</source>
-        <translation type="vanished">PDF%1</translation>
+        <location line="-133"/>
+        <source>Select existing heading</source>
+        <comment>Settings action</comment>
+        <translation>Vybrat stávající popis</translation>
     </message>
     <message>
-        <source>Music</source>
-        <translation type="vanished">Hudba</translation>
+        <location line="+2976"/>
+        <source>Set author for new maps (used in lockfile)</source>
+        <translation>Zadat autora nových map (k použití v uzamykacím souboru)</translation>
     </message>
     <message>
-        <source>SVG%1</source>
-        <translation type="vanished">SVG%1</translation>
+        <location line="-4921"/>
+        <source>&amp;Open...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Otevřít...</translation>
     </message>
     <message>
-        <source>Tasks</source>
-        <translation type="vanished">Úkoly</translation>
+        <location line="+3451"/>
+        <source>The map %1 has been modified but not saved yet. Do you want to</source>
+        <translation>Mapa %1 byla změněna,
+ale ještě nebyla uložena. Chcete </translation>
     </message>
     <message>
-        <source>Sweet</source>
-        <translation type="vanished">Milé</translation>
+        <location line="+378"/>
+        <source>Link to another vym map</source>
+        <translation>Odkaz na jinou mapu programu VYM</translation>
     </message>
     <message>
-        <source>Views</source>
-        <translation type="vanished">Pohledy</translation>
+        <location line="-1838"/>
+        <source>Animation</source>
+        <comment>Settings action</comment>
+        <translation>Pohyblivé obrázky</translation>
     </message>
     <message>
-        <source>Export in last used format (%1) to: %2</source>
-        <translation type="vanished">Vyvést v naposledy použitém formátu (%1) do: %2</translation>
+        <location line="+49"/>
+        <source>Open VYM Documentation (pdf) </source>
+        <comment>Help action</comment>
+        <translation>Otevřít dokumentaci k VYM (pdf)</translation>
     </message>
     <message>
-        <source>notes</source>
-        <translation type="vanished">Poznámky</translation>
+        <location line="-3"/>
+        <source>&amp;Help</source>
+        <comment>Help menubar entry</comment>
+        <translation>&amp;Nápověda</translation>
     </message>
     <message>
-        <source>tasks</source>
-        <translation type="vanished">Úkoly</translation>
+        <location line="-129"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
+        <translation>Automaticky uložit</translation>
     </message>
     <message>
-        <source>Discard changes</source>
-        <translation>Zahodit změny</translation>
+        <location line="-881"/>
+        <source>F&amp;ormat</source>
+        <comment>Format menu</comment>
+        <translation>F&amp;ormát</translation>
     </message>
     <message>
-        <source>Webpage (HTML)...</source>
-        <translation type="vanished">Stránka (HTML)...</translation>
+        <location line="+1649"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
+        <source>Cancel</source>
+        <translation>Zrušit</translation>
     </message>
     <message>
-        <source>Cycle task status</source>
-        <translation type="vanished">Přepínat stav úkolu</translation>
+        <location line="-359"/>
+        <source>Create</source>
+        <translation>Vytvořit</translation>
     </message>
     <message>
-        <source>I do not like this</source>
-        <translation type="vanished">Nelíbí se mi to</translation>
+        <location line="-1325"/>
+        <source>Use modifier to draw xLinks</source>
+        <comment>Mode modifier</comment>
+        <translation>Použít upravovač pro založení xLinks</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save </source>
-        <translation>Nepodařilo se uložit </translation>
+        <location line="+4470"/>
+        <source>Critcal error</source>
+        <translation>Vážná chyba</translation>
     </message>
     <message>
-        <source>Move to target...</source>
-        <translation type="vanished">Přesunout na cíl...</translation>
+        <location line="-4431"/>
+        <source>Images</source>
+        <translation>Obrázky</translation>
     </message>
     <message>
-        <source>Use hide flags</source>
-        <comment>Settings action</comment>
-        <translation>Používat během vyvádění příznak &quot;Skrýt&quot;</translation>
+        <location line="+1726"/>
+        <location line="+54"/>
+        <location line="+1"/>
+        <source>Import</source>
+        <translation>Importovat</translation>
     </message>
     <message>
-        <source>Select branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Vybrat větev po jejím přidání</translation>
+        <location line="-3204"/>
+        <source>Import</source>
+        <comment>File menu</comment>
+        <translation>Importovat</translation>
     </message>
     <message>
-        <source>Automatic layout</source>
-        <translation type="vanished">Automatické rozvržení</translation>
+        <location line="+23"/>
+        <source>Export</source>
+        <comment>File menu</comment>
+        <translation>Exportovat</translation>
     </message>
     <message>
-        <source>Set application to open external links</source>
-        <comment>Settings action</comment>
-        <translation>Nastavit program pro otevírání vnějších odkazů</translation>
+        <location line="+2046"/>
+        <source>Remove</source>
+        <comment>Context menu name</comment>
+        <translation>Odstranit</translation>
     </message>
     <message>
-        <source>I like this</source>
-        <translation type="vanished">Líbí se mi to</translation>
+        <location line="+900"/>
+        <location line="+92"/>
+        <source>The file %1
+exists already. Do you want to</source>
+        <translation>Soubor %1 již existuje.
+Chcete jej přepsat?</translation>
     </message>
     <message>
-        <source>Add mapcenter</source>
-        <translation type="vanished">Přidat mapový střed</translation>
+        <location line="-2553"/>
+        <source>Open URL</source>
+        <comment>Edit menu</comment>
+        <translation>Otevřít adresu (URL)</translation>
     </message>
     <message>
-        <source>Delete vym link</source>
+        <location line="-272"/>
+        <location line="+10"/>
+        <source>Delete Selection</source>
         <comment>Edit menu</comment>
-        <translation>Smazat spojení VYMu</translation>
+        <translation>Smazat výběr</translation>
     </message>
     <message>
-        <source>Very unimportant!</source>
-        <translation type="vanished">Velice nedůležité!</translation>
+        <location line="-228"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
+        <source>(still experimental)</source>
+        <translation>(stále pokusné)</translation>
     </message>
     <message>
-        <source>Exclusive flags</source>
-        <comment>Settings action</comment>
-        <translation>Výhradní příznaky</translation>
+        <location line="-48"/>
+        <source>Couldn&apos;t find configuration for export to LibreOffice
+</source>
+        <translation>Nepodařilo se najít žádná nastavení pro export do programu LibreOffice
+</translation>
     </message>
     <message>
-        <source>Text (A&amp;O report)...</source>
-        <translation type="vanished">Text (formát A&amp;O)...</translation>
+        <location line="-688"/>
+        <source>Open anyway</source>
+        <translation>Přesto otevřít</translation>
     </message>
     <message>
-        <source>Set &amp;Background Color</source>
-        <translation>Nastavit barvu &amp;pozadí</translation>
+        <location line="+889"/>
+        <location line="+2345"/>
+        <source>Couldn&apos;t find a viewer to open %1.
+</source>
+        <translation>Nepodařilo se nalézt žádný program pro otevření %1.
+</translation>
     </message>
     <message>
-        <source>Autosave time</source>
+        <location line="-4008"/>
+        <source>Set number of undo levels</source>
         <comment>Settings action</comment>
-        <translation>Čas automatického ukládání</translation>
-    </message>
-    <message>
-        <source>Set &amp;Background image</source>
-        <translation>Nastavit &amp;obrázek pozadí</translation>
+        <translation>Nastavit počet kroků zpět</translation>
     </message>
     <message>
-        <source>Selection toolbar</source>
-        <translation type="vanished">Nástrojový pruh pro výběr</translation>
+        <location line="-1736"/>
+        <source>Properties</source>
+        <translation>Vlastnosti</translation>
     </message>
     <message>
-        <source>Property window</source>
-        <translation type="vanished">Okno vlastností</translation>
+        <location line="+6018"/>
+        <source>Thank you for enabling downloads!</source>
+        <translation>Poděkování za povolení stahování!</translation>
     </message>
     <message>
-        <source>Sleep %1 weeks</source>
-        <translation type="vanished">Spát %1 týdny(ů)</translation>
+        <location line="-5795"/>
+        <source>Move branch down</source>
+        <comment>Edit menu</comment>
+        <translation>Posunout větev dolů</translation>
     </message>
     <message>
-        <source>File actions toolbar</source>
-        <translation type="vanished">Nástrojový pruh souborových činností</translation>
+        <location line="+4426"/>
+        <location line="+1097"/>
+        <source>Set application to open PDF files</source>
+        <translation>Nastavit program pro otevírání souborů PDF</translation>
     </message>
     <message>
-        <source>Modifier modes</source>
-        <translation type="vanished">Režimy modifikátorů</translation>
+        <location line="-5846"/>
+        <source>Repeat last export (%1)</source>
+        <translation>Zopakovat poslední export (%1)</translation>
     </message>
     <message>
-        <source>Number of visible parents in task editor</source>
-        <translation type="vanished">Počet viditelných rodičovských větví v editoru úkolů</translation>
+        <location line="+2539"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
+        <source>Critical Error</source>
+        <translation>Vážná chyba</translation>
     </message>
     <message>
-        <source>Scroll branch</source>
-        <comment>Edit menu</comment>
-        <translation>Svinout větev</translation>
+        <location line="-792"/>
+        <source>Save map as</source>
+        <translation>Uložit mapu jako</translation>
     </message>
     <message>
-        <source>Sleep %1 days</source>
-        <translation type="vanished">Spát %1 dny(ů)</translation>
+        <location line="-918"/>
+        <source>About QT</source>
+        <comment>Help action</comment>
+        <translation>O Qt</translation>
     </message>
     <message>
-        <source>Center on selection</source>
-        <translation type="vanished">Zaměřit na výběr</translation>
+        <location line="+1268"/>
+        <location line="+68"/>
+        <source>Export to</source>
+        <translation>Exportovat jako</translation>
     </message>
     <message>
-        <source>Linkstyle Line</source>
-        <translation>Styl spojení čára</translation>
+        <location line="+375"/>
+        <source>Couldn&apos;t open map %1</source>
+        <translation>Mapu %1 se nepodařilo otevřít</translation>
     </message>
     <message>
-        <source>Toggle task</source>
-        <translation type="vanished">Přepnout úkol</translation>
+        <location line="-3229"/>
+        <source>Open URL in new tab</source>
+        <comment>Edit menu</comment>
+        <translation>Otevřít adresy (URL) v nové kartě</translation>
     </message>
     <message>
-        <source>Script Editor</source>
-        <comment>ScriptEditor</comment>
-        <translation>Editor skriptů</translation>
+        <location line="+2017"/>
+        <source>(readonly)</source>
+        <translation>(pouze pro čtení)</translation>
     </message>
     <message>
-        <source>VYM -Information:</source>
-        <translation>Informace VYMu:</translation>
+        <location line="-1964"/>
+        <source>Use heading for URL</source>
+        <comment>Edit menu</comment>
+        <translation>Převzít popis jako adresu (URL)</translation>
     </message>
     <message>
+        <location line="-601"/>
         <source>&amp;Restore last session</source>
-        <translation type="vanished">&amp;Obnovit poslední sezení</translation>
+        <comment>Edit menu</comment>
+        <translation>&amp;Obnovit poslední sezení</translation>
     </message>
     <message>
-        <source>Linkstyle Curve</source>
-        <translation>Styl spojení křivka</translation>
+        <location line="+3557"/>
+        <location line="+2345"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>Použijte, prosím, nastavení -&gt;</translation>
     </message>
     <message>
-        <source>Next slide</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Další snímek</translation>
+        <location line="-3784"/>
+        <source>Tasks</source>
+        <comment>Context menu</comment>
+        <translation>Úkoly</translation>
     </message>
     <message>
-        <source>Color &amp;branch</source>
-        <comment>Edit menu</comment>
-        <translation>Obarvit vě&amp;tev</translation>
+        <location line="+708"/>
+        <source>Load vym map</source>
+        <translation>Nahrát mapu VYMu</translation>
     </message>
     <message>
-        <source>Add branch as child</source>
+        <location line="-2572"/>
+        <source>&amp;Paste</source>
         <comment>Edit menu</comment>
-        <translation>Přidat novou větev jako vedlejší větev</translation>
+        <translation>&amp;Vložit</translation>
     </message>
     <message>
-        <source>Hide link if object is not selected</source>
-        <comment>Branch attribute</comment>
-        <translation>Skrýt spojení, není-li vybrán předmět</translation>
+        <location line="+3392"/>
+        <source>Spreadsheet</source>
+        <comment>Filedialog</comment>
+        <translation>Tabulkový dokument</translation>
     </message>
     <message>
-        <source>Set &amp;Color</source>
-        <translation>Nastavit &amp;barvu</translation>
+        <location line="-3427"/>
+        <source>&amp;Redo</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Znovu</translation>
     </message>
     <message>
-        <source>&amp;Print</source>
-        <translation>&amp;Tisk</translation>
+        <location line="+2617"/>
+        <source>Import: Replace selection with vym map</source>
+        <translation>Import: Nahradit výběr mapou</translation>
     </message>
     <message>
-        <source>Telephone</source>
-        <translation type="vanished">Telefon</translation>
+        <location line="+3050"/>
+        <source>Couldn&apos;t find the documentation %1 in:
+%2</source>
+        <translation>Dokumentaci %1 se v:
+%2 nepodařilo najít</translation>
     </message>
     <message>
-        <source>Do not allow</source>
-        <translation>Nepovolit</translation>
+        <location line="-5050"/>
+        <source>Add map (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>Vložit mapu (přidat do výběru)</translation>
     </message>
     <message>
-        <source>Property Editor</source>
-        <translation type="vanished">Editor vlastností</translation>
+        <location line="+1342"/>
+        <source>Save image</source>
+        <comment>Context action</comment>
+        <translation>Uložit obrázek</translation>
     </message>
     <message>
-        <source>Edit local URL...</source>
-        <translation type="vanished">Upravit místní adresu (URL)...</translation>
+        <location line="+2724"/>
+        <source>Number of seconds before autosave:</source>
+        <translation>Počet sekund před automatickým uložením:</translation>
     </message>
     <message>
-        <source>Main window</source>
-        <comment>Shortcut scope</comment>
-        <translation>Hlavní okno</translation>
+        <location line="+1205"/>
+        <source>Please allow vym to download release notes!</source>
+        <translation>Povolte, prosím, VYMu přístup k poznámkám o vydání!</translation>
     </message>
     <message>
-        <source>Undo and clipboard toolbar</source>
-        <translation type="vanished">Nástrojový pruh pro Zpět/Znovu a schránku</translation>
+        <location line="-4253"/>
+        <source>Set application to open pdf files</source>
+        <comment>Settings action</comment>
+        <translation>Nastavit program pro otevírání souborů PDF</translation>
     </message>
     <message>
-        <source>Expand all branches</source>
-        <translation type="vanished">Rozdělat všechny větve</translation>
-    </message>
-    <message>
-        <source>Shrink selection</source>
-        <translation type="vanished">Zmenšit výběr</translation>
-    </message>
-    <message>
-        <source>Set author for new maps</source>
-        <translation type="vanished">Zadat autora nových map</translation>
-    </message>
-    <message>
-        <source>Open linked map</source>
+        <location line="-1624"/>
+        <source>&amp;Copy</source>
         <comment>Edit menu</comment>
-        <translation>Otevřít spojenou mapu</translation>
+        <translation>&amp;Kopírovat</translation>
     </message>
     <message>
-        <source>About VYM</source>
-        <comment>Help action</comment>
-        <translation>O programu VYM</translation>
+        <location line="+448"/>
+        <source>Hide in exports</source>
+        <comment>Edit menu</comment>
+        <translation>Neukazovat v exportu</translation>
     </message>
     <message>
-        <source>This won&apos;t work!</source>
-        <translation type="vanished">To nepůjde!</translation>
+        <location line="-437"/>
+        <source>Cu&amp;t</source>
+        <comment>Edit menu</comment>
+        <translation>Vyj&amp;mout</translation>
     </message>
     <message>
-        <source>Slide editor</source>
-        <translation type="vanished">Editor snímků</translation>
+        <location line="-230"/>
+        <source>&amp;Save...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Uložit...</translation>
     </message>
     <message>
-        <source>References Context menu</source>
-        <translation type="vanished">Klávesové zkratky</translation>
+        <location line="+3286"/>
+        <source>Export as CSV</source>
+        <translation>Exportovat jako CSV</translation>
     </message>
     <message>
-        <source>Select existing heading</source>
-        <comment>Settings action</comment>
-        <translation>Vybrat stávající popis</translation>
+        <location line="+1661"/>
+        <source>Number of parents shown in find results:</source>
+        <translation>Počet viditelných rodičovských větví v okně s výsledky hledání:</translation>
     </message>
     <message>
-        <source>KDE 4 Bookmarks</source>
-        <translation type="vanished">Záložky KDE 4</translation>
+        <location line="-2126"/>
+        <source>Import: Add vym map to selection</source>
+        <translation>Importo: Přidat mapu k výběru</translation>
     </message>
     <message>
-        <source>Set author for new maps (used in lockfile)</source>
-        <translation>Zadat autora nových map (k použití v uzamykacím souboru)</translation>
+        <location line="-1523"/>
+        <source>Antialiasing</source>
+        <comment>View action</comment>
+        <translation>Vyhlazování</translation>
     </message>
     <message>
-        <source>&amp;Open...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Otevřít...</translation>
+        <location line="-980"/>
+        <location line="+10"/>
+        <source>Add branch above</source>
+        <comment>Edit menu</comment>
+        <translation>Přidat novou větev nahoře</translation>
     </message>
     <message>
-        <source>The map %1 has been modified but not saved yet. Do you want to</source>
-        <translation>Mapa %1 byla změněna,
-ale ještě nebyla uložena. Chcete </translation>
+        <location line="+2394"/>
+        <source>This map does not exist:
+  %1
+Do you want to create a new one?</source>
+        <translation>Tato mapa neexistuje:
+  %1
+Chcete vytvořit novou?</translation>
     </message>
     <message>
-        <source>Import Dir%1</source>
-        <translation type="vanished">Zavést adresář %1</translation>
+        <location line="+305"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
+        <translation>Nepodařilo se uložit %1,
+protože se nepodařilo vytvořit uzamykací soubor:
+
+%2</translation>
     </message>
     <message>
-        <source>Link to another vym map</source>
-        <translation type="vanished">Odkaz na jinou mapu programu VYM</translation>
+        <location line="+329"/>
+        <source>Save modified map before closing it</source>
+        <translation>Uložit upravenou mapu před jejím zavřením</translation>
     </message>
     <message>
-        <source>Animation</source>
+        <location line="-1560"/>
+        <source>Set path for macros</source>
         <comment>Settings action</comment>
-        <translation>Pohyblivé obrázky</translation>
+        <translation>Nastavit cestu pro makra</translation>
     </message>
     <message>
-        <source>&amp;Copy to new map</source>
-        <translation type="vanished">&amp;Kopírovat do nové mapy</translation>
+        <location line="-775"/>
+        <source>Set &amp;Link Color</source>
+        <translation>Nastavit barvu &amp;spojení</translation>
     </message>
     <message>
-        <source>Mailbox</source>
-        <translation type="vanished">Poštovní schránka</translation>
+        <location line="+52"/>
+        <source>Zoom out</source>
+        <comment>View action</comment>
+        <translation>Oddálit</translation>
     </message>
     <message>
-        <source>Formatting</source>
-        <translation type="vanished">Formátování</translation>
+        <location line="+870"/>
+        <source>Open VYM example maps </source>
+        <comment>Help action</comment>
+        <translation>Otevřít příkladové mapy programu VYM</translation>
     </message>
     <message>
-        <source>Open VYM Documentation (pdf) </source>
-        <comment>Help action</comment>
-        <translation>Otevřít dokumentaci k VYM (pdf)</translation>
+        <location line="-842"/>
+        <source>reset Zoom</source>
+        <comment>View action</comment>
+        <translation>Žádné zvětšení</translation>
     </message>
     <message>
-        <source>Previous Map</source>
-        <translation type="vanished">Předchozí mapa</translation>
+        <location line="+5014"/>
+        <source>Update information</source>
+        <translation>Informace o aktualizaci</translation>
     </message>
     <message>
-        <source>vym is up to date.</source>
-        <translation type="vanished">VYM je v nejnovější verzi.</translation>
+        <location line="-4036"/>
+        <source>Follow XLink</source>
+        <comment>Context menu name</comment>
+        <translation>Sledovat xLink</translation>
     </message>
     <message>
-        <source>&amp;Help</source>
-        <comment>Help menubar entry</comment>
-        <translation>&amp;Nápověda</translation>
+        <location line="+486"/>
+        <source>The map %1
+is already opened.Opening the same map in multiple editors may lead 
+to confusion when finishing working with vym.Do you want to</source>
+        <translation>Mapa %1
+je již ve VYMu otevřena. Otevření téže mapy ve více editorech může
+při ukončení práce s programem VYM vést ke zmatení.
+Chcete </translation>
     </message>
     <message>
-        <source>vymlinks - linking maps</source>
-        <translation type="vanished">Odkazy VYMu - spojení mezi mapami</translation>
+        <location line="-2309"/>
+        <location line="+9"/>
+        <source>Add branch below</source>
+        <comment>Edit menu</comment>
+        <translation>Přidat novou větev dole</translation>
     </message>
     <message>
-        <source>Get data from SUSE Bugzilla</source>
-        <translation type="vanished">Získat data od SUSE Bugzilla</translation>
+        <location line="+3294"/>
+        <source>Set URL to a local file</source>
+        <translation>Nastavit adresu (URL) k místnímu souboru</translation>
     </message>
     <message>
-        <source>Time critical</source>
-        <translation type="vanished">Časově zásadní</translation>
+        <location line="-2626"/>
+        <source>Pic&amp;k color</source>
+        <comment>Edit menu</comment>
+        <translation>Pře&amp;vzít barvu</translation>
     </message>
     <message>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
-        <translation>Automaticky uložit</translation>
+        <location line="+56"/>
+        <source>Linkstyle Thick Line</source>
+        <translation>Styl spojení silná čára</translation>
     </message>
     <message>
-        <source>Open linked map in background tab</source>
-        <translation type="vanished">Otevřít spojenou mapu v kartě na pozadí</translation>
+        <location line="+489"/>
+        <source>Info</source>
+        <comment>Standardflag</comment>
+        <translation>Informace</translation>
     </message>
     <message>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Nebezpečné</translation>
+        <location line="-1283"/>
+        <source>Add attribute</source>
+        <translation>Přidat vlastnost</translation>
     </message>
     <message>
-        <source>Download and show release notes</source>
-        <translation type="vanished">Stáhnout a ukázat poznámky k vydání</translation>
+        <location line="-80"/>
+        <source>&amp;Undo</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Zpět</translation>
     </message>
     <message>
-        <source>Collapse one level</source>
-        <translation type="vanished">Složit jednu úroveň</translation>
+        <location line="+4654"/>
+        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <translation>Nastavení byla změněna. Následující otevřená mapa bude mít &quot;%1&quot; kroků zpět/znovu</translation>
     </message>
     <message>
-        <source>F&amp;ormat</source>
-        <comment>Format menu</comment>
-        <translation>F&amp;ormát</translation>
+        <location line="-1241"/>
+        <source>Enter URL:</source>
+        <translation>Nová adresa (URL):</translation>
     </message>
     <message>
-        <source>Add timestamp</source>
-        <translation type="vanished">Přidat časové razítko</translation>
+        <location line="-3055"/>
+        <source>Open all URLs in subtree</source>
+        <comment>Edit menu</comment>
+        <translation>Otevřít všechny adresy (URL) ve vedlejším stromu</translation>
     </message>
     <message>
-        <source>Don&apos;t flagrget</source>
-        <translation type="vanished">Ne flagrget</translation>
+        <location line="+591"/>
+        <source>Zoom in</source>
+        <comment>View action</comment>
+        <translation>Přiblížit</translation>
     </message>
     <message>
-        <source>Cancel</source>
-        <translation>Zrušit</translation>
+        <location line="-1124"/>
+        <source>Firefox Bookmarks</source>
+        <comment>Import filters</comment>
+        <translation>Záložky Firefoxu</translation>
     </message>
     <message>
-        <source>Edit vym link...</source>
-        <translation type="vanished">Upravit spojení VYMu...</translation>
+        <location line="+2972"/>
+        <source>Overwrite</source>
+        <translation>Přepsat</translation>
     </message>
     <message>
-        <source>Create</source>
-        <translation>Vytvořit</translation>
+        <location line="-2985"/>
+        <source>Save &amp;As...</source>
+        <comment>File menu</comment>
+        <translation>Uložit &amp;jako...</translation>
     </message>
     <message>
-        <source>Sort children</source>
-        <translation type="vanished">Roztřídit vedlejší větve</translation>
+        <location line="+2937"/>
+        <source>Saved  %1</source>
+        <translation>%1 uloženo</translation>
     </message>
     <message>
-        <source>&amp;New map</source>
-        <translation type="vanished">&amp;Nová mapa</translation>
+        <location line="-1122"/>
+        <source>Settings</source>
+        <translation>Nastavení</translation>
     </message>
     <message>
-        <source>Create URL to SUSE FATE tool</source>
-        <translation type="vanished">Vytvořit nástroj (URL) pro SUSE Fate</translation>
+        <location line="-1468"/>
+        <source>Move branch up</source>
+        <comment>Edit menu</comment>
+        <translation>Posunout větev nahoru</translation>
     </message>
     <message>
-        <source>Dangerous</source>
-        <translation type="vanished">Nebezpečné</translation>
+        <location line="+4602"/>
+        <source>Number of parents shown for a task:</source>
+        <translation>Počet rodičovských větví ukázaný pro úkol:</translation>
     </message>
     <message>
-        <source>Use modifier to draw xLinks</source>
-        <comment>Mode modifier</comment>
-        <translation>Použít upravovač pro založení xLinks</translation>
+        <location line="-1411"/>
+        <location line="+1260"/>
+        <source>Set application to open an URL</source>
+        <translation>Nastavit program pro otevírání adres (URL)</translation>
     </message>
     <message>
-        <source>Get data from Novell Bugzilla</source>
-        <translation type="vanished">Dostat data z Novell Bugzilla</translation>
+        <location line="-2657"/>
+        <source>Edit XLink</source>
+        <comment>Context menu name</comment>
+        <translation>Upravit xLink</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <translation>Editor poznámek</translation>
+        <location line="-1311"/>
+        <source>Save selection</source>
+        <comment>Edit menu</comment>
+        <translation>Uložit výběr</translation>
     </message>
     <message>
-        <source>Standard Flags toolbar</source>
-        <translation type="vanished">Nástrojový pruh s obvyklými příznaky</translation>
+        <location line="+5067"/>
+        <source>Load vym example map</source>
+        <translation>Otevřít příkladovou mapu programu VYM</translation>
     </message>
     <message>
-        <source>Critcal error</source>
-        <translation>Vážná chyba</translation>
+        <location line="-3752"/>
+        <source>Follow XLink</source>
+        <comment>Context menu</comment>
+        <translation>Sledovat xLink</translation>
     </message>
     <message>
-        <source>Images</source>
-        <translation type="vanished">Obrázky</translation>
+        <location line="+919"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
+        <source>Warning</source>
+        <translation>Varování</translation>
     </message>
     <message>
-        <source>Import</source>
-        <translation>Zavést</translation>
+        <location line="-5638"/>
+        <source>Open all vym links in subtree</source>
+        <comment>Edit menu</comment>
+        <translation>Otevřít všechny odkazy na mapy VYMu ve vedlejším stromu</translation>
     </message>
     <message>
-        <source>To be improved</source>
-        <translation type="vanished">Ke zlepšení</translation>
+        <location line="+5639"/>
+        <source>Please allow vym to check for updates!</source>
+        <translation>Povolte, prosím, VYMu zjišťovat dostupnost aktualizací!</translation>
     </message>
     <message>
-        <source>Format shortcuts</source>
-        <translation type="vanished">Zkratky pro formát</translation>
+        <location line="-6115"/>
+        <source>&amp;Close Map</source>
+        <comment>File menu</comment>
+        <translation>&amp;Zavřít mapu</translation>
     </message>
     <message>
-        <source>Text with tasks</source>
-        <translation type="vanished">Text s úkoly</translation>
+        <location line="+930"/>
+        <source>&amp;Use color of heading for link</source>
+        <comment>Branch attribute</comment>
+        <translation>&amp;Použít barvu popisu pro spojení</translation>
     </message>
     <message>
-        <source>Import</source>
+        <location line="-1097"/>
+        <source>Open Recent</source>
         <comment>File menu</comment>
-        <translation>Zavést</translation>
+        <translation>Otevřít nedávný</translation>
     </message>
     <message>
-        <source>Export</source>
-        <comment>File menu</comment>
-        <translation>Vyvést</translation>
+        <location line="+1111"/>
+        <source>Set &amp;Selection Color</source>
+        <translation>Nastavit barvu &amp;výběru</translation>
     </message>
     <message>
-        <source>Remove</source>
-        <comment>Context menu name</comment>
-        <translation>Odstranit</translation>
+        <location line="+799"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
+        <translation>Zapsat při ukládání zálohovací soubor</translation>
     </message>
     <message>
-        <source>Oh no!</source>
-        <translation type="vanished">Ach ne!</translation>
+        <location line="-51"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
+        <translation>Nastavit program pro rozbalení/zabalení souborů</translation>
     </message>
     <message>
-        <source>Search results list</source>
-        <translation type="vanished">Seznam s výsledky hledání</translation>
+        <location line="+2081"/>
+        <source>Couldn&apos;t set sleep time to %1.
+</source>
+        <translation>Nepodařilo se nastavit čas spánku na %1.</translation>
     </message>
     <message>
-        <source>History Window</source>
-        <translation type="vanished">Okno s historií</translation>
+        <location line="-3976"/>
+        <source>&amp;Map</source>
+        <comment>Menu for file actions</comment>
+        <translation>&amp;Mapa</translation>
     </message>
     <message>
-        <source>The file %1
-exists already. Do you want to</source>
-        <translation>Soubor %1 již existuje.
-Chcete jej přepsat?</translation>
+        <location line="+1117"/>
+        <source>Linkstyle Thick Curve</source>
+        <translation>Styl spojení silná křivka</translation>
     </message>
     <message>
-        <source>Open URL</source>
+        <location line="-246"/>
+        <source>Add map (replace)</source>
         <comment>Edit menu</comment>
-        <translation>Otevřít adresu (URL)</translation>
+        <translation>Vložit mapu (nahradit výběr)</translation>
     </message>
     <message>
-        <source>Select</source>
-        <translation type="vanished">Vybrat</translation>
+        <location line="-661"/>
+        <source>E&amp;xit</source>
+        <comment>File menu</comment>
+        <translation>&amp;Ukončit</translation>
     </message>
     <message>
-        <source>Delete Selection</source>
-        <comment>Edit menu</comment>
-        <translation>Smazat výběr</translation>
+        <location line="+4675"/>
+        <source>Number of undo/redo levels:</source>
+        <translation>Počet kroků zpět/znovu:</translation>
     </message>
     <message>
-        <source>Detach branch and use as mapcenter</source>
-        <translation type="vanished">Odpojit větev a použít jako středisko mapy</translation>
+        <location line="-3811"/>
+        <source>Color sub&amp;tree</source>
+        <comment>Edit menu</comment>
+        <translation>Obarvit vedlejší &amp;strom</translation>
     </message>
     <message>
-        <source>XLinks</source>
-        <translation type="vanished">Křížové odkazy</translation>
-    </message>
-    <message>
-        <source>Look here</source>
-        <translation type="vanished">Podívat se sem</translation>
-    </message>
-    <message>
-        <source>Edit URL...</source>
-        <translation type="vanished">Upravit adresy (URL)...</translation>
+        <location line="-1906"/>
+        <source>Main window</source>
+        <comment>Shortcut group</comment>
+        <translation>Hlavní okno</translation>
     </message>
     <message>
-        <source>(still experimental)</source>
-        <translation>(stále pokusné)</translation>
+        <location line="+1"/>
+        <source>Map Editors</source>
+        <comment>Shortcut group</comment>
+        <translation>Editory mapy</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find configuration for export to LibreOffice
-</source>
-        <translation>Nepodařilo se najít žádná nastavení pro vyvedení do programu LibreOffice
-</translation>
+        <location line="+1"/>
+        <source>Text Editors</source>
+        <comment>Shortcut group</comment>
+        <translation>Editory textu</translation>
     </message>
     <message>
-        <source>Add   ...</source>
-        <translation type="vanished">Přidat...</translation>
+        <location line="+36"/>
+        <source>Search results list</source>
+        <comment>FindResultWidget</comment>
+        <translation>Seznam s výsledky hledání</translation>
     </message>
     <message>
-        <source>Reset sleep</source>
-        <translation type="vanished">Nastavit spánek znovu</translation>
+        <location line="+24"/>
+        <source>Property Editor</source>
+        <comment>PropertyEditor</comment>
+        <translation>Editor vlastností</translation>
     </message>
     <message>
-        <source>Bookmarks</source>
-        <translation>Záložky</translation>
+        <location line="+8"/>
+        <source>History window</source>
+        <comment>HistoryWidget</comment>
+        <translation>Okno s historií</translation>
     </message>
     <message>
-        <source>Open anyway</source>
-        <translation>Přesto otevřít</translation>
+        <location line="+30"/>
+        <source>Task list</source>
+        <comment>TaskEditor</comment>
+        <translation>Seznam úkolů</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">Nepodařilo se najít žádná nastavení pro vyvedení do programu Open Office
-</translation>
+        <location line="+736"/>
+        <source>&amp;New map</source>
+        <comment>File menu</comment>
+        <translation>&amp;Nová mapa</translation>
     </message>
     <message>
-        <source>Toolbars</source>
-        <translation type="vanished">Nástrojové pruhy</translation>
+        <location line="+9"/>
+        <source>&amp;Copy to new map</source>
+        <comment>File menu</comment>
+        <translation>&amp;Kopírovat do nové mapy</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
-        <translation>Nepodařilo se nalézt žádný program pro otevření %1.
-</translation>
+        <location line="+80"/>
+        <source>Webpage (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation>Stránka (HTML)...</translation>
     </message>
     <message>
-        <source>I just love...</source>
-        <translation type="vanished">Jednoduše miluju...</translation>
+        <location line="+21"/>
+        <source>Text (ASCII)...</source>
+        <comment>File export menu</comment>
+        <translation>Text (ASCII)...</translation>
     </message>
     <message>
-        <source>History for %1</source>
-        <translation type="vanished">Historie pro %1</translation>
+        <location line="+12"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
+        <translation>Text s úkoly</translation>
     </message>
     <message>
-        <source>Next slide</source>
-        <translation type="vanished">Další snímek</translation>
+        <location line="+7"/>
+        <source>Text (A&amp;O report)...</source>
+        <comment>Export format</comment>
+        <translation>Text (formát A&amp;O)...</translation>
     </message>
     <message>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
-        <translation>Nastavit počet kroků zpět</translation>
+        <location line="+5"/>
+        <source>Image%1</source>
+        <comment>File export menu</comment>
+        <translation>Obrázek %1</translation>
     </message>
     <message>
-        <source>%1 items on map
-</source>
-        <translation type="vanished">%1 předmětů na mapě
-</translation>
+        <location line="+5"/>
+        <source>PDF%1</source>
+        <comment>File export menu</comment>
+        <translation>PDF%1</translation>
     </message>
     <message>
-        <source>Properties</source>
-        <translation>Vlastnosti</translation>
+        <location line="+5"/>
+        <source>SVG%1</source>
+        <comment>File export menu</comment>
+        <translation>SVG%1</translation>
     </message>
     <message>
-        <source>Collapse unselected levels</source>
-        <translation type="vanished">Složit nevybrané úrovně</translation>
+        <location line="+84"/>
+        <source>E&amp;dit</source>
+        <comment>Edit menu</comment>
+        <translation>Ú&amp;pravy</translation>
     </message>
     <message>
-        <source>Task editor</source>
-        <translation type="vanished">Editor úkolů</translation>
+        <location line="+95"/>
+        <source>Add mapcenter</source>
+        <comment>Canvas context menu</comment>
+        <translation>Přidat střed mapy</translation>
     </message>
     <message>
-        <source>Tree editor</source>
-        <translation type="vanished">Editor stromu</translation>
+        <location line="+120"/>
+        <source>&amp;Detach</source>
+        <comment>Context menu</comment>
+        <translation>&amp;Odpojit</translation>
     </message>
     <message>
-        <source>Thank you for enabling downloads!</source>
-        <translation>Poděkování za povolení stahování!</translation>
+        <location line="+1"/>
+        <source>Detach branch and use as mapcenter</source>
+        <comment>Context menu</comment>
+        <translation>Odpojit větev a použít jako střed mapy</translation>
     </message>
     <message>
-        <source>Note editor</source>
-        <translation type="vanished">Editor poznámek</translation>
+        <location line="+8"/>
+        <source>Sort children</source>
+        <comment>Edit menu</comment>
+        <translation>Setřídit potomky</translation>
     </message>
     <message>
-        <source>Toggle target...</source>
-        <translation type="vanished">Přepnout cíl...</translation>
+        <location line="+11"/>
+        <source>Sort children backwards</source>
+        <comment>Edit menu</comment>
+        <translation>Setřídit potomky pozpátku</translation>
     </message>
     <message>
-        <source>images</source>
-        <translation type="vanished">Obrázky</translation>
+        <location line="+22"/>
+        <source>Unscroll children</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Roztáhnout vedlejší větve</translation>
     </message>
     <message>
-        <source>Add Image...</source>
-        <translation type="vanished">Přidat obrázek...</translation>
+        <location line="+5"/>
+        <source>Grow selection</source>
+        <comment>Edit menu</comment>
+        <translation>Zvětšit výběr</translation>
     </message>
     <message>
-        <source>Move up</source>
+        <location line="+9"/>
+        <source>Shrink selection</source>
         <comment>Edit menu</comment>
-        <translation type="vanished">Posunout větev nahoru</translation>
+        <translation>Zmenšit výběr</translation>
     </message>
     <message>
-        <source>Sleep %1 day</source>
-        <translation type="vanished">Spát %1 den</translation>
+        <location line="+9"/>
+        <source>Reset selection size</source>
+        <comment>Edit menu</comment>
+        <translation>Resetovat velikost výběru</translation>
     </message>
     <message>
-        <source>Move branch down</source>
+        <location line="+11"/>
+        <source>Collapse one level</source>
         <comment>Edit menu</comment>
-        <translation>Posunout větev dolů</translation>
+        <translation>Sbalit jednu úroveň</translation>
     </message>
     <message>
-        <source>Set application to open PDF files</source>
-        <translation>Nastavit program pro otevírání souborů PDF</translation>
+        <location line="+13"/>
+        <source>Collapse unselected levels</source>
+        <comment>Edit menu</comment>
+        <translation>Sbalit nevybrané úrovně</translation>
     </message>
     <message>
-        <source>Repeat last export (%1)</source>
-        <translation>Zopakovat poslední vyvedení (%1)</translation>
+        <location line="+12"/>
+        <source>Expand all branches</source>
+        <comment>Edit menu</comment>
+        <translation>Rozbalit všechny větve</translation>
     </message>
     <message>
-        <source>Unimportant</source>
-        <translation type="vanished">Nedůležité</translation>
+        <location line="+8"/>
+        <source>Expand one level</source>
+        <comment>Edit menu</comment>
+        <translation>Rozbalit jednu úroveň</translation>
     </message>
     <message>
-        <source>Critical Error</source>
-        <translation>Vážná chyba</translation>
+        <location line="+10"/>
+        <source>References Context menu</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished">Klávesové zkratky</translation>
     </message>
     <message>
-        <source>Save map as</source>
-        <translation>Uložit mapu jako</translation>
+        <location line="+18"/>
+        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Otevřít všechny adresy (URL) ve vedlejším stromu</translation>
     </message>
     <message>
-        <source>About QT</source>
-        <comment>Help action</comment>
-        <translation>O Qt</translation>
+        <location line="+17"/>
+        <source>Extract URLs from note</source>
+        <comment>Edit menu</comment>
+        <translation>Vytáhnout adresy (URL) z poznámky</translation>
     </message>
     <message>
-        <source>Remove only branch and keep its children </source>
-        <translation type="vanished">Odstranit větev, vedlejší větve zachovat</translation>
+        <location line="+10"/>
+        <source>Edit URL...</source>
+        <comment>Edit menu</comment>
+        <translation>Upravit adresy (URL)...</translation>
     </message>
     <message>
-        <source>Export to</source>
-        <translation>Vyvést jako</translation>
+        <location line="+9"/>
+        <source>Edit local URL...</source>
+        <comment>Edit menu</comment>
+        <translation>Upravit místní adresu (URL)...</translation>
     </message>
     <message>
-        <source>Important</source>
-        <translation type="vanished">Důležité</translation>
+        <location line="+40"/>
+        <source>vymlinks - linking maps</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished">Odkazy VYMu - spojení mezi mapami</translation>
     </message>
     <message>
-        <source>Take care!</source>
-        <translation type="vanished">Opatrně!</translation>
+        <location line="+12"/>
+        <source>Open linked map in background tab</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Otevřít spojenou mapu v kartě na pozadí</translation>
     </message>
     <message>
-        <source>History window</source>
-        <translation type="vanished">Okno s historií</translation>
+        <location line="+16"/>
+        <source>Edit vym link...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Upravit spojení VYMu...</translation>
     </message>
     <message>
-        <source>subtree is scrolled</source>
-        <translation type="vanished">Vedlejší strom je svinut</translation>
+        <location line="+16"/>
+        <source>Exports</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished">Export</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open map %1</source>
-        <translation>Mapu %1 se nepodařilo otevřít</translation>
+        <location line="+13"/>
+        <source>Tasks</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished">Úkoly</translation>
     </message>
     <message>
-        <source>Main window</source>
-        <translation type="vanished">Hlavní okno</translation>
+        <location line="+1"/>
+        <source>Toggle task</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Přepnout úkol</translation>
     </message>
     <message>
-        <source>Open URL in new tab</source>
+        <location line="+12"/>
+        <source>Cycle task status</source>
         <comment>Edit menu</comment>
-        <translation>Otevřít adresy (URL) v nové kartě</translation>
+        <translation type="unfinished">Přepínat stav úkolu</translation>
     </message>
     <message>
-        <source>slides</source>
-        <translation type="vanished">Snímky</translation>
+        <location line="+21"/>
+        <source>Reset sleep</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished">Nastavit spánek znovu</translation>
     </message>
     <message>
-        <source>Task editor: Set number of parents</source>
-        <translation type="vanished">Editor úkolů: Nastavit počet rodičovských větví</translation>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <source>Sleep %1 days</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished">Spát %1 dny(ů)</translation>
     </message>
     <message>
-        <source>Map target</source>
-        <translation type="vanished">Cíl</translation>
+        <location line="-55"/>
+        <source>Sleep %1 day</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished">Spát %1 den</translation>
     </message>
     <message>
-        <source>URLs and vymLinks toolbar</source>
-        <translation type="vanished">Nástrojový pruh pro adresy (URL) a odkazy VYMu</translation>
+        <location line="+66"/>
+        <location line="+11"/>
+        <source>Sleep %1 weeks</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished">Spát %1 týdny(ů)</translation>
     </message>
     <message>
-        <source>(readonly)</source>
-        <translation>(pouze pro čtení)</translation>
+        <location line="+32"/>
+        <source>Removing parts of a map</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished">Odstranění částí mapy</translation>
     </message>
     <message>
-        <source>Use heading for URL</source>
+        <location line="+4"/>
+        <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
-        <translation>Převzít popis jako adresu (URL)</translation>
+        <translation>Odstranit pouze větev a potomky zachovat </translation>
     </message>
     <message>
-        <source>Create URL to Novell Bugzilla</source>
+        <location line="+10"/>
+        <source>Remove children</source>
         <comment>Edit menu</comment>
-        <translation type="vanished">Vytvořit adresu (URL) k Novell Bugzilla</translation>
+        <translation type="unfinished">Odstranit vedlejší větve</translation>
     </message>
     <message>
-        <source>xLinks</source>
-        <translation type="vanished">Křížové odkazy</translation>
+        <location line="+10"/>
+        <source>Various</source>
+        <comment>Shortcuts</comment>
+        <translation>Různé</translation>
     </message>
     <message>
-        <source>&amp;Restore last session</source>
+        <location line="+1"/>
+        <source>Add timestamp</source>
         <comment>Edit menu</comment>
-        <translation>&amp;Obnovit poslední sezení</translation>
+        <translation>Přidat časové razítko</translation>
     </message>
     <message>
-        <source>Spreadsheet</source>
-        <translation>Tabulkový dokument</translation>
+        <location line="+11"/>
+        <source>Map properties...</source>
+        <comment>Edit menu</comment>
+        <translation>Vlastnosti mapy...</translation>
     </message>
     <message>
-        <source>Unscroll children</source>
-        <translation type="vanished">Roztáhnout vedlejší větve</translation>
+        <location line="+15"/>
+        <source>Property window</source>
+        <comment>Dialog to edit properties of selection</comment>
+        <translation>Okno vlastností</translation>
     </message>
     <message>
-        <source>Please use Settings-&gt;</source>
-        <translation>Použijte, prosím, nastavení -&gt;</translation>
+        <location line="+15"/>
+        <source>Selections</source>
+        <comment>Shortcuts</comment>
+        <translation>Výběr</translation>
     </message>
     <message>
-        <source>Bugzilla handling</source>
-        <translation type="vanished">Klávesové zkratky</translation>
+        <location line="+1"/>
+        <source>Select</source>
+        <comment>Select menu</comment>
+        <translation>Vybrat</translation>
     </message>
     <message>
-        <source>Status - missing, not started</source>
-        <translation type="vanished">Stav - neúplné, nezapočato</translation>
+        <location line="+3"/>
+        <source>Toggle target...</source>
+        <comment>Edit menu</comment>
+        <translation>Přepnout cíl...</translation>
     </message>
     <message>
-        <source>Flags toolbar</source>
-        <translation type="vanished">Nástrojový pruh pro příznaky</translation>
+        <location line="+10"/>
+        <source>Goto target...</source>
+        <comment>Edit menu</comment>
+        <translation>Jít na cíl...</translation>
     </message>
     <message>
-        <source>branches</source>
-        <translation type="vanished">Větve</translation>
+        <location line="+9"/>
+        <source>Move to target...</source>
+        <comment>Edit menu</comment>
+        <translation>Přesunout na cíl...</translation>
     </message>
     <message>
-        <source>Tasks</source>
-        <comment>Context menu</comment>
-        <translation>Úkoly</translation>
+        <location line="+18"/>
+        <source>Select previous</source>
+        <comment>Edit menu</comment>
+        <translation>Vybrat předchozí</translation>
     </message>
     <message>
-        <source>Sort children backwards</source>
-        <translation type="vanished">Roztřídit vedlejší větve vzestupně</translation>
+        <location line="+10"/>
+        <source>Select next</source>
+        <comment>Edit menu</comment>
+        <translation>Vybrat další</translation>
     </message>
     <message>
-        <source>Password</source>
-        <translation type="vanished">Heslo</translation>
+        <location line="+11"/>
+        <source>Unselect all</source>
+        <comment>Edit menu</comment>
+        <translation>Nevybrat nic</translation>
     </message>
     <message>
-        <source>Really?</source>
-        <translation type="vanished">Skutečně?</translation>
+        <location line="+8"/>
+        <source>Search functions</source>
+        <comment>Shortcuts</comment>
+        <translation>Hledat funkce</translation>
     </message>
     <message>
-        <source>Text (ASCII)...</source>
-        <translation type="vanished">Text (ASCII)...</translation>
+        <location line="+1"/>
+        <location line="+8"/>
+        <source>Find...</source>
+        <comment>Edit menu</comment>
+        <translation>Najít...</translation>
     </message>
     <message>
-        <source>Load vym map</source>
-        <translation>Nahrát mapu VYMu</translation>
+        <location line="+7"/>
+        <source>Find duplicate URLs</source>
+        <comment>Edit menu</comment>
+        <translation>Najít duplicitní adresy (URL)</translation>
     </message>
     <message>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Vložit</translation>
+        <location line="+13"/>
+        <source>Formatting</source>
+        <comment>Shortcuts</comment>
+        <translation>Formátování</translation>
     </message>
     <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation>Tabulkový dokument</translation>
+        <location line="+36"/>
+        <source>Select default font</source>
+        <comment>Branch attribute</comment>
+        <translation>Vybrat výchozí písmo</translation>
     </message>
     <message>
-        <source>Modifier modes toolbar</source>
-        <translation type="vanished">Nástrojový pruh pro režimy upravovače</translation>
+        <location line="+83"/>
+        <source>Toolbars</source>
+        <comment>Toolbars overview in view menu</comment>
+        <translation>Nástrojové lišty</translation>
     </message>
     <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Znovu</translation>
+        <location line="+1"/>
+        <source>Views</source>
+        <comment>Shortcuts</comment>
+        <translation>Pohledy</translation>
     </message>
     <message>
-        <source>Import: Replace selection with vym map</source>
-        <translation>Zavedení: Nahradit výběr mapou</translation>
+        <location line="+35"/>
+        <source>Rotate counterclockwise</source>
+        <comment>View action</comment>
+        <translation>Otočit proti směru hodinových ručiček</translation>
     </message>
     <message>
-        <source>Priority</source>
-        <translation type="vanished">Přednost</translation>
+        <location line="+9"/>
+        <source>Rotate rclockwise</source>
+        <comment>View action</comment>
+        <translation>Otočit po směru hodinových ručiček</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
-        <translation>Dokumentaci %1 se v:
-%2 nepodařilo najít</translation>
+        <location line="+18"/>
+        <source>Center on selection</source>
+        <comment>View action</comment>
+        <translation>Zaměřit na výběr</translation>
     </message>
     <message>
-        <source>View shortcuts</source>
-        <translation type="vanished">Zobrazit zkratky</translation>
+        <location line="+9"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show keyboard shortcuts</source>
-        <translation type="vanished">Ukázat klávesové zkratky</translation>
+        <location line="+12"/>
+        <source>Note editor</source>
+        <comment>View action</comment>
+        <translation>Editor poznámek</translation>
     </message>
     <message>
-        <source>Edit actions toolbar</source>
-        <translation type="vanished">Nástrojový pruh činností úprav</translation>
+        <location line="+12"/>
+        <source>Heading editor</source>
+        <comment>View action</comment>
+        <translation>Editor popisů</translation>
     </message>
     <message>
-        <source>Surprise!</source>
-        <translation type="vanished">Překvapení!</translation>
+        <location line="+13"/>
+        <source>Tree editor</source>
+        <comment>View action</comment>
+        <translation>Editor stromu</translation>
     </message>
     <message>
-        <source>Add map (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>Vložit mapu (přidat do výběru)</translation>
+        <location line="+9"/>
+        <source>Task editor</source>
+        <comment>View action</comment>
+        <translation>Editor úkolů</translation>
     </message>
     <message>
-        <source>Call...</source>
-        <translation type="vanished">Zavolat...</translation>
+        <location line="+11"/>
+        <source>Slide editor</source>
+        <comment>View action</comment>
+        <translation>Editor snímků</translation>
     </message>
     <message>
-        <source>Save image</source>
-        <comment>Context action</comment>
-        <translation>Uložit obrázek</translation>
+        <location line="+9"/>
+        <source>Script editor</source>
+        <comment>View action</comment>
+        <translation>Editor skriptů</translation>
     </message>
     <message>
-        <source>SUSE Fate tool handling</source>
-        <translation type="vanished">Nástroj SUSE Fate</translation>
+        <location line="+17"/>
+        <source>History Window</source>
+        <comment>View action</comment>
+        <translation>Okno s historií</translation>
     </message>
     <message>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Upravit větev po jejím přidání (znovu ji popsat)</translation>
+        <location line="+21"/>
+        <source>Smooth pixmap transformations</source>
+        <comment>View action</comment>
+        <translation>Jemné transformace pixmapy</translation>
     </message>
     <message>
-        <source>Set application to zip/unzip files</source>
-        <translation>Nastavit program pro rozbalení/zabalení souborů</translation>
+        <location line="+10"/>
+        <source>Next Map</source>
+        <comment>View action</comment>
+        <translation>Další mapa</translation>
     </message>
     <message>
-        <source>Excellent</source>
-        <translation type="vanished">Vynikající</translation>
+        <location line="+7"/>
+        <source>Previous Map</source>
+        <comment>View action</comment>
+        <translation>Předchozí mapa</translation>
     </message>
     <message>
-        <source>Task list</source>
-        <translation type="vanished">Seznam úkolů</translation>
+        <location line="+7"/>
+        <source>Next slide</source>
+        <comment>View action</comment>
+        <translation>Další snímek</translation>
     </message>
     <message>
-        <source>Number of seconds before autosave:</source>
-        <translation>Počet sekund před automatickým uložením:</translation>
+        <location line="+7"/>
+        <source>Previous slide</source>
+        <comment>View action</comment>
+        <translation>Předchozí snímek</translation>
     </message>
     <message>
-        <source>Please allow vym to download release notes!</source>
-        <translation>Povolte, prosím, VYMu přístup k poznámkám o vydání!</translation>
+        <location line="+38"/>
+        <source>Modifier modes</source>
+        <comment>Shortcuts</comment>
+        <translation>Režimy modifikátorů</translation>
     </message>
     <message>
-        <source>Set application to open pdf files</source>
-        <comment>Settings action</comment>
-        <translation>Nastavit program pro otevírání souborů PDF</translation>
+        <location line="+101"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <source>Note</source>
+        <comment>SystemFlag</comment>
+        <translation>Poznámka</translation>
     </message>
     <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Kopírovat</translation>
+        <location line="+6"/>
+        <source>Map target</source>
+        <comment>SystemFlag</comment>
+        <translation>Cíl mapy</translation>
     </message>
     <message>
-        <source>Hide in exports</source>
-        <comment>Edit menu</comment>
-        <translation>Neukazovat ve vyvedení</translation>
+        <location line="+3"/>
+        <source>Link to another vym map</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Odkaz na jinou mapu programu VYM</translation>
     </message>
     <message>
-        <source>Edit Map Info...</source>
-        <translation type="vanished">Upravit informace o mapě...</translation>
+        <location line="+3"/>
+        <source>subtree is scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Vedlejší strom je svinut</translation>
     </message>
     <message>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation>Vyj&amp;mout</translation>
+        <location line="+4"/>
+        <source>subtree is temporary scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Vedlejší strom je dočasně svinut</translation>
     </message>
     <message>
-        <source>Create URL to Novell FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Vytvořit adresu (URL) k Novell FATE</translation>
+        <location line="+3"/>
+        <source>Hide object in exported maps</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Neukazovat předměty v exportovaných mapách</translation>
     </message>
     <message>
-        <source>Rotate counterclockwise</source>
-        <translation type="vanished">Otočit proti směru hodinových ručiček</translation>
+        <location line="+349"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Test shortcuts</source>
-        <translation type="vanished">Zkušební zkratky</translation>
+        <location line="+537"/>
+        <source>Standard Flags toolbar</source>
+        <comment>Standard Flag Toolbar</comment>
+        <translation type="unfinished">Nástrojový pruh s obvyklými příznaky</translation>
     </message>
     <message>
-        <source>Select next</source>
-        <translation type="vanished">Vybrat další</translation>
+        <location line="-879"/>
+        <source>This won&apos;t work!</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">To nepůjde!</translation>
     </message>
     <message>
-        <source>&amp;Save...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Uložit...</translation>
+        <location line="+5"/>
+        <source>Status - ok,done</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Stav - OK, vyřízeno</translation>
     </message>
     <message>
-        <source>Number of visible parents in find results window</source>
-        <translation type="vanished">Počet viditelných rodičovských větví v okně s výsledky hledání</translation>
+        <location line="+4"/>
+        <source>Status - work in progress</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Stav - práce na postupu</translation>
     </message>
     <message>
-        <source>Export as CSV</source>
-        <translation>Vyvést jako CSV</translation>
+        <location line="+5"/>
+        <source>Status - missing, not started</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Stav - neúplné, nezapočato</translation>
     </message>
     <message>
-        <source>Select previous</source>
-        <translation type="vanished">Vybrat předchozí</translation>
+        <location line="+5"/>
+        <source>Take care!</source>
+        <comment>Standardflag</comment>
+        <translation>Opatrně!</translation>
     </message>
     <message>
-        <source>Hide object in exported maps</source>
-        <translation type="vanished">Neukazovat předměty ve vyvedených mapách</translation>
+        <location line="+5"/>
+        <source>Really?</source>
+        <comment>Standardflag</comment>
+        <translation>Skutečně?</translation>
     </message>
     <message>
-        <source>Help shortcuts</source>
-        <translation type="vanished">Nápovědné zkratky</translation>
+        <location line="+14"/>
+        <source>Good</source>
+        <comment>Standardflag</comment>
+        <translation>Dobré</translation>
     </message>
     <message>
-        <source>&amp;Detach</source>
-        <translation type="vanished">&amp;Odpojit</translation>
+        <location line="+4"/>
+        <source>Bad</source>
+        <comment>Standardflag</comment>
+        <translation>Špatné</translation>
     </message>
     <message>
-        <source>Remove children</source>
-        <translation type="vanished">Odstranit vedlejší větve</translation>
+        <location line="+8"/>
+        <source>Oh no!</source>
+        <comment>Standardflag</comment>
+        <translation>Ach ne!</translation>
     </message>
     <message>
-        <source>Number of parents shown in find results:</source>
-        <translation>Počet viditelných rodičovských větví v okně s výsledky hledání:</translation>
+        <location line="+40"/>
+        <source>Time critical</source>
+        <comment>Standardflag</comment>
+        <translation>Časově kritické</translation>
     </message>
     <message>
-        <source>URL to Bugzilla </source>
-        <translation type="vanished">Adresa (URL) k Bugzille</translation>
+        <location line="-3"/>
+        <source>Call...</source>
+        <comment>Standardflag</comment>
+        <translation>Zavolat...</translation>
     </message>
     <message>
-        <source>Extract URLs from note</source>
-        <translation type="vanished">Vytáhnout adresy (URL) z poznámky</translation>
+        <location line="-55"/>
+        <source>Idea!</source>
+        <comment>Standardflag</comment>
+        <translation>Nápad!</translation>
     </message>
     <message>
-        <source>Import: Add vym map to selection</source>
-        <translation>Zavedení: Přidat mapu k výběru</translation>
+        <location line="+25"/>
+        <source>Important</source>
+        <comment>Standardflag</comment>
+        <translation>Důležité</translation>
     </message>
     <message>
-        <source>Antialiasing</source>
-        <comment>View action</comment>
-        <translation>Vyhlazování</translation>
+        <location line="+5"/>
+        <source>Unimportant</source>
+        <comment>Standardflag</comment>
+        <translation>Nedůležité</translation>
     </message>
     <message>
-        <source>Add branch above</source>
-        <comment>Edit menu</comment>
-        <translation>Přidat novou větev nahoře</translation>
+        <location line="+5"/>
+        <source>Very important!</source>
+        <comment>Standardflag</comment>
+        <translation>Velmi důležité!</translation>
     </message>
     <message>
-        <source>This map does not exist:
-  %1
-Do you want to create a new one?</source>
-        <translation>Tato mapa neexistuje:
-  %1
-Chcete vytvořit novou?</translation>
+        <location line="+5"/>
+        <source>Very unimportant!</source>
+        <comment>Standardflag</comment>
+        <translation>Velice nedůležité!</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
-        <translation>Nepodařilo se uložit %1,
-protože se nepodařilo vytvořit uzamykací soubor:
-
-%2</translation>
+        <location line="+5"/>
+        <source>I like this</source>
+        <comment>Standardflag</comment>
+        <translation>Líbí se mi to</translation>
     </message>
     <message>
-        <source>Check, if updates are available</source>
-        <translation type="vanished">Zjišťovat dostupnost aktualizací</translation>
+        <location line="+3"/>
+        <source>I do not like this</source>
+        <comment>Standardflag</comment>
+        <translation>Nelíbí se mi to</translation>
     </message>
     <message>
-        <source>Find duplicate URLs</source>
-        <translation type="vanished">Najít zdvojené adresy (URL)</translation>
+        <location line="+16"/>
+        <source>Rose</source>
+        <comment>Standardflag</comment>
+        <translation>Růže</translation>
     </message>
     <message>
-        <source>Save modified map before closing it</source>
-        <translation>Uložit upravenou mapu před jejím zavřením</translation>
+        <location line="-61"/>
+        <source>I just love...</source>
+        <comment>Standardflag</comment>
+        <translation>Jednoduše miluju...</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save %1</source>
-        <translation>Nepodařilo se uložit %1</translation>
+        <location line="+58"/>
+        <source>Surprise!</source>
+        <comment>Standardflag</comment>
+        <translation>Překvapení!</translation>
     </message>
     <message>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
-        <translation>Nastavit cestu pro makra</translation>
+        <location line="-39"/>
+        <source>Dangerous</source>
+        <comment>Standardflag</comment>
+        <translation>Nebezpečné</translation>
     </message>
     <message>
-        <source>Set &amp;Link Color</source>
-        <translation>Nastavit barvu &amp;spojení</translation>
+        <location line="+30"/>
+        <source>This will help</source>
+        <comment>Standardflag</comment>
+        <translation>To by mohlo pomoci</translation>
     </message>
     <message>
-        <source>Zoom out</source>
-        <comment>View action</comment>
-        <translation>Oddálit</translation>
+        <location line="+214"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Dívat se po poznámkách k vydání a zjišťovat dostupnost aktualizací</translation>
     </message>
     <message>
-        <source>Open VYM example maps </source>
-        <comment>Help action</comment>
-        <translation>Otevřít příkladové mapy programu VYM</translation>
+        <location line="+7"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Zadat autora nových map</translation>
     </message>
     <message>
-        <source>reset Zoom</source>
-        <comment>View action</comment>
-        <translation>Žádné zvětšení</translation>
+        <location line="+121"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Počet viditelných rodičovských větví v editoru úkolů</translation>
     </message>
     <message>
-        <source>Update information</source>
-        <translation>Informace o aktualizaci</translation>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Počet viditelných rodičovských větví v okně s výsledky hledání</translation>
     </message>
     <message>
-        <source>Debug info</source>
-        <translation type="vanished">Informace k hledání chyb</translation>
+        <location line="+15"/>
+        <source>Automatic layout</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Automatické rozvržení</translation>
     </message>
     <message>
-        <source>Follow XLink</source>
-        <comment>Context menu name</comment>
-        <translation>Sledovat xLink</translation>
+        <location line="+51"/>
+        <source>Download and show release notes</source>
+        <comment>Help action</comment>
+        <translation type="unfinished">Stáhnout a ukázat poznámky k vydání</translation>
     </message>
     <message>
-        <source>Selections</source>
-        <translation type="vanished">Výběr</translation>
+        <location line="+4"/>
+        <source>Check, if updates are available</source>
+        <comment>Help action</comment>
+        <translation type="unfinished">Zjišťovat dostupnost aktualizací</translation>
     </message>
     <message>
-        <source>The map %1
-is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation>Mapa %1
-je již ve VYMu otevřena. Otevření téže mapy ve více editorech může
-při ukončení práce s programem VYM vést ke zmatení.
-Chcete </translation>
+        <location line="+5"/>
+        <source>Show keyboard shortcuts</source>
+        <comment>Help action</comment>
+        <translation type="unfinished">Ukázat klávesové zkratky</translation>
     </message>
     <message>
-        <source>Add branch below</source>
-        <comment>Edit menu</comment>
-        <translation>Přidat novou větev dole</translation>
+        <location line="+12"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
+        <translation type="unfinished">Informace k hledání chyb</translation>
     </message>
     <message>
-        <source>unknown user</source>
-        <translation type="vanished">Neznámý uživatel</translation>
+        <location line="+76"/>
+        <source>References (URLs, vymLinks, ...)</source>
+        <comment>Context menu name</comment>
+        <translation type="unfinished">Odkazy (adresy, spojení VYMu, ...)</translation>
     </message>
     <message>
-        <source>Grow selection</source>
-        <translation type="vanished">Zvětšit výběr</translation>
+        <location line="+20"/>
+        <source>XLinks</source>
+        <comment>Menu for file actions</comment>
+        <translation type="unfinished">Křížové odkazy</translation>
     </message>
     <message>
-        <source>Check for release notes and updates</source>
-        <translation type="vanished">Dívat se po poznámkách k vydání a zjišťovat dostupnost aktualizací</translation>
+        <location line="+128"/>
+        <source>File actions toolbar</source>
+        <comment>Toolbar for file actions</comment>
+        <translation type="unfinished">Nástrojový pruh souborových činností</translation>
     </message>
     <message>
-        <source>Set URL to a local file</source>
-        <translation>Nastavit adresu (URL) k místnímu souboru</translation>
+        <location line="+9"/>
+        <source>Undo and clipboard toolbar</source>
+        <comment>Toolbar for redo/undo and clipboard</comment>
+        <translation type="unfinished">Nástrojový pruh pro Zpět/Znovu a schránku</translation>
     </message>
-    <message>
-        <source>Pic&amp;k color</source>
-        <comment>Edit menu</comment>
-        <translation>Pře&amp;vzít barvu</translation>
-    </message>
-    <message>
-        <source>Linkstyle Thick Line</source>
-        <translation>Styl spojení silná čára</translation>
-    </message>
-    <message>
-        <source>Editors toolbar</source>
-        <translation type="vanished">Nástrojový pruh editory</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Nepodařilo se spustit %1 pro otevření nové karty v %2.</translation>
-    </message>
-    <message>
-        <source>Map Editors</source>
-        <translation type="vanished">Editor mapy</translation>
-    </message>
-    <message>
-        <source>Select default font</source>
-        <translation type="vanished">Vybrat výchozí písmo</translation>
-    </message>
-    <message>
-        <source>Info</source>
-        <comment>Standardflag</comment>
-        <translation>Informace</translation>
-    </message>
-    <message>
-        <source>Add attribute</source>
-        <translation>Přidat vlastnost</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Zpět</translation>
-    </message>
-    <message>
-        <source>Search functions</source>
-        <translation type="vanished">Hledat funkce</translation>
-    </message>
-    <message>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
-        <translation>Nastavení byla změněna. Následující otevřená mapa bude mít &quot;%1&quot; kroků zpět/znovu</translation>
-    </message>
-    <message>
-        <source>Reminder</source>
-        <translation type="vanished">Připomínka</translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation>Nová adresa (URL):</translation>
-    </message>
-    <message>
-        <source>Removing parts of a map</source>
-        <translation type="vanished">Odstranění částí mapy</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Otevřít všechny adresy (URL) ve vedlejším stromu</translation>
-    </message>
-    <message>
-        <source>Zoom in</source>
-        <comment>View action</comment>
-        <translation>Přiblížit</translation>
-    </message>
-    <message>
-        <source>unnamed</source>
-        <translation type="vanished">Nepojmenovaný</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation>Záložky Firefoxu</translation>
-    </message>
-    <message>
-        <source>Various</source>
-        <translation type="vanished">Různé</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="vanished">&amp;Mapa</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation>Přepsat</translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation>Odkaz na jinou mapu</translation>
-    </message>
-    <message>
-        <source>Smooth pixmap transformations</source>
-        <translation type="vanished">Jemné zobrazení pixmapy</translation>
-    </message>
-    <message>
-        <source>Save &amp;As...</source>
-        <comment>File menu</comment>
-        <translation>Uložit &amp;jako...</translation>
-    </message>
-    <message>
-        <source>Saved  %1</source>
-        <translation>%1 uloženo</translation>
-    </message>
-    <message>
-        <source>Settings</source>
-        <translation>Nastavení</translation>
-    </message>
-    <message>
-        <source>Load Freemind map</source>
-        <translation>Nahrát mapu pro otevřenou mysl</translation>
-    </message>
-    <message>
-        <source>Move branch up</source>
-        <comment>Edit menu</comment>
-        <translation>Posunout větev nahoru</translation>
-    </message>
-    <message>
-        <source>Number of parents shown for a task:</source>
-        <translation>Počet rodičovských větví ukázaný pro úkol:</translation>
-    </message>
-    <message>
-        <source>Next Map</source>
-        <translation type="vanished">Další mapa</translation>
-    </message>
-    <message>
-        <source>Exports</source>
-        <translation type="vanished">Vyvedení</translation>
-    </message>
-    <message>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>Použít upravovač k obarvení větví</translation>
-    </message>
-    <message>
-        <source>Find...</source>
-        <translation type="vanished">Najít...</translation>
-    </message>
-    <message>
-        <source>Script Editor</source>
-        <translation>Editor skriptů</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="vanished">Záložky KDE 4</translation>
-    </message>
-    <message>
-        <source>URL to Document </source>
-        <translation type="vanished">Adresa (URL) k dokumentu</translation>
-    </message>
-    <message>
-        <source>Map properties...</source>
-        <translation type="vanished">Vlastnosti mapy...</translation>
-    </message>
-    <message>
-        <source>Set application to open an URL</source>
-        <translation>Nastavit program pro otevírání adres (URL)</translation>
-    </message>
-    <message>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <translation type="vanished">Zadat čas spánku (počet dní nebo datum RRRR-MM-DD nebo DD.MM[.RRRR]</translation>
-    </message>
-    <message>
-        <source>Edit XLink</source>
-        <comment>Context menu name</comment>
-        <translation>Upravit xLink</translation>
-    </message>
-    <message>
-        <source>Save selection</source>
-        <comment>Edit menu</comment>
-        <translation>Uložit výběr</translation>
-    </message>
-    <message>
-        <source>Load vym example map</source>
-        <translation>Otevřít příkladovou mapu programu VYM</translation>
-    </message>
-    <message>
-        <source>Get data from Novell Bugzilla for subtree</source>
-        <translation type="vanished">Dostat data z Novell Bugzilla pro vedlejší strom</translation>
-    </message>
-    <message>
-        <source>Follow XLink</source>
-        <comment>Context menu</comment>
-        <translation>Sledovat xLink</translation>
-    </message>
-    <message>
-        <source>Zoom toolbar</source>
-        <translation type="vanished">Nástrojový pruh pro prohlížení</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
-        <translation type="vanished">Otevřít všechny adresy (URL) ve vedlejším stromu</translation>
-    </message>
-    <message>
-        <source>forward</source>
-        <translation type="vanished">Vpřed</translation>
-    </message>
-    <message>
-        <source>Colors toolbar</source>
-        <translation type="vanished">Nástrojový pruh pro barvy</translation>
-    </message>
-    <message>
-        <source>subtree is temporary scrolled</source>
-        <translation type="vanished">Vedlejší strom je dočasně svinut</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <translation>Varování</translation>
-    </message>
-    <message>
-        <source>Open all vym links in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Otevřít všechny odkazy na mapy VYMu ve vedlejším stromu</translation>
-    </message>
-    <message>
-        <source>Please allow vym to check for updates!</source>
-        <translation>Povolte, prosím, VYMu zjišťovat dostupnost aktualizací!</translation>
-    </message>
-    <message>
-        <source>Previous slide</source>
-        <translation type="vanished">Předchozí snímek</translation>
-    </message>
-    <message>
-        <source>Heading editor</source>
-        <translation type="vanished">Editor popisů</translation>
-    </message>
-    <message>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <translation type="vanished">Získat data z Novell Bugzilla pro vedlejší strom</translation>
-    </message>
-    <message>
-        <source>This will help</source>
-        <translation type="vanished">To by mohlo pomoci</translation>
-    </message>
-    <message>
-        <source>&amp;Close Map</source>
-        <comment>File menu</comment>
-        <translation>&amp;Zavřít mapu</translation>
-    </message>
-    <message>
-        <source>&amp;Use color of heading for link</source>
-        <comment>Branch attribute</comment>
-        <translation>&amp;Použít barvu popisu pro spojení</translation>
-    </message>
-    <message>
-        <source>Open Recent</source>
-        <comment>File menu</comment>
-        <translation>Otevřít nedávný</translation>
-    </message>
-    <message>
-        <source>Text Editors</source>
-        <translation type="vanished">Editor textu</translation>
-    </message>
-    <message>
-        <source>Status - ok,done</source>
-        <translation type="vanished">Stav - OK, vyřízeno</translation>
-    </message>
-    <message>
-        <source>Create URL to SUSE Bugzilla</source>
-        <translation type="vanished">Vytvořit adresu (URL) pro SUSE Bugzilla</translation>
-    </message>
-    <message>
-        <source>Unselect all</source>
-        <translation type="vanished">Nevybrat nic</translation>
-    </message>
-    <message>
-        <source>Goto target...</source>
-        <translation type="vanished">Jít na cíl...</translation>
-    </message>
-    <message>
-        <source>Status - work in progress</source>
-        <translation type="vanished">Stav - práce na postupu</translation>
-    </message>
-    <message>
-        <source>Set &amp;Selection Color</source>
-        <translation>Nastavit barvu &amp;výběru</translation>
-    </message>
-    <message>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
-        <translation>Zapsat při ukládání zálohovací soubor</translation>
-    </message>
-    <message>
-        <source>Previous  slide</source>
-        <translation type="vanished">Předchozí snímek</translation>
-    </message>
-    <message>
-        <source>Reset selection size</source>
-        <translation type="vanished">Nastavit velikost výběru znovu</translation>
-    </message>
-    <message>
-        <source>References (URLs, vymLinks, ...)</source>
-        <translation type="vanished">Odkazy (adresy, spojení VYMu, ...)</translation>
-    </message>
-    <message>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
-        <translation>Nastavit program pro rozbalení/zabalení souborů</translation>
-    </message>
-    <message>
-        <source>Script editor</source>
-        <translation type="vanished">Editor skriptů</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t set sleep time to %1.
-</source>
-        <translation>Nepodařilo se nastavit čas spánku na %1.</translation>
-    </message>
-    <message>
-        <source>Checking for updates...</source>
-        <translation type="vanished">Prověřuje se dostupnost aktualizací...</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <comment>Menu for file actions</comment>
-        <translation>&amp;Mapa</translation>
-    </message>
-    <message>
-        <source>To be discussed</source>
-        <translation type="vanished">K probrání</translation>
-    </message>
-    <message>
-        <source>Very important!</source>
-        <translation type="vanished">Velmi důležité!</translation>
-    </message>
-    <message>
-        <source>Expand one level</source>
-        <translation type="vanished">Rozbalit jednu úroveň</translation>
-    </message>
-    <message>
-        <source>Linkstyle Thick Curve</source>
-        <translation>Styl spojení silná křivka</translation>
-    </message>
-    <message>
-        <source>Add map (replace)</source>
-        <comment>Edit menu</comment>
-        <translation>Vložit mapu (nahradit výběr)</translation>
-    </message>
-    <message>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Důležité</translation>
-    </message>
-    <message>
-        <source>E&amp;xit</source>
-        <comment>File menu</comment>
-        <translation>&amp;Ukončit</translation>
-    </message>
-    <message>
-        <source>Number of undo/redo levels:</source>
-        <translation>Počet kroků zpět/znovu:</translation>
-    </message>
-    <message>
-        <source>Heading Editor</source>
-        <translation>Editor popisů</translation>
-    </message>
-    <message>
-        <source>Rotate rclockwise</source>
-        <translation type="vanished">Otočit po směru hodinových ručiček</translation>
-    </message>
-    <message>
-        <source>Color sub&amp;tree</source>
-        <comment>Edit menu</comment>
-        <translation>Obarvit vedlejší &amp;strom</translation>
-    </message>
-    <message>
-        <source>Main window</source>
-        <comment>Shortcut group</comment>
-        <translation type="unfinished">Hlavní okno</translation>
-    </message>
-    <message>
-        <source>Map Editors</source>
-        <comment>Shortcut group</comment>
-        <translation type="unfinished">Editor mapy</translation>
-    </message>
-    <message>
-        <source>Text Editors</source>
-        <comment>Shortcut group</comment>
-        <translation type="unfinished">Editor textu</translation>
-    </message>
-    <message>
-        <source>Search results list</source>
-        <comment>FindResultWidget</comment>
-        <translation type="unfinished">Seznam s výsledky hledání</translation>
-    </message>
-    <message>
-        <source>Property Editor</source>
-        <comment>PropertyEditor</comment>
-        <translation type="unfinished">Editor vlastností</translation>
-    </message>
-    <message>
-        <source>History window</source>
-        <comment>HistoryWidget</comment>
-        <translation type="unfinished">Okno s historií</translation>
-    </message>
-    <message>
-        <source>Task list</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">Seznam úkolů</translation>
-    </message>
-    <message>
-        <source>&amp;New map</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">&amp;Nová mapa</translation>
-    </message>
-    <message>
-        <source>&amp;Copy to new map</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">&amp;Kopírovat do nové mapy</translation>
-    </message>
-    <message>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation type="unfinished">Zavést adresář %1</translation>
-    </message>
-    <message>
-        <source>Webpage (HTML)...</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished">Stránka (HTML)...</translation>
-    </message>
-    <message>
-        <source>Text (ASCII)...</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished">Text (ASCII)...</translation>
-    </message>
-    <message>
-        <source>Text with tasks</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished">Text s úkoly</translation>
-    </message>
-    <message>
-        <source>Text (A&amp;O report)...</source>
-        <comment>Export format</comment>
-        <translation type="unfinished">Text (formát A&amp;O)...</translation>
-    </message>
-    <message>
-        <source>Image%1</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished">Obrázek %1</translation>
-    </message>
-    <message>
-        <source>PDF%1</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished">PDF%1</translation>
-    </message>
-    <message>
-        <source>SVG%1</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished">SVG%1</translation>
-    </message>
-    <message>
-        <source>E&amp;dit</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Ú&amp;pravy</translation>
-    </message>
-    <message>
-        <source>Add mapcenter</source>
-        <comment>Canvas context menu</comment>
-        <translation type="unfinished">Přidat mapový střed</translation>
-    </message>
-    <message>
-        <source>&amp;Detach</source>
-        <comment>Context menu</comment>
-        <translation type="unfinished">&amp;Odpojit</translation>
-    </message>
-    <message>
-        <source>Detach branch and use as mapcenter</source>
-        <comment>Context menu</comment>
-        <translation type="unfinished">Odpojit větev a použít jako středisko mapy</translation>
-    </message>
-    <message>
-        <source>Sort children</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Roztřídit vedlejší větve</translation>
-    </message>
-    <message>
-        <source>Sort children backwards</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Roztřídit vedlejší větve vzestupně</translation>
-    </message>
-    <message>
-        <source>Unscroll children</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Roztáhnout vedlejší větve</translation>
-    </message>
-    <message>
-        <source>Grow selection</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Zvětšit výběr</translation>
-    </message>
-    <message>
-        <source>Shrink selection</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Zmenšit výběr</translation>
-    </message>
-    <message>
-        <source>Reset selection size</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Nastavit velikost výběru znovu</translation>
-    </message>
-    <message>
-        <source>Collapse one level</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Složit jednu úroveň</translation>
-    </message>
-    <message>
-        <source>Collapse unselected levels</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Složit nevybrané úrovně</translation>
-    </message>
-    <message>
-        <source>Expand all branches</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Rozdělat všechny větve</translation>
-    </message>
-    <message>
-        <source>Expand one level</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Rozbalit jednu úroveň</translation>
-    </message>
-    <message>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Klávesové zkratky</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Otevřít všechny adresy (URL) ve vedlejším stromu</translation>
-    </message>
-    <message>
-        <source>Extract URLs from note</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Vytáhnout adresy (URL) z poznámky</translation>
-    </message>
-    <message>
-        <source>Edit URL...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Upravit adresy (URL)...</translation>
-    </message>
-    <message>
-        <source>Edit local URL...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Upravit místní adresu (URL)...</translation>
-    </message>
-    <message>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Klávesové zkratky</translation>
-    </message>
-    <message>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Vytvořit adresu (URL) pro SUSE Bugzilla</translation>
-    </message>
-    <message>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Získat data od SUSE Bugzilla</translation>
-    </message>
-    <message>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Získat data z Novell Bugzilla pro vedlejší strom</translation>
-    </message>
-    <message>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Nástroj SUSE Fate</translation>
-    </message>
-    <message>
-        <source>Create URL to SUSE FATE tool</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Vytvořit nástroj (URL) pro SUSE Fate</translation>
-    </message>
-    <message>
-        <source>vymlinks - linking maps</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Odkazy VYMu - spojení mezi mapami</translation>
-    </message>
-    <message>
-        <source>Open linked map in background tab</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Otevřít spojenou mapu v kartě na pozadí</translation>
-    </message>
-    <message>
-        <source>Edit vym link...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Upravit spojení VYMu...</translation>
-    </message>
-    <message>
-        <source>Exports</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Vyvedení</translation>
-    </message>
-    <message>
-        <source>Tasks</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Úkoly</translation>
-    </message>
-    <message>
-        <source>Toggle task</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Přepnout úkol</translation>
-    </message>
-    <message>
-        <source>Cycle task status</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Přepínat stav úkolu</translation>
-    </message>
-    <message>
-        <source>Reset sleep</source>
-        <comment>Task sleep</comment>
-        <translation type="unfinished">Nastavit spánek znovu</translation>
-    </message>
-    <message>
-        <source>Sleep %1 days</source>
-        <comment>Task sleep</comment>
-        <translation type="unfinished">Spát %1 dny(ů)</translation>
-    </message>
-    <message>
-        <source>Sleep %1 day</source>
-        <comment>Task sleep</comment>
-        <translation type="unfinished">Spát %1 den</translation>
-    </message>
-    <message>
-        <source>Sleep %1 weeks</source>
-        <comment>Task sleep</comment>
-        <translation type="unfinished">Spát %1 týdny(ů)</translation>
-    </message>
-    <message>
-        <source>Removing parts of a map</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Odstranění částí mapy</translation>
-    </message>
-    <message>
-        <source>Remove only branch and keep its children </source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Odstranit větev, vedlejší větve zachovat</translation>
-    </message>
-    <message>
-        <source>Remove children</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Odstranit vedlejší větve</translation>
-    </message>
-    <message>
-        <source>Various</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Různé</translation>
-    </message>
-    <message>
-        <source>Add timestamp</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Přidat časové razítko</translation>
-    </message>
-    <message>
-        <source>Map properties...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Vlastnosti mapy...</translation>
-    </message>
-    <message>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Přidat...</translation>
-    </message>
-    <message>
-        <source>Property window</source>
-        <comment>Dialog to edit properties of selection</comment>
-        <translation type="unfinished">Okno vlastností</translation>
-    </message>
-    <message>
-        <source>Selections</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Výběr</translation>
-    </message>
-    <message>
-        <source>Select</source>
-        <comment>Select menu</comment>
-        <translation type="unfinished">Vybrat</translation>
-    </message>
-    <message>
-        <source>Toggle target...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Přepnout cíl...</translation>
-    </message>
-    <message>
-        <source>Goto target...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Jít na cíl...</translation>
-    </message>
-    <message>
-        <source>Move to target...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Přesunout na cíl...</translation>
-    </message>
-    <message>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Vybrat předchozí</translation>
-    </message>
-    <message>
-        <source>Select next</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Vybrat další</translation>
-    </message>
-    <message>
-        <source>Unselect all</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Nevybrat nic</translation>
-    </message>
-    <message>
-        <source>Search functions</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Hledat funkce</translation>
-    </message>
-    <message>
-        <source>Find...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Najít...</translation>
-    </message>
-    <message>
-        <source>Find duplicate URLs</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Najít zdvojené adresy (URL)</translation>
-    </message>
-    <message>
-        <source>Formatting</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Formátování</translation>
-    </message>
-    <message>
-        <source>Select default font</source>
-        <comment>Branch attribute</comment>
-        <translation type="unfinished">Vybrat výchozí písmo</translation>
-    </message>
-    <message>
-        <source>Toolbars</source>
-        <comment>Toolbars overview in view menu</comment>
-        <translation type="unfinished">Nástrojové pruhy</translation>
-    </message>
-    <message>
-        <source>Views</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Pohledy</translation>
-    </message>
-    <message>
-        <source>Rotate counterclockwise</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Otočit proti směru hodinových ručiček</translation>
-    </message>
-    <message>
-        <source>Rotate rclockwise</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Otočit po směru hodinových ručiček</translation>
-    </message>
-    <message>
-        <source>Center on selection</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Zaměřit na výběr</translation>
-    </message>
-    <message>
-        <source>Note editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Editor poznámek</translation>
-    </message>
-    <message>
-        <source>Heading editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Editor popisů</translation>
+    <message>
+        <location line="+10"/>
+        <source>Edit actions toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation type="unfinished">Nástrojový pruh činností úprav</translation>
     </message>
     <message>
-        <source>Tree editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Editor stromu</translation>
+        <location line="+19"/>
+        <source>Selection toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation type="unfinished">Nástrojový pruh pro výběr</translation>
     </message>
     <message>
-        <source>Task editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Editor úkolů</translation>
+        <location line="+9"/>
+        <source>URLs and vymLinks toolbar</source>
+        <comment>Toolbar for URLs and vymlinks</comment>
+        <translation type="unfinished">Nástrojový pruh pro adresy (URL) a odkazy VYMu</translation>
     </message>
     <message>
-        <source>Slide editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Editor snímků</translation>
+        <location line="+6"/>
+        <source>Colors toolbar</source>
+        <comment>Colors toolbar name</comment>
+        <translation type="unfinished">Nástrojový pruh pro barvy</translation>
     </message>
     <message>
-        <source>Script editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Editor skriptů</translation>
+        <location line="+59"/>
+        <source>Editors toolbar</source>
+        <comment>Editor Toolbar name</comment>
+        <translation type="unfinished">Nástrojový pruh editory</translation>
     </message>
     <message>
-        <source>History Window</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Okno s historií</translation>
+        <location line="+12"/>
+        <source>Modifier modes toolbar</source>
+        <comment>Modifier Toolbar name</comment>
+        <translation type="unfinished">Nástrojový pruh pro režimy upravovače</translation>
     </message>
     <message>
-        <source>Smooth pixmap transformations</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Jemné zobrazení pixmapy</translation>
+        <location line="+371"/>
+        <source>Loading: %1</source>
+        <comment>Progress dialog while loading maps</comment>
+        <translation type="unfinished">Nahrává se %1</translation>
     </message>
     <message>
-        <source>Next Map</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Další mapa</translation>
+        <location line="+60"/>
+        <source>or</source>
+        <comment>File Dialog</comment>
+        <translation>nebo</translation>
     </message>
     <message>
-        <source>Previous Map</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Předchozí mapa</translation>
+        <location line="+803"/>
+        <source>HTML</source>
+        <comment>Filedialog</comment>
+        <translation>HTML</translation>
     </message>
     <message>
-        <source>Next slide</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Další snímek</translation>
+        <location line="+1"/>
+        <source>Text</source>
+        <comment>Filedialog</comment>
+        <translation>Text</translation>
     </message>
     <message>
-        <source>Previous slide</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Předchozí snímek</translation>
+        <location line="+2"/>
+        <source>Textdocument</source>
+        <comment>Filedialog</comment>
+        <translation>Textový dokument</translation>
     </message>
     <message>
-        <source>Modifier modes</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished">Režimy modifikátorů</translation>
+        <location line="+1"/>
+        <source>Images</source>
+        <comment>Filedialog</comment>
+        <translation>Obrázky</translation>
     </message>
     <message>
-        <source>Note</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Poznámka</translation>
+        <location line="+328"/>
+        <source>%1 items on map
+</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished">%1 předmětů na mapě
+</translation>
     </message>
     <message>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Adresa (URL) k dokumentu</translation>
+        <location line="+21"/>
+        <source>branches</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished">Větve</translation>
     </message>
     <message>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Adresa (URL) k Bugzille</translation>
+        <location line="+7"/>
+        <source>notes</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished">Poznámky</translation>
     </message>
     <message>
-        <source>Map target</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Cíl</translation>
+        <location line="+1"/>
+        <source>images</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished">Obrázky</translation>
     </message>
     <message>
-        <source>Link to another vym map</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Odkaz na jinou mapu programu VYM</translation>
+        <location line="+3"/>
+        <source>slides</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished">Snímky</translation>
     </message>
     <message>
-        <source>subtree is scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Vedlejší strom je svinut</translation>
+        <location line="+2"/>
+        <source>xLinks</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished">Křížové odkazy</translation>
     </message>
     <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Vedlejší strom je dočasně svinut</translation>
+        <location line="+673"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hide object in exported maps</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Neukazovat předměty ve vyvedených mapách</translation>
+        <location line="+233"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation type="unfinished">Neznámý uživatel</translation>
     </message>
     <message>
-        <source>Standard Flags toolbar</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation type="unfinished">Nástrojový pruh s obvyklými příznaky</translation>
+        <location line="+506"/>
+        <source>History for %1</source>
+        <comment>Window Caption</comment>
+        <translation type="unfinished">Historie pro %1</translation>
     </message>
     <message>
-        <source>This won&apos;t work!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">To nepůjde!</translation>
+        <location line="+23"/>
+        <source>Export in last used format (%1) to: %2</source>
+        <comment>status tip</comment>
+        <translation>Exportovat v naposledy použitém formátu (%1) do: %2</translation>
     </message>
     <message>
-        <source>Status - ok,done</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Stav - OK, vyřízeno</translation>
+        <location line="+767"/>
+        <source>vym is up to date.</source>
+        <comment>MainWindow</comment>
+        <translation>VYM je aktuální.</translation>
     </message>
     <message>
-        <source>Status - work in progress</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Stav - práce na postupu</translation>
+        <location line="+48"/>
+        <source>Checking for updates...</source>
+        <comment>MainWindow</comment>
+        <translation>Zjišťuji dostupnost aktualizací...</translation>
     </message>
     <message>
-        <source>Status - missing, not started</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Stav - neúplné, nezapočato</translation>
+        <location line="-7064"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Opatrně!</translation>
+        <location line="+852"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Skutečně?</translation>
+        <location line="+22"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Good</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Dobré</translation>
+        <location line="+21"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Bad</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Špatné</translation>
+        <location line="+44"/>
+        <source>CSV...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Oh no!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Ach ne!</translation>
+        <location line="+763"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Time critical</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Časově zásadní</translation>
+        <location line="+56"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Call...</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Zavolat...</translation>
+        <location line="+194"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Nápad!</translation>
+        <location line="+138"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Důležité</translation>
+        <location line="+768"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Nedůležité</translation>
+        <location line="+1874"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Very important!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Velmi důležité!</translation>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Very unimportant!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Velice nedůležité!</translation>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>I like this</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Líbí se mi to</translation>
+        <location line="+840"/>
+        <source>Load vym script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Nelíbí se mi to</translation>
+        <location line="-4818"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rose</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Růže</translation>
+        <location line="+596"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>I just love...</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Jednoduše miluju...</translation>
+        <location line="+835"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Vše</translation>
     </message>
     <message>
-        <source>Surprise!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Překvapení!</translation>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Nebezpečné</translation>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This will help</source>
+        <location line="-838"/>
+        <source>Hm...</source>
         <comment>Standardflag</comment>
-        <translation type="unfinished">To by mohlo pomoci</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Přednost</translation>
+        <location line="+54"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Důležité</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Back</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Zpět</translation>
     </message>
     <message>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Vpřed</translation>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Look here</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Podívat se sem</translation>
     </message>
     <message>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Ne flagrget</translation>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Nebezpečné</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Flag</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Příznak</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Home</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Domov</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Telefon</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Music</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Hudba</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Poštovní schránka</translation>
     </message>
     <message>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Poštovní schránka</translation>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Password</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Heslo</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Ke zlepšení</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Stop</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Zastavit</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Magic</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Kouzlo</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">K probrání</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Připomínka</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Vynikající</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Linux</source>
-        <comment>Freemind-Flag</comment>
+        <comment>Freemind flag</comment>
         <translation type="unfinished">Linux</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Milé</translation>
-    </message>
-    <message>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Dívat se po poznámkách k vydání a zjišťovat dostupnost aktualizací</translation>
-    </message>
-    <message>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Zadat autora nových map</translation>
-    </message>
-    <message>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Počet viditelných rodičovských větví v editoru úkolů</translation>
-    </message>
-    <message>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Počet viditelných rodičovských větví v okně s výsledky hledání</translation>
-    </message>
-    <message>
-        <source>Automatic layout</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Automatické rozvržení</translation>
-    </message>
-    <message>
-        <source>Download and show release notes</source>
-        <comment>Help action</comment>
-        <translation type="unfinished">Stáhnout a ukázat poznámky k vydání</translation>
-    </message>
-    <message>
-        <source>Check, if updates are available</source>
-        <comment>Help action</comment>
-        <translation type="unfinished">Zjišťovat dostupnost aktualizací</translation>
-    </message>
-    <message>
-        <source>Show keyboard shortcuts</source>
-        <comment>Help action</comment>
-        <translation type="unfinished">Ukázat klávesové zkratky</translation>
-    </message>
-    <message>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
-        <translation type="unfinished">Informace k hledání chyb</translation>
-    </message>
-    <message>
-        <source>References (URLs, vymLinks, ...)</source>
-        <comment>Context menu name</comment>
-        <translation type="unfinished">Odkazy (adresy, spojení VYMu, ...)</translation>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Milé</translation>
     </message>
     <message>
-        <source>XLinks</source>
-        <comment>Menu for file actions</comment>
-        <translation type="unfinished">Křížové odkazy</translation>
+        <location line="+162"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>File actions toolbar</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="unfinished">Nástrojový pruh souborových činností</translation>
+        <location line="+725"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Undo and clipboard toolbar</source>
-        <comment>Toolbar for redo/undo and clipboard</comment>
-        <translation type="unfinished">Nástrojový pruh pro Zpět/Znovu a schránku</translation>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="unfinished">Nástrojový pruh činností úprav</translation>
+        <location line="+83"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Selection toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="unfinished">Nástrojový pruh pro výběr</translation>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>URLs and vymLinks toolbar</source>
-        <comment>Toolbar for URLs and vymlinks</comment>
-        <translation type="unfinished">Nástrojový pruh pro adresy (URL) a odkazy VYMu</translation>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Colors toolbar</source>
-        <comment>Colors toolbar name</comment>
-        <translation type="unfinished">Nástrojový pruh pro barvy</translation>
+        <location line="-2486"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation type="unfinished">Nástrojový pruh pro prohlížení</translation>
+        <location line="-578"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Editors toolbar</source>
-        <comment>Editor Toolbar name</comment>
-        <translation type="unfinished">Nástrojový pruh editory</translation>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Záložky Firefoxu</translation>
     </message>
     <message>
-        <source>Modifier modes toolbar</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="unfinished">Nástrojový pruh pro režimy upravovače</translation>
+        <location line="+315"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Loading: %1</source>
-        <comment>Progress dialog while loading maps</comment>
-        <translation type="unfinished">Nahrává se %1</translation>
+        <location line="+952"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>or</source>
-        <comment>File Dialog</comment>
-        <translation type="unfinished">nebo</translation>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">HTML</translation>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Text</translation>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Textový dokument</translation>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Obrázky</translation>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation type="unfinished">Zadat čas spánku (počet dní nebo datum RRRR-MM-DD nebo DD.MM[.RRRR]</translation>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">%1 předmětů na mapě
-</translation>
+        <location line="+441"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>branches</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">Větve</translation>
+        <location line="+509"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>notes</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">Poznámky</translation>
+        <location line="+789"/>
+        <source>Firefox Bookmarks</source>
+        <translation type="unfinished">Záložky Firefoxu</translation>
     </message>
     <message>
-        <source>images</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">Obrázky</translation>
+        <location line="+3"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">Úkoly</translation>
+        <location line="+1822"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>slides</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">Snímky</translation>
+        <location line="-1816"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>xLinks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">Křížové odkazy</translation>
+        <location line="+618"/>
+        <source>Set as link to vym map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
-        <translation type="unfinished">Neznámý uživatel</translation>
+        <location line="-3110"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>History for %1</source>
-        <comment>Window Caption</comment>
-        <translation type="unfinished">Historie pro %1</translation>
+        <location line="+1653"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export in last used format (%1) to: %2</source>
-        <comment>status tip</comment>
-        <translation type="unfinished">Vyvést v naposledy použitém formátu (%1) do: %2</translation>
+        <location line="+681"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <location line="+81"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>vym is up to date.</source>
-        <comment>MainWindow</comment>
-        <translation type="unfinished">VYM je v nejnovější verzi.</translation>
+        <location line="-1168"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Checking for updates...</source>
-        <comment>MainWindow</comment>
-        <translation type="unfinished">Prověřuje se dostupnost aktualizací...</translation>
+        <location line="+98"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>MapEditor</name>
     <message>
-        <source>Save</source>
-        <translation type="vanished">Uložit</translation>
+        <location line="+2891"/>
+        <source>Information</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Map Editor</source>
-        <translation type="vanished">Editor mapy</translation>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <translation type="vanished">Upravit popis větve</translation>
+        <location line="+1180"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Print vym map</source>
-        <translation type="vanished">Vytisknout mapu</translation>
+        <location line="+54"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>MapEditor</name>
     <message>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
-        <translation type="unfinished">Editor mapy</translation>
+        <translation>Editor mapy</translation>
     </message>
     <message>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
-        <translation type="unfinished">Upravit popis větve</translation>
+        <translation>Upravit popisek</translation>
     </message>
     <message>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
-        <translation type="unfinished">Vytisknout mapu</translation>
+        <translation>Vytisknout mapu</translation>
+    </message>
+    <message>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <translation type="vanished">Editor poznámek</translation>
-    </message>
-    <message>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished">Editor poznámek</translation>
     </message>
 </context>
-<context>
-    <name>Process</name>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="vanished">%1 nebyl ukončen správně</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="vanished">Vážná chyba</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="vanished">Nepodařilo se spustit %1</translation>
-    </message>
-</context>
 <context>
     <name>QObject</name>
     <message>
+        <location filename="../src/export-html.cpp" line="+313"/>
         <source>Export aborted.</source>
-        <translation>Vyvedení zrušeno.</translation>
+        <translation>Export byl zrušen.</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="+409"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation>Nepodařilo se odstranit cíl starého symbolického odkazu %1</translation>
     </message>
     <message>
+        <location filename="../src/export-base.cpp" line="+63"/>
+        <location filename="../src/file.cpp" line="-75"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+519"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>Chyba</translation>
     </message>
     <message>
+        <location filename="../src/export-html.cpp" line="+15"/>
         <source>Could not find stylesheet %1</source>
         <translation>Nepodařilo se najít stylový list %1</translation>
     </message>
     <message>
+        <location filename="../src/xml-vym.cpp" line="+78"/>
         <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Mapa je novější než VYM&lt;/h3&gt;&lt;p&gt;Mapa, kterou se právě pokoušíte nahrát, byla uložena za použití vymu %1. Verze tohoto vymu je %2. Pokud se po stisknutí tlačítka OK níže dostanete do potíží, aktualizace vymu by měla pomoci.&lt;/p&gt;</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation>Nepodařilo se najít makro v %1.
-</translation>
-    </message>
-    <message>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>Varování: Přepisuje se %1 záložek</translation>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="-90"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation>Nepodařilo se přejmenovat výstup na cíl starého symbolického odkazu %1</translation>
     </message>
     <message>
+        <location filename="../src/export-ao.cpp" line="+27"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+22"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>Vážná chyba při vyvádění</translation>
     </message>
     <message>
+        <location filename="../src/export-ascii.cpp" line="-8"/>
         <source>Export as ASCII</source>
-        <translation>Vyvést jako ASCII</translation>
-    </message>
-    <message>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>Vyvedení %1 záložek přepíše váš
-stávající soubor se záložkami.</translation>
+        <translation>Exportovat jako ASCII</translation>
     </message>
     <message>
+        <location filename="../src/export-orgmode.cpp" line="+1"/>
         <source>Could not export as OrgMode to %1</source>
-        <translation>Nepodařilo se vyvést jako OrgMode do %1</translation>
-    </message>
-    <message>
+        <translation>Nepodařilo se exportovat jako OrgMode do %1</translation>
+    </message>
+    <message>
+        <location filename="../src/export-ao.cpp" line="+2"/>
+        <location filename="../src/export-ascii.cpp" line="+10"/>
+        <location filename="../src/export-csv.cpp" line="+2"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+3"/>
+        <location filename="../src/export-impress.cpp" line="-82"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+1"/>
         <source>Export failed.</source>
-        <translation>Vyvedení se nezdařilo.</translation>
-    </message>
-    <message>
-        <source>Could not copy
-%1 to
-%2</source>
-        <translation type="vanished">Nepodařilo se zkopírovat
-%1 do
-%2</translation>
-    </message>
-    <message>
-        <source>Could not copy %1 to %2</source>
-        <translation>Nepodařilo se zkopírovat %1 do %2</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>Nepodařilo se nalézt skript %1,
-který je nutný pro oznámení prohlížečům,
-že záložky byly změněny.</translation>
+        <translation>Export se nezdařil.</translation>
     </message>
     <message>
+        <location filename="../src/export-base.cpp" line="+61"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
-        <translation>Vyvedení do %1 přepíše stávající soubor:
+        <translation>Export do %1 přepíše stávající soubor:
 %2</translation>
     </message>
     <message>
+        <location filename="../src/export-ao.cpp" line="-1"/>
         <source>Could not export as AO to %1</source>
-        <translation>Nepodařilo se vyvést jako AO do %1</translation>
-    </message>
-    <message>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>Unzip nebyl ukončen správně</translation>
+        <translation>Nepodařilo se exportovat jako AO do %1</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation>Nepodařilo se propojit %1 s cílem starého symbolického odkazu %2</translation>
     </message>
     <message>
+        <location filename="../src/export-csv.cpp" line="-1"/>
         <source>Could not export as CSV to %1</source>
-        <translation>Nepodařilo se vyvést jako CSV do %1</translation>
+        <translation>Nepodařilo se exportovat jako CSV do %1</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="-145"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation>Nepodařilo se přesunout stávající soubor pryč z cesty před uložením.</translation>
     </message>
     <message>
+        <location line="+117"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation>Nepodařilo se přejmenovat %1 zpět na %2</translation>
     </message>
     <message>
+        <location filename="../src/export-ascii.cpp" line="-1"/>
         <source>Could not export as ASCII to %1</source>
-        <translation>Nepodařilo se vyvést jako ASCII do %1</translation>
+        <translation>Nepodařilo se exportovat jako ASCII do %1</translation>
     </message>
     <message>
+        <location filename="../src/export-html.cpp" line="+75"/>
         <source>Could not create %1</source>
         <translation>Nepodařilo se vytvořit %1</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="-304"/>
         <source>Cancel</source>
         <translation>Zrušit</translation>
     </message>
     <message>
+        <location line="+388"/>
+        <location filename="../src/xsltproc.cpp" line="+69"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 nebyl ukončen správně</translation>
     </message>
     <message>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
-        <translation>Nepodařilo se vyvést jako LaTeX do %1</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
-        <translation>Nepodařilo se najít nástroj na rozbalení dat. Stáhněte, prosím, a nainstalujte 7z a nastavte v nabídce Nastavení cestu:</translation>
-    </message>
-    <message>
-        <source>Contents:</source>
-        <translation type="vanished">Obsah:</translation>
+        <translation>Nepodařilo se exportovat jako LaTeX do %1</translation>
     </message>
     <message>
+        <location filename="../src/export-base.cpp" line="-60"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>Nepodařilo se dostat do adresáře s dočasnými soubory
 </translation>
     </message>
     <message>
+        <location filename="../src/export-ao.cpp" line="-13"/>
         <source>(still experimental)</source>
         <translation>(stále pokusné)</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start tool to decompress data.</source>
-        <translation>Nepodařilo se spustit nástroj pro rozbalení dat.</translation>
-    </message>
-    <message>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <translation type="vanished">Varování: Nepodařilo se nalézt klienta pro Bugzillu</translation>
-    </message>
-    <message>
+        <location filename="../src/export-impress.cpp" line="+33"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation>Nepodařilo se přečíst nastavení z &quot;%1&quot;</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="-202"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="-85"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="-7"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>Vážná chyba</translation>
     </message>
     <message>
+        <location filename="../src/export-impress.cpp" line="-149"/>
         <source>Export as LibreOffice Impress presentation</source>
-        <translation>Vyvést jako představení LibreOffice Impress</translation>
+        <translation>Exportotvat jako prezentaci LibreOffice Impress</translation>
     </message>
     <message>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <translation type="vanished">Adresář %1 není prázdný.
-Odvážíte se přepsat jeho obsah?</translation>
-    </message>
-    <message>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
+        <location filename="../src/macros.cpp" line="+47"/>
+        <source>Couldn&apos;t find macros at  %1.
 </source>
-        <translation type="vanished">Nebyl nalezen žádný modul Bugzilly. Pro openSUSE můžete instalovat s (jako správce):
-
-</translation>
+        <comment>Macros::pathExists</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Please use Settings-&gt;</source>
         <translation>Použijte, prosím, Nastavení -&gt;</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
-        <translation>Nepodařilo se uložit &quot;%1&quot;</translation>
-    </message>
-    <message>
+        <location filename="../src/export-html.cpp" line="-1"/>
         <source>Trying to create directory for flags:</source>
         <translation>Zkouší se vytvořit adresář pro příznaky:</translation>
     </message>
     <message>
+        <location line="-100"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation>Zásadní</translation>
     </message>
     <message>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation>Nepodařilo se spustit %1</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>Nepodařilo se spustit zipovací program, takže data nemohla být zabalena (zkomprimována).</translation>
-    </message>
-    <message>
+        <location filename="../src/export-base.cpp" line="+58"/>
         <source>Warning: Overwriting file</source>
         <translation>Varování: Přepisuje se soubor</translation>
     </message>
     <message>
+        <location filename="../src/export-csv.cpp" line="-9"/>
         <source>Export as CSV</source>
-        <translation>Vyvést jako CSV</translation>
+        <translation>Exportovat jako CSV</translation>
     </message>
     <message>
+        <location filename="../src/export-impress.cpp" line="+42"/>
         <source>No objects in map!</source>
         <translation>Žádné předměty v mapě!</translation>
     </message>
     <message>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <translation type="vanished">Coby náhradní řešení můžete pomocí YaST přidat repozitář a
-nainstalovat perlovský modul pro přístup k Bugzille</translation>
-    </message>
-    <message>
+        <location filename="../src/file.cpp" line="-388"/>
         <source>Overwrite</source>
         <translation>Přepsat</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation>Nepodařilo se otevřít &quot;%1&quot;
-%2.</translation>
-    </message>
-    <message>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="-74"/>
+        <location filename="../src/export-impress.cpp" line="+73"/>
         <source>Could not write %1</source>
         <translation>Nepodařilo se zapsat %1</translation>
     </message>
     <message>
+        <location filename="../src/macros.cpp" line="-2"/>
         <source>Warning</source>
         <translation>Varování</translation>
     </message>
     <message>
+        <location filename="../src/export-impress.cpp" line="+46"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>Prověřte, prosím, &quot;%1&quot; v
 %2</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="+224"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>Zip nebyl ukončen správně</translation>
     </message>
     <message>
+        <location filename="../src/export-confluence.cpp" line="-1"/>
+        <location filename="../src/export-html.cpp" line="-1"/>
         <source>Trying to save HTML file:</source>
         <translation>Zkouší se uložit soubor HTML:</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>Nepodařilo se spustit unzip, aby data mohla být rozbalena (dekomprimována).</translation>
-    </message>
-    <message>
+        <location filename="../src/export-impress.cpp" line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>Nepodařilo se přečíst %1</translation>
     </message>
     <message>
+        <location filename="../src/macros.cpp" line="+3"/>
         <source>Set directory for vym macros</source>
         <translation>Nastavit adresář pro makra programu vym</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="+59"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation>Uloženo %1, ale nepodařilo se odstranit %2</translation>
     </message>
     <message>
+        <location filename="../src/xml-vym.cpp" line="-10"/>
         <source>Warning: Version Problem</source>
         <translation>Varování: Potíže s verzí</translation>
     </message>
     <message>
+        <location filename="../src/export-html.cpp" line="-13"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation>Chyba</translation>
     </message>
     <message>
+        <location filename="../src/export-confluence.cpp" line="-58"/>
+        <location filename="../src/export-html.cpp" line="-79"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
-        <translation type="unfinished">Obsah:</translation>
+        <translation>Obsah:</translation>
     </message>
     <message>
+        <location filename="../src/export-html.cpp" line="+80"/>
         <source>Could not copy
 %1 to
 %2</source>
         <comment>ExportHTML</comment>
-        <translation type="unfinished">Nepodařilo se zkopírovat
+        <translation>Nepodařilo se zkopírovat
 %1 do
 %2</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="-354"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
-        <translation type="unfinished">Adresář %1 není prázdný.
-Odvážíte se přepsat jeho obsah?</translation>
+        <translation>Adresář %1 není prázdný.
+Risknete přepsat jeho obsah?</translation>
     </message>
     <message>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
+        <location filename="../src/export-html.cpp" line="-280"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/file.cpp" line="+386"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
 </source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation type="unfinished">Nebyl nalezen žádný modul Bugzilly. Pro openSUSE můžete instalovat s (jako správce):
-
-</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
       <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation type="unfinished">Coby náhradní řešení můžete pomocí YaST přidat repozitář a
-nainstalovat perlovský modul pro přístup k Bugzille</translation>
+        <location filename="../src/main.cpp" line="+1"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
</source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
-        <translation type="unfinished">Varování: Nepodařilo se nalézt klienta pro Bugzillu</translation>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
     <message>
-        <source>Run</source>
-        <translation>Spustit</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Form</source>
-        <translation>Formulář</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/export-ao.cpp" line="-1"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/file.cpp" line="-168"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Load</source>
-        <translation>Nahrát</translation>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save</source>
-        <translation>Uložit</translation>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation>Nepodařilo se otevřít %1.</translation>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Error</source>
-        <translation>Chyba</translation>
+        <location filename="../src/main.cpp" line="-85"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Macro</source>
-        <translation type="vanished">Makro</translation>
+        <location filename="../src/mainwindow.cpp" line="-3288"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Slide</source>
-        <translation type="vanished">Snímek</translation>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
     <message>
-        <source>Tab 1</source>
-        <translation>Karta 1</translation>
+        <source>Run</source>
+        <translation type="vanished">Spustit</translation>
     </message>
     <message>
-        <source>Tab 2</source>
-        <translation>Karta 2</translation>
+        <source>Form</source>
+        <translation type="vanished">Formulář</translation>
     </message>
     <message>
-        <source>Current key:</source>
-        <translation>Nynější klávesa:</translation>
+        <source>Load</source>
+        <translation type="vanished">Nahrát</translation>
     </message>
     <message>
         <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation>Uložit</translation>
+        <translation type="vanished">Uložit</translation>
     </message>
     <message>
+        <location filename="../src/scripteditor.cpp" line="+26"/>
         <source>Cancel</source>
         <translation>Zrušit</translation>
     </message>
     <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <translation type="vanished">Soubor %1 již existuje.
-Chcete jej přepsat?</translation>
-    </message>
-    <message>
+        <location line="-15"/>
         <source>Save script</source>
         <translation>Uložit skript</translation>
     </message>
     <message>
+        <location line="-43"/>
         <source>Load script</source>
         <translation>Nahrát skript</translation>
     </message>
     <message>
+        <location line="-55"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation>Nepodařilo se získat model pro uložení skriptu do snímku!</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation>Nepodařilo se najít snímek pro uložení skriptu do snímku!</translation>
     </message>
     <message>
         <source>Save to selected slide</source>
-        <translation>Uložit do vybraného snímku</translation>
+        <translation type="vanished">Uložit do vybraného snímku</translation>
     </message>
     <message>
+        <location line="+105"/>
         <source>Overwrite</source>
         <translation>Přepsat</translation>
     </message>
     <message>
+        <location line="-113"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation>Varování</translation>
     </message>
     <message>
+        <location line="-42"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
-        <translation type="unfinished">Snímek</translation>
+        <translation>Snímek</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
-        <translation type="unfinished">Makro</translation>
+        <translation>Makro</translation>
     </message>
     <message>
+        <location line="+142"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
         <comment>dialog &apos;save as&apos;</comment>
-        <translation type="unfinished">Soubor %1 již existuje.
+        <translation>Soubor %1
+již existuje.
 Chcete jej přepsat?</translation>
     </message>
-</context>
-<context>
-    <name>ShowTextDialog</name>
-    <message>
-        <source>Close</source>
-        <translation>Zavřít</translation>
-    </message>
-    <message>
-        <source>Dialog</source>
-        <translation>Dialog</translation>
-    </message>
-</context>
-<context>
-    <name>TaskEditor</name>
-    <message>
-        <source>Active tasks</source>
-        <translation type="vanished">Činné úkoly</translation>
-    </message>
     <message>
-        <source>New tasks</source>
-        <translation type="vanished">Nové úkoly</translation>
+        <source>Reload</source>
+        <translation type="obsolete">Nahrát znovu</translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <translation type="vanished">Upravit popis větve</translation>
+        <location line="-141"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Current map</source>
-        <translation type="vanished">Nynější mapa</translation>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">Nynější mapa</translation>
+        <location line="+72"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">Činné úkoly</translation>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ShowTextDialog</name>
     <message>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">Nové úkoly</translation>
+        <source>Close</source>
+        <translation type="vanished">Zavřít</translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">Upravit popis větve</translation>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
     </message>
 </context>
 <context>
-    <name>TaskModel</name>
-    <message>
-        <source>Map</source>
-        <translation type="vanished">Mapa</translation>
-    </message>
+    <name>TaskEditor</name>
     <message>
-        <source>Prio</source>
-        <translation type="vanished">Přednost</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Task</source>
-        <translation type="vanished">Úkol</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Sleep</source>
-        <translation type="vanished">Spánek</translation>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Status</source>
-        <translation type="vanished">Stav</translation>
+        <location line="+18"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Age total</source>
-        <translation type="vanished">Stáří celkem</translation>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Age mod.</source>
-        <translation type="vanished">Stáří změny</translation>
+        <location line="-29"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TaskModel</name>
     <message>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
-        <translation type="unfinished">Přednost</translation>
+        <translation>Prio</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
-        <translation type="unfinished">Stav</translation>
+        <translation>Stav</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
-        <translation type="unfinished">Stáří celkem</translation>
+        <translation>Stáří celkem</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
-        <translation type="unfinished">Stáří změny</translation>
+        <translation>Stáří změny</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
-        <translation type="unfinished">Spánek</translation>
+        <translation>Spánek</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
-        <translation type="unfinished">Mapa</translation>
+        <translation>Mapa</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
-        <translation type="unfinished">Úkol</translation>
+        <translation>Úkol</translation>
+    </message>
+    <message>
+        <location line="-14"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TextEditor</name>
     <message>
+        <location filename="../src/texteditor.cpp" line="+396"/>
         <source>Cu&amp;t</source>
         <translation>Vyj&amp;mout</translation>
     </message>
     <message>
+        <location line="+87"/>
         <source>&amp;Bold</source>
         <translation>&amp;Tučné</translation>
     </message>
     <message>
+        <location line="-96"/>
         <source>&amp;Copy</source>
         <translation>&amp;Kopírovat</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">&amp;Úpravy</translation>
-    </message>
-    <message>
+        <location line="+155"/>
         <source>&amp;Left</source>
         <translation>&amp;Vlevo</translation>
     </message>
     <message>
+        <location line="-173"/>
         <source>&amp;Redo</source>
         <translation>&amp;Znovu</translation>
     </message>
     <message>
+        <location line="-9"/>
         <source>&amp;Undo</source>
         <translation>&amp;Zpět</translation>
     </message>
     <message>
+        <location line="-3"/>
         <source>Edi&amp;t</source>
         <translation>&amp;Upravit</translation>
     </message>
     <message>
-        <source>Fonts</source>
-        <translation type="vanished">Písma</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <translation type="vanished">Tisk</translation>
-    </message>
-    <message>
-        <source>Ready</source>
-        <translation type="vanished">Připraven</translation>
-    </message>
-    <message>
+        <location line="-60"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>&amp;Poznámka</translation>
     </message>
     <message>
+        <location line="+286"/>
         <source>&amp;fixed font is default</source>
         <translation>Používat písmo s &amp;pevnou šířkou jako výchozí</translation>
     </message>
     <message>
+        <location line="-23"/>
         <source>&amp;Justify</source>
         <translation>&amp;Zarovnat do bloku</translation>
     </message>
     <message>
+        <location line="-155"/>
         <source>&amp;Paste</source>
         <translation>&amp;Vložit</translation>
     </message>
     <message>
+        <location line="+149"/>
         <source>&amp;Right</source>
         <translation>&amp;Vpravo</translation>
     </message>
     <message>
+        <location line="-259"/>
         <source>Note Actions</source>
         <translation>Činnosti poznámek</translation>
     </message>
     <message>
+        <location line="+59"/>
         <source>Edit Actions</source>
         <translation>Činnosti úprav</translation>
     </message>
     <message>
-        <source>No filename available for this note.</source>
-        <translation type="vanished">Poznámka nemá žádný souborový název.</translation>
-    </message>
-    <message>
+        <location line="+443"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Zrušit</translation>
     </message>
     <message>
-        <source>Format</source>
-        <translation type="vanished">Formát</translation>
-    </message>
-    <message>
-        <source>Text Editor</source>
-        <translation type="vanished">Textový editor</translation>
-    </message>
-    <message>
+        <location line="-266"/>
         <source>Note Editor</source>
         <translation>Editor poznámek</translation>
     </message>
     <message>
+        <location line="-182"/>
         <source>&amp;Font hint</source>
         <translation>Naznačení &amp;písma</translation>
     </message>
     <message>
+        <location line="+123"/>
         <source>C&amp;enter</source>
         <translation>&amp;Na střed</translation>
     </message>
     <message>
+        <location line="-31"/>
         <source>Subs&amp;cript</source>
         <translation>&amp;Dolní index</translation>
     </message>
     <message>
+        <location line="-40"/>
         <source>&amp;Color...</source>
         <translation>B&amp;arva...</translation>
     </message>
     <message>
-        <source>Font hints</source>
-        <translation type="vanished">Rady pro písma</translation>
-    </message>
-    <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <translation type="vanished">Soubor %1 již existuje.
-Chcete jej přepsat?</translation>
-    </message>
-    <message>
+        <location line="-156"/>
         <source>Export &amp;As... (HTML)</source>
-        <translation>Vyvést poznámku &amp;jako... (HTML)</translation>
+        <translation>Exportovat &amp;jako... (HTML)</translation>
     </message>
     <message>
+        <location line="-10"/>
         <source>&amp;Export...</source>
-        <translation>&amp;Vyvést...</translation>
+        <translation>&amp;Exportovat...</translation>
     </message>
     <message>
+        <location line="-10"/>
         <source>&amp;Import...</source>
-        <translation>&amp;Zavést...</translation>
+        <translation>&amp;Importovat...</translation>
     </message>
     <message>
+        <location line="+120"/>
         <source>F&amp;ormat</source>
         <translation>F&amp;ormát</translation>
     </message>
     <message>
+        <location line="-85"/>
         <source>&amp;Print...</source>
         <translation>&amp;Tisk...</translation>
     </message>
     <message>
+        <location line="-10"/>
         <source>Export &amp;As...(ASCII)</source>
-        <translation>Vyvést &amp;jako (ASCII)</translation>
-    </message>
-    <message>
-        <source>Texteditor</source>
-        <translation type="vanished">Editor textu</translation>
+        <translation>Exportovat &amp;jako (ASCII)</translation>
     </message>
     <message>
+        <location line="+177"/>
         <source>&amp;Underline</source>
         <translation>&amp;Podtržení</translation>
     </message>
     <message>
+        <location line="-10"/>
         <source>&amp;Italic</source>
         <translation>&amp;Kurzíva</translation>
     </message>
     <message>
+        <location line="+85"/>
         <source>Set &amp;variable font</source>
         <translation>Zvolit písmo s p&amp;roměnlivou šířkou</translation>
     </message>
     <message>
+        <location line="-199"/>
         <source>Select and copy &amp;all</source>
         <translation>Vybrat a kopírovat &amp;vše</translation>
     </message>
     <message>
+        <location line="+148"/>
         <source>Su&amp;perscript</source>
         <translation>&amp;Horní index</translation>
     </message>
     <message>
+        <location line="-183"/>
         <source>&amp;Delete All</source>
         <translation>&amp;Smazat vše</translation>
     </message>
     <message>
+        <location line="+472"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
-        <translation>Nepodařilo se vyvést poznámku </translation>
+        <translation>Nepodařilo se exportovat poznámku </translation>
     </message>
     <message>
+        <location line="-20"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>Přepsat</translation>
     </message>
     <message>
+        <location line="-302"/>
         <source>&amp;Settings</source>
         <translation>&amp;Nastavení</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation>Zvolit písmo s &amp;pevnou šířkou</translation>
     </message>
     <message>
+        <location line="+208"/>
         <source>Export Note to single file</source>
-        <translation>Vyvést poznámku do souboru</translation>
+        <translation>Exportovat poznámku do souboru</translation>
     </message>
     <message>
+        <location line="+76"/>
         <source>Export Note to single file (ASCII)</source>
-        <translation>Vyvést poznámku do souboru jako ASCII</translation>
+        <translation>Exportovat poznámku do souboru jako ASCII</translation>
     </message>
     <message>
+        <location line="-420"/>
         <source>&amp;Richtext</source>
         <translation>&amp;Bohatý text</translation>
     </message>
     <message>
+        <location line="-386"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
-        <translation type="unfinished">Připraven</translation>
-    </message>
-    <message>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation type="unfinished">Textový editor</translation>
+        <translation>Připraven</translation>
     </message>
     <message>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
-        <translation type="unfinished">Poznámka nemá žádný souborový název.</translation>
+        <translation>Poznámka nemá žádný název souboru.</translation>
     </message>
     <message>
+        <location line="+87"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
-        <translation type="unfinished">Editor textu</translation>
+        <translation>Editor textu</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished">Rady pro písma</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
-        <translation type="unfinished">Písma</translation>
+        <translation>Písma</translation>
     </message>
     <message>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
-        <translation type="unfinished">Formát</translation>
+        <translation>Formát</translation>
     </message>
     <message>
+        <location line="+319"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
         <comment>dialog &apos;save note as&apos;</comment>
-        <translation type="unfinished">Soubor %1 již existuje.
+        <translation>Soubor %1
+již existuje.
 Chcete jej přepsat?</translation>
     </message>
     <message>
+        <location line="+35"/>
         <source>Print</source>
         <comment>TextEditor</comment>
-        <translation type="unfinished">Tisk</translation>
+        <translation>Tisk</translation>
     </message>
-</context>
-<context>
-    <name>TreeEditor</name>
     <message>
-        <source>Select lower object</source>
-        <translation type="vanished">Vybrat dolní předmět</translation>
+        <location line="-310"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select upper object</source>
-        <translation type="vanished">Vybrat horní předmět</translation>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TreeEditor</name>
     <message>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished">Vybrat horní předmět</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished">Vybrat dolní předmět</translation>
@@ -3845,221 +3885,182 @@ Chcete jej přepsat?</translation>
 <context>
     <name>VymModel</name>
     <message>
-        <source>All</source>
-        <translation type="vanished">Vše</translation>
-    </message>
-    <message>
-        <source>Note</source>
-        <translation type="vanished">Poznámka</translation>
-    </message>
-    <message>
+        <location filename="../src/vymmodel.cpp" line="-3609"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation>Vážná chyba při zpracování</translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation>ponechat nezkomprimovanou</translation>
-    </message>
-    <message>
-        <source>Image</source>
-        <translation type="vanished">Obrázek</translation>
-    </message>
-    <message>
+        <location line="+4462"/>
         <source>Load background image</source>
         <translation>Nahrát obrázek pozadí</translation>
     </message>
     <message>
+        <location line="-645"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation>Nepodařilo se uložit obrázek %1 ve formátu %2</translation>
     </message>
     <message>
+        <location line="-3515"/>
         <source>Critical Import Error</source>
         <translation>Vážná chyba při zavádění</translation>
     </message>
     <message>
+        <location line="+3681"/>
         <source>Critical Export Error</source>
         <translation>Vážná chyba při vyvádění</translation>
     </message>
     <message>
+        <location line="-3542"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation>Nepodařilo se vytvořit uzamykací soubor. Mapa bude otevřena jen pro čtení.</translation>
     </message>
     <message>
-        <source>Unsupported format in %1</source>
-        <translation>Nepodporovaný formát v %1</translation>
-    </message>
-    <message>
+        <location line="-381"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation>Zrušit</translation>
     </message>
     <message>
-        <source>Map seems to be already opened in another vym instance! It will be opened in readonly mode.
-
-Map is locked by &quot;%1&quot; on &quot;%2&quot;</source>
-        <translation type="vanished">Zdá se, že mapa je již otevřena v jiné instanci VYMu! Bude otevřena v režimu pouze pro čtení.
-
-Mapa je uzamknuta &quot;%1&quot; na &quot;%2&quot;</translation>
-    </message>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">Nová mapa</translation>
-    </message>
-    <message>
+        <location line="+296"/>
         <source>Ignore</source>
         <translation>Nebrat v úvahu</translation>
     </message>
     <message>
+        <location line="-378"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation>Obrázky</translation>
     </message>
     <message>
+        <location line="-3902"/>
         <source>Reload</source>
         <translation>Nahrát znovu</translation>
     </message>
     <message>
+        <location line="+3511"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation>(stále pokusné)</translation>
     </message>
     <message>
+        <location line="-158"/>
         <source>Export XML to directory</source>
-        <translation>Vyvést XML do adresáře</translation>
+        <translation>Exportovat XML do adresáře</translation>
     </message>
     <message>
+        <location line="-3828"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation>Před uložením se nepodařilo vytvořit dočasný adresář
 </translation>
     </message>
     <message>
+        <location line="+78"/>
         <source>Load image</source>
         <translation>Nahrát obrázek</translation>
     </message>
     <message>
+        <location line="-309"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation>Před nahráním se nepodařilo vytvořit dočasný adresář
 </translation>
     </message>
     <message>
-        <source>Exported: </source>
-        <translation type="vanished">Vyvedeno: </translation>
-    </message>
-    <message>
+        <location line="+375"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation>Soubor %1 již existuje.
 Chcete jej přepsat?</translation>
     </message>
     <message>
+        <location line="-158"/>
         <source>%1
 could not be renamed before saving</source>
         <translation>%1
 se nepodařilo přejmenovat před uložením</translation>
     </message>
     <message>
+        <location line="+179"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation>Vážná chyba</translation>
     </message>
     <message>
+        <location line="-3730"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation>Chyba při ukládání</translation>
     </message>
     <message>
+        <location line="+351"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation>Varování</translation>
     </message>
     <message>
+        <location line="-199"/>
         <source>Save image</source>
         <translation>Speichere Bild</translation>
     </message>
     <message>
-        <source>Warning: Map already opended</source>
-        <translation type="vanished">Varování: Mapa je již otevřena</translation>
-    </message>
-    <message>
-        <source>Script aborted:
-%1</source>
-        <translation>Skript zrušen:
-%1</translation>
-    </message>
-    <message>
-        <source>Redo failed:
-%1</source>
-        <translation>Návrat o krok vpřed (Znovu) se nezdařil:
-%1</translation>
-    </message>
-    <message>
-        <source>Undo failed:
-%1</source>
-        <translation type="vanished">Návrat o krok zpět se nezdařil:
-%1</translation>
-    </message>
-    <message>
+        <location line="+108"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
-        <translation>Vybrat adresář pro zavedení</translation>
+        <translation>Vybrat adresář pro import</translation>
     </message>
     <message>
+        <location line="-250"/>
         <source>Critical Save Error</source>
         <translation>Vážná chyba při ukládání</translation>
     </message>
     <message>
+        <location line="+3959"/>
+        <location line="+27"/>
         <source>Export as csv</source>
-        <translation>Vyvést jako CSV</translation>
+        <translation>Exportovat jako CSV</translation>
     </message>
     <message>
+        <location line="-3342"/>
         <source>Autosave disabled during undo.</source>
         <translation>Automatické ukládání zakázáno během kroku &quot;Zpět&quot;.</translation>
     </message>
     <message>
+        <location line="-477"/>
         <source>Couldn&apos;t save %1</source>
         <translation>Nepodařilo se uložit %1</translation>
     </message>
     <message>
+        <location line="-398"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation>Vážná chyba při nahrávání</translation>
     </message>
     <message>
-        <source>unknown user</source>
-        <translation type="vanished">Neznámý uživatel</translation>
-    </message>
-    <message>
+        <location line="+1"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation>V souboru vym se nepodařilo najít žádnou mapu (*.xml).
 </translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation>Mapa %1
-byla uložena, aniž by byla zkomprimována (zabalena do menšího souboru),
-takže není v obvyklém formátu používaném programem vym.
-Bude-li uložena nezkomprimovaná, budou uloženy i obrázky a příznaky,
-čímž mohou být přepsány soubory v daném adresáři.
-
-Chcete mapu
-</translation>
-    </message>
-    <message>
+        <location line="-425"/>
         <source>unnamed</source>
         <translation>nepojmenovaný</translation>
     </message>
     <message>
-        <source>Export map as scalable vector graphic</source>
-        <translation type="vanished">Vyvést mapu jako škálovatelnou vektorovou grafiku</translation>
-    </message>
-    <message>
+        <location line="+760"/>
         <source>Overwrite</source>
         <translation>Přepsat</translation>
     </message>
     <message>
+        <location line="+288"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -4072,111 +4073,157 @@ Do you want to reload that map with the new file?</source>
 Chcete mapu nahrát znovu s novým souborem?</translation>
     </message>
     <message>
-        <source>Contacting Bugzilla...</source>
-        <translation type="vanished">Spojuje se s Bugzillou...</translation>
-    </message>
-    <message>
+        <location line="-122"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation>Varování</translation>
     </message>
     <message>
+        <location line="-3379"/>
         <source>compressed (vym default)</source>
         <translation>zapsat zkomprimovanou (výchozí pro vym)</translation>
     </message>
     <message>
+        <location line="+3742"/>
         <source>Export map as image</source>
-        <translation>Vyvést mapu jako obrázek</translation>
+        <translation>Exportovat mapu jako obrázek</translation>
     </message>
     <message>
+        <location line="-3495"/>
         <source>Cannot find the directory %1</source>
         <translation>Nepodařilo se najít adresář %1</translation>
     </message>
     <message>
+        <location line="-216"/>
         <source>%1
 could not be removed before saving</source>
         <translation>%1
 se nepodařilo odstranit před uložením</translation>
     </message>
     <message>
+        <location line="+3842"/>
         <source>Export map as XML</source>
-        <translation>Vyvést mapu jako XML</translation>
+        <translation>Exportovat mapu jako XML</translation>
     </message>
     <message>
+        <location line="-33"/>
         <source>Export map as SVG</source>
-        <translation>Vyvést mapu jako SVG</translation>
+        <translation>Exportovat mapu jako SVG</translation>
     </message>
     <message>
+        <location line="-55"/>
         <source>Export map as PDF</source>
-        <translation>Vyvést mapu jako PDF</translation>
+        <translation>Exportovat mapu jako PDF</translation>
     </message>
     <message>
+        <location line="-3457"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation>Neznámý uživatel</translation>
     </message>
     <message>
+        <location line="-909"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
-        <translation type="unfinished">Neznámý uživatel</translation>
+        <translation>Neznámý uživatel</translation>
     </message>
     <message>
+        <location line="+707"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
-        <translation type="unfinished">Vše</translation>
+        <translation>Vše</translation>
     </message>
     <message>
+        <location line="+179"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
-        <translation type="unfinished">Varování: Mapa je již otevřena</translation>
+        <translation>Varování: Mapa je již otevřena</translation>
     </message>
     <message>
+        <location line="+1078"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
-        <translation type="unfinished">Poznámka</translation>
-    </message>
-    <message>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished">Obrázek</translation>
+        <translation>Poznámka</translation>
     </message>
     <message>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
-        <translation type="unfinished">Nová mapa</translation>
-    </message>
-    <message>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation type="unfinished">Spojuje se s Bugzillou...</translation>
+        <translation>Nová mapa</translation>
     </message>
     <message>
+        <location line="-2113"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
 
 Please only delete the lockfile, if you are sure nobody else is currently working on this map.</source>
-        <translation type="unfinished"></translation>
+        <translation>Zdá se, že mapa je již otevřena v jiné instanci VYMu!
+
+ Mapu uzamknul &quot;%1&quot; na &quot;%2&quot;
+
+Pokud si jste jisti, že na mapě nikdo jiný již nepracuje, prosím, pouze smažte soubor zámku.</translation>
     </message>
     <message>
+        <location line="-41"/>
         <source>Removed lockfile for %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Odstraněn soubor zámku pro %1</translation>
     </message>
     <message>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
+        <translation>Soubor zámku nelze odstranit %1</translation>
+    </message>
+    <message>
+        <location line="+3048"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-3428"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3405"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+98"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>VymProcess</name>
     <message>
+        <location filename="../src/vymprocess.cpp" line="+46"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 nebyl ukončen správně</translation>
     </message>
     <message>
+        <location line="-6"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation>Vážná chyba</translation>
     </message>
     <message>
+        <location line="-4"/>
         <source>Could not start %1</source>
         <translation>Nepodařilo se spustit %1</translation>
     </message>
@@ -4184,49 +4231,98 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
 <context>
     <name>VymView</name>
     <message>
-        <source>Slide Editor</source>
-        <translation type="vanished">Editor snímků</translation>
-    </message>
-    <message>
-        <source>Tree Editor</source>
-        <translation type="vanished">Editor stromu</translation>
-    </message>
-    <message>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
-        <translation type="unfinished">Editor stromu</translation>
+        <translation>Editor stromu</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
-        <translation type="unfinished">Editor snímků</translation>
+        <translation>Editor snímků</translation>
     </message>
 </context>
 <context>
     <name>WarningDialog</name>
     <message>
         <source>Ok</source>
-        <translation>OK</translation>
+        <translation type="vanished">OK</translation>
     </message>
     <message>
+        <location filename="../src/warningdialog.cpp" line="+12"/>
         <source>Show this message again</source>
         <translation>Toto hlášení ukázat ještě jednou</translation>
     </message>
     <message>
+        <location line="+39"/>
         <source>Cancel</source>
         <translation>Zrušit</translation>
     </message>
     <message>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation>Pokračovat</translation>
     </message>
     <message>
         <source>showAgainBox</source>
-        <translation>BoxUkázatZnovu</translation>
+        <translation type="vanished">BoxUkázatZnovu</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">Varování</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Status</source>
+        <translation type="obsolete">Stav</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Zavřít</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 </TS>
diff --git a/lang/vym.de.ts b/lang/vym.de.ts
new file mode 100644 (file)
index 0000000..f598f8a
--- /dev/null
@@ -0,0 +1,4501 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="de_DE">
+<context>
+    <name>AboutDialog</name>
+    <message>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
+        <source>Credits</source>
+        <comment>Help-&gt;About vym dialog</comment>
+        <translation>Mitwirkende</translation>
+    </message>
+    <message>
+        <location line="+350"/>
+        <source>License</source>
+        <comment>Help-&gt;About vym dialog</comment>
+        <translation>Lizenz</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Ok</source>
+        <comment>Ok Button</comment>
+        <translation>Ok</translation>
+    </message>
+</context>
+<context>
+    <name>AboutTextBrowser</name>
+    <message>
+        <location line="+21"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>Bitte setzen sie einen Pfad in Einstellungen-&gt;</translation>
+    </message>
+    <message>
+        <location line="-3"/>
+        <source>Warning</source>
+        <comment>About window</comment>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Couldn&apos;t find a viewer to open %1.
+</source>
+        <comment>About window</comment>
+        <translation>Konnte kein Programm zum Öffnen von %1 finden.</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set application to open an URL...</source>
+        <translation>Anwendung zum Offnen einer URL...</translation>
+    </message>
+</context>
+<context>
+    <name>AttributeDialog</name>
+    <message>
+        <source>Close</source>
+        <translation type="vanished">Schliessen</translation>
+    </message>
+    <message>
+        <source>Attributes</source>
+        <translation type="vanished">Attribute</translation>
+    </message>
+    <message>
+        <source>Add key</source>
+        <translation type="vanished">Schlüssel hinzufügen</translation>
+    </message>
+</context>
+<context>
+    <name>BranchPropertyEditor</name>
+    <message>
+        <source>Branch Property Editor</source>
+        <translation type="vanished">Zweig Eigenschaften</translation>
+    </message>
+    <message>
+        <source>Frame</source>
+        <translation type="vanished">Rahmen</translation>
+    </message>
+    <message>
+        <source>Geometry</source>
+        <translation type="vanished">Geometrie</translation>
+    </message>
+    <message>
+        <source>No Frame</source>
+        <translation type="vanished">Kein Rahmen</translation>
+    </message>
+    <message>
+        <source>Rectangle</source>
+        <translation type="vanished">Rechteck</translation>
+    </message>
+    <message>
+        <source>Rounded Rectangle</source>
+        <translation type="vanished">Rechteck, gerundet</translation>
+    </message>
+    <message>
+        <source>Ellipse</source>
+        <translation type="vanished">Ellipse</translation>
+    </message>
+    <message>
+        <source>Cloud</source>
+        <translation type="vanished">Wolke</translation>
+    </message>
+    <message>
+        <source>Padding</source>
+        <translation type="vanished">Abstand</translation>
+    </message>
+    <message>
+        <source>Borderline width</source>
+        <translation type="vanished">Stärke Begrenzungslinie</translation>
+    </message>
+    <message>
+        <source>Include children</source>
+        <translation type="vanished">Unterzweige mit einrahmen</translation>
+    </message>
+    <message>
+        <source>Colors</source>
+        <translation type="vanished">Farben</translation>
+    </message>
+    <message>
+        <source>Borderline color</source>
+        <translation type="vanished">Farbe Begrenzungslinie</translation>
+    </message>
+    <message>
+        <source>Background color</source>
+        <translation type="vanished">Hintergrundfarbe</translation>
+    </message>
+    <message>
+        <source>Layout</source>
+        <translation type="vanished">Layout</translation>
+    </message>
+    <message>
+        <source>Include images horizontally</source>
+        <translation type="vanished">Linke und rechte Bildkanten berücksichtigen</translation>
+    </message>
+    <message>
+        <source>Include images vertically</source>
+        <translation type="vanished">Obere und untere Bildkanten berücksichtigen</translation>
+    </message>
+    <message>
+        <source>Free positioning of children (experimental!)</source>
+        <translation type="vanished">Unterzweige frei positionieren (experimentell!)</translation>
+    </message>
+    <message>
+        <source>Task</source>
+        <translation type="vanished">Aufgabe</translation>
+    </message>
+    <message>
+        <source>Delta priority</source>
+        <extracomment>Manual delta added to priority of task in branch prop editor</extracomment>
+        <translation type="vanished">Delta Priorität</translation>
+    </message>
+    <message>
+        <source>Created:</source>
+        <translation type="vanished">Angelegt:</translation>
+    </message>
+    <message>
+        <source>Modified:</source>
+        <translation type="vanished">Verändert:</translation>
+    </message>
+    <message>
+        <source>Sleep:</source>
+        <translation type="vanished">Wiedervorlage:</translation>
+    </message>
+    <message>
+        <source>Link</source>
+        <translation type="vanished">Verbindung</translation>
+    </message>
+    <message>
+        <source>Hide link if unselected</source>
+        <translation type="vanished">Verbindung verbergen, falls nicht selektiert</translation>
+    </message>
+    <message>
+        <source>Attributes</source>
+        <translation type="vanished">Attribute</translation>
+    </message>
+    <message>
+        <source>+</source>
+        <translation type="vanished">+</translation>
+    </message>
+    <message>
+        <source>-</source>
+        <translation type="vanished">-</translation>
+    </message>
+    <message>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
+        <source>Property Editor</source>
+        <comment>Window caption</comment>
+        <translation>Eigenschaften</translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
+        <translation>Name</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
+        <translation>Wert</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
+        <translation>Typ</translation>
+    </message>
+    <message>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation>vor %1 Tagen</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation>Wiedervorlage in %1 Tagen</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation>Aufgabe ist aktiv</translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
+    <message>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation>Authentifizierungsproblem beim Versuch Confluence zu kontaktieren</translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
+    <message>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation>Confluence Einstellungen</translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
+    </message>
+    <message>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation>Confluence Benutzer suchen</translation>
+    </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
+    </message>
+    <message>
+        <source>URL:</source>
+        <translation type="vanished">URL:</translation>
+    </message>
+    <message>
+        <source>Username:</source>
+        <translation type="vanished">Benutzername:</translation>
+    </message>
+    <message>
+        <source>Password:</source>
+        <translation type="vanished">Passwort:</translation>
+    </message>
+    <message>
+        <source>Save password</source>
+        <translation type="vanished">Passwort speichern</translation>
+    </message>
+    <message>
+        <source>Credentials dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="vanished">Zugangsdaten</translation>
+    </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
+    <message>
+        <source>Dark theme settings</source>
+        <translation type="vanished">Einstellungen für dunkles Design</translation>
+    </message>
+    <message>
+        <source>Dark theme</source>
+        <translation type="vanished">Dunkles Design</translation>
+    </message>
+    <message>
+        <source>Always use dark theme</source>
+        <translation type="vanished">Immer dunkles Design verwenden</translation>
+    </message>
+    <message>
+        <source>System settings for dark theme</source>
+        <translation type="vanished">System Einstellungen für dunkles Design verwenden</translation>
+    </message>
+    <message>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation>Dunkles Design Einstellungen</translation>
+    </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
+    <message>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation>Default map setzen, die beim Start geladen wird</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadAgent</name>
+    <message>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
+        <source>Warning</source>
+        <translation>Warnung</translation>
+    </message>
+</context>
+<context>
+    <name>EditXLinkDialog</name>
+    <message>
+        <source>Edit XLink</source>
+        <translation type="vanished">xLink ändern</translation>
+    </message>
+    <message>
+        <source>Arrow begin:</source>
+        <translation type="vanished">Pfeilschaft</translation>
+    </message>
+    <message>
+        <source>XLink width:</source>
+        <translation type="vanished">xLink Dicke:</translation>
+    </message>
+    <message>
+        <source>Use color of heading</source>
+        <translation type="vanished">Farbe der Beschriftung verwenden</translation>
+    </message>
+    <message>
+        <source>Line style:</source>
+        <extracomment>Linestyle in Edit XLink dialog</extracomment>
+        <translation type="vanished">Stil der Verbindungslinie</translation>
+    </message>
+    <message>
+        <source>Arrow end:</source>
+        <translation type="vanished">Pfeilspitze</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="vanished">Schliessen</translation>
+    </message>
+    <message>
+        <source>XLink color:</source>
+        <translation type="vanished">Farbe xLink:</translation>
+    </message>
+    <message>
+        <source>Use as default:</source>
+        <translation type="vanished">Als Standard verwenden:</translation>
+    </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
+    <message>
+        <source>Export Confluence</source>
+        <translation type="vanished">Exportiere nach Confluence</translation>
+    </message>
+    <message>
+        <source>Create new page</source>
+        <translation type="vanished">Neue Seite anlegen</translation>
+    </message>
+    <message>
+        <source>Update existing page</source>
+        <translation type="vanished">Bestehende Seite updaten</translation>
+    </message>
+    <message>
+        <source>Options</source>
+        <translation type="vanished">Optionen</translation>
+    </message>
+    <message>
+        <source>Use heading of first map center as page name</source>
+        <translation type="vanished">Verwende Beschriftung des ersten Zentrums als Seitenname</translation>
+    </message>
+    <message>
+        <source>Image of map</source>
+        <translation type="vanished">Bild der vym map</translation>
+    </message>
+    <message>
+        <source>Include images</source>
+        <translation type="vanished">Bilder verwenden</translation>
+    </message>
+    <message>
+        <source>Table of contents</source>
+        <translation type="vanished">Inhaltsverzeichnis</translation>
+    </message>
+    <message>
+        <source>Task flags</source>
+        <translation type="vanished">Flags der Aufgaben</translation>
+    </message>
+    <message>
+        <source>General flags</source>
+        <translation type="vanished">Allgemeine Flags</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="vanished">Farbe der Zweigbeschriftungen übernehmen</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="vanished">Einstellungen in map speichern</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">Abbrechen</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="vanished">Exportieren</translation>
+    </message>
+</context>
+<context>
+    <name>ExportHTMLDialog</name>
+    <message>
+        <source>Export HTML</source>
+        <translation type="vanished">Exportiere HTML</translation>
+    </message>
+    <message>
+        <source>Export to directory:</source>
+        <translation type="vanished">Export Verzeichnis:</translation>
+    </message>
+    <message>
+        <source>Browse</source>
+        <translation type="vanished">Durchsuchen</translation>
+    </message>
+    <message>
+        <source>Options</source>
+        <translation type="vanished">Optionen</translation>
+    </message>
+    <message>
+        <source>Image of map</source>
+        <translation type="vanished">Bild der vym map</translation>
+    </message>
+    <message>
+        <source>Include images</source>
+        <translation type="vanished">Bilder verwenden</translation>
+    </message>
+    <message>
+        <source>Table of contents</source>
+        <translation type="vanished">Inhaltsverzeichnis</translation>
+    </message>
+    <message>
+        <source>Task flags</source>
+        <translation type="vanished">Flags der Aufgaben</translation>
+    </message>
+    <message>
+        <source>General flags</source>
+        <translation type="vanished">Allgemeine Flags</translation>
+    </message>
+    <message>
+        <source>Number sections</source>
+        <translation type="vanished">Abschnitte numerieren</translation>
+    </message>
+    <message>
+        <source>Copy CSS from </source>
+        <translation type="vanished">CSS Vorlage kopieren von</translation>
+    </message>
+    <message>
+        <source>Use CSS from</source>
+        <translation type="vanished">CSS verwenden von</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="vanished">Farbe der Zweigbeschriftungen übernehmen</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="vanished">Einstellungen in map speichern</translation>
+    </message>
+    <message>
+        <source>Stylesheets</source>
+        <translation type="vanished">Stylesheets</translation>
+    </message>
+    <message>
+        <source>Scripts</source>
+        <translation type="vanished">Skripte</translation>
+    </message>
+    <message>
+        <source>After Export:</source>
+        <translation type="vanished">Nach Export:</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="vanished">Exportieren</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
+        <source>Warning</source>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>The settings saved in the map would like to run script:
+
+%1
+
+Please check, if you really
+want to allow this in your system!</source>
+        <translation>Die in der Map gespeicherten Einstellungen möchten gerne Skripte starten:
+
+%1
+
+Bitte prüfen Sie, ob Sie das wirklich erlauben wollen!</translation>
+    </message>
+    <message>
+        <location line="+21"/>
+        <source>VYM - Export HTML to directory</source>
+        <translation>VYM - Exportiere HTML in Verzeichnis</translation>
+    </message>
+</context>
+<context>
+    <name>ExportXHTMLDialog</name>
+    <message>
+        <source>Export XHTML</source>
+        <translation type="vanished">Exportiere XHTML</translation>
+    </message>
+    <message>
+        <source>Browse</source>
+        <translation type="vanished">Durchsuchen</translation>
+    </message>
+    <message>
+        <source>Options</source>
+        <translation type="vanished">Optionen</translation>
+    </message>
+    <message>
+        <source>Include image</source>
+        <translation type="vanished">Bild erzeugen</translation>
+    </message>
+    <message>
+        <source>show output of external scripts</source>
+        <translation type="vanished">Zeige Ausgabe der externen Skripte</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="vanished">Exportieren</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">Abbrechen</translation>
+    </message>
+    <message>
+        <source>Export to directory:</source>
+        <translation type="vanished">Export Verzeichnis:</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="vanished">Farbige Beschriftungen im Text</translation>
+    </message>
+    <message>
+        <source>Stylesheets</source>
+        <translation type="vanished">Stylesheets</translation>
+    </message>
+    <message>
+        <source>CSS:</source>
+        <translation type="vanished">CSS:</translation>
+    </message>
+    <message>
+        <source>XSL:</source>
+        <translation type="vanished">XSL:</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="vanished">Einstellungen in map speichern</translation>
+    </message>
+    <message>
+        <source>Scripts</source>
+        <translation type="vanished">Skripte</translation>
+    </message>
+    <message>
+        <source>Before export:</source>
+        <translation type="vanished">Vor Export:</translation>
+    </message>
+    <message>
+        <source>After Export:</source>
+        <translation type="vanished">Nach Export:</translation>
+    </message>
+    <message>
+        <source>show warnings of xslt processor</source>
+        <translation type="vanished">Warnungen des XSLT Prozessors anzeigen</translation>
+    </message>
+</context>
+<context>
+    <name>ExtraInfoDialog</name>
+    <message>
+        <source>VYM - Info</source>
+        <translation type="vanished">VYM - Info</translation>
+    </message>
+    <message>
+        <source>Map:</source>
+        <translation type="vanished">Map:</translation>
+    </message>
+    <message>
+        <source>File location:</source>
+        <translation type="vanished">Dateipfad:</translation>
+    </message>
+    <message>
+        <source>Title:</source>
+        <translation type="vanished">Titel</translation>
+    </message>
+    <message>
+        <source>Author:</source>
+        <translation type="vanished">Author:</translation>
+    </message>
+    <message>
+        <source>Comment:</source>
+        <translation type="vanished">Kommentar:</translation>
+    </message>
+    <message>
+        <source>Statistics:</source>
+        <translation type="vanished">Statistik:</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">Abbrechen</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="vanished">Schliessen</translation>
+    </message>
+</context>
+<context>
+    <name>FindWidget</name>
+    <message>
+        <location filename="../src/findwidget.cpp" line="+24"/>
+        <source>Find:</source>
+        <comment>FindWidget</comment>
+        <translation>Suchen nach:</translation>
+    </message>
+</context>
+<context>
+    <name>HeadingEditor</name>
+    <message>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
+        <source>Heading Editor</source>
+        <comment>Name of editor shown as window title</comment>
+        <translation>Editor Zweigbeschriftungen</translation>
+    </message>
+</context>
+<context>
+    <name>HistoryWindow</name>
+    <message>
+        <source>Redo</source>
+        <translation type="vanished">Wiederherstellen</translation>
+    </message>
+    <message>
+        <source>Comment</source>
+        <translation type="vanished">Bemerkungen</translation>
+    </message>
+    <message>
+        <source>Undo</source>
+        <translation type="vanished">Rückgängig</translation>
+    </message>
+    <message>
+        <location filename="../src/historywindow.cpp" line="+145"/>
+        <source>Current state</source>
+        <comment>Current bar in history hwindow</comment>
+        <translation>Aktueller Zustand</translation>
+    </message>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
+    </message>
+    <message>
+        <source>Time</source>
+        <translation type="vanished">Zeit</translation>
+    </message>
+    <message>
+        <location line="-129"/>
+        <source>Action</source>
+        <comment>Table with actions</comment>
+        <translation>Befehl</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Comment</source>
+        <comment>Table with actions</comment>
+        <translation>Bemerkungen</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Undo action</source>
+        <comment>Table with actions</comment>
+        <translation>Rückgängig</translation>
+    </message>
+</context>
+<context>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation>Authentifizierungsproblem beim Versuch JIRA zu kontaktieren</translation>
+    </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
+    </message>
+    <message>
+        <source>JIRA servers:</source>
+        <translation type="vanished">JIRA server:</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation type="vanished">Hinzufügen</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="vanished">Entfernen</translation>
+    </message>
+    <message>
+        <source>Username:</source>
+        <translation type="vanished">Benutzername:</translation>
+    </message>
+    <message>
+        <source>Password:</source>
+        <translation type="vanished">Passwort:</translation>
+    </message>
+    <message>
+        <source>Save password</source>
+        <translation type="vanished">Passwort speichern</translation>
+    </message>
+    <message>
+        <source>JiraSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="vanished">JIRA Einstellungen</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
+        <translation>Jira Einstellungen</translation>
+    </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
+    </message>
+    <message>
+        <source>TextLabel</source>
+        <translation type="vanished">TextLabel</translation>
+    </message>
+    <message>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
+        <source>Cancel</source>
+        <translation>Abbrechen</translation>
+    </message>
+    <message>
+        <location line="-7"/>
+        <source>Ok</source>
+        <translation>Ok</translation>
+    </message>
+</context>
+<context>
+    <name>LockedFileDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
+    </message>
+    <message>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
+        <source>Delete lockfile</source>
+        <translation>Lockdatei entfernen</translation>
+    </message>
+    <message>
+        <location line="-1"/>
+        <source>Open readonly</source>
+        <translation>Nur zum Lesen öffnen</translation>
+    </message>
+</context>
+<context>
+    <name>Main</name>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
+        <source>Linkstyle Line</source>
+        <translation>Verbindungsstil Linie</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>Linkstyle Thick Line</source>
+        <translation>Verbindungsstil gefülltes Polygon</translation>
+    </message>
+    <message>
+        <location line="+32"/>
+        <source>Set &amp;Link Color</source>
+        <translation>&amp;Farbe der Verbindungen</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Set &amp;Background Color</source>
+        <translation>&amp;Hintergrundfarbe</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>&amp;View</source>
+        <translation>&amp;Ansicht</translation>
+    </message>
+    <message>
+        <location line="+2420"/>
+        <location line="+1260"/>
+        <source>Set application to open an URL</source>
+        <translation>URLs öffnen mit...</translation>
+    </message>
+    <message>
+        <location line="-1813"/>
+        <source>Overwrite</source>
+        <translation>Überschreiben</translation>
+    </message>
+    <message>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
+        <source>Cancel</source>
+        <translation>Abbrechen</translation>
+    </message>
+    <message>
+        <location line="-138"/>
+        <source>Couldn&apos;t save </source>
+        <translation>Datei konnte nicht gespeichert werden </translation>
+    </message>
+    <message>
+        <location line="+488"/>
+        <source>Save modified map before closing it</source>
+        <translation>Speichern und Map schliessen</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Discard changes</source>
+        <translation>Änderungen verwerfen</translation>
+    </message>
+    <message>
+        <location line="-854"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
+        <source>Critical Error</source>
+        <translation>Kritischer Fehler</translation>
+    </message>
+    <message>
+        <location line="-1109"/>
+        <source>Open anyway</source>
+        <translation>Trotzdem öffnen</translation>
+    </message>
+    <message>
+        <location line="+3218"/>
+        <source>Critcal error</source>
+        <translation>Kritischer Fehler</translation>
+    </message>
+    <message>
+        <location line="-3145"/>
+        <source>Create</source>
+        <translation>Anlegen</translation>
+    </message>
+    <message>
+        <location line="+2121"/>
+        <source>VYM -Information:</source>
+        <translation>vym-Information:</translation>
+    </message>
+    <message>
+        <location line="-2035"/>
+        <source>Load vym map</source>
+        <translation>Lade vym Map</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Import: Add vym map to selection</source>
+        <translation>Import: Füge Map zu Auswahl hinzu</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Import: Replace selection with vym map</source>
+        <translation>Import: Ersetze Auswahl mit Map</translation>
+    </message>
+    <message>
+        <location line="-749"/>
+        <source>Add</source>
+        <translation>Hinzufügen</translation>
+    </message>
+    <message>
+        <location line="+571"/>
+        <source>The map %1
+is already opened.Opening the same map in multiple editors may lead 
+to confusion when finishing working with vym.Do you want to</source>
+        <translation>Die Map %1
+ist bereits in vym geöffnet. Die gleiche Map gleichzeitig in mehreren Editoren
+zu bearbeiten kann beim Beenden von vym zu Verwirrung führen. 
+Wollen Sie</translation>
+    </message>
+    <message>
+        <location line="+75"/>
+        <source>This map does not exist:
+  %1
+Do you want to create a new one?</source>
+        <translation>Diese Map gibt es nicht:
+  %1
+Wollen Sie eine neue anlegen?</translation>
+    </message>
+    <message>
+        <location line="+224"/>
+        <source>Saved  %1</source>
+        <translation>%1 gespeichert</translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <location line="+92"/>
+        <source>The file %1
+exists already. Do you want to</source>
+        <translation>Die Datei %1 gibt es bereits.
+Wollen Sie sie überschreiben?</translation>
+    </message>
+    <message>
+        <location line="+351"/>
+        <source>The map %1 has been modified but not saved yet. Do you want to</source>
+        <translation>Die Map %1 wurde geändert,
+aber noch nicht gespeichert. Wollen Sie </translation>
+    </message>
+    <message>
+        <location line="+334"/>
+        <source>Couldn&apos;t open map %1</source>
+        <translation>Konnte die Map %1 nicht öffnen</translation>
+    </message>
+    <message>
+        <location line="-2216"/>
+        <source>Take care!</source>
+        <comment>Standardflag</comment>
+        <translation>Vorsicht!</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Really?</source>
+        <comment>Standardflag</comment>
+        <translation>Wirklich?</translation>
+    </message>
+    <message>
+        <location line="-24"/>
+        <source>This won&apos;t work!</source>
+        <comment>Standardflag</comment>
+        <translation>Das geht nicht!</translation>
+    </message>
+    <message>
+        <location line="+38"/>
+        <source>Good</source>
+        <comment>Standardflag</comment>
+        <translation>Gut</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Bad</source>
+        <comment>Standardflag</comment>
+        <translation>Schlecht</translation>
+    </message>
+    <message>
+        <location line="+48"/>
+        <source>Time critical</source>
+        <comment>Standardflag</comment>
+        <translation>Zeitkritisch</translation>
+    </message>
+    <message>
+        <location line="-58"/>
+        <source>Idea!</source>
+        <comment>Standardflag</comment>
+        <translation>Idee!</translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>Important</source>
+        <comment>Standardflag</comment>
+        <translation>Wichtig</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Unimportant</source>
+        <comment>Standardflag</comment>
+        <translation>Unwichtig</translation>
+    </message>
+    <message>
+        <location line="+15"/>
+        <source>I like this</source>
+        <comment>Standardflag</comment>
+        <translation>Finde ich gut</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>I do not like this</source>
+        <comment>Standardflag</comment>
+        <translation>Finde ich schlecht</translation>
+    </message>
+    <message>
+        <location line="-26"/>
+        <source>Dangerous</source>
+        <comment>Standardflag</comment>
+        <translation>Gefährlich</translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>This will help</source>
+        <comment>Standardflag</comment>
+        <translation>Das könnte helfen</translation>
+    </message>
+    <message>
+        <location line="+1554"/>
+        <location line="+54"/>
+        <location line="+1"/>
+        <source>Import</source>
+        <translation>Importieren</translation>
+    </message>
+    <message>
+        <location line="-3186"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
+        <source>(still experimental)</source>
+        <translation>(noch experimentelle Funktion)</translation>
+    </message>
+    <message>
+        <location line="-3237"/>
+        <source>&amp;Print</source>
+        <translation>&amp;Drucken</translation>
+    </message>
+    <message>
+        <location line="+3168"/>
+        <location line="+68"/>
+        <source>Export to</source>
+        <translation>Exportieren als</translation>
+    </message>
+    <message>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
+        <source>Warning</source>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <location line="-2733"/>
+        <location line="+2345"/>
+        <source>Couldn&apos;t find a viewer to open %1.
+</source>
+        <translation>Konnte kein Programm zum Öffnen von %1 finden.</translation>
+    </message>
+    <message>
+        <location line="-2344"/>
+        <location line="+2345"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>Bitte setzen sie einen Pfad in Einstellungen-&gt;</translation>
+    </message>
+    <message>
+        <location line="-1954"/>
+        <source>Couldn&apos;t set sleep time to %1.
+</source>
+        <translation>Konnte Wiedervorlage nicht setzen auf %1</translation>
+    </message>
+    <message>
+        <location line="+858"/>
+        <location line="+1097"/>
+        <source>Set application to open PDF files</source>
+        <translation>PDFs öffnen mit</translation>
+    </message>
+    <message>
+        <location line="-4311"/>
+        <source>Oh no!</source>
+        <comment>Standardflag</comment>
+        <translation>Oh nein!</translation>
+    </message>
+    <message>
+        <location line="-2414"/>
+        <source>Search results list</source>
+        <comment>FindResultWidget</comment>
+        <translation>Liste der Suchergebnisse</translation>
+    </message>
+    <message>
+        <location line="+3108"/>
+        <source>File actions toolbar</source>
+        <comment>Toolbar for file actions</comment>
+        <translation>Datei Werkzeugleiste</translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Edit actions toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation>Editieren Werkzeugleiste</translation>
+    </message>
+    <message>
+        <location line="-3103"/>
+        <source>Property Editor</source>
+        <comment>PropertyEditor</comment>
+        <translation>Eigenschaften</translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>History window</source>
+        <comment>HistoryWidget</comment>
+        <translation>Verlaufsfenster</translation>
+    </message>
+    <message>
+        <location line="-70"/>
+        <source>Main window</source>
+        <comment>Shortcut group</comment>
+        <translation>Hauptfenster</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Map Editors</source>
+        <comment>Shortcut group</comment>
+        <translation>Map Editor</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Text Editors</source>
+        <comment>Shortcut group</comment>
+        <translation>Text Editor</translation>
+    </message>
+    <message>
+        <location line="+54"/>
+        <source>Script output window</source>
+        <translation>Script Ausgabe</translation>
+    </message>
+    <message>
+        <location line="+776"/>
+        <source>&amp;Map</source>
+        <comment>Menu for file actions</comment>
+        <translation>&amp;Map</translation>
+    </message>
+    <message>
+        <location line="+28"/>
+        <source>&amp;Restore last session</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Letzte Session wiederherstellen</translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation>Datei als standard map speichern</translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation>Verzeichnis importieren</translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Webpage (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation>Webseite (HTML)</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation>Confluence (HTML)</translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <source>Text (ASCII)...</source>
+        <comment>File export menu</comment>
+        <translation>Text (ASCII)</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation>Text (Markdown)</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
+        <translation>Text mit Aufgaben</translation>
+    </message>
+    <message>
+        <location line="+37"/>
+        <source>CSV...</source>
+        <translation>CSV...</translation>
+    </message>
+    <message>
+        <location line="+153"/>
+        <source>Add attribute</source>
+        <translation>Attribut hinzufügen</translation>
+    </message>
+    <message>
+        <location line="+131"/>
+        <source>&amp;Detach</source>
+        <comment>Context menu</comment>
+        <translation>Loslösen</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Detach branch and use as mapcenter</source>
+        <comment>Context menu</comment>
+        <translation>Zweig loslösen und als Zentrum verwenden</translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Sort children backwards</source>
+        <comment>Edit menu</comment>
+        <translation>Unterzweige aufsteigend sortieren</translation>
+    </message>
+    <message>
+        <location line="+81"/>
+        <source>Expand all branches</source>
+        <comment>Edit menu</comment>
+        <translation>Alle Zweige ausklappen</translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Expand one level</source>
+        <comment>Edit menu</comment>
+        <translation>Ausklappen</translation>
+    </message>
+    <message>
+        <location line="-33"/>
+        <source>Collapse one level</source>
+        <comment>Edit menu</comment>
+        <translation>Einklappen</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Collapse unselected levels</source>
+        <comment>Edit menu</comment>
+        <translation>Nicht selektierte Ebenen einklappen</translation>
+    </message>
+    <message>
+        <location line="-47"/>
+        <source>Unscroll children</source>
+        <comment>Edit menu</comment>
+        <translation>Unterzweige ausrollen</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Grow selection</source>
+        <comment>Edit menu</comment>
+        <translation>Auswahl vergössern</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Shrink selection</source>
+        <comment>Edit menu</comment>
+        <translation>Auswahl verkleinern</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Reset selection size</source>
+        <comment>Edit menu</comment>
+        <translation>Grösse der Auswahl zurücksetzen</translation>
+    </message>
+    <message>
+        <location line="+442"/>
+        <source>Toggle target...</source>
+        <comment>Edit menu</comment>
+        <translation>Ziel einschalten/ausschalten</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Goto target...</source>
+        <comment>Edit menu</comment>
+        <translation>Gehe zu Ziel</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Move to target...</source>
+        <comment>Edit menu</comment>
+        <translation>Verschiebe zu Ziel</translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>Find duplicate URLs</source>
+        <comment>Edit menu</comment>
+        <translation>Doppelte URLs finden</translation>
+    </message>
+    <message>
+        <location line="-452"/>
+        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <comment>Edit menu</comment>
+        <translation>Alle URLs im Unterbaum öffnen</translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Extract URLs from note</source>
+        <comment>Edit menu</comment>
+        <translation>Extrahiere URLs aus Notiz</translation>
+    </message>
+    <message>
+        <location line="+308"/>
+        <source>Add timestamp</source>
+        <comment>Edit menu</comment>
+        <translation>Zeitstempel hinzufügen</translation>
+    </message>
+    <message>
+        <location line="-11"/>
+        <source>Remove children</source>
+        <comment>Edit menu</comment>
+        <translation>Unterzweige entfernen</translation>
+    </message>
+    <message>
+        <location line="+333"/>
+        <source>Center on selection</source>
+        <comment>View action</comment>
+        <translation>Zeige Auswahl</translation>
+    </message>
+    <message>
+        <location line="+1195"/>
+        <source>Editors toolbar</source>
+        <comment>Editor Toolbar name</comment>
+        <translation>Werkzeugleiste Editoren</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Modifier modes toolbar</source>
+        <comment>Modifier Toolbar name</comment>
+        <translation>Werkzeugleiste Modifizierer</translation>
+    </message>
+    <message>
+        <location line="-2206"/>
+        <source>E&amp;dit</source>
+        <comment>Edit menu</comment>
+        <translation>E&amp;dit</translation>
+    </message>
+    <message>
+        <location line="+759"/>
+        <source>Select previous</source>
+        <comment>Edit menu</comment>
+        <translation>vorherige Auswahl</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Select next</source>
+        <comment>Edit menu</comment>
+        <translation>nächste Auswahl</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Unselect all</source>
+        <comment>Edit menu</comment>
+        <translation>Nichts auswählen</translation>
+    </message>
+    <message>
+        <location line="+73"/>
+        <source>Select default font</source>
+        <comment>Branch attribute</comment>
+        <translation>Default Zeichensatz auswählen</translation>
+    </message>
+    <message>
+        <location line="+83"/>
+        <source>Toolbars</source>
+        <comment>Toolbars overview in view menu</comment>
+        <translation>Werkzeugleisten</translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation>Präsentationsmodus an/abschalten</translation>
+    </message>
+    <message>
+        <location line="+28"/>
+        <source>Rotate counterclockwise</source>
+        <comment>View action</comment>
+        <translation>Rotieren gegen Uhrzeigersinn</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Rotate rclockwise</source>
+        <comment>View action</comment>
+        <translation>Rotieren im Uhrzeigersinn</translation>
+    </message>
+    <message>
+        <location line="+64"/>
+        <source>Tree editor</source>
+        <comment>View action</comment>
+        <translation>Baum Editor</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Task editor</source>
+        <comment>View action</comment>
+        <translation>Aufgaben Editor</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Slide editor</source>
+        <comment>View action</comment>
+        <translation>Folien Editor</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Script editor</source>
+        <comment>View action</comment>
+        <translation>Skript Editor</translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation>Script Ausgabe</translation>
+    </message>
+    <message>
+        <location line="+54"/>
+        <source>Next slide</source>
+        <comment>View action</comment>
+        <translation>Nächste Folie</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Previous slide</source>
+        <comment>View action</comment>
+        <translation>Vorherige Folie</translation>
+    </message>
+    <message>
+        <location line="+175"/>
+        <source>Map target</source>
+        <comment>SystemFlag</comment>
+        <translation>Ziel</translation>
+    </message>
+    <message>
+        <location line="+899"/>
+        <source>Standard Flags toolbar</source>
+        <comment>Standard Flag Toolbar</comment>
+        <translation>Werkzeugleiste Standardflags</translation>
+    </message>
+    <message>
+        <location line="-874"/>
+        <source>Status - ok,done</source>
+        <comment>Standardflag</comment>
+        <translation>Status - ok, erledigt</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Status - work in progress</source>
+        <comment>Standardflag</comment>
+        <translation>Status - In Arbeit</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Status - missing, not started</source>
+        <comment>Standardflag</comment>
+        <translation>Status - unvollständig, nicht begonnen</translation>
+    </message>
+    <message>
+        <location line="+73"/>
+        <source>Call...</source>
+        <comment>Standardflag</comment>
+        <translation>Anrufen...</translation>
+    </message>
+    <message>
+        <location line="-20"/>
+        <source>Very important!</source>
+        <comment>Standardflag</comment>
+        <translation>Sehr wichtig!</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Very unimportant!</source>
+        <comment>Standardflag</comment>
+        <translation>Sehr unwichtig!</translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>Rose</source>
+        <comment>Standardflag</comment>
+        <translation>Rose</translation>
+    </message>
+    <message>
+        <location line="-3"/>
+        <source>Surprise!</source>
+        <comment>Standardflag</comment>
+        <translation>Überraschung!</translation>
+    </message>
+    <message>
+        <location line="-64"/>
+        <source>Info</source>
+        <comment>Standardflag</comment>
+        <translation>Info</translation>
+    </message>
+    <message>
+        <location line="+269"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
+        <translation>Release notes und Updates prüfen</translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
+        <translation>Anwendung um Daten zu speichern (zip/unzip)</translation>
+    </message>
+    <message>
+        <location line="+174"/>
+        <source>Download and show release notes</source>
+        <comment>Help action</comment>
+        <translation>Release Notes herunterladen und anzeigen</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Check, if updates are available</source>
+        <comment>Help action</comment>
+        <translation>Prüfen, ob Updates verfügbar sind</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation>Tatstur Makros anzeigen</translation>
+    </message>
+    <message>
+        <location line="+104"/>
+        <source>XLinks</source>
+        <comment>Menu for file actions</comment>
+        <translation>XLinks</translation>
+    </message>
+    <message>
+        <location line="+2758"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation>unbekannter Benutzer</translation>
+    </message>
+    <message>
+        <location line="+53"/>
+        <source>Number of parents shown for a task:</source>
+        <translation>Anzahl der Elternzweige, die bei Aufgabe gezeigt werden:</translation>
+    </message>
+    <message>
+        <location line="-1793"/>
+        <source>Firefox Bookmarks</source>
+        <translation>Firefox Lesezeichen</translation>
+    </message>
+    <message>
+        <location line="-3184"/>
+        <source>&amp;Open...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Öffnen...</translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <source>Open Recent</source>
+        <comment>File menu</comment>
+        <translation>Zuletzt geöffnete Dateien</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Save...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Speichern...</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Save &amp;As...</source>
+        <comment>File menu</comment>
+        <translation>Speichern &amp;unter...</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Import</source>
+        <comment>File menu</comment>
+        <translation>Importieren</translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Export</source>
+        <comment>File menu</comment>
+        <translation>Exportieren</translation>
+    </message>
+    <message>
+        <location line="+56"/>
+        <source>Image%1</source>
+        <comment>File export menu</comment>
+        <translation>Bild %1</translation>
+    </message>
+    <message>
+        <location line="+65"/>
+        <source>&amp;Close Map</source>
+        <comment>File menu</comment>
+        <translation>Schlie&amp;ßen</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>E&amp;xit</source>
+        <comment>File menu</comment>
+        <translation>B&amp;eenden</translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>&amp;Undo</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Rückgängig</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>&amp;Redo</source>
+        <comment>Edit menu</comment>
+        <translation>Wieder&amp;herstellen</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>&amp;Copy</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Kopieren</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Cu&amp;t</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Ausschneiden</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>&amp;Paste</source>
+        <comment>Edit menu</comment>
+        <translation>Ein&amp;fügen</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location line="+10"/>
+        <source>Delete Selection</source>
+        <comment>Edit menu</comment>
+        <translation>Entfernen</translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Add branch as child</source>
+        <comment>Edit menu</comment>
+        <translation>Neuer Zweig </translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Add branch (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>Neuen Zweig einfügen</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location line="+10"/>
+        <source>Add branch above</source>
+        <comment>Edit menu</comment>
+        <translation>Neuer Zweig - oben</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location line="+9"/>
+        <source>Add branch below</source>
+        <comment>Edit menu</comment>
+        <translation>Neuer Zweig - unten</translation>
+    </message>
+    <message>
+        <location line="+91"/>
+        <source>Scroll branch</source>
+        <comment>Edit menu</comment>
+        <translation>Zweig einrollen</translation>
+    </message>
+    <message>
+        <location line="+544"/>
+        <location line="+8"/>
+        <source>Find...</source>
+        <comment>Edit menu</comment>
+        <translation>Suchen</translation>
+    </message>
+    <message>
+        <location line="-462"/>
+        <source>Open URL</source>
+        <comment>Edit menu</comment>
+        <translation>URL öffnen</translation>
+    </message>
+    <message>
+        <location line="-1502"/>
+        <source>Main window</source>
+        <comment>Shortcut scope</comment>
+        <translation>Hauptfenster</translation>
+    </message>
+    <message>
+        <location line="+1511"/>
+        <source>Open URL in new tab</source>
+        <comment>Edit menu</comment>
+        <translation>URL in neuen Tab öffnen</translation>
+    </message>
+    <message>
+        <location line="+18"/>
+        <source>Open all URLs in subtree</source>
+        <comment>Edit menu</comment>
+        <translation>Alle URLs in Unterbaum öffnen</translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Edit URL...</source>
+        <comment>Edit menu</comment>
+        <translation>URL editieren...</translation>
+    </message>
+    <message>
+        <location line="+18"/>
+        <source>Use heading for URL</source>
+        <comment>Edit menu</comment>
+        <translation>Beschriftung als URL übernehmen</translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Open linked map</source>
+        <comment>Edit menu</comment>
+        <translation>Verlinkte Map öffnen</translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Open all vym links in subtree</source>
+        <comment>Edit menu</comment>
+        <translation>Alle Verbindungen zu vym maps  in Unterbaum öffnen</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Edit vym link...</source>
+        <comment>Edit menu</comment>
+        <translation>vym Verknüpfung editieren</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Delete vym link</source>
+        <comment>Edit menu</comment>
+        <translation>vym Verknüpfung löschen</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Hide in exports</source>
+        <comment>Edit menu</comment>
+        <translation>In Export nicht anzeigen</translation>
+    </message>
+    <message>
+        <location line="+158"/>
+        <source>Add map (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>Map einfügen (An Selektion hinzufügen)</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Add map (replace)</source>
+        <comment>Edit menu</comment>
+        <translation>Map einfügen (Selektion austauschen)</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Save selection</source>
+        <comment>Edit menu</comment>
+        <translation>Auswahl speichern</translation>
+    </message>
+    <message>
+        <location line="+169"/>
+        <source>F&amp;ormat</source>
+        <comment>Format menu</comment>
+        <translation>F&amp;ormat</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Pic&amp;k color</source>
+        <comment>Edit menu</comment>
+        <translation>Farbe &amp;übernehmen</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Color &amp;branch</source>
+        <comment>Edit menu</comment>
+        <translation>Zweig &amp;färben</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Color sub&amp;tree</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Unterbaum färben</translation>
+    </message>
+    <message>
+        <location line="+53"/>
+        <source>Hide link if object is not selected</source>
+        <comment>Branch attribute</comment>
+        <translation>Verbindung verbergen, falls Objekt nicht selektiert ist</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>&amp;Use color of heading for link</source>
+        <comment>Branch attribute</comment>
+        <translation>&amp;Verbindungen haben Farbe der Beschriftungen</translation>
+    </message>
+    <message>
+        <location line="+89"/>
+        <source>reset Zoom</source>
+        <comment>View action</comment>
+        <translation>Keine Vergrösserung</translation>
+    </message>
+    <message>
+        <location line="-37"/>
+        <source>Zoom in</source>
+        <comment>View action</comment>
+        <translation>Vergrössern</translation>
+    </message>
+    <message>
+        <location line="-1917"/>
+        <source>Task list</source>
+        <comment>TaskEditor</comment>
+        <translation>Aufgabenliste</translation>
+    </message>
+    <message>
+        <location line="-51"/>
+        <source>Script Editor</source>
+        <comment>ScriptEditor</comment>
+        <translation>Skript Editor</translation>
+    </message>
+    <message>
+        <location line="+844"/>
+        <source>Firefox Bookmarks</source>
+        <comment>Import filters</comment>
+        <translation>Firefox Lesezeichen</translation>
+    </message>
+    <message>
+        <location line="+72"/>
+        <source>Text (A&amp;O report)...</source>
+        <comment>Export format</comment>
+        <translation>Text (A&amp;O Format)</translation>
+    </message>
+    <message>
+        <location line="+52"/>
+        <source>Properties</source>
+        <translation>Eigenschaften</translation>
+    </message>
+    <message>
+        <location line="+210"/>
+        <source>Move branch up</source>
+        <comment>Edit menu</comment>
+        <translation>Zweig nach oben bewegen</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Move branch down</source>
+        <comment>Edit menu</comment>
+        <translation>Zweig nach unten bewegen</translation>
+    </message>
+    <message>
+        <location line="+158"/>
+        <source>References Context menu</source>
+        <comment>Shortcuts</comment>
+        <translation>Tastenkürzel</translation>
+    </message>
+    <message>
+        <location line="+94"/>
+        <source>vymlinks - linking maps</source>
+        <comment>Shortcuts</comment>
+        <translation>vym-Verbindungen zwischen Maps</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Open linked map in background tab</source>
+        <comment>Edit menu</comment>
+        <translation>Verbundene Map im Hintergrund öffnen</translation>
+    </message>
+    <message>
+        <location line="+32"/>
+        <source>Exports</source>
+        <comment>Shortcuts</comment>
+        <translation>Exports</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Tasks</source>
+        <comment>Shortcuts</comment>
+        <translation>Aufgaben</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Toggle task</source>
+        <comment>Edit menu</comment>
+        <translation>Aufgabe einschalten/ausschalten</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Cycle task status</source>
+        <comment>Edit menu</comment>
+        <translation>Aufgabenstatus weiterschalten</translation>
+    </message>
+    <message>
+        <location line="+21"/>
+        <source>Reset sleep</source>
+        <comment>Task sleep</comment>
+        <translation>Aufgabe aufwecken</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <source>Sleep %1 days</source>
+        <comment>Task sleep</comment>
+        <translation>Wiedervorlage in %1 Tagen</translation>
+    </message>
+    <message>
+        <location line="-55"/>
+        <source>Sleep %1 day</source>
+        <comment>Task sleep</comment>
+        <translation>Wiedervorlage in %1 Tagen</translation>
+    </message>
+    <message>
+        <location line="+66"/>
+        <location line="+11"/>
+        <source>Sleep %1 weeks</source>
+        <comment>Task sleep</comment>
+        <translation>Wiedervorlage in %1 Wochen</translation>
+    </message>
+    <message>
+        <location line="+32"/>
+        <source>Removing parts of a map</source>
+        <comment>Shortcuts</comment>
+        <translation>Teile einer Map entfernen</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Remove only branch and keep its children </source>
+        <comment>Edit menu</comment>
+        <translation>Zweig entfernen und Unterzweige behalten</translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>Various</source>
+        <comment>Shortcuts</comment>
+        <translation>Verschiedene</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Map properties...</source>
+        <comment>Edit menu</comment>
+        <translation>Map Eigenschaften...</translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Selections</source>
+        <comment>Shortcuts</comment>
+        <translation>Auswahl</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Select</source>
+        <comment>Select menu</comment>
+        <translation>Auswählen</translation>
+    </message>
+    <message>
+        <location line="+31"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation>Verlinkte Map öffnen...</translation>
+    </message>
+    <message>
+        <location line="+38"/>
+        <source>Search functions</source>
+        <comment>Shortcuts</comment>
+        <translation>Suchfunktionen</translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Formatting</source>
+        <comment>Shortcuts</comment>
+        <translation>Formattierung</translation>
+    </message>
+    <message>
+        <location line="+120"/>
+        <source>Views</source>
+        <comment>Shortcuts</comment>
+        <translation>Ansichten</translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>Zoom out</source>
+        <comment>View action</comment>
+        <translation>Verkleinern</translation>
+    </message>
+    <message>
+        <location line="+58"/>
+        <source>Note editor</source>
+        <comment>View action</comment>
+        <translation>Notiz Editor</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Heading editor</source>
+        <comment>View action</comment>
+        <translation>Beschriftungs Editor</translation>
+    </message>
+    <message>
+        <location line="+218"/>
+        <source>Images</source>
+        <translation>Bilder</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation>Alle</translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation>URL</translation>
+    </message>
+    <message>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation>Werzeugleiste Benuzterflags</translation>
+    </message>
+    <message>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation>Hm...</translation>
+    </message>
+    <message>
+        <location line="-1554"/>
+        <source>(experimental)</source>
+        <translation>(experimentell)</translation>
+    </message>
+    <message>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation>Firefox Lesezeichen</translation>
+    </message>
+    <message>
+        <location line="+315"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation>Zeig schräg nach oben bewegen</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation>Zweig schräg nach unten bewegen</translation>
+    </message>
+    <message>
+        <location line="+952"/>
+        <source>&amp;Connect</source>
+        <translation>Verbindungen</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation>Verbindungen</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation>Nutzer Infos von Confluence holen</translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation>Auswählen und Anordnen</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation>Einfärben mit der Farbe eines anderen Zweiges</translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation>Zweige bewegen ohne sie umzuhängen</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation>Ansicht verschieben ohne Zweige auszuwählen</translation>
+    </message>
+    <message>
+        <location line="+205"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation>Wichtig</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation>Zurück</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation>Vorwärts</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation>Schau hier</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation>Gefährlich</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation>Nicht vergessen</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation>Flag</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation>Startseite</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation>Telefon</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation>Musik</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation>Briefkasten</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation>Passwort</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation>Zu verbessern</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation>Stop</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation>Magie</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation>Zu überlegen</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation>Erinnerung</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation>Ausgezeichnet</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation>Linux</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation>Süß</translation>
+    </message>
+    <message>
+        <location line="+137"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation>Author für neue Maps angeben</translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation>Confluence Zugangsdaten</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation>JIRA Zugangsdaten</translation>
+    </message>
+    <message>
+        <source>Set path for default path</source>
+        <comment>Settings action</comment>
+        <translation type="vanished">Pfad festlegen für Standardmap</translation>
+    </message>
+    <message>
+        <location line="+90"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation>Anzahl sichtbarer Elternzweige im Aufgaben Editor</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation>Anzahl sichtbarer Elternzweige im Ergebnisfenster der Suche</translation>
+    </message>
+    <message>
+        <location line="+87"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
+        <translation>Infos zur Fehlersuche</translation>
+    </message>
+    <message>
+        <location line="+535"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation>Konnte Standardmap nicht laden</translation>
+    </message>
+    <message>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation>Konnte %1 nicht speichern, da die Datei bereits existiert und nicht geändert werden darf.</translation>
+    </message>
+    <message>
+        <location line="+46"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
+        <translation>Konnte %1 nicht speichern,
+da die Lockdatei nicht angelegt werden konnte:
+%2</translation>
+    </message>
+    <message>
+        <location line="+235"/>
+        <source>Couldn&apos;t find configuration for export to LibreOffice
+</source>
+        <translation>Konnte Konfiguration zum Exportieren nach LibreOffice nicht finden
+</translation>
+    </message>
+    <message>
+        <location line="+642"/>
+        <source>branches</source>
+        <comment>Info about map</comment>
+        <translation>Zweige</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>notes</source>
+        <comment>Info about map</comment>
+        <translation>Notizen</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>images</source>
+        <comment>Info about map</comment>
+        <translation>Bilder</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>slides</source>
+        <comment>Info about map</comment>
+        <translation>Folien</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>xLinks</source>
+        <comment>Info about map</comment>
+        <translation>Querverbindungen</translation>
+    </message>
+    <message>
+        <location line="+903"/>
+        <source>Set author for new maps (used in lockfile)</source>
+        <translation>Author für neue Maps angeben (zur Verwendung in Lockdatei)</translation>
+    </message>
+    <message>
+        <location line="+45"/>
+        <source>Number of parents shown in find results:</source>
+        <translation>Anzahl sichtbarer Elternzweige im Ergebnisfenster der Suche</translation>
+    </message>
+    <message>
+        <location line="-2393"/>
+        <source>(readonly)</source>
+        <translation>(nur lesen)</translation>
+    </message>
+    <message>
+        <location line="-1953"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation>Daten von JIRA für Unterbaum holen</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation>Titel der Seite von Confluence übernehmen</translation>
+    </message>
+    <message>
+        <location line="+277"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation>Bild hinzufügen</translation>
+    </message>
+    <message>
+        <location line="+1489"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation>Werkzeugleiste ANsicht</translation>
+    </message>
+    <message>
+        <location line="+688"/>
+        <source>Save map as new default map</source>
+        <translation>
+Map als standard map speichern</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation>Keine Berechtigung zum Schreiben von</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation>Als neue standard map überschreiben</translation>
+    </message>
+    <message>
+        <location line="+81"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation>Importiere Firefox Lesezeichen in neue Map</translation>
+    </message>
+    <message>
+        <location line="+749"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation>Wiedervorlage (als Anzahl Tage oder als Datum: JJJJ-MM-TT oder  TT.MM[JJJJ])</translation>
+    </message>
+    <message>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation>Aufgaben insgesamt</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation>Aufgaben in Map</translation>
+    </message>
+    <message>
+        <location line="+840"/>
+        <source>Load vym script</source>
+        <translation>Script laden</translation>
+    </message>
+    <message>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="vanished">Default map setzen, die beim Start geladen wird</translation>
+    </message>
+    <message>
+        <location line="+158"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
+        <translation>SSL nicht unterstützt</translation>
+    </message>
+    <message>
+        <location line="+1086"/>
+        <source>Please allow vym to download release notes!</source>
+        <translation>Bitte erlauben Sie vym die  Release-Anmerkungen herunterzuladen!</translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Allow</source>
+        <translation>Erlauben</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Do not allow</source>
+        <translation>Nicht erlauben</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Thank you for enabling downloads!</source>
+        <translation>Danke für das Erlauben der Downloads!</translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Update information</source>
+        <translation>Update Information</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>vym is up to date.</source>
+        <comment>MainWindow</comment>
+        <translation>vym ist auf dem neuesten Stand.</translation>
+    </message>
+    <message>
+        <location line="+48"/>
+        <source>Checking for updates...</source>
+        <comment>MainWindow</comment>
+        <translation>Prüfen auf Updates...</translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Please allow vym to check for updates!</source>
+        <translation>Bitte vym erlauben nach Updates zu sehen!</translation>
+    </message>
+    <message>
+        <location line="-4875"/>
+        <source>Use modifier to draw xLinks</source>
+        <comment>Mode modifier</comment>
+        <translation>Modifizierer zum Anlegen von xLinks verwenden</translation>
+    </message>
+    <message>
+        <location line="+439"/>
+        <source>Set application to open pdf files</source>
+        <comment>Settings action</comment>
+        <translation>pdf-Dateien öffnen mit...</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Set application to open external links</source>
+        <comment>Settings action</comment>
+        <translation>Anwendung zum Öffnen externen Verweise</translation>
+    </message>
+    <message>
+        <location line="+67"/>
+        <source>Select branch after adding it</source>
+        <comment>Settings action</comment>
+        <translation>Zweig nach dem Einfügen auswählen</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Select existing heading</source>
+        <comment>Settings action</comment>
+        <translation>Beschriftung vor dem editieren auswählen</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Exclusive flags</source>
+        <comment>Settings action</comment>
+        <translation>Exklusive Flags</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Use hide flags</source>
+        <comment>Settings action</comment>
+        <translation>Während des Exports das &quot;Verbergen&quot; Flag verwenden </translation>
+    </message>
+    <message>
+        <location line="+78"/>
+        <source>&amp;Help</source>
+        <comment>Help menubar entry</comment>
+        <translation>&amp;Hilfe</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Open VYM Documentation (pdf) </source>
+        <comment>Help action</comment>
+        <translation>VYM Handbuch (pdf)</translation>
+    </message>
+    <message>
+        <location line="+38"/>
+        <source>About VYM</source>
+        <comment>Help action</comment>
+        <translation>Über VYM</translation>
+    </message>
+    <message>
+        <location line="-4"/>
+        <source>About QT</source>
+        <comment>Help action</comment>
+        <translation>Über QT</translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>Remove</source>
+        <comment>Context menu name</comment>
+        <translation>Entfernen</translation>
+    </message>
+    <message>
+        <location line="+61"/>
+        <source>Edit XLink</source>
+        <comment>Context menu name</comment>
+        <translation>xLink ändern</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Follow XLink</source>
+        <comment>Context menu name</comment>
+        <translation>XLink folgen</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Save image</source>
+        <comment>Context action</comment>
+        <translation>Speichere Bild</translation>
+    </message>
+    <message>
+        <location line="-2202"/>
+        <source>&amp;New map</source>
+        <comment>File menu</comment>
+        <translation>Neue map</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&amp;Copy to new map</source>
+        <comment>File menu</comment>
+        <translation>Kopieren in neue Map</translation>
+    </message>
+    <message>
+        <location line="+130"/>
+        <source>PDF%1</source>
+        <comment>File export menu</comment>
+        <translation>PDF%1</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>SVG%1</source>
+        <comment>File export menu</comment>
+        <translation>SVG%1</translation>
+    </message>
+    <message>
+        <location line="-63"/>
+        <source>Repeat last export (%1)</source>
+        <translation>Letzten Export wiederholen (%1)</translation>
+    </message>
+    <message>
+        <location line="+242"/>
+        <source>Add mapcenter</source>
+        <comment>Canvas context menu</comment>
+        <translation>Mapcenter hinzufügen</translation>
+    </message>
+    <message>
+        <location line="+129"/>
+        <source>Sort children</source>
+        <comment>Edit menu</comment>
+        <translation>Unterzweige aufsteigend sortieren</translation>
+    </message>
+    <message>
+        <location line="+164"/>
+        <source>Edit local URL...</source>
+        <comment>Edit menu</comment>
+        <translation>Lokale URL editieren</translation>
+    </message>
+    <message>
+        <location line="+315"/>
+        <source>Property window</source>
+        <comment>Dialog to edit properties of selection</comment>
+        <translation>Eigenschaften</translation>
+    </message>
+    <message>
+        <location line="+168"/>
+        <source>Linkstyle Curve</source>
+        <translation>Verbindungsstil Parabel</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>Linkstyle Thick Curve</source>
+        <translation>Verbindungsstil Parabel</translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Set &amp;Selection Color</source>
+        <translation>Farbe der Auswahlmarkierung</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Set &amp;Background image</source>
+        <translation>Hintergrundbild laden</translation>
+    </message>
+    <message>
+        <location line="+83"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation>Zeige Auwahl und vergrößere</translation>
+    </message>
+    <message>
+        <location line="+83"/>
+        <source>History Window</source>
+        <comment>View action</comment>
+        <translation>Verlaufsfenster</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>Antialiasing</source>
+        <comment>View action</comment>
+        <translation>Antialiasing</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Smooth pixmap transformations</source>
+        <comment>View action</comment>
+        <translation>Weiche Bild Transformationen</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Next Map</source>
+        <comment>View action</comment>
+        <translation>Nächste Map</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Previous Map</source>
+        <comment>View action</comment>
+        <translation>Vorherige Map</translation>
+    </message>
+    <message>
+        <location line="+52"/>
+        <source>Modifier modes</source>
+        <comment>Shortcuts</comment>
+        <translation>Tasten Modifizierer</translation>
+    </message>
+    <message>
+        <location line="+101"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <source>Note</source>
+        <comment>SystemFlag</comment>
+        <translation>Notiz</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Link to another vym map</source>
+        <comment>SystemFlag</comment>
+        <translation>Verweis zu einer anderen Map</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>subtree is scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>Teilbaum ist eingerollt</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>subtree is temporary scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>Teilbaum ist momentan ausgerollt</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Hide object in exported maps</source>
+        <comment>SystemFlag</comment>
+        <translation>Objekt beim Exportieren nicht anzeigen</translation>
+    </message>
+    <message>
+        <location line="+300"/>
+        <source>Settings</source>
+        <translation>Einstellungen</translation>
+    </message>
+    <message>
+        <location line="+49"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation>Pfad für neue Maps setzen</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set path for macros</source>
+        <comment>Settings action</comment>
+        <translation>Pfad für Makros</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Set number of undo levels</source>
+        <comment>Settings action</comment>
+        <translation>Anzahl der Rückgängig Aktionen</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
+        <translation>Automatisch speichern</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
+        <translation>Zeit für automatisches speichern</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
+        <translation>Beim Verlassen Sicherungskopie anlegen</translation>
+    </message>
+    <message>
+        <location line="+65"/>
+        <source>Animation</source>
+        <comment>Settings action</comment>
+        <translation>Animation</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Automatic layout</source>
+        <comment>Settings action</comment>
+        <translation>Autolayout</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Test</source>
+        <translation>Test</translation>
+    </message>
+    <message>
+        <location line="+35"/>
+        <source>Open VYM example maps </source>
+        <comment>Help action</comment>
+        <translation>VYM Beispielmaps</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>Show keyboard shortcuts</source>
+        <comment>Help action</comment>
+        <translation>Zeige Tastaturkürzel</translation>
+    </message>
+    <message>
+        <location line="+68"/>
+        <source>Tasks</source>
+        <comment>Context menu</comment>
+        <translation>Aufgaben</translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>References (URLs, vymLinks, ...)</source>
+        <comment>Context menu name</comment>
+        <translation>Verweise (URLS, vym, ...)</translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <source>Follow XLink</source>
+        <comment>Context menu</comment>
+        <translation>XLink folgen</translation>
+    </message>
+    <message>
+        <location line="+130"/>
+        <source>Undo and clipboard toolbar</source>
+        <comment>Toolbar for redo/undo and clipboard</comment>
+        <translation>Rückgängig Werkzeugleiste</translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Selection toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation>Auswahl Werkzeugleiste</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>URLs and vymLinks toolbar</source>
+        <comment>Toolbar for URLs and vymlinks</comment>
+        <translation>URLs und vymLinks Werkzeugleiste</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Colors toolbar</source>
+        <comment>Colors toolbar name</comment>
+        <translation>Farben Werkzeugleiste</translation>
+    </message>
+    <message>
+        <location line="+442"/>
+        <source>Loading: %1</source>
+        <comment>Progress dialog while loading maps</comment>
+        <translation>Lade: %1</translation>
+    </message>
+    <message>
+        <location line="+60"/>
+        <source>or</source>
+        <comment>File Dialog</comment>
+        <translation>oder</translation>
+    </message>
+    <message>
+        <location line="+143"/>
+        <source>Save map as</source>
+        <translation>Speichern &amp;unter...</translation>
+    </message>
+    <message>
+        <location line="+313"/>
+        <source>Export as CSV</source>
+        <translation>Exportiere als CSV</translation>
+    </message>
+    <message>
+        <location line="+324"/>
+        <source>Enter URL:</source>
+        <translation>Neue URL:</translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>HTML</source>
+        <comment>Filedialog</comment>
+        <translation>HTML</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Text</source>
+        <comment>Filedialog</comment>
+        <translation>Text</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Spreadsheet</source>
+        <comment>Filedialog</comment>
+        <translation>Tabellendokument</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Textdocument</source>
+        <comment>Filedialog</comment>
+        <translation>Textdokument</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Images</source>
+        <comment>Filedialog</comment>
+        <translation>Bilder</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Set URL to a local file</source>
+        <translation>URL zu einer lokalen Datei setzen</translation>
+    </message>
+    <message>
+        <location line="+324"/>
+        <source>%1 items on map
+</source>
+        <comment>Info about map</comment>
+        <translation>%1 Objekte in der Map
+</translation>
+    </message>
+    <message>
+        <location line="+707"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation>Farbe der Auswahlmarkierung</translation>
+    </message>
+    <message>
+        <location line="+174"/>
+        <source>Number of undo/redo levels:</source>
+        <translation>Anzahl der Rückgängig Aktionen</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <translation>Die Einstellungen wurden geändert. Die nächste geöffnete Map
+wird %1 Rückgängig Schritte haben.</translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Number of seconds before autosave:</source>
+        <translation>Anzahl der Sekunden vor automatischem Speichern</translation>
+    </message>
+    <message>
+        <location line="+47"/>
+        <source>Information</source>
+        <translation>Information</translation>
+    </message>
+    <message>
+        <location line="+473"/>
+        <source>History for %1</source>
+        <comment>Window Caption</comment>
+        <translation>Verlauf von %1</translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Export in last used format (%1) to: %2</source>
+        <comment>status tip</comment>
+        <translation>Exporte im zuletzt genutzten Format (%1) nach: %2</translation>
+    </message>
+    <message>
+        <location line="+441"/>
+        <source>Couldn&apos;t find the documentation %1 in:
+%2</source>
+        <translation>Konnte die Dokumentation %1 nicht finden in
+%2</translation>
+    </message>
+    <message>
+        <location line="+31"/>
+        <source>Load vym example map</source>
+        <translation>Lade vym Beispiel Map</translation>
+    </message>
+    <message>
+        <location line="-4340"/>
+        <source>I just love...</source>
+        <comment>Standardflag</comment>
+        <translation>Ich liebe das</translation>
+    </message>
+    <message>
+        <location line="+106"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation>Post</translation>
+    </message>
+    <message>
+        <location line="+1522"/>
+        <source>Open Freemind map</source>
+        <translation>Öffne Freemind map</translation>
+    </message>
+    <message>
+        <location line="+616"/>
+        <source>Link to another vym map</source>
+        <translation>Verbindung zu weiterer vym map</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation>Verbindung zu vym map</translation>
+    </message>
+    <message>
+        <location line="-3110"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation>Delta Priorität für sichtbare Aufgaben zurücksetzen</translation>
+    </message>
+    <message>
+        <location line="+1653"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation>Farbe auswählen (Drücke Shift für mehr Optionen)</translation>
+    </message>
+    <message>
+        <location line="+681"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation>Map konnte nicht gespeichert werden
+Konnte nicht umbenennen zu %1</translation>
+    </message>
+    <message>
+        <location line="+81"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation>Konnte nicht als Standard speichern, das umbennen ist fehlgeschlagen:
+%1</translation>
+    </message>
+    <message>
+        <location line="-1168"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation>Dunkles Design</translation>
+    </message>
+    <message>
+        <location line="+2990"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
+        <translation>Bitte vym neu starten um die Einstellungen für dunkles Design zu verwenden</translation>
+    </message>
+    <message>
+        <location line="+1180"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation>&lt;html&gt;&lt;h3&gt;Erlauben Sie vym online nach Updates oder Release Anmerkungen zu suchen?&lt;/h3&gt;Wenn Sie es erlauben, wird vym &lt;ul&gt;&lt;li&gt;einmalig online nach Release Anmerkungen suchen&lt;/li&gt;&lt;li&gt;regelmäßig nach Updates suchen und Sie benachrichtigen, sollten Updates wie z.B. wichtige Fehlerbehebungen verfügbar sein&lt;/li&gt;&lt;li&gt;ein cookie erhalten mit eineer zufällig erzeugten ID und einige anonymisierte Daten senden, wie z.B.&lt;ul&gt;&lt;li&gt;vym Version&lt;/li&gt;&lt;li&gt;Plattform Name und ID &quot;Windows&quot; oder &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;Einstellungen wie z.B. Sprache und ob dunkles Design verwendet wird&lt;/li&gt;&lt;/ul&gt;Diese Daten werden geschickt zum Author von vym: Uwe Drechsel.&lt;p&gt;Als vym Entwickler motiviert es mich zu sehen, wenn viele Menschen vym benutzen. Natürlich bin ich neugierig, auf welchen Plattformen vym verwendet wird. Jede dieser Plattformen benötigt eine Menge meiner (Frei-)zeit.&lt;/p&gt; &lt;p&gt;Abgesehen von obigen Daten wird nichts weiteres gesendet, insbesondere keine privaten Daten. (Bitte bei Zweifel gerne die Quellen prüfen!)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;Falls Sie es nicht zulassen, wird&lt;ul&gt;&lt;li&gt;nichts heruntergeladen und &lt;b&gt;besonders werde ich nicht motiviert&lt;/b&gt; weiter tausende Stunden meiner Zeit in die Entwicklung einer freien Software zu stecken.&lt;/ul&gt;Bitte erlauben Sie vym nach Updates zu sehen :-)</translation>
+    </message>
+    <message>
+        <location line="+54"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation>Schade, ich würde mich wirklich freuen, wenn ich viele Menschen vym benutzen sehe und auch auf welchen Plattformen vym genutzt wird.</translation>
+    </message>
+    <message>
+        <location line="-4126"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation>Skript Befehle anzeigen</translation>
+    </message>
+</context>
+<context>
+    <name>MapEditor</name>
+    <message>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
+        <source>Map Editor</source>
+        <comment>Shortcut scope</comment>
+        <translation>Map Editor</translation>
+    </message>
+    <message>
+        <location line="+80"/>
+        <location line="+5"/>
+        <source>Edit heading</source>
+        <comment>MapEditor</comment>
+        <translation>Zweig-Überschrift bearbeiten</translation>
+    </message>
+    <message>
+        <location line="+446"/>
+        <source>Print vym map</source>
+        <comment>MapEditor</comment>
+        <translation>Map drucken</translation>
+    </message>
+    <message>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation>%1 Objekte ausgewählt</translation>
+    </message>
+</context>
+<context>
+    <name>NoteEditor</name>
+    <message>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
+        <source>Note Editor</source>
+        <comment>Name of editor shown as window title</comment>
+        <translation>Notiz Editor</translation>
+    </message>
+</context>
+<context>
+    <name>QObject</name>
+    <message>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation>Map AO report exportieren</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
+        <source>Critical Export Error</source>
+        <translation>Kritischer Fehler beim Exportieren</translation>
+    </message>
+    <message>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
+        <source>Could not write %1</source>
+        <translation>%1 konnte nicht </translation>
+    </message>
+    <message>
+        <location filename="../src/export-base.cpp" line="+124"/>
+        <source>Exporting to %1 will overwrite the existing file:
+%2</source>
+        <translation>Die Datei %2 gibt es bereits.
+Wollen Sie sie überschreiben für einen Export nach %1?</translation>
+    </message>
+    <message>
+        <location line="-2"/>
+        <source>Warning: Overwriting file</source>
+        <translation>Warnung: Überschreiben einer Datei</translation>
+    </message>
+    <message>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <source>Could not export as AO to %1</source>
+        <translation>Konnte nicht als AO nach %1 exportieren</translation>
+    </message>
+    <message>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <source>Could not export as ASCII to %1</source>
+        <translation>Konnte nicht als ASCII nach %1 exportieren</translation>
+    </message>
+    <message>
+        <location filename="../src/export-csv.cpp" line="-8"/>
+        <source>Export as CSV</source>
+        <translation>Exportiere als CSV</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Could not export as CSV to %1</source>
+        <translation>Konnte nicht als CSV nach %1 exportieren</translation>
+    </message>
+    <message>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
+        <source>Contents:</source>
+        <comment>Used in HTML export</comment>
+        <translation>Inhalt</translation>
+    </message>
+    <message>
+        <location filename="../src/export-html.cpp" line="+54"/>
+        <source>Export aborted.</source>
+        <translation>Export fehlgeschlagen.</translation>
+    </message>
+    <message>
+        <location line="+114"/>
+        <source>Trying to create directory for flags:</source>
+        <translation>Versuche Verzeichnis für Flags anzulegen</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Could not create %1</source>
+        <translation>%1 konnte nicht angelegt werden</translation>
+    </message>
+    <message>
+        <location line="-369"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation>Flag: %1</translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation>Flag: URL</translation>
+    </message>
+    <message>
+        <location line="+229"/>
+        <location line="+99"/>
+        <source>Critical</source>
+        <translation>Kritisch</translation>
+    </message>
+    <message>
+        <location line="-98"/>
+        <source>Could not find stylesheet %1</source>
+        <translation>Konnte stylesheet %1 nicht finden</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Error</source>
+        <comment>ExportHTML</comment>
+        <translation>Fehler</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Could not copy
+%1 to
+%2</source>
+        <comment>ExportHTML</comment>
+        <translation>Kopieren fehlgeschlagen:
+%1 nach
+%2</translation>
+    </message>
+    <message>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
+        <source>Trying to save HTML file:</source>
+        <translation>Versuche HTML Datei zu speichern:</translation>
+    </message>
+    <message>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
+        <source>Export failed.</source>
+        <translation>Export fehlgeschlagen.</translation>
+    </message>
+    <message>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
+        <source>Could not export as OrgMode to %1</source>
+        <translation>Konnte nicht als OrgMode  nach %1 exportieren</translation>
+    </message>
+    <message>
+        <location filename="../src/export-latex.cpp" line="-1"/>
+        <source>Could not export as LaTeX to %1</source>
+        <translation>Konnte nicht als LaTeX  nach %1 exportieren</translation>
+    </message>
+    <message>
+        <location filename="../src/export-impress.cpp" line="-116"/>
+        <source>Export as LibreOffice Impress presentation</source>
+        <translation>Exportieren als LibreOffice Impress Präsentation</translation>
+    </message>
+    <message>
+        <location line="+42"/>
+        <source>No objects in map!</source>
+        <translation>Keine Objekte in Map!</translation>
+    </message>
+    <message>
+        <location line="+107"/>
+        <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
+        <translation>Konnte Einstellungen nicht lesen von %1</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Check &quot;%1&quot; in
+%2</source>
+        <translation>Bitte &quot;%1&quot; prüfen in
+%2</translation>
+    </message>
+    <message>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <source>Could not read %1</source>
+        <translation>%1 konnte nicht gelesen werden</translation>
+    </message>
+    <message>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
+        <source>Critical Error</source>
+        <translation>Kritischer Fehler</translation>
+    </message>
+    <message>
+        <location line="-200"/>
+        <source>Couldn&apos;t move existing file out of the way before saving.</source>
+        <translation>Konnte bereits existierende Datei vor dem Speichern nicht verschieben</translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
+        <translation>Konnte %1 nicht starten um die Daten zu komprimieren!
+Die Map konnte nicht gespeichert werden: Bitte prüfen, ob eine Backup Datei vorhanden ist oder die Map als XML Datei exportieren!</translation>
+    </message>
+    <message>
+        <location line="-50"/>
+        <location line="+63"/>
+        <source>zip didn&apos;t exit normally</source>
+        <translation>zip wurde nicht richtig beendet</translation>
+    </message>
+    <message>
+        <location line="+18"/>
+        <source>Couldn&apos;t rename %1 back to %2</source>
+        <translation>Konnte %1 nicht umbenennen zu %2</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Couldn&apos;t remove target of old symbolic link %1</source>
+        <translation>Konnte Ziel des alten symbolischen Links %1 nicht entfernen</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
+        <translation>Konnte Ausgabe nicht zum Ziel des alten symbolischen Links %1 umbenennen</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
+        <translation>Konnte nicht von %1 zum Ziel des symblischen Links %2 verlinken</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Saved %1, but couldn&apos;t remove %2</source>
+        <translation>%1 wurde gespeichert, aber %2 konnte nicht entfernt werden</translation>
+    </message>
+    <message>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation>Konnte %1 nicht starten, um die Daten auszupacken!</translation>
+    </message>
+    <message>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
+        <source>Could not start %1</source>
+        <translation>%1 konnte nicht gestartet werden</translation>
+    </message>
+    <message>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
+        <source>%1 didn&apos;t exit normally</source>
+        <translation>%1 wurde nicht richtig beendet</translation>
+    </message>
+    <message>
+        <location line="-389"/>
+        <source>Overwrite</source>
+        <translation>Überschreiben</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Cancel</source>
+        <translation>Abbrechen</translation>
+    </message>
+    <message>
+        <location filename="../src/macros.cpp" line="+46"/>
+        <source>Warning</source>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
+        <source>Error</source>
+        <translation>Fehler</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
+        <source>Couldn&apos;t access temporary directory
+</source>
+        <translation>Auf das temporäre Verzeichnis konnte nicht zugegriffen werden</translation>
+    </message>
+    <message>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
+        <source>Export as ASCII</source>
+        <translation>Exportiere als ASCII</translation>
+    </message>
+    <message>
+        <location filename="../src/export-ao.cpp" line="-14"/>
+        <source>(still experimental)</source>
+        <translation>(noch experimentelle Funktion)</translation>
+    </message>
+    <message>
+        <location filename="../src/file.cpp" line="-422"/>
+        <source>The directory %1 is not empty.
+Do you risk to overwrite its contents?</source>
+        <comment>write directory</comment>
+        <translation>Das Verzeichnis %1 ist nicht leer.
+Riskieren Sie es dessen Inhalt zu überschreiben?</translation>
+    </message>
+    <message>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation>Warnung: Versionsproblem</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <translation>&lt;h3&gt;Map ist neuer als VYM&lt;/h3&gt;&lt;p&gt;Die Map, die Sie gerade versuchen zu laden wurde mit vym %1 gespeichert. Die vorliegende Version von vym ist %2. Falls nach dem Fortfahren mit Ok Probleme autauchen, sollte ein Update von vym helfen.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
+        <translation>Die Map wird nur zum Lesen geöffnet, da nicht alle Information aus der neuen Map mit dieser Version von vym gespeichert werden können. Bitte vorsichtig sein!</translation>
+    </message>
+    <message>
+        <source>Couldn&apos;t find macros at  %1.
+</source>
+        <translation type="vanished">Konnte Makro nicht finden in %1.</translation>
+    </message>
+    <message>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
+</source>
+        <comment>Macros::pathExists</comment>
+        <translation>Konnte Makro nicht finden in %1.</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>Bitte setzen sie einen Pfad in Einstellungen-&gt;</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
+        <translation>Verzeichnis für vym Makros</translation>
+    </message>
+    <message>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
+        <translation>Als Markdown exportieren</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
+        <translation>Konnte nicht als Markdown nach %1 exportieren</translation>
+    </message>
+    <message>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation>Konnte kein Anwendung finden, um vym Datein auszupacken (unzip), oder die Windows Version ist älter als Windows 10.</translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
+ </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
+        <translation>Konnte Tool zum Auspacken oder Komprimieren der Daten nicht finden. Bitte passend zur Plattform installieren und Pfad in den Einstellungen setzen.</translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
+        <translation>Konnte %1 nicht öffnen.
+</translation>
+    </message>
+    <message>
+        <source>Couldn&apos;t read macros from &quot;%1&quot;
+.</source>
+        <translation type="vanished">Konnte Makro nicht finden in %1.
+</translation>
+    </message>
+    <message>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation>Konnte Makros nicht speichern nach &quot;%1&quot;
+</translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation>Konnte script nicht lesen von &quot;%1&quot;
+</translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
+        <translation>Konnte script nicht speichern in &quot;%1&quot;
+</translation>
+    </message>
+    <message>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
+        <translation>Exportieren als Firefox Lesezeichen</translation>
+    </message>
+    <message>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation>Konnte Firefox Lesezeichen nicht exportieren nach %1</translation>
+    </message>
+    <message>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation>Importiere Firefox Lesezeichen</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
+        <translation>Importiere Lesezeichen:</translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation>%1 Lesezeichen importiert.</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="+838"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
+        <translation>Die unten aufgelisteten Maps hatten Lockfiles. Bitte prüfe, ob die Maps in einer weiteren Instanz von vym gerade geöffnet sind:
+</translation>
+    </message>
+    <message>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
+        <translation>JIRA agent ist nicht eingerichtet</translation>
+    </message>
+    <message>
+        <location filename="../src/export-html.cpp" line="-215"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation>Bild: %1</translation>
+    </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
+    <message>
+        <source>Form</source>
+        <translation type="vanished">Formular</translation>
+    </message>
+    <message>
+        <source>Reload</source>
+        <translation type="vanished">Neu laden</translation>
+    </message>
+    <message>
+        <source>Save as</source>
+        <translation type="vanished">Speichern als</translation>
+    </message>
+    <message>
+        <source>Save to selected slide</source>
+        <translation type="vanished">In ausgewählte Folie speichern</translation>
+    </message>
+    <message>
+        <source>Run</source>
+        <translation type="vanished">Starten</translation>
+    </message>
+    <message>
+        <source>Load</source>
+        <translation type="vanished">Laden</translation>
+    </message>
+    <message>
+        <source>Save</source>
+        <translation type="vanished">Speichern</translation>
+    </message>
+    <message>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
+        <source>Warning</source>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <location line="-42"/>
+        <source>Slide</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation>Folie</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Macro</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation>Makro</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation>Script</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation>Kein script geladen</translation>
+    </message>
+    <message>
+        <location line="+31"/>
+        <source>Couldn&apos;t get model to save script into slide!</source>
+        <translation>Konnte Datenmodell zum Speichern des Scripts nicht auffinden!</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Couldn&apos;t find slide to save script into slide!</source>
+        <translation>Konnte Folie zum Speichern des Scripts nicht finden!</translation>
+    </message>
+    <message>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation>Makros gespeichert nach %1</translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation>Script gespeichert nach %1</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>Save script</source>
+        <translation>Script speichern</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>The file %1
+exists already.
+Do you want to overwrite it?</source>
+        <comment>dialog &apos;save as&apos;</comment>
+        <translation>Die Datei %1 gibt es bereits.
+Wollen Sie sie überschreiben?</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Overwrite</source>
+        <translation>Überschreiben</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Cancel</source>
+        <translation>Abbrechen</translation>
+    </message>
+    <message>
+        <location line="-58"/>
+        <source>Load script</source>
+        <translation>Script laden</translation>
+    </message>
+</context>
+<context>
+    <name>ShowTextDialog</name>
+    <message>
+        <source>Close</source>
+        <translation type="vanished">Schliessen</translation>
+    </message>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
+    </message>
+</context>
+<context>
+    <name>TaskEditor</name>
+    <message>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Nur Aufgaben aus aktuelle Map anzeigen</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Nur aktive Aufgaben anzeigen</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Nur neue Aufgaben anzeigen</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Nur Blocker Aufgaben anzeigen</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Nur Aufgaben mit diesem Pfeil anzeigen</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Nur Aufgaben ohne Pfeil anzeigen</translation>
+    </message>
+</context>
+<context>
+    <name>TaskModel</name>
+    <message>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
+        <source>Prio</source>
+        <comment>TaskEditor</comment>
+        <translation>Priorität</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation>Delta</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Status</source>
+        <comment>TaskEditor</comment>
+        <translation>Status</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Age total</source>
+        <comment>TaskEditor</comment>
+        <translation>Alter insg.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Age mod.</source>
+        <comment>TaskEditor</comment>
+        <translation>Alter letzte Änderung</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Sleep</source>
+        <comment>TaskEditor</comment>
+        <translation>Wiedervorlage</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Map</source>
+        <comment>TaskEditor</comment>
+        <translation>Map</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation>Flaggen</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Task</source>
+        <comment>TaskEditor</comment>
+        <translation>Aufgabe</translation>
+    </message>
+</context>
+<context>
+    <name>TextEditor</name>
+    <message>
+        <location filename="../src/texteditor.cpp" line="+301"/>
+        <source>&amp;Import...</source>
+        <translation>&amp;Importiere</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>&amp;Export...</source>
+        <translation>&amp;Export</translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>&amp;Print...</source>
+        <translation>&amp;Drucken</translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>&amp;Undo</source>
+        <translation>R&amp;ückgängig</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&amp;Redo</source>
+        <translation>Wieder&amp;herstellen</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Select and copy &amp;all</source>
+        <translation>&amp;Alles auswählen und kopieren</translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>&amp;Copy</source>
+        <translation>&amp;Kopieren</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Cu&amp;t</source>
+        <translation>&amp;Ausschneiden</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&amp;Paste</source>
+        <translation>Ein&amp;fügen</translation>
+    </message>
+    <message>
+        <location line="-61"/>
+        <source>&amp;Delete All</source>
+        <translation>Alles &amp;löschen</translation>
+    </message>
+    <message>
+        <location line="+226"/>
+        <source>&amp;Settings</source>
+        <translation>&amp;Einstellungen</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set &amp;fixed font</source>
+        <translation>Wähle Zeichensatz mit f&amp;ixer Breite</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set &amp;variable font</source>
+        <translation>Wähle Zeichensatz mit v&amp;ariabler Breite</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>&amp;fixed font is default</source>
+        <translation>Verwende fixen Zeichensatz p&amp;er default</translation>
+    </message>
+    <message>
+        <location line="-262"/>
+        <source>Export &amp;As... (HTML)</source>
+        <translation>Exportiere Notiz &amp;als... (HTML)</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Export &amp;As...(ASCII)</source>
+        <translation>Exportiere a&amp;ls (ASCII)</translation>
+    </message>
+    <message>
+        <location line="+31"/>
+        <source>Edi&amp;t</source>
+        <translation>Edi&amp;tieren</translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Font hints</source>
+        <comment>toolbar in texteditor</comment>
+        <translation>Zeichensatz Hint</translation>
+    </message>
+    <message>
+        <location line="+28"/>
+        <source>Fonts</source>
+        <comment>toolbar in texteditor</comment>
+        <translation>Zeichensätze</translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>Format</source>
+        <comment>toolbar in texteditor</comment>
+        <translation>Format</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>&amp;Color...</source>
+        <translation>&amp;Farbe...</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>&amp;Bold</source>
+        <translation>F&amp;ett</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>&amp;Italic</source>
+        <translation>K&amp;ursiv</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>&amp;Underline</source>
+        <translation>&amp;Unterstrichen</translation>
+    </message>
+    <message>
+        <location line="+39"/>
+        <source>&amp;Left</source>
+        <translation>&amp;Linksbündig</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>C&amp;enter</source>
+        <translation>&amp;Zentriert</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>&amp;Right</source>
+        <translation>&amp;Rechtsbündig</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>&amp;Justify</source>
+        <translation>&amp;Blocksatz</translation>
+    </message>
+    <message>
+        <location line="+221"/>
+        <source>Export Note to single file</source>
+        <translation>Notiz in eine einzelne Datei exportieren</translation>
+    </message>
+    <message>
+        <location line="+15"/>
+        <location line="+76"/>
+        <source>Overwrite</source>
+        <translation>Überschreiben</translation>
+    </message>
+    <message>
+        <location line="-75"/>
+        <location line="+76"/>
+        <source>Cancel</source>
+        <translation>Abbrechen</translation>
+    </message>
+    <message>
+        <location line="-16"/>
+        <source>Export Note to single file (ASCII)</source>
+        <translation>Notiz als ASCII in eine einzelne Datei ausgeben</translation>
+    </message>
+    <message>
+        <location line="-432"/>
+        <source>&amp;Font hint</source>
+        <translation>Zeichensatz &amp;umschalten</translation>
+    </message>
+    <message>
+        <location line="+92"/>
+        <source>Subs&amp;cript</source>
+        <translation>&amp;Tiefgestellt</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Su&amp;perscript</source>
+        <translation>&amp;Hochgestellt</translation>
+    </message>
+    <message>
+        <location line="+80"/>
+        <source>Note Editor</source>
+        <translation>Notiz Editor</translation>
+    </message>
+    <message>
+        <location line="-186"/>
+        <source>F&amp;ormat</source>
+        <translation>F&amp;ormat</translation>
+    </message>
+    <message>
+        <location line="-122"/>
+        <location line="+54"/>
+        <location line="+64"/>
+        <source>Texteditor</source>
+        <comment>Shortcuts</comment>
+        <translation>Text Editor</translation>
+    </message>
+    <message>
+        <location line="-63"/>
+        <source>Edit Actions</source>
+        <translation>Edit Actions</translation>
+    </message>
+    <message>
+        <location line="-59"/>
+        <source>Note Actions</source>
+        <translation>Note Actions</translation>
+    </message>
+    <message>
+        <location line="-244"/>
+        <source>Ready</source>
+        <comment>Statusbar message</comment>
+        <translation>Bereit</translation>
+    </message>
+    <message>
+        <location line="+161"/>
+        <source>No filename available for this note.</source>
+        <comment>Statusbar message</comment>
+        <translation>Notiz hat keinen Dateinamen</translation>
+    </message>
+    <message>
+        <location line="+85"/>
+        <source>&amp;Note</source>
+        <comment>Menubar</comment>
+        <translation>&amp;Notiz</translation>
+    </message>
+    <message>
+        <location line="+140"/>
+        <source>&amp;Richtext</source>
+        <translation>&amp;Richtext</translation>
+    </message>
+    <message>
+        <location line="+354"/>
+        <location line="+76"/>
+        <source>The file %1
+exists already.
+Do you want to overwrite it?</source>
+        <comment>dialog &apos;save note as&apos;</comment>
+        <translation>Die Datei %1 gibt es bereits.
+Wollen Sie sie überschreiben?</translation>
+    </message>
+    <message>
+        <location line="-51"/>
+        <source>Couldn&apos;t export note </source>
+        <comment>dialog &apos;save note as&apos;</comment>
+        <translation>Konnte Notiz nicht exportieren</translation>
+    </message>
+    <message>
+        <location line="+86"/>
+        <source>Print</source>
+        <comment>TextEditor</comment>
+        <translation>Drucken</translation>
+    </message>
+    <message>
+        <location line="-310"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation>Setze Standardfarbe für Hintergrund mit RichText</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation>Setze Standardzeichenfarbe für RichText</translation>
+    </message>
+</context>
+<context>
+    <name>TreeEditor</name>
+    <message>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
+        <source>Select upper object</source>
+        <comment>Tree Editor</comment>
+        <translation>Zweig oben auswählen</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Select lower object</source>
+        <comment>Tree Editor</comment>
+        <translation>Zweig unten auswählen</translation>
+    </message>
+</context>
+<context>
+    <name>VymModel</name>
+    <message>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation>unbekannter Benutzer</translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>unnamed</source>
+        <translation>unbenannt</translation>
+    </message>
+    <message>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
+        <source>Critical Parse Error</source>
+        <translation>Kritischer Fehler beim Verarbeiten</translation>
+    </message>
+    <message>
+        <location line="-124"/>
+        <location line="+48"/>
+        <source>Critical Load Error</source>
+        <translation>Kritischer Fehler beim Laden</translation>
+    </message>
+    <message>
+        <location line="-47"/>
+        <source>Couldn&apos;t create temporary directory before load
+</source>
+        <translation>Konnte temporäres Verzeichnis vor dem Laden nicht erzeugen</translation>
+    </message>
+    <message>
+        <location line="+48"/>
+        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
+</source>
+        <translation>Konnte keine map (*.xml) in .vym Datei finden.
+</translation>
+    </message>
+    <message>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation>Die Map %1
+verwendete nicht das komprimierte vym Dateiformat.
+Schreiben ohne Komprimierung würde auch Bilder und Flaggen schreiben und 
+könnte damit Dateien im  Verzeichnis überschreiben
+
+Soll die Map geschrieben werden?</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation>unkomprimiert, u.U werden Daten überschrieben</translation>
+    </message>
+    <message>
+        <location line="+325"/>
+        <source>unknown user</source>
+        <comment>Default for lockfiles of maps</comment>
+        <translation>unbekannter Benutzer</translation>
+    </message>
+    <message>
+        <location line="+37"/>
+        <source>Warning: Map already opended</source>
+        <comment>VymModel</comment>
+        <translation>Warnung: Map ist bereits geöffnet</translation>
+    </message>
+    <message>
+        <location line="-365"/>
+        <source>compressed (vym default)</source>
+        <translation>komprimieren (vym default)</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <location line="+201"/>
+        <source>Cancel</source>
+        <translation>Abbrechen</translation>
+    </message>
+    <message>
+        <location line="-175"/>
+        <location line="+7"/>
+        <source>Save Error</source>
+        <translation>Fehler beim Speichern</translation>
+    </message>
+    <message>
+        <location line="-6"/>
+        <source>%1
+could not be removed before saving</source>
+        <translation>%1
+konnte vor dem Speichern nicht entfernt werden</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>%1
+could not be renamed before saving</source>
+        <translation>%1
+konnte vor dem Speichern nicht umbenannt werden</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Critical Save Error</source>
+        <translation>Kritischer Fehler beim Speichern</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Couldn&apos;t create temporary directory before save
+</source>
+        <translation>Konnte temporäres Verzeichnis vor dem Speichern nicht erzeugen</translation>
+    </message>
+    <message>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
+        <source>Images</source>
+        <translation>Bilder</translation>
+    </message>
+    <message>
+        <location line="-4276"/>
+        <location line="+60"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation>Alle</translation>
+    </message>
+    <message>
+        <location line="-56"/>
+        <source>Load image</source>
+        <translation>Lade Bild</translation>
+    </message>
+    <message>
+        <location line="+59"/>
+        <source>Save image</source>
+        <translation>Speichere Bild</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>The file %1 exists already.
+Do you want to overwrite it?</source>
+        <translation>Die Datei %1 gibt es bereits.
+Wollen Sie sie überschreiben?</translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Overwrite</source>
+        <translation>Überschreiben</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location line="+3543"/>
+        <source>Critical Error</source>
+        <translation>Kritischer Fehler</translation>
+    </message>
+    <message>
+        <location line="-3542"/>
+        <source>Couldn&apos;t save %1</source>
+        <translation>Konnte %1 nicht speichern</translation>
+    </message>
+    <message>
+        <location line="+28"/>
+        <source>Critical Import Error</source>
+        <translation>Kritischer Fehler beim Importieren</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Cannot find the directory %1</source>
+        <translation>Konnte das Verzeichnis %1 nicht finden</translation>
+    </message>
+    <message>
+        <location line="+50"/>
+        <location line="+4"/>
+        <source>Choose directory structure to import</source>
+        <translation>Bitte Verzeichnis zum Importieren auswählen</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>Map seems to be already opened in another vym instance!
+
+ Map is locked by &quot;%1&quot; on &quot;%2&quot;
+
+Please only delete the lockfile, if you are sure nobody else is currently working on this map.</source>
+        <translation>Map scheint schon in einer anderen vym-Instanz geöffnet zu sein!
+
+Map ist gesperrt von &quot;%1&quot; auf &quot;%2&quot;
+
+Bitte Lockdatei nur entfernen, wenn wirklich niemand anderes diese Map momentan verwendet.</translation>
+    </message>
+    <message>
+        <location line="+3063"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation>Kontaktiere JIRA...</translation>
+    </message>
+    <message>
+        <location line="-3104"/>
+        <source>Removed lockfile for %1</source>
+        <translation>Lockdateo für %1 entfernt.</translation>
+    </message>
+    <message>
+        <location line="+56"/>
+        <source>Couldn&apos;t remove lockfile for %1</source>
+        <translation>Konnte Lockdatei für %1 nicht entfernen</translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>Cannot create lockfile of map! It will be opened in readonly mode.
+
+</source>
+        <translation>Konnte Lockdatei nicht anlegen! Map wird nur zum Lesen geöffnet.</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Warning</source>
+        <comment>VymModel</comment>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <location line="+104"/>
+        <source>The file of the map  on disk has changed:
+
+   %1
+
+Do you want to reload that map with the new file?</source>
+        <translation>Die zur Map gehörende Datei hat sich verändert:
+
+   %1
+
+Soll die Map durch die neue Datei ersetzt werden?</translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Reload</source>
+        <translation>Neu laden</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Ignore</source>
+        <translation>Ignorieren</translation>
+    </message>
+    <message>
+        <location line="-131"/>
+        <location line="+3009"/>
+        <source>Warning</source>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <location line="-2684"/>
+        <source>Autosave disabled during undo.</source>
+        <translation>Autosave ausgeschaltet während der Aktion &quot;Rückgängig&quot;</translation>
+    </message>
+    <message>
+        <location line="+748"/>
+        <source>Note</source>
+        <comment>FindAll in VymModel</comment>
+        <translation>Notiz</translation>
+    </message>
+    <message>
+        <location line="+1026"/>
+        <source>New map</source>
+        <comment>New map</comment>
+        <translation>Neue Map</translation>
+    </message>
+    <message>
+        <location line="+1273"/>
+        <source>Export map as image</source>
+        <translation>Map als Bild exportieren</translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Couldn&apos;t save QImage %1 in format %2</source>
+        <translation>Konnte Bild %1 nicht im Format %2 speichern</translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>Export map as PDF</source>
+        <translation>Als PDF exportieren</translation>
+    </message>
+    <message>
+        <location line="+55"/>
+        <source>Export map as SVG</source>
+        <translation>Als SVG exportieren</translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Export map as XML</source>
+        <translation>Als XML exportieren</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Export XML to directory</source>
+        <translation>Exportiere XML in Verzeichnis</translation>
+    </message>
+    <message>
+        <location line="+47"/>
+        <source>Critical Export Error</source>
+        <translation>Kritischer Fehler beim Exportieren</translation>
+    </message>
+    <message>
+        <location line="+84"/>
+        <location line="+27"/>
+        <source>(still experimental)</source>
+        <translation>(noch experimentelle Funktion)</translation>
+    </message>
+    <message>
+        <location line="-28"/>
+        <location line="+27"/>
+        <source>Export as csv</source>
+        <translation>Exportiere als CSV</translation>
+    </message>
+    <message>
+        <location line="+369"/>
+        <source>Load background image</source>
+        <translation>Hintergrundbild laden</translation>
+    </message>
+    <message>
+        <location line="-998"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation>Konnte keine JIRA Ticket Zeichenfolge finden in %1</translation>
+    </message>
+    <message>
+        <location line="+98"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation>Jira Daten empfangen</translation>
+    </message>
+</context>
+<context>
+    <name>VymProcess</name>
+    <message>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
+        <source>Critical Error</source>
+        <translation>Kritischer Fehler</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>%1 didn&apos;t exit normally</source>
+        <translation>%1 wurde nicht richtig beendet</translation>
+    </message>
+    <message>
+        <location line="-5"/>
+        <source>Could not start %1</source>
+        <translation>Konnte nicht starten: %1</translation>
+    </message>
+</context>
+<context>
+    <name>VymView</name>
+    <message>
+        <location filename="../src/vymview.cpp" line="+34"/>
+        <source>Tree Editor</source>
+        <comment>Title of dockable editor widget</comment>
+        <translation>Baum Editor</translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Slide Editor</source>
+        <comment>Title of dockable editor widget</comment>
+        <translation>Folien Editor</translation>
+    </message>
+</context>
+<context>
+    <name>WarningDialog</name>
+    <message>
+        <location filename="../src/warningdialog.cpp" line="+10"/>
+        <source>Proceed</source>
+        <translation>Weiter</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Show this message again</source>
+        <translation>Diese Meldung das nächste Mal wieder zeigen</translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation>Warnung</translation>
+    </message>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
+    </message>
+    <message>
+        <location line="+35"/>
+        <source>Cancel</source>
+        <translation>Abbrechen</translation>
+    </message>
+    <message>
+        <source>Ok</source>
+        <translation type="vanished">Ok</translation>
+    </message>
+    <message>
+        <source>showAgainBox</source>
+        <translation type="vanished">showAgainBox</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>zip settings</source>
+        <translation type="vanished">zip Einstellungen</translation>
+    </message>
+    <message>
+        <source>zip tool:</source>
+        <translation type="vanished">zip Hilfsprogramm:</translation>
+    </message>
+    <message>
+        <source>Choose</source>
+        <translation type="vanished">Suchen</translation>
+    </message>
+    <message>
+        <source>Status</source>
+        <translation type="vanished">Status</translation>
+    </message>
+    <message>
+        <source>unzip tool:</source>
+        <translation type="vanished">unzip Hilfsprogramm:</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="vanished">Schliessen</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation>zip Einstellungen</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation>Pfad zu 7z.exe</translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation>Anwendung um Daten zu speichern (zip/unzip)</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation>Pfad zum zip Hilfsprogramm</translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation>Pfad zum unzip Hilfsprogramm</translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation>Status: %1</translation>
+    </message>
+</context>
+</TS>
diff --git a/lang/vym.de_DE.ts b/lang/vym.de_DE.ts
deleted file mode 100644 (file)
index 8aa04d3..0000000
+++ /dev/null
@@ -1,7156 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="de_DE">
-<context>
-    <name>AboutDialog</name>
-    <message>
-        <source>Ok</source>
-        <translation type="obsolete">Ok</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
-        <source>Credits</source>
-        <comment>Help-&gt;About vym dialog</comment>
-        <translation>Danke</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
-        <source>License</source>
-        <comment>Help-&gt;About vym dialog</comment>
-        <translation>Lizenz</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
-        <source>Ok</source>
-        <comment>Ok Button</comment>
-        <translation>Ok</translation>
-    </message>
-</context>
-<context>
-    <name>AboutTextBrowser</name>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Warnung</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
-        <translation type="obsolete">Konnte kein Programm zum Öffnen von %1 finden.</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
-        <source>Please use Settings-&gt;</source>
-        <translation>Bitte setzen sie einen Pfad in Einstellungen-&gt;</translation>
-    </message>
-    <message>
-        <source>Set application to open an URL</source>
-        <translation type="obsolete">Anwendung zum Öffnen von URLs...</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
-        <source>Warning</source>
-        <comment>About window</comment>
-        <translation>Warnung</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
-        <comment>About window</comment>
-        <translation>Konnte kein Programm zum Öffnen von %1 finden.</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
-        <source>Set application to open an URL...</source>
-        <translation>Anwendung zum Offnen einer URL...</translation>
-    </message>
-</context>
-<context>
-    <name>AttributeDialog</name>
-    <message>
-        <source>Close</source>
-        <translation type="obsolete">Schliessen</translation>
-    </message>
-</context>
-<context>
-    <name>BranchPropertyEditor</name>
-    <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
-        <source>Branch Property Editor</source>
-        <translation>Zweig Eigenschaften</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
-        <source>Frame</source>
-        <translation>Rahmen</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
-        <source>Geometry</source>
-        <translation>Geometrie</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
-        <source>No Frame</source>
-        <translation>Kein Rahmen</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
-        <source>Rectangle</source>
-        <translation>Rechteck</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
-        <source>Rounded Rectangle</source>
-        <translation>Rechteck, gerundet</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
-        <source>Ellipse</source>
-        <translation>Ellipse</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
-        <source>Cloud</source>
-        <translation>Wolke</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
-        <source>Padding</source>
-        <translation>Abstand</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
-        <source>Borderline width</source>
-        <translation>Stärke Begrenzungslinie</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
-        <source>Include children</source>
-        <translation>Unterzweige mit einrahmen</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
-        <source>Colors</source>
-        <translation>Farben</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
-        <source>Borderline color</source>
-        <translation>Farbe Begrenzungslinie</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
-        <source>Background color</source>
-        <translation>Hintergrundfarbe</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
-        <source>Layout</source>
-        <translation>Layout</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
-        <source>Include images horizontally</source>
-        <translation>Linke und rechte Bildkanten berücksichtigen</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
-        <source>Include images vertically</source>
-        <translation>Obere und untere Bildkanten berücksichtigen</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
-        <source>Free positioning of children (experimental!)</source>
-        <translation>Unterzweige frei positionieren (experimentell!)</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
-        <source>Link</source>
-        <translation>Verbindung</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
-        <source>Hide link if unselected</source>
-        <translation>Verbindung verbergen, falls nicht selektiert</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
-        <source>Attributes</source>
-        <translation>Attribute</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
-        <source>+</source>
-        <translation>+</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
-        <source>-</source>
-        <translation>-</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation>Eigenschaften</translation>
-    </message>
-</context>
-<context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Eigenschaften</translation>
-    </message>
-    <message>
-        <source>Name</source>
-        <comment>Branchprop window: Attribute name</comment>
-        <translation type="obsolete">Name</translation>
-    </message>
-    <message>
-        <source>Value</source>
-        <comment>Branchprop window: Attribute value</comment>
-        <translation type="obsolete">Wert</translation>
-    </message>
-    <message>
-        <source>Type</source>
-        <comment>Branchprop window: Attribute type</comment>
-        <translation type="obsolete">Typ</translation>
-    </message>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation type="obsolete">Zweig Eigenschaften</translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation type="obsolete">Rahmen</translation>
-    </message>
-    <message>
-        <source>Geometry</source>
-        <translation type="obsolete">Geometrie</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Kein Rahmen</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rechteck</translation>
-    </message>
-    <message>
-        <source>Rounded Rectangle</source>
-        <translation type="obsolete">Rechteck, gerundet</translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation type="obsolete">Ellipse</translation>
-    </message>
-    <message>
-        <source>Cloud</source>
-        <translation type="obsolete">Wolke</translation>
-    </message>
-    <message>
-        <source>Padding</source>
-        <translation type="obsolete">Abstand</translation>
-    </message>
-    <message>
-        <source>Borderline width</source>
-        <translation type="obsolete">Stärke Begrenzungslinie</translation>
-    </message>
-    <message>
-        <source>Include children</source>
-        <translation type="obsolete">Unterzweige mit einrahmen</translation>
-    </message>
-    <message>
-        <source>Colors</source>
-        <translation type="obsolete">Farben</translation>
-    </message>
-    <message>
-        <source>Borderline color</source>
-        <translation type="obsolete">Farbe Begrenzungslinie</translation>
-    </message>
-    <message>
-        <source>Background color</source>
-        <translation type="obsolete">Hintergrundfarbe</translation>
-    </message>
-    <message>
-        <source>Layout</source>
-        <translation type="obsolete">Layout</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Linke und rechte Bildkanten berücksichtigen</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Obere und untere Bildkanten berücksichtigen</translation>
-    </message>
-    <message>
-        <source>Link</source>
-        <translation type="obsolete">Verbindung</translation>
-    </message>
-    <message>
-        <source>Hide link if unselected</source>
-        <translation type="obsolete">Verbindung verbergen, falls nicht selektiert</translation>
-    </message>
-    <message>
-        <source>Attributes</source>
-        <translation type="obsolete">Attribute</translation>
-    </message>
-    <message>
-        <source>+</source>
-        <translation type="obsolete">+</translation>
-    </message>
-    <message>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
-    </message>
-    <message>
-        <source>Close</source>
-        <translation type="obsolete">Schliessen</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadAgent</name>
-    <message>
-        <source>warning</source>
-        <translation type="vanished">Warnung</translation>
-    </message>
-    <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
-        <source>Warning</source>
-        <translation>Warnung</translation>
-    </message>
-</context>
-<context>
-    <name>EditXLinkDialog</name>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
-        <source>Edit XLink</source>
-        <translation>xLink ändern</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
-        <source>Arrow begin:</source>
-        <translation>Pfeilschaft</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
-        <source>XLink width:</source>
-        <translation>xLink Dicke:</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
-        <source>Use color of heading</source>
-        <translation>Farbe der Beschriftung verwenden</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
-        <source>Line style:</source>
-        <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation>Stil der Verbindungslinie</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
-        <source>Arrow end:</source>
-        <translation>Pfeilspitze</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
-        <source>Close</source>
-        <translation>Schliessen</translation>
-    </message>
-    <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">Farbe Heading</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
-        <source>XLink color:</source>
-        <translation>Farbe xLink:</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
-        <source>Use as default:</source>
-        <translation>Als Standard verwenden:</translation>
-    </message>
-    <message>
-        <source>Delete XLink</source>
-        <translation type="obsolete">xLink löschen</translation>
-    </message>
-    <message>
-        <source>Ok</source>
-        <translation type="obsolete">Ok</translation>
-    </message>
-</context>
-<context>
-    <name>ExportHTMLDialog</name>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
-        <source>Export HTML</source>
-        <translation>Exportiere HTML</translation>
-    </message>
-    <message>
-        <source>Directory:</source>
-        <translation type="obsolete">Verzeichnis:</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
-        <source>Export to directory:</source>
-        <translation>Export Verzeichnis:</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
-        <source>Browse</source>
-        <translation>Durchsuchen</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
-        <source>Options</source>
-        <translation>Optionen</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
-        <source>Image of map</source>
-        <translation>Bild der vym map</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
-        <source>Include images</source>
-        <translation>Bilder verwenden</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
-        <source>Table of contents</source>
-        <translation>Inhaltsverzeichnis</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
-        <source>Task flags</source>
-        <translation>Flags der Aufgaben</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
-        <source>General flags</source>
-        <translation>Allgemeine Flags</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
-        <source>Number sections</source>
-        <translation>Abschnitte numerieren</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
-        <source>Copy CSS from </source>
-        <translation>CSS Vorlage kopieren von</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
-        <source>Use CSS from</source>
-        <translation>CSS verwenden von</translation>
-    </message>
-    <message>
-        <source>Include image</source>
-        <translation type="obsolete">Bild erzeugen</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
-        <source>Colored headings in text</source>
-        <translation>Farbe der Zweigbeschriftungen übernehmen</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
-        <source>Save settings in map</source>
-        <translation>Einstellungen in map speichern</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
-        <source>Stylesheets</source>
-        <translation>Stylesheets</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
-        <source>Scripts</source>
-        <translation>Skripte</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
-        <source>After Export:</source>
-        <translation>Nach Export:</translation>
-    </message>
-    <message>
-        <source>Include image of map</source>
-        <translation type="obsolete">Bild der Map erzeugen</translation>
-    </message>
-    <message>
-        <source>use WIKI style</source>
-        <translation type="obsolete">WIKI Stil verwenden</translation>
-    </message>
-    <message>
-        <source>show output</source>
-        <translation type="obsolete">Ausgabe der Scripte anzeigen</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
-        <source>Export</source>
-        <translation>Exportieren</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
-        <source>Warning</source>
-        <translation>Warnung</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
-        <source>The settings saved in the map would like to run script:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation>Die in der Map gespeicherten Einstellungen möchten gerne Skripte starten:
-
-%1
-
-Bitte prüfen Sie, ob Sie das wirklich erlauben wollen!</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
-        <source>VYM - Export HTML to directory</source>
-        <translation>VYM - Exportiere HTML in Verzeichnis</translation>
-    </message>
-    <message>
-        <source>Critcal export error</source>
-        <translation type="obsolete">Kritischer Fehler beim Exportieren</translation>
-    </message>
-    <message>
-        <source>create image only</source>
-        <translation type="obsolete">Nur Bild erzeugen</translation>
-    </message>
-    <message>
-        <source>use heading for URLs (instead of link target)</source>
-        <translation type="obsolete">Verwende Zweigbeschriftung für URL</translation>
-    </message>
-    <message>
-        <source>use image of earth to mark URLs in text</source>
-        <translation type="obsolete">Verwende Globus Symbol für URLs</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">Zeige Ausgabe der externen Skripte</translation>
-    </message>
-    <message>
-        <source>use default CSS file</source>
-        <translation type="obsolete">Default CSS Datei verwenden</translation>
-    </message>
-</context>
-<context>
-    <name>ExportXHTMLDialog</name>
-    <message>
-        <source>Export XHTML</source>
-        <translation type="obsolete">Exportiere XHTML</translation>
-    </message>
-    <message>
-        <source>Directory:</source>
-        <translation type="obsolete">Verzeichnis:</translation>
-    </message>
-    <message>
-        <source>Browse</source>
-        <translation type="obsolete">Durchsuchen</translation>
-    </message>
-    <message>
-        <source>Options</source>
-        <translation type="obsolete">Optionen</translation>
-    </message>
-    <message>
-        <source>Include image</source>
-        <translation type="obsolete">Bild erzeugen</translation>
-    </message>
-    <message>
-        <source>Include text</source>
-        <translation type="obsolete">Text erzeugen</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">Zeige Ausgabe der externen Skripte</translation>
-    </message>
-    <message>
-        <source>Export</source>
-        <translation type="obsolete">Exportieren</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Abbrechen</translation>
-    </message>
-    <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation type="obsolete">VYM - Exportiere HTML in Verzeichnis</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Kritischer Fehler</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start </source>
-        <translation type="obsolete">Konnte nicht starten</translation>
-    </message>
-    <message>
-        <source>didn&apos;t exit normally</source>
-        <translation type="obsolete">Exportiere XHTML</translation>
-    </message>
-    <message>
-        <source>Export to directory:</source>
-        <translation type="obsolete">Export Verzeichnis:</translation>
-    </message>
-    <message>
-        <source>Colored headings in text</source>
-        <translation type="obsolete">Farbige Headings im Text</translation>
-    </message>
-    <message>
-        <source>showWarnings e.g. if directory is not empty</source>
-        <translation type="obsolete">Warnung, falls Verzeichnis nicht leer ist</translation>
-    </message>
-    <message>
-        <source>Stylesheets</source>
-        <translation type="obsolete">Stylesheets</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
-    </message>
-    <message>
-        <source>XSL:</source>
-        <translation type="obsolete">XSL:</translation>
-    </message>
-    <message>
-        <source>VYM - Path to CSS file</source>
-        <translation type="obsolete">VYM - Pfad zu CSS Datei</translation>
-    </message>
-    <message>
-        <source>VYM - Path to XSL file</source>
-        <translation type="obsolete">VYM - Pfad zu XSL Datei</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Warnung</translation>
-    </message>
-    <message>
-        <source> could not be opened!</source>
-        <translation type="obsolete">konnte nicht geöffnet werden!</translation>
-    </message>
-    <message>
-        <source>Save settings in map</source>
-        <translation type="obsolete">Einstellungen in map speichern</translation>
-    </message>
-    <message>
-        <source>Scripts</source>
-        <translation type="obsolete">Skripte</translation>
-    </message>
-    <message>
-        <source>Before export:</source>
-        <translation type="obsolete">Vor Export:</translation>
-    </message>
-    <message>
-        <source>After Export:</source>
-        <translation type="obsolete">Nach Export:</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-</source>
-        <translation type="obsolete">Die in der Map gespeicherten Einstellungen wollen Skripte starten:
-
-</translation>
-    </message>
-    <message>
-        <source>Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">Bitte prüfen Sie, ob Sie das in Ihrem
-System wirklich zulassen wollen!</translation>
-    </message>
-    <message>
-        <source>VYM - Path to pre export script</source>
-        <translation type="obsolete">VYM - Pfad für Prä-Export Skript</translation>
-    </message>
-    <message>
-        <source>VYM - Path to post export script</source>
-        <translation type="obsolete">VYM -Pfad für Post-Export Skript</translation>
-    </message>
-    <message>
-        <source>Stylesheets:</source>
-        <translation type="obsolete">Stylesheets:</translation>
-    </message>
-    <message>
-        <source>Scripts:</source>
-        <translation type="obsolete">Skripte:</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">Die in der Map gespeicherten Einstellungen möchten gerne Skripte starten:
-
-%1
-
-Bitte prüfen Sie, ob Sie das wirklich erlauben wollen!</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">%1 konnte nicht geöffnet werden</translation>
-    </message>
-    <message>
-        <source>Could not write %1</source>
-        <translation type="obsolete">%1 konnte nicht geschrieben werden</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">Konnte %1 nicht starten</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 wurde nicht richtig beendet</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1</source>
-        <translation type="obsolete">%1 konnte nicht nicht gestartet werden</translation>
-    </message>
-</context>
-<context>
-    <name>ExtraInfoDialog</name>
-    <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
-        <source>VYM - Info</source>
-        <translation>VYM - Info</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
-        <source>Map:</source>
-        <translation>Map:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
-        <source>Title:</source>
-        <translation>Titel</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
-        <source>Author:</source>
-        <translation>Author:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
-        <source>Comment:</source>
-        <translation>Kommentar:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
-        <source>Statistics:</source>
-        <translation>Statistik:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
-        <source>Close</source>
-        <translation>Schliessen</translation>
-    </message>
-</context>
-<context>
-    <name>FindWidget</name>
-    <message>
-        <location filename="../findwidget.cpp" line="25"/>
-        <source>Find:</source>
-        <comment>FindWidget</comment>
-        <translation>Suchen nach:</translation>
-    </message>
-    <message>
-        <source>Next</source>
-        <comment>Find widget</comment>
-        <translation type="obsolete">Weiter</translation>
-    </message>
-    <message>
-        <source>Show all</source>
-        <comment>Find widget</comment>
-        <translation type="obsolete">Zeige alle Suchergebnisse</translation>
-    </message>
-</context>
-<context>
-    <name>FindWindow</name>
-    <message>
-        <source>Clear</source>
-        <translation type="obsolete">Neuer Suchbegriff</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Abbrechen</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Suchen</translation>
-    </message>
-    <message>
-        <source>Find Text</source>
-        <translation type="obsolete">Text suchen</translation>
-    </message>
-    <message>
-        <source>Text to find:</source>
-        <translation type="obsolete">Suchen nach:</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">Neue map</translation>
-    </message>
-</context>
-<context>
-    <name>HeadingEditor</name>
-    <message>
-        <location filename="../headingeditor.cpp" line="9"/>
-        <source>Heading Editor</source>
-        <comment>Window caption</comment>
-        <translation>Editor Zweigbeschriftungen</translation>
-    </message>
-</context>
-<context>
-    <name>HistoryWindow</name>
-    <message>
-        <location filename="../historywindow.ui" line="13"/>
-        <source>Dialog</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="50"/>
-        <source>Redo</source>
-        <translation>Wiederherstellen</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="72"/>
-        <source>Time</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="77"/>
-        <source>Comment</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="85"/>
-        <source>Undo</source>
-        <translation>Rückgängig</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>Schliessen</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.cpp" line="17"/>
-        <source>Action</source>
-        <comment>Table with actions</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.cpp" line="20"/>
-        <source>Comment</source>
-        <comment>Table with actions</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.cpp" line="23"/>
-        <source>Undo action</source>
-        <comment>Table with actions</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.cpp" line="125"/>
-        <source>Current state</source>
-        <comment>Current bar in history hwindow</comment>
-        <translation>Aktueller Zustand</translation>
-    </message>
-</context>
-<context>
-    <name>LineEditDialog</name>
-    <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation>Dialog</translation>
-    </message>
-    <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
-        <source>TextLabel</source>
-        <translation>TextLabel</translation>
-    </message>
-    <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
-        <source>Ok</source>
-        <translation>Ok</translation>
-    </message>
-</context>
-<context>
-    <name>LockedFileDialog</name>
-    <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation>Dialog</translation>
-    </message>
-    <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
-        <source>Delete lockfile</source>
-        <translation>Lockdatei entfernen</translation>
-    </message>
-    <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
-        <source>Open readonly</source>
-        <translation type="unfinished">Nur zum Lesen öffnen</translation>
-    </message>
-</context>
-<context>
-    <name>Main</name>
-    <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">&amp;Datei</translation>
-    </message>
-    <message>
-        <source>New map</source>
-        <translation type="obsolete">Neu</translation>
-    </message>
-    <message>
-        <source>&amp;New...</source>
-        <translation type="obsolete">&amp;Neu...</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <translation type="obsolete">Öffnen</translation>
-    </message>
-    <message>
-        <source>&amp;Open...</source>
-        <translation type="obsolete">&amp;Öffnen...</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">Speichern</translation>
-    </message>
-    <message>
-        <source>&amp;Save...</source>
-        <translation type="obsolete">&amp;Speichern...</translation>
-    </message>
-    <message>
-        <source>Save &amp;As...</source>
-        <translation type="obsolete">Speichern &amp;unter...</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <translation type="obsolete">Importiere Verzeichnisstruktur (experimentelle Funktion)</translation>
-    </message>
-    <message>
-        <source>Import Dir</source>
-        <translation type="obsolete">Importiere Verzeichnis</translation>
-    </message>
-    <message>
-        <source>Export (png)</source>
-        <translation type="obsolete">Exportiere als png-Grafik</translation>
-    </message>
-    <message>
-        <source>&amp;Export (png)</source>
-        <translation type="obsolete">&amp;Export (png)</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <translation type="obsolete">Drucken</translation>
-    </message>
-    <message>
-        <source>&amp;Print...</source>
-        <translation type="obsolete">&amp;Drucken...</translation>
-    </message>
-    <message>
-        <source>Close Map</source>
-        <translation type="obsolete">Schließen</translation>
-    </message>
-    <message>
-        <source>&amp;Close Map</source>
-        <translation type="obsolete">Schlie&amp;ßen</translation>
-    </message>
-    <message>
-        <source>Exit VYM</source>
-        <translation type="obsolete">Beenden</translation>
-    </message>
-    <message>
-        <source>E&amp;xit VYM</source>
-        <translation type="obsolete">B&amp;eenden</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <translation type="obsolete">&amp;Bearbeiten</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">Rückgängig</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <translation type="obsolete">&amp;Rückgängig</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <translation type="obsolete">Kopieren</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <translation type="obsolete">&amp;Kopieren</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <translation type="obsolete">Ausschneiden</translation>
-    </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <translation type="obsolete">&amp;Ausschneiden</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <translation type="obsolete">Einfügen</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <translation type="obsolete">Ein&amp;fügen</translation>
-    </message>
-    <message>
-        <source>Move branch up</source>
-        <translation type="obsolete">Zweig nach oben bewegen</translation>
-    </message>
-    <message>
-        <source>Move up</source>
-        <translation type="obsolete">Zweig nach oben</translation>
-    </message>
-    <message>
-        <source>Move branch down</source>
-        <translation type="obsolete">Zweig nach unten bewegen</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <translation type="obsolete">Zweig nach unten</translation>
-    </message>
-    <message>
-        <source>Scroll branch</source>
-        <translation type="obsolete">Zweig einrollen</translation>
-    </message>
-    <message>
-        <source>Unscroll all</source>
-        <translation type="obsolete">Alles aufrollen</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches</source>
-        <translation type="obsolete">Alle eingerollten Zweige aufrollen</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Finde</translation>
-    </message>
-    <message>
-        <source>Open URL</source>
-        <translation type="obsolete">URL öffnen</translation>
-    </message>
-    <message>
-        <source>Edit URL</source>
-        <translation type="obsolete">URL ändern</translation>
-    </message>
-    <message>
-        <source>Use heading of selected branch as URL</source>
-        <translation type="obsolete">Beschriftung dieses Zweiges auch als URL verwenden</translation>
-    </message>
-    <message>
-        <source>Use heading for URL</source>
-        <translation type="obsolete">Beschriftung als URL übernehmen</translation>
-    </message>
-    <message>
-        <source>Jump to another vym map, if needed load it first</source>
-        <translation type="obsolete">Gehe zu einer weiteren Map. (Falls nötig wird die Map vorher geöffnet.)</translation>
-    </message>
-    <message>
-        <source>Jump to map</source>
-        <translation type="obsolete">Gehe zu einer weiteren Map.</translation>
-    </message>
-    <message>
-        <source>Edit link to another vym map</source>
-        <translation type="obsolete">Bearbeite Verbindung zu einer Map</translation>
-    </message>
-    <message>
-        <source>Edit map link</source>
-        <translation type="obsolete">Bearbeite Verbindung zu einer Map</translation>
-    </message>
-    <message>
-        <source>edit Heading</source>
-        <translation type="obsolete">Bearbeite Zweig-Überschrift</translation>
-    </message>
-    <message>
-        <source>Edit heading</source>
-        <translation type="obsolete">Bearbeite Zweig-Überschrift</translation>
-    </message>
-    <message>
-        <source>Delete Selection</source>
-        <translation type="obsolete">Entfernen</translation>
-    </message>
-    <message>
-        <source>Add a branch as child of selection</source>
-        <translation type="obsolete">Neuer Zweig </translation>
-    </message>
-    <message>
-        <source>Add branch as child</source>
-        <translation type="obsolete">Neuer Zweig </translation>
-    </message>
-    <message>
-        <source>Add a branch above selection</source>
-        <translation type="obsolete">Neuer Zweig - oben</translation>
-    </message>
-    <message>
-        <source>Add branch above</source>
-        <translation type="obsolete">Neuer Zweig - oben</translation>
-    </message>
-    <message>
-        <source>Add a branch below selection</source>
-        <translation type="obsolete">Neuer Zweig - unten</translation>
-    </message>
-    <message>
-        <source>Add branch below</source>
-        <translation type="obsolete">Neuer Zweig - unten</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <translation type="obsolete">Zweig oben auswählen</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <translation type="obsolete">Zweig unten auswählen</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <translation type="obsolete">Linken Zweig auswählen</translation>
-    </message>
-    <message>
-        <source>Select right branch</source>
-        <translation type="obsolete">Zweig rechts</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <translation type="obsolete">Unterzweig auswählen</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <translation type="obsolete">Obersten Zweig auwählen</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <translation type="obsolete">Untersten Zweig auswählen</translation>
-    </message>
-    <message>
-        <source>Add Image</source>
-        <translation type="obsolete">Lade Bild</translation>
-    </message>
-    <message>
-        <source>&amp;Format</source>
-        <translation type="obsolete">&amp;Format</translation>
-    </message>
-    <message>
-        <source>Set Color</source>
-        <translation type="obsolete">Wähle Farbe</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>Wähle &amp;Farbe</translation>
-    </message>
-    <message>
-        <source>Pick color
-Hint: You can pick a color from another branch and color using CTRL+Left Button</source>
-        <translation type="obsolete">Farbe übernehmen
-Tipp: Zum Kopieren einer Farbe kann man auch CTRL+linke Maustaste nehmen.</translation>
-    </message>
-    <message>
-        <source>Pic&amp;k color</source>
-        <translation type="obsolete">Farbe &amp;übernehmen</translation>
-    </message>
-    <message>
-        <source>Color branch</source>
-        <translation type="obsolete">Zweig färben</translation>
-    </message>
-    <message>
-        <source>Color &amp;branch</source>
-        <translation type="obsolete">Zweig &amp;färben</translation>
-    </message>
-    <message>
-        <source>Color Subtree</source>
-        <translation type="obsolete">Unterbaum färben</translation>
-    </message>
-    <message>
-        <source>Color sub&amp;tree</source>
-        <translation type="obsolete">&amp;Unterbaum färben</translation>
-    </message>
-    <message>
-        <source>Line</source>
-        <translation type="obsolete">Linie</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
-        <source>Linkstyle Line</source>
-        <translation>Verbindungsstil Linie</translation>
-    </message>
-    <message>
-        <source>Linkstyle Parabel</source>
-        <translation type="obsolete">Verbindungsstil Parabel</translation>
-    </message>
-    <message>
-        <source>PolyLine</source>
-        <translation type="obsolete">Polygon</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
-        <source>Linkstyle Thick Line</source>
-        <translation>Verbindungsstil gefülltes Polygon</translation>
-    </message>
-    <message>
-        <source>PolyParabel</source>
-        <translation type="obsolete">Polyparabel</translation>
-    </message>
-    <message>
-        <source>Linkstyle Thick Parabel</source>
-        <translation type="obsolete">Verbindungsstil Gefüllte Parabel</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Kein Rahmen</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rechteck</translation>
-    </message>
-    <message>
-        <source>Use same color for links and headings</source>
-        <translation type="obsolete">Verbindungen haben Farbe der Beschriftungen</translation>
-    </message>
-    <message>
-        <source>&amp;Use color of heading for link</source>
-        <translation type="obsolete">&amp;Verbindungen haben Farbe der Beschriftungen</translation>
-    </message>
-    <message>
-        <source>Set Link Color</source>
-        <translation type="obsolete">Farbe der Verbindungen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
-        <source>Set &amp;Link Color</source>
-        <translation>&amp;Farbe der Verbindungen</translation>
-    </message>
-    <message>
-        <source>Set Background Color</source>
-        <translation type="obsolete">Hintergrundfarbe</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
-        <source>Set &amp;Background Color</source>
-        <translation>&amp;Hintergrundfarbe</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
-        <source>&amp;View</source>
-        <translation>&amp;Ansicht</translation>
-    </message>
-    <message>
-        <source>Zoom reset</source>
-        <translation type="obsolete">Keine Vergrösserung</translation>
-    </message>
-    <message>
-        <source>reset Zoom</source>
-        <translation type="obsolete">Keine Vergrösserung</translation>
-    </message>
-    <message>
-        <source>Zoom in</source>
-        <translation type="obsolete">Vergrössern</translation>
-    </message>
-    <message>
-        <source>Zoom out</source>
-        <translation type="obsolete">Verkleinern</translation>
-    </message>
-    <message>
-        <source>Toggle Note Editor</source>
-        <translation type="obsolete">Zeige Notiz Editor</translation>
-    </message>
-    <message>
-        <source>&amp;Next Window</source>
-        <translation type="obsolete">&amp;Nächstes Fenster</translation>
-    </message>
-    <message>
-        <source>Next Window</source>
-        <translation type="obsolete">Nächstes Fenster</translation>
-    </message>
-    <message>
-        <source>&amp;Previous Window</source>
-        <translation type="obsolete">&amp;Vorheriges Fenster</translation>
-    </message>
-    <message>
-        <source>Previous Window</source>
-        <translation type="obsolete">Vorheriges Fenster</translation>
-    </message>
-    <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">&amp;Einstellungen</translation>
-    </message>
-    <message>
-        <source>Set application to open pdf files</source>
-        <translation type="obsolete">pdf-Dateien öffnen mit...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
-        <source>Set application to open an URL</source>
-        <translation>URLs öffnen mit...</translation>
-    </message>
-    <message>
-        <source>Edit branch after adding it</source>
-        <translation type="obsolete">Zweig nach dem Einfügen neu beschriften</translation>
-    </message>
-    <message>
-        <source>Select branch after adding it</source>
-        <translation type="obsolete">Zweig nach dem Einfügen auswählen</translation>
-    </message>
-    <message>
-        <source>Select heading before editing</source>
-        <translation type="obsolete">Beschriftung vor dem editieren auswählen</translation>
-    </message>
-    <message>
-        <source>Select existing heading</source>
-        <translation type="obsolete">Beschriftung vor dem editieren auswählen</translation>
-    </message>
-    <message>
-        <source>Enable pasting into new branch</source>
-        <translation type="obsolete">Einfügen in neuen Zweig</translation>
-    </message>
-    <message>
-        <source>Enable Delete key for deleting branches</source>
-        <translation type="obsolete">Delete Taste zum Löschen von Zweigen verwenden</translation>
-    </message>
-    <message>
-        <source>Enable Delete key</source>
-        <translation type="obsolete">Delete Taste zum Löschen von Zweigen verwenden</translation>
-    </message>
-    <message>
-        <source>&amp;Test</source>
-        <translation type="obsolete">&amp;Test</translation>
-    </message>
-    <message>
-        <source>Test Flag</source>
-        <translation type="obsolete">Test Flag</translation>
-    </message>
-    <message>
-        <source>test flag</source>
-        <translation type="obsolete">test Flag</translation>
-    </message>
-    <message>
-        <source>Count Canvas Items</source>
-        <translation type="obsolete">Zähle Canvas Items</translation>
-    </message>
-    <message>
-        <source>Count Items</source>
-        <translation type="obsolete">Zähle Items</translation>
-    </message>
-    <message>
-        <source>Show Clipboard</source>
-        <translation type="obsolete">Zeige Zwischenablage</translation>
-    </message>
-    <message>
-        <source>Show clipboard</source>
-        <translation type="obsolete">Zeige Zwischenablage</translation>
-    </message>
-    <message>
-        <source>Export to dir</source>
-        <translation type="obsolete">Exportiere in Verzeichnis</translation>
-    </message>
-    <message>
-        <source>Export to directory</source>
-        <translation type="obsolete">Exportiere in Verzeichnis</translation>
-    </message>
-    <message>
-        <source>&amp;Help</source>
-        <translation type="obsolete">&amp;Hilfe</translation>
-    </message>
-    <message>
-        <source>Open VYM Documentation (pdf)</source>
-        <translation type="obsolete">VYM Handbuch (pdf)</translation>
-    </message>
-    <message>
-        <source>Open VYM Documentation (pdf) </source>
-        <translation type="obsolete">VYM Handbuch (pdf)</translation>
-    </message>
-    <message>
-        <source>Information about VYM</source>
-        <translation type="obsolete">Information über VYM</translation>
-    </message>
-    <message>
-        <source>About VYM</source>
-        <translation type="obsolete">Über VYM</translation>
-    </message>
-    <message>
-        <source>Information about QT toolkit</source>
-        <translation type="obsolete">Informationen zum QT Toolkit</translation>
-    </message>
-    <message>
-        <source>About QT</source>
-        <translation type="obsolete">Über QT</translation>
-    </message>
-    <message>
-        <source>Save image</source>
-        <translation type="obsolete">Speichere Bild</translation>
-    </message>
-    <message>
-        <source>The file </source>
-        <translation type="obsolete">Die Datei</translation>
-    </message>
-    <message>
-        <source>
-exists already. Do you want to</source>
-        <translation type="obsolete">gibt es bereits. Wollen Sie sie</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
-        <source>Overwrite</source>
-        <translation>Überschreiben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t save</source>
-        <translation type="obsolete">Diese Datei konnte nicht gespeichert werden:</translation>
-    </message>
-    <message>
-        <source>Saved </source>
-        <translation type="obsolete">Datei gespeichert: </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
-        <source>Couldn&apos;t save </source>
-        <translation>Datei konnte nicht gespeichert werden </translation>
-    </message>
-    <message>
-        <source>The map </source>
-        <translation type="obsolete">Die Map </translation>
-    </message>
-    <message>
-        <source> has been modified but not saved yet. Do you want to</source>
-        <translation type="obsolete">wurde verändert aber noch nicht gespeichert. Wollen Sie</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
-        <source>Save modified map before closing it</source>
-        <translation>Speichern und Map schliessen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
-        <source>Discard changes</source>
-        <translation>Änderungen verwerfen</translation>
-    </message>
-    <message>
-        <source>This map is not saved yet. Do you want to</source>
-        <translation type="obsolete">Diese Map wurde noch nicht gespeichert. Wollen Sie </translation>
-    </message>
-    <message>
-        <source>Save map</source>
-        <translation type="obsolete">Speichern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
-        <source>Critical Error</source>
-        <translation>Kritischer Fehler</translation>
-    </message>
-    <message>
-        <source>Enter path for pdf reader:</source>
-        <translation type="obsolete">Pfad für pdf-Anwendung:</translation>
-    </message>
-    <message>
-        <source>Enter path for application to open an URL:</source>
-        <translation type="obsolete">Pfad zum Öffnen von URLs:</translation>
-    </message>
-    <message>
-        <source>Save &amp;As</source>
-        <translation type="obsolete">Speichern &amp;unter...</translation>
-    </message>
-    <message>
-        <source>Open Recent</source>
-        <translation type="obsolete">Zuletzt geöffnete Dateien</translation>
-    </message>
-    <message>
-        <source>Export</source>
-        <translation type="obsolete">Exportieren</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">als Bild</translation>
-    </message>
-    <message>
-        <source>Export as ASCII (still experimental)</source>
-        <translation type="obsolete">als ASCII Text (noch experimentell)</translation>
-    </message>
-    <message>
-        <source>Export (ASCII)</source>
-        <translation type="obsolete">als ASCII</translation>
-    </message>
-    <message>
-        <source>Edit Map Info</source>
-        <translation type="obsolete">Bearbeite Map Info</translation>
-    </message>
-    <message>
-        <source>Export XML</source>
-        <translation type="obsolete">Exportiere als XML</translation>
-    </message>
-    <message>
-        <source>Export HTML</source>
-        <translation type="obsolete">Exportiere als HTML</translation>
-    </message>
-    <message>
-        <source>The directory </source>
-        <translation type="obsolete">Das Verzeichnis</translation>
-    </message>
-    <message>
-        <source> is not empty. Do you risk to overwrite its contents?</source>
-        <translation type="obsolete">ist nicht leer.Riskieren sie es, das Verzeichnis zu überschreiben?</translation>
-    </message>
-    <message>
-        <source>
- is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation type="obsolete">
-ist bereits geöffnet. Die gleiche Map mehrfach in verschiedenen Ansichten zu öffnen 
-kann beim Beenden von vym zu Problemen führen. Wollen Sie</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
-        <source>Open anyway</source>
-        <translation>Trotzdem öffnen</translation>
-    </message>
-    <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Exportiere XML in Verzeichnis</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
-        <source>Critcal error</source>
-        <translation>Kritischer Fehler</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find the documentation
-vym.pdf in various places.</source>
-        <translation type="obsolete">Konnte die Dokumentation vym.pdf
-nirgends finden.</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a viewer to read vym.pdf.
-Please use Settings-&gt;</source>
-        <translation type="obsolete">Konnte kein Programm zum Anzeigen von vym.pdf
-finden. Bitte benutzen Sie Einstellungen-&gt;</translation>
-    </message>
-    <message>
-        <source>The map</source>
-        <translation type="obsolete">Die Map</translation>
-    </message>
-    <message>
-        <source> does not exist.
- Do you want to create a new one?</source>
-        <translation type="obsolete">gibt es nicht
-Wollen Sie eine neue anlegen?</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
-        <source>Create</source>
-        <translation>Anlegen</translation>
-    </message>
-    <message>
-        <source>Create URL to Bugzilla</source>
-        <translation type="obsolete">URL für Bugzilla anlegen</translation>
-    </message>
-    <message>
-        <source>Edit vym link</source>
-        <translation type="obsolete">vym Verknüpfung ändern</translation>
-    </message>
-    <message>
-        <source>Delete link to another vym map</source>
-        <translation type="obsolete">vym Verknüfung löschen</translation>
-    </message>
-    <message>
-        <source>Delete vym link</source>
-        <translation type="obsolete">vym Verknüpfung löschen</translation>
-    </message>
-    <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Kritischer Fehler beim Laden</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation type="obsolete">Konnte unzip nicht starten, um Daten zu dekomprimieren.</translation>
-    </message>
-    <message>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation type="obsolete">unzip wurde nicht richtig beendet</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">Konnte keine map (*.xml) in .vym Datei finden.
-</translation>
-    </message>
-    <message>
-        <source>Critical Save Error</source>
-        <translation type="obsolete">Kritischer Fehler beim Speichern</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation type="obsolete">Konnte zip nicht starten, um Daten zu komprimieren.</translation>
-    </message>
-    <message>
-        <source>zip didn&apos;t exit normally</source>
-        <translation type="obsolete">zip wurde nicht richtig beendet</translation>
-    </message>
-    <message>
-        <source>Saving the map as </source>
-        <translation type="obsolete">Das Speichern der map als</translation>
-    </message>
-    <message>
-        <source>
-will write it uncompressed.
-This will also write the directories for images
-and flags and thus may overwrite files in the given directory
-Do you want to</source>
-        <translation type="obsolete">
-wird die map unkomprimiert schreiben.
-Dabei werden Verzeichnisse für die Bilder und Flags erzeugt
-und dabei evtl. andere Daten im Verzeichnis überschrieben</translation>
-    </message>
-    <message>
-        <source>Proceed</source>
-        <translation type="obsolete">Weiter</translation>
-    </message>
-    <message>
-        <source>Saved</source>
-        <translation type="obsolete">Gespeichert: </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
-        <source>VYM -Information:</source>
-        <translation>vym-Information:</translation>
-    </message>
-    <message>
-        <source>No matches found for </source>
-        <translation type="obsolete">Keine Treffer gefunden für</translation>
-    </message>
-    <message>
-        <source>Export XHTML</source>
-        <translation type="obsolete">Exportiere XHTML</translation>
-    </message>
-    <message>
-        <source>
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">
-verwendet nicht das komprimierte vym Dateiformat.
-Wenn die Map unkomprimiert geschrieben werden soll,
-dann werden auch die Flags und Bilder im angegebenen 
-Verzeichnis geschrieben, was evtl. bestehende Daten
-überschreiben kann
-
-Wollen Sie die Map beim Schreiben</translation>
-    </message>
-    <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">komprimieren (vym default)</translation>
-    </message>
-    <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">unkomprimiert lassen</translation>
-    </message>
-    <message>
-        <source>Use for Export</source>
-        <translation type="obsolete">Benutze für Export</translation>
-    </message>
-    <message>
-        <source>Add map at selection</source>
-        <translation type="obsolete">Map an Auswahl anhängen</translation>
-    </message>
-    <message>
-        <source>Import (add)</source>
-        <translation type="obsolete">Import (hinzufügen)</translation>
-    </message>
-    <message>
-        <source>Replace selection with map</source>
-        <translation type="obsolete">Auswahl mit Map ersetzen</translation>
-    </message>
-    <message>
-        <source>Import (replace)</source>
-        <translation type="obsolete">Import (ersetzen)</translation>
-    </message>
-    <message>
-        <source>Save selction</source>
-        <translation type="obsolete">Auswahl speichern</translation>
-    </message>
-    <message>
-        <source>Save selection</source>
-        <translation type="obsolete">Auswahl speichern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
-        <source>Load vym map</source>
-        <translation>Lade vym Map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
-        <source>Import: Add vym map to selection</source>
-        <translation>Import: Füge Map zu Auswahl hinzu</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
-        <source>Import: Replace selection with vym map</source>
-        <translation>Import: Ersetze Auswahl mit Map</translation>
-    </message>
-    <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Fehler beim Speichern</translation>
-    </message>
-    <message>
-        <source>
-could not be removed before saving</source>
-        <translation type="obsolete">
-konnte vor dem Speichern nicht gelöscht werden</translation>
-    </message>
-    <message>
-        <source>Use modifier to color branches</source>
-        <translation type="obsolete">Modifzierer zum Färben verwenden</translation>
-    </message>
-    <message>
-        <source>New map</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Neue Map anlegen</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Öffnen</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <translation type="obsolete">Modes beim Benutzen von Modifizierern</translation>
-    </message>
-    <message>
-        <source>Add a branch by inserting and making selection its child</source>
-        <translation type="obsolete">Neuen Zweig einfügen und die Auswahl als Kind anhängen</translation>
-    </message>
-    <message>
-        <source>Add branch (insert)</source>
-        <translation type="obsolete">Neuen Zweig einfügen</translation>
-    </message>
-    <message>
-        <source>Remove only branch and keep its childs</source>
-        <translation type="obsolete">Zweig entfernen, aber Unterzweige behalten</translation>
-    </message>
-    <message>
-        <source>Remove only branch </source>
-        <translation type="obsolete">Zweig entfernen, Unterzweige behalten</translation>
-    </message>
-    <message>
-        <source>Remove childs of branch</source>
-        <translation type="obsolete">Unterzweige eines Zweiges entfernen</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <translation type="obsolete">Unterzweige entfernen</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <translation type="obsolete">Modifizierer zum Kopieren verwenden</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
-        <source>Add</source>
-        <translation>Hinzufügen</translation>
-    </message>
-    <message>
-        <source>Remove</source>
-        <translation type="obsolete">Entfernen</translation>
-    </message>
-    <message>
-        <source>Edit XLink</source>
-        <translation type="obsolete">xLink ändern</translation>
-    </message>
-    <message>
-        <source>Goto XLink</source>
-        <translation type="obsolete">xLink folgen</translation>
-    </message>
-    <message>
-        <source>This map does not exist:
-  </source>
-        <translation type="obsolete">Diese Map gibt es nicht:
-  </translation>
-    </message>
-    <message>
-        <source>
-Do you want to create a new one?</source>
-        <translation type="obsolete">Wollen Sie eine neue anlegen?</translation>
-    </message>
-    <message>
-        <source>Use modifier to draw xLinks</source>
-        <translation type="obsolete">Modifizierer zum Anlegen von xLinks verwenden</translation>
-    </message>
-    <message>
-        <source>Use exclusive flags in flag toolbars</source>
-        <translation type="obsolete">Flags in den Toolbars exklusiv verwenden</translation>
-    </message>
-    <message>
-        <source>Enable exclusive flags</source>
-        <translation type="obsolete">Exklusive Flags</translation>
-    </message>
-    <message>
-        <source>Set application to open external links</source>
-        <translation type="obsolete">Anwendung zum Öffnen externen Verweise</translation>
-    </message>
-    <message>
-        <source>Pasting into new branch</source>
-        <translation type="obsolete">In neuen Zweig einfügen</translation>
-    </message>
-    <message>
-        <source>pasting into new branch</source>
-        <translation type="obsolete">In neuen Zweig einfügen</translation>
-    </message>
-    <message>
-        <source>Delete key for deleting branches</source>
-        <translation type="obsolete">Entfernen Taste für das Löschen von Zweigen</translation>
-    </message>
-    <message>
-        <source>Delete key</source>
-        <translation type="obsolete">Entfernen Taste</translation>
-    </message>
-    <message>
-        <source>Exclusive flags</source>
-        <translation type="obsolete">Exklusive Flags</translation>
-    </message>
-    <message>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <translation type="obsolete">Das Verzeichnis %1 ist nicht leer.
-Riskieren Sie es dessen Inhalt zu überschreiben?</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
-        <source>The map %1
-is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation>Die Map %1
-ist bereits in vym geöffnet. Die gleiche Map gleichzeitig in mehreren Editoren
-zu bearbeiten kann beim Beenden von vym zu Verwirrung führen. 
-Wollen Sie</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
-        <source>This map does not exist:
-  %1
-Do you want to create a new one?</source>
-        <translation>Diese Map gibt es nicht:
-  %1
-Wollen Sie eine neue anlegen?</translation>
-    </message>
-    <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">Die Map %1
-wurde unkomprimiert gespeichert, also nicht im 
-normalerweise von vym verwendeten Format.
-Beim nochmaligen unkomprimierten Speichern
-werden auch Grafiken gespeichert und so evtl.
-Daten im angegeben Verzeichnis überschrieben.
-
-Wollen Sie 
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
-        <source>Saved  %1</source>
-        <translation>%1 gespeichert</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
-        <source>The file %1
-exists already. Do you want to</source>
-        <translation>Die Datei %1 gibt es bereits.
-Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
-        <source>The map %1 has been modified but not saved yet. Do you want to</source>
-        <translation>Die Map %1 wurde geändert,
-aber noch nicht gespeichert. Wollen Sie </translation>
-    </message>
-    <message>
-        <source>No matches found for &lt;b&gt;%1&lt;/b&gt;</source>
-        <translation type="obsolete">Kein Treffer gefunden für &lt;b&gt;%1&lt;/b&gt;</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
-        <source>Couldn&apos;t open map %1</source>
-        <translation>Konnte die Map %1 nicht öffnen</translation>
-    </message>
-    <message>
-        <source>Set application to open pdf files  ...</source>
-        <translation type="obsolete">Anwendung zum Öffnen von PDF Dateien...</translation>
-    </message>
-    <message>
-        <source>Set application to open external links...</source>
-        <translation type="obsolete">Anwendung zum Öffnen externer Verweise...</translation>
-    </message>
-    <message>
-        <source>Exit</source>
-        <translation type="obsolete">Beenden</translation>
-    </message>
-    <message>
-        <source>E&amp;xit</source>
-        <translation type="obsolete">B&amp;eenden</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <translation type="obsolete">Wiederherstellen</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <translation type="obsolete">Wieder&amp;herstellen</translation>
-    </message>
-    <message>
-        <source>Create URL to FATE</source>
-        <translation type="obsolete">URL für FATE anlegen</translation>
-    </message>
-    <message>
-        <source>Include top and bottom position of images into branch</source>
-        <translation type="obsolete">Obere und untere Kante von Bildern für Grösse eines Zweiges berücksichtigen</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Obere und untere Bildkanten berücksichtigen</translation>
-    </message>
-    <message>
-        <source>Include left and right position of images into branch</source>
-        <translation type="obsolete">Linke und rechte Kanten von Bildern für Grösse eines Zweiges berücksichtigen</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Linke und rechte Bildkanten berücksichtigen</translation>
-    </message>
-    <message>
-        <source>Hide link</source>
-        <translation type="obsolete">Verbindung verbergen</translation>
-    </message>
-    <message>
-        <source>Hide link if object is not selected</source>
-        <translation type="obsolete">Verbindung verbergen, falls Objekt nicht selektiert ist</translation>
-    </message>
-    <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Notiz</translation>
-    </message>
-    <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">WWW Dokument (extern)</translation>
-    </message>
-    <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Verweis zu einer anderen Map</translation>
-    </message>
-    <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Teilbaum ist eingerollt</translation>
-    </message>
-    <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Teilbaum ist momentan ausgerollt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation>Vorsicht!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation>Wirklich?</translation>
-    </message>
-    <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">ok!</translation>
-    </message>
-    <message>
-        <source>Not ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Nicht ok!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
-        <source>This won&apos;t work!</source>
-        <comment>Standardflag</comment>
-        <translation>Das geht nicht!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
-        <source>Good</source>
-        <comment>Standardflag</comment>
-        <translation>Gut</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
-        <source>Bad</source>
-        <comment>Standardflag</comment>
-        <translation>Schlecht</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
-        <source>Time critical</source>
-        <comment>Standardflag</comment>
-        <translation>Zeitkritisch</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation>Idee!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation>Wichtig</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation>Unwichtig</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
-        <source>I like this</source>
-        <comment>Standardflag</comment>
-        <translation>Finde ich gut</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation>Finde ich schlecht</translation>
-    </message>
-    <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Das liebe ich!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation>Gefährlich</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
-        <source>This will help</source>
-        <comment>Standardflag</comment>
-        <translation>Das könnte helfen</translation>
-    </message>
-    <message>
-        <source>Call test function</source>
-        <translation type="obsolete">Testfunktion aufrufen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
-        <translation>Konnte %1 nicht speichern</translation>
-    </message>
-    <message>
-        <source>Export to Open Office</source>
-        <translation type="obsolete">Export nach Open Office</translation>
-    </message>
-    <message>
-        <source>Export as Image</source>
-        <translation type="obsolete">Exportiere als Bild</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
-        <source>Import</source>
-        <translation>Importieren</translation>
-    </message>
-    <message>
-        <source>KDE Bookmarks</source>
-        <translation type="obsolete">KDE Lesezeichen</translation>
-    </message>
-    <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <translation type="obsolete">Exportiere im Open Document Format, das z.B. in Open Office verwendet wird</translation>
-    </message>
-    <message>
-        <source>Export as XML</source>
-        <translation type="obsolete">Exportiere als XML</translation>
-    </message>
-    <message>
-        <source>Export as HTML</source>
-        <translation type="obsolete">Exporte als HTML</translation>
-    </message>
-    <message>
-        <source>Export as XHTML</source>
-        <translation type="obsolete">Exportiere als XHTML</translation>
-    </message>
-    <message>
-        <source>Export as ASCII</source>
-        <translation type="obsolete">Exportiere als ASCII</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <source>(still experimental)</source>
-        <translation>(noch experimentelle Funktion)</translation>
-    </message>
-    <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exportiere als LaTeX Datei</translation>
-    </message>
-    <message>
-        <source>Mind Manager</source>
-        <translation type="obsolete">Mind Manager</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
-        <source>&amp;Print</source>
-        <translation>&amp;Drucken</translation>
-    </message>
-    <message>
-        <source>Add map (insert)</source>
-        <translation type="obsolete">Map einfügen (An Selektion hinzufügen)</translation>
-    </message>
-    <message>
-        <source>Add map (replace)</source>
-        <translation type="obsolete">Map einfügen (Selektion austauschen)</translation>
-    </message>
-    <message>
-        <source>Export as</source>
-        <translation type="obsolete">Exportieren als</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
-        <source>Export to</source>
-        <translation>Exportieren als</translation>
-    </message>
-    <message>
-        <source>Hide object in exports</source>
-        <translation type="obsolete">Objekt beim Exportieren nicht anzeigen</translation>
-    </message>
-    <message>
-        <source>Hide in exports</source>
-        <translation type="obsolete">In Export nicht anzeigen</translation>
-    </message>
-    <message>
-        <source>Hide object in exported maps</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Objekt beim Exportieren nicht anzeigen</translation>
-    </message>
-    <message>
-        <source>Use hide flag during exports </source>
-        <translation type="obsolete">Während des Exports das &quot;Verbergen&quot; Flag verwenden </translation>
-    </message>
-    <message>
-        <source>Use hide flags</source>
-        <translation type="obsolete">Während des Exports das &quot;Verbergen&quot; Flag verwenden </translation>
-    </message>
-    <message>
-        <source>Open URL in new tab</source>
-        <translation type="obsolete">URL in neuen Tab öffnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Warning</source>
-        <translation>Warnung</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
-        <translation>Konnte kein Programm zum Öffnen von %1 finden.</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Please use Settings-&gt;</source>
-        <translation>Bitte setzen sie einen Pfad in Einstellungen-&gt;</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Konnte %1 nicht starten um einen neuen Tab mit %2 zu öffnen.</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation>Wiedervorlage (als Anzahl Tage oder als Datum: JJJJ-MM-TT oder  TT.MM[JJJJ])</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
-        <source>Couldn&apos;t set sleep time to %1.
-</source>
-        <translation>Konnte Wiedervorlage nicht setzen auf %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Set application to open PDF files</source>
-        <translation>PDFs öffnen mit</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
-        <source>Oh no!</source>
-        <comment>Standardflag</comment>
-        <translation>Oh nein!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation>Notiz Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
-        <translation>Editor Zweigbeschriftungen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="260"/>
-        <source>Search results list</source>
-        <comment>FindResultWidget</comment>
-        <translation>Liste der Suchergebnisse</translation>
-    </message>
-    <message>
-        <source>Loading maps</source>
-        <comment>Mainwindow</comment>
-        <translation type="obsolete">Lade maps</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="vanished">&amp;Map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
-        <source>File actions toolbar</source>
-        <comment>Toolbar for file actions</comment>
-        <translation>Datei Werkzeugleiste</translation>
-    </message>
-    <message>
-        <source>File</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Datei</translation>
-    </message>
-    <message>
-        <source>KDE 3 Bookmarks</source>
-        <translation type="obsolete">KDE 3 Lesezeichen</translation>
-    </message>
-    <message>
-        <source>KDE 3 bookmarks</source>
-        <translation type="obsolete">KDE 3 Lesezeichen</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <translation type="obsolete">KDE 4 Lesezeichen</translation>
-    </message>
-    <message>
-        <source>KDE 4 bookmarks</source>
-        <translation type="obsolete">KDE 4 Lesezeichen</translation>
-    </message>
-    <message>
-        <source>Export in last used format (%1)</source>
-        <translation type="obsolete">Exporte im zuletzt benutztem Format</translation>
-    </message>
-    <message>
-        <source> webpage (HTML)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Webseite (HTML)</translation>
-    </message>
-    <message>
-        <source>KDE 3 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">KDE 3 Lesezeichen</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="vanished">KDE 4 Lesezeichen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
-        <source>Edit actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation>Editieren Werkzeugleiste</translation>
-    </message>
-    <message>
-        <source>Edit</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Edit</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="280"/>
-        <source>Property Editor</source>
-        <comment>PropertyEditor</comment>
-        <translation>Eigenschaften</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="287"/>
-        <source>History window</source>
-        <comment>HistoryWidget</comment>
-        <translation>Verlaufsfenster</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="218"/>
-        <source>Main window</source>
-        <comment>Shortcut group</comment>
-        <translation>Hauptfenster</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="219"/>
-        <source>Map Editors</source>
-        <comment>Shortcut group</comment>
-        <translation>Map Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="220"/>
-        <source>Text Editors</source>
-        <comment>Shortcut group</comment>
-        <translation>Text Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="967"/>
-        <source>&amp;Map</source>
-        <comment>Menu for file actions</comment>
-        <translation>&amp;Map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="992"/>
-        <source>&amp;Restore last session</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Letzte Session wiederherstellen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
-        <source>Webpage (HTML)...</source>
-        <comment>File export menu</comment>
-        <translation>Webseite (HTML)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
-        <source>Text (ASCII)...</source>
-        <comment>File export menu</comment>
-        <translation>Text (ASCII)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <source>Text with tasks</source>
-        <comment>File export menu</comment>
-        <translation>Text mit Aufgaben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
-        <source>Add attribute</source>
-        <translation>Attribut hinzufügen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
-        <source>&amp;Detach</source>
-        <comment>Context menu</comment>
-        <translation>Loslösen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
-        <source>Detach branch and use as mapcenter</source>
-        <comment>Context menu</comment>
-        <translation>Zweig loslösen und als Zentrum verwenden</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
-        <source>Sort children backwards</source>
-        <comment>Edit menu</comment>
-        <translation>Unterzweige aufsteigend sortieren</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
-        <source>Expand all branches</source>
-        <comment>Edit menu</comment>
-        <translation>Alle Zweige ausklappen</translation>
-    </message>
-    <message>
-        <source>Expand all branches</source>
-        <translation type="obsolete">Alle Zweige ausklappen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
-        <source>Expand one level</source>
-        <comment>Edit menu</comment>
-        <translation>Ausklappen</translation>
-    </message>
-    <message>
-        <source>Expand one level in tree editor</source>
-        <translation type="obsolete">Alle Zweige in Zweigeditor eine Ebene ausklappen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
-        <source>Collapse one level</source>
-        <comment>Edit menu</comment>
-        <translation>Einklappen</translation>
-    </message>
-    <message>
-        <source>Collapse one level in tree editor</source>
-        <translation type="obsolete">Alle Zweige im Zweigeditor eine Ebene weit einklappen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
-        <source>Collapse unselected levels</source>
-        <comment>Edit menu</comment>
-        <translation>Nicht selektierte Ebenen einklappen</translation>
-    </message>
-    <message>
-        <source>Collapse unselected levels in tree editor</source>
-        <translation type="obsolete">Nicht selektierte Ebenen im Baumeditor einklappen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
-        <source>Unscroll children</source>
-        <comment>Edit menu</comment>
-        <translation>Unterzweige ausrollen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
-        <source>Grow selection</source>
-        <comment>Edit menu</comment>
-        <translation>Auswahl vergössern</translation>
-    </message>
-    <message>
-        <source>Grow selection, e.g. make image larger</source>
-        <translation type="obsolete">Auswahl vergrössern, z.B. Bild vergrössern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
-        <source>Shrink selection</source>
-        <comment>Edit menu</comment>
-        <translation>Auswahl verkleinern</translation>
-    </message>
-    <message>
-        <source>Shrink selection, e.g. make image smaller</source>
-        <translation type="obsolete">Auswahl verkleinern, z.B. Bild verkleinern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
-        <source>Reset selection size</source>
-        <comment>Edit menu</comment>
-        <translation>Grösse der Auswahl zurücksetzen</translation>
-    </message>
-    <message>
-        <source>Reset selection size to original</source>
-        <translation type="obsolete">Grösse der Auswahl zurücksetzen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
-        <source>Toggle target...</source>
-        <comment>Edit menu</comment>
-        <translation>Ziel einschalten/ausschalten</translation>
-    </message>
-    <message>
-        <source>Toggle target</source>
-        <translation type="obsolete">Zeige Ziel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
-        <source>Goto target...</source>
-        <comment>Edit menu</comment>
-        <translation>Gehe zu Ziel</translation>
-    </message>
-    <message>
-        <source>Goto target</source>
-        <translation type="obsolete">Gehe zu Ziel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
-        <source>Move to target...</source>
-        <comment>Edit menu</comment>
-        <translation>Verschiebe zu Ziel</translation>
-    </message>
-    <message>
-        <source>Move to target</source>
-        <translation type="obsolete">Verschiebe zu Ziel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
-        <source>Find duplicate URLs</source>
-        <comment>Edit menu</comment>
-        <translation>Doppelte URLs finden</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
-        <comment>Edit menu</comment>
-        <translation>Alle URLs im Unterbaum öffnen</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
-        <translation type="obsolete">Alle URLs im Unterbaum öffnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
-        <source>Extract URLs from note</source>
-        <comment>Edit menu</comment>
-        <translation>Extrahiere URLs aus Notiz</translation>
-    </message>
-    <message>
-        <source>Extract URLs from note</source>
-        <translation type="obsolete">Extrahiere URLs aus Notiz</translation>
-    </message>
-    <message>
-        <source>Get data from Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Daten von Novell Bugzilla holen</translation>
-    </message>
-    <message>
-        <source>Get data from Novell Bugzilla</source>
-        <translation type="obsolete">Daten von Novell Bugzilla holen</translation>
-    </message>
-    <message>
-        <source>Get data from Novell Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Daten von Novell Bugzilla holen für ganzen Unterbaum</translation>
-    </message>
-    <message>
-        <source>Update all Novell bugs in subtree</source>
-        <translation type="obsolete">Alle Novell Bugzilla URLs in Unterbaum updaten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
-        <source>Add timestamp</source>
-        <comment>Edit menu</comment>
-        <translation>Zeitstempel hinzufügen</translation>
-    </message>
-    <message>
-        <source>Add timestamp</source>
-        <translation type="obsolete">Zeitstempel hinzufügen</translation>
-    </message>
-    <message>
-        <source>Remove only branch and keep its children</source>
-        <translation type="obsolete">Zweig entfernen, Unterzweige behalten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
-        <source>Remove children</source>
-        <comment>Edit menu</comment>
-        <translation>Unterzweige entfernen</translation>
-    </message>
-    <message>
-        <source>Remove children of branch</source>
-        <translation type="obsolete">Unterzweige eines Zweiges entfernen</translation>
-    </message>
-    <message>
-        <source>Toggle property window to set properties for selection</source>
-        <translation type="obsolete">Eigenschaften editieren</translation>
-    </message>
-    <message>
-        <source>View shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Kurzbefehle Ansicht</translation>
-    </message>
-    <message>
-        <source>Format toolbar</source>
-        <comment>Format Toolbar name</comment>
-        <translation type="obsolete">Werkzeugleiste Format</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation>Werkzeugleiste Vergrössern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
-        <source>Center on selection</source>
-        <comment>View action</comment>
-        <translation>Zeige Auswahl</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
-        <source>Editors toolbar</source>
-        <comment>Editor Toolbar name</comment>
-        <translation>Werkzeugleiste Editoren</translation>
-    </message>
-    <message>
-        <source>Toggle Heading editor</source>
-        <translation type="obsolete">Beschriftungs Editor</translation>
-    </message>
-    <message>
-        <source>Toggle Tree editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Baum Editor</translation>
-    </message>
-    <message>
-        <source>Toggle tree editor</source>
-        <translation type="obsolete">Baum Editor</translation>
-    </message>
-    <message>
-        <source>Toggle History Window</source>
-        <translation type="obsolete">Verlaufsfenster</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
-        <source>Modifier modes toolbar</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation>Werkzeugleiste Modifizierer</translation>
-    </message>
-    <message>
-        <source>Modes</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Modes</translation>
-    </message>
-    <message>
-        <source>&amp;Restore last session</source>
-        <comment>File menu</comment>
-        <translation type="vanished">&amp;Letzte Session wiederherstellen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
-        <source>E&amp;dit</source>
-        <comment>Edit menu</comment>
-        <translation>E&amp;dit</translation>
-    </message>
-    <message>
-        <source>&amp;Select</source>
-        <comment>Select menu</comment>
-        <translation type="obsolete">&amp;Auswahl</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation>vorherige Auswahl</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
-        <source>Select next</source>
-        <comment>Edit menu</comment>
-        <translation>nächste Auswahl</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
-        <source>Unselect all</source>
-        <comment>Edit menu</comment>
-        <translation>Nichts auswählen</translation>
-    </message>
-    <message>
-        <source>Format shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Format Kurzbefehle</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
-        <source>Select default font</source>
-        <comment>Branch attribute</comment>
-        <translation>Default Zeichensatz auswählen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
-        <source>Toolbars</source>
-        <comment>Toolbars overview in view menu</comment>
-        <translation>Werkzeugleisten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
-        <source>Rotate counterclockwise</source>
-        <comment>View action</comment>
-        <translation>Rotieren gegen Uhrzeigersinn</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
-        <source>Rotate rclockwise</source>
-        <comment>View action</comment>
-        <translation>Rotieren im Uhrzeigersinn</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
-        <source>Tree editor</source>
-        <comment>View action</comment>
-        <translation>Baum Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
-        <source>Task editor</source>
-        <comment>View action</comment>
-        <translation>Aufgaben Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
-        <source>Slide editor</source>
-        <comment>View action</comment>
-        <translation>Folien Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
-        <source>Script editor</source>
-        <comment>View action</comment>
-        <translation>Skript Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
-        <source>Next slide</source>
-        <comment>View action</comment>
-        <translation>Nächste Folie</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
-        <source>Previous slide</source>
-        <comment>View action</comment>
-        <translation>Vorherige Folie</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation>URL zu Bugzilla</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
-        <source>Map target</source>
-        <comment>SystemFlag</comment>
-        <translation>Ziel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
-        <source>Standard Flags toolbar</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation>Werkzeugleiste Standardflags</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
-        <source>Status - ok,done</source>
-        <comment>Standardflag</comment>
-        <translation>Status - ok, erledigt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
-        <source>Status - work in progress</source>
-        <comment>Standardflag</comment>
-        <translation>Status - In Arbeit</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
-        <source>Status - missing, not started</source>
-        <comment>Standardflag</comment>
-        <translation>Status - unvollständig, nicht begonnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
-        <source>Call...</source>
-        <comment>Standardflag</comment>
-        <translation>Anrufen...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
-        <source>Very important!</source>
-        <comment>Standardflag</comment>
-        <translation>Sehr wichtig!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
-        <source>Very unimportant!</source>
-        <comment>Standardflag</comment>
-        <translation>Sehr unwichtig!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
-        <source>Rose</source>
-        <comment>Standardflag</comment>
-        <translation>Rose</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
-        <source>Surprise!</source>
-        <comment>Standardflag</comment>
-        <translation>Überraschung!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
-        <source>Info</source>
-        <comment>Standardflag</comment>
-        <translation>Info</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
-        <translation>Release notes und Updates prüfen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
-        <translation>Anwendung um Daten zu speichern (zip/unzip)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
-        <source>Download and show release notes</source>
-        <comment>Help action</comment>
-        <translation>Release Notes herunterladen und anzeigen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
-        <source>Check, if updates are available</source>
-        <comment>Help action</comment>
-        <translation>Prüfen, ob Updates verfügbar sind</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
-        <source>XLinks</source>
-        <comment>Menu for file actions</comment>
-        <translation>XLinks</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
-        <translation>Anwendung um Daten zu speichern (zip/unzip)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
-        <translation>unbekannter Benutzer</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
-        <source>Number of parents shown for a task:</source>
-        <translation>Anzahl der Elternzweige, die bei Aufgabe gezeigt werden:</translation>
-    </message>
-    <message>
-        <source>Toggle history window</source>
-        <translation type="obsolete">Zeige Verlaufsfenster</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <translation type="obsolete">Firefox Lesezeichen</translation>
-    </message>
-    <message>
-        <source>F&amp;ormat</source>
-        <translation type="obsolete">F&amp;ormat</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <translation type="obsolete">Zeige Notiz Editor</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <translation type="obsolete">Zeige Verlaufsfenster</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation>Lesezeichen</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">Konnte %1 nicht starten um einen neuen Tab zu öffnen.</translation>
-    </message>
-    <message>
-        <source>Image</source>
-        <translation type="obsolete">Bild</translation>
-    </message>
-    <message>
-        <source>Format Actions</source>
-        <comment>Toolbars</comment>
-        <translation type="obsolete">Format Actions</translation>
-    </message>
-    <message>
-        <source>View Actions</source>
-        <comment>Toolbars</comment>
-        <translation type="obsolete">Ansicht Aktionen</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Toolbars</comment>
-        <translation type="obsolete">Modes beim Benutzen von Modifizierern</translation>
-    </message>
-    <message>
-        <source>Standard Flags</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation type="obsolete">Standard Flags Werkzeugleiste</translation>
-    </message>
-    <message>
-        <source>Follow XLink</source>
-        <translation type="obsolete">XLink folgen</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">Konnte keine EInstellungen zum Export nach Open Office finden
-</translation>
-    </message>
-    <message>
-        <source>No matches found for &quot;%1&quot;</source>
-        <translation type="obsolete">Keine treffer für &quot;%1&quot; gefunden</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <translation type="obsolete">&amp;Map</translation>
-    </message>
-    <message>
-        <source>&amp;Actions</source>
-        <translation type="obsolete">&amp;Aktionen</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree</source>
-        <translation type="obsolete">Alle URLs in Unterbaum öffnen</translation>
-    </message>
-    <message>
-        <source>Open all vym links in subtree</source>
-        <translation type="obsolete">Alle Verbindungen zu vym maps  in Unterbaum öffnen</translation>
-    </message>
-    <message>
-        <source>URLs and vymLinks</source>
-        <translation type="obsolete">URLs und Verbindungen zu vym maps</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation type="obsolete">Konnte temporäres Verzeichnis vor dem Laden nicht erzeugen</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">Konnte temporäres Verzeichnis vor dem Speichern nicht erzeugen</translation>
-    </message>
-    <message>
-        <source>Sorry, currently only Konqueror and Mozilla support tabbed browsing.</source>
-        <translation type="obsolete">Sorry, im Moment unterstützen nur Konqueror und Mozilla tabbed browsing.</translation>
-    </message>
-    <message>
-        <source>Test function</source>
-        <translation type="obsolete">Test Funktion</translation>
-    </message>
-    <message>
-        <source>Command</source>
-        <translation type="obsolete">Test Kommando</translation>
-    </message>
-    <message>
-        <source>Enter command to call in editor</source>
-        <translation type="obsolete">Kommando für den MapEditor</translation>
-    </message>
-    <message>
-        <source>Open linked map</source>
-        <translation type="obsolete">Verlinkte Map öffnen</translation>
-    </message>
-    <message>
-        <source>&amp;New...</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Neue Map anlegen</translation>
-    </message>
-    <message>
-        <source>New map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Neue map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="985"/>
-        <source>&amp;Open...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Öffnen...</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Öffnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
-        <source>Open Recent</source>
-        <comment>File menu</comment>
-        <translation>Zuletzt geöffnete Dateien</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
-        <source>&amp;Save...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Speichern...</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Speichern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
-        <source>Save &amp;As...</source>
-        <comment>File menu</comment>
-        <translation>Speichern &amp;unter...</translation>
-    </message>
-    <message>
-        <source>Save &amp;As</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Speichern &amp;unter...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
-        <source>Import</source>
-        <comment>File menu</comment>
-        <translation>Importieren</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Importiere %1</translation>
-    </message>
-    <message>
-        <source>KDE bookmarks</source>
-        <translation type="obsolete">KDE Lesezeichen</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Firefox Lesezeichen</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importiere %1</translation>
-    </message>
-    <message>
-        <source>Import Dir%1</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Importiere Verzeichnis %1</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importiere Verzeichnisstruktur (experimentelle Funktion)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
-        <source>Export</source>
-        <comment>File menu</comment>
-        <translation>Exportieren</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
-        <source>Image%1</source>
-        <comment>File export menu</comment>
-        <translation>Bild %1</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Map als Bild exportieren</translation>
-    </message>
-    <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportiere im Open Document Format, das z.B. in Open Office verwendet wird</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportiere als %1</translation>
-    </message>
-    <message>
-        <source> webpage (XHTML)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete"> Webseite (XHTML)</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <translation type="obsolete">Exportiere als %1</translation>
-    </message>
-    <message>
-        <source>KDE Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">KDE Lesezeichen</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Drucken</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
-        <source>&amp;Close Map</source>
-        <comment>File menu</comment>
-        <translation>Schlie&amp;ßen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
-        <source>E&amp;xit</source>
-        <comment>File menu</comment>
-        <translation>B&amp;eenden</translation>
-    </message>
-    <message>
-        <source>&amp;Actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="obsolete">Werkzeugleiste &amp;Aktionen</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Bearbeiten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Rückgängig</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation>Wieder&amp;herstellen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Kopieren</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Ausschneiden</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation>Ein&amp;fügen</translation>
-    </message>
-    <message>
-        <source>Edit heading</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Bearbeite Zweig-Überschrift</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
-        <source>Delete Selection</source>
-        <comment>Edit menu</comment>
-        <translation>Entfernen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
-        <source>Add branch as child</source>
-        <comment>Edit menu</comment>
-        <translation>Neuer Zweig </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
-        <source>Add branch (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>Neuen Zweig einfügen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
-        <source>Add branch above</source>
-        <comment>Edit menu</comment>
-        <translation>Neuer Zweig - oben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
-        <source>Add branch below</source>
-        <comment>Edit menu</comment>
-        <translation>Neuer Zweig - unten</translation>
-    </message>
-    <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Zweig nach oben</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Zweig nach unten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
-        <source>Scroll branch</source>
-        <comment>Edit menu</comment>
-        <translation>Zweig einrollen</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Alle eingerollten Zweige aufrollen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
-        <source>Find...</source>
-        <comment>Edit menu</comment>
-        <translation>Suchen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
-        <source>Open URL</source>
-        <comment>Edit menu</comment>
-        <translation>URL öffnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="124"/>
-        <source>Main window</source>
-        <comment>Shortcut scope</comment>
-        <translation>Hauptfenster</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
-        <source>Open URL in new tab</source>
-        <comment>Edit menu</comment>
-        <translation>URL in neuen Tab öffnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
-        <source>Open all URLs in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Alle URLs in Unterbaum öffnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
-        <source>Edit URL...</source>
-        <comment>Edit menu</comment>
-        <translation>URL editieren...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
-        <source>Use heading for URL</source>
-        <comment>Edit menu</comment>
-        <translation>Beschriftung als URL übernehmen</translation>
-    </message>
-    <message>
-        <source>Create URL to Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">URL für Bugzilla anlegen</translation>
-    </message>
-    <message>
-        <source>Create URL to FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">URL für FATE anlegen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
-        <source>Open linked map</source>
-        <comment>Edit menu</comment>
-        <translation>Verlinkte Map öffnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
-        <source>Open all vym links in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Alle Verbindungen zu vym maps  in Unterbaum öffnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
-        <source>Edit vym link...</source>
-        <comment>Edit menu</comment>
-        <translation>vym Verknüpfung editieren</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
-        <source>Delete vym link</source>
-        <comment>Edit menu</comment>
-        <translation>vym Verknüpfung löschen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
-        <source>Hide in exports</source>
-        <comment>Edit menu</comment>
-        <translation>In Export nicht anzeigen</translation>
-    </message>
-    <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Map Infos editieren</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
-        <source>Add map (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>Map einfügen (An Selektion hinzufügen)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
-        <source>Add map (replace)</source>
-        <comment>Edit menu</comment>
-        <translation>Map einfügen (Selektion austauschen)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
-        <source>Save selection</source>
-        <comment>Edit menu</comment>
-        <translation>Auswahl speichern</translation>
-    </message>
-    <message>
-        <source>Remove only branch </source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Zweig entfernen, Unterzweige behalten</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Unterzweige entfernen</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Zweig oben auswählen</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Zweig unten auswählen</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Linken Zweig auswählen</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Unterzweig auswählen</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Obersten Zweig auwählen</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Untersten Zweig auswählen</translation>
-    </message>
-    <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Bild hinzufügen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
-        <source>F&amp;ormat</source>
-        <comment>Format menu</comment>
-        <translation>F&amp;ormat</translation>
-    </message>
-    <message>
-        <source>Format Actions</source>
-        <comment>Format Toolbar name</comment>
-        <translation type="obsolete">Format Actions</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
-        <source>Pic&amp;k color</source>
-        <comment>Edit menu</comment>
-        <translation>Farbe &amp;übernehmen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
-        <source>Color &amp;branch</source>
-        <comment>Edit menu</comment>
-        <translation>Zweig &amp;färben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
-        <source>Color sub&amp;tree</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Unterbaum färben</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Kein Rahmen</translation>
-    </message>
-    <message>
-        <source>RectangleBranch attribute</source>
-        <translation type="obsolete">RectangleBranch attribute</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Obere und untere Bildkanten berücksichtigen</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Linke und rechte Bildkanten berücksichtigen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
-        <source>Hide link if object is not selected</source>
-        <comment>Branch attribute</comment>
-        <translation>Verbindung verbergen, falls Objekt nicht selektiert ist</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
-        <source>&amp;Use color of heading for link</source>
-        <comment>Branch attribute</comment>
-        <translation>&amp;Verbindungen haben Farbe der Beschriftungen</translation>
-    </message>
-    <message>
-        <source>View Actions</source>
-        <comment>View Toolbar name</comment>
-        <translation type="obsolete">Ansicht Aktionen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
-        <source>reset Zoom</source>
-        <comment>View action</comment>
-        <translation>Keine Vergrösserung</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
-        <source>Zoom in</source>
-        <comment>View action</comment>
-        <translation>Vergrössern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
-        <translation>Skript Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="314"/>
-        <source>Task list</source>
-        <comment>TaskEditor</comment>
-        <translation>Aufgabenliste</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="273"/>
-        <source>Script Editor</source>
-        <comment>ScriptEditor</comment>
-        <translation>Skript Editor</translation>
-    </message>
-    <message>
-        <source>KDE 3 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="obsolete">KDE 3 Lesezeichen</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="vanished">KDE 4 Lesezeichen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
-        <source>Firefox Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation>Firefox Lesezeichen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation>Importiere Verzeichnis %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
-        <source>Text (A&amp;O report)...</source>
-        <comment>Export format</comment>
-        <translation>Text (A&amp;O Format)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation>Tabellendokument</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
-        <source>Properties</source>
-        <translation>Eigenschaften</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
-        <source>Move branch up</source>
-        <comment>Edit menu</comment>
-        <translation>Zweig nach oben bewegen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
-        <source>Move branch down</source>
-        <comment>Edit menu</comment>
-        <translation>Zweig nach unten bewegen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
-        <translation>Tastenkürzel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation>Tastenkürzel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>URL für SUSE Bugzilla erzeugen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>Daten von SUSE Bugzilla holen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Daten von SUSE Bugzilla für Unterbaum holen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
-        <translation>SUSE Fate Werkzeug</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
-        <comment>Edit menu</comment>
-        <translation>URL zum SUSE Fate Werkzeug erzeugen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
-        <source>vymlinks - linking maps</source>
-        <comment>Shortcuts</comment>
-        <translation>vym-Verbindungen zwischen Maps</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
-        <source>Open linked map in background tab</source>
-        <comment>Edit menu</comment>
-        <translation>Verbundene Map im Hintergrund öffnen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
-        <source>Exports</source>
-        <comment>Shortcuts</comment>
-        <translation>Exports</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
-        <source>Tasks</source>
-        <comment>Shortcuts</comment>
-        <translation>Aufgaben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
-        <source>Toggle task</source>
-        <comment>Edit menu</comment>
-        <translation>Aufgabe einschalten/ausschalten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
-        <source>Cycle task status</source>
-        <comment>Edit menu</comment>
-        <translation>Aufgabenstatus weiterschalten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
-        <source>Reset sleep</source>
-        <comment>Task sleep</comment>
-        <translation>Aufgabe aufwecken</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
-        <source>Sleep %1 days</source>
-        <comment>Task sleep</comment>
-        <translation>Wiedervorlage in %1 Tagen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
-        <source>Sleep %1 day</source>
-        <comment>Task sleep</comment>
-        <translation>Wiedervorlage in %1 Tagen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
-        <source>Sleep %1 weeks</source>
-        <comment>Task sleep</comment>
-        <translation>Wiedervorlage in %1 Wochen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
-        <source>Removing parts of a map</source>
-        <comment>Shortcuts</comment>
-        <translation>Teile einer Map entfernen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
-        <source>Remove only branch and keep its children </source>
-        <comment>Edit menu</comment>
-        <translation>Zweig entfernen, Unterzweige behalten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
-        <source>Various</source>
-        <comment>Shortcuts</comment>
-        <translation>Verschiedene</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
-        <source>Map properties...</source>
-        <comment>Edit menu</comment>
-        <translation>Map Eigenschaften...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation>Hinzufügen...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
-        <source>Selections</source>
-        <comment>Shortcuts</comment>
-        <translation>Auswahl</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
-        <source>Select</source>
-        <comment>Select menu</comment>
-        <translation>Auswählen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
-        <source>Search functions</source>
-        <comment>Shortcuts</comment>
-        <translation>Suchfunktionen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
-        <source>Formatting</source>
-        <comment>Shortcuts</comment>
-        <translation>Formattierung</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
-        <source>Views</source>
-        <comment>Shortcuts</comment>
-        <translation>Ansichten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
-        <source>Zoom out</source>
-        <comment>View action</comment>
-        <translation>Verkleinern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
-        <source>Note editor</source>
-        <comment>View action</comment>
-        <translation>Notiz Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
-        <source>Heading editor</source>
-        <comment>View action</comment>
-        <translation>Beschriftungs Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
-        <translation>Author für neue Maps angeben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
-        <translation>Anzahl sichtbarer Elternzweige im Aufgaben Editor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
-        <translation>Anzahl sichtbarer Elternzweige im Ergebnisfenster der Suche</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
-        <translation>Infos zur Fehlersuche</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
-        <translation>Konnte %1 nicht speichern,
-da die Lockdatei nicht angelegt werden konnte:
-%2</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t save, because of existing lockfile:
-
-%2</source>
-        <translation type="obsolete">Konnte </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
-        <source>Couldn&apos;t find configuration for export to LibreOffice
-</source>
-        <translation>Konnte Konfiguration zum Exportieren nach LibreOffice nicht finden
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
-        <source>branches</source>
-        <comment>Info about map</comment>
-        <translation>Zweige</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
-        <source>notes</source>
-        <comment>Info about map</comment>
-        <translation>Notizen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
-        <source>images</source>
-        <comment>Info about map</comment>
-        <translation>Bilder</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation>Aufgaben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
-        <source>slides</source>
-        <comment>Info about map</comment>
-        <translation>Folien</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
-        <source>xLinks</source>
-        <comment>Info about map</comment>
-        <translation>Querverbindungen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
-        <source>Set author for new maps (used in lockfile)</source>
-        <translation>Author für neue Maps angeben (zur Verwendung in Lockdatei)</translation>
-    </message>
-    <message>
-        <source>unknown</source>
-        <comment>default name for map author in settings</comment>
-        <translation type="vanished">unbekannt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
-        <source>Number of parents shown in find results:</source>
-        <translation>Anzahl sichtbarer Elternzweige im Ergebnisfenster der Suche</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
-        <source>(readonly)</source>
-        <translation>(nur lesen)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <source>Please allow vym to download release notes!</source>
-        <translation>Bitte vym den Zugriff auf auf Release-Dokumente ermöglichen!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translation>&lt;html&gt;&lt;h3&gt;Wollen Sie vym erlauben, online nach Updates und Release-Meldungen zu suchen?&lt;/h3&gt;
-Falls Sie es erlauben, wird vym &lt;ul&gt;&lt;li&gt;einmalig nach Release-Meldungen sehen&lt;/li&gt;
-&lt;li&gt;regelmäßig nach Updates suchen und ggf. benachrichtigen, falls Updates verfügbar sind, z.B. wenn wichtige Bugfixes zur Verfügung stehen&lt;/li&gt;
-&lt;li&gt;ein Cookie mit einer zufälligen ID erhalten und die vym Version und Namen der Plattform( z.B. Windows- oder Linux Version) an mich (Uwe Drechsel) senden.
-&lt;p&gt;Als vym Entwickler motiviert es mich zu sehen, dass viele Menschen vym benutzen. Natürlich bin ich neugierig, auf welchen Systemen vym verwendet wird, da mir die Unterstützung verschiedener Plattformen viel Arbeit (in meiner Freizeit) macht.&lt;/p&gt; 
-&lt;p&gt;Es werden keine weiteren Daten als die o.g. werden gesendet, insb. werden keine privaten Daten gesammelt oder gesendet.
-(Bitte zur Überprüfung gerne den Quellcode ansehen, falls Sie das nicht glauben.)&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-Falls Sie das nicht erlauben, dann
-&lt;ul&gt;&lt;li&gt;wird vym nichts herunterladen und insb. werde ich &lt;b&gt;nicht motiviert&lt;/b&gt; weiterhin Tausende von Stunden mit der Entwicklung freier Software zu verbringen.&lt;/ul&gt;
-Bitte erlauben Sie vym nach Updates zu sehen :-)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
-        <source>Allow</source>
-        <translation>Erlauben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
-        <source>Do not allow</source>
-        <translation>Nicht erlauben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
-        <source>Thank you for enabling downloads!</source>
-        <translation>Danke für das Erlauben der Downloads!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
-        <source>Update information</source>
-        <translation>Update Information</translation>
-    </message>
-    <message>
-        <source>Info</source>
-        <translation type="obsolete">Info</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
-        <source>vym is up to date.</source>
-        <comment>MainWindow</comment>
-        <translation>vym ist auf dem neuesten Stand.</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
-        <source>Checking for updates...</source>
-        <comment>MainWindow</comment>
-        <translation>Prüfen auf Updates...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Please allow vym to check for updates!</source>
-        <translation>Bitte vym erlauben nach Updates zu sehen!</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Zeige Notiz Editor</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Zeige Verlaufsfenster</translation>
-    </message>
-    <message>
-        <source>Next Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Nächstes Fenster</translation>
-    </message>
-    <message>
-        <source>Previous Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Vorheriges Fenster</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="obsolete">Modes beim Benutzen von Modifizierern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>Modifzierer zum Färben verwenden</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <comment>Mode modifier</comment>
-        <translation type="obsolete">Modifizierer zum Kopieren verwenden</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
-        <source>Use modifier to draw xLinks</source>
-        <comment>Mode modifier</comment>
-        <translation>Modifizierer zum Anlegen von xLinks verwenden</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Vorwärts</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Don&apos;t flagrget</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
-        <source>Set application to open pdf files</source>
-        <comment>Settings action</comment>
-        <translation>pdf-Dateien öffnen mit...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
-        <source>Set application to open external links</source>
-        <comment>Settings action</comment>
-        <translation>Anwendung zum Öffnen externen Verweise</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Zweig nach dem Einfügen neu beschriften</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
-        <source>Select branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Zweig nach dem Einfügen auswählen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
-        <source>Select existing heading</source>
-        <comment>Settings action</comment>
-        <translation>Beschriftung vor dem editieren auswählen</translation>
-    </message>
-    <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Entfernen Taste</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
-        <source>Exclusive flags</source>
-        <comment>Settings action</comment>
-        <translation>Exklusive Flags</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
-        <source>Use hide flags</source>
-        <comment>Settings action</comment>
-        <translation>Während des Exports das &quot;Verbergen&quot; Flag verwenden </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
-        <source>&amp;Help</source>
-        <comment>Help menubar entry</comment>
-        <translation>&amp;Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
-        <source>Open VYM Documentation (pdf) </source>
-        <comment>Help action</comment>
-        <translation>VYM Handbuch (pdf)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
-        <source>About VYM</source>
-        <comment>Help action</comment>
-        <translation>Über VYM</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
-        <source>About QT</source>
-        <comment>Help action</comment>
-        <translation>Über QT</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
-        <source>Remove</source>
-        <comment>Context menu name</comment>
-        <translation>Entfernen</translation>
-    </message>
-    <message>
-        <source>URLs and vymLinks</source>
-        <comment>Context menu name</comment>
-        <translation type="obsolete">URLs und Verbindungen zu vym maps</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
-        <source>Edit XLink</source>
-        <comment>Context menu name</comment>
-        <translation>xLink ändern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
-        <source>Follow XLink</source>
-        <comment>Context menu name</comment>
-        <translation>XLink folgen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
-        <source>Save image</source>
-        <comment>Context action</comment>
-        <translation>Speichere Bild</translation>
-    </message>
-    <message>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <comment>write directory</comment>
-        <translation type="obsolete">Das Verzeichnis %1 ist nicht leer.
-Riskieren Sie es dessen Inhalt zu überschreiben?</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="971"/>
-        <source>&amp;New map</source>
-        <comment>File menu</comment>
-        <translation>Neue map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="978"/>
-        <source>&amp;Copy to new map</source>
-        <comment>File menu</comment>
-        <translation>Kopieren in neue Map</translation>
-    </message>
-    <message>
-        <source>Copy selection to mapcenter of a new map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Auswahl in Mapcenter einer neuen Map kopieren</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
-        <source>PDF%1</source>
-        <comment>File export menu</comment>
-        <translation>PDF%1</translation>
-    </message>
-    <message>
-        <source>Export map as PDF</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Als PDF exportieren</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
-        <source>SVG%1</source>
-        <comment>File export menu</comment>
-        <translation>SVG%1</translation>
-    </message>
-    <message>
-        <source>Export map as SVG</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Als SVG exportieren</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
-        <source>Repeat last export (%1)</source>
-        <translation>Letzten Export wiederholen (%1)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
-        <source>Add mapcenter</source>
-        <comment>Canvas context menu</comment>
-        <translation>Mapcenter hinzufügen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
-        <source>Sort children</source>
-        <comment>Edit menu</comment>
-        <translation>Unterzweige aufsteigend sortieren</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches in selected subtree</source>
-        <translation type="obsolete">Alle eingerollten Zweige im Unterbaum entrollen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
-        <source>Edit local URL...</source>
-        <comment>Edit menu</comment>
-        <translation>Lokale URL editieren</translation>
-    </message>
-    <message>
-        <source>Edit local URL</source>
-        <translation type="obsolete">Lokale URL editieren</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">URL für Bugzilla anlegen</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <translation type="obsolete">URL für Bugzilla anlegen</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">URL für FATE anlegen</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <translation type="obsolete">URL für Bugzilla anlegen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
-        <source>Property window</source>
-        <comment>Dialog to edit properties of selection</comment>
-        <translation>Eigenschaften</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
-        <source>Linkstyle Curve</source>
-        <translation>Verbindungsstil Parabel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
-        <source>Linkstyle Thick Curve</source>
-        <translation>Verbindungsstil Parabel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
-        <source>Set &amp;Selection Color</source>
-        <translation>Farbe der Auswahlmarkierung</translation>
-    </message>
-    <message>
-        <source>Set Selection Color</source>
-        <translation type="obsolete">Farbe der Auswahlmarkierung</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
-        <source>Set &amp;Background image</source>
-        <translation>Hintergrundbild laden</translation>
-    </message>
-    <message>
-        <source>Set Background image</source>
-        <translation type="obsolete">Hintergrundbild laden</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <translation type="obsolete">Auswahl zeigen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
-        <source>History Window</source>
-        <comment>View action</comment>
-        <translation>Verlaufsfenster</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
-        <source>Antialiasing</source>
-        <comment>View action</comment>
-        <translation>Antialiasing</translation>
-    </message>
-    <message>
-        <source>Antialiasing</source>
-        <translation type="obsolete">Antialiasing</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
-        <source>Smooth pixmap transformations</source>
-        <comment>View action</comment>
-        <translation>Weiche Bild Transformationen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
-        <source>Next Map</source>
-        <comment>View action</comment>
-        <translation>Nächste Map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
-        <source>Previous Map</source>
-        <comment>View action</comment>
-        <translation>Vorherige Map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
-        <source>Modifier modes</source>
-        <comment>Shortcuts</comment>
-        <translation>Tasten Modifizierer</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
-        <source>Note</source>
-        <comment>SystemFlag</comment>
-        <translation>Notiz</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>URL zu Dokument</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
-        <source>Link to another vym map</source>
-        <comment>SystemFlag</comment>
-        <translation>Verweis zu einer anderen Map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
-        <source>subtree is scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>Teilbaum ist eingerollt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
-        <source>subtree is temporary scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>Teilbaum ist momentan ausgerollt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
-        <source>Hide object in exported maps</source>
-        <comment>SystemFlag</comment>
-        <translation>Objekt beim Exportieren nicht anzeigen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
-        <source>I just love...</source>
-        <comment>Standardflag</comment>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Wichtig</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Priorität</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Zurück</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Schau hier</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Gefährlich</translation>
-    </message>
-    <message>
-        <source>Don&apos;t forget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">Nicht vergessen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Flag</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Startseite</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Telefon</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Musik</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Briefkasten</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Maix</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Passwort</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Zu verbessern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Stop</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Magie</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Zu überlegen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Erinnerung</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Ausgezeichnet</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Süß</translation>
-    </message>
-    <message>
-        <source>Network shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Kurzbefehle Netzwerk</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
-        <source>Settings</source>
-        <translation>Einstellungen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
-        <translation>Pfad für Makros</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
-        <translation>Anzahl der Rückgängig Aktionen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
-        <translation>Automatisch speichern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
-        <source>Autosave time</source>
-        <comment>Settings action</comment>
-        <translation>Zeit für automatisches speichern</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
-        <translation>Beim Verlassen Sicherungskopie anlegen</translation>
-    </message>
-    <message>
-        <source>Note editor is dockable</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Noitz Editor ist DockWidget</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
-        <source>Animation</source>
-        <comment>Settings action</comment>
-        <translation>Animation</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
-        <source>Automatic layout</source>
-        <comment>Settings action</comment>
-        <translation>Autolayout</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
-        <source>Test</source>
-        <translation>Test</translation>
-    </message>
-    <message>
-        <source>Test shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Kurzbefehle Test</translation>
-    </message>
-    <message>
-        <source>Help shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Kurzbefehle Hilfe</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
-        <source>Open VYM example maps </source>
-        <comment>Help action</comment>
-        <translation>VYM Beispielmaps</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
-        <source>Show keyboard shortcuts</source>
-        <comment>Help action</comment>
-        <translation>Zeige Tastaturkürzel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
-        <source>Tasks</source>
-        <comment>Context menu</comment>
-        <translation>Aufgaben</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
-        <source>References (URLs, vymLinks, ...)</source>
-        <comment>Context menu name</comment>
-        <translation>Verweise (URLS, vym, ...)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
-        <source>Follow XLink</source>
-        <comment>Context menu</comment>
-        <translation>XLink folgen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
-        <source>Undo and clipboard toolbar</source>
-        <comment>Toolbar for redo/undo and clipboard</comment>
-        <translation>Rückgängig Werkzeugleiste</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
-        <source>Selection toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation>Auswahl Werkzeugleiste</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
-        <source>URLs and vymLinks toolbar</source>
-        <comment>Toolbar for URLs and vymlinks</comment>
-        <translation>URLs und vymLinks Werkzeugleiste</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
-        <source>Colors toolbar</source>
-        <comment>Colors toolbar name</comment>
-        <translation>Farben Werkzeugleiste</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation>unbenannt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
-        <source>Loading: %1</source>
-        <comment>Progress dialog while loading maps</comment>
-        <translation>Lade: %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
-        <source>or</source>
-        <comment>File Dialog</comment>
-        <translation>oder</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
-        <source>Save map as</source>
-        <translation>Speichern &amp;unter...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation>Lade Freemind map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <source>Export as CSV</source>
-        <translation>Exportiere als CSV</translation>
-    </message>
-    <message>
-        <source>Export as org-mode</source>
-        <translation type="obsolete">Exportiere als org-mode</translation>
-    </message>
-    <message>
-        <source>Sorry, currently only Konqueror supports integrated tabbed browsing.</source>
-        <comment>Mainwindow, open URL</comment>
-        <translation type="obsolete">Sorry, im Moment unterstützen nur Konqueror und Mozilla tabbed browsing.</translation>
-    </message>
-    <message>
-        <source>Currently vym is using %1 to open external links.
-(Change in Settings menu)</source>
-        <comment>Mainwindow, open URL</comment>
-        <translation type="obsolete">Moment verwendet vym %1 um externe Verweise zu öffnen.
-(Ändern im Einstellungs Menu)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
-        <source>Enter URL:</source>
-        <translation>Neue URL:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
-        <translation>HTML</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation>Text</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation>Tabellendokument</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation>Textdokument</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation>Bilder</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
-        <source>Set URL to a local file</source>
-        <translation>URL zu einer lokalen Datei setzen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation>Verbindung zu einer anderen Map</translation>
-    </message>
-    <message>
-        <source>Task</source>
-        <comment>Task dialog</comment>
-        <translation type="obsolete">Aufgabe</translation>
-    </message>
-    <message>
-        <source>Task sleep (days):</source>
-        <comment>Task dialog</comment>
-        <translation type="obsolete">Wiedervorlage (Tage)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation>%1 Objekte in der Map
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation>Verzeichnis mit vym Makros</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
-        <source>Number of undo/redo levels:</source>
-        <translation>Anzahl der Rückgängig Aktionen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
-        <translation>Die Einstellungen wurden geändert. Die nächste geöffnete Map
-wird %1 Rückgängig Schritte haben.</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
-        <source>Number of seconds before autosave:</source>
-        <translation>Anzahl der Sekunden vor automatischem Speichern</translation>
-    </message>
-    <message>
-        <source>Information</source>
-        <translation type="obsolete">Information</translation>
-    </message>
-    <message>
-        <source>Changed settings will be applied after restarting vym</source>
-        <translation type="obsolete">Änderungen werden nach einem Neustart von vym übernommen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
-        <source>History for %1</source>
-        <comment>Window Caption</comment>
-        <translation>Verlauf von %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
-        <source>Export in last used format (%1) to: %2</source>
-        <comment>status tip</comment>
-        <translation>Exporte im zuletzt genutzten Format (%1) nach: %2</translation>
-    </message>
-    <message>
-        <source>Export in last used format (%1)</source>
-        <comment>status tip</comment>
-        <translation type="obsolete">Exporte im zuletzt benutztem Format</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
-        <translation>Konnte die Dokumentation %1 nicht finden in
-%2</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
-        <source>Load vym example map</source>
-        <translation>Lade vym Beispiel Map</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="obsolete">Konnte Makro nicht finden in
-%1</translation>
-    </message>
-    <message>
-        <source>Set directory for vym macros</source>
-        <translation type="obsolete">Verzeichnis für vym Makros</translation>
-    </message>
-</context>
-<context>
-    <name>MapEditor</name>
-    <message>
-        <source>Note</source>
-        <translation type="obsolete">Notiz</translation>
-    </message>
-    <message>
-        <source>WWW Document (external)</source>
-        <translation type="obsolete">WWW Dokument (extern)</translation>
-    </message>
-    <message>
-        <source>Link to another vym map</source>
-        <translation type="obsolete">Verbindung zu einer anderen Map</translation>
-    </message>
-    <message>
-        <source>subtree is scrolled</source>
-        <translation type="obsolete">Teilbaum ist eingerollt</translation>
-    </message>
-    <message>
-        <source>subtree is temporary scrolled</source>
-        <translation type="obsolete">Teilbaum ist momentan ausgerollt</translation>
-    </message>
-    <message>
-        <source>Take care!</source>
-        <translation type="obsolete">Vorsicht!</translation>
-    </message>
-    <message>
-        <source>Really?</source>
-        <translation type="obsolete">Wirklich?</translation>
-    </message>
-    <message>
-        <source>ok!</source>
-        <translation type="obsolete">ok!</translation>
-    </message>
-    <message>
-        <source>Not ok!</source>
-        <translation type="obsolete">Nicht ok!</translation>
-    </message>
-    <message>
-        <source>This won&apos;t work!</source>
-        <translation type="obsolete">Das geht nicht!</translation>
-    </message>
-    <message>
-        <source>Good</source>
-        <translation type="obsolete">Gut</translation>
-    </message>
-    <message>
-        <source>Bad</source>
-        <translation type="obsolete">Schlecht</translation>
-    </message>
-    <message>
-        <source>Time critical</source>
-        <translation type="obsolete">Zeitkritisch</translation>
-    </message>
-    <message>
-        <source>Idea!</source>
-        <translation type="obsolete">Idee!</translation>
-    </message>
-    <message>
-        <source>Important</source>
-        <translation type="obsolete">Wichtig</translation>
-    </message>
-    <message>
-        <source>Unimportant</source>
-        <translation type="obsolete">Unwichtig</translation>
-    </message>
-    <message>
-        <source>I like this</source>
-        <translation type="obsolete">Finde ich gut</translation>
-    </message>
-    <message>
-        <source>I do not like this</source>
-        <translation type="obsolete">Finde ich schlecht</translation>
-    </message>
-    <message>
-        <source>I just love... </source>
-        <translation type="obsolete">Das liebe ich!</translation>
-    </message>
-    <message>
-        <source>Critical error while loading map</source>
-        <translation type="obsolete">Kritischer Fehler beim Laden der Map</translation>
-    </message>
-    <message>
-        <source>Critical Parse Error</source>
-        <translation type="obsolete">Kritischer Fehler beim Verarbeiten</translation>
-    </message>
-    <message>
-        <source>Warning: Old file format</source>
-        <translation type="obsolete">Warnung: Altes Dateiformat</translation>
-    </message>
-    <message>
-        <source>&lt;h3&gt;Old file format detected&lt;/h3&gt;&lt;p&gt;The map you are just loading still uses an old uncompressed file format. Saving it later will overwrite the old format by converting it to version </source>
-        <translation type="obsolete">&lt;h3&gt;Altes Dateiformat gefunden&lt;/h3&gt;Die gerade geladene Map verwendet ein unkomprimmiertes Format. Wird sie später gespeichert, so wird sie umgewandelt in das Format von Version</translation>
-    </message>
-    <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Kritischer Fehler beim Laden</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open map after uncompressing, I tried:
-</source>
-        <translation type="obsolete">Konnte Map nach dem Entpacken nicht öffnen:
-</translation>
-    </message>
-    <message>
-        <source>Critical Save Error</source>
-        <translation type="obsolete">Kritischer Fehler beim Speichern</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t write to </source>
-        <translation type="obsolete">Konnte nicht speichern:</translation>
-    </message>
-    <message>
-        <source>Critcal save error</source>
-        <translation type="obsolete">Kritischer Fehler beim Speichern</translation>
-    </message>
-    <message>
-        <source> doesn&apos;t exist</source>
-        <translation type="obsolete">gibt es nicht</translation>
-    </message>
-    <message>
-        <source>VYM - Export (ASCII)</source>
-        <translation type="obsolete">VYM - Export (ASCII)</translation>
-    </message>
-    <message>
-        <source>The file </source>
-        <translation type="obsolete">Die Datei</translation>
-    </message>
-    <message>
-        <source> exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete">gibt es bereits. Wollen Sie sie</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Überschreiben</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Abbrechen</translation>
-    </message>
-    <message>
-        <source>Critical Export Error </source>
-        <translation type="obsolete">Kritischer Fehler beim Exportieren</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create directory </source>
-        <translation type="obsolete">Konnte Verzeichnis nicht anlegen</translation>
-    </message>
-    <message>
-        <source>VYM - Export to directory</source>
-        <translation type="obsolete">VYM - Export in Verzeichnis</translation>
-    </message>
-    <message>
-        <source>VYM - Export to directory (still experimental)</source>
-        <translation type="obsolete">VYM - Export in Verzeichnis</translation>
-    </message>
-    <message>
-        <source>The directory </source>
-        <translation type="obsolete">Das Verzeichnis</translation>
-    </message>
-    <message>
-        <source> is not empty. Do you risk to overwrite its contents?</source>
-        <translation type="obsolete">ist nicht leer.Riskieren sie es, das Verzeichnis zu überschreiben?</translation>
-    </message>
-    <message>
-        <source>Critical Export Error</source>
-        <translation type="obsolete">Kritischer Fehler beim Exportieren</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Kritischer Fehler</translation>
-    </message>
-    <message>
-        <source> used for undo is gone. 
-I will create a new one, but at the moment no undo is available.
-Maybe you want to reload your original data.
-
-Sorry for any inconveniences.</source>
-        <translation type="obsolete">Vielleicht wollen sie die Orginaldaten erneut laden
-Sorry für die Unannehmlichkeiten.</translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Neue URL:</translation>
-    </message>
-    <message>
-        <source>VYM - Link to another map</source>
-        <translation type="obsolete">VYM - Verbindung zu einer anderen Map</translation>
-    </message>
-    <message>
-        <source>vym map</source>
-        <translation type="obsolete">vym Map</translation>
-    </message>
-    <message>
-        <source>vym - load image</source>
-        <translation type="obsolete">VYM - Lade Bild</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <translation type="obsolete">Bilder</translation>
-    </message>
-    <message>
-        <source>vym - Load image</source>
-        <translation type="obsolete">vym - Lade Bild</translation>
-    </message>
-    <message>
-        <source>vym - save image as</source>
-        <translation type="obsolete">vym - Speichere Bild als</translation>
-    </message>
-    <message>
-        <source>vym - Save image as </source>
-        <translation type="obsolete">vym - Speichere Bild als</translation>
-    </message>
-    <message>
-        <source>Critical Import Error</source>
-        <translation type="obsolete">Kritischer Fehler beim Importieren</translation>
-    </message>
-    <message>
-        <source>Cannot find the directory</source>
-        <translation type="obsolete">Kann das Verzeichnis nicht finden</translation>
-    </message>
-    <message>
-        <source>VYM - Choose directory structur to import</source>
-        <translation type="obsolete">vym - Wähle Verzeichnisstruktur für Import</translation>
-    </message>
-    <message>
-        <source>Dangerous</source>
-        <translation type="obsolete">Gefährlich</translation>
-    </message>
-    <message>
-        <source>This will help</source>
-        <translation type="obsolete">Das könnte helfen</translation>
-    </message>
-    <message>
-        <source>New Map</source>
-        <translation type="obsolete">Neue Map</translation>
-    </message>
-    <message>
-        <source>Critical Parse Error by reading backupFile</source>
-        <translation type="obsolete">Kritischer Fehler beim Parsen
-der Sicherungskopie</translation>
-    </message>
-    <message>
-        <source>MapEditor::exportXML couldn&apos;t open </source>
-        <translation type="obsolete">MapEditor::exportXML konnte nicht öffnen:</translation>
-    </message>
-    <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Notiz</translation>
-    </message>
-    <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">WWW Dokument (extern)</translation>
-    </message>
-    <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Verbindung zu einer anderen Map</translation>
-    </message>
-    <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Teilbaum ist eingerollt</translation>
-    </message>
-    <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Teilbaum ist momentan ausgerollt</translation>
-    </message>
-    <message>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Vorsicht!</translation>
-    </message>
-    <message>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Wirklich?</translation>
-    </message>
-    <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">ok!</translation>
-    </message>
-    <message>
-        <source>Not ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Nicht ok!</translation>
-    </message>
-    <message>
-        <source>This won&apos;t work!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Das geht nicht!</translation>
-    </message>
-    <message>
-        <source>Good</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Gut</translation>
-    </message>
-    <message>
-        <source>Bad</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Schlecht</translation>
-    </message>
-    <message>
-        <source>Time critical</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Zeitkritisch</translation>
-    </message>
-    <message>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Idee!</translation>
-    </message>
-    <message>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Wichtig</translation>
-    </message>
-    <message>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Unwichtig</translation>
-    </message>
-    <message>
-        <source>I like this</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Finde ich gut</translation>
-    </message>
-    <message>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Finde ich schlecht</translation>
-    </message>
-    <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Das liebe ich!</translation>
-    </message>
-    <message>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Gefährlich</translation>
-    </message>
-    <message>
-        <source>This will help</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Das könnte helfen</translation>
-    </message>
-    <message>
-        <source>New Map</source>
-        <comment>Heading of mapcenter in new map</comment>
-        <translation type="obsolete">Neue Map</translation>
-    </message>
-    <message>
-        <source>Critcal Save error</source>
-        <translation type="obsolete">Kritischer Fehler beim Speichern</translation>
-    </message>
-    <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Die Datei %1 gibt es bereits.
-Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <source>MapEditor::exportXML couldn&apos;t open %1</source>
-        <translation type="obsolete">MapEditor::exportXML konnte %1 nicht öffnen</translation>
-    </message>
-    <message>
-        <source>Temporary directory %1 used for undo is gone. 
-I will create a new one, but at the moment no undo is available.
-Maybe you want to reload your original data.
-
-Sorry for any inconveniences.</source>
-        <translation type="obsolete">Um einen Schritt rückgängig machen zu können, wird das Verzeichnis
-%1 benutzt - leider ist verschwunden. 
-Am besten Sie starten vym neu und laden Ihre Daten nochmal.
-
-Sorry für die Umstände.
-</translation>
-    </message>
-    <message>
-        <source>vym - Save image as %1</source>
-        <translation type="obsolete">vym - Bild speichern als %1</translation>
-    </message>
-    <message>
-        <source>The file %1 exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete">Die Datei %1 gibt es bereits.
-Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <source>Cannot find the directory %1</source>
-        <translation type="obsolete">Konnte das Verzeichnis %1 nicht finden</translation>
-    </message>
-    <message>
-        <source>Export (ASCII)</source>
-        <translation type="obsolete">als ASCII</translation>
-    </message>
-    <message>
-        <source>The file %1
-exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete">Die Datei %1 gibt es bereits.
-Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Verbindung zu einer anderen Map</translation>
-    </message>
-    <message>
-        <source>Load image</source>
-        <translation type="obsolete">Lade Bild</translation>
-    </message>
-    <message>
-        <source>Save image as %1</source>
-        <translation type="obsolete">Speichere Bild unter %1</translation>
-    </message>
-    <message>
-        <source>Choose directory structure to import</source>
-        <translation type="obsolete">Bitte Verzeichnis zum Importieren auswählen</translation>
-    </message>
-    <message>
-        <source>Export as ASCII</source>
-        <translation type="obsolete">Exportiere als ASCII</translation>
-    </message>
-    <message>
-        <source>(still experimental)</source>
-        <translation type="obsolete">(noch experimentelle Funktion)</translation>
-    </message>
-    <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exportiere als LaTeX Datei</translation>
-    </message>
-    <message>
-        <source>unnamed</source>
-        <translation type="obsolete">unbenannt</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Warnung</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation type="obsolete">Konnte das Script %1
-nicht finden, das nötig ist um die
-Browser auf die geänderten Lesezeichen
-hinzuweisen. </translation>
-    </message>
-    <message>
-        <source>History for </source>
-        <translation type="obsolete">Verlauf für</translation>
-    </message>
-    <message>
-        <source>Save image</source>
-        <translation type="obsolete">Speichere Bild</translation>
-    </message>
-    <message>
-        <source>Critical Parse Error while reading %1</source>
-        <translation type="obsolete">Kritischer Fehler beim Parsen von %1</translation>
-    </message>
-    <message>
-        <source>Could not read %1</source>
-        <translation type="obsolete">%1 konnte nicht gelesen werden</translation>
-    </message>
-    <message>
-        <source>Can&apos;t get color of heading,
-there&apos;s no branch selected</source>
-        <translation type="obsolete">Konnte die Farbe der Beschriftung nicht bestimmen,
-da kein Zweig ausgewählt ist.</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation type="obsolete">Konnte temporäres Verzeichnis vor dem Laden nicht erzeugen
-</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">Konnte keine map (*.xml) in .vym Datei finden.
-</translation>
-    </message>
-    <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">Die Map %1
-wurde unkomprimiert gespeichert, also nicht im 
-normalerweise von vym verwendeten Format.
-Beim nochmaligen unkomprimierten Speichern
-werden auch Grafiken gespeichert und so evtl.
-Daten im angegeben Verzeichnis überschrieben.
-
-Wollen Sie 
-</translation>
-    </message>
-    <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">komprimieren (vym default)</translation>
-    </message>
-    <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">unkomprimiert lassen</translation>
-    </message>
-    <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Fehler beim Speichern</translation>
-    </message>
-    <message>
-        <source>%1
-could not be removed before saving</source>
-        <translation type="obsolete">%1
-konnte vor dem SPeichern nicht entfernt werden</translation>
-    </message>
-    <message>
-        <source>%1
-could not be renamed before saving</source>
-        <translation type="obsolete">%1
-konnte vor dem Speichern nicht umbenannt werden</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">Konnte temporäres Verzeichnis vor dem Speichern nicht erzeugen
-</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">Map als Bild exportieren</translation>
-    </message>
-    <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Exportiere XML in Verzeichnis</translation>
-    </message>
-    <message>
-        <source>Autosave disabled during undo.</source>
-        <translation type="obsolete">Autosave ausgeschaltet während der Aktion &quot;Rückgängig&quot;</translation>
-    </message>
-    <message>
-        <source>Load background image</source>
-        <translation type="obsolete">Hintergrundbild laden</translation>
-    </message>
-    <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Text</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Tabellendokument</translation>
-    </message>
-    <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Textdokument</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Bilder</translation>
-    </message>
-    <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">URL zu einer lokalen Datei setzen</translation>
-    </message>
-    <message>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="obsolete">%1 Objekte in der Map
-</translation>
-    </message>
-    <message>
-        <source>The file of the map  on disk has changed:
-
-   %1
-
-Do you want to reload that map with the new file?</source>
-        <translation type="obsolete">Die zur Map gehörende Datei hat sich verändert:
-
-   %1
-
-Soll die Map durch die neue Datei ersetzt werden?</translation>
-    </message>
-    <message>
-        <source>Reload</source>
-        <translation type="obsolete">Neu laden</translation>
-    </message>
-    <message>
-        <source>Ignore</source>
-        <translation type="obsolete">Ignorieren</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="43"/>
-        <source>Map Editor</source>
-        <comment>Shortcut scope</comment>
-        <translation>Map Editor</translation>
-    </message>
-    <message>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">vorherige Auswahl</translation>
-    </message>
-    <message>
-        <source>Select next</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">nächste Auswahl</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
-        <source>Edit heading</source>
-        <comment>MapEditor</comment>
-        <translation>Zweig-Überschrift bearbeiten</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <comment>MapEditor</comment>
-        <translation type="obsolete">Speichern</translation>
-    </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Ausschneiden</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Kopieren</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Wieder&amp;herstellen</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Ein&amp;fügen</translation>
-    </message>
-    <message>
-        <source>Repeat last export (%1)</source>
-        <translation type="obsolete">Letzten Export wiederholen (%1)</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="510"/>
-        <source>Print vym map</source>
-        <comment>MapEditor</comment>
-        <translation>Map drucken</translation>
-    </message>
-</context>
-<context>
-    <name>NoteEditor</name>
-    <message>
-        <location filename="../noteeditor.cpp" line="13"/>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation>Notiz Editor</translation>
-    </message>
-</context>
-<context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="vanished">Kritischer Fehler</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="vanished">Konnte %1 nicht starten</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="vanished">%1 wurde nicht richtig beendet</translation>
-    </message>
-</context>
-<context>
-    <name>QMessageBox</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Kritischer Fehler</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <source>new branch</source>
-        <translation type="obsolete">Neuer Zweig</translation>
-    </message>
-    <message>
-        <source>New Map</source>
-        <translation type="obsolete">Neue Map</translation>
-    </message>
-    <message>
-        <source>This is not an image.</source>
-        <translation type="obsolete">Das ist kein Bild.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
-        <source>Critical Export Error</source>
-        <translation>Kritischer Fehler beim Exportieren</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <source>Could not write %1</source>
-        <translation>%1 konnte nicht </translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="147"/>
-        <source>Exporting to %1 will overwrite the existing file:
-%2</source>
-        <translation>Die Datei %2 gibt es bereits.
-Wollen Sie sie überschreiben für einen Export nach %1?</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="146"/>
-        <source>Warning: Overwriting file</source>
-        <translation>Warnung: Überschreiben einer Datei</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="235"/>
-        <source>Could not export as AO to %1</source>
-        <translation>Konnte nicht als AO nach %1 exportieren</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="381"/>
-        <source>Could not export as ASCII to %1</source>
-        <translation>Konnte nicht als ASCII nach %1 exportieren</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="503"/>
-        <source>Export as CSV</source>
-        <translation>Exportiere als CSV</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="511"/>
-        <source>Could not export as CSV to %1</source>
-        <translation>Konnte nicht als CSV nach %1 exportieren</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="837"/>
-        <source>Contents:</source>
-        <comment>Used in HTML export</comment>
-        <translation>Inhalt</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="893"/>
-        <source>Export aborted.</source>
-        <translation>Export fehlgeschlagen.</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Warnung</translation>
-    </message>
-    <message>
-        <source>Trying to load stylesheet:</source>
-        <translation type="obsolete">Versuche Stylesheet zu laden</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">%1 konnte nicht geöffnet werden</translation>
-    </message>
-    <message>
-        <source>Trying to save stylesheet:</source>
-        <translation type="obsolete">Versuche Stylesheet zu speichern</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">%1 konnte nicht geöffnet werden</translation>
-    </message>
-    <message>
-        <source>Trying to load small icon for URLs:</source>
-        <translation type="obsolete">Versuche kleines Icon für URLs zu laden</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="934"/>
-        <source>Trying to create directory for flags:</source>
-        <translation>Versuche Verzeichnis für Flags anzulegen</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="935"/>
-        <source>Could not create %1</source>
-        <translation>%1 konnte nicht angelegt werden</translation>
-    </message>
-    <message>
-        <source>Trying to save small icon for URLs:</source>
-        <translation type="obsolete">Versuche kleines Icon für URLs zu speichern</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
-        <source>Critical</source>
-        <translation>Kritisch</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="910"/>
-        <source>Could not find stylesheet %1</source>
-        <translation>Konnte stylesheet %1 nicht finden</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="920"/>
-        <source>Error</source>
-        <comment>ExportHTML</comment>
-        <translation>Fehler</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="921"/>
-        <source>Could not copy
-%1 to
-%2</source>
-        <comment>ExportHTML</comment>
-        <translation>Kopieren fehlgeschlagen:
-%1 nach
-%2</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation>Kopieren fehlgeschlagen:
-%1 nach
-%2</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
-        <source>Trying to save HTML file:</source>
-        <translation>Versuche HTML Datei zu speichern:</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
-        <source>Export failed.</source>
-        <translation>Export fehlgeschlagen.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="1048"/>
-        <source>Could not export as OrgMode to %1</source>
-        <translation>Konnte nicht als OrgMode  nach %1 exportieren</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="1129"/>
-        <source>Could not export as LaTeX to %1</source>
-        <translation>Konnte nicht als LaTeX  nach %1 exportieren</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="1189"/>
-        <source>Export as LibreOffice Impress presentation</source>
-        <translation>Exportieren als LibreOffice Impress Präsentation</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="1236"/>
-        <source>No objects in map!</source>
-        <translation>Keine Objekte in Map!</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="1333"/>
-        <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
-        <translation>Konnte Einstellungen nicht lesen von %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="1343"/>
-        <source>Check &quot;%1&quot; in
-%2</source>
-        <translation>Bitte &quot;%1&quot; prüfen in
-%2</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
-        <source>Could not read %1</source>
-        <translation>%1 konnte nicht gelesen werden</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
-        <source>Critical Error</source>
-        <translation>Kritischer Fehler</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="258"/>
-        <source>Couldn&apos;t move existing file out of the way before saving.</source>
-        <translation>Konnte bereits existierende Datei vor dem Speichern nicht verschieben</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
-        <translation>Konnte Tool zum dekomprimieren der Daten nicht starten</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>Konnte zip nicht starten, um Daten zu komprimieren.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="306"/>
-        <source>zip didn&apos;t exit normally</source>
-        <translation>zip wurde nicht richtig beendet</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="324"/>
-        <source>Couldn&apos;t rename %1 back to %2</source>
-        <translation>Konnte %1 nicht umbenennen zu %2</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="333"/>
-        <source>Couldn&apos;t remove target of old symbolic link %1</source>
-        <translation>Konnte Ziel des alten symbolischen Links %1 nicht entfernen</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="341"/>
-        <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
-        <translation>Konnte Ausgabe nicht zum Ziel des alten symbolischen Links %1 umbenennen</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="348"/>
-        <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
-        <translation>Konnte nicht von %1 zum Ziel des symblischen Links %2 verlinken</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="357"/>
-        <source>Saved %1, but couldn&apos;t remove %2</source>
-        <translation>%1 wurde gespeichert, aber %2 konnte nicht entfernt werden</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>Konnte unzip nicht starten, um Daten zu dekomprimieren.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>unzip wurde nicht richtig beendet</translation>
-    </message>
-    <message>
-        <location filename="../xsltproc.cpp" line="79"/>
-        <source>Could not start %1</source>
-        <translation>%1 konnte nicht gestartet werden</translation>
-    </message>
-    <message>
-        <location filename="../xsltproc.cpp" line="85"/>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation>%1 wurde nicht richtig beendet</translation>
-    </message>
-    <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Die Datei %1 gibt es bereits.
-Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="90"/>
-        <source>Overwrite</source>
-        <translation>Überschreiben</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="91"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <source>Sorry, no preview for
-multiple selected files.</source>
-        <translation type="obsolete">Leider keine Vorschau
-möglich für Mehrfachausahl.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>Das Exportieren der %1 Lesezeichen wird die
-bestehende Datei mit Lesezeichen überschreiben.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>Warnung: Überschreiben der %1 Lesezeichen</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
-        <source>Warning</source>
-        <translation>Warnung</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>Konnte das Script %1
-nicht finden, das nötig ist um die
-Browser auf die geänderten Lesezeichen
-hinzuweisen. </translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Error</source>
-        <translation>Fehler</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
-        <source>Couldn&apos;t access temporary directory
-</source>
-        <translation>Auf das temporäre Verzeichnis konnte nicht zugegriffen werden</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
-        <source>Export as ASCII</source>
-        <translation>Exportiere als ASCII</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="223"/>
-        <source>(still experimental)</source>
-        <translation>(noch experimentelle Funktion)</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="84"/>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <comment>write directory</comment>
-        <translation>Das Verzeichnis %1 ist nicht leer.
-Riskieren Sie es dessen Inhalt zu überschreiben?</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">Konnte nicht geöffnet werden:
-%1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Kein Bugzilla Client gefunedn. Für openSUSE installieren mit (als root):
-
-</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Alternativ das repository hinzufügen und das Perl Modul für
-Bugzilla Zugriff in YaST installieren</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
-        <translation>Warnung: Konnte Bugzilla Client nicht finden</translation>
-    </message>
-    <message>
-        <source>Note Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Notiz Editor</translation>
-    </message>
-    <message>
-        <source>Heading Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Editor Zweigbeschriftungen</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
-        <translation>Konnte Tool zum Dekomprimieren der Daten nicht finden. Bitte 7z herunterladen und installerien, anschließend Pfad in den Einstellungen angeben</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation>Konnte %1 nicht öffnen
-%2</translation>
-    </message>
-    <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
-        <translation>Warnung: Versionsproblemm</translation>
-    </message>
-    <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
-        <translation>&lt;h3&gt;Map ist neuer als VYM&lt;/h3&gt;&lt;p&gt;Die Map, die Sie gerade versuchen zu laden wurde mit vym %1 gespeichert. Die vorliegende Version von vym ist %2. Falls nach dem Fortfahren mit Ok Probleme autauchen, sollte ein Update von vym helfen.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation>Konnte Makro nicht finden in
-%1</translation>
-    </message>
-    <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
-        <translation>Bitte setzen sie einen Pfad in Einstellungen-&gt;</translation>
-    </message>
-    <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
-        <translation>Verzeichnis für vym Makros</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
-        <translation>Konnte %1 nicht speichern</translation>
-    </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
-    <message>
-        <location filename="../scripteditor.ui" line="14"/>
-        <source>Form</source>
-        <translation>Formular</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
-        <translation>Tab 1</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="55"/>
-        <source>Save to selected slide</source>
-        <translation>In ausgewählte Folie speichern</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
-        <source>Run</source>
-        <translation>Starten</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
-        <translation>Tab 2</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
-        <translation>Ausgewählte Taste</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="131"/>
-        <source>Load</source>
-        <translation>Laden</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="138"/>
-        <source>Save</source>
-        <translation>Speichern</translation>
-    </message>
-    <message>
-        <source>Save slide</source>
-        <translation type="obsolete">Folie speichern</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
-        <source>Warning</source>
-        <translation>Warnung</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t save script into slide!</source>
-        <translation type="obsolete">Konnte Skript nicht in Folie speichern!</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find slide to save script!</source>
-        <translation type="obsolete">Konnte Folie nicht finden um das Skript zu speichern!</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="45"/>
-        <source>Slide</source>
-        <comment>Mode in scriptEditor</comment>
-        <translation>Folie</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="46"/>
-        <source>Macro</source>
-        <comment>Mode in scriptEditor</comment>
-        <translation>Makro</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation>Speichern</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <source>Couldn&apos;t get model to save script into slide!</source>
-        <translation>Konnte Datenmodell zum Speichern des Scripts nicht auffinden!</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="117"/>
-        <source>Couldn&apos;t find slide to save script into slide!</source>
-        <translation>Konnte Folie zum Speichern des Scripts nicht finden!</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="143"/>
-        <source>Save script</source>
-        <translation>Script speichern</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="155"/>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation>Die Datei %1 gibt es bereits.
-Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="160"/>
-        <source>Overwrite</source>
-        <translation>Überschreiben</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="161"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="184"/>
-        <source>Load script</source>
-        <translation>Script laden</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation>Fehler</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation>Konnte %1 nicht öffnen.
-</translation>
-    </message>
-</context>
-<context>
-    <name>ShowTextDialog</name>
-    <message>
-        <source>VYM - Info</source>
-        <translation type="obsolete">VYM - Info</translation>
-    </message>
-    <message>
-        <location filename="../showtextdialog.ui" line="50"/>
-        <source>Close</source>
-        <translation>Schliessen</translation>
-    </message>
-    <message>
-        <source>History of %1</source>
-        <translation type="obsolete">Verlauf von %1</translation>
-    </message>
-    <message>
-        <location filename="../showtextdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation>Dialog</translation>
-    </message>
-</context>
-<context>
-    <name>SimpleScriptEditor</name>
-    <message>
-        <source>Save script</source>
-        <translation type="obsolete">Script speichern</translation>
-    </message>
-    <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">Die Datei %1 gibt es bereits.
-Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Überschreiben</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Abbrechen</translation>
-    </message>
-    <message>
-        <source>Load script</source>
-        <translation type="obsolete">Script laden</translation>
-    </message>
-    <message>
-        <source>Error</source>
-        <translation type="obsolete">Fehler</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">Konnte nichKonnte nicht geöffnet werden:
-%1</translation>
-    </message>
-    <message>
-        <source>Simple Script Editor</source>
-        <translation type="obsolete">Einfacher Script Editor</translation>
-    </message>
-    <message>
-        <source>Save as</source>
-        <translation type="obsolete">Speichern als</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">Speichern</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <translation type="obsolete">Öffnen</translation>
-    </message>
-    <message>
-        <source>Run</source>
-        <translation type="obsolete">Starten</translation>
-    </message>
-    <message>
-        <source>Close</source>
-        <translation type="obsolete">Schliessen</translation>
-    </message>
-</context>
-<context>
-    <name>TaskEditor</name>
-    <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
-        <translation>Aktuelle Map</translation>
-    </message>
-    <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Aktive Aufgaben</translation>
-    </message>
-    <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Neue Aufgaben</translation>
-    </message>
-    <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation>Bearbeite Zweig-Beschrifttung</translation>
-    </message>
-</context>
-<context>
-    <name>TaskModel</name>
-    <message>
-        <location filename="../taskmodel.cpp" line="127"/>
-        <source>Prio</source>
-        <comment>TaskEditor</comment>
-        <translation>Priorität</translation>
-    </message>
-    <message>
-        <location filename="../taskmodel.cpp" line="129"/>
-        <source>Status</source>
-        <comment>TaskEditor</comment>
-        <translation>Status</translation>
-    </message>
-    <message>
-        <location filename="../taskmodel.cpp" line="131"/>
-        <source>Age total</source>
-        <comment>TaskEditor</comment>
-        <translation>Alter insg.</translation>
-    </message>
-    <message>
-        <location filename="../taskmodel.cpp" line="133"/>
-        <source>Age mod.</source>
-        <comment>TaskEditor</comment>
-        <translation>Alter letzte Änderung</translation>
-    </message>
-    <message>
-        <location filename="../taskmodel.cpp" line="135"/>
-        <source>Sleep</source>
-        <comment>TaskEditor</comment>
-        <translation>Wiedervorlage</translation>
-    </message>
-    <message>
-        <location filename="../taskmodel.cpp" line="137"/>
-        <source>Map</source>
-        <comment>TaskEditor</comment>
-        <translation>Map</translation>
-    </message>
-    <message>
-        <location filename="../taskmodel.cpp" line="139"/>
-        <source>Task</source>
-        <comment>TaskEditor</comment>
-        <translation>Aufgabe</translation>
-    </message>
-</context>
-<context>
-    <name>TextEditor</name>
-    <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">&amp;Datei</translation>
-    </message>
-    <message>
-        <source>Import</source>
-        <translation type="obsolete">Importiere</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="273"/>
-        <source>&amp;Import...</source>
-        <translation>&amp;Importiere</translation>
-    </message>
-    <message>
-        <source>Export Note</source>
-        <translation type="obsolete">Exportiere Notiz</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="283"/>
-        <source>&amp;Export...</source>
-        <translation>&amp;Export</translation>
-    </message>
-    <message>
-        <source>Export Note As</source>
-        <translation type="obsolete">Exportiere Notiz unter...</translation>
-    </message>
-    <message>
-        <source>Export &amp;As...</source>
-        <translation type="obsolete">Exportiere &amp;unter...</translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <translation type="obsolete">Drucke Notiz</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="308"/>
-        <source>&amp;Print...</source>
-        <translation>&amp;Drucken</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">&amp;Bearbeiten</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">Rückgängig</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
-        <source>&amp;Undo</source>
-        <translation>R&amp;ückgängig</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <translation type="obsolete">Wiederherstellen</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="341"/>
-        <source>&amp;Redo</source>
-        <translation>Wieder&amp;herstellen</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <translation type="obsolete">Alles auswählen und kopieren</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="351"/>
-        <source>Select and copy &amp;all</source>
-        <translation>&amp;Alles auswählen und kopieren</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <translation type="obsolete">Kopieren</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="359"/>
-        <source>&amp;Copy</source>
-        <translation>&amp;Kopieren</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <translation type="obsolete">Ausschneiden</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="368"/>
-        <source>Cu&amp;t</source>
-        <translation>&amp;Ausschneiden</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <translation type="obsolete">Einfügen</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="377"/>
-        <source>&amp;Paste</source>
-        <translation>Ein&amp;fügen</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <translation type="obsolete">Alles löschen</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="316"/>
-        <source>&amp;Delete All</source>
-        <translation>Alles &amp;löschen</translation>
-    </message>
-    <message>
-        <source>&amp;Format</source>
-        <translation type="obsolete">&amp;Format</translation>
-    </message>
-    <message>
-        <source>Use fixed font</source>
-        <translation type="obsolete">Benutze fixe Zeichenbreite</translation>
-    </message>
-    <message>
-        <source>&amp;Fixed font</source>
-        <translation type="obsolete">&amp;fixe Zeichenbreite</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="540"/>
-        <source>&amp;Settings</source>
-        <translation>&amp;Einstellungen</translation>
-    </message>
-    <message>
-        <source>Set fixed font</source>
-        <translation type="obsolete">Wähle Zeichensatz mit fixer Breite</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="543"/>
-        <source>Set &amp;fixed font</source>
-        <translation>Wähle Zeichensatz mit f&amp;ixer Breite</translation>
-    </message>
-    <message>
-        <source>Set variable font</source>
-        <translation type="obsolete">Wähle Zeichensatz mit variabler Breite</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="548"/>
-        <source>Set &amp;variable font</source>
-        <translation>Wähle Zeichensatz mit v&amp;ariabler Breite</translation>
-    </message>
-    <message>
-        <source>Used fixed font by default</source>
-        <translation type="obsolete">Verwende fixen Zeichensatz per default</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="553"/>
-        <source>&amp;fixed font is default</source>
-        <translation>Verwende fixen Zeichensatz p&amp;er default</translation>
-    </message>
-    <message>
-        <source>Export Note (HTML)</source>
-        <translation type="obsolete">Exportiere Notiz (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <translation type="obsolete">Exportiere Notiz als (HTML)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="293"/>
-        <source>Export &amp;As... (HTML)</source>
-        <translation>Exportiere Notiz &amp;als... (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <translation type="obsolete">Exportiere Notiz als (ASCII)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="298"/>
-        <source>Export &amp;As...(ASCII)</source>
-        <translation>Exportiere a&amp;ls (ASCII)</translation>
-    </message>
-    <message>
-        <source>Use fixed width font for the whole text</source>
-        <translation type="obsolete">Feste Zeichenbreite für den Text verwenden</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="329"/>
-        <source>Edi&amp;t</source>
-        <translation>Edi&amp;tieren</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="390"/>
-        <source>Font hints</source>
-        <comment>toolbar in texteditor</comment>
-        <translation>Zeichensatz Hint</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="417"/>
-        <source>Fonts</source>
-        <comment>toolbar in texteditor</comment>
-        <translation>Zeichensätze</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="443"/>
-        <source>Format</source>
-        <comment>toolbar in texteditor</comment>
-        <translation>Format</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="448"/>
-        <source>&amp;Color...</source>
-        <translation>&amp;Farbe...</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="454"/>
-        <source>&amp;Bold</source>
-        <translation>F&amp;ett</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="464"/>
-        <source>&amp;Italic</source>
-        <translation>K&amp;ursiv</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="474"/>
-        <source>&amp;Underline</source>
-        <translation>&amp;Unterstrichen</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="512"/>
-        <source>&amp;Left</source>
-        <translation>&amp;Linksbündig</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="518"/>
-        <source>C&amp;enter</source>
-        <translation>&amp;Zentriert</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="524"/>
-        <source>&amp;Right</source>
-        <translation>&amp;Rechtsbündig</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="530"/>
-        <source>&amp;Justify</source>
-        <translation>&amp;Blocksatz</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="704"/>
-        <source>Export Note to single file</source>
-        <translation>Notiz in eine einzelne Datei exportieren</translation>
-    </message>
-    <message>
-        <source>The file </source>
-        <translation type="obsolete">Die Datei</translation>
-    </message>
-    <message>
-        <source> exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete">gibt es bereits. Wollen Sie sie</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
-        <source>Overwrite</source>
-        <translation>Überschreiben</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t export note </source>
-        <translation type="obsolete">Konnte Notiz nicht exportieren</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="785"/>
-        <source>Export Note to single file (ASCII)</source>
-        <translation>Notiz als ASCII in eine einzelne Datei ausgeben</translation>
-    </message>
-    <message>
-        <source>Convert paragraphs to linebreaks</source>
-        <translation type="obsolete">Absätze in Zeilenbrüche umwandeln</translation>
-    </message>
-    <message>
-        <source>&amp;Convert Paragraphs</source>
-        <translation type="obsolete">&amp;Absätze umwandeln</translation>
-    </message>
-    <message>
-        <source>Join all lines of a paragraph</source>
-        <translation type="obsolete">Alle Zeilenumbrüche eines Absatzes zu vereinen</translation>
-    </message>
-    <message>
-        <source>&amp;Join lines</source>
-        <translation type="obsolete">&amp;Zeilen vereinen</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <translation type="obsolete">Zeichensatz für gesamten Text umschalten</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="396"/>
-        <source>&amp;Font hint</source>
-        <translation>Zeichensatz &amp;umschalten</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="488"/>
-        <source>Subs&amp;cript</source>
-        <translation>&amp;Tiefgestellt</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="498"/>
-        <source>Su&amp;perscript</source>
-        <translation>&amp;Hochgestellt</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="566"/>
-        <source>Note Editor</source>
-        <translation>Notiz Editor</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="392"/>
-        <source>F&amp;ormat</source>
-        <translation>F&amp;ormat</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation>Text Editor</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
-        <source>Texteditor</source>
-        <comment>Shortcuts</comment>
-        <translation>Text Editor</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="326"/>
-        <source>Edit Actions</source>
-        <translation>Edit Actions</translation>
-    </message>
-    <message>
-        <source>Format Actions</source>
-        <translation type="obsolete">Format Actions</translation>
-    </message>
-    <message>
-        <source>Print Document</source>
-        <translation type="obsolete">Drucke Notiz</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="267"/>
-        <source>Note Actions</source>
-        <translation>Note Actions</translation>
-    </message>
-    <message>
-        <source>&amp;Note</source>
-        <translation type="obsolete">&amp;Notiz</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="48"/>
-        <source>Ready</source>
-        <comment>Statusbar message</comment>
-        <translation>Bereit</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="174"/>
-        <source>No filename available for this note.</source>
-        <comment>Statusbar message</comment>
-        <translation>Notiz hat keinen Dateinamen</translation>
-    </message>
-    <message>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Notiz Editor</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="269"/>
-        <source>&amp;Note</source>
-        <comment>Menubar</comment>
-        <translation>&amp;Notiz</translation>
-    </message>
-    <message>
-        <source>Import</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Importieren</translation>
-    </message>
-    <message>
-        <source>Export Note (HTML)</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Exportiere Notiz (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <comment>Status tip for Note Menu</comment>
-        <translation type="obsolete">Exportiere Notiz als (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Exportiere Notiz als (ASCII)</translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Drucke Notiz</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Rückgängig</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Wiederherstellen</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Alles auswählen und kopieren</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Kopieren</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Ausschneiden</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Einfügen</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Alles löschen</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Zeichensatz für gesamten Text umschalten</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="407"/>
-        <source>&amp;Richtext</source>
-        <translation>&amp;Richtext</translation>
-    </message>
-    <message>
-        <source>Set fixed font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Wähle Zeichensatz mit fixer Breite</translation>
-    </message>
-    <message>
-        <source>Set variable font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Wähle Zeichensatz mit variabler Breite</translation>
-    </message>
-    <message>
-        <source>Used fixed font by default</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Verwende fixen Zeichensatz per default</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save note as&apos;</comment>
-        <translation>Die Datei %1 gibt es bereits.
-Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="743"/>
-        <source>Couldn&apos;t export note </source>
-        <comment>dialog &apos;save note as&apos;</comment>
-        <translation>Konnte Notiz nicht exportieren</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="828"/>
-        <source>Print</source>
-        <comment>TextEditor</comment>
-        <translation>Drucken</translation>
-    </message>
-</context>
-<context>
-    <name>TreeEditor</name>
-    <message>
-        <location filename="../treeeditor.cpp" line="27"/>
-        <source>Select upper object</source>
-        <comment>Tree Editor</comment>
-        <translation>Zweig oben auswählen</translation>
-    </message>
-    <message>
-        <source>Select upper object</source>
-        <translation type="obsolete">Zweig oben auswählen</translation>
-    </message>
-    <message>
-        <location filename="../treeeditor.cpp" line="33"/>
-        <source>Select lower object</source>
-        <comment>Tree Editor</comment>
-        <translation>Zweig unten auswählen</translation>
-    </message>
-    <message>
-        <source>Select lower object</source>
-        <translation type="obsolete">Zweig unten auswählen</translation>
-    </message>
-</context>
-<context>
-    <name>VymModel</name>
-    <message>
-        <source>unknown</source>
-        <comment>default name for map author in settings</comment>
-        <translation type="vanished">unbekannt</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="126"/>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
-        <translation>unbekannter Benutzer</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="149"/>
-        <source>unnamed</source>
-        <translation>unbenannt</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
-        <source>Critical Parse Error</source>
-        <translation>Kritischer Fehler beim Verarbeiten</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
-        <source>Critical Load Error</source>
-        <translation>Kritischer Fehler beim Laden</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="502"/>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation>Konnte temporäres Verzeichnis vor dem Laden nicht erzeugen</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="552"/>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation>Konnte keine map (*.xml) in .vym Datei finden.
-</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="980"/>
-        <source>unknown user</source>
-        <comment>Default for lockfiles of maps</comment>
-        <translation>unbekannter Benutzer</translation>
-    </message>
-    <message>
-        <source>Map seems to be already opened in another vym instance! It will be opened in readonly mode.
-
-Map is locked by &quot;%1&quot; on &quot;%2&quot;</source>
-        <translation type="vanished">Map schein bereits in einer weiteren Instanz von vym geöffnet zu sein! Sie wird nur zum Lesen geöffnet.
-
-Map ist gesperrt von &quot;%1&quot; auf &quot;%2&quot;</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
-        <source>Warning: Map already opended</source>
-        <comment>VymModel</comment>
-        <translation>Warnung: Map ist bereits geöffnet</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation>Die Map %1
-wurde unkomprimiert gespeichert, also nicht im 
-normalerweise von vym verwendeten Format.
-Beim nochmaligen unkomprimierten Speichern
-werden auch Grafiken gespeichert und so evtl.
-Daten im angegeben Verzeichnis überschrieben.
-
-Wollen Sie 
-</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
-        <source>compressed (vym default)</source>
-        <translation>komprimieren (vym default)</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation>unkomprimiert lassen</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
-        <source>Save Error</source>
-        <translation>Fehler beim Speichern</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="711"/>
-        <source>%1
-could not be removed before saving</source>
-        <translation>%1
-konnte vor dem Speichern nicht entfernt werden</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="716"/>
-        <source>%1
-could not be renamed before saving</source>
-        <translation>%1
-konnte vor dem Speichern nicht umbenannt werden</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="728"/>
-        <source>Critical Save Error</source>
-        <translation>Kritischer Fehler beim Speichern</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="729"/>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation>Konnte temporäres Verzeichnis vor dem Speichern nicht erzeugen</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
-        <source>Images</source>
-        <translation>Bilder</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <source>All</source>
-        <comment>Filedialog</comment>
-        <translation>Alle</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="792"/>
-        <source>Load image</source>
-        <translation>Lade Bild</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="844"/>
-        <source>Save image</source>
-        <translation>Speichere Bild</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="856"/>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation>Die Datei %1 gibt es bereits.
-Wollen Sie sie überschreiben?</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="863"/>
-        <source>Overwrite</source>
-        <translation>Überschreiben</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
-        <source>Critical Error</source>
-        <translation>Kritischer Fehler</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation>Format nicht unterstützt in %1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <source>Couldn&apos;t save %1</source>
-        <translation>Konnte %1 nicht speichern</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="910"/>
-        <source>Critical Import Error</source>
-        <translation>Kritischer Fehler beim Importieren</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="910"/>
-        <source>Cannot find the directory %1</source>
-        <translation>Konnte das Verzeichnis %1 nicht finden</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
-        <source>Choose directory structure to import</source>
-        <translation>Bitte Verzeichnis zum Importieren auswählen</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="999"/>
-        <source>Map seems to be already opened in another vym instance!
-
- Map is locked by &quot;%1&quot; on &quot;%2&quot;
-
-Please only delete the lockfile, if you are sure nobody else is currently working on this map.</source>
-        <translation>Map scheint schon in einer anderen vym-Instanz geöffnet zu sein!
-
-Map ist gesperrt von &quot;%1&quot; auf &quot;%2&quot;
-
-Bitte Lockdatei nur entfernen, wenn wirklich niemand anderes diese Map momentan verwendet.</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
-        <source>Removed lockfile for %1</source>
-        <translation>Lockdateo für %1 entfernt.</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
-        <source>Couldn&apos;t remove lockfile for %1</source>
-        <translation>Konnte Lockdatei für %1 nicht entfernen</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
-        <source>Cannot create lockfile of map! It will be opened in readonly mode.
-
-</source>
-        <translation>Konnte Lockdatei nicht anlegen! Map wird nur zum Lesen geöffnet.</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
-        <source>Warning</source>
-        <comment>VymModel</comment>
-        <translation>Warnung</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
-        <source>The file of the map  on disk has changed:
-
-   %1
-
-Do you want to reload that map with the new file?</source>
-        <translation>Die zur Map gehörende Datei hat sich verändert:
-
-   %1
-
-Soll die Map durch die neue Datei ersetzt werden?</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
-        <source>Reload</source>
-        <translation>Neu laden</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
-        <source>Ignore</source>
-        <translation>Ignorieren</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Warning</source>
-        <translation>Warnung</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation>Wiederholen nicht fehlgeschlagen:
-%1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
-        <source>Autosave disabled during undo.</source>
-        <translation>Autosave ausgeschaltet während der Aktion &quot;Rückgängig&quot;</translation>
-    </message>
-    <message>
-        <source>Undo failed:
-%1</source>
-        <translation type="vanished">Rückgängigmachen fehlgeschlagen:
-%1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
-        <source>Note</source>
-        <comment>FindAll in VymModel</comment>
-        <translation>Notiz</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation>Bild</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
-        <source>New map</source>
-        <comment>New map</comment>
-        <translation>Neue Map</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation>Skript abgebrochen:
-%1</translation>
-    </message>
-    <message>
-        <source>Export map as scalable vector graphic</source>
-        <translation type="vanished">Map als SVG exportieren</translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Neue URL:</translation>
-    </message>
-    <message>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">HTML</translation>
-    </message>
-    <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Text</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Tabellendokument</translation>
-    </message>
-    <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Textdokument</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Bilder</translation>
-    </message>
-    <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">URL zu einer lokalen Datei setzen</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation>Kontaktiere Bugzilla...</translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Verbindung zu einer anderen Map</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
-        <source>Export map as image</source>
-        <translation>Map als Bild exportieren</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
-        <source>Couldn&apos;t save QImage %1 in format %2</source>
-        <translation>Konnte Bild %1 nicht im Format %2 speichern</translation>
-    </message>
-    <message>
-        <source>Exported: </source>
-        <comment>Export confirmation</comment>
-        <translation type="vanished">Exportiert:</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
-        <source>Export map as PDF</source>
-        <translation>Als PDF exportieren</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
-        <source>Export map as SVG</source>
-        <translation>Als SVG exportieren</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
-        <source>Export map as XML</source>
-        <translation>Als XML exportieren</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
-        <source>Export XML to directory</source>
-        <translation>Exportiere XML in Verzeichnis</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
-        <source>Critical Export Error</source>
-        <translation>Kritischer Fehler beim Exportieren</translation>
-    </message>
-    <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exportiere als LaTeX Datei</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
-        <source>(still experimental)</source>
-        <translation>(noch experimentelle Funktion)</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
-        <source>Export as csv</source>
-        <translation>Exportiere als CSV</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
-        <source>Load background image</source>
-        <translation>Hintergrundbild laden</translation>
-    </message>
-</context>
-<context>
-    <name>VymProcess</name>
-    <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
-        <source>Critical Error</source>
-        <translation>Kritischer Fehler</translation>
-    </message>
-    <message>
-        <location filename="../vymprocess.cpp" line="44"/>
-        <source>Could not start %1</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../vymprocess.cpp" line="49"/>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation>%1 wurde nicht richtig beendet</translation>
-    </message>
-</context>
-<context>
-    <name>VymView</name>
-    <message>
-        <source>TreeEditor</source>
-        <comment>Title of dockable editor widget</comment>
-        <translation type="obsolete">TreeEditor</translation>
-    </message>
-    <message>
-        <location filename="../vymview.cpp" line="34"/>
-        <source>Tree Editor</source>
-        <comment>Title of dockable editor widget</comment>
-        <translation>Baum Editor</translation>
-    </message>
-    <message>
-        <location filename="../vymview.cpp" line="52"/>
-        <source>Slide Editor</source>
-        <comment>Title of dockable editor widget</comment>
-        <translation>Folien Editor</translation>
-    </message>
-</context>
-<context>
-    <name>WarningDialog</name>
-    <message>
-        <source>VYM - Warning : Foo...</source>
-        <translation type="obsolete">VYM - Warnung: ...</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.cpp" line="10"/>
-        <source>Proceed</source>
-        <translation>Weiter</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.cpp" line="12"/>
-        <source>Show this message again</source>
-        <translation>Diese Meldung das nächste Mal wieder zeigen</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation>Dialog</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
-        <source>Cancel</source>
-        <translation>Abbrechen</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="124"/>
-        <source>Ok</source>
-        <translation>Ok</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="91"/>
-        <source>showAgainBox</source>
-        <translation>showAgainBox</translation>
-    </message>
-</context>
-</TS>
index 143ae493e6fe3ad8dc9186f5f390a3839db9591a..89a4862870600a2c0cacfa546141d69637304f5d 100644 (file)
 <!DOCTYPE TS>
 <TS version="2.1" language="el_GR" sourcelanguage="en">
 <context>
-    <name></name>
+    <name>AboutDialog</name>
     <message>
+        <location filename="../src/aboutdialog.cpp" line="+491"/>
         <source>Ok</source>
-        <translatorcomment>AboutDialogOk Button</translatorcomment>
-        <translation type="vanished">Εντάξει</translation>
+        <comment>Ok Button</comment>
+        <translation>Εντάξει</translation>
     </message>
     <message>
-        <source>Please use Settings-&gt;</source>
-        <translatorcomment>AboutTextBrowser</translatorcomment>
-        <translation type="vanished">Παρακαλώ χρησιμοποιήστε τις Ρυθμίσεις-&gt;</translation>
+        <location line="-355"/>
+        <source>Credits</source>
+        <comment>Help-&gt;About vym dialog</comment>
+        <translation>Εύσημα</translation>
+    </message>
+    <message>
+        <location line="+350"/>
+        <source>License</source>
+        <comment>Help-&gt;About vym dialog</comment>
+        <translation>Άδεια</translation>
     </message>
+</context>
+<context>
+    <name>AboutTextBrowser</name>
     <message>
+        <location line="+23"/>
         <source>Warning</source>
-        <translatorcomment>AboutTextBrowserAbout window</translatorcomment>
-        <translation type="vanished">Προειδοποίηση</translation>
+        <comment>About window</comment>
+        <translation>Προειδοποίηση</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
-        <translatorcomment>AboutTextBrowserAbout window</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης εφαρμογής προβολης για ανοιγμα του %1.</translation>
+        <comment>About window</comment>
+        <translation>Αδυναμία εύρεσης εφαρμογής προβολης για ανοιγμα του %1.</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>Παρακαλώ χρησιμοποιήστε τις Ρυθμίσεις-&gt;</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Set application to open an URL...</source>
-        <translatorcomment>AboutTextBrowser</translatorcomment>
-        <translation type="vanished">Ορισμός εφαρμογης για άνοιγμα URL...</translation>
+        <translation>Ορισμός εφαρμογης για άνοιγμα URL...</translation>
+    </message>
+</context>
+<context>
+    <name>AttributeDialog</name>
+    <message>
+        <source>Attributes</source>
+        <translation type="vanished">Χαρακτηριστικά</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="vanished">Κλείσιμο</translation>
+    </message>
+    <message>
+        <source>Add key</source>
+        <translation type="vanished">Προσθήκη κλειδιού</translation>
     </message>
+</context>
+<context>
+    <name>BranchPropertyEditor</name>
     <message>
         <source>Branch Property Editor</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Επεξεργαστής ιδιοτήτων κλαδου</translation>
     </message>
     <message>
         <source>Frame</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Πλαίσιο</translation>
     </message>
     <message>
         <source>Geometry</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Γεωμετρία</translation>
     </message>
     <message>
         <source>No Frame</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Χωρίς πλαίσιο</translation>
     </message>
     <message>
         <source>Rectangle</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Ορθογώνιο</translation>
     </message>
     <message>
         <source>Rounded Rectangle</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Ορθογώνιο με καμπύλες γωνίες</translation>
     </message>
     <message>
         <source>Ellipse</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Έλλειψη</translation>
     </message>
     <message>
         <source>Cloud</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Σύννεφο</translation>
     </message>
     <message>
         <source>Padding</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Γέμισμα</translation>
     </message>
     <message>
         <source>Borderline width</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Πλάτος περιγράμματος</translation>
     </message>
     <message>
         <source>Include children</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Ένταξη απόγονου</translation>
     </message>
     <message>
         <source>Colors</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Χρώματα</translation>
     </message>
     <message>
         <source>Borderline color</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Χρώμα περιγράμματος</translation>
     </message>
     <message>
         <source>Background color</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Χρώμα παρασκηνίου</translation>
     </message>
     <message>
         <source>Layout</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Διάταξη</translation>
     </message>
     <message>
         <source>Include images horizontally</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Περιλαμβάνει εικόνες οριζόντια</translation>
     </message>
     <message>
         <source>Include images vertically</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Περιλαμβάνει εικόνες κάθετα</translation>
     </message>
     <message>
         <source>Free positioning of children (experimental!)</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Ελεύθερη τοποθέτηση απόγονων (πειραματική λειτουργία)</translation>
     </message>
     <message>
         <source>Link</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Σύνδεσμος</translation>
     </message>
     <message>
         <source>Hide link if unselected</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Απόκρυψη συνδέσμου εάν δεν είναι επιλεγμένος</translation>
     </message>
     <message>
         <source>Attributes</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">Χαρακτηριστικά</translation>
     </message>
     <message>
         <source>+</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">+</translation>
     </message>
     <message>
         <source>-</source>
-        <translatorcomment>BranchPropertyEditor</translatorcomment>
         <translation type="vanished">-</translation>
     </message>
     <message>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
-        <translatorcomment>BranchPropertyEditorWindow caption</translatorcomment>
-        <translation type="vanished">Επεξεργαστής ιδιοτήτων</translation>
+        <comment>Window caption</comment>
+        <translation>Επεξεργαστής ιδιοτήτων</translation>
+    </message>
+    <message>
+        <source>Task</source>
+        <translation type="vanished">Εργασία</translation>
+    </message>
+    <message>
+        <location line="+156"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation>%1 ημέρες πριν</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation>σε αναστολή %1 ημέρες</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation>Η εργασία είναι σε εγρήγορση</translation>
+    </message>
+    <message>
+        <location line="-155"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
+        <translation>Όνομα</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
+        <translation>ΤΙμή</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
+        <translation>Είδος</translation>
+    </message>
+    <message>
+        <source>Delta priority</source>
+        <extracomment>Manual delta added to priority of task in branch prop editor</extracomment>
+        <translation type="vanished">Προτεραιότητα δέλτα</translation>
+    </message>
+    <message>
+        <source>Created:</source>
+        <translation type="vanished">Δημιουργήθηκε:</translation>
+    </message>
+    <message>
+        <source>Modified:</source>
+        <translation type="vanished">Τροποποιήθηκε:</translation>
+    </message>
+    <message>
+        <source>Sleep:</source>
+        <translation type="vanished">Αναστολή:</translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
+    <message>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation>Προειδοποίηση</translation>
+    </message>
+    <message>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
+    <message>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Παράθυρο</translation>
+    </message>
+    <message>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation>Εύρεση χρήστη που συνεισφέρει</translation>
+    </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Παράθυρο</translation>
+    </message>
+    <message>
+        <source>Credentials dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="vanished">Παράθυρο διαπίστευσης</translation>
+    </message>
+    <message>
+        <source>URL:</source>
+        <translation type="vanished">URL:</translation>
+    </message>
+    <message>
+        <source>Username:</source>
+        <translation type="vanished">Όνομα χρήστη:</translation>
+    </message>
+    <message>
+        <source>Password:</source>
+        <translation type="vanished">Κωδικός πρόσβασης:</translation>
+    </message>
+    <message>
+        <source>Save password</source>
+        <translation type="vanished">Αποθήκευση κωδικού πρόσβασης</translation>
+    </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
+    <message>
+        <source>Dark theme settings</source>
+        <translation type="vanished">Ρυθμίσεις σκοτεινού θέματος</translation>
+    </message>
+    <message>
+        <source>Dark theme</source>
+        <translation type="vanished">Σκοτεινό θέμα</translation>
+    </message>
+    <message>
+        <source>Always use dark theme</source>
+        <translation type="vanished">Χρήση πάντοτε του σκοτεινού θέματος</translation>
+    </message>
+    <message>
+        <source>System settings for dark theme</source>
+        <translation type="vanished">Ρυθμίσεις συστήματος για το σκοτεινό θέμα</translation>
+    </message>
+    <message>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation>Παραθυρο ρυθμίεων για το σκοτεινό θέμα</translation>
+    </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
+    <message>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished">Ορισμός του προεπιλεγμένου διαγράμματος για φόρτωση κατά την εκκίνηση</translation>
+    </message>
+</context>
+<context>
+    <name>DownloadAgent</name>
     <message>
-        <source>warning</source>
-        <translatorcomment>DownloadAgent</translatorcomment>
-        <translation type="vanished">προειδοποίηση</translation>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
+        <source>Warning</source>
+        <translation>Προειδοποίηση</translation>
     </message>
+</context>
+<context>
+    <name>EditXLinkDialog</name>
     <message>
         <source>Edit XLink</source>
-        <translatorcomment>EditXLinkDialog</translatorcomment>
         <translation type="vanished">Επεξεργασία:XLink</translation>
     </message>
     <message>
         <source>Arrow begin:</source>
-        <translatorcomment>EditXLinkDialog</translatorcomment>
         <translation type="vanished">Έναρξη βέλους:</translation>
     </message>
     <message>
         <source>XLink width:</source>
-        <translatorcomment>EditXLinkDialog</translatorcomment>
         <translation type="vanished">Πλατος XLink:</translation>
     </message>
     <message>
         <source>Use color of heading</source>
-        <translatorcomment>EditXLinkDialog</translatorcomment>
         <translation type="vanished">Χρήση χρώματος κεφαλίδας</translation>
     </message>
+    <message>
+        <source>XLink color:</source>
+        <translation type="vanished">Χρώμα XLink:</translation>
+    </message>
+    <message>
+        <source>Use as default:</source>
+        <translation type="vanished">Χρήση ως προκαθορισμένου:</translation>
+    </message>
     <message>
         <source>Line style:</source>
-        <translatorcomment>EditXLinkDialog</translatorcomment>
+        <extracomment>Linestyle in Edit XLink dialog</extracomment>
         <translation type="vanished">Στυλ γραμμής:</translation>
     </message>
     <message>
         <source>Arrow end:</source>
-        <translatorcomment>EditXLinkDialog</translatorcomment>
         <translation type="vanished">Τέλος βέλους:</translation>
     </message>
     <message>
         <source>Close</source>
-        <translatorcomment>EditXLinkDialog</translatorcomment>
         <translation type="vanished">Κλείσιμο</translation>
     </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
     <message>
-        <source>XLink color:</source>
-        <translatorcomment>EditXLinkDialog</translatorcomment>
-        <translation type="vanished">Χρώμα XLink:</translation>
+        <source>Options</source>
+        <translation type="vanished">Επιλογές</translation>
     </message>
     <message>
-        <source>Use as default:</source>
-        <translatorcomment>EditXLinkDialog</translatorcomment>
-        <translation type="vanished">Χρήση ως προκαθορισμένου:</translation>
+        <source>Image of map</source>
+        <translation type="vanished">Εικόνα διαγράμματος</translation>
+    </message>
+    <message>
+        <source>Include images</source>
+        <translation type="vanished">Συμπερίληψη εικόνων</translation>
+    </message>
+    <message>
+        <source>Table of contents</source>
+        <translation type="vanished">Πίνακας περιεχομένων</translation>
+    </message>
+    <message>
+        <source>Task flags</source>
+        <translation type="vanished">Σημαίες εργασιών</translation>
+    </message>
+    <message>
+        <source>General flags</source>
+        <translation type="vanished">Γενικές σημαίες</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="vanished">Χρωματιστές κεφαλίδες στο κείμενο</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="vanished">Αποθήκευση ρυθμίσεων διαγράμματος</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="vanished">Άκυρο</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="vanished">Εξαγωγή</translation>
+    </message>
+    <message>
+        <source>Export Confluence</source>
+        <translation type="vanished">Εξαγωγή συνεισφοράς</translation>
+    </message>
+    <message>
+        <source>Create new page</source>
+        <translation type="vanished">Δημιουργία νέας σελίδας</translation>
+    </message>
+    <message>
+        <source>Update existing page</source>
+        <translation type="vanished">Ενημέρωση υπάρχουσας σελίδας</translation>
+    </message>
+    <message>
+        <source>Use heading of first map center as page name</source>
+        <translation type="vanished">Χρήση της επικεφαλίδας του κέντρου του πρώτου διαγράμματος ως όνομα σελίδας</translation>
     </message>
+</context>
+<context>
+    <name>ExportHTMLDialog</name>
     <message>
         <source>Export HTML</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Εξαγωγή ως HTML</translation>
     </message>
     <message>
         <source>Export to directory:</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Εξαγωγή σε φάκελο:</translation>
     </message>
     <message>
         <source>Browse</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Περιήγηση</translation>
     </message>
     <message>
         <source>Options</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Επιλογές</translation>
     </message>
     <message>
         <source>Image of map</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Εικόνα διαγράμματος</translation>
     </message>
+    <message>
+        <source>Include images</source>
+        <translation type="vanished">Συμπερίληψη εικόνων</translation>
+    </message>
     <message>
         <source>Table of contents</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Πίνακας περιεχομένων</translation>
     </message>
     <message>
         <source>Task flags</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Σημαίες εργασιών</translation>
     </message>
     <message>
         <source>General flags</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Γενικές σημαίες</translation>
     </message>
     <message>
         <source>Number sections</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Τομείς αριθμών</translation>
     </message>
-    <message>
-        <source>Copy CSS from </source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
-        <translation type="vanished">Αντιγραφή CSS από</translation>
-    </message>
-    <message>
-        <source>Use CSS from</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
-        <translation type="vanished">Χρήση CSS από</translation>
-    </message>
     <message>
         <source>Colored headings in text</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Χρωματιστές κεφαλίδες στο κείμενο</translation>
     </message>
     <message>
         <source>Save settings in map</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Αποθήκευση ρυθμίσεων διαγράμματος</translation>
     </message>
     <message>
         <source>Stylesheets</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Φύλλα δεδομένων</translation>
     </message>
+    <message>
+        <source>Copy CSS from </source>
+        <translation type="vanished">Αντιγραφή CSS από</translation>
+    </message>
+    <message>
+        <source>Use CSS from</source>
+        <translation type="vanished">Χρήση CSS από</translation>
+    </message>
     <message>
         <source>Scripts</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Σενάρια</translation>
     </message>
     <message>
         <source>After Export:</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Μετά την εξαγωγή:</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Άκυρο</translation>
     </message>
     <message>
         <source>Export</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
         <translation type="vanished">Εξαγωγή</translation>
     </message>
     <message>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
+        <source>Warning</source>
+        <translation>Προειδοποίηση</translation>
+    </message>
+    <message>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
 
 Please check, if you really
 want to allow this in your system!</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
-        <translation type="vanished">Οι ρυθμίσεις που αποθηκεύτηκαν στο διάγραμμα,
+        <translation>Οι ρυθμίσεις που αποθηκεύτηκαν στο διάγραμμα,
 προδιαγράφουν την εκτέλεση του σεναρίου:
 
 %1
@@ -306,4659 +527,2686 @@ want to allow this in your system!</source>
 επιτρέπετε να γίνει αυτό στον υπολογιστή σας!</translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
-        <translatorcomment>ExportHTMLDialog</translatorcomment>
-        <translation type="vanished">VYM - Εξαγωγή HTML στον φάκελο</translation>
+        <translation>VYM - Εξαγωγή HTML στον φάκελο</translation>
     </message>
+</context>
+<context>
+    <name>ExportXHTMLDialog</name>
     <message>
-        <source>VYM - Info</source>
-        <translatorcomment>ExtraInfoDialog</translatorcomment>
-        <translation type="vanished">VYM - Πληροφορίες</translation>
+        <source>Export to directory:</source>
+        <translation type="vanished">Εξαγωγή σε φάκελο:</translation>
     </message>
     <message>
-        <source>Map:</source>
-        <translatorcomment>ExtraInfoDialog</translatorcomment>
-        <translation type="vanished">Διάγραμμα:</translation>
+        <source>Browse</source>
+        <translation type="vanished">Περιήγηση</translation>
     </message>
     <message>
-        <source>Title:</source>
-        <translatorcomment>ExtraInfoDialog</translatorcomment>
-        <translation type="vanished">Τίτλος:</translation>
+        <source>Options</source>
+        <translation type="vanished">Επιλογές</translation>
     </message>
     <message>
-        <source>Author:</source>
-        <translatorcomment>ExtraInfoDialog</translatorcomment>
-        <translation type="vanished">Δημιουργός:</translation>
+        <source>Colored headings in text</source>
+        <translation type="vanished">Χρωματιστές κεφαλίδες στο κείμενο</translation>
     </message>
     <message>
-        <source>Comment:</source>
-        <translatorcomment>ExtraInfoDialog</translatorcomment>
-        <translation type="vanished">Σχόλιο:</translation>
+        <source>Save settings in map</source>
+        <translation type="vanished">Αποθήκευση ρυθμίσεων διαγράμματος</translation>
     </message>
     <message>
-        <source>Statistics:</source>
-        <translatorcomment>ExtraInfoDialog</translatorcomment>
-        <translation type="vanished">Στατιστικά:</translation>
+        <source>Stylesheets</source>
+        <translation type="vanished">Φύλλα δεδομένων</translation>
     </message>
     <message>
-        <source>Find:</source>
-        <translatorcomment>FindWidgetFindWidget</translatorcomment>
-        <translation type="vanished">Εύρεση:</translation>
+        <source>Scripts</source>
+        <translation type="vanished">Σενάρια</translation>
     </message>
     <message>
-        <source>New map</source>
-        <translatorcomment>Heading of mapcenter in new map</translatorcomment>
-        <translation type="vanished">Νέο διάγραμμα</translation>
+        <source>After Export:</source>
+        <translation type="vanished">Μετά την εξαγωγή:</translation>
     </message>
     <message>
-        <source>Heading Editor</source>
-        <translatorcomment>HeadingEditorWindow caption</translatorcomment>
-        <translation type="vanished">Επεξεργαστής κεφαλίδας</translation>
+        <source>Cancel</source>
+        <translation type="vanished">Άκυρο</translation>
     </message>
     <message>
-        <source>Dialog</source>
-        <translatorcomment>HistoryWindow</translatorcomment>
-        <translation type="vanished">Παράθυρο</translation>
+        <source>Export</source>
+        <translation type="vanished">Εξαγωγή</translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translatorcomment>HistoryWindow</translatorcomment>
-        <translation type="vanished">Ακύρωση αναίρεσης</translation>
+        <source>Export XHTML</source>
+        <translation type="vanished">Εξαγωγή XHTML</translation>
     </message>
     <message>
-        <source>Time</source>
-        <translatorcomment>HistoryWindow</translatorcomment>
-        <translation type="vanished">Χρόνος</translation>
+        <source>Include image</source>
+        <translation type="vanished">Συμπερίληψη εικόνας</translation>
     </message>
     <message>
-        <source>Comment</source>
-        <translatorcomment>HistoryWindow</translatorcomment>
-        <translation type="vanished">Σχόλιο</translation>
+        <source>show warnings of xslt processor</source>
+        <translation type="vanished">εμφάνιση προειδοποιήσεων του επεξεργαστή xslt</translation>
     </message>
     <message>
-        <source>Undo</source>
-        <translatorcomment>HistoryWindow</translatorcomment>
-        <translation type="vanished">Αναίρεση</translation>
+        <source>show output of external scripts</source>
+        <translation type="vanished">εμφάνιση εξόδου εξωτερικών σεναρίων</translation>
     </message>
     <message>
-        <source>Action</source>
-        <translatorcomment>HistoryWindowTable with actions</translatorcomment>
-        <translation type="vanished">Ενέργεια</translation>
+        <source>XSL:</source>
+        <translation type="vanished">XSL:</translation>
     </message>
     <message>
-        <source>Undo action</source>
-        <translatorcomment>HistoryWindowTable with actions</translatorcomment>
-        <translation type="vanished">Αναίρεση ενέργειας</translation>
+        <source>CSS:</source>
+        <translation type="vanished">CSS:</translation>
     </message>
     <message>
-        <source>Current state</source>
-        <translatorcomment>HistoryWindowCurrent bar in history hwindow</translatorcomment>
-        <translation type="vanished">Τρέχουσα κατάσταση</translation>
+        <source>Before export:</source>
+        <translation type="vanished">Πριν την εξαγωγή:</translation>
     </message>
+</context>
+<context>
+    <name>ExtraInfoDialog</name>
     <message>
-        <source>TextLabel</source>
-        <translatorcomment>LineEditDialog</translatorcomment>
-        <translation type="vanished">Ετικέτα κειμένου</translation>
+        <source>VYM - Info</source>
+        <translation type="vanished">VYM - Πληροφορίες</translation>
     </message>
     <message>
-        <source>Set &amp;Color</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ορισμός &amp;χρώματος</translation>
+        <source>Map:</source>
+        <translation type="vanished">Διάγραμμα:</translation>
     </message>
     <message>
-        <source>Linkstyle Line</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Μορφή γραμμών: γραμμή</translation>
+        <source>Title:</source>
+        <translation type="vanished">Τίτλος:</translation>
     </message>
     <message>
-        <source>Linkstyle Thick Line</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Μορφή γραμμών: παχιά γραμμή</translation>
+        <source>Author:</source>
+        <translation type="vanished">Δημιουργός:</translation>
     </message>
     <message>
-        <source>&amp;View</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">&amp;Προβολή</translation>
+        <source>Comment:</source>
+        <translation type="vanished">Σχόλιο:</translation>
     </message>
     <message>
-        <source>Overwrite</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αντικατάσταση</translation>
+        <source>Statistics:</source>
+        <translation type="vanished">Στατιστικά:</translation>
     </message>
     <message>
-        <source>Open anyway</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Άνοιγμα οπωσδήποτε</translation>
+        <source>Cancel</source>
+        <translation type="vanished">Άκυρο</translation>
     </message>
     <message>
-        <source>Create</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Δημιουργία</translation>
+        <source>Close</source>
+        <translation type="vanished">Κλείσιμο</translation>
     </message>
     <message>
-        <source>Load vym map</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Φόρτωση διαγράμματος VYM</translation>
+        <source>File location:</source>
+        <translation type="vanished">Τοποθεσία αρχείου:</translation>
     </message>
+</context>
+<context>
+    <name>FindWidget</name>
     <message>
-        <source>Import: Add vym map to selection</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Εισαγωγή: Προσθήκη διαγράμματος VYM στην επιλογή</translation>
+        <location filename="../src/findwidget.cpp" line="+24"/>
+        <source>Find:</source>
+        <comment>FindWidget</comment>
+        <translation>Εύρεση:</translation>
     </message>
+</context>
+<context>
+    <name>HeadingEditor</name>
     <message>
-        <source>Import: Replace selection with vym map</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Εισαγωγή: Αντικατάσταση επιλογής με διάγραμμα VYM</translation>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
+        <source>Heading Editor</source>
+        <comment>Name of editor shown as window title</comment>
+        <translation>Επεξεργαστής κεφαλίδας</translation>
     </message>
+</context>
+<context>
+    <name>HistoryWindow</name>
     <message>
-        <source>Save modified map before closing it</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αποθήκευση τροποποιημένου διαγράμματος πριν το κλείσιμο</translation>
+        <source>Dialog</source>
+        <translation type="vanished">Παράθυρο</translation>
     </message>
     <message>
-        <source>Discard changes</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Απόρριψη αλλαγών</translation>
+        <source>Redo</source>
+        <translation type="vanished">Ακύρωση αναίρεσης</translation>
     </message>
     <message>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <translatorcomment>Maintask sleep time dialog</translatorcomment>
-        <translation type="vanished">Καταχωρίστε χρόνο ύπνου (αριθμό ημερών ή ημερομηνία YYYY-MM-DD ή DD.MM[.YYYY]</translation>
+        <source>Time</source>
+        <translation type="vanished">Χρόνος</translation>
     </message>
     <message>
-        <source>Couldn&apos;t set sleep time to %1.
-</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αδυναμία ορισμού χρόνου ύπνου σε %1.</translation>
+        <source>Comment</source>
+        <translation type="vanished">Σχόλιο</translation>
     </message>
     <message>
-        <source>VYM -Information:</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Πληροφορίες για το VYM:</translation>
+        <source>Undo</source>
+        <translation type="vanished">Αναίρεση</translation>
     </message>
     <message>
-        <source>Critical Error</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Κρίσιμο σφάλμα</translation>
+        <location filename="../src/historywindow.cpp" line="+16"/>
+        <source>Action</source>
+        <comment>Table with actions</comment>
+        <translation>Ενέργεια</translation>
     </message>
     <message>
-        <source>Export in last used format (%1) to: %2</source>
-        <translatorcomment>Mainstatus tip</translatorcomment>
-        <translation type="vanished">Εξαγωγή στη τελευταία χρησιμοποιούμενη μορφή (%1) σε: %2</translation>
+        <location line="+3"/>
+        <source>Comment</source>
+        <comment>Table with actions</comment>
+        <translation>Σχόλιο</translation>
     </message>
     <message>
-        <source>Critcal error</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Κρίσιμο σφάλμα</translation>
+        <location line="+3"/>
+        <source>Undo action</source>
+        <comment>Table with actions</comment>
+        <translation>Αναίρεση ενέργειας</translation>
     </message>
     <message>
-        <source>Add</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Προσθήκη</translation>
+        <location line="+123"/>
+        <source>Current state</source>
+        <comment>Current bar in history hwindow</comment>
+        <translation>Τρέχουσα κατάσταση</translation>
     </message>
+</context>
+<context>
+    <name>JiraAgent</name>
     <message>
-        <source>Note Editor</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Επεξεργαστής σημειώσεων</translation>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation>Προειδοποίηση</translation>
     </message>
     <message>
-        <source>Search results list</source>
-        <translatorcomment>MainFindResultWidget</translatorcomment>
-        <translation type="vanished">Αναζήτηση στη λίστα αποτελεσμάτων</translation>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation>Πρόβλημα πιστοποίησης κατά την επικοινωνία με το JIRA</translation>
     </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
     <message>
-        <source>File actions toolbar</source>
-        <translatorcomment>MainToolbar for file actions</translatorcomment>
-        <translation type="vanished">Βασικά εργαλεία για τα αρχεία</translation>
+        <source>Dialog</source>
+        <translation type="vanished">Παράθυρο</translation>
     </message>
     <message>
-        <source>PDF%1</source>
-        <translatorcomment>MainFile export menu</translatorcomment>
-        <translation type="vanished">PDF%1</translation>
+        <source>Add</source>
+        <translation type="vanished">Προσθήκη</translation>
     </message>
     <message>
-        <source>SVG%1</source>
-        <translatorcomment>MainFile export menu</translatorcomment>
-        <translation type="vanished">SVG%1</translation>
+        <source>Remove</source>
+        <translation type="vanished">Αφαίρεση</translation>
     </message>
     <message>
-        <source>Repeat last export (%1)</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Επανάληψη τελευταίας εξαγωγής (%1)</translation>
+        <source>JiraSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="vanished">JiraSettingsDialog παράθυρο</translation>
     </message>
     <message>
-        <source>KDE 4 Bookmarks</source>
-        <translatorcomment>MainFile menu</translatorcomment>
-        <translation type="vanished">Σελιδοδείκτες KDE 4</translation>
+        <source>JIRA servers:</source>
+        <translation type="vanished">JIRA διακομιστές:</translation>
     </message>
     <message>
-        <source>Edit actions toolbar</source>
-        <translatorcomment>MainToolbar name</translatorcomment>
-        <translation type="vanished">Εργαλειοθήκη επεξεργασίας</translation>
+        <source>Username:</source>
+        <translation type="vanished">Όνομα χρήστη:</translation>
     </message>
     <message>
-        <source>Add attribute</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Προσθήκη ιδιότητας</translation>
+        <source>Password:</source>
+        <translation type="vanished">Κωδικός πρόσβασης:</translation>
     </message>
     <message>
-        <source>&amp;Detach</source>
-        <translatorcomment>MainContext menu</translatorcomment>
-        <translation type="vanished">&amp;Αποσύνδεση</translation>
+        <source>Save password</source>
+        <translation type="vanished">Αποθήκευση κωδικού πρόσβασης</translation>
     </message>
     <message>
-        <source>Detach branch and use as mapcenter</source>
-        <translatorcomment>MainContext menu</translatorcomment>
-        <translation type="vanished">Αποσύνδεση κλάδου και χρήση του ως κέντρου διαγράμματος</translation>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
     <message>
-        <source>Sort children backwards</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Ταξινόμηση απόγονων κόμβων προς τα πίσω</translation>
+        <source>Dialog</source>
+        <translation type="vanished">Παράθυρο</translation>
     </message>
     <message>
-        <source>Expand all branches</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Ανάπτυξη όλων των κλάδων</translation>
+        <source>TextLabel</source>
+        <translation type="vanished">Ετικέτα κειμένου</translation>
     </message>
     <message>
-        <source>Expand one level</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Ανάπτυξη ενός επιπέδου</translation>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
+        <source>Cancel</source>
+        <translation>Άκυρο</translation>
     </message>
     <message>
-        <source>Collapse one level</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Αναδίπλωση ενός επιπέδου</translation>
+        <location line="-7"/>
+        <source>Ok</source>
+        <translation>Εντάξει</translation>
     </message>
+</context>
+<context>
+    <name>LockedFileDialog</name>
     <message>
-        <source>Collapse unselected levels</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Αναδίπλωση μη επιλεγμένων επιπέδων</translation>
+        <source>Dialog</source>
+        <translation type="vanished">Παράθυρο</translation>
     </message>
     <message>
-        <source>Unscroll children</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Απόγονος χωρίς κύλιση</translation>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
+        <source>Delete lockfile</source>
+        <translation>Διαγραφή αρχείου κλειδώματος</translation>
     </message>
     <message>
-        <source>Grow selection</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Μεγέθυνση επιλογής</translation>
+        <location line="-1"/>
+        <source>Open readonly</source>
+        <translation>Άνοιγμα σε ανάγνωση μόνο</translation>
     </message>
+</context>
+<context>
+    <name>Main</name>
     <message>
-        <source>Shrink selection</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Συρρίκνωση επιλογής</translation>
+        <location filename="../src/mainwindow.cpp" line="+148"/>
+        <source>Main window</source>
+        <comment>Shortcut scope</comment>
+        <translation>Κύριο παράθυρο</translation>
     </message>
     <message>
-        <source>Reset selection size</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Επαναφορά μεγέθους της επιλογής</translation>
+        <location line="+141"/>
+        <source>Search results list</source>
+        <comment>FindResultWidget</comment>
+        <translation>Αναζήτηση στη λίστα αποτελεσμάτων</translation>
     </message>
     <message>
-        <source>Toggle target...</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Εναλλαγή στόχου...</translation>
+        <location line="+62"/>
+        <source>Task list</source>
+        <comment>TaskEditor</comment>
+        <translation>Λίστα εργασιών</translation>
     </message>
     <message>
-        <source>Goto target...</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Μετάβαση στον στόχο...</translation>
+        <location line="-51"/>
+        <source>Script Editor</source>
+        <comment>ScriptEditor</comment>
+        <translation>Επεξεργαστής σεναρίων</translation>
     </message>
     <message>
-        <source>Move to target...</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Μετακίνηση προς τον στόχο...</translation>
+        <location line="+13"/>
+        <source>Property Editor</source>
+        <comment>PropertyEditor</comment>
+        <translation>Επεξεργαστής ιδιοτήτων</translation>
     </message>
     <message>
-        <source>Find duplicate URLs</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Εύρεση διπλότυπων URLs</translation>
+        <location line="+8"/>
+        <source>History window</source>
+        <comment>HistoryWidget</comment>
+        <translation>Παράθυρο ιστορικού</translation>
     </message>
     <message>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Άνοιγμα όλων των URLs σε υποδιάγραμμα (συμπεριλαμβανομένων των κυλιόμενων κόμβων)</translation>
+        <location line="-70"/>
+        <source>Main window</source>
+        <comment>Shortcut group</comment>
+        <translation>Κύριο παράθυρο</translation>
     </message>
     <message>
-        <source>Extract URLs from note</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Εξαγωγή URLs από σημείωση</translation>
+        <location line="+1"/>
+        <source>Map Editors</source>
+        <comment>Shortcut group</comment>
+        <translation>Επεξεργαστές διαγράμματος</translation>
     </message>
     <message>
-        <source>Add timestamp</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Προσθήκη χρονοσήμανσης</translation>
+        <location line="+1"/>
+        <source>Text Editors</source>
+        <comment>Shortcut group</comment>
+        <translation>Επεξεργαστές κειμένου</translation>
     </message>
     <message>
-        <source>Remove children</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Αφαίρεση απόγονου κόμβου</translation>
+        <location line="+830"/>
+        <source>&amp;Map</source>
+        <comment>Menu for file actions</comment>
+        <translation>&amp;Διάγραμμα</translation>
     </message>
     <message>
-        <source>Zoom toolbar</source>
-        <translatorcomment>MainView Toolbar name</translatorcomment>
-        <translation type="vanished">Εργαλειοθήκη εστίασης</translation>
+        <location line="+4"/>
+        <source>&amp;New map</source>
+        <comment>File menu</comment>
+        <translation>&amp;Νέο διάγραμμα</translation>
     </message>
     <message>
-        <source>Center on selection</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Κέντρο της επιλογής</translation>
+        <location line="+9"/>
+        <source>&amp;Copy to new map</source>
+        <comment>File menu</comment>
+        <translation>&amp;Αντιγραφή στο νέο διάγραμμα</translation>
     </message>
     <message>
-        <source>Editors toolbar</source>
-        <translatorcomment>MainEditor Toolbar name</translatorcomment>
-        <translation type="vanished">Εργαλειοθήκη επεξεργαστών</translation>
+        <location line="+7"/>
+        <source>&amp;Open...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Άνοιγμα...</translation>
     </message>
     <message>
-        <source>Modifier modes toolbar</source>
-        <translatorcomment>MainModifier Toolbar name</translatorcomment>
-        <translation type="vanished">Εργαλειοθήκη μετατροπέα κατάστασης</translation>
+        <location line="+8"/>
+        <source>&amp;Restore last session</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Επαναφορά τελευταίας συνεδρίας</translation>
     </message>
     <message>
-        <source>URL to Bugzilla </source>
-        <translatorcomment>MainSystemFlag</translatorcomment>
-        <translation type="vanished">URL για το Bugzilla</translation>
+        <location line="+8"/>
+        <source>Open Recent</source>
+        <comment>File menu</comment>
+        <translation>Άνοιγμα πρόσφατου αρχείου</translation>
     </message>
     <message>
-        <source>Standard Flags toolbar</source>
-        <translatorcomment>MainStandard Flag Toolbar</translatorcomment>
-        <translation type="vanished">Εργαλειοθήκη κανονικων σημαιών</translation>
+        <location line="+3"/>
+        <source>&amp;Save...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Αποθήκευση...</translation>
     </message>
     <message>
-        <source>Status - ok,done</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Κατάσταση - εντάξει, ολοκληρώθηκε</translation>
+        <location line="+9"/>
+        <source>Save &amp;As...</source>
+        <comment>File menu</comment>
+        <translation>Αποθήκευση &amp;ως...</translation>
     </message>
     <message>
-        <source>Status - work in progress</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Κατάσταση - εργασία σε εξέλιξη</translation>
+        <location line="+11"/>
+        <source>Import</source>
+        <comment>File menu</comment>
+        <translation>Εισαγωγή</translation>
     </message>
     <message>
-        <source>Status - missing, not started</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Κατάσταση - δεν έχει ξεκινήσει</translation>
+        <location line="+2"/>
+        <source>Firefox Bookmarks</source>
+        <comment>Import filters</comment>
+        <translation>Σελιδοδείκτες Firefox</translation>
     </message>
     <message>
-        <source>forward</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">εμπρός</translation>
+        <location line="+16"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
+        <source>(still experimental)</source>
+        <translation>(σε πειραματική λειτουργία)</translation>
     </message>
     <message>
-        <source>Don&apos;t flagrget</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Στόχος χωρίς σημαία</translation>
+        <location line="-3349"/>
+        <source>Export</source>
+        <comment>File menu</comment>
+        <translation>Εξαγωγή</translation>
     </message>
     <message>
-        <source>Automatic layout</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Αυτόματη διάταξη</translation>
+        <location line="+3"/>
+        <source>Repeat last export (%1)</source>
+        <translation>Επανάληψη τελευταίας εξαγωγής (%1)</translation>
     </message>
     <message>
-        <source>Test</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Δοκιμή</translation>
+        <location line="+53"/>
+        <source>Image%1</source>
+        <comment>File export menu</comment>
+        <translation>Εικόνα%1</translation>
     </message>
     <message>
-        <source>Follow XLink</source>
-        <translatorcomment>MainContext menu</translatorcomment>
-        <translation type="vanished">Παρακολούθηση XLink</translation>
+        <location line="+5"/>
+        <source>PDF%1</source>
+        <comment>File export menu</comment>
+        <translation>PDF%1</translation>
     </message>
     <message>
-        <source>unnamed</source>
-        <translatorcomment>MainMainWindow: name for new and empty file</translatorcomment>
-        <translation type="vanished">χωρίς όνομα</translation>
+        <location line="+5"/>
+        <source>SVG%1</source>
+        <comment>File export menu</comment>
+        <translation>SVG%1</translation>
     </message>
     <message>
-        <source>The map %1
-is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Το διάγραμμα %1
-είναι ήδη ανοιχτό. Το άνοιγμα ενός διαγράμματος σε πολλαπλούς επεξεργαστές είναι
-πιθανόν να οδηγήσει σε σύγχυση όταν ολοκληρωθεί η εργασία στο VYM. Τι θελετε
-να κάνετε;</translation>
+        <location line="+37"/>
+        <source>Properties</source>
+        <translation>Ιδιότητες</translation>
     </message>
     <message>
-        <source>This map does not exist:
-  %1
-Do you want to create a new one?</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αυτό το διάγραμμα δεν υπάρχει:
-  %1
-Θέλετε να δημιουργήσετε ένα νέο;</translation>
+        <location line="+9"/>
+        <source>&amp;Print</source>
+        <translation>&amp;Εκτύπωση</translation>
     </message>
     <message>
-        <source>Loading: %1</source>
-        <translatorcomment>MainProgress dialog while loading maps</translatorcomment>
-        <translation type="vanished">Φόρτωση: %1</translation>
+        <location line="+9"/>
+        <source>&amp;Close Map</source>
+        <comment>File menu</comment>
+        <translation>&amp;Κλείσιμο διαγράμματος</translation>
     </message>
     <message>
-        <source>Saved  %1</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αποθηκεύτηκε: %1</translation>
+        <location line="+7"/>
+        <source>E&amp;xit</source>
+        <comment>File menu</comment>
+        <translation>Έ&amp;ξοδος</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save </source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Δεν αποθηκεύτηκε</translation>
+        <location line="+22"/>
+        <source>E&amp;dit</source>
+        <comment>Edit menu</comment>
+        <translation>Επε&amp;ξεργασία</translation>
     </message>
     <message>
-        <source>The file %1
-exists already. Do you want to</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Το αρχείο %1 υπάρχει ήδη.
-Θέλετε να αντικατασταθεί;</translation>
+        <location line="+4"/>
+        <source>&amp;Undo</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Αναίρεση</translation>
     </message>
     <message>
-        <source>The map %1 has been modified but not saved yet. Do you want to</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Το διάγραμμα %1 έχει τροποποιηθεί, αλλά δεν
-έχει ακόμη αποθηκευτεί. Τι θέλετε να γίνει;</translation>
+        <location line="+11"/>
+        <source>&amp;Redo</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Ακύρωση αναίρεσης</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open map %1</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αδυναμία ανοίγματος του διαγράμματος %1</translation>
+        <location line="+11"/>
+        <source>&amp;Copy</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Αντιγραφή</translation>
     </message>
     <message>
-        <source>Take care!</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Προσοχή!</translation>
+        <location line="+11"/>
+        <source>Cu&amp;t</source>
+        <comment>Edit menu</comment>
+        <translation>Αποκο&amp;πή</translation>
     </message>
     <message>
-        <source>Really?</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Αλήθεια;</translation>
+        <location line="+13"/>
+        <source>&amp;Paste</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Επικόλληση</translation>
     </message>
     <message>
-        <source>This won&apos;t work!</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Αυτό δεν λειτουργεί!</translation>
+        <location line="+13"/>
+        <location line="+10"/>
+        <source>Delete Selection</source>
+        <comment>Edit menu</comment>
+        <translation>Διαγραφή επιλογής</translation>
     </message>
     <message>
-        <source>Good</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Ευχαρίστηση</translation>
+        <location line="+11"/>
+        <source>Add attribute</source>
+        <translation>Προσθήκη ιδιότητας</translation>
     </message>
     <message>
-        <source>Bad</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Δυσαρέσκεια</translation>
+        <location line="+11"/>
+        <source>Add mapcenter</source>
+        <comment>Canvas context menu</comment>
+        <translation>Προσθήκη κέντρου διαγράμματος</translation>
     </message>
     <message>
-        <source>Time critical</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Ο χρόνος είναι σημαντικός</translation>
+        <location line="+11"/>
+        <source>Add branch as child</source>
+        <comment>Edit menu</comment>
+        <translation>Προσθήκη κλάδου ως απόγονου</translation>
     </message>
     <message>
-        <source>Idea!</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Ιδέα!</translation>
+        <location line="+9"/>
+        <source>Add branch (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>Προσθήκη κλάδου (εισαγωγή)</translation>
     </message>
     <message>
-        <source>Important</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Σημαντικό</translation>
+        <location line="+10"/>
+        <location line="+10"/>
+        <source>Add branch above</source>
+        <comment>Edit menu</comment>
+        <translation>Προσθήκη κλάδου επάνω</translation>
     </message>
     <message>
-        <source>Unimportant</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Ασήμαντο</translation>
+        <location line="+10"/>
+        <location line="+9"/>
+        <source>Add branch below</source>
+        <comment>Edit menu</comment>
+        <translation>Προσθήκη κλάδου κάτω</translation>
     </message>
     <message>
-        <source>I like this</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Μου αρέσει</translation>
+        <location line="+9"/>
+        <source>Move branch up</source>
+        <comment>Edit menu</comment>
+        <translation>Μετακίνηση κλαδου επάνω</translation>
     </message>
     <message>
-        <source>I do not like this</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Δεν μου αρέσει</translation>
+        <location line="+13"/>
+        <source>Move branch down</source>
+        <comment>Edit menu</comment>
+        <translation>Μετακίνηση κλαδου επάνω</translation>
     </message>
     <message>
-        <source>Dangerous</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Επικίνδυνο</translation>
+        <location line="+39"/>
+        <source>&amp;Detach</source>
+        <comment>Context menu</comment>
+        <translation>&amp;Αποσύνδεση</translation>
     </message>
     <message>
-        <source>This will help</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Αυτό θα βοηθήσει</translation>
+        <location line="+1"/>
+        <source>Detach branch and use as mapcenter</source>
+        <comment>Context menu</comment>
+        <translation>Αποσύνδεση κλάδου και χρήση του ως κέντρου διαγράμματος</translation>
     </message>
     <message>
-        <source>Import</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Εισαγωγή</translation>
+        <location line="+8"/>
+        <source>Sort children</source>
+        <comment>Edit menu</comment>
+        <translation>Ταξινόμηση απόγονων κόμβων</translation>
     </message>
     <message>
-        <source>(still experimental)</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">(σε πειραματική λειτουργία)</translation>
+        <location line="+11"/>
+        <source>Sort children backwards</source>
+        <comment>Edit menu</comment>
+        <translation>Ταξινόμηση απόγονων κόμβων προς τα πίσω</translation>
     </message>
     <message>
-        <source>&amp;Print</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">&amp;Εκτύπωση</translation>
+        <location line="+10"/>
+        <source>Scroll branch</source>
+        <comment>Edit menu</comment>
+        <translation>Κύλιση κλάδου</translation>
     </message>
     <message>
-        <source>Export to</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Εξαγωγή σε</translation>
+        <location line="+12"/>
+        <source>Unscroll children</source>
+        <comment>Edit menu</comment>
+        <translation>Απόγονος χωρίς κύλιση</translation>
     </message>
     <message>
-        <source>Set application to open an URL</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ορισμός μιας εφαρμογής για άνοιγμα URL</translation>
+        <location line="+5"/>
+        <source>Grow selection</source>
+        <comment>Edit menu</comment>
+        <translation>Μεγέθυνση επιλογής</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αδυναμία έναρξης %1 για άνοιγμα νέας καρτέλας %2.</translation>
+        <location line="+9"/>
+        <source>Shrink selection</source>
+        <comment>Edit menu</comment>
+        <translation>Συρρίκνωση επιλογής</translation>
     </message>
     <message>
-        <source>Set application to open PDF files</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ορισμός εφαρμογής για άνοιγμα αρχείων PDF</translation>
+        <location line="+9"/>
+        <source>Reset selection size</source>
+        <comment>Edit menu</comment>
+        <translation>Επαναφορά μεγέθους της επιλογής</translation>
     </message>
     <message>
-        <source>Oh no!</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Ωχ, όχι!</translation>
+        <location line="+11"/>
+        <source>Collapse one level</source>
+        <comment>Edit menu</comment>
+        <translation>Αναδίπλωση ενός επιπέδου</translation>
     </message>
     <message>
-        <source>Call...</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Κλήση...</translation>
+        <location line="+13"/>
+        <source>Collapse unselected levels</source>
+        <comment>Edit menu</comment>
+        <translation>Αναδίπλωση μη επιλεγμένων επιπέδων</translation>
     </message>
     <message>
-        <source>Very important!</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Πολύ σημαντικό!</translation>
+        <location line="+12"/>
+        <source>Expand all branches</source>
+        <comment>Edit menu</comment>
+        <translation>Ανάπτυξη όλων των κλάδων</translation>
     </message>
     <message>
-        <source>Very unimportant!</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Πολύ ασήμαντο!</translation>
+        <location line="+8"/>
+        <source>Expand one level</source>
+        <comment>Edit menu</comment>
+        <translation>Ανάπτυξη ενός επιπέδου</translation>
     </message>
     <message>
-        <source>Rose</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Τριαντάφυλλο</translation>
+        <location line="+10"/>
+        <source>References Context menu</source>
+        <comment>Shortcuts</comment>
+        <translation>Μενού παραπομπών</translation>
     </message>
     <message>
-        <source>Surprise!</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Έκπληξη!</translation>
+        <location line="+1"/>
+        <source>Open URL</source>
+        <comment>Edit menu</comment>
+        <translation>Άνοιγμα URL</translation>
     </message>
     <message>
-        <source>Info</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Πληροφορίες</translation>
+        <location line="+9"/>
+        <source>Open URL in new tab</source>
+        <comment>Edit menu</comment>
+        <translation>Άνοιγμα URL σε νέα καρτέλα</translation>
     </message>
     <message>
-        <source>Bookmarks</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Σελιδοδείκτες</translation>
+        <location line="+8"/>
+        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <comment>Edit menu</comment>
+        <translation>Άνοιγμα όλων των URLs σε υποδιάγραμμα (συμπεριλαμβανομένων των κυλιόμενων κόμβων)</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης ρυθμίσεων για εξαγωγή σε αρχείο Open Office</translation>
+        <location line="+10"/>
+        <source>Open all URLs in subtree</source>
+        <comment>Edit menu</comment>
+        <translation>Άνοιγμα όλων των URLs σε υπο-δέντρο</translation>
     </message>
     <message>
-        <source>Script Editor</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Επεξεργαστής σεναρίων</translation>
+        <location line="+7"/>
+        <source>Extract URLs from note</source>
+        <comment>Edit menu</comment>
+        <translation>Εξαγωγή URLs από σημείωση</translation>
     </message>
     <message>
-        <source>Main window</source>
-        <translatorcomment>MainShortcut scope</translatorcomment>
-        <translation type="vanished">Κύριο παράθυρο</translation>
+        <location line="+10"/>
+        <source>Edit URL...</source>
+        <comment>Edit menu</comment>
+        <translation>Επεξεργασία URL...</translation>
     </message>
     <message>
-        <source>Task list</source>
-        <translatorcomment>MainTaskEditor</translatorcomment>
-        <translation type="vanished">Λίστα εργασιών</translation>
+        <location line="+9"/>
+        <source>Edit local URL...</source>
+        <comment>Edit menu</comment>
+        <translation>Επεξεργασία τοπικού URL...</translation>
     </message>
     <message>
-        <source>Map Editors</source>
-        <translatorcomment>MainShortcut group</translatorcomment>
-        <translation type="vanished">Επεξεργαστές διαγράμματος</translation>
+        <location line="+9"/>
+        <source>Use heading for URL</source>
+        <comment>Edit menu</comment>
+        <translation>Χρήση κεφαλίδας για URL</translation>
     </message>
     <message>
-        <source>Text Editors</source>
-        <translatorcomment>MainShortcut group</translatorcomment>
-        <translation type="vanished">Επεξεργαστές κειμένου</translation>
+        <location line="+4082"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <translatorcomment>MainMenu for file actions</translatorcomment>
-        <translation type="vanished">&amp;Διάγραμμα</translation>
+        <location line="+1447"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation>&lt;html&gt;&lt;h3&gt;Επιτρέπετε στο vym να ελέγχει στο διαδίκτυο για ενημερώσεις ή σημειώσεις κυκλοφορίας;&lt;/h3&gt;Εάν συμφωνείτε, το vym θα &lt;ul&gt;&lt;li&gt;ελέγχει μία φορά για σημειώσεις έκδοσης&lt;/li&gt;&lt;li&gt;ελέγχει τακτικά για ενημερώσεις και σας ειδοποιεί σε περίπτωση που πρέπει να κάνετε ενημέρωση, π.χ. εάν υπάρχουν διαθέσιμες σημαντικές διορθώσεις σφαλμάτων&lt;/li&gt;&lt;li&gt;λάβετε ένα cookie με ένα τυχαίο αναγνωριστικό και θα σταλούν ορισμένα ανώνυμα δεδομένα, όπως:&lt;ul&gt;&lt;li&gt; έκδοση του vym&lt;/li&gt;&lt;li&gt;όνομα πλατφόρμας και το αναγνωριστικό ( π.χ. &quot;Windows&quot; ή &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;εάν χρησιμοποιείτε σκοτεινό θέμα&lt;/li&gt;&lt;/ul&gt;Αυτά τα δεδομένα αποστέλλονται σε εμένα, Uwe Drechsel.&lt;p&gt;Ως προγραμματιστής vym έχω κίνητρο να βλέπω πολλά άτομα να χρησιμοποιούν το vym. Φυσικά είμαι περίεργος να δω, σε ποιο λειτουργικό σύστημα χρησιμοποιείται το vym. Η συντήρηση καθενός από τα συστήματα απαιτεί πολύ από τον (ελεύθερο) χρόνο μου.&lt;/p&gt; &lt;p&gt;Δεν θα σταλούν άλλα δεδομένα εκτός από τα παραπάνω, ειδικότερα δεν θα συλλέγονται ή αποστέλλονται προσωπικά δεδομένα. (Ελέγξτε τον πηγαίο κώδικα, εάν δεν με πιστεύετε.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;Εάν δεν το επιτρέψετε, &lt;ul&gt;&lt;li&gt;δεν θα γίνει λήψη κανενός δεδομένου και ειδικά &lt;b&gt;δεν θα έχω κίνητρο&lt;/b&gt; να ξοδέψω μερικές ακόμη  χιλιάδες ώρες για την ανάπτυξη ενός εργαλείου Ελεύθερου Λογισμικού.&lt;/ul&gt;Επιτρέψτε στο vym να ελέγχει για ενημερώσεις :-)</translation>
     </message>
     <message>
-        <source>&amp;Open...</source>
-        <translatorcomment>MainFile menu</translatorcomment>
-        <translation type="vanished">&amp;Άνοιγμα...</translation>
+        <location line="-5498"/>
+        <source>vymlinks - linking maps</source>
+        <comment>Shortcuts</comment>
+        <translation>Σύνδεσμοι VYM - σύνδεση διαγραμμάτων</translation>
     </message>
     <message>
-        <source>&amp;Restore last session</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">&amp;Επαναφορά τελευταίας συνεδρίας</translation>
+        <location line="+2"/>
+        <source>Open linked map</source>
+        <comment>Edit menu</comment>
+        <translation>Άνοιγμα συνδεδεμένου διαγράμματος</translation>
     </message>
     <message>
-        <source>Open Recent</source>
-        <translatorcomment>MainFile menu</translatorcomment>
-        <translation type="vanished">Άνοιγμα πρόσφατου αρχείου</translation>
+        <location line="+10"/>
+        <source>Open linked map in background tab</source>
+        <comment>Edit menu</comment>
+        <translation>Άνοιγμα συνδεδεμένου διαγράμματος σε καρτέλα παρασκηνίου</translation>
     </message>
     <message>
-        <source>&amp;Save...</source>
-        <translatorcomment>MainFile menu</translatorcomment>
-        <translation type="vanished">&amp;Αποθήκευση...
-&amp;Αποθήκευση ως...</translation>
+        <location line="+7"/>
+        <source>Open all vym links in subtree</source>
+        <comment>Edit menu</comment>
+        <translation>Άνοιγμα όλων των συνδέσμων VYM σε υπο-δέντρο</translation>
     </message>
     <message>
-        <source>Save &amp;As...</source>
-        <translatorcomment>MainFile menu</translatorcomment>
-        <translation type="vanished">Αποθήκευση &amp;ως...</translation>
+        <location line="+9"/>
+        <source>Edit vym link...</source>
+        <comment>Edit menu</comment>
+        <translation>Επεξεργασία συνδέσμου VYM...</translation>
     </message>
     <message>
-        <source>Image%1</source>
-        <translatorcomment>MainFile export menu</translatorcomment>
-        <translation type="vanished">Εικόνα%1</translation>
+        <location line="+9"/>
+        <source>Delete vym link</source>
+        <comment>Edit menu</comment>
+        <translation>Διαγραφή συνδέσμου VYM</translation>
     </message>
     <message>
-        <source>&amp;Close Map</source>
-        <translatorcomment>MainFile menu</translatorcomment>
-        <translation type="vanished">&amp;Κλείσιμο διαγράμματος</translation>
+        <location line="+7"/>
+        <source>Exports</source>
+        <comment>Shortcuts</comment>
+        <translation>Εξαγωγές</translation>
     </message>
     <message>
-        <source>E&amp;xit</source>
-        <translatorcomment>MainFile menu</translatorcomment>
-        <translation type="vanished">Έ&amp;ξοδος</translation>
+        <location line="+2"/>
+        <source>Hide in exports</source>
+        <comment>Edit menu</comment>
+        <translation>Απόκρυψη στις εξαγωγές</translation>
     </message>
     <message>
-        <source>&amp;Undo</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">&amp;Αναίρεση</translation>
+        <location line="+11"/>
+        <source>Tasks</source>
+        <comment>Shortcuts</comment>
+        <translation>Εργασίες</translation>
     </message>
     <message>
-        <source>&amp;Redo</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">&amp;Ακύρωση αναίρεσης</translation>
+        <location line="+1"/>
+        <source>Toggle task</source>
+        <comment>Edit menu</comment>
+        <translation>Εναλλαγή εργασιών</translation>
     </message>
     <message>
-        <source>&amp;Copy</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">&amp;Αντιγραφή</translation>
+        <location line="+12"/>
+        <source>Cycle task status</source>
+        <comment>Edit menu</comment>
+        <translation>Κατάσταση κυκλικής εργασίας</translation>
     </message>
     <message>
-        <source>Cu&amp;t</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Αποκο&amp;πή</translation>
+        <location line="+21"/>
+        <source>Reset sleep</source>
+        <comment>Task sleep</comment>
+        <translation>Επαναφορά ύπνου</translation>
     </message>
     <message>
-        <source>&amp;Paste</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">&amp;Επικόλληση</translation>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <source>Sleep %1 days</source>
+        <comment>Task sleep</comment>
+        <translation>Ύπνος για %1 ημέρες</translation>
     </message>
     <message>
-        <source>Delete Selection</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Διαγραφή επιλογής</translation>
+        <location line="-55"/>
+        <source>Sleep %1 day</source>
+        <comment>Task sleep</comment>
+        <translation>Ύπνος για %1 ημέρα</translation>
     </message>
     <message>
-        <source>Add branch as child</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Προσθήκη κλάδου ως απόγονου</translation>
+        <location line="+66"/>
+        <location line="+11"/>
+        <source>Sleep %1 weeks</source>
+        <comment>Task sleep</comment>
+        <translation>Ύπνος για %1 εβδομάδες</translation>
     </message>
     <message>
-        <source>Add branch (insert)</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Προσθήκη κλάδου (εισαγωγή)</translation>
+        <location line="+12"/>
+        <source>Add map (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>Προσθήκη διαγραμματος (εισαγωγή)</translation>
     </message>
     <message>
-        <source>Add branch above</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Προσθήκη κλάδου επάνω</translation>
+        <location line="+7"/>
+        <source>Add map (replace)</source>
+        <comment>Edit menu</comment>
+        <translation>Προσθήκη διαγραμματος (αντικατάσταση)</translation>
     </message>
     <message>
-        <source>Add branch below</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Προσθήκη κλάδου κάτω</translation>
+        <location line="+7"/>
+        <source>Save selection</source>
+        <comment>Edit menu</comment>
+        <translation>Αποθήκευση επιλογής</translation>
     </message>
     <message>
-        <source>Move up</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Μετακίνηση επάνω</translation>
+        <location line="+6"/>
+        <source>Removing parts of a map</source>
+        <comment>Shortcuts</comment>
+        <translation>Αφαίρεση τμημάτων του διαγράμματος</translation>
     </message>
     <message>
-        <source>Move down</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Μετακίνηση κάτω</translation>
+        <location line="+4"/>
+        <source>Remove only branch and keep its children </source>
+        <comment>Edit menu</comment>
+        <translation>Αφαίρεση κλαδου και διατήρηση απόγονων</translation>
     </message>
     <message>
-        <source>Scroll branch</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Κύλιση κλάδου</translation>
+        <location line="+10"/>
+        <source>Remove children</source>
+        <comment>Edit menu</comment>
+        <translation>Αφαίρεση απόγονου κόμβου</translation>
     </message>
     <message>
-        <source>References Context menu</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Μενού παραπομπών</translation>
+        <location line="+10"/>
+        <source>Various</source>
+        <comment>Shortcuts</comment>
+        <translation>Ποικίλα</translation>
     </message>
     <message>
-        <source>Bugzilla handling</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Χειρισμός Bugzilla</translation>
+        <location line="+1"/>
+        <source>Add timestamp</source>
+        <comment>Edit menu</comment>
+        <translation>Προσθήκη χρονοσήμανσης</translation>
     </message>
     <message>
-        <source>Create URL to SUSE Bugzilla</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Δημιουργία URL για το SUSE Bugzilla</translation>
+        <location line="+11"/>
+        <source>Map properties...</source>
+        <comment>Edit menu</comment>
+        <translation>Ιδιότητες διαγράμματος...</translation>
     </message>
     <message>
-        <source>Get data from SUSE Bugzilla</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Λήψη δεδομένων από το SUSE Bugzilla</translation>
+        <location line="+15"/>
+        <source>Property window</source>
+        <comment>Dialog to edit properties of selection</comment>
+        <translation>Παράθυρο ιδιοτήτων</translation>
     </message>
     <message>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Λήψη δεδομένων από το SUSE Bugzilla για το υπο-δέντρο</translation>
+        <location line="+15"/>
+        <source>Selections</source>
+        <comment>Shortcuts</comment>
+        <translation>Επιλογές</translation>
     </message>
     <message>
-        <source>SUSE Fate tool handling</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Εργαλείο χειρισμού SUSE</translation>
+        <location line="+1"/>
+        <source>Select</source>
+        <comment>Select menu</comment>
+        <translation>Επιλογή</translation>
     </message>
     <message>
-        <source>Create URL to SUSE FATE tool</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Δημιουργία URL προς το εργαλείο χειρισμού SUSE</translation>
+        <location line="+3"/>
+        <source>Toggle target...</source>
+        <comment>Edit menu</comment>
+        <translation>Εναλλαγή στόχου...</translation>
     </message>
     <message>
-        <source>vymlinks - linking maps</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Σύνδεσμοι VYM - σύνδεση διαγραμμάτων</translation>
+        <location line="+10"/>
+        <source>Goto target...</source>
+        <comment>Edit menu</comment>
+        <translation>Μετάβαση στον στόχο...</translation>
     </message>
     <message>
-        <source>Exports</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Εξαγωγές</translation>
+        <location line="+9"/>
+        <source>Move to target...</source>
+        <comment>Edit menu</comment>
+        <translation>Μετακίνηση προς τον στόχο...</translation>
     </message>
     <message>
-        <source>Tasks</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Εργασίες</translation>
+        <location line="+18"/>
+        <source>Select previous</source>
+        <comment>Edit menu</comment>
+        <translation>Επιλογή προηγούμενου</translation>
     </message>
     <message>
-        <source>Toggle task</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Εναλλαγή εργασιών</translation>
+        <location line="+10"/>
+        <source>Select next</source>
+        <comment>Edit menu</comment>
+        <translation>Επιλογή επόμενου</translation>
     </message>
     <message>
-        <source>Cycle task status</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Κατάσταση κυκλικής εργασίας</translation>
+        <location line="+11"/>
+        <source>Unselect all</source>
+        <comment>Edit menu</comment>
+        <translation>Αποεπιλογή όλων</translation>
     </message>
     <message>
-        <source>Reset sleep</source>
-        <translatorcomment>MainTask sleep</translatorcomment>
-        <translation type="vanished">Επαναφορά ύπνου</translation>
+        <location line="+8"/>
+        <source>Search functions</source>
+        <comment>Shortcuts</comment>
+        <translation>Αναζήτηση λειτουργιών</translation>
     </message>
     <message>
-        <source>Sleep %1 days</source>
-        <translatorcomment>MainTask sleep</translatorcomment>
-        <translation type="vanished">Ύπνος για %1 ημέρες</translation>
+        <location line="+1"/>
+        <location line="+8"/>
+        <source>Find...</source>
+        <comment>Edit menu</comment>
+        <translation>Εύρεση...</translation>
     </message>
     <message>
-        <source>Sleep %1 day</source>
-        <translatorcomment>MainTask sleep</translatorcomment>
-        <translation type="vanished">Ύπνος για %1 ημέρα</translation>
+        <location line="+7"/>
+        <source>Find duplicate URLs</source>
+        <comment>Edit menu</comment>
+        <translation>Εύρεση διπλότυπων URLs</translation>
     </message>
     <message>
-        <source>Sleep %1 weeks</source>
-        <translatorcomment>MainTask sleep</translatorcomment>
-        <translation type="vanished">Ύπνος για %1 εβδομάδες</translation>
+        <location line="+11"/>
+        <source>F&amp;ormat</source>
+        <comment>Format menu</comment>
+        <translation>Μορ&amp;φοποίηση</translation>
     </message>
     <message>
-        <source>Removing parts of a map</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Αφαίρεση τμημάτων του διαγράμματος</translation>
+        <location line="+2"/>
+        <source>Formatting</source>
+        <comment>Shortcuts</comment>
+        <translation>Μορφοποίηση</translation>
     </message>
     <message>
-        <source>Various</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Ποικίλα</translation>
+        <location line="+5"/>
+        <source>Pic&amp;k color</source>
+        <comment>Edit menu</comment>
+        <translation>Επι&amp;λογή χρώματος</translation>
     </message>
     <message>
-        <source>Add   ...</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Προσθήκη...</translation>
+        <location line="+10"/>
+        <source>Color &amp;branch</source>
+        <comment>Edit menu</comment>
+        <translation>Χρωματισμός &amp;κλάδου</translation>
     </message>
     <message>
-        <source>Selections</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Επιλογές</translation>
+        <location line="+10"/>
+        <source>Color sub&amp;tree</source>
+        <comment>Edit menu</comment>
+        <translation>Χρώμα υπο-&amp;δέντρου</translation>
     </message>
     <message>
-        <source>Select</source>
-        <translatorcomment>MainSelect menu</translatorcomment>
-        <translation type="vanished">Επιλογή</translation>
+        <location line="+11"/>
+        <source>Select default font</source>
+        <comment>Branch attribute</comment>
+        <translation>Επιλογη προκαθορισμένης γραμματοσειράς</translation>
     </message>
     <message>
-        <source>Search functions</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Αναζήτηση λειτουργιών</translation>
+        <location line="+11"/>
+        <source>Linkstyle Line</source>
+        <translation>Μορφή γραμμών: γραμμή</translation>
     </message>
     <message>
-        <source>Find...</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Εύρεση...</translation>
+        <location line="+7"/>
+        <source>Linkstyle Curve</source>
+        <translation>Καμπύλη γραμμή σύνδεσης</translation>
     </message>
     <message>
-        <source>Please allow vym to download release notes!</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Παρακαλώ επιτρέψτε στο VYM να κάνει λήψη των σημειώσεων έκδοσης!</translation>
+        <location line="+7"/>
+        <source>Linkstyle Thick Line</source>
+        <translation>Μορφή γραμμών: παχιά γραμμή</translation>
     </message>
     <message>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">&lt;html&gt;&lt;h3&gt;Επιτρέπετε στο VYM να ελέγχει για ενημερώσεις ή πληροφορίες εκδόσεων;&lt;/h3&gt;Εάν το επιτρέπετε, το VYM θα &lt;ul&gt;&lt;li&gt;κάνει μια φορά έλεγχο για πληροφορίες έκδοσης&lt;/li&gt;&lt;li&gt;, θα ελέγχει τακτικά για ενημερώσεις και θα σας ενημερώνει σε περίπτωση που θα πρέπει να κάνετε ενημέρωση, π.χ. αν υπάρχουν διαθέσιμες διορθώσεις σφαλμάτων &lt;/li&gt;&lt;li&gt;ένα cookie με τυχαίο ID θα στέλνει την έκδοση του VYM, τον τύπο του λειτουργικού συστήματος και το ID του (π.χ. &quot;Windows&quot; or &quot;Linux&quot;) στον Uwe Drechsel.&lt;p&gt;Ως δημιουργός του VYM θα ήθελα να δω ολοένα και περισσότερους ανθρώπους να το χρησιμοποιούν. Επίσης, θα ήθελα να γνωρίζω σε ποια λειτουργικά συστήματα εκτελείται η εφαρμογή αυτή. Η στήριξη που θα πρέπει να παρέχω για καθένα σύστημα απαιτεί πολύ προσωπικό χρόνο.&lt;/p&gt; &lt;p&gt;Καμμιά άλλη πληροφορία ή δεδομένο δεν θα φτάνει σε μένα, όπως επίσης δεν θα λαμβάνω και δεν θα συλλέγω κανένα προσωπικό δεδομένο. (Μπορείτε να διασταυρώσετε τον ισχυρισμό μου ελέγχοντας τον πηγαίο κώδικα της εφαρμογής. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;Εάν δεν το επιτρέπετε, &lt;ul&gt;&lt;li&gt;δεν θα γίνεται λήψη καμιάς πληροφορίας και, επίσης, &lt;b&gt;δεν θα έχω κίνητρο&lt;/b&gt; να διαθέσω χρόνο για την ανάπτυξη της εφαρμογής.&lt;/ul&gt;Παρακαλώ, να επιτρέψετε στο VYM να κάνει έλεγχο ενημερώσεων :-)</translation>
+        <location line="+7"/>
+        <source>Linkstyle Thick Curve</source>
+        <translation>Παχια καμπύλη γραμμή σύνδεσης</translation>
     </message>
     <message>
-        <source>Allow</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Επιτρέπεται</translation>
+        <location line="+10"/>
+        <source>Hide link if object is not selected</source>
+        <comment>Branch attribute</comment>
+        <translation>Απόκρυψη συνδέσμου εάν το αντικείμενο δεν είναι επιλεγμένο</translation>
     </message>
     <message>
-        <source>Do not allow</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Δεν επιτρέπεται</translation>
+        <location line="+6"/>
+        <source>&amp;Use color of heading for link</source>
+        <comment>Branch attribute</comment>
+        <translation>&amp;Χρήση χρώματος κεφαλίδας για τον σύνδεσμο</translation>
     </message>
     <message>
-        <source>Thank you for enabling downloads!</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ευχαριστούμε που ενεργοποιήσατε τις λήψεις!</translation>
+        <location line="+9"/>
+        <source>Set &amp;Link Color</source>
+        <translation>Ορισμός χρώματος &amp;σύνδεσης</translation>
     </message>
     <message>
-        <source>vym updates are available, please update e.g. from
-http://sourceforge.net/projects/vym</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ενημερώσεις για το VYM είναι διαθέσιμες. Παρακαλώ, προβείτε σε 
-ενημέρωση από τον ιστοτοπο http://sourceforge.net/projects/vym
-</translation>
+        <location line="+5"/>
+        <source>Set &amp;Selection Color</source>
+        <translation>Ορισμός χρώματος &amp;επιλογής</translation>
     </message>
     <message>
-        <source>vym is up to date.</source>
-        <translatorcomment>MainMainWindow</translatorcomment>
-        <translation type="vanished">Το VYM είναι ενημερωμένο.</translation>
+        <location line="+5"/>
+        <source>Set &amp;Background Color</source>
+        <translation>Ορισμός χρώματος παρασκηνίου</translation>
     </message>
     <message>
-        <source>Update check results</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αποτελέσματα ελέγχου για ενημερώσεις</translation>
+        <location line="+5"/>
+        <source>Set &amp;Background image</source>
+        <translation>Ορισμός εικόνας &amp;παρασκηνίου</translation>
     </message>
     <message>
-        <source>vym is up to date!</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Το VYM είναι ενημερωμένο!</translation>
+        <location line="+9"/>
+        <source>&amp;View</source>
+        <translation>&amp;Προβολή</translation>
     </message>
     <message>
-        <source>Checking for updates...</source>
-        <translatorcomment>MainMainWindow</translatorcomment>
-        <translation type="vanished">Έλεγχος για ενημερώσεις...</translation>
+        <location line="+2"/>
+        <source>Toolbars</source>
+        <comment>Toolbars overview in view menu</comment>
+        <translation>Γραμμές εργαλείων</translation>
     </message>
     <message>
-        <source>Please allow vym to check for updates!</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Παρακαλώ, να επιτρέψετε στο VYM να κάνει έλεγχο ενημερώσεων!</translation>
+        <location line="+1"/>
+        <source>Views</source>
+        <comment>Shortcuts</comment>
+        <translation>Προβολές</translation>
     </message>
     <message>
-        <source>Open URL</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Άνοιγμα URL</translation>
+        <location line="+16"/>
+        <source>Zoom in</source>
+        <comment>View action</comment>
+        <translation>Μεγέθυνση</translation>
     </message>
     <message>
-        <source>Open URL in new tab</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Άνοιγμα URL σε νέα καρτέλα</translation>
+        <location line="+9"/>
+        <source>Zoom out</source>
+        <comment>View action</comment>
+        <translation>Σμίκρυνση</translation>
     </message>
     <message>
-        <source>Open all URLs in subtree</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Άνοιγμα όλων των URLs σε υπο-δέντρο</translation>
+        <location line="+10"/>
+        <source>Rotate counterclockwise</source>
+        <comment>View action</comment>
+        <translation>Αριστερόστροφη περιστροφή</translation>
     </message>
     <message>
-        <source>Edit URL...</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Επεξεργασία URL...</translation>
+        <location line="+9"/>
+        <source>Rotate rclockwise</source>
+        <comment>View action</comment>
+        <translation>Δεξιόστροφη περιστροφή</translation>
     </message>
     <message>
-        <source>Use heading for URL</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Χρήση κεφαλίδας για URL</translation>
+        <location line="+9"/>
+        <source>reset Zoom</source>
+        <comment>View action</comment>
+        <translation>Επαναφορά εστίασης</translation>
     </message>
     <message>
-        <source>Open linked map</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Άνοιγμα συνδεδεμένου διαγράμματος</translation>
+        <location line="+9"/>
+        <source>Center on selection</source>
+        <comment>View action</comment>
+        <translation>Κέντρο της επιλογής</translation>
     </message>
     <message>
-        <source>Open all vym links in subtree</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Άνοιγμα όλων των συνδέσμων VYM σε υπο-δέντρο</translation>
+        <location line="+9"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit vym link...</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Επεξεργασία συνδέσμου VYM...</translation>
+        <location line="+12"/>
+        <source>Note editor</source>
+        <comment>View action</comment>
+        <translation>Επεξεργαστής σημειώσεων</translation>
     </message>
     <message>
-        <source>Delete vym link</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Διαγραφή συνδέσμου VYM</translation>
+        <location line="+12"/>
+        <source>Heading editor</source>
+        <comment>View action</comment>
+        <translation>Επεξεργαστής κεφαλίδων</translation>
     </message>
     <message>
-        <source>Hide in exports</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Απόκρυψη στις εξαγωγές</translation>
+        <location line="+13"/>
+        <source>Tree editor</source>
+        <comment>View action</comment>
+        <translation>Επεξεργαστής διαγράμματος</translation>
     </message>
     <message>
-        <source>Edit Map Info...</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Επεξεργασια πληροφοριών διαγράμματος...</translation>
+        <location line="+9"/>
+        <source>Task editor</source>
+        <comment>View action</comment>
+        <translation>Επεξεργαστής εργασιών</translation>
     </message>
     <message>
-        <source>Add map (insert)</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Προσθήκη διαγραμματος (εισαγωγή)</translation>
+        <location line="+11"/>
+        <source>Slide editor</source>
+        <comment>View action</comment>
+        <translation>Επεξεργαστής διαφανειών</translation>
     </message>
     <message>
-        <source>Add map (replace)</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Προσθήκη διαγραμματος (αντικατάσταση)</translation>
+        <location line="+9"/>
+        <source>Script editor</source>
+        <comment>View action</comment>
+        <translation>Επεξεργαστής σεναρίων</translation>
     </message>
     <message>
-        <source>Save selection</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Αποθήκευση επιλογής</translation>
+        <location line="+17"/>
+        <source>History Window</source>
+        <comment>View action</comment>
+        <translation>Παράθυρο ιστορικού</translation>
     </message>
     <message>
-        <source>F&amp;ormat</source>
-        <translatorcomment>MainFormat menu</translatorcomment>
-        <translation type="vanished">Μορ&amp;φοποίηση</translation>
+        <location line="+14"/>
+        <source>Antialiasing</source>
+        <comment>View action</comment>
+        <translation>Εξομάλυνση</translation>
     </message>
     <message>
-        <source>Pic&amp;k color</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Επι&amp;λογή χρώματος</translation>
+        <location line="+7"/>
+        <source>Smooth pixmap transformations</source>
+        <comment>View action</comment>
+        <translation>Εξομάλυνση μετασχηματισμών εικονοστοιχείων </translation>
     </message>
     <message>
-        <source>Color &amp;branch</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Χρωματισμός &amp;κλάδου</translation>
+        <location line="+10"/>
+        <source>Next Map</source>
+        <comment>View action</comment>
+        <translation>Επόμενο διάγραμμα</translation>
     </message>
     <message>
-        <source>Color sub&amp;tree</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Χρώμα υπο-&amp;δέντρου</translation>
+        <location line="+7"/>
+        <source>Previous Map</source>
+        <comment>View action</comment>
+        <translation>Προηγούμενο διάγραμμα</translation>
     </message>
     <message>
-        <source>Hide link if object is not selected</source>
-        <translatorcomment>MainBranch attribute</translatorcomment>
-        <translation type="vanished">Απόκρυψη συνδέσμου εάν το αντικείμενο δεν είναι επιλεγμένο</translation>
+        <location line="+7"/>
+        <source>Next slide</source>
+        <comment>View action</comment>
+        <translation>Επόμενη διαφάνεια</translation>
     </message>
     <message>
-        <source>&amp;Use color of heading for link</source>
-        <translatorcomment>MainBranch attribute</translatorcomment>
-        <translation type="vanished">&amp;Χρήση χρώματος κεφαλίδας για τον σύνδεσμο</translation>
+        <location line="+7"/>
+        <source>Previous slide</source>
+        <comment>View action</comment>
+        <translation>Προηγούμενη διαφάνεια</translation>
     </message>
     <message>
-        <source>reset Zoom</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Επαναφορά εστίασης</translation>
+        <location line="+38"/>
+        <source>Modifier modes</source>
+        <comment>Shortcuts</comment>
+        <translation>Μετατροπέας κατάστασης</translation>
     </message>
     <message>
-        <source>Zoom in</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Μεγέθυνση</translation>
+        <location line="+30"/>
+        <source>Use modifier to draw xLinks</source>
+        <comment>Mode modifier</comment>
+        <translation>Χρήση μετατροπέα για σχεδιασμό xLinks</translation>
     </message>
     <message>
-        <source>Firefox Bookmarks</source>
-        <translatorcomment>MainImport filters</translatorcomment>
-        <translation type="vanished">Σελιδοδείκτες Firefox</translation>
+        <location line="+71"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <source>Note</source>
+        <comment>SystemFlag</comment>
+        <translation>Σημείωση</translation>
     </message>
     <message>
-        <source>Import Dir%1</source>
-        <translatorcomment>MainImport Filters</translatorcomment>
-        <translation type="vanished">Εισαγωγή Dir%1</translation>
+        <location line="+6"/>
+        <source>Map target</source>
+        <comment>SystemFlag</comment>
+        <translation>Στόχος διαγράμματος</translation>
     </message>
     <message>
-        <source>Remove only branch and keep its children </source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Αφαίρεση κλαδου και διατήρηση απόγονων</translation>
+        <location line="+3"/>
+        <source>Link to another vym map</source>
+        <comment>SystemFlag</comment>
+        <translation>Σύνδεσμος προς άλλο διάγραμμα VYM</translation>
     </message>
     <message>
-        <source>Formatting</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Μορφοποίηση</translation>
+        <location line="+3"/>
+        <source>subtree is scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>Το υπο-δέντρο είναι κυλιόμενο</translation>
     </message>
     <message>
-        <source>Views</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Προβολές</translation>
+        <location line="+4"/>
+        <source>subtree is temporary scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>Το υπο-δέντρο είναι προσωρινά κυλιόμενο</translation>
     </message>
     <message>
-        <source>Zoom out</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Σμίκρυνση</translation>
+        <location line="+3"/>
+        <source>Hide object in exported maps</source>
+        <comment>SystemFlag</comment>
+        <translation>Απόκρυψη αντικειμένου στα εξαγόμενα διαγράμματα</translation>
     </message>
     <message>
-        <source>Modifier modes</source>
-        <translatorcomment>MainShortcuts</translatorcomment>
-        <translation type="vanished">Μετατροπέας κατάστασης</translation>
+        <location line="+349"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use modifier to color branches</source>
-        <translatorcomment>MainMode modifier</translatorcomment>
-        <translation type="vanished">Χρήση μετατροπέα για χρωματισμό κλάδων</translation>
+        <location line="+537"/>
+        <source>Standard Flags toolbar</source>
+        <comment>Standard Flag Toolbar</comment>
+        <translation>Εργαλειοθήκη κανονικων σημαιών</translation>
     </message>
     <message>
-        <source>Use modifier to draw xLinks</source>
-        <translatorcomment>MainMode modifier</translatorcomment>
-        <translation type="vanished">Χρήση μετατροπέα για σχεδιασμό xLinks</translation>
+        <location line="-879"/>
+        <source>This won&apos;t work!</source>
+        <comment>Standardflag</comment>
+        <translation>Αυτό δεν λειτουργεί!</translation>
     </message>
     <message>
-        <source>Set application to open pdf files</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Ορισμός εφαρμογής για άνοιγμα αρχείων pdf</translation>
+        <location line="+5"/>
+        <source>Status - ok,done</source>
+        <comment>Standardflag</comment>
+        <translation>Κατάσταση - εντάξει, ολοκληρώθηκε</translation>
     </message>
     <message>
-        <source>Set application to open external links</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Ορισμός εφαρμογής για άνοιγμα εξωτερικών συνδέσμων</translation>
+        <location line="+4"/>
+        <source>Status - work in progress</source>
+        <comment>Standardflag</comment>
+        <translation>Κατάσταση - εργασία σε εξέλιξη</translation>
     </message>
     <message>
-        <source>Edit branch after adding it</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Επεξεργασία κλάδου μετά την εισαγωγή του</translation>
+        <location line="+5"/>
+        <source>Status - missing, not started</source>
+        <comment>Standardflag</comment>
+        <translation>Κατάσταση - δεν έχει ξεκινήσει</translation>
     </message>
     <message>
-        <source>Select branch after adding it</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Επιλογή κλάδου μετά την εισαγωγή του</translation>
+        <location line="+5"/>
+        <source>Take care!</source>
+        <comment>Standardflag</comment>
+        <translation>Προσοχή!</translation>
     </message>
     <message>
-        <source>Select existing heading</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Επιλογή υπάρχουσας κεφαλίδας</translation>
+        <location line="+5"/>
+        <source>Really?</source>
+        <comment>Standardflag</comment>
+        <translation>Αλήθεια;</translation>
     </message>
     <message>
-        <source>Exclusive flags</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Αποκλειστικές σημαίες</translation>
+        <location line="+14"/>
+        <source>Good</source>
+        <comment>Standardflag</comment>
+        <translation>Ευχαρίστηση</translation>
     </message>
     <message>
-        <source>Use hide flags</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Χρήση σημαιών που βρίσκονται σε απόκρυψη</translation>
+        <location line="+4"/>
+        <source>Bad</source>
+        <comment>Standardflag</comment>
+        <translation>Δυσαρέσκεια</translation>
     </message>
     <message>
-        <source>&amp;Help</source>
-        <translatorcomment>MainHelp menubar entry</translatorcomment>
-        <translation type="vanished">&amp;Βοήθεια</translation>
+        <location line="+8"/>
+        <source>Oh no!</source>
+        <comment>Standardflag</comment>
+        <translation>Ωχ, όχι!</translation>
     </message>
     <message>
-        <source>Open VYM Documentation (pdf) </source>
-        <translatorcomment>MainHelp action</translatorcomment>
-        <translation type="vanished">Άνοιγμα τεκμηρίωσης του VYM (pdf)</translation>
+        <location line="+40"/>
+        <source>Time critical</source>
+        <comment>Standardflag</comment>
+        <translation>Ο χρόνος είναι σημαντικός</translation>
     </message>
     <message>
-        <source>About VYM</source>
-        <translatorcomment>MainHelp action</translatorcomment>
-        <translation type="vanished">Σχετικά με το VYM</translation>
+        <location line="-3"/>
+        <source>Call...</source>
+        <comment>Standardflag</comment>
+        <translation>Κλήση...</translation>
     </message>
     <message>
-        <source>About QT</source>
-        <translatorcomment>MainHelp action</translatorcomment>
-        <translation type="vanished">Σχετικά με το QT</translation>
+        <location line="-55"/>
+        <source>Idea!</source>
+        <comment>Standardflag</comment>
+        <translation>Ιδέα!</translation>
     </message>
     <message>
-        <source>Remove</source>
-        <translatorcomment>MainContext menu name</translatorcomment>
-        <translation type="vanished">Αφαίρεση</translation>
+        <location line="+25"/>
+        <source>Important</source>
+        <comment>Standardflag</comment>
+        <translation>Σημαντικό</translation>
     </message>
     <message>
-        <source>Save image</source>
-        <translatorcomment>MainContext action</translatorcomment>
-        <translation type="vanished">Αποθήκευση εικόνας</translation>
+        <location line="+5"/>
+        <source>Unimportant</source>
+        <comment>Standardflag</comment>
+        <translation>Ασήμαντο</translation>
     </message>
     <message>
-        <source>&amp;New map</source>
-        <translatorcomment>MainFile menu</translatorcomment>
-        <translation type="vanished">&amp;Νέο διάγραμμα</translation>
+        <location line="+5"/>
+        <source>Very important!</source>
+        <comment>Standardflag</comment>
+        <translation>Πολύ σημαντικό!</translation>
     </message>
     <message>
-        <source>History window</source>
-        <translatorcomment>MainHistoryWidget</translatorcomment>
-        <translation type="vanished">Παράθυρο ιστορικού</translation>
+        <location line="+5"/>
+        <source>Very unimportant!</source>
+        <comment>Standardflag</comment>
+        <translation>Πολύ ασήμαντο!</translation>
     </message>
     <message>
-        <source>&amp;Copy to new map</source>
-        <translatorcomment>MainFile menu</translatorcomment>
-        <translation type="vanished">&amp;Αντιγραφή στο νέο διάγραμμα</translation>
+        <location line="+5"/>
+        <source>I like this</source>
+        <comment>Standardflag</comment>
+        <translation>Μου αρέσει</translation>
     </message>
     <message>
-        <source>E&amp;dit</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Επε&amp;ξεργασία</translation>
+        <location line="+3"/>
+        <source>I do not like this</source>
+        <comment>Standardflag</comment>
+        <translation>Δεν μου αρέσει</translation>
     </message>
     <message>
-        <source>Add mapcenter</source>
-        <translatorcomment>MainCanvas context menu</translatorcomment>
-        <translation type="vanished">Προσθήκη κέντρου διαγράμματος</translation>
+        <location line="+16"/>
+        <source>Rose</source>
+        <comment>Standardflag</comment>
+        <translation>Τριαντάφυλλο</translation>
     </message>
     <message>
-        <source>Sort children</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Ταξινόμηση απόγονων κόμβων</translation>
+        <location line="-61"/>
+        <source>I just love...</source>
+        <comment>Standardflag</comment>
+        <translation>Απλά μου αρέσει...</translation>
     </message>
     <message>
-        <source>Edit local URL...</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Επεξεργασία τοπικού URL...</translation>
+        <location line="+58"/>
+        <source>Surprise!</source>
+        <comment>Standardflag</comment>
+        <translation>Έκπληξη!</translation>
     </message>
     <message>
-        <source>Open linked map in background tab</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Άνοιγμα συνδεδεμένου διαγράμματος σε καρτέλα παρασκηνίου</translation>
+        <location line="-39"/>
+        <source>Dangerous</source>
+        <comment>Standardflag</comment>
+        <translation>Επικίνδυνο</translation>
     </message>
     <message>
-        <source>Property window</source>
-        <translatorcomment>MainDialog to edit properties of selection</translatorcomment>
-        <translation type="vanished">Παράθυρο ιδιοτήτων</translation>
+        <location line="-25"/>
+        <source>Info</source>
+        <comment>Standardflag</comment>
+        <translation>Πληροφορίες</translation>
     </message>
     <message>
-        <source>Select previous</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Επιλογή προηγούμενου</translation>
+        <location line="+55"/>
+        <source>This will help</source>
+        <comment>Standardflag</comment>
+        <translation>Αυτό θα βοηθήσει</translation>
     </message>
     <message>
-        <source>Select next</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Επιλογή επόμενου</translation>
+        <location line="+209"/>
+        <source>Settings</source>
+        <translation>Ρυθμίσεις</translation>
     </message>
     <message>
-        <source>Unselect all</source>
-        <translatorcomment>MainEdit menu</translatorcomment>
-        <translation type="vanished">Αποεπιλογή όλων</translation>
+        <location line="+5"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
+        <translation>Έλεγχος για σημειώσεις έκδοσης και ενημερώσεις</translation>
     </message>
     <message>
-        <source>Select default font</source>
-        <translatorcomment>MainBranch attribute</translatorcomment>
-        <translation type="vanished">Επιλογη προκαθορισμένης γραμματοσειράς</translation>
+        <location line="+14"/>
+        <source>Set application to open pdf files</source>
+        <comment>Settings action</comment>
+        <translation>Ορισμός εφαρμογής για άνοιγμα αρχείων pdf</translation>
     </message>
     <message>
-        <source>Linkstyle Curve</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Καμπύλη γραμμή σύνδεσης</translation>
+        <location line="+7"/>
+        <source>Set application to open external links</source>
+        <comment>Settings action</comment>
+        <translation>Ορισμός εφαρμογής για άνοιγμα εξωτερικών συνδέσμων</translation>
     </message>
     <message>
-        <source>Linkstyle Thick Curve</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Παχια καμπύλη γραμμή σύνδεσης</translation>
+        <location line="+6"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
+        <translation>Ορισμός εφαρμογής για συμπίεση/αποσυμπίεση αρχείων</translation>
     </message>
     <message>
-        <source>Set &amp;Link Color</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ορισμός χρώματος &amp;σύνδεσης</translation>
+        <location line="+22"/>
+        <source>Set path for macros</source>
+        <comment>Settings action</comment>
+        <translation>Ορισμός διαδρομής για μακροεντολές</translation>
     </message>
     <message>
-        <source>Set &amp;Selection Color</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ορισμός χρώματος &amp;επιλογής</translation>
+        <location line="+4"/>
+        <source>Set number of undo levels</source>
+        <comment>Settings action</comment>
+        <translation>Ορισμός αριθμού αναιρέσεων</translation>
     </message>
     <message>
-        <source>Set &amp;Background image</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ορισμός εικόνας &amp;παρασκηνίου</translation>
+        <location line="+7"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
+        <translation>Αυτόματη αποθήκευση</translation>
     </message>
     <message>
-        <source>Toolbars</source>
-        <translatorcomment>MainToolbars overview in view menu</translatorcomment>
-        <translation type="vanished">Γραμμές εργαλείων</translation>
+        <location line="+6"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
+        <translation>Χρόνος αυτόματης αποθήκευσης</translation>
     </message>
     <message>
-        <source>Rotate counterclockwise</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Αριστερόστροφη περιστροφή</translation>
+        <location line="+12"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
+        <translation>Εγγραφή αρχείου αντίγραφου ασφαλείας για αποθήκευση</translation>
     </message>
     <message>
-        <source>Rotate rclockwise</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Δεξιόστροφη περιστροφή</translation>
+        <location line="+10"/>
+        <source>Select branch after adding it</source>
+        <comment>Settings action</comment>
+        <translation>Επιλογή κλάδου μετά την εισαγωγή του</translation>
     </message>
     <message>
-        <source>Tree editor</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Επεξεργαστής διαγράμματος</translation>
+        <location line="+9"/>
+        <source>Select existing heading</source>
+        <comment>Settings action</comment>
+        <translation>Επιλογή υπάρχουσας κεφαλίδας</translation>
     </message>
     <message>
-        <source>Task editor</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Επεξεργαστής εργασιών</translation>
+        <location line="+7"/>
+        <source>Exclusive flags</source>
+        <comment>Settings action</comment>
+        <translation>Αποκλειστικές σημαίες</translation>
     </message>
     <message>
-        <source>Slide editor</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Επεξεργαστής διαφανειών</translation>
+        <location line="+7"/>
+        <source>Use hide flags</source>
+        <comment>Settings action</comment>
+        <translation>Χρήση σημαιών που βρίσκονται σε απόκρυψη</translation>
     </message>
     <message>
-        <source>Script editor</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Επεξεργαστής σεναρίων</translation>
+        <location line="+32"/>
+        <source>Animation</source>
+        <comment>Settings action</comment>
+        <translation>Κινούμενη απεικόνιση</translation>
     </message>
     <message>
-        <source>History Window</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Παράθυρο ιστορικού</translation>
+        <location line="+7"/>
+        <source>Automatic layout</source>
+        <comment>Settings action</comment>
+        <translation>Αυτόματη διάταξη</translation>
     </message>
     <message>
-        <source>Antialiasing</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Εξομάλυνση</translation>
+        <location line="+11"/>
+        <source>Test</source>
+        <translation>Δοκιμή</translation>
     </message>
     <message>
-        <source>Smooth pixmap transformations</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Εξομάλυνση μετασχηματισμών εικονοστοιχείων </translation>
+        <location line="+28"/>
+        <source>&amp;Help</source>
+        <comment>Help menubar entry</comment>
+        <translation>&amp;Βοήθεια</translation>
     </message>
     <message>
-        <source>Next Map</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Επόμενο διάγραμμα</translation>
+        <location line="+3"/>
+        <source>Open VYM Documentation (pdf) </source>
+        <comment>Help action</comment>
+        <translation>Άνοιγμα τεκμηρίωσης του VYM (pdf)</translation>
     </message>
     <message>
-        <source>Previous Map</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Προηγούμενο διάγραμμα</translation>
+        <location line="+4"/>
+        <source>Open VYM example maps </source>
+        <comment>Help action</comment>
+        <translation>Άνοιγμα διαγραμμάτων (παραδείγματα) του VYM</translation>
     </message>
     <message>
-        <source>Next slide</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Επόμενη διαφάνεια</translation>
+        <location line="+5"/>
+        <source>Download and show release notes</source>
+        <comment>Help action</comment>
+        <translation>Λήψη και εμφάνιση σημειώσεων έκδοσης</translation>
     </message>
     <message>
-        <source>Previous slide</source>
-        <translatorcomment>MainView action</translatorcomment>
-        <translation type="vanished">Προηγούμενη διαφάνεια</translation>
+        <location line="+4"/>
+        <source>Check, if updates are available</source>
+        <comment>Help action</comment>
+        <translation>Έλεγχος για πιθανές ενημερώσεις</translation>
     </message>
     <message>
-        <source>Note</source>
-        <translatorcomment>MainSystemFlag</translatorcomment>
-        <translation type="vanished">Σημείωση</translation>
+        <location line="+5"/>
+        <source>Show keyboard shortcuts</source>
+        <comment>Help action</comment>
+        <translation>Εμφάνιση συντομεύσεων πληκτρολογίου</translation>
     </message>
     <message>
-        <source>URL to Document </source>
-        <translatorcomment>MainSystemFlag</translatorcomment>
-        <translation type="vanished">URL προς έγγραφο</translation>
+        <location line="+20"/>
+        <source>About VYM</source>
+        <comment>Help action</comment>
+        <translation>Σχετικά με το VYM</translation>
     </message>
     <message>
-        <source>Link to another vym map</source>
-        <translatorcomment>MainSystemFlag</translatorcomment>
-        <translation type="vanished">Σύνδεσμος προς άλλο διάγραμμα VYM</translation>
+        <location line="-4"/>
+        <source>About QT</source>
+        <comment>Help action</comment>
+        <translation>Σχετικά με το QT</translation>
     </message>
     <message>
-        <source>subtree is scrolled</source>
-        <translatorcomment>MainSystemFlag</translatorcomment>
-        <translation type="vanished">Το υπο-δέντρο είναι κυλιόμενο</translation>
+        <location line="+21"/>
+        <source>Add</source>
+        <translation>Προσθήκη</translation>
     </message>
     <message>
-        <source>subtree is temporary scrolled</source>
-        <translatorcomment>MainSystemFlag</translatorcomment>
-        <translation type="vanished">Το υπο-δέντρο είναι προσωρινά κυλιόμενο</translation>
+        <location line="+13"/>
+        <source>Remove</source>
+        <comment>Context menu name</comment>
+        <translation>Αφαίρεση</translation>
     </message>
     <message>
-        <source>Hide object in exported maps</source>
-        <translatorcomment>MainSystemFlag</translatorcomment>
-        <translation type="vanished">Απόκρυψη αντικειμένου στα εξαγόμενα διαγράμματα</translation>
+        <location line="+18"/>
+        <source>Tasks</source>
+        <comment>Context menu</comment>
+        <translation>Εργασίες</translation>
     </message>
     <message>
-        <source>I just love...</source>
-        <translatorcomment>MainStandardflag</translatorcomment>
-        <translation type="vanished">Απλά μου αρέσει...</translation>
+        <location line="+20"/>
+        <source>References (URLs, vymLinks, ...)</source>
+        <comment>Context menu name</comment>
+        <translation>Παραπομπές (URLs, vymLinks, ...)</translation>
     </message>
     <message>
-        <source>Priority</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Προτεραιότητα</translation>
+        <location line="+20"/>
+        <source>XLinks</source>
+        <comment>Menu for file actions</comment>
+        <translation>XLinks</translation>
     </message>
     <message>
-        <source>Back</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Πίσω</translation>
+        <location line="+3"/>
+        <source>Edit XLink</source>
+        <comment>Context menu name</comment>
+        <translation>Επεξεργασία:XLink</translation>
     </message>
     <message>
-        <source>Look here</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Δείτε εδώ</translation>
+        <location line="+4"/>
+        <source>Follow XLink</source>
+        <comment>Context menu</comment>
+        <translation>Παρακολούθηση XLink</translation>
     </message>
     <message>
-        <source>Flag</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Σημαία</translation>
+        <location line="+7"/>
+        <source>Follow XLink</source>
+        <comment>Context menu name</comment>
+        <translation>Παρακολούθηση XLink</translation>
     </message>
     <message>
-        <source>Home</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Αρχική</translation>
+        <location line="+6"/>
+        <source>Save image</source>
+        <comment>Context action</comment>
+        <translation>Αποθήκευση εικόνας</translation>
     </message>
     <message>
-        <source>Telephone</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Τηλέφωνο</translation>
+        <location line="+108"/>
+        <source>File actions toolbar</source>
+        <comment>Toolbar for file actions</comment>
+        <translation>Βασικά εργαλεία για τα αρχεία</translation>
     </message>
     <message>
-        <source>Music</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Μουσική</translation>
+        <location line="+9"/>
+        <source>Undo and clipboard toolbar</source>
+        <comment>Toolbar for redo/undo and clipboard</comment>
+        <translation>Εργαλειοθήκη αναιρέσεων και πρόχειρου</translation>
     </message>
     <message>
-        <source>Mailbox</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Γραμματοκιβώτιο</translation>
+        <location line="+10"/>
+        <source>Edit actions toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation>Εργαλειοθήκη επεξεργασίας</translation>
     </message>
     <message>
-        <source>Maix</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Maix</translation>
+        <location line="+19"/>
+        <source>Selection toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation>Εργαλειοθήκη επιλογών</translation>
     </message>
     <message>
-        <source>Password</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Κωδικός πρόσβασης</translation>
+        <location line="+9"/>
+        <source>URLs and vymLinks toolbar</source>
+        <comment>Toolbar for URLs and vymlinks</comment>
+        <translation>Εργαλειοθήκη URLs και vymLinks</translation>
     </message>
     <message>
-        <source>To be improved</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Να βελτιωθεί</translation>
+        <location line="+6"/>
+        <source>Colors toolbar</source>
+        <comment>Colors toolbar name</comment>
+        <translation>Γραμμή εργαλείων χρωμάτων</translation>
     </message>
     <message>
-        <source>Stop</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Σταμάτημα</translation>
+        <location line="+59"/>
+        <source>Editors toolbar</source>
+        <comment>Editor Toolbar name</comment>
+        <translation>Εργαλειοθήκη επεξεργαστών</translation>
     </message>
     <message>
-        <source>Magic</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Μαγικό</translation>
+        <location line="+12"/>
+        <source>Modifier modes toolbar</source>
+        <comment>Modifier Toolbar name</comment>
+        <translation>Εργαλειοθήκη μετατροπέα κατάστασης</translation>
     </message>
     <message>
-        <source>To be discussed</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Να συζητηθεί</translation>
+        <location line="+248"/>
+        <source>The map %1
+is already opened.Opening the same map in multiple editors may lead 
+to confusion when finishing working with vym.Do you want to</source>
+        <translation>Το διάγραμμα %1
+είναι ήδη ανοιχτό. Το άνοιγμα ενός διαγράμματος σε πολλαπλούς επεξεργαστές είναι
+πιθανόν να οδηγήσει σε σύγχυση όταν ολοκληρωθεί η εργασία στο VYM. Τι θελετε
+να κάνετε;</translation>
     </message>
     <message>
-        <source>Reminder</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Υπενθύμιση</translation>
+        <location line="+9"/>
+        <source>Open anyway</source>
+        <translation>Άνοιγμα οπωσδήποτε</translation>
     </message>
     <message>
-        <source>Excellent</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Εξαιρετικό</translation>
+        <location line="+1"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
+        <source>Cancel</source>
+        <translation>Άκυρο</translation>
     </message>
     <message>
-        <source>Linux</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Linux</translation>
+        <location line="-366"/>
+        <source>This map does not exist:
+  %1
+Do you want to create a new one?</source>
+        <translation>Αυτό το διάγραμμα δεν υπάρχει:
+  %1
+Θέλετε να δημιουργήσετε ένα νέο;</translation>
     </message>
     <message>
-        <source>Sweet</source>
-        <translatorcomment>MainFreemind-Flag</translatorcomment>
-        <translation type="vanished">Γλυκό</translation>
+        <location line="+7"/>
+        <source>Create</source>
+        <translation>Δημιουργία</translation>
     </message>
     <message>
-        <source>Settings</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ρυθμίσεις</translation>
+        <location line="+41"/>
+        <source>Loading: %1</source>
+        <comment>Progress dialog while loading maps</comment>
+        <translation>Φόρτωση: %1</translation>
     </message>
     <message>
-        <source>Check for release notes and updates</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Έλεγχος για σημειώσεις έκδοσης και ενημερώσεις</translation>
+        <location line="+45"/>
+        <source>Load vym map</source>
+        <translation>Φόρτωση διαγράμματος VYM</translation>
     </message>
     <message>
-        <source>Set application to zip/unzip files</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Ορισμός εφαρμογής για συμπίεση/αποσυμπίεση αρχείων</translation>
+        <location line="+6"/>
+        <source>Import: Add vym map to selection</source>
+        <translation>Εισαγωγή: Προσθήκη διαγράμματος VYM στην επιλογή</translation>
     </message>
     <message>
-        <source>Set path for macros</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Ορισμός διαδρομής για μακροεντολές</translation>
+        <location line="+4"/>
+        <source>Import: Replace selection with vym map</source>
+        <translation>Εισαγωγή: Αντικατάσταση επιλογής με διάγραμμα VYM</translation>
     </message>
     <message>
-        <source>Set number of undo levels</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Ορισμός αριθμού αναιρέσεων</translation>
+        <location line="+5"/>
+        <source>or</source>
+        <comment>File Dialog</comment>
+        <translation>ή</translation>
     </message>
     <message>
-        <source>Autosave</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Αυτόματη αποθήκευση</translation>
+        <location line="+116"/>
+        <source>Saved  %1</source>
+        <translation>Αποθηκεύτηκε: %1</translation>
     </message>
     <message>
-        <source>Autosave time</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Χρόνος αυτόματης αποθήκευσης</translation>
+        <location line="+4"/>
+        <source>Couldn&apos;t save </source>
+        <translation>Δεν αποθηκεύτηκε</translation>
     </message>
     <message>
-        <source>Write backup file on save</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Εγγραφή αρχείου αντίγραφου ασφαλείας για αποθήκευση</translation>
+        <location line="+23"/>
+        <source>Save map as</source>
+        <translation>Αποθήκευση διαγράμματος ως</translation>
     </message>
     <message>
-        <source>Task editor: Set number of parents</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Επεξεργαστής εργασιών: ορισμός αριθμού πρόγονων κόμβων</translation>
-    </message>
-    <message>
-        <source>Animation</source>
-        <translatorcomment>MainSettings action</translatorcomment>
-        <translation type="vanished">Κινούμενη απεικόνιση</translation>
-    </message>
-    <message>
-        <source>Open VYM example maps </source>
-        <translatorcomment>MainHelp action</translatorcomment>
-        <translation type="vanished">Άνοιγμα διαγραμμάτων (παραδείγματα) του VYM</translation>
-    </message>
-    <message>
-        <source>Download and show release notes</source>
-        <translatorcomment>MainHelp action</translatorcomment>
-        <translation type="vanished">Λήψη και εμφάνιση σημειώσεων έκδοσης</translation>
+        <location line="+16"/>
+        <location line="+92"/>
+        <source>The file %1
+exists already. Do you want to</source>
+        <translation>Το αρχείο %1 υπάρχει ήδη.
+Θέλετε να αντικατασταθεί;</translation>
     </message>
     <message>
-        <source>Check, if updates are available</source>
-        <translatorcomment>MainHelp action</translatorcomment>
-        <translation type="vanished">Έλεγχος για πιθανές ενημερώσεις</translation>
+        <location line="-87"/>
+        <source>Overwrite</source>
+        <translation>Αντικατάσταση</translation>
     </message>
     <message>
-        <source>Show keyboard shortcuts</source>
-        <translatorcomment>MainHelp action</translatorcomment>
-        <translation type="vanished">Εμφάνιση συντομεύσεων πληκτρολογίου</translation>
+        <location line="+175"/>
+        <location line="+54"/>
+        <location line="+1"/>
+        <source>Import</source>
+        <translation>Εισαγωγή</translation>
     </message>
     <message>
-        <source>References (URLs, vymLinks, ...)</source>
-        <translatorcomment>MainContext menu name</translatorcomment>
-        <translation type="vanished">Παραπομπές (URLs, vymLinks, ...)</translation>
+        <location line="+62"/>
+        <source>Export as CSV</source>
+        <translation>Εξαγωγή ως CSV</translation>
     </message>
     <message>
-        <source>XLinks</source>
-        <translatorcomment>MainMenu for file actions</translatorcomment>
-        <translation type="vanished">XLinks</translation>
+        <location line="+37"/>
+        <location line="+68"/>
+        <source>Export to</source>
+        <translation>Εξαγωγή σε</translation>
     </message>
     <message>
-        <source>Undo and clipboard toolbar</source>
-        <translatorcomment>MainToolbar for redo/undo and clipboard</translatorcomment>
-        <translation type="vanished">Εργαλειοθήκη αναιρέσεων και πρόχειρου</translation>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
+        <source>Warning</source>
+        <translation>Προειδοποίηση</translation>
     </message>
     <message>
-        <source>Selection toolbar</source>
-        <translatorcomment>MainToolbar name</translatorcomment>
-        <translation type="vanished">Εργαλειοθήκη επιλογών</translation>
+        <location line="-2934"/>
+        <source>Couldn&apos;t find configuration for export to LibreOffice
+</source>
+        <translation>Αδυναμία εντοπισμού ρυθμίσεων για εξαγωγή σε LibreOffice</translation>
     </message>
     <message>
-        <source>URLs and vymLinks toolbar</source>
-        <translatorcomment>MainToolbar for URLs and vymlinks</translatorcomment>
-        <translation type="vanished">Εργαλειοθήκη URLs και vymLinks</translation>
+        <location line="+88"/>
+        <source>The map %1 has been modified but not saved yet. Do you want to</source>
+        <translation>Το διάγραμμα %1 έχει τροποποιηθεί, αλλά δεν
+έχει ακόμη αποθηκευτεί. Τι θέλετε να γίνει;</translation>
     </message>
     <message>
-        <source>Colors toolbar</source>
-        <translatorcomment>MainColors toolbar name</translatorcomment>
-        <translation type="vanished">Γραμμή εργαλείων χρωμάτων</translation>
+        <location line="+6"/>
+        <source>Save modified map before closing it</source>
+        <translation>Αποθήκευση τροποποιημένου διαγράμματος πριν το κλείσιμο</translation>
     </message>
     <message>
-        <source>or</source>
-        <translatorcomment>MainFile Dialog</translatorcomment>
-        <translation type="vanished">ή</translation>
+        <location line="+1"/>
+        <source>Discard changes</source>
+        <translation>Απόρριψη αλλαγών</translation>
     </message>
     <message>
-        <source>Save map as</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αποθήκευση διαγράμματος ως</translation>
+        <location line="+106"/>
+        <location line="+2345"/>
+        <source>Couldn&apos;t find a viewer to open %1.
+</source>
+        <translation>Αδυναμία εύρεσης εφαρμογής προβολης για ανοιγμα του %1.</translation>
     </message>
     <message>
-        <source>Load Freemind map</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Φόρτωση διαγράμματος Freemind</translation>
+        <location line="-2344"/>
+        <location line="+2345"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>Παρακαλώ χρησιμοποιήστε τις Ρυθμίσεις-&gt;</translation>
     </message>
     <message>
-        <source>Export as CSV</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Εξαγωγή ως CSV</translation>
+        <location line="-2344"/>
+        <location line="+1260"/>
+        <source>Set application to open an URL</source>
+        <translation>Ορισμός μιας εφαρμογής για άνοιγμα URL</translation>
     </message>
     <message>
+        <location line="-1197"/>
         <source>Enter URL:</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Εισαγωγή URL:</translation>
+        <translation>Εισαγωγή URL:</translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>HTML</source>
-        <translatorcomment>MainFiledialog</translatorcomment>
-        <translation type="vanished">HTML</translation>
+        <comment>Filedialog</comment>
+        <translation>HTML</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Text</source>
-        <translatorcomment>MainFiledialog</translatorcomment>
-        <translation type="vanished">Κείμενο</translation>
+        <comment>Filedialog</comment>
+        <translation>Κείμενο</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Spreadsheet</source>
-        <translatorcomment>MainFiledialog</translatorcomment>
-        <translation type="vanished">Φύλλο δεδομένων</translation>
+        <comment>Filedialog</comment>
+        <translation>Φύλλο δεδομένων</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Textdocument</source>
-        <translatorcomment>MainFiledialog</translatorcomment>
-        <translation type="vanished">Έγγραφο κειμένου</translation>
+        <comment>Filedialog</comment>
+        <translation>Έγγραφο κειμένου</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Images</source>
-        <translatorcomment>MainFiledialog</translatorcomment>
-        <translation type="vanished">Εικόνες</translation>
+        <comment>Filedialog</comment>
+        <translation>Εικόνες</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Set URL to a local file</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Ορισμός URL για ένα τοπικό αρχείο</translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Σύνδεσμος προς άλλο διάγραμμα</translation>
-    </message>
-    <message>
-        <source>%1 items on map
-</source>
-        <translatorcomment>MainInfo about map</translatorcomment>
-        <translation type="vanished">%1 αντικείμενα στο διάγραμμα</translation>
-    </message>
-    <message>
-        <source>Directory with vym macros:</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Φάκελος με μακροεντολές VYM:</translation>
-    </message>
-    <message>
-        <source>Number of undo/redo levels:</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αριθμός αναιρέσεων/ακύρωσης αναιρέσεων:</translation>
-    </message>
-    <message>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Οι ρυθμίσεις άλλαξαν. Το επόμενο διάγραμμα θα έχει %1 επίπεδα αναιρέσεων/ακύρωσης αναιρέσεων</translation>
-    </message>
-    <message>
-        <source>Number of seconds before autosave:</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Δευτερόλεπτα πριν την αυτόματη αποθήκευση:</translation>
-    </message>
-    <message>
-        <source>Number of parents shown for a task:</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αριθμός πρόγονων κόμβων που εμφανιζονται για κάθε εργασία:</translation>
-    </message>
-    <message>
-        <source>History for %1</source>
-        <translatorcomment>MainWindow Caption</translatorcomment>
-        <translation type="vanished">Ιστορικό για %1</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης της τεκμηρίωσης %1 στο:
-%2</translation>
-    </message>
-    <message>
-        <source>Load vym example map</source>
-        <translatorcomment>Main</translatorcomment>
-        <translation type="vanished">Φόρτωση  διαγράμματος VYM ως παράδειγμα</translation>
-    </message>
-    <message>
-        <source>Map Editor</source>
-        <translatorcomment>MapEditorShortcut scope</translatorcomment>
-        <translation type="vanished">Επεξεργαστής διαγράμματος</translation>
+        <translation>Ορισμός URL για ένα τοπικό αρχείο</translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <translatorcomment>MapEditorMapEditor</translatorcomment>
-        <translation type="vanished">Επεξεργασία κεφαλίδας</translation>
+        <location line="-1056"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
+        <source>Critical Error</source>
+        <translation>Κρίσιμο σφάλμα</translation>
     </message>
     <message>
-        <source>Save</source>
-        <translatorcomment>MapEditorMapEditor</translatorcomment>
-        <translation type="vanished">Αποθήκευση</translation>
+        <location line="+1"/>
+        <source>Couldn&apos;t open map %1</source>
+        <translation>Αδυναμία ανοίγματος του διαγράμματος %1</translation>
     </message>
     <message>
-        <source>Print vym map</source>
-        <translatorcomment>MapEditorMapEditor</translatorcomment>
-        <translation type="vanished">Εκτύπωση διαγράμματος VYM</translation>
+        <location line="+171"/>
+        <source>Couldn&apos;t set sleep time to %1.
+</source>
+        <translation>Αδυναμία ορισμού χρόνου ύπνου σε %1.</translation>
     </message>
     <message>
-        <source>Critical Export Error</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Κρίσιμο σφάλμα εξαγωγής</translation>
+        <location line="+28"/>
+        <source>%1 items on map
+</source>
+        <comment>Info about map</comment>
+        <translation>%1 αντικείμενα στο διάγραμμα</translation>
     </message>
     <message>
-        <source>Could not write %1</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία εγγραφής του %1</translation>
+        <location line="+830"/>
+        <location line="+1097"/>
+        <source>Set application to open PDF files</source>
+        <translation>Ορισμός εφαρμογής για άνοιγμα αρχείων PDF</translation>
     </message>
     <message>
-        <source>Exporting to %1 will overwrite the existing file:
-%2</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Η εξαγωγή του %1 θα αντικαταστήσει το υπάρχον αρχείο:
-%2</translation>
+        <location line="-1046"/>
+        <source>Number of undo/redo levels:</source>
+        <translation>Αριθμός αναιρέσεων/ακύρωσης αναιρέσεων:</translation>
     </message>
     <message>
-        <source>Warning: Overwriting file</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Προειδοποίηση: το αρχείο θα αντικατασταθεί</translation>
+        <location line="+4"/>
+        <source>VYM -Information:</source>
+        <translation>Πληροφορίες για το VYM:</translation>
     </message>
     <message>
-        <source>Contents:</source>
-        <translatorcomment>QObjectUsed in HTML export</translatorcomment>
-        <translation type="vanished">Περιεχόμενα:</translation>
+        <location line="+1"/>
+        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <translation>Οι ρυθμίσεις άλλαξαν. Το επόμενο διάγραμμα θα έχει %1 επίπεδα αναιρέσεων/ακύρωσης αναιρέσεων</translation>
     </message>
     <message>
-        <source>Export aborted.</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Η εξαγωγή ματαιώθηκε.</translation>
+        <location line="+40"/>
+        <source>Number of seconds before autosave:</source>
+        <translation>Δευτερόλεπτα πριν την αυτόματη αποθήκευση:</translation>
     </message>
     <message>
-        <source>Trying to create directory for flags:</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Προσπάθεια δημιουργίας φακέλου για τις σημαίες:</translation>
+        <location line="+67"/>
+        <source>Number of parents shown for a task:</source>
+        <translation>Αριθμός πρόγονων κόμβων που εμφανιζονται για κάθε εργασία:</translation>
     </message>
     <message>
-        <source>Could not create %1</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία δημιουργίας του %1</translation>
+        <location line="-2404"/>
+        <source>(readonly)</source>
+        <translation>(μόνο για ανάγνωση)</translation>
     </message>
     <message>
-        <source>Critical</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Κρίσιμο</translation>
+        <location line="+2857"/>
+        <source>History for %1</source>
+        <comment>Window Caption</comment>
+        <translation>Ιστορικό για %1</translation>
     </message>
     <message>
-        <source>Could not find stylesheet %1</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης stylesheet %1</translation>
+        <location line="+23"/>
+        <source>Export in last used format (%1) to: %2</source>
+        <comment>status tip</comment>
+        <translation>Εξαγωγή στη τελευταία χρησιμοποιούμενη μορφή (%1) σε: %2</translation>
     </message>
     <message>
-        <source>Error</source>
-        <translatorcomment>QObjectExportHTML</translatorcomment>
-        <translation type="vanished">Σφάλμα</translation>
+        <location line="+440"/>
+        <source>Critcal error</source>
+        <translation>Κρίσιμο σφάλμα</translation>
     </message>
     <message>
-        <source>Could not copy
-%1 to
+        <location line="+1"/>
+        <source>Couldn&apos;t find the documentation %1 in:
 %2</source>
-        <translatorcomment>QObjectExportHTML</translatorcomment>
-        <translation type="vanished">Αδυναμία αντιγραφής του
-%1 στο
+        <translation>Αδυναμία εύρεσης της τεκμηρίωσης %1 στο:
 %2</translation>
     </message>
     <message>
-        <source>Could not copy %1 to %2</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία αντιγραφής του %1 στο %2</translation>
-    </message>
-    <message>
-        <source>Trying to save HTML file:</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Προσπάθεια αποθήκευσης του HTML αρχείου:</translation>
-    </message>
-    <message>
-        <source>Export failed.</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Η εξαγωγή απέτυχε.</translation>
+        <location line="+31"/>
+        <source>Load vym example map</source>
+        <translation>Φόρτωση  διαγράμματος VYM ως παράδειγμα</translation>
     </message>
     <message>
-        <source>No objects in map!</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Δεν υπάρχουν αντικείμενα στο διάγραμμα!</translation>
+        <location line="+190"/>
+        <source>Please allow vym to download release notes!</source>
+        <translation>Παρακαλώ επιτρέψτε στο VYM να κάνει λήψη των σημειώσεων έκδοσης!</translation>
     </message>
     <message>
-        <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία ανάγνωσης ρυθμίσεων από το &quot;%1&quot;</translation>
+        <location line="+62"/>
+        <source>Allow</source>
+        <translation>Επιτρέπεται</translation>
     </message>
     <message>
-        <source>Check &quot;%1&quot; in
-%2</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Έλεγχος &quot;%1&quot; στο
-%2</translation>
+        <location line="+1"/>
+        <source>Do not allow</source>
+        <translation>Δεν επιτρέπεται</translation>
     </message>
     <message>
-        <source>Could not read %1</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία ανάγνωσης του %1</translation>
+        <location line="+5"/>
+        <source>Thank you for enabling downloads!</source>
+        <translation>Ευχαριστούμε που ενεργοποιήσατε τις λήψεις!</translation>
     </message>
     <message>
-        <source>Couldn&apos;t move existing file out of the way before saving.</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία μετακίνησης υπάρχοντος αρχείου εκτός διαδρομής πριν την αποθήκευση.</translation>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation>Δεν πειράζει, αν και θα χαιρόμουν να δω πολλούς χρήστες να δουλεύουν με το vym και επίσης σε ποια λειτουργικά συστήματα.</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start tool to decompress data.</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία εκτέλεσης εφαρμογής για την αποσυμπίεση των δεδομένων.</translation>
+        <location line="+24"/>
+        <source>Update information</source>
+        <translation>Πληροφορίες ενημερώσεων</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία εκκίνησης εφαρμογής για τη συμπίεση των δεδομένων.</translation>
+        <location line="+4"/>
+        <source>vym is up to date.</source>
+        <comment>MainWindow</comment>
+        <translation>Το VYM είναι ενημερωμένο.</translation>
     </message>
     <message>
-        <source>zip didn&apos;t exit normally</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Η εφαρμογή συμπίεσης δεν έκλεισε κανονικά</translation>
+        <location line="+48"/>
+        <source>Checking for updates...</source>
+        <comment>MainWindow</comment>
+        <translation>Έλεγχος για ενημερώσεις...</translation>
     </message>
     <message>
-        <source>Couldn&apos;t rename %1 back to %2</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία μετονομασιας %1 πάλι σε %2</translation>
+        <location line="+30"/>
+        <source>Please allow vym to check for updates!</source>
+        <translation>Παρακαλώ, να επιτρέψετε στο VYM να κάνει έλεγχο ενημερώσεων!</translation>
     </message>
     <message>
-        <source>Saved %1, but couldn&apos;t remove %2</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αποθήκευση του %1, αλλά αδυναμία αφαίρεσης του %2</translation>
+        <location line="-4443"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation>Ορισμός συγγραφέα για νέα διαγράμματα</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία εκκίνησης εφαρμογής για την αποσυμπίεση των δεδομένων.</translation>
+        <location line="+121"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation>Αριθμός ορατών γονικών κόμβων στον επεξεργαστή εργασιών</translation>
     </message>
     <message>
-        <source>unzip didn&apos;t exit normally</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Η εφαρμογή αποσυμπίεσης δεν έκλεισε κανονικά</translation>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation>Αριθμός ορατών γονικών κόμβων στο παράθυρο αποτελεσμάτων εύρεσης</translation>
     </message>
     <message>
-        <source>Could not start %1</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία εκκίνησης του %1</translation>
+        <location line="+2938"/>
+        <source>Set author for new maps (used in lockfile)</source>
+        <translation>Ορισμός συγγραφέα για νέα διαγράμματα (χρησιμοποιείται στο αρχείο κλειδώματος)</translation>
     </message>
     <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Η εφαρμογή %1 δεν έκλεισε κανονικα</translation>
+        <location line="+45"/>
+        <source>Number of parents shown in find results:</source>
+        <translation>Αριθμός γονικών κόμβων που εμφανίζονται στο παράθυρο αποτελεσμάτων:</translation>
     </message>
     <message>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Η εξαγωγή των σελιδοδεικτών %1 θα αντικαταστήσει
-το υπάρχον αρχείο με τους σελιδοδείκτες.</translation>
+        <location line="-4893"/>
+        <source>Webpage (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation>Ιστοσελίδα (HTML)...</translation>
     </message>
     <message>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Προειδοποίηση: θα γινει αντικατάσταση των σελιδοδεικτών %1</translation>
+        <location line="+21"/>
+        <source>Text (ASCII)...</source>
+        <comment>File export menu</comment>
+        <translation>Κείμενο (ASCII)...</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης σεναρίου %1
-για γνωστοποίηση των περιηγητών σχετικά με τις αλλαγές των σελιδοδεικτών.</translation>
+        <location line="+12"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
+        <translation>Κείμενο με εργασίες</translation>
     </message>
     <message>
-        <source>Couldn&apos;t access temporary directory
-</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία πρόσβασης του προσωρινού φακελου</translation>
+        <location line="+4818"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation>Άγνωστος χρήστης</translation>
     </message>
     <message>
-        <source>Export as ASCII</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Εξαγωγή ως ASCII</translation>
+        <location line="-4811"/>
+        <source>Text (A&amp;O report)...</source>
+        <comment>Export format</comment>
+        <translation>Κείμενο (Α&amp;Ο αναφορά)...</translation>
     </message>
     <message>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <translatorcomment>QObjectwrite directory</translatorcomment>
-        <translation type="vanished">Ο φάκελος %1 δεν είναι άδειος.
-Θα διακινδυνέψετε την αντικατάσταση των περιεχομένων του;</translation>
+        <location line="+1957"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
+        <translation>Πληροφορίες αποσφαλμάτωσης</translation>
     </message>
     <message>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
+        <location line="+976"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
 
-</source>
-        <translatorcomment>QObjectVymModel, how to install Bugzilla client module</translatorcomment>
-        <translation type="vanished">Δεν βρέθηκε πελάτης Bugzilla. Για το openSUSE μπορείτε να κάνετε εγκατάσταση με (εκτέλεση ως διαχειριστής):</translation>
-    </message>
-    <message>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <translatorcomment>QObjectVymModel, how to install Bugzilla client module</translatorcomment>
-        <translation type="vanished">Εναλλακτικά, μπορείτε να προσθέσετε το αποθετήριο
-και να εγκαταστήσετε το άρθρωμα perl για πρόσβαση στο Bugzilla χρησιμοποιώντας το YaST</translation>
-    </message>
-    <message>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <translatorcomment>QObjectVymModel</translatorcomment>
-        <translation type="vanished">Προειδοποίηση: δεν βρέθηκε πελάτης Bugzilla</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης εφαρμογής για αποσυμπίεση δεδομένων. Παρακαλώ, κάντε λήψη και εγκαταστήστε την εφαρμογή 7z και ορίστε τη διαδρομή στο μενού των ρυθμίσεων:</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία ανοίγματος &quot;%1&quot;
-%2.</translation>
-    </message>
-    <message>
-        <source>Warning: Version Problem</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Προειδοποίηση: πρόβλημα με την έκδοση</translation>
-    </message>
-    <message>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">&lt;h3&gt;Η έκδοση αυτού του διαγράμματος είναι νεότερη από το VYM&lt;/h3&gt;&lt;p&gt;Το διάγραμμα που προσπαθείτε να φορτώσετε αποθηκεύτηκε με την έκδοση %1 του VYM. Η έκδοση του VYM που εκτελείται αυτή τη στιγμή ειναι %2. Εάν αντιμετωπίσετε προβλήματα μετά το πάτημα του πλήκτρου &quot;εντάξει&quot;, η ενημέρωση του VYM θα βοηθήσει.&lt;/p&gt;</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης μακροεντολης στο %1.</translation>
-    </message>
-    <message>
-        <source>Set directory for vym macros</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Ορισμός φακέλου για τις μακροεντολές του VYM</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
-        <translatorcomment>QObject</translatorcomment>
-        <translation type="vanished">Αδυναμία αποθήκευσης &quot;%1&quot;</translation>
+%2</source>
+        <translation>Δεν ήταν δυνατή η αποθήκευση του %1,
+επειδή υπάρχει αρχείο κλειδώματος.</translation>
     </message>
     <message>
-        <source>Form</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Φόρμα</translation>
+        <location line="+877"/>
+        <source>branches</source>
+        <comment>Info about map</comment>
+        <translation>κλάδοι</translation>
     </message>
-    <message>
-        <source>Tab 1</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Καρτέλα 1</translation>
-    </message>
-    <message>
-        <source>Save to selected slide</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Αποθήκευση στην επιλεγμένη διαφάνεια</translation>
-    </message>
-    <message>
-        <source>Run</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Εκτέλεση</translation>
-    </message>
-    <message>
-        <source>Tab 2</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Καρτέλα 2</translation>
-    </message>
-    <message>
-        <source>Current key:</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Τρέχον κλειδί:</translation>
-    </message>
-    <message>
-        <source>Load</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Φόρτωση</translation>
-    </message>
-    <message>
-        <source>Slide</source>
-        <translatorcomment>ScriptEditorMode in scriptEditor</translatorcomment>
-        <translation type="vanished">Διαφάνεια</translation>
-    </message>
-    <message>
-        <source>Macro</source>
-        <translatorcomment>ScriptEditorMode in scriptEditor</translatorcomment>
-        <translation type="vanished">Μακροεντολή</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t get model to save script into slide!</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Αδυναμία λήψης μοντέλου για αποθήκευση σεναρίου στη διαφάνεια!</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find slide to save script into slide!</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης διαφάνειας για αποθήκευση σεναρίου σε αυτή!</translation>
-    </message>
-    <message>
-        <source>Save script</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Αποθήκευση σεναρίου</translation>
-    </message>
-    <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <translatorcomment>ScriptEditordialog &apos;save as&apos;</translatorcomment>
-        <translation type="vanished">Το αρχείο %1
-υπάρχει ηδη.
-Θέλετε να αντικατασταθεί;</translation>
-    </message>
-    <message>
-        <source>Load script</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Φόρτωση σεναρίου</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translatorcomment>ScriptEditor</translatorcomment>
-        <translation type="vanished">Αδυναμία ανοίγματος του %1.</translation>
-    </message>
-    <message>
-        <source>Current map</source>
-        <translatorcomment>TaskEditorTaskEditor</translatorcomment>
-        <translation type="vanished">Τρέχον διάγραμμα</translation>
-    </message>
-    <message>
-        <source>Active tasks</source>
-        <translatorcomment>TaskEditorTaskEditor</translatorcomment>
-        <translation type="vanished">Ενεργές εργασίες</translation>
-    </message>
-    <message>
-        <source>Prio</source>
-        <translatorcomment>TaskModelTaskEditor</translatorcomment>
-        <translation type="vanished">Προτεραιότητα</translation>
-    </message>
-    <message>
-        <source>Status</source>
-        <translatorcomment>TaskModelTaskEditor</translatorcomment>
-        <translation type="vanished">Κατάσταση</translation>
-    </message>
-    <message>
-        <source>Age total</source>
-        <translatorcomment>TaskModelTaskEditor</translatorcomment>
-        <translation type="vanished">Ηλικία συνολικά</translation>
-    </message>
-    <message>
-        <source>Age mod.</source>
-        <translatorcomment>TaskModelTaskEditor</translatorcomment>
-        <translation type="vanished">Ηλικία mod.</translation>
-    </message>
-    <message>
-        <source>Sleep</source>
-        <translatorcomment>TaskModelTaskEditor</translatorcomment>
-        <translation type="vanished">Ύπνος</translation>
-    </message>
-    <message>
-        <source>Map</source>
-        <translatorcomment>TaskModelTaskEditor</translatorcomment>
-        <translation type="vanished">Διάγραμμα</translation>
-    </message>
-    <message>
-        <source>Task</source>
-        <translatorcomment>TaskModelTaskEditor</translatorcomment>
-        <translation type="vanished">Εργασία</translation>
-    </message>
-    <message>
-        <source>&amp;Import...</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Εισαγωγή...</translation>
-    </message>
-    <message>
-        <source>&amp;Export...</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Εξαγωγή...</translation>
-    </message>
-    <message>
-        <source>Export &amp;As... (HTML)</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Εξαγωγή &amp;ως... (HTML)</translation>
-    </message>
-    <message>
-        <source>Export &amp;As...(ASCII)</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Εξαγωγή &amp;ως... (ASCII)</translation>
-    </message>
-    <message>
-        <source>&amp;Print...</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Εκτύπωση...</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Επεξεργασία</translation>
-    </message>
-    <message>
-        <source>Select and copy &amp;all</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Επιλογή και αντιγραφή &amp;όλων</translation>
-    </message>
-    <message>
-        <source>&amp;Delete All</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Διαγραφή ολων</translation>
-    </message>
-    <message>
-        <source>Texteditor</source>
-        <translatorcomment>TextEditorShortcuts</translatorcomment>
-        <translation type="vanished">Επεξεργαστής κειμένου</translation>
-    </message>
-    <message>
-        <source>Font hints</source>
-        <translatorcomment>TextEditortoolbar in texteditor</translatorcomment>
-        <translation type="vanished">Υποδείξεις γραμματοσειράς</translation>
-    </message>
-    <message>
-        <source>&amp;Font hint</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Υπόδειξη γραμματοσειράς</translation>
-    </message>
-    <message>
-        <source>&amp;Richtext</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Εμπλουτισμένο κείμενο</translation>
-    </message>
-    <message>
-        <source>Fonts</source>
-        <translatorcomment>TextEditortoolbar in texteditor</translatorcomment>
-        <translation type="vanished">Γραμματοσειρές</translation>
-    </message>
-    <message>
-        <source>Format</source>
-        <translatorcomment>TextEditortoolbar in texteditor</translatorcomment>
-        <translation type="vanished">Μορφοποίηση</translation>
-    </message>
-    <message>
-        <source>&amp;Color...</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Χρώμα...</translation>
-    </message>
-    <message>
-        <source>&amp;Bold</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Έντονα</translation>
-    </message>
-    <message>
-        <source>&amp;Italic</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Πλάγια</translation>
-    </message>
-    <message>
-        <source>&amp;Underline</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Υπογράμμιση</translation>
-    </message>
-    <message>
-        <source>&amp;Left</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Αριστερά</translation>
-    </message>
-    <message>
-        <source>C&amp;enter</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Κέντρο</translation>
-    </message>
-    <message>
-        <source>&amp;Right</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Δεξιά</translation>
-    </message>
-    <message>
-        <source>&amp;Justify</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Στοίχιση</translation>
-    </message>
-    <message>
-        <source>&amp;Settings</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Ρυθμίσεις</translation>
-    </message>
-    <message>
-        <source>Set &amp;fixed font</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Ορισμός &amp;σταθερής γραμματοσειράς</translation>
-    </message>
-    <message>
-        <source>Set &amp;variable font</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Ορισμός &amp;γραμματοσειράς μεταβλητών</translation>
-    </message>
-    <message>
-        <source>&amp;fixed font is default</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Η σταθερή γραμματοσειρά είναι η προκαθορισμένη</translation>
-    </message>
-    <message>
-        <source>Export Note to single file</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Εξαγωγή σημείωσης σε ξεχωριστό αρχείο</translation>
-    </message>
-    <message>
-        <source>Export Note to single file (ASCII)</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Εξαγωγή σημείωσης σε ξεχωριστό αρχείο (ASCII)</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <translatorcomment>TextEditorTextEditor</translatorcomment>
-        <translation type="vanished">Εκτύπωση</translation>
-    </message>
-    <message>
-        <source>Subs&amp;cript</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">&amp;Δείκτης</translation>
-    </message>
-    <message>
-        <source>Text Editor</source>
-        <translatorcomment>TextEditorText Editor Window caption</translatorcomment>
-        <translation type="vanished">Επεξεργαστής κειμένου</translation>
-    </message>
-    <message>
-        <source>Su&amp;perscript</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Εκ&amp;θέτης</translation>
-    </message>
-    <message>
-        <source>Edit Actions</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Επεξεργασία ενεργειών</translation>
-    </message>
-    <message>
-        <source>Note Actions</source>
-        <translatorcomment>TextEditor</translatorcomment>
-        <translation type="vanished">Σημειώσεις ενεργειών</translation>
-    </message>
-    <message>
-        <source>Ready</source>
-        <translatorcomment>TextEditorStatusbar message</translatorcomment>
-        <translation type="vanished">Έτοιμο</translation>
-    </message>
-    <message>
-        <source>No filename available for this note.</source>
-        <translatorcomment>TextEditorStatusbar message</translatorcomment>
-        <translation type="vanished">Δεν υπάρχει διαθέσιμο όνομα γι&apos; αυτή τη σημείωση.</translation>
-    </message>
-    <message>
-        <source>&amp;Note</source>
-        <translatorcomment>TextEditorMenubar</translatorcomment>
-        <translation type="vanished">&amp;Σημείωση</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t export note </source>
-        <translatorcomment>TextEditordialog &apos;save note as&apos;</translatorcomment>
-        <translation type="vanished">Αδυναμία εξαγωγής σημείωσης</translation>
-    </message>
-    <message>
-        <source>Select upper object</source>
-        <translatorcomment>TreeEditorTree Editor</translatorcomment>
-        <translation type="vanished">Επιλογή αντικειμένου που βρίσκεται ψηλότερα</translation>
-    </message>
-    <message>
-        <source>Select lower object</source>
-        <translatorcomment>TreeEditorTree Editor</translatorcomment>
-        <translation type="vanished">Επιλογή αντικειμένου που βρίσκεται χαμηλότερα</translation>
-    </message>
-    <message>
-        <source>Critical Parse Error</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Κρίσιμο συντακτικό σφάλμα</translation>
-    </message>
-    <message>
-        <source>Critical Load Error</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Κρίσιμο σφάλμα φόρτωσης</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Αδυναμία δημιουργίας προσωρινού φακέλου πριν τη φόρτωση</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης ενός διαγράμματος (*.xml) στο αρχείο του VYM.</translation>
-    </message>
-    <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Το διάγραμμα %1
-δεν χρησιμοποίησε τη συμπιεσμένη μορφή αρχείου του VYM.
-Κάνοντας εγγραφή ενώ δεν είναι συμπιεσμένο το διάγραμμα,
-θα εγγραφούν εικόνες και σημαίες και έτσι υπάρχει περίπτωση
-να αντικατασταθούν αρχεία στον δοσμένο φάκελο
-
-Θέλετε να κάνετε εγγραφή του διαγράμματος;</translation>
-    </message>
-    <message>
-        <source>compressed (vym default)</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Συμπιεσμένο (προκαθορισμένο του VYM)</translation>
-    </message>
-    <message>
-        <source>uncompressed</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Μη συμπιεσμένο</translation>
-    </message>
-    <message>
-        <source>Save Error</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Αποθήκευση σφάλματος</translation>
-    </message>
-    <message>
-        <source>%1
-could not be removed before saving</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Το %1
-δεν είναι δυνατόν να αφαιρεθεί πριν την αποθήκευση</translation>
-    </message>
-    <message>
-        <source>%1
-could not be renamed before saving</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Το %1
-δεν είναι δυνατόν να μετονομαστεί πριν την αποθήκευση</translation>
-    </message>
-    <message>
-        <source>Critical Save Error</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Κρίσιμο σφάλμα αποθήκευσης</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Αδυναμία δημιουργίας προσωρινού φακέλου πριν την αποθήκευση</translation>
-    </message>
-    <message>
-        <source>All</source>
-        <translatorcomment>VymModelFiledialog</translatorcomment>
-        <translation type="vanished">Όλα</translation>
-    </message>
-    <message>
-        <source>Load image</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Φόρτωση εικόνας</translation>
-    </message>
-    <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Το αρχείο %1 υπάρχει ήδη.
-Θέλετε να το αντικαταστήσετε;</translation>
-    </message>
-    <message>
-        <source>Unsupported format in %1</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Μη υποστηριζόμενη μορφή στο %1</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t save %1</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Αδυναμία αποθήκευσης του %1</translation>
-    </message>
-    <message>
-        <source>Critical Import Error</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Κρίσιμο σφάλμα εισαγωγής</translation>
-    </message>
-    <message>
-        <source>Cannot find the directory %1</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Αδυναμία εύρεσης του φακέλου %1</translation>
-    </message>
-    <message>
-        <source>Choose directory structure to import</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Επιλογή δομής φακέλου για εισαγωγή</translation>
-    </message>
-    <message>
-        <source>The file of the map  on disk has changed:
-
-   %1
-
-Do you want to reload that map with the new file?</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Το αρχείο του διαγράμματος στο δίσκο εχει αλλάξει:
-   %1
-Θέλετε να ξαναφορτώσετε το διάγραμμα με το νέο αρχείο;</translation>
-    </message>
-    <message>
-        <source>Reload</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Επαναφόρτωση</translation>
-    </message>
-    <message>
-        <source>Ignore</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Αγνόηση</translation>
-    </message>
-    <message>
-        <source>Redo failed:
-%1</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Η ακύρωση αναίρεσης απέτυχε:
-%1</translation>
-    </message>
-    <message>
-        <source>Autosave disabled during undo.</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Απενεργοποίηση της αυτόματης αποθήκευσης κατά τη διάρκεια της αναίρεσης.</translation>
-    </message>
-    <message>
-        <source>Contacting Bugzilla...</source>
-        <translatorcomment>VymModelVymModel</translatorcomment>
-        <translation type="vanished">Επικοινωνια με Bugzilla...</translation>
-    </message>
-    <message>
-        <source>Script aborted:
-%1</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Το σενάριο αποβλήθηκε:
-%1</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Εξαγωγή διαγράμματος σε εικόνα</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t save QImage %1 in format %2</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Αδυναμία αποθήκευσης QImage %1 σε μορφή %2</translation>
-    </message>
-    <message>
-        <source>Exported: </source>
-        <translatorcomment>VymModelExport confirmation</translatorcomment>
-        <translation type="vanished">Εξαγόμενο:</translation>
-    </message>
-    <message>
-        <source>Export map as PDF</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Εξαγωγη διαγράμματος ως PDF</translation>
-    </message>
-    <message>
-        <source>Export map as scalable vector graphic</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Εξαγωγή διαγράμματος ως SVG</translation>
-    </message>
-    <message>
-        <source>Export XML to directory</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Εξαγωγή του XML σε φάκελο</translation>
-    </message>
-    <message>
-        <source>Export as csv</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Εξαγωγή ως csv</translation>
-    </message>
-    <message>
-        <source>Load background image</source>
-        <translatorcomment>VymModel</translatorcomment>
-        <translation type="vanished">Φόρτωση εικόνας παρασκηνίου</translation>
-    </message>
-    <message>
-        <source>Tree Editor</source>
-        <translatorcomment>VymViewTitle of dockable editor widget</translatorcomment>
-        <translation type="vanished">Επεξεργαστής κόμβων διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Slide Editor</source>
-        <translatorcomment>VymViewTitle of dockable editor widget</translatorcomment>
-        <translation type="vanished">Επεξεργαστής διαφανειών</translation>
-    </message>
-    <message>
-        <source>showAgainBox</source>
-        <translatorcomment>WarningDialog</translatorcomment>
-        <translation type="vanished">Εμφάνιση AgainBox</translation>
-    </message>
-    <message>
-        <source>Proceed</source>
-        <translatorcomment>WarningDialog</translatorcomment>
-        <translation type="vanished">Πρόοδος</translation>
-    </message>
-    <message>
-        <source>Show this message again</source>
-        <translatorcomment>WarningDialog</translatorcomment>
-        <translation type="vanished">Δείξε αυτό το μήνυμα πάλι</translation>
-    </message>
-</context>
-<context>
-    <name>AboutDialog</name>
-    <message>
-        <source>Ok</source>
-        <comment>Ok Button</comment>
-        <translation>Εντάξει</translation>
-    </message>
-    <message>
-        <source>Credits</source>
-        <comment>Help-&gt;About vym dialog</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>License</source>
-        <comment>Help-&gt;About vym dialog</comment>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>AboutTextBrowser</name>
-    <message>
-        <source>Warning</source>
-        <comment>About window</comment>
-        <translation>Προειδοποίηση</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
-        <comment>About window</comment>
-        <translation>Αδυναμία εύρεσης εφαρμογής προβολης για ανοιγμα του %1.</translation>
-    </message>
-    <message>
-        <source>Please use Settings-&gt;</source>
-        <translation>Παρακαλώ χρησιμοποιήστε τις Ρυθμίσεις-&gt;</translation>
-    </message>
-    <message>
-        <source>Set application to open an URL...</source>
-        <translation>Ορισμός εφαρμογης για άνοιγμα URL...</translation>
-    </message>
-</context>
-<context>
-    <name>BranchPropertyEditor</name>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation>Επεξεργαστής ιδιοτήτων κλαδου</translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation>Πλαίσιο</translation>
-    </message>
-    <message>
-        <source>Geometry</source>
-        <translation>Γεωμετρία</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation>Χωρίς πλαίσιο</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation>Ορθογώνιο</translation>
-    </message>
-    <message>
-        <source>Rounded Rectangle</source>
-        <translation>Ορθογώνιο με καμπύλες γωνίες</translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation>Έλλειψη</translation>
-    </message>
-    <message>
-        <source>Cloud</source>
-        <translation>Σύννεφο</translation>
-    </message>
-    <message>
-        <source>Padding</source>
-        <translation>Γέμισμα</translation>
-    </message>
-    <message>
-        <source>Borderline width</source>
-        <translation>Πλάτος περιγράμματος</translation>
-    </message>
-    <message>
-        <source>Include children</source>
-        <translation>Ένταξη απόγονου</translation>
-    </message>
-    <message>
-        <source>Colors</source>
-        <translation>Χρώματα</translation>
-    </message>
-    <message>
-        <source>Borderline color</source>
-        <translation>Χρώμα περιγράμματος</translation>
-    </message>
-    <message>
-        <source>Background color</source>
-        <translation>Χρώμα παρασκηνίου</translation>
-    </message>
-    <message>
-        <source>Layout</source>
-        <translation>Διάταξη</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <translation>Περιλαμβάνει εικόνες οριζόντια</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <translation>Περιλαμβάνει εικόνες κάθετα</translation>
-    </message>
-    <message>
-        <source>Free positioning of children (experimental!)</source>
-        <translation>Ελεύθερη τοποθέτηση απόγονων (πειραματική λειτουργία)</translation>
-    </message>
-    <message>
-        <source>Link</source>
-        <translation>Σύνδεσμος</translation>
-    </message>
-    <message>
-        <source>Hide link if unselected</source>
-        <translation>Απόκρυψη συνδέσμου εάν δεν είναι επιλεγμένος</translation>
-    </message>
-    <message>
-        <source>Attributes</source>
-        <translation>Χαρακτηριστικά</translation>
-    </message>
-    <message>
-        <source>+</source>
-        <translation>+</translation>
-    </message>
-    <message>
-        <source>-</source>
-        <translation>-</translation>
-    </message>
-    <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation>Επεξεργαστής ιδιοτήτων</translation>
-    </message>
-</context>
-<context>
-    <name>DownloadAgent</name>
-    <message>
-        <source>Warning</source>
-        <translation>Προειδοποίηση</translation>
-    </message>
-</context>
-<context>
-    <name>EditXLinkDialog</name>
-    <message>
-        <source>Edit XLink</source>
-        <translation>Επεξεργασία:XLink</translation>
-    </message>
-    <message>
-        <source>Arrow begin:</source>
-        <translation>Έναρξη βέλους:</translation>
-    </message>
-    <message>
-        <source>XLink width:</source>
-        <translation>Πλατος XLink:</translation>
-    </message>
-    <message>
-        <source>Use color of heading</source>
-        <translation>Χρήση χρώματος κεφαλίδας</translation>
-    </message>
-    <message>
-        <source>XLink color:</source>
-        <translation>Χρώμα XLink:</translation>
-    </message>
-    <message>
-        <source>Use as default:</source>
-        <translation>Χρήση ως προκαθορισμένου:</translation>
-    </message>
-    <message>
-        <source>Line style:</source>
-        <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation>Στυλ γραμμής:</translation>
-    </message>
-    <message>
-        <source>Arrow end:</source>
-        <translation>Τέλος βέλους:</translation>
-    </message>
-    <message>
-        <source>Close</source>
-        <translation>Κλείσιμο</translation>
-    </message>
-</context>
-<context>
-    <name>ExportHTMLDialog</name>
-    <message>
-        <source>Export HTML</source>
-        <translation>Εξαγωγή ως HTML</translation>
-    </message>
-    <message>
-        <source>Export to directory:</source>
-        <translation>Εξαγωγή σε φάκελο:</translation>
-    </message>
-    <message>
-        <source>Browse</source>
-        <translation>Περιήγηση</translation>
-    </message>
-    <message>
-        <source>Options</source>
-        <translation>Επιλογές</translation>
-    </message>
-    <message>
-        <source>Image of map</source>
-        <translation>Εικόνα διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Include images</source>
-        <translation>Συμπερίληψη εικόνων</translation>
-    </message>
-    <message>
-        <source>Table of contents</source>
-        <translation>Πίνακας περιεχομένων</translation>
-    </message>
-    <message>
-        <source>Task flags</source>
-        <translation>Σημαίες εργασιών</translation>
-    </message>
-    <message>
-        <source>General flags</source>
-        <translation>Γενικές σημαίες</translation>
-    </message>
-    <message>
-        <source>Number sections</source>
-        <translation>Τομείς αριθμών</translation>
-    </message>
-    <message>
-        <source>Colored headings in text</source>
-        <translation>Χρωματιστές κεφαλίδες στο κείμενο</translation>
-    </message>
-    <message>
-        <source>Save settings in map</source>
-        <translation>Αποθήκευση ρυθμίσεων διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Stylesheets</source>
-        <translation>Φύλλα δεδομένων</translation>
-    </message>
-    <message>
-        <source>Copy CSS from </source>
-        <translation>Αντιγραφή CSS από</translation>
-    </message>
-    <message>
-        <source>Use CSS from</source>
-        <translation>Χρήση CSS από</translation>
-    </message>
-    <message>
-        <source>Scripts</source>
-        <translation>Σενάρια</translation>
-    </message>
-    <message>
-        <source>After Export:</source>
-        <translation>Μετά την εξαγωγή:</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation>Άκυρο</translation>
-    </message>
-    <message>
-        <source>Export</source>
-        <translation>Εξαγωγή</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <translation>Προειδοποίηση</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run script:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation>Οι ρυθμίσεις που αποθηκεύτηκαν στο διάγραμμα,
-προδιαγράφουν την εκτέλεση του σεναρίου:
-
-%1
-
-Παρακαλώ, σκεφτείτε εάν πραγματικά
-επιτρέπετε να γίνει αυτό στον υπολογιστή σας!</translation>
-    </message>
-    <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation>VYM - Εξαγωγή HTML στον φάκελο</translation>
-    </message>
-</context>
-<context>
-    <name>ExtraInfoDialog</name>
-    <message>
-        <source>VYM - Info</source>
-        <translation>VYM - Πληροφορίες</translation>
-    </message>
-    <message>
-        <source>Map:</source>
-        <translation>Διάγραμμα:</translation>
-    </message>
-    <message>
-        <source>Title:</source>
-        <translation>Τίτλος:</translation>
-    </message>
-    <message>
-        <source>Author:</source>
-        <translation>Δημιουργός:</translation>
-    </message>
-    <message>
-        <source>Comment:</source>
-        <translation>Σχόλιο:</translation>
-    </message>
-    <message>
-        <source>Statistics:</source>
-        <translation>Στατιστικά:</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation>Άκυρο</translation>
-    </message>
-    <message>
-        <source>Close</source>
-        <translation>Κλείσιμο</translation>
-    </message>
-</context>
-<context>
-    <name>FindWidget</name>
-    <message>
-        <source>Find:</source>
-        <comment>FindWidget</comment>
-        <translation>Εύρεση:</translation>
-    </message>
-</context>
-<context>
-    <name>HeadingEditor</name>
-    <message>
-        <source>Heading Editor</source>
-        <comment>Window caption</comment>
-        <translation>Επεξεργαστής κεφαλίδας</translation>
-    </message>
-</context>
-<context>
-    <name>HistoryWindow</name>
-    <message>
-        <source>Dialog</source>
-        <translation>Παράθυρο</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <translation>Ακύρωση αναίρεσης</translation>
-    </message>
-    <message>
-        <source>Time</source>
-        <translation>Χρόνος</translation>
-    </message>
-    <message>
-        <source>Comment</source>
-        <translation>Σχόλιο</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation>Αναίρεση</translation>
-    </message>
-    <message>
-        <source>Close</source>
-        <translation>Κλείσιμο</translation>
-    </message>
-    <message>
-        <source>Action</source>
-        <comment>Table with actions</comment>
-        <translation>Ενέργεια</translation>
-    </message>
-    <message>
-        <source>Comment</source>
-        <comment>Table with actions</comment>
-        <translation>Σχόλιο</translation>
-    </message>
-    <message>
-        <source>Undo action</source>
-        <comment>Table with actions</comment>
-        <translation>Αναίρεση ενέργειας</translation>
-    </message>
-    <message>
-        <source>Current state</source>
-        <comment>Current bar in history hwindow</comment>
-        <translation>Τρέχουσα κατάσταση</translation>
-    </message>
-</context>
-<context>
-    <name>LineEditDialog</name>
-    <message>
-        <source>Dialog</source>
-        <translation>Παράθυρο</translation>
-    </message>
-    <message>
-        <source>TextLabel</source>
-        <translation>Ετικέτα κειμένου</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation>Άκυρο</translation>
-    </message>
-    <message>
-        <source>Ok</source>
-        <translation>Εντάξει</translation>
-    </message>
-</context>
-<context>
-    <name>LockedFileDialog</name>
-    <message>
-        <source>Dialog</source>
-        <translation type="unfinished">Παράθυρο</translation>
-    </message>
-    <message>
-        <source>Delete lockfile</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Open readonly</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>Main</name>
-    <message>
-        <source>Main window</source>
-        <comment>Shortcut scope</comment>
-        <translation>Κύριο παράθυρο</translation>
-    </message>
-    <message>
-        <source>Note Editor</source>
-        <translation>Επεξεργαστής σημειώσεων</translation>
-    </message>
-    <message>
-        <source>Heading Editor</source>
-        <translation>Επεξεργαστής κεφαλίδας</translation>
-    </message>
-    <message>
-        <source>Script Editor</source>
-        <translation>Επεξεργαστής σεναρίων</translation>
-    </message>
-    <message>
-        <source>Search results list</source>
-        <comment>FindResultWidget</comment>
-        <translation>Αναζήτηση στη λίστα αποτελεσμάτων</translation>
-    </message>
-    <message>
-        <source>Task list</source>
-        <comment>TaskEditor</comment>
-        <translation>Λίστα εργασιών</translation>
-    </message>
-    <message>
-        <source>Script Editor</source>
-        <comment>ScriptEditor</comment>
-        <translation>Επεξεργαστής σεναρίων</translation>
-    </message>
-    <message>
-        <source>Property Editor</source>
-        <comment>PropertyEditor</comment>
-        <translation>Επεξεργαστής ιδιοτήτων</translation>
-    </message>
-    <message>
-        <source>History window</source>
-        <comment>HistoryWidget</comment>
-        <translation>Παράθυρο ιστορικού</translation>
-    </message>
-    <message>
-        <source>Main window</source>
-        <comment>Shortcut group</comment>
-        <translation>Κύριο παράθυρο</translation>
-    </message>
-    <message>
-        <source>Map Editors</source>
-        <comment>Shortcut group</comment>
-        <translation>Επεξεργαστές διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Text Editors</source>
-        <comment>Shortcut group</comment>
-        <translation>Επεξεργαστές κειμένου</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <comment>Menu for file actions</comment>
-        <translation>&amp;Διάγραμμα</translation>
-    </message>
-    <message>
-        <source>&amp;New map</source>
-        <comment>File menu</comment>
-        <translation>&amp;Νέο διάγραμμα</translation>
-    </message>
-    <message>
-        <source>&amp;Copy to new map</source>
-        <comment>File menu</comment>
-        <translation>&amp;Αντιγραφή στο νέο διάγραμμα</translation>
-    </message>
-    <message>
-        <source>&amp;Open...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Άνοιγμα...</translation>
-    </message>
-    <message>
-        <source>&amp;Restore last session</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Επαναφορά τελευταίας συνεδρίας</translation>
-    </message>
-    <message>
-        <source>Open Recent</source>
-        <comment>File menu</comment>
-        <translation>Άνοιγμα πρόσφατου αρχείου</translation>
-    </message>
-    <message>
-        <source>&amp;Save...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Αποθήκευση...</translation>
-    </message>
-    <message>
-        <source>Save &amp;As...</source>
-        <comment>File menu</comment>
-        <translation>Αποθήκευση &amp;ως...</translation>
-    </message>
-    <message>
-        <source>Import</source>
-        <comment>File menu</comment>
-        <translation>Εισαγωγή</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="obsolete">Σελιδοδείκτες KDE 4</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation>Σελιδοδείκτες Firefox</translation>
-    </message>
-    <message>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation>Εισαγωγή Dir%1</translation>
-    </message>
-    <message>
-        <source>(still experimental)</source>
-        <translation>(σε πειραματική λειτουργία)</translation>
-    </message>
-    <message>
-        <source>Export</source>
-        <comment>File menu</comment>
-        <translation>Εξαγωγή</translation>
-    </message>
-    <message>
-        <source>Repeat last export (%1)</source>
-        <translation>Επανάληψη τελευταίας εξαγωγής (%1)</translation>
-    </message>
-    <message>
-        <source>Image%1</source>
-        <comment>File export menu</comment>
-        <translation>Εικόνα%1</translation>
-    </message>
-    <message>
-        <source>PDF%1</source>
-        <comment>File export menu</comment>
-        <translation>PDF%1</translation>
-    </message>
-    <message>
-        <source>SVG%1</source>
-        <comment>File export menu</comment>
-        <translation>SVG%1</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Σελιδοδείκτες KDE 4</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <translation>Φύλλο δεδομένων</translation>
-    </message>
-    <message>
-        <source>Properties</source>
-        <translation>Ιδιότητες</translation>
-    </message>
-    <message>
-        <source>&amp;Print</source>
-        <translation>&amp;Εκτύπωση</translation>
-    </message>
-    <message>
-        <source>&amp;Close Map</source>
-        <comment>File menu</comment>
-        <translation>&amp;Κλείσιμο διαγράμματος</translation>
-    </message>
-    <message>
-        <source>E&amp;xit</source>
-        <comment>File menu</comment>
-        <translation>Έ&amp;ξοδος</translation>
-    </message>
-    <message>
-        <source>E&amp;dit</source>
-        <comment>Edit menu</comment>
-        <translation>Επε&amp;ξεργασία</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Αναίρεση</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Ακύρωση αναίρεσης</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Αντιγραφή</translation>
-    </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation>Αποκο&amp;πή</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Επικόλληση</translation>
-    </message>
-    <message>
-        <source>Delete Selection</source>
-        <comment>Edit menu</comment>
-        <translation>Διαγραφή επιλογής</translation>
-    </message>
-    <message>
-        <source>Add attribute</source>
-        <translation>Προσθήκη ιδιότητας</translation>
-    </message>
-    <message>
-        <source>Add mapcenter</source>
-        <comment>Canvas context menu</comment>
-        <translation>Προσθήκη κέντρου διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Add branch as child</source>
-        <comment>Edit menu</comment>
-        <translation>Προσθήκη κλάδου ως απόγονου</translation>
-    </message>
-    <message>
-        <source>Add branch (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>Προσθήκη κλάδου (εισαγωγή)</translation>
-    </message>
-    <message>
-        <source>Add branch above</source>
-        <comment>Edit menu</comment>
-        <translation>Προσθήκη κλάδου επάνω</translation>
-    </message>
-    <message>
-        <source>Add branch below</source>
-        <comment>Edit menu</comment>
-        <translation>Προσθήκη κλάδου κάτω</translation>
-    </message>
-    <message>
-        <source>Move branch up</source>
-        <comment>Edit menu</comment>
-        <translation>Μετακίνηση κλαδου επάνω</translation>
-    </message>
-    <message>
-        <source>Move branch down</source>
-        <comment>Edit menu</comment>
-        <translation>Μετακίνηση κλαδου επάνω</translation>
-    </message>
-    <message>
-        <source>&amp;Detach</source>
-        <comment>Context menu</comment>
-        <translation>&amp;Αποσύνδεση</translation>
-    </message>
-    <message>
-        <source>Detach branch and use as mapcenter</source>
-        <comment>Context menu</comment>
-        <translation>Αποσύνδεση κλάδου και χρήση του ως κέντρου διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Sort children</source>
-        <comment>Edit menu</comment>
-        <translation>Ταξινόμηση απόγονων κόμβων</translation>
-    </message>
-    <message>
-        <source>Sort children backwards</source>
-        <comment>Edit menu</comment>
-        <translation>Ταξινόμηση απόγονων κόμβων προς τα πίσω</translation>
-    </message>
-    <message>
-        <source>Scroll branch</source>
-        <comment>Edit menu</comment>
-        <translation>Κύλιση κλάδου</translation>
-    </message>
-    <message>
-        <source>Unscroll children</source>
-        <comment>Edit menu</comment>
-        <translation>Απόγονος χωρίς κύλιση</translation>
-    </message>
-    <message>
-        <source>Grow selection</source>
-        <comment>Edit menu</comment>
-        <translation>Μεγέθυνση επιλογής</translation>
-    </message>
-    <message>
-        <source>Shrink selection</source>
-        <comment>Edit menu</comment>
-        <translation>Συρρίκνωση επιλογής</translation>
-    </message>
-    <message>
-        <source>Reset selection size</source>
-        <comment>Edit menu</comment>
-        <translation>Επαναφορά μεγέθους της επιλογής</translation>
-    </message>
-    <message>
-        <source>Collapse one level</source>
-        <comment>Edit menu</comment>
-        <translation>Αναδίπλωση ενός επιπέδου</translation>
-    </message>
-    <message>
-        <source>Collapse unselected levels</source>
-        <comment>Edit menu</comment>
-        <translation>Αναδίπλωση μη επιλεγμένων επιπέδων</translation>
-    </message>
-    <message>
-        <source>Expand all branches</source>
-        <comment>Edit menu</comment>
-        <translation>Ανάπτυξη όλων των κλάδων</translation>
-    </message>
-    <message>
-        <source>Expand one level</source>
-        <comment>Edit menu</comment>
-        <translation>Ανάπτυξη ενός επιπέδου</translation>
-    </message>
-    <message>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
-        <translation>Μενού παραπομπών</translation>
-    </message>
-    <message>
-        <source>Open URL</source>
-        <comment>Edit menu</comment>
-        <translation>Άνοιγμα URL</translation>
-    </message>
-    <message>
-        <source>Open URL in new tab</source>
-        <comment>Edit menu</comment>
-        <translation>Άνοιγμα URL σε νέα καρτέλα</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
-        <comment>Edit menu</comment>
-        <translation>Άνοιγμα όλων των URLs σε υποδιάγραμμα (συμπεριλαμβανομένων των κυλιόμενων κόμβων)</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Άνοιγμα όλων των URLs σε υπο-δέντρο</translation>
-    </message>
-    <message>
-        <source>Extract URLs from note</source>
-        <comment>Edit menu</comment>
-        <translation>Εξαγωγή URLs από σημείωση</translation>
-    </message>
-    <message>
-        <source>Edit URL...</source>
-        <comment>Edit menu</comment>
-        <translation>Επεξεργασία URL...</translation>
-    </message>
-    <message>
-        <source>Edit local URL...</source>
-        <comment>Edit menu</comment>
-        <translation>Επεξεργασία τοπικού URL...</translation>
-    </message>
-    <message>
-        <source>Use heading for URL</source>
-        <comment>Edit menu</comment>
-        <translation>Χρήση κεφαλίδας για URL</translation>
-    </message>
-    <message>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation>Χειρισμός Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>Δημιουργία URL για το SUSE Bugzilla</translation>
-    </message>
-    <message>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>Λήψη δεδομένων από το SUSE Bugzilla</translation>
-    </message>
-    <message>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Λήψη δεδομένων από το SUSE Bugzilla για το υπο-δέντρο</translation>
-    </message>
-    <message>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
-        <translation>Εργαλείο χειρισμού SUSE</translation>
-    </message>
-    <message>
-        <source>Create URL to SUSE FATE tool</source>
-        <comment>Edit menu</comment>
-        <translation>Δημιουργία URL προς το εργαλείο χειρισμού SUSE</translation>
-    </message>
-    <message>
-        <source>vymlinks - linking maps</source>
-        <comment>Shortcuts</comment>
-        <translation>Σύνδεσμοι VYM - σύνδεση διαγραμμάτων</translation>
-    </message>
-    <message>
-        <source>Open linked map</source>
-        <comment>Edit menu</comment>
-        <translation>Άνοιγμα συνδεδεμένου διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Open linked map in background tab</source>
-        <comment>Edit menu</comment>
-        <translation>Άνοιγμα συνδεδεμένου διαγράμματος σε καρτέλα παρασκηνίου</translation>
-    </message>
-    <message>
-        <source>Open all vym links in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Άνοιγμα όλων των συνδέσμων VYM σε υπο-δέντρο</translation>
-    </message>
-    <message>
-        <source>Edit vym link...</source>
-        <comment>Edit menu</comment>
-        <translation>Επεξεργασία συνδέσμου VYM...</translation>
-    </message>
-    <message>
-        <source>Delete vym link</source>
-        <comment>Edit menu</comment>
-        <translation>Διαγραφή συνδέσμου VYM</translation>
-    </message>
-    <message>
-        <source>Exports</source>
-        <comment>Shortcuts</comment>
-        <translation>Εξαγωγές</translation>
-    </message>
-    <message>
-        <source>Hide in exports</source>
-        <comment>Edit menu</comment>
-        <translation>Απόκρυψη στις εξαγωγές</translation>
-    </message>
-    <message>
-        <source>Tasks</source>
-        <comment>Shortcuts</comment>
-        <translation>Εργασίες</translation>
-    </message>
-    <message>
-        <source>Toggle task</source>
-        <comment>Edit menu</comment>
-        <translation>Εναλλαγή εργασιών</translation>
-    </message>
-    <message>
-        <source>Cycle task status</source>
-        <comment>Edit menu</comment>
-        <translation>Κατάσταση κυκλικής εργασίας</translation>
-    </message>
-    <message>
-        <source>Reset sleep</source>
-        <comment>Task sleep</comment>
-        <translation>Επαναφορά ύπνου</translation>
-    </message>
-    <message>
-        <source>Sleep %1 days</source>
-        <comment>Task sleep</comment>
-        <translation>Ύπνος για %1 ημέρες</translation>
-    </message>
-    <message>
-        <source>Sleep %1 day</source>
-        <comment>Task sleep</comment>
-        <translation>Ύπνος για %1 ημέρα</translation>
-    </message>
-    <message>
-        <source>Sleep %1 weeks</source>
-        <comment>Task sleep</comment>
-        <translation>Ύπνος για %1 εβδομάδες</translation>
-    </message>
-    <message>
-        <source>Add map (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>Προσθήκη διαγραμματος (εισαγωγή)</translation>
-    </message>
-    <message>
-        <source>Add map (replace)</source>
-        <comment>Edit menu</comment>
-        <translation>Προσθήκη διαγραμματος (αντικατάσταση)</translation>
-    </message>
-    <message>
-        <source>Save selection</source>
-        <comment>Edit menu</comment>
-        <translation>Αποθήκευση επιλογής</translation>
-    </message>
-    <message>
-        <source>Removing parts of a map</source>
-        <comment>Shortcuts</comment>
-        <translation>Αφαίρεση τμημάτων του διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Remove only branch and keep its children </source>
-        <comment>Edit menu</comment>
-        <translation>Αφαίρεση κλαδου και διατήρηση απόγονων</translation>
-    </message>
-    <message>
-        <source>Remove children</source>
-        <comment>Edit menu</comment>
-        <translation>Αφαίρεση απόγονου κόμβου</translation>
-    </message>
-    <message>
-        <source>Various</source>
-        <comment>Shortcuts</comment>
-        <translation>Ποικίλα</translation>
-    </message>
-    <message>
-        <source>Add timestamp</source>
-        <comment>Edit menu</comment>
-        <translation>Προσθήκη χρονοσήμανσης</translation>
-    </message>
-    <message>
-        <source>Map properties...</source>
-        <comment>Edit menu</comment>
-        <translation>Ιδιότητες διαγράμματος...</translation>
-    </message>
-    <message>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation>Προσθήκη...</translation>
-    </message>
-    <message>
-        <source>Property window</source>
-        <comment>Dialog to edit properties of selection</comment>
-        <translation>Παράθυρο ιδιοτήτων</translation>
-    </message>
-    <message>
-        <source>Selections</source>
-        <comment>Shortcuts</comment>
-        <translation>Επιλογές</translation>
-    </message>
-    <message>
-        <source>Select</source>
-        <comment>Select menu</comment>
-        <translation>Επιλογή</translation>
-    </message>
-    <message>
-        <source>Toggle target...</source>
-        <comment>Edit menu</comment>
-        <translation>Εναλλαγή στόχου...</translation>
-    </message>
-    <message>
-        <source>Goto target...</source>
-        <comment>Edit menu</comment>
-        <translation>Μετάβαση στον στόχο...</translation>
-    </message>
-    <message>
-        <source>Move to target...</source>
-        <comment>Edit menu</comment>
-        <translation>Μετακίνηση προς τον στόχο...</translation>
-    </message>
-    <message>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation>Επιλογή προηγούμενου</translation>
-    </message>
-    <message>
-        <source>Select next</source>
-        <comment>Edit menu</comment>
-        <translation>Επιλογή επόμενου</translation>
-    </message>
-    <message>
-        <source>Unselect all</source>
-        <comment>Edit menu</comment>
-        <translation>Αποεπιλογή όλων</translation>
-    </message>
-    <message>
-        <source>Search functions</source>
-        <comment>Shortcuts</comment>
-        <translation>Αναζήτηση λειτουργιών</translation>
-    </message>
-    <message>
-        <source>Find...</source>
-        <comment>Edit menu</comment>
-        <translation>Εύρεση...</translation>
-    </message>
-    <message>
-        <source>Find duplicate URLs</source>
-        <comment>Edit menu</comment>
-        <translation>Εύρεση διπλότυπων URLs</translation>
-    </message>
-    <message>
-        <source>F&amp;ormat</source>
-        <comment>Format menu</comment>
-        <translation>Μορ&amp;φοποίηση</translation>
-    </message>
-    <message>
-        <source>Formatting</source>
-        <comment>Shortcuts</comment>
-        <translation>Μορφοποίηση</translation>
-    </message>
-    <message>
-        <source>Set &amp;Color</source>
-        <translation>Ορισμός &amp;χρώματος</translation>
-    </message>
-    <message>
-        <source>Pic&amp;k color</source>
-        <comment>Edit menu</comment>
-        <translation>Επι&amp;λογή χρώματος</translation>
-    </message>
-    <message>
-        <source>Color &amp;branch</source>
-        <comment>Edit menu</comment>
-        <translation>Χρωματισμός &amp;κλάδου</translation>
-    </message>
-    <message>
-        <source>Color sub&amp;tree</source>
-        <comment>Edit menu</comment>
-        <translation>Χρώμα υπο-&amp;δέντρου</translation>
-    </message>
-    <message>
-        <source>Select default font</source>
-        <comment>Branch attribute</comment>
-        <translation>Επιλογη προκαθορισμένης γραμματοσειράς</translation>
-    </message>
-    <message>
-        <source>Linkstyle Line</source>
-        <translation>Μορφή γραμμών: γραμμή</translation>
-    </message>
-    <message>
-        <source>Linkstyle Curve</source>
-        <translation>Καμπύλη γραμμή σύνδεσης</translation>
-    </message>
-    <message>
-        <source>Linkstyle Thick Line</source>
-        <translation>Μορφή γραμμών: παχιά γραμμή</translation>
-    </message>
-    <message>
-        <source>Linkstyle Thick Curve</source>
-        <translation>Παχια καμπύλη γραμμή σύνδεσης</translation>
-    </message>
-    <message>
-        <source>Hide link if object is not selected</source>
-        <comment>Branch attribute</comment>
-        <translation>Απόκρυψη συνδέσμου εάν το αντικείμενο δεν είναι επιλεγμένο</translation>
-    </message>
-    <message>
-        <source>&amp;Use color of heading for link</source>
-        <comment>Branch attribute</comment>
-        <translation>&amp;Χρήση χρώματος κεφαλίδας για τον σύνδεσμο</translation>
-    </message>
-    <message>
-        <source>Set &amp;Link Color</source>
-        <translation>Ορισμός χρώματος &amp;σύνδεσης</translation>
-    </message>
-    <message>
-        <source>Set &amp;Selection Color</source>
-        <translation>Ορισμός χρώματος &amp;επιλογής</translation>
-    </message>
-    <message>
-        <source>Set &amp;Background Color</source>
-        <translation>Ορισμός χρώματος παρασκηνίου</translation>
-    </message>
-    <message>
-        <source>Set &amp;Background image</source>
-        <translation>Ορισμός εικόνας &amp;παρασκηνίου</translation>
-    </message>
-    <message>
-        <source>&amp;View</source>
-        <translation>&amp;Προβολή</translation>
-    </message>
-    <message>
-        <source>Toolbars</source>
-        <comment>Toolbars overview in view menu</comment>
-        <translation>Γραμμές εργαλείων</translation>
-    </message>
-    <message>
-        <source>Views</source>
-        <comment>Shortcuts</comment>
-        <translation>Προβολές</translation>
-    </message>
-    <message>
-        <source>Zoom in</source>
-        <comment>View action</comment>
-        <translation>Μεγέθυνση</translation>
-    </message>
-    <message>
-        <source>Zoom out</source>
-        <comment>View action</comment>
-        <translation>Σμίκρυνση</translation>
-    </message>
-    <message>
-        <source>Rotate counterclockwise</source>
-        <comment>View action</comment>
-        <translation>Αριστερόστροφη περιστροφή</translation>
-    </message>
-    <message>
-        <source>Rotate rclockwise</source>
-        <comment>View action</comment>
-        <translation>Δεξιόστροφη περιστροφή</translation>
-    </message>
-    <message>
-        <source>reset Zoom</source>
-        <comment>View action</comment>
-        <translation>Επαναφορά εστίασης</translation>
-    </message>
-    <message>
-        <source>Center on selection</source>
-        <comment>View action</comment>
-        <translation>Κέντρο της επιλογής</translation>
-    </message>
-    <message>
-        <source>Note editor</source>
-        <comment>View action</comment>
-        <translation>Επεξεργαστής σημειώσεων</translation>
-    </message>
-    <message>
-        <source>Heading editor</source>
-        <comment>View action</comment>
-        <translation>Επεξεργαστής κεφαλίδων</translation>
-    </message>
-    <message>
-        <source>Tree editor</source>
-        <comment>View action</comment>
-        <translation>Επεξεργαστής διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Task editor</source>
-        <comment>View action</comment>
-        <translation>Επεξεργαστής εργασιών</translation>
-    </message>
-    <message>
-        <source>Slide editor</source>
-        <comment>View action</comment>
-        <translation>Επεξεργαστής διαφανειών</translation>
-    </message>
-    <message>
-        <source>Script editor</source>
-        <comment>View action</comment>
-        <translation>Επεξεργαστής σεναρίων</translation>
-    </message>
-    <message>
-        <source>History Window</source>
-        <comment>View action</comment>
-        <translation>Παράθυρο ιστορικού</translation>
-    </message>
-    <message>
-        <source>Antialiasing</source>
-        <comment>View action</comment>
-        <translation>Εξομάλυνση</translation>
-    </message>
-    <message>
-        <source>Smooth pixmap transformations</source>
-        <comment>View action</comment>
-        <translation>Εξομάλυνση μετασχηματισμών εικονοστοιχείων </translation>
-    </message>
-    <message>
-        <source>Next Map</source>
-        <comment>View action</comment>
-        <translation>Επόμενο διάγραμμα</translation>
-    </message>
-    <message>
-        <source>Previous Map</source>
-        <comment>View action</comment>
-        <translation>Προηγούμενο διάγραμμα</translation>
-    </message>
-    <message>
-        <source>Next slide</source>
-        <comment>View action</comment>
-        <translation>Επόμενη διαφάνεια</translation>
-    </message>
-    <message>
-        <source>Previous slide</source>
-        <comment>View action</comment>
-        <translation>Προηγούμενη διαφάνεια</translation>
-    </message>
-    <message>
-        <source>Modifier modes</source>
-        <comment>Shortcuts</comment>
-        <translation>Μετατροπέας κατάστασης</translation>
-    </message>
-    <message>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>Χρήση μετατροπέα για χρωματισμό κλάδων</translation>
-    </message>
-    <message>
-        <source>Use modifier to draw xLinks</source>
-        <comment>Mode modifier</comment>
-        <translation>Χρήση μετατροπέα για σχεδιασμό xLinks</translation>
-    </message>
-    <message>
-        <source>Note</source>
-        <comment>SystemFlag</comment>
-        <translation>Σημείωση</translation>
-    </message>
-    <message>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>URL προς έγγραφο</translation>
-    </message>
-    <message>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation>URL για το Bugzilla</translation>
-    </message>
-    <message>
-        <source>Map target</source>
-        <comment>SystemFlag</comment>
-        <translation>Στόχος διαγράμματος</translation>
-    </message>
-    <message>
-        <source>Link to another vym map</source>
-        <comment>SystemFlag</comment>
-        <translation>Σύνδεσμος προς άλλο διάγραμμα VYM</translation>
-    </message>
-    <message>
-        <source>subtree is scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>Το υπο-δέντρο είναι κυλιόμενο</translation>
-    </message>
-    <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>Το υπο-δέντρο είναι προσωρινά κυλιόμενο</translation>
-    </message>
-    <message>
-        <source>Hide object in exported maps</source>
-        <comment>SystemFlag</comment>
-        <translation>Απόκρυψη αντικειμένου στα εξαγόμενα διαγράμματα</translation>
-    </message>
-    <message>
-        <source>Standard Flags toolbar</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation>Εργαλειοθήκη κανονικων σημαιών</translation>
-    </message>
-    <message>
-        <source>This won&apos;t work!</source>
-        <comment>Standardflag</comment>
-        <translation>Αυτό δεν λειτουργεί!</translation>
-    </message>
-    <message>
-        <source>Status - ok,done</source>
-        <comment>Standardflag</comment>
-        <translation>Κατάσταση - εντάξει, ολοκληρώθηκε</translation>
-    </message>
-    <message>
-        <source>Status - work in progress</source>
-        <comment>Standardflag</comment>
-        <translation>Κατάσταση - εργασία σε εξέλιξη</translation>
-    </message>
-    <message>
-        <source>Status - missing, not started</source>
-        <comment>Standardflag</comment>
-        <translation>Κατάσταση - δεν έχει ξεκινήσει</translation>
-    </message>
-    <message>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation>Προσοχή!</translation>
-    </message>
-    <message>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation>Αλήθεια;</translation>
-    </message>
-    <message>
-        <source>Good</source>
-        <comment>Standardflag</comment>
-        <translation>Ευχαρίστηση</translation>
-    </message>
-    <message>
-        <source>Bad</source>
-        <comment>Standardflag</comment>
-        <translation>Δυσαρέσκεια</translation>
-    </message>
-    <message>
-        <source>Oh no!</source>
-        <comment>Standardflag</comment>
-        <translation>Ωχ, όχι!</translation>
-    </message>
-    <message>
-        <source>Time critical</source>
-        <comment>Standardflag</comment>
-        <translation>Ο χρόνος είναι σημαντικός</translation>
-    </message>
-    <message>
-        <source>Call...</source>
-        <comment>Standardflag</comment>
-        <translation>Κλήση...</translation>
-    </message>
-    <message>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation>Ιδέα!</translation>
-    </message>
-    <message>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation>Σημαντικό</translation>
-    </message>
-    <message>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation>Ασήμαντο</translation>
-    </message>
-    <message>
-        <source>Very important!</source>
-        <comment>Standardflag</comment>
-        <translation>Πολύ σημαντικό!</translation>
-    </message>
-    <message>
-        <source>Very unimportant!</source>
-        <comment>Standardflag</comment>
-        <translation>Πολύ ασήμαντο!</translation>
-    </message>
-    <message>
-        <source>I like this</source>
-        <comment>Standardflag</comment>
-        <translation>Μου αρέσει</translation>
-    </message>
-    <message>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation>Δεν μου αρέσει</translation>
-    </message>
-    <message>
-        <source>Rose</source>
-        <comment>Standardflag</comment>
-        <translation>Τριαντάφυλλο</translation>
-    </message>
-    <message>
-        <source>I just love...</source>
-        <comment>Standardflag</comment>
-        <translation>Απλά μου αρέσει...</translation>
-    </message>
-    <message>
-        <source>Surprise!</source>
-        <comment>Standardflag</comment>
-        <translation>Έκπληξη!</translation>
-    </message>
-    <message>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation>Επικίνδυνο</translation>
-    </message>
-    <message>
-        <source>Info</source>
-        <comment>Standardflag</comment>
-        <translation>Πληροφορίες</translation>
-    </message>
-    <message>
-        <source>This will help</source>
-        <comment>Standardflag</comment>
-        <translation>Αυτό θα βοηθήσει</translation>
-    </message>
-    <message>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Σημαντικό</translation>
-    </message>
-    <message>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Προτεραιότητα</translation>
-    </message>
-    <message>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Πίσω</translation>
-    </message>
-    <message>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Εμπρός</translation>
-    </message>
-    <message>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Δείτε εδώ</translation>
-    </message>
-    <message>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Επικίνδυνο</translation>
-    </message>
-    <message>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Στόχος χωρίς σημαία</translation>
-    </message>
-    <message>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Σημαία</translation>
-    </message>
-    <message>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Αρχική</translation>
-    </message>
-    <message>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Τηλέφωνο</translation>
-    </message>
-    <message>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Μουσική</translation>
-    </message>
-    <message>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Γραμματοκιβώτιο</translation>
-    </message>
-    <message>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Maix</translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Κωδικός πρόσβασης</translation>
-    </message>
-    <message>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Να βελτιωθεί</translation>
-    </message>
-    <message>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Σταμάτημα</translation>
-    </message>
-    <message>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Μαγικό</translation>
-    </message>
-    <message>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Να συζητηθεί</translation>
-    </message>
-    <message>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Υπενθύμιση</translation>
-    </message>
-    <message>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Εξαιρετικό</translation>
-    </message>
-    <message>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
-    </message>
-    <message>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Γλυκό</translation>
-    </message>
-    <message>
-        <source>Settings</source>
-        <translation>Ρυθμίσεις</translation>
-    </message>
-    <message>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
-        <translation>Έλεγχος για σημειώσεις έκδοσης και ενημερώσεις</translation>
-    </message>
-    <message>
-        <source>Set application to open pdf files</source>
-        <comment>Settings action</comment>
-        <translation>Ορισμός εφαρμογής για άνοιγμα αρχείων pdf</translation>
-    </message>
-    <message>
-        <source>Set application to open external links</source>
-        <comment>Settings action</comment>
-        <translation>Ορισμός εφαρμογής για άνοιγμα εξωτερικών συνδέσμων</translation>
-    </message>
-    <message>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
-        <translation>Ορισμός εφαρμογής για συμπίεση/αποσυμπίεση αρχείων</translation>
-    </message>
-    <message>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
-        <translation>Ορισμός διαδρομής για μακροεντολές</translation>
-    </message>
-    <message>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
-        <translation>Ορισμός αριθμού αναιρέσεων</translation>
-    </message>
-    <message>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
-        <translation>Αυτόματη αποθήκευση</translation>
-    </message>
-    <message>
-        <source>Autosave time</source>
-        <comment>Settings action</comment>
-        <translation>Χρόνος αυτόματης αποθήκευσης</translation>
-    </message>
-    <message>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
-        <translation>Εγγραφή αρχείου αντίγραφου ασφαλείας για αποθήκευση</translation>
-    </message>
-    <message>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Επεξεργασία κλάδου μετά την εισαγωγή του</translation>
-    </message>
-    <message>
-        <source>Select branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Επιλογή κλάδου μετά την εισαγωγή του</translation>
-    </message>
-    <message>
-        <source>Select existing heading</source>
-        <comment>Settings action</comment>
-        <translation>Επιλογή υπάρχουσας κεφαλίδας</translation>
-    </message>
-    <message>
-        <source>Exclusive flags</source>
-        <comment>Settings action</comment>
-        <translation>Αποκλειστικές σημαίες</translation>
-    </message>
-    <message>
-        <source>Use hide flags</source>
-        <comment>Settings action</comment>
-        <translation>Χρήση σημαιών που βρίσκονται σε απόκρυψη</translation>
-    </message>
-    <message>
-        <source>Task editor: Set number of parents</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Επεξεργαστής εργασιών: ορισμός αριθμού πρόγονων κόμβων</translation>
-    </message>
-    <message>
-        <source>Animation</source>
-        <comment>Settings action</comment>
-        <translation>Κινούμενη απεικόνιση</translation>
-    </message>
-    <message>
-        <source>Automatic layout</source>
-        <comment>Settings action</comment>
-        <translation>Αυτόματη διάταξη</translation>
-    </message>
-    <message>
-        <source>Test</source>
-        <translation>Δοκιμή</translation>
-    </message>
-    <message>
-        <source>&amp;Help</source>
-        <comment>Help menubar entry</comment>
-        <translation>&amp;Βοήθεια</translation>
-    </message>
-    <message>
-        <source>Open VYM Documentation (pdf) </source>
-        <comment>Help action</comment>
-        <translation>Άνοιγμα τεκμηρίωσης του VYM (pdf)</translation>
-    </message>
-    <message>
-        <source>Open VYM example maps </source>
-        <comment>Help action</comment>
-        <translation>Άνοιγμα διαγραμμάτων (παραδείγματα) του VYM</translation>
-    </message>
-    <message>
-        <source>Download and show release notes</source>
-        <comment>Help action</comment>
-        <translation>Λήψη και εμφάνιση σημειώσεων έκδοσης</translation>
-    </message>
-    <message>
-        <source>Check, if updates are available</source>
-        <comment>Help action</comment>
-        <translation>Έλεγχος για πιθανές ενημερώσεις</translation>
-    </message>
-    <message>
-        <source>Show keyboard shortcuts</source>
-        <comment>Help action</comment>
-        <translation>Εμφάνιση συντομεύσεων πληκτρολογίου</translation>
-    </message>
-    <message>
-        <source>About VYM</source>
-        <comment>Help action</comment>
-        <translation>Σχετικά με το VYM</translation>
-    </message>
-    <message>
-        <source>About QT</source>
-        <comment>Help action</comment>
-        <translation>Σχετικά με το QT</translation>
-    </message>
-    <message>
-        <source>Add</source>
-        <translation>Προσθήκη</translation>
-    </message>
-    <message>
-        <source>Remove</source>
-        <comment>Context menu name</comment>
-        <translation>Αφαίρεση</translation>
-    </message>
-    <message>
-        <source>Tasks</source>
-        <comment>Context menu</comment>
-        <translation>Εργασίες</translation>
-    </message>
-    <message>
-        <source>References (URLs, vymLinks, ...)</source>
-        <comment>Context menu name</comment>
-        <translation>Παραπομπές (URLs, vymLinks, ...)</translation>
-    </message>
-    <message>
-        <source>XLinks</source>
-        <comment>Menu for file actions</comment>
-        <translation>XLinks</translation>
-    </message>
-    <message>
-        <source>Edit XLink</source>
-        <comment>Context menu name</comment>
-        <translation>Επεξεργασία:XLink</translation>
-    </message>
-    <message>
-        <source>Follow XLink</source>
-        <comment>Context menu</comment>
-        <translation>Παρακολούθηση XLink</translation>
-    </message>
-    <message>
-        <source>Follow XLink</source>
-        <comment>Context menu name</comment>
-        <translation>Παρακολούθηση XLink</translation>
-    </message>
-    <message>
-        <source>Save image</source>
-        <comment>Context action</comment>
-        <translation>Αποθήκευση εικόνας</translation>
-    </message>
-    <message>
-        <source>File actions toolbar</source>
-        <comment>Toolbar for file actions</comment>
-        <translation>Βασικά εργαλεία για τα αρχεία</translation>
-    </message>
-    <message>
-        <source>Undo and clipboard toolbar</source>
-        <comment>Toolbar for redo/undo and clipboard</comment>
-        <translation>Εργαλειοθήκη αναιρέσεων και πρόχειρου</translation>
-    </message>
-    <message>
-        <source>Edit actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation>Εργαλειοθήκη επεξεργασίας</translation>
-    </message>
-    <message>
-        <source>Selection toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation>Εργαλειοθήκη επιλογών</translation>
-    </message>
-    <message>
-        <source>URLs and vymLinks toolbar</source>
-        <comment>Toolbar for URLs and vymlinks</comment>
-        <translation>Εργαλειοθήκη URLs και vymLinks</translation>
-    </message>
-    <message>
-        <source>Colors toolbar</source>
-        <comment>Colors toolbar name</comment>
-        <translation>Γραμμή εργαλείων χρωμάτων</translation>
-    </message>
-    <message>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation>Εργαλειοθήκη εστίασης</translation>
-    </message>
-    <message>
-        <source>Editors toolbar</source>
-        <comment>Editor Toolbar name</comment>
-        <translation>Εργαλειοθήκη επεξεργαστών</translation>
-    </message>
-    <message>
-        <source>Modifier modes toolbar</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation>Εργαλειοθήκη μετατροπέα κατάστασης</translation>
-    </message>
-    <message>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation>χωρίς όνομα</translation>
-    </message>
-    <message>
-        <source>The map %1
-is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation>Το διάγραμμα %1
-είναι ήδη ανοιχτό. Το άνοιγμα ενός διαγράμματος σε πολλαπλούς επεξεργαστές είναι
-πιθανόν να οδηγήσει σε σύγχυση όταν ολοκληρωθεί η εργασία στο VYM. Τι θελετε
-να κάνετε;</translation>
-    </message>
-    <message>
-        <source>Open anyway</source>
-        <translation>Άνοιγμα οπωσδήποτε</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation>Άκυρο</translation>
-    </message>
-    <message>
-        <source>This map does not exist:
-  %1
-Do you want to create a new one?</source>
-        <translation>Αυτό το διάγραμμα δεν υπάρχει:
-  %1
-Θέλετε να δημιουργήσετε ένα νέο;</translation>
-    </message>
-    <message>
-        <source>Create</source>
-        <translation>Δημιουργία</translation>
+    <message>
+        <location line="+7"/>
+        <source>notes</source>
+        <comment>Info about map</comment>
+        <translation>σημειώσεις</translation>
     </message>
     <message>
-        <source>Loading: %1</source>
-        <comment>Progress dialog while loading maps</comment>
-        <translation>Φόρτωση: %1</translation>
+        <location line="+1"/>
+        <source>images</source>
+        <comment>Info about map</comment>
+        <translation>εικόνες</translation>
     </message>
     <message>
-        <source>Load vym map</source>
-        <translation>Φόρτωση διαγράμματος VYM</translation>
+        <location line="+3"/>
+        <source>slides</source>
+        <comment>Info about map</comment>
+        <translation>διαφάνειες</translation>
     </message>
     <message>
-        <source>Import: Add vym map to selection</source>
-        <translation>Εισαγωγή: Προσθήκη διαγράμματος VYM στην επιλογή</translation>
+        <location line="+2"/>
+        <source>xLinks</source>
+        <comment>Info about map</comment>
+        <translation>xLinks</translation>
     </message>
     <message>
-        <source>Import: Replace selection with vym map</source>
-        <translation>Εισαγωγή: Αντικατάσταση επιλογής με διάγραμμα VYM</translation>
+        <location line="-4814"/>
+        <source>Script output window</source>
+        <translation>Παράθυρο εξόδου σεναρίου</translation>
     </message>
     <message>
-        <source>or</source>
-        <comment>File Dialog</comment>
-        <translation>ή</translation>
+        <location line="+852"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation>Εισαγωγή φακέλων...</translation>
     </message>
     <message>
-        <source>Saved  %1</source>
-        <translation>Αποθηκεύτηκε: %1</translation>
+        <location line="+22"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation>Συνεισφορά (HTML)...</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save </source>
-        <translation>Δεν αποθηκεύτηκε</translation>
+        <location line="+21"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation>Κείμενο (Markdown)...</translation>
     </message>
     <message>
-        <source>Save map as</source>
-        <translation>Αποθήκευση διαγράμματος ως</translation>
+        <location line="+44"/>
+        <source>CSV...</source>
+        <translation>CSV...</translation>
     </message>
     <message>
-        <source>The file %1
-exists already. Do you want to</source>
-        <translation>Το αρχείο %1 υπάρχει ήδη.
-Θέλετε να αντικατασταθεί;</translation>
+        <location line="+763"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation>Προσθήκη εικόνας</translation>
     </message>
     <message>
-        <source>Overwrite</source>
-        <translation>Αντικατάσταση</translation>
+        <location line="+56"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation>Μετάβαση στο συνδεδεμένο διάγραμμα...</translation>
     </message>
     <message>
-        <source>Bookmarks</source>
-        <translation>Σελιδοδείκτες</translation>
+        <location line="+194"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation>Εναλλαγή λειτουργίας Παρουσίασης</translation>
     </message>
     <message>
-        <source>Import</source>
-        <translation>Εισαγωγή</translation>
+        <location line="+138"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation>Παράθυρο εξόδου σεναρίου</translation>
     </message>
     <message>
-        <source>Load Freemind map</source>
-        <translation>Φόρτωση διαγράμματος Freemind</translation>
+        <location line="+768"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation>Εμφάνιση μακροεντολών πληκτρολογίου</translation>
     </message>
     <message>
-        <source>Export as CSV</source>
-        <translation>Εξαγωγή ως CSV</translation>
+        <location line="+1874"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation>Καταχωρίστε τον χρόνο αναστολής (αριθμός ημερών, ώρες με το γράμμα &apos;ω&apos; ή ημερομηνία της μορφής ΕΕΕΕ-ΜΜ-ΗΗ ή ΗΗ.ΜΜ[ΕΕΕΕ]</translation>
     </message>
     <message>
-        <source>Export to</source>
-        <translation>Εξαγωγή σε</translation>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation>σύνολο εργασιών</translation>
     </message>
     <message>
-        <source>Warning</source>
-        <translation>Προειδοποίηση</translation>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation>εργασίες στο διάγραμμα</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find configuration for export to LibreOffice
-</source>
-        <translation>Î\91δÏ\85ναμία ÎµÎ½Ï\84οÏ\80ιÏ\83μοÏ\8d Ï\81Ï\85θμίÏ\83εÏ\89ν Î³Î¹Î± ÎµÎ¾Î±Î³Ï\89γή Ï\83ε LibreOffice</translation>
+        <location line="+840"/>
+        <source>Load vym script</source>
+        <translation>ΦÏ\8cÏ\81Ï\84Ï\89Ï\83η Ï\83εναÏ\81ίοÏ\85 vym</translation>
     </message>
     <message>
-        <source>The map %1 has been modified but not saved yet. Do you want to</source>
-        <translation>Το διάγραμμα %1 έχει τροποποιηθεί, αλλά δεν
-έχει ακόμη αποθηκευτεί. Τι θέλετε να γίνει;</translation>
+        <location line="-4818"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation>Αποθήκευση ως προεπιλεγμένο διάγραμμα</translation>
     </message>
     <message>
-        <source>Save modified map before closing it</source>
-        <translation>Αποθήκευση τροποποιημένου διαγράμματος πριν το κλείσιμο</translation>
+        <location line="+596"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation>Λήψη ονόματος σελίδας από τη Συνεισφορά</translation>
     </message>
     <message>
-        <source>Discard changes</source>
-        <translation>Απόρριψη αλλαγών</translation>
+        <location line="+833"/>
+        <source>Images</source>
+        <translation>Εικόνες</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
-        <translation>Αδυναμία εύρεσης εφαρμογής προβολης για ανοιγμα του %1.</translation>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation>Όλα</translation>
     </message>
     <message>
-        <source>Please use Settings-&gt;</source>
-        <translation>Παρακαλώ χρησιμοποιήστε τις Ρυθμίσεις-&gt;</translation>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation>URL</translation>
     </message>
     <message>
-        <source>Set application to open an URL</source>
-        <translation>Ορισμός μιας εφαρμογής για άνοιγμα URL</translation>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation>Μπάρα σημαιών χρήστη</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Αδυναμία έναρξης %1 για άνοιγμα νέας καρτέλας %2.</translation>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation>Χμ...</translation>
     </message>
     <message>
-        <source>Enter URL:</source>
-        <translation>Εισαγωγή URL:</translation>
+        <location line="+54"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation>Σημαντικό</translation>
     </message>
     <message>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
-        <translation>HTML</translation>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation>Πίσω</translation>
     </message>
     <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation>Κείμενο</translation>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation>Μπροστά</translation>
     </message>
     <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation>Φύλλο δεδομένων</translation>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation>Δείτε εδώ</translation>
     </message>
     <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation>Έγγραφο κειμένου</translation>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation>Επικίνδυνο</translation>
     </message>
     <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation>Εικόνες</translation>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation>Μην ξεχνάτε</translation>
     </message>
     <message>
-        <source>Set URL to a local file</source>
-        <translation>Ορισμός URL για ένα τοπικό αρχείο</translation>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation>Σημαία</translation>
     </message>
     <message>
-        <source>Critical Error</source>
-        <translation>Κρίσιμο σφάλμα</translation>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation>Αρχική</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open map %1</source>
-        <translation>Αδυναμία ανοίγματος του διαγράμματος %1</translation>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation>Τηλέφωνο</translation>
     </message>
     <message>
-        <source>Link to another map</source>
-        <translation>Σύνδεσμος προς άλλο διάγραμμα</translation>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation>Μουσική</translation>
     </message>
     <message>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation>Καταχωρίστε χρόνο ύπνου (αριθμό ημερών ή ημερομηνία YYYY-MM-DD ή DD.MM[.YYYY]</translation>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation>Γραμματοκιβώτιο</translation>
     </message>
     <message>
-        <source>Couldn&apos;t set sleep time to %1.
-</source>
-        <translation>Αδυναμία ορισμού χρόνου ύπνου σε %1.</translation>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation>Ταχυδρομείο</translation>
     </message>
     <message>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation>%1 αντικείμενα στο διάγραμμα</translation>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation>Κωδικός πρόσβασης</translation>
     </message>
     <message>
-        <source>Set application to open PDF files</source>
-        <translation>Ορισμός εφαρμογής για άνοιγμα αρχείων PDF</translation>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation>Να βελτιωθεί</translation>
     </message>
     <message>
-        <source>Set application to zip/unzip files</source>
-        <translation>Ορισμός εφαρμογής για συμπίεση/αποσυμπίεση αρχείων</translation>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation>Σταμάτημα</translation>
     </message>
     <message>
-        <source>Directory with vym macros:</source>
-        <translation>Φάκελος με μακροεντολές VYM:</translation>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation>Μαγικό</translation>
     </message>
     <message>
-        <source>Number of undo/redo levels:</source>
-        <translation>Αριθμός αναιρέσεων/ακύρωσης αναιρέσεων:</translation>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation>Να συζητηθεί</translation>
     </message>
     <message>
-        <source>VYM -Information:</source>
-        <translation>Πληροφορίες για το VYM:</translation>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation>Υπενθύμιση</translation>
     </message>
     <message>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
-        <translation>Οι ρυθμίσεις άλλαξαν. Το επόμενο διάγραμμα θα έχει %1 επίπεδα αναιρέσεων/ακύρωσης αναιρέσεων</translation>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation>Εξαιρετικό</translation>
     </message>
     <message>
-        <source>Number of seconds before autosave:</source>
-        <translation>Δευτερόλεπτα πριν την αυτόματη αποθήκευση:</translation>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation>Linux</translation>
     </message>
     <message>
-        <source>Number of parents shown for a task:</source>
-        <translation>Αριθμός πρόγονων κόμβων που εμφανιζονται για κάθε εργασία:</translation>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation>Γλυκό</translation>
     </message>
     <message>
-        <source>(readonly)</source>
-        <translation>(μόνο για ανάγνωση)</translation>
+        <location line="+162"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation>Διαπιστευτήρια συνεισφοράς</translation>
     </message>
     <message>
-        <source>History for %1</source>
-        <comment>Window Caption</comment>
-        <translation>Ιστορικό για %1</translation>
+        <source>Set path for default path</source>
+        <comment>Settings action</comment>
+        <translation type="vanished">Ορισμός διαδρομής για την προκαθορισμένη διαδρομή</translation>
     </message>
     <message>
-        <source>Export in last used format (%1) to: %2</source>
-        <comment>status tip</comment>
-        <translation>Εξαγωγή στη τελευταία χρησιμοποιούμενη μορφή (%1) σε: %2</translation>
+        <location line="+88"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation>Σκοτεινό θέμα</translation>
     </message>
     <message>
-        <source>Critcal error</source>
-        <translation>Κρίσιμο σφάλμα</translation>
+        <location line="+98"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation>Εμφάνιση εντολών σεναρίου</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
-        <translation>Αδυναμία εύρεσης της τεκμηρίωσης %1 στο:
-%2</translation>
+        <location line="+539"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation>Δεν ήταν δυνατή η φόρτωση του προεπιλεγμένου διαγράμματος:
+
+% 1
+
+Το vym θα δημιουργήσει ένα κενό διάγραμμα τώρα.</translation>
     </message>
     <message>
-        <source>Load vym example map</source>
-        <translation>Φόρτωση  διαγράμματος VYM ως παράδειγμα</translation>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation>Δεν ήταν δυνατή η αποθήκευση του %1,
+επειδή το αρχείο υπάρχει και δεν μπορεί να αλλάξει.</translation>
     </message>
     <message>
-        <source>Please allow vym to download release notes!</source>
-        <translation>Παρακαλώ επιτρέψτε στο VYM να κάνει λήψη των σημειώσεων έκδοσης!</translation>
+        <location line="+83"/>
+        <source>Save map as new default map</source>
+        <translation>Αποθήκευση διαγράμματος ως νέο προεπιλεγμένο διάγραμμα</translation>
     </message>
     <message>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translation>&lt;html&gt;&lt;h3&gt;Επιτρέπετε στο VYM να ελέγχει για ενημερώσεις ή πληροφορίες εκδόσεων;&lt;/h3&gt;Εάν το επιτρέπετε, το VYM θα &lt;ul&gt;&lt;li&gt;κάνει μια φορά έλεγχο για πληροφορίες έκδοσης&lt;/li&gt;&lt;li&gt;, θα ελέγχει τακτικά για ενημερώσεις και θα σας ενημερώνει σε περίπτωση που θα πρέπει να κάνετε ενημέρωση, π.χ. αν υπάρχουν διαθέσιμες διορθώσεις σφαλμάτων &lt;/li&gt;&lt;li&gt;ένα cookie με τυχαίο ID θα στέλνει την έκδοση του VYM, τον τύπο του λειτουργικού συστήματος και το ID του (π.χ. &quot;Windows&quot; or &quot;Linux&quot;) στον Uwe Drechsel.&lt;p&gt;Ως δημιουργός του VYM θα ήθελα να δω ολοένα και περισσότερους ανθρώπους να το χρησιμοποιούν. Επίσης, θα ήθελα να γνωρίζω σε ποια λειτουργικά συστήματα εκτελείται η εφαρμογή αυτή. Η στήριξη που θα πρέπει να παρέχω για καθένα σύστημα απαιτεί πολύ προσωπικό χρόνο.&lt;/p&gt; &lt;p&gt;Καμμιά άλλη πληροφορία ή δεδομένο δεν θα φτάνει σε μένα, όπως επίσης δεν θα λαμβάνω και δεν θα συλλέγω κανένα προσωπικό δεδομένο. (Μπορείτε να διασταυρώσετε τον ισχυρισμό μου ελέγχοντας τον πηγαίο κώδικα της εφαρμογής. &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;Εάν δεν το επιτρέπετε, &lt;ul&gt;&lt;li&gt;δεν θα γίνεται λήψη καμιάς πληροφορίας και, επίσης, &lt;b&gt;δεν θα έχω κίνητρο&lt;/b&gt; να διαθέσω χρόνο για την ανάπτυξη της εφαρμογής.&lt;/ul&gt;Παρακαλώ, να επιτρέψετε στο VYM να κάνει έλεγχο ενημερώσεων :-)</translation>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation>Δεν έχετε άδεια για να γράψετε στο </translation>
     </message>
     <message>
-        <source>Allow</source>
-        <translation>Επιτρέπεται</translation>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation>Αντικατάσταση ως νέο προεπιλεγμένο διάγραμμα</translation>
     </message>
     <message>
-        <source>Do not allow</source>
-        <translation>Δεν επιτρέπεται</translation>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="vanished">Ορισμός του προεπιλεγμένου διαγράμματος για φόρτωση κατά την εκκίνηση</translation>
     </message>
     <message>
-        <source>Thank you for enabling downloads!</source>
-        <translation>Ευχαριστούμε που ενεργοποιήσατε τις λήψεις!</translation>
+        <location line="-2486"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation>Λήψη δεδομένων από το JIRA για το υπο-δέντρο</translation>
     </message>
     <message>
-        <source>Update information</source>
-        <translation>Πληροφορίες ενημερώσεων</translation>
+        <location line="-578"/>
+        <source>(experimental)</source>
+        <translation>(σε πειραματικό στάδιο)</translation>
     </message>
     <message>
-        <source>vym is up to date.</source>
-        <comment>MainWindow</comment>
-        <translation>Το VYM είναι ενημερωμένο.</translation>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation>Σελιδοδείκτες Firefox</translation>
     </message>
     <message>
-        <source>Checking for updates...</source>
-        <comment>MainWindow</comment>
-        <translation>Έλεγχος για ενημερώσεις...</translation>
+        <location line="+315"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation>Μετακίνηση κλάδου διαγώνια προς τα πάνω</translation>
     </message>
     <message>
-        <source>Please allow vym to check for updates!</source>
-        <translation>Παρακαλώ, να επιτρέψετε στο VYM να κάνει έλεγχο ενημερώσεων!</translation>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation>Μετακίνηση κλάδου διαγώνια προς τα κάτω</translation>
     </message>
     <message>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
-        <translation>Ορισμός συγγραφέα για νέα διαγράμματα</translation>
+        <location line="+952"/>
+        <source>&amp;Connect</source>
+        <translation>&amp;Σύνδεση</translation>
     </message>
     <message>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
-        <translation>Αριθμός ορατών γονικών κόμβων στον επεξεργαστή εργασιών</translation>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation>Σύνδεση</translation>
     </message>
     <message>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
-        <translation>Αριθμός ορατών γονικών κόμβων στο παράθυρο αποτελεσμάτων εύρεσης</translation>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation>Λήψη δεδομένων συνεισφοράς χρήστη</translation>
     </message>
     <message>
-        <source>Set author for new maps (used in lockfile)</source>
-        <translation>Ορισμός συγγραφέα για νέα διαγράμματα (χρησιμοποιείται στο αρχείο κλειδώματος)</translation>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation>Χρήση του επεξεργαστή για επιλογή και επαναταξινόμηση αντικειμένων</translation>
     </message>
     <message>
-        <source>Number of parents shown in find results:</source>
-        <translation>Αριθμός γονικών κόμβων που εμφανίζονται στο παράθυρο αποτελεσμάτων:</translation>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation>Μορφοποίηση ζωγραφικής: επιλέξτε χρώμα από άλλο κλάδο και εφαρμόστε</translation>
     </message>
     <message>
-        <source>Webpage (HTML)...</source>
-        <comment>File export menu</comment>
-        <translation>Ιστοσελίδα (HTML)...</translation>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation>Χρήση του επεξεργαστή για μετακίνηση κλάδων χωρίς συνδέσεις</translation>
     </message>
     <message>
-        <source>Text (ASCII)...</source>
-        <comment>File export menu</comment>
-        <translation>Κείμενο (ASCII)...</translation>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation>Χρήση του επεξεργαστή για μετακίνηση προβολής χωρίς επιλογή</translation>
     </message>
     <message>
-        <source>Text with tasks</source>
-        <comment>File export menu</comment>
-        <translation>Κείμενο με εργασίες</translation>
+        <location line="+441"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation>Διαπιστευτήρια JIRA</translation>
     </message>
     <message>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
-        <translation>Άγνωστος χρήστης</translation>
+        <location line="+509"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation>Εμφάνιση εργαλειοθήκης</translation>
     </message>
     <message>
-        <source>Text (A&amp;O report)...</source>
-        <comment>Export format</comment>
-        <translation type="unfinished"></translation>
+        <location line="+789"/>
+        <source>Firefox Bookmarks</source>
+        <translation>Σελιδοδείκτες Firefox</translation>
     </message>
     <message>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation>Εισαγωγή σελιδοδεικτών Firefox στο νέο διάγραμμα</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save %1</source>
-        <translation type="unfinished">Αδυναμία αποθήκευσης του %1</translation>
+        <location line="+1770"/>
+        <source>Information</source>
+        <translation>Πληροφορίες</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
+        <translation>Επανεκκινήστε το vym για να εφαρμοστεί η νέα ρύθμιση του σκοτεινού θέματος</translation>
     </message>
     <message>
-        <source>branches</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
+        <translation>Δεν υπάρχει διαθέσιμη υποστήριξη SSL γι&apos; αυτή την έκδοση του vym</translation>
     </message>
     <message>
-        <source>notes</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
+        <location line="-1816"/>
+        <source>Open Freemind map</source>
+        <translation>Άνοιγμα διαγράμματος Freemind</translation>
     </message>
     <message>
-        <source>images</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
+        <location line="+616"/>
+        <source>Link to another vym map</source>
+        <translation>Σύνδεσμος προς άλλο διάγραμμα vym</translation>
     </message>
     <message>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation>Ορισμός ως σύνδεσμος προς διάγραμμα vym</translation>
     </message>
     <message>
-        <source>slides</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
+        <location line="-3110"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation>Επαναφορά προτεραιότητας δέλτα για ορατές εργασίες</translation>
     </message>
     <message>
-        <source>xLinks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
+        <location line="+1653"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation>Επιλογή χρώματος (Πιέστε Shift για περισσότερες επιλογές)</translation>
+    </message>
+    <message>
+        <location line="+681"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation>Η αποθήκευση του διαγράμματος απέτυχε:
+Δεν ήταν δυνατή η μετονομασία του διαγράμματος σε %1</translation>
+    </message>
+    <message>
+        <location line="+81"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation>Αδυναμία αποθήκευσης ως προκαθορισμένο, αποτυχία μετονομασίας σε
+%1</translation>
     </message>
 </context>
 <context>
     <name>MapEditor</name>
     <message>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation>Επεξεργαστής διαγράμματος</translation>
     </message>
     <message>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation>Επεξεργασία κεφαλίδας</translation>
     </message>
     <message>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
         <translation>Εκτύπωση διαγράμματος VYM</translation>
     </message>
+    <message>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation>Επεξεργαστής σημειώσεων</translation>
     </message>
 </context>
 <context>
     <name>QObject</name>
     <message>
+        <location filename="../src/export-base.cpp" line="+63"/>
+        <location filename="../src/file.cpp" line="+334"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+519"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>Σφάλμα</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>Αδυναμία πρόσβασης του προσωρινού φακελου</translation>
     </message>
     <message>
+        <location line="+58"/>
         <source>Warning: Overwriting file</source>
         <translation>Προειδοποίηση: το αρχείο θα αντικατασταθεί</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation>Η εξαγωγή του %1 θα αντικαταστήσει το υπάρχον αρχείο:
 %2</translation>
     </message>
     <message>
+        <location filename="../src/export-ascii.cpp" line="+13"/>
         <source>Export as ASCII</source>
         <translation>Εξαγωγή ως ASCII</translation>
     </message>
     <message>
+        <location filename="../src/export-ao.cpp" line="+15"/>
         <source>(still experimental)</source>
         <translation>(σε πειραματική λειτουργία)</translation>
     </message>
     <message>
+        <location line="+12"/>
+        <location filename="../src/export-ascii.cpp" line="+8"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>Κρίσιμο σφάλμα εξαγωγής</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation>Αδυναμία εξαγωγής ως AO σε %1</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+2"/>
+        <location filename="../src/export-csv.cpp" line="+2"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+3"/>
+        <location filename="../src/export-impress.cpp" line="-82"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>Η εξαγωγή απέτυχε.</translation>
     </message>
     <message>
+        <location filename="../src/export-ascii.cpp" line="-1"/>
         <source>Could not export as ASCII to %1</source>
         <translation>Αδυναμία εξαγωγής ως ASCII σε %1</translation>
     </message>
     <message>
+        <location filename="../src/export-csv.cpp" line="-10"/>
         <source>Export as CSV</source>
         <translation>Εξαγωγή ως CSV</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation>Αδυναμία εξαγωγής ως CSV σε %1</translation>
     </message>
     <message>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>Η εξαγωγή των σελιδοδεικτών %1 θα αντικαταστήσει
-το υπάρχον αρχείο με τους σελιδοδείκτες.</translation>
-    </message>
-    <message>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>Προειδοποίηση: θα γινει αντικατάσταση των σελιδοδεικτών %1</translation>
-    </message>
-    <message>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>Προειδοποίηση</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>Αδυναμία εύρεσης σεναρίου %1
-για γνωστοποίηση των περιηγητών σχετικά με τις αλλαγές των σελιδοδεικτών.</translation>
-    </message>
-    <message>
+        <location filename="../src/export-confluence.cpp" line="-57"/>
+        <location filename="../src/export-html.cpp" line="-94"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation>Περιεχόμενα:</translation>
     </message>
     <message>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation>Η εξαγωγή ματαιώθηκε.</translation>
     </message>
     <message>
+        <location line="+14"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation>Κρίσιμο</translation>
     </message>
     <message>
+        <location line="-98"/>
         <source>Could not find stylesheet %1</source>
         <translation>Αδυναμία εύρεσης stylesheet %1</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation>Σφάλμα</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -4968,56 +3216,69 @@ to notifiy Browsers of changed bookmarks.</source>
 %2</translation>
     </message>
     <message>
+        <location line="+88"/>
         <source>Trying to create directory for flags:</source>
         <translation>Προσπάθεια δημιουργίας φακέλου για τις σημαίες:</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation>Αδυναμία δημιουργίας του %1</translation>
     </message>
     <message>
-        <source>Could not copy %1 to %2</source>
-        <translation>Αδυναμία αντιγραφής του %1 στο %2</translation>
-    </message>
-    <message>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="-77"/>
         <source>Trying to save HTML file:</source>
         <translation>Προσπάθεια αποθήκευσης του HTML αρχείου:</translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/export-html.cpp" line="+1"/>
+        <location filename="../src/export-impress.cpp" line="-1"/>
         <source>Could not write %1</source>
         <translation>Αδυναμία εγγραφής του %1</translation>
     </message>
     <message>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation>Αδυναμία εξαγωγής ως OrgMode σε %1</translation>
     </message>
     <message>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation>Αδυναμία εξαγωγής ως LaTeX σε %1</translation>
     </message>
     <message>
+        <location filename="../src/export-impress.cpp" line="-115"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation>Εξαγωγή ως αρχείο παρουσίασης του LibreOffice - Impress</translation>
     </message>
     <message>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation>Δεν υπάρχουν αντικείμενα στο διάγραμμα!</translation>
     </message>
     <message>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation>Αδυναμία ανάγνωσης ρυθμίσεων από το &quot;%1&quot;</translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>Έλεγχος &quot;%1&quot; στο
 %2</translation>
     </message>
     <message>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>Αδυναμία ανάγνωσης του %1</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -5025,191 +3286,308 @@ Do you risk to overwrite its contents?</source>
 Θα διακινδυνέψετε την αντικατάσταση των περιεχομένων του;</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation>Αντικατάσταση</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Άκυρο</translation>
     </message>
     <message>
+        <location line="+186"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="-85"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>Κρίσιμο σφάλμα</translation>
     </message>
     <message>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation>Αδυναμία μετακίνησης υπάρχοντος αρχείου εκτός διαδρομής πριν την αποθήκευση.</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start tool to decompress data.</source>
-        <translation>Αδυναμία εκτέλεσης εφαρμογής για την αποσυμπίεση των δεδομένων.</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>Αδυναμία εκκίνησης εφαρμογής για τη συμπίεση των δεδομένων.</translation>
-    </message>
-    <message>
+        <location line="+36"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>Η εφαρμογή συμπίεσης δεν έκλεισε κανονικά</translation>
     </message>
     <message>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation>Αδυναμία μετονομασιας %1 πάλι σε %2</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation>Αδυναμία αφαίρεσης στόχου ενός παλιού συμβολικού συνδέσμου %1</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation>Αδυναμία μετονομασίας στόχου ενός παλιού συμβολικού συνδέσμου %1</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation>Αδυναμία σύνδεσης από το %1 στον στόχο ενός παλιού συμβολικού συνδέσμου %1 </translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation>Αποθήκευση του %1, αλλά αδυναμία αφαίρεσης του %2</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>Αδυναμία εκκίνησης εφαρμογής για την αποσυμπίεση των δεδομένων.</translation>
-    </message>
-    <message>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>Η εφαρμογή αποσυμπίεσης δεν έκλεισε κανονικά</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a macro at  %1.
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
 </source>
-        <translation>Αδυναμία εύρεσης μακροεντολης στο %1.</translation>
+        <comment>Macros::pathExists</comment>
+        <translation type="unfinished">Αδυναμία εύρεσης μακροεντολών στο  %1.</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Please use Settings-&gt;</source>
         <translation>Παρακαλώ χρησιμοποιήστε τις Ρυθμίσεις-&gt;</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Set directory for vym macros</source>
         <translation>Ορισμός φακέλου για τις μακροεντολές του VYM</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation>Προειδοποίηση: πρόβλημα με την έκδοση</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <translation>&lt;h3&gt;Η έκδοση αυτού του διαγράμματος είναι νεότερη από το VYM&lt;/h3&gt;&lt;p&gt;Το διάγραμμα που προσπαθείτε να φορτώσετε αποθηκεύτηκε με την έκδοση %1 του VYM. Η έκδοση του VYM που εκτελείται αυτή τη στιγμή ειναι %2. Εάν αντιμετωπίσετε προβλήματα μετά το πάτημα του πλήκτρου &quot;εντάξει&quot;, η ενημέρωση του VYM θα βοηθήσει.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
+        <source>Could not start %1</source>
+        <translation>Αδυναμία εκκίνησης του %1</translation>
+    </message>
+    <message>
+        <location filename="../src/file.cpp" line="+43"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
+        <source>%1 didn&apos;t exit normally</source>
+        <translation>Η εφαρμογή %1 δεν έκλεισε κανονικα</translation>
+    </message>
+    <message>
+        <location filename="../src/export-html.cpp" line="-293"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation>Σημαία: %1</translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation>Σημαία: url</translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation>Εικόνα: %1</translation>
+    </message>
+    <message>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
+        <translation>Εξαγωγή ως Markdown</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
+        <translation>Δεν ήταν δυνατή η εξαγωγή ως Markdown στο %1</translation>
+    </message>
+    <message>
+        <location filename="../src/file.cpp" line="-11"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation>Αδυναμία εκκίνησης εργαλείου %1 για αποσυμπίεση δεδομένων!</translation>
+    </message>
+    <message>
+        <source>Couldn&apos;t find macros at  %1.
+</source>
+        <translation type="vanished">Αδυναμία εύρεσης μακροεντολών στο  %1.</translation>
+    </message>
+    <message>
+        <location filename="../src/main.cpp" line="+1"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
  </source>
-        <translation>Αδυναμία εύρεσης εφαρμογής για αποσυμπίεση δεδομένων. Παρακαλώ, κάντε λήψη και εγκαταστήστε την εφαρμογή 7z και ορίστε τη διαδρομή στο μενού των ρυθμίσεων:</translation>
+        <comment>zip tool missing on Linux/Mac platform</comment>
+        <translation>Δεν ήταν δυνατή η εύρεση εργαλείου για συμπίεση/αποσυμπίεση δεδομένων. Εγκαταστήστε τη και προσδιορίστε τη διαδρομή στο μενού Ρυθμίσεις:</translation>
     </message>
     <message>
+        <location line="+62"/>
+        <location line="+15"/>
         <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation>Αδυναμία ανοίγματος &quot;%1&quot;
-%2.</translation>
+.</source>
+        <translation>Αδυναμία ανοίγματος &quot;%1&quot;</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
-        <translation>Αδυναμία αποθήκευσης &quot;%1&quot;</translation>
+        <source>Couldn&apos;t read macros from &quot;%1&quot;
+.</source>
+        <translation type="vanished">Αδυναμία ανάγνωσης μακροεντολών από το &quot;%1&quot;</translation>
     </message>
     <message>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Δεν βρέθηκε πελάτης Bugzilla. Για το openSUSE μπορείτε να κάνετε εγκατάσταση με (εκτέλεση ως διαχειριστής):</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation>Αδυναμία εγγραφής μακροεντολών στο &quot;%1&quot;</translation>
     </message>
     <message>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Εναλλακτικά, μπορείτε να προσθέσετε το αποθετήριο
-και να εγκαταστήσετε το άρθρωμα perl για πρόσβαση στο Bugzilla χρησιμοποιώντας το YaST</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation>Αδυναμία ανάγνωσης σεναρίου από το &quot;%1&quot;</translation>
     </message>
     <message>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
-        <translation>Προειδοποίηση: δεν βρέθηκε πελάτης Bugzilla</translation>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
+        <translation>Αδυναμία εγγραφής σεναρίων στο &quot;%1&quot;</translation>
     </message>
     <message>
-        <source>Warning: Version Problem</source>
-        <translation>Προειδοποίηση: πρόβλημα με την έκδοση</translation>
+        <location filename="../src/export-ao.cpp" line="-15"/>
+        <source>Export as AO report</source>
+        <translation>Εξαγωγή ως αναφορά ΑΟ</translation>
     </message>
     <message>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
-        <translation>&lt;h3&gt;Η έκδοση αυτού του διαγράμματος είναι νεότερη από το VYM&lt;/h3&gt;&lt;p&gt;Το διάγραμμα που προσπαθείτε να φορτώσετε αποθηκεύτηκε με την έκδοση %1 του VYM. Η έκδοση του VYM που εκτελείται αυτή τη στιγμή ειναι %2. Εάν αντιμετωπίσετε προβλήματα μετά το πάτημα του πλήκτρου &quot;εντάξει&quot;, η ενημέρωση του VYM θα βοηθήσει.&lt;/p&gt;</translation>
+        <location filename="../src/file.cpp" line="-168"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
+        <translation>Αδυναμία εκκίνησης εργαλείου %1 για συμπίεση δεδομένων!
+Το διάγραμμα δεν μπορεί να αποθηκευτεί. Παρακαλώ ελέγξτε εάν ένα αντίγραφο ασφαλείας είναι διαθέσιμο ή κάντε εξαγωγή σε αρχείο XML!</translation>
     </message>
     <message>
-        <source>Could not start %1</source>
-        <translation>Αδυναμία εκκίνησης του %1</translation>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
+        <translation>Εξαγωγή σαν σελιδοδείκτες του Firefox</translation>
     </message>
     <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation>Η εφαρμογή %1 δεν έκλεισε κανονικα</translation>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation>Δεν ήταν δυνατή η εξαγωγή ως σελιδοδείκτες Firefox στο %1</translation>
     </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
     <message>
-        <source>Form</source>
-        <translation>Φόρμα</translation>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation>Εισαγωγή σελιδοδεικτών Firefox</translation>
     </message>
     <message>
-        <source>Tab 1</source>
-        <translation>Καρτέλα 1</translation>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
+        <translation>Φόρτωση σελιδοδεικτών:</translation>
     </message>
     <message>
-        <source>Save to selected slide</source>
-        <translation>Αποθήκευση στην επιλεγμένη διαφάνεια</translation>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation>Εισαγωγή %1 σελιδοδεικτών</translation>
     </message>
     <message>
-        <source>Run</source>
-        <translation>Εκτέλεση</translation>
+        <location filename="../src/main.cpp" line="-85"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation>Δεν ήταν δυνατή η εύρεση εργαλείου για την αποσυμπίεση δεδομένων, ή η έκδοση των Windows σας είναι παλαιότερη από τα Windows 10.</translation>
     </message>
     <message>
-        <source>Tab 2</source>
-        <translation>Καρτέλα 2</translation>
+        <location filename="../src/mainwindow.cpp" line="-232"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
+        <translation>Τα υπάρχοντα αρχεία κλειδώματος έχουν αγνοηθεί για τα διαγράμματα που αναφέρονται παρακάτω. Παρακαλώ ελέγξτε εάν τα διαγράμματα είναι ανοιχτά σε άλλο στιγμιότυπο του vym:</translation>
+    </message>
+    <message>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
+        <translation>Ο πελάτης JIRA δεν έχει ρυθμιστεί</translation>
+    </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
+    <message>
+        <source>Form</source>
+        <translation type="vanished">Φόρμα</translation>
+    </message>
+    <message>
+        <source>Save to selected slide</source>
+        <translation type="vanished">Αποθήκευση στην επιλεγμένη διαφάνεια</translation>
     </message>
     <message>
-        <source>Current key:</source>
-        <translation>Τρέχον κλειδί:</translation>
+        <source>Run</source>
+        <translation type="vanished">Εκτέλεση</translation>
     </message>
     <message>
         <source>Load</source>
-        <translation>Φόρτωση</translation>
+        <translation type="vanished">Φόρτωση</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation>Αποθήκευση</translation>
+        <translation type="vanished">Αποθήκευση</translation>
     </message>
     <message>
+        <location filename="../src/scripteditor.cpp" line="-123"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation>Διαφάνεια</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation>Μακροεντολή</translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation>Αποθήκευση</translation>
-    </message>
-    <message>
+        <location line="+34"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation>Προειδοποίηση</translation>
     </message>
     <message>
+        <location line="-6"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation>Αδυναμία λήψης μοντέλου για αποθήκευση σεναρίου στη διαφάνεια!</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation>Αδυναμία εύρεσης διαφάνειας για αποθήκευση σεναρίου σε αυτή!</translation>
     </message>
     <message>
+        <location line="+91"/>
         <source>Save script</source>
         <translation>Αποθήκευση σεναρίου</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -5219,278 +3597,378 @@ Do you want to overwrite it?</source>
 Θέλετε να αντικατασταθεί;</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Overwrite</source>
         <translation>Αντικατάσταση</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Άκυρο</translation>
     </message>
     <message>
+        <location line="-58"/>
         <source>Load script</source>
         <translation>Φόρτωση σεναρίου</translation>
     </message>
     <message>
-        <source>Error</source>
-        <translation>Σφάλμα</translation>
+        <source>Reload</source>
+        <translation type="vanished">Επαναφόρτωση</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation>Αδυναμία ανοίγματος του %1.</translation>
+        <location line="-89"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation>Σενάριο</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation>Δεν επιλέχθηκε σενάριο</translation>
+    </message>
+    <message>
+        <location line="+72"/>
+        <source>Macros saved to %1</source>
+        <translation>Οι μακροεντολές αποθηκεύτηκαν στο %1</translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation>Το σενάριο αποθηκεύτηκε στο %1</translation>
+    </message>
+    <message>
+        <source>Save as</source>
+        <translation type="vanished">Αποθήκευση ως</translation>
     </message>
 </context>
 <context>
     <name>ShowTextDialog</name>
     <message>
         <source>Dialog</source>
-        <translation>Παράθυρο</translation>
+        <translation type="vanished">Παράθυρο</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation>Κλείσιμο</translation>
+        <translation type="vanished">Κλείσιμο</translation>
     </message>
 </context>
 <context>
     <name>TaskEditor</name>
     <message>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
-        <translation>Τρέχον διάγραμμα</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Εμφάνιση μόνο εργασιών από το τρέχον διάγραμμα</translation>
     </message>
     <message>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Ενεργές εργασίες</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Εμφάνιση μόνο των ενεργών εργασιών</translation>
     </message>
     <message>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Νέες εργασίες</translation>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Εμφάνιση μόνο νέων εργασιών</translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation>Επεξεργασία κεφαλίδας</translation>
+        <location line="+18"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Εμφάνιση μόνο εργασιών που επισημαίνονται με αυτή τη σημαία βέλους προς τα πάνω</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Εμφάνιση μόνο εργασιών που δεν επισημαίνονται με σημαία βέλους προς τα πάνω</translation>
+    </message>
+    <message>
+        <location line="-29"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation>Εμφάνιση μόνο εργασιών αποκλεισμού</translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation>Προτεραιότητα</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation>Κατάσταση</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation>Ηλικία συνολικά</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation>Ηλικία mod.</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation>Ύπνος</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation>Διάγραμμα</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation>Εργασία</translation>
     </message>
+    <message>
+        <location line="-14"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation>Δέλτα</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation>Σημαίες</translation>
+    </message>
 </context>
 <context>
     <name>TextEditor</name>
     <message>
+        <location filename="../src/texteditor.cpp" line="+51"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation>Έτοιμο</translation>
     </message>
     <message>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation>Επεξεργαστής κειμένου</translation>
-    </message>
-    <message>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation>Δεν υπάρχει διαθέσιμο όνομα γι&apos; αυτή τη σημείωση.</translation>
     </message>
     <message>
+        <location line="+83"/>
         <source>Note Actions</source>
         <translation>Σημειώσεις ενεργειών</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>&amp;Σημείωση</translation>
     </message>
     <message>
+        <location line="+2"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation>Επεξεργαστής κειμένου</translation>
     </message>
     <message>
+        <location line="-116"/>
         <source>&amp;Import...</source>
         <translation>&amp;Εισαγωγή...</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>&amp;Εξαγωγή...</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>Εξαγωγή &amp;ως... (HTML)</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>Εξαγωγή &amp;ως... (ASCII)</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>&amp;Εκτύπωση...</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>&amp;Delete All</source>
         <translation>&amp;Διαγραφή ολων</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Edit Actions</source>
         <translation>Επεξεργασία ενεργειών</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Edi&amp;t</source>
         <translation>Επεξερ&amp;γασία</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&amp;Undo</source>
         <translation>&amp;Αναίρεση</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>&amp;Ακύρωση αναίρεσης</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>Επιλογή και αντιγραφή &amp;όλων</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>&amp;Αντιγραφή</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>Αποκο&amp;πή</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>&amp;Επικόλληση</translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation>Υποδείξεις γραμματοσειράς</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>F&amp;ormat</source>
         <translation>Μορ&amp;φοποίηση</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>&amp;Font hint</source>
         <translation>&amp;Υπόδειξη γραμματοσειράς</translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation>&amp;Εμπλουτισμένο κείμενο</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation>Γραμματοσειρές</translation>
     </message>
     <message>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation>Μορφοποίηση</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>&amp;Χρώμα...</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>&amp;Έντονα</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>&amp;Πλάγια</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>&amp;Υπογράμμιση</translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Subs&amp;cript</source>
         <translation>&amp;Δείκτης</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Su&amp;perscript</source>
         <translation>Εκ&amp;θέτης</translation>
     </message>
     <message>
+        <location line="+15"/>
         <source>&amp;Left</source>
         <translation>&amp;Αριστερά</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>&amp;Κέντρο</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>&amp;Δεξιά</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>&amp;Στοίχιση</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>&amp;Ρυθμίσεις</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation>Ορισμός &amp;σταθερής γραμματοσειράς</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>Ορισμός &amp;γραμματοσειράς μεταβλητών</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>&amp;Η σταθερή γραμματοσειρά είναι η προκαθορισμένη</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Note Editor</source>
         <translation>Επεξεργαστής σημειώσεων</translation>
     </message>
     <message>
+        <location line="+174"/>
         <source>Export Note to single file</source>
         <translation>Εξαγωγή σημείωσης σε ξεχωριστό αρχείο</translation>
     </message>
     <message>
+        <location line="+10"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -5500,36 +3978,57 @@ Do you want to overwrite it?</source>
 Θέλετε να αντικατασταθεί;</translation>
     </message>
     <message>
+        <location line="-71"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>Αντικατάσταση</translation>
     </message>
     <message>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Άκυρο</translation>
     </message>
     <message>
+        <location line="-57"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation>Αδυναμία εξαγωγής σημείωσης</translation>
     </message>
     <message>
+        <location line="+41"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>Εξαγωγή σημείωσης σε ξεχωριστό αρχείο (ASCII)</translation>
     </message>
     <message>
+        <location line="+45"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation>Εκτύπωση</translation>
     </message>
+    <message>
+        <location line="-310"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation>Ορίστε το προεπιλεγμένο χρώμα φόντου στο Εμπλουτισμένο Κείμενο</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation>Ορίστε το προεπιλεγμένο χρώμα γραμματοσειράς στο Εμπλουτισμένο Κείμενο</translation>
+    </message>
 </context>
 <context>
     <name>TreeEditor</name>
     <message>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation>Επιλογή αντικειμένου που βρίσκεται ψηλότερα</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation>Επιλογή αντικειμένου που βρίσκεται χαμηλότερα</translation>
@@ -5538,149 +4037,155 @@ Do you want to overwrite it?</source>
 <context>
     <name>VymModel</name>
     <message>
+        <location filename="../src/vymmodel.cpp" line="-3933"/>
         <source>unnamed</source>
         <translation>Ανώνυμο</translation>
     </message>
     <message>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation>Κρίσιμο συντακτικό σφάλμα</translation>
     </message>
     <message>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation>Κρίσιμο σφάλμα φόρτωσης</translation>
     </message>
     <message>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation>Αδυναμία δημιουργίας προσωρινού φακέλου πριν τη φόρτωση</translation>
     </message>
     <message>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation>Αδυναμία εύρεσης ενός διαγράμματος (*.xml) στο αρχείο του VYM.</translation>
     </message>
     <message>
+        <location line="+459"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation>Άγνωστος χρήστης</translation>
     </message>
     <message>
-        <source>Map seems to be already opened in another vym instance! It will be opened in readonly mode.
-
-Map is locked by &quot;%1&quot; on &quot;%2&quot;</source>
-        <translation type="vanished">Το διάγραμμα φαίνεται πως είναι ανοιχτό σε ένα στιγμιότυπο του VYM! Θα ανοίξει μόνο σε λειτουργία ανάγνωσης.
-
-Το διάγραμμα κλειδώθηκε από &quot;%1&quot; σε &quot;%2&quot;</translation>
-    </message>
-    <message>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation>Προειδοποίηση: Το διάγραμμα φαίνεται πως είναι ήδη ανοιχτό</translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation>Το διάγραμμα %1
-δεν χρησιμοποίησε τη συμπιεσμένη μορφή αρχείου του VYM.
-Κάνοντας εγγραφή ενώ δεν είναι συμπιεσμένο το διάγραμμα,
-θα εγγραφούν εικόνες και σημαίες και έτσι υπάρχει περίπτωση
-να αντικατασταθούν αρχεία στον δοσμένο φάκελο
-
-Θέλετε να κάνετε εγγραφή του διαγράμματος;</translation>
-    </message>
-    <message>
+        <location line="-365"/>
         <source>compressed (vym default)</source>
         <translation>Συμπιεσμένο (προκαθορισμένο του VYM)</translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation>Μη συμπιεσμένο</translation>
-    </message>
-    <message>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation>Άκυρο</translation>
     </message>
     <message>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation>Αποθήκευση σφάλματος</translation>
     </message>
     <message>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation>Το %1
 δεν είναι δυνατόν να αφαιρεθεί πριν την αποθήκευση</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation>Το %1
 δεν είναι δυνατόν να μετονομαστεί πριν την αποθήκευση</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation>Κρίσιμο σφάλμα αποθήκευσης</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation>Αδυναμία δημιουργίας προσωρινού φακέλου πριν την αποθήκευση</translation>
     </message>
     <message>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation>Εικόνες</translation>
     </message>
     <message>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation>Όλα</translation>
     </message>
     <message>
+        <location line="-56"/>
         <source>Load image</source>
         <translation>Φόρτωση εικόνας</translation>
     </message>
     <message>
+        <location line="+59"/>
         <source>Save image</source>
         <translation>Αποθήκευση εικόνας</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation>Το αρχείο %1 υπάρχει ήδη.
 Θέλετε να το αντικαταστήσετε;</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation>Αντικατάσταση</translation>
     </message>
     <message>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation>Κρίσιμο σφάλμα</translation>
     </message>
     <message>
-        <source>Unsupported format in %1</source>
-        <translation>Μη υποστηριζόμενη μορφή στο %1</translation>
-    </message>
-    <message>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation>Αδυναμία αποθήκευσης του %1</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation>Κρίσιμο σφάλμα εισαγωγής</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation>Αδυναμία εύρεσης του φακέλου %1</translation>
     </message>
     <message>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation>Επιλογή δομής φακέλου για εισαγωγή</translation>
     </message>
     <message>
+        <location line="+191"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -5691,137 +4196,186 @@ Do you want to reload that map with the new file?</source>
 Θέλετε να ξαναφορτώσετε το διάγραμμα με το νέο αρχείο;</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Reload</source>
         <translation>Επαναφόρτωση</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation>Αγνόηση</translation>
     </message>
     <message>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation>Προειδοποίηση</translation>
     </message>
     <message>
-        <source>Redo failed:
-%1</source>
-        <translation>Η ακύρωση αναίρεσης απέτυχε:
-%1</translation>
-    </message>
-    <message>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation>Απενεργοποίηση της αυτόματης αποθήκευσης κατά τη διάρκεια της αναίρεσης.</translation>
     </message>
     <message>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation>Σημείωση</translation>
     </message>
     <message>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation>Εικόνα</translation>
-    </message>
-    <message>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation>Νέο διάγραμμα</translation>
     </message>
     <message>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation>Επικοινωνια με Bugzilla...</translation>
-    </message>
-    <message>
-        <source>Script aborted:
-%1</source>
-        <translation>Το σενάριο αποβλήθηκε:
-%1</translation>
-    </message>
-    <message>
+        <location line="+1273"/>
         <source>Export map as image</source>
         <translation>Εξαγωγή διαγράμματος σε εικόνα</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation>Αδυναμία αποθήκευσης QImage %1 σε μορφή %2</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation>Εξαγωγη διαγράμματος ως PDF</translation>
     </message>
     <message>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation>Εξαγωγή διαγράμματος ως SVG</translation>
     </message>
     <message>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation>Εξαγωγή διαγράμματος ως XML</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation>Εξαγωγή του XML σε φάκελο</translation>
     </message>
     <message>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation>Κρίσιμο σφάλμα εξαγωγής</translation>
     </message>
     <message>
+        <location line="+83"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation>Εξαγωγή ως csv</translation>
     </message>
     <message>
+        <location line="-26"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation>(σε πειραματική λειτουργία)</translation>
     </message>
     <message>
+        <location line="+368"/>
         <source>Load background image</source>
         <translation>Φόρτωση εικόνας παρασκηνίου</translation>
     </message>
     <message>
+        <location line="-4987"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation>Άγνωστος χρήστης</translation>
     </message>
     <message>
+        <location line="+966"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
-        <translation type="unfinished"></translation>
+        <translation>Αδυναμία δημιουργίας αρχείου κλειδώματος του διαγράμματος! Θα ανοίξει μόνο σε λειτουργία ανάγνωσης.</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
-        <translation type="unfinished">Προειδοποίηση</translation>
+        <translation>Προειδοποίηση</translation>
     </message>
     <message>
+        <location line="-32"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
 
 Please only delete the lockfile, if you are sure nobody else is currently working on this map.</source>
-        <translation type="unfinished"></translation>
+        <translation>Το διάγραμμα φαίνεται να έχει ήδη ανοίξει σε άλλο στιγμιότυπο του vym!
+
+Το διάγραμμα είναι κλειδωμένο από το &quot;% 1&quot; στο &quot;% 2&quot;
+
+Διαγράψτε το αρχείο κλειδώματος, μόνο εάν είστε βέβαιοι ότι κανείς άλλος δεν εργάζεται αυτήν τη στιγμή σε αυτό το διάγραμμα.</translation>
     </message>
     <message>
+        <location line="-41"/>
         <source>Removed lockfile for %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Αφαιρέθηκε το αρχείο κλειδώματος για το %1</translation>
     </message>
     <message>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Αδυναμία αφαίρεσης αρχείου κλειδώματος για το %1</translation>
+    </message>
+    <message>
+        <location line="+3048"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation>Επικοινωνία με Jira...</translation>
+    </message>
+    <message>
+        <location line="-3428"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation>Το διάγραμμα %1
+δεν χρησιμοποίησε τη συμπιεσμένη μορφή αρχείου vym.
+Αν το γράψετε ασυμπίεστο θα εγγραφούν εικόνες
+και σημαίες και έτσι μπορεί να αντικαταστήσει αρχεία στον δεδομένο κατάλογο
+
+Θέλετε να γράψετε το διάγραμμα</translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation>μη συμπιεσμένο, πιθανή αντικατάσταση υπαρχόντων αρχείων</translation>
+    </message>
+    <message>
+        <location line="+3405"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation>Αδυναμία εύρεσης προτύπου ετικέτας Jira στο %1</translation>
+    </message>
+    <message>
+        <location line="+98"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation>Έγινε λήψη δεδομένων Jira.</translation>
     </message>
 </context>
 <context>
     <name>VymProcess</name>
     <message>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation>Κρίσιμο σφάλμα</translation>
     </message>
     <message>
+        <location line="-4"/>
         <source>Could not start %1</source>
         <translation>Αδυναμία εκκίνησης του %1</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>Η εφαρμογή %1 δεν έκλεισε κανονικα</translation>
     </message>
@@ -5829,11 +4383,13 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
 <context>
     <name>VymView</name>
     <message>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Επεξεργαστής κόμβων διαγράμματος</translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Επεξεργαστής διαφανειών</translation>
@@ -5843,27 +4399,98 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
     <name>WarningDialog</name>
     <message>
         <source>Dialog</source>
-        <translation>Παράθυρο</translation>
+        <translation type="vanished">Παράθυρο</translation>
     </message>
     <message>
         <source>showAgainBox</source>
-        <translation>Εμφάνιση AgainBox</translation>
+        <translation type="vanished">Εμφάνιση AgainBox</translation>
     </message>
     <message>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation>Άκυρο</translation>
     </message>
     <message>
         <source>Ok</source>
-        <translation>Εντάξει</translation>
+        <translation type="vanished">Εντάξει</translation>
     </message>
     <message>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation>Πρόοδος</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation>Δείξε αυτό το μήνυμα πάλι</translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation>Προειδοποίηση</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Status</source>
+        <translation type="vanished">Κατάσταση</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="vanished">Κλείσιμο</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation>ρυθμίσεις συμπίεσης</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation>Διαδρομή προς το αρχείο 7z.exe</translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation>Ορίστε διαδρομή προς το 7z για συμπίεση/αποσυμπίεση αρχείων</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation>Ορίστε διαδρομή για συμπίεση αρχείων</translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation>Ορίστε διαδρομή για αποσυμπίεση αρχείων</translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation>Κατάσταση: %1</translation>
+    </message>
+    <message>
+        <source>zip settings</source>
+        <translation type="vanished">ρυθμίσεις συμπίεσης</translation>
+    </message>
+    <message>
+        <source>zip tool:</source>
+        <translation type="vanished">εργαλείο συμπίεσης:</translation>
+    </message>
+    <message>
+        <source>Choose</source>
+        <translation type="vanished">Επιλογή</translation>
+    </message>
+    <message>
+        <source>unzip tool:</source>
+        <translation type="vanished">εργαλείο αποσυμπίεσης:</translation>
+    </message>
 </context>
 </TS>
index f753986b95438652f8e02fffcac97b59f80010b7..e79e0f91da9659002118f83051e36c34e7e019bd 100644 (file)
@@ -4,19 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation></translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+21"/>
         <source>Please use Settings-&gt;</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="-3"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
         <translation></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+3"/>
         <source>Set application to open an URL...</source>
         <translation></translation>
     </message>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
-        <source>Branch Property Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
-        <source>Frame</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
-        <source>Geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
-        <source>No Frame</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
-        <source>Rectangle</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
-        <source>Rounded Rectangle</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
-        <source>Ellipse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
-        <source>Cloud</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
-        <source>Padding</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
-        <source>Borderline width</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
-        <source>Include children</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
-        <source>Colors</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
-        <source>Borderline color</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
-        <source>Background color</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
-        <source>Layout</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
-        <source>Include images horizontally</source>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
+        <source>Property Editor</source>
+        <comment>Window caption</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
-        <source>Include images vertically</source>
+        <location line="+22"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
-        <source>Free positioning of children (experimental!)</source>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
-        <source>Link</source>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
-        <source>Hide link if unselected</source>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
-        <source>Attributes</source>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
-        <source>+</source>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
-        <source>-</source>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>DownloadAgent</name>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
-        <source>Warning</source>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>EditXLinkDialog</name>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
-        <source>Edit XLink</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
-        <source>Arrow begin:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
-        <source>XLink width:</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
-        <source>Use color of heading</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
-        <source>Line style:</source>
-        <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
-        <source>Arrow end:</source>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
-        <source>Close</source>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
-        <source>XLink color:</source>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DownloadAgent</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
-        <source>Use as default:</source>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
+        <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
-        <source>Export HTML</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
-        <source>Export to directory:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
-        <source>Browse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
-        <source>Options</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
-        <source>Image of map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
-        <source>Include images</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
-        <source>Table of contents</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
-        <source>Task flags</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
-        <source>General flags</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
-        <source>Number sections</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
-        <source>Copy CSS from </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
-        <source>Use CSS from</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
-        <source>Colored headings in text</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
-        <source>Save settings in map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
-        <source>Stylesheets</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
-        <source>Scripts</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
-        <source>After Export:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
-        <source>Export</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -346,58 +170,15 @@ want to allow this in your system!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>ExtraInfoDialog</name>
-    <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
-        <source>VYM - Info</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
-        <source>Map:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
-        <source>Title:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
-        <source>Author:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
-        <source>Comment:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
-        <source>Statistics:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
-        <source>Cancel</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation type="unfinished"></translation>
@@ -406,90 +187,70 @@ want to allow this in your system!</source>
 <context>
     <name>HeadingEditor</name>
     <message>
-        <location filename="../headingeditor.cpp" line="9"/>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
     <message>
-        <location filename="../historywindow.ui" line="13"/>
-        <source>Dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="50"/>
-        <source>Redo</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="72"/>
-        <source>Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="77"/>
-        <source>Comment</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="85"/>
-        <source>Undo</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>LineEditDialog</name>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
-        <source>Dialog</source>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
-        <source>TextLabel</source>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation type="unfinished"></translation>
     </message>
@@ -497,19 +258,12 @@ want to allow this in your system!</source>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -517,2019 +271,2210 @@ want to allow this in your system!</source>
 <context>
     <name>Main</name>
     <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
         <source>Linkstyle Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
+        <location line="+42"/>
         <source>Set &amp;Background Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
+        <location line="+14"/>
         <source>&amp;View</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
+        <location line="+1867"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
+        <location line="-432"/>
         <source>Open anyway</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
+        <location line="+73"/>
         <source>Create</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
+        <location line="+86"/>
         <source>Load vym map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
+        <location line="+6"/>
         <source>Import: Add vym map to selection</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
+        <location line="+4"/>
         <source>Import: Replace selection with vym map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
+        <location line="-240"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
         <source>Critical Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
+        <location line="-1689"/>
         <source>Add</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="260"/>
+        <location line="-2909"/>
         <source>Search results list</source>
         <comment>FindResultWidget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
+        <location line="+3108"/>
         <source>File actions toolbar</source>
         <comment>Toolbar for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
+        <location line="-2171"/>
         <source>PDF%1</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
+        <location line="+5"/>
         <source>SVG%1</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
+        <location line="-63"/>
         <source>Repeat last export (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
+        <location line="+2248"/>
         <source>Edit actions toolbar</source>
         <comment>Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
+        <location line="-2017"/>
         <source>Add attribute</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
+        <location line="+131"/>
         <source>&amp;Detach</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
+        <location line="+1"/>
         <source>Detach branch and use as mapcenter</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
+        <location line="+19"/>
         <source>Sort children backwards</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
+        <location line="+81"/>
         <source>Expand all branches</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
+        <location line="+8"/>
         <source>Expand one level</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
+        <location line="-33"/>
         <source>Collapse one level</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
+        <location line="+13"/>
         <source>Collapse unselected levels</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
+        <location line="-47"/>
         <source>Unscroll children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
+        <location line="+5"/>
         <source>Grow selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
+        <location line="+9"/>
         <source>Shrink selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
+        <location line="+9"/>
         <source>Reset selection size</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
+        <location line="+442"/>
         <source>Toggle target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
+        <location line="+10"/>
         <source>Goto target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
+        <location line="+9"/>
         <source>Move to target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
+        <location line="+63"/>
         <source>Find duplicate URLs</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
+        <location line="-452"/>
         <source>Open all URLs in subtree (including scrolled branches)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
+        <location line="+17"/>
         <source>Extract URLs from note</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
+        <location line="+308"/>
         <source>Add timestamp</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
+        <location line="-11"/>
         <source>Remove children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
+        <location line="+333"/>
         <source>Center on selection</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
+        <location line="+1195"/>
         <source>Editors toolbar</source>
         <comment>Editor Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
+        <location line="+12"/>
         <source>Modifier modes toolbar</source>
         <comment>Modifier Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
+        <location line="-888"/>
         <source>Map target</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
+        <location line="+899"/>
         <source>Standard Flags toolbar</source>
         <comment>Standard Flag Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
+        <location line="-874"/>
         <source>Status - ok,done</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
+        <location line="+4"/>
         <source>Status - work in progress</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
+        <location line="+5"/>
         <source>Status - missing, not started</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
+        <location line="+434"/>
         <source>Automatic layout</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
+        <location line="+11"/>
         <source>Test</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
+        <location line="+164"/>
         <source>Follow XLink</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
+        <location line="+7"/>
         <source>Follow XLink</source>
         <comment>Context menu name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
+        <location line="+486"/>
         <source>The map %1
 is already opened.Opening the same map in multiple editors may lead 
 to confusion when finishing working with vym.Do you want to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
+        <location line="+75"/>
         <source>This map does not exist:
   %1
 Do you want to create a new one?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
+        <location line="+48"/>
         <source>Loading: %1</source>
         <comment>Progress dialog while loading maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
+        <location line="+176"/>
         <source>Saved  %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
+        <location line="+4"/>
         <source>Couldn&apos;t save </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
+        <location line="+39"/>
+        <location line="+92"/>
         <source>The file %1
 exists already. Do you want to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
+        <location line="-1531"/>
         <source>Take care!</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
+        <location line="+5"/>
         <source>Really?</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
+        <location line="-24"/>
         <source>This won&apos;t work!</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
+        <location line="+38"/>
         <source>Good</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
+        <location line="+4"/>
         <source>Bad</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
+        <location line="+48"/>
         <source>Time critical</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
+        <location line="-58"/>
         <source>Idea!</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
+        <location line="+25"/>
         <source>Important</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
+        <location line="+5"/>
         <source>Unimportant</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
+        <location line="+15"/>
         <source>I like this</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
+        <location line="+3"/>
         <source>I do not like this</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
+        <location line="-26"/>
         <source>Dangerous</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
+        <location line="+30"/>
         <source>This will help</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
+        <location line="-1577"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
         <source>(still experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
+        <location line="-3237"/>
         <source>&amp;Print</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
+        <location line="+1426"/>
         <source>Oh no!</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
+        <location line="+37"/>
         <source>Call...</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
+        <location line="-20"/>
         <source>Very important!</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
+        <location line="+5"/>
         <source>Very unimportant!</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
+        <location line="+24"/>
         <source>Rose</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
+        <location line="-3"/>
         <source>Surprise!</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
+        <location line="-64"/>
         <source>Info</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="124"/>
+        <location line="-2534"/>
         <source>Main window</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="314"/>
+        <location line="+203"/>
         <source>Task list</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
+        <location line="-51"/>
         <source>Script Editor</source>
         <comment>ScriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="218"/>
+        <location line="-49"/>
         <source>Main window</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="219"/>
+        <location line="+1"/>
         <source>Map Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="220"/>
+        <location line="+1"/>
         <source>Text Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="967"/>
+        <location line="+54"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+776"/>
         <source>&amp;Map</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="985"/>
+        <location line="+20"/>
         <source>&amp;Open...</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="992"/>
+        <location line="+8"/>
         <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
+        <location line="+8"/>
         <source>Open Recent</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
+        <location line="+3"/>
         <source>&amp;Save...</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
+        <location line="+9"/>
         <source>Save &amp;As...</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
+        <location line="+5"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Import</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
+        <location line="+3"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
         <source>Export</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
+        <location line="+11"/>
         <source>Webpage (HTML)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
-        <source>Text (ASCII)...</source>
+        <location line="+5"/>
+        <source>Confluence (HTML)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <source>Text with tasks</source>
+        <location line="+8"/>
+        <source>Firefox Bookmarks</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
-        <source>Image%1</source>
+        <location line="+8"/>
+        <source>Text (ASCII)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
-        <source>&amp;Close Map</source>
-        <comment>File menu</comment>
+        <location line="+5"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
-        <source>E&amp;xit</source>
-        <comment>File menu</comment>
+        <location line="+7"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
+        <location line="+12"/>
+        <source>Image%1</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>CSV...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>&amp;Close Map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>E&amp;xit</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
         <source>&amp;Undo</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
+        <location line="+11"/>
         <source>&amp;Redo</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
+        <location line="+11"/>
         <source>&amp;Copy</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
+        <location line="+11"/>
         <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
+        <location line="+13"/>
         <source>&amp;Paste</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
+        <location line="+13"/>
+        <location line="+10"/>
         <source>Delete Selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
+        <location line="+33"/>
         <source>Add branch as child</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
+        <location line="+9"/>
         <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
+        <location line="+10"/>
+        <location line="+10"/>
         <source>Add branch above</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
+        <location line="+10"/>
+        <location line="+9"/>
         <source>Add branch below</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
-        <source>Scroll branch</source>
+        <location line="+35"/>
+        <source>Move branch diagonally up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
+        <location line="+43"/>
+        <source>Scroll branch</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
+        <location line="+89"/>
+        <source>References Context menu</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
+        <location line="+94"/>
         <source>vymlinks - linking maps</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
+        <location line="+44"/>
         <source>Exports</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
+        <location line="+13"/>
         <source>Tasks</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
+        <location line="+1"/>
         <source>Toggle task</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
+        <location line="+12"/>
         <source>Cycle task status</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
+        <location line="+21"/>
         <source>Reset sleep</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Sleep %1 days</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
+        <location line="-55"/>
         <source>Sleep %1 day</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
+        <location line="+66"/>
+        <location line="+11"/>
         <source>Sleep %1 weeks</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
+        <location line="+32"/>
         <source>Removing parts of a map</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
+        <location line="+24"/>
         <source>Various</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
+        <location line="+42"/>
         <source>Selections</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
+        <location line="+1"/>
         <source>Select</source>
         <comment>Select menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
+        <location line="+69"/>
         <source>Search functions</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
+        <location line="+1"/>
+        <location line="+8"/>
         <source>Find...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
+        <location line="+357"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to draw xLinks</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+441"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+90"/>
         <source>Number of visible parents in task editor</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
+        <location line="+7"/>
         <source>Number of visible parents in find results window</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
+        <location line="-1436"/>
         <source>Open URL</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
+        <location line="+9"/>
         <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
+        <location line="+18"/>
         <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
+        <location line="+17"/>
         <source>Edit URL...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
+        <location line="+18"/>
         <source>Use heading for URL</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
+        <location line="+33"/>
         <source>Open linked map</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
+        <location line="+17"/>
         <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
+        <location line="+9"/>
         <source>Edit vym link...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
+        <location line="+9"/>
         <source>Delete vym link</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
+        <location line="+9"/>
         <source>Hide in exports</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
+        <location line="+158"/>
         <source>Add map (insert)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
+        <location line="+7"/>
         <source>Add map (replace)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
+        <location line="+7"/>
         <source>Save selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
+        <location line="+169"/>
         <source>F&amp;ormat</source>
         <comment>Format menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
+        <location line="+7"/>
         <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
+        <location line="+10"/>
         <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
+        <location line="+10"/>
         <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
+        <location line="+53"/>
         <source>Hide link if object is not selected</source>
         <comment>Branch attribute</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
+        <location line="+6"/>
         <source>&amp;Use color of heading for link</source>
         <comment>Branch attribute</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
+        <location line="+89"/>
         <source>reset Zoom</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
+        <location line="-37"/>
         <source>Zoom in</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
+        <location line="-1124"/>
         <source>Firefox Bookmarks</source>
         <comment>Import filters</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
+        <location line="+827"/>
         <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
+        <location line="+161"/>
         <source>Formatting</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
+        <location line="+120"/>
         <source>Views</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
+        <location line="+25"/>
         <source>Zoom out</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
+        <location line="+219"/>
         <source>Modifier modes</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
-        <source>Use modifier to draw xLinks</source>
-        <comment>Mode modifier</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
+        <location line="+469"/>
         <source>Set application to open pdf files</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
+        <location line="+7"/>
         <source>Set application to open external links</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
+        <location line="+67"/>
         <source>Select branch after adding it</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
+        <location line="+9"/>
         <source>Select existing heading</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
+        <location line="+7"/>
         <source>Exclusive flags</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
+        <location line="+7"/>
         <source>Use hide flags</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
+        <location line="+78"/>
         <source>&amp;Help</source>
         <comment>Help menubar entry</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
+        <location line="+3"/>
         <source>Open VYM Documentation (pdf) </source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
+        <location line="+38"/>
         <source>About VYM</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
+        <location line="-4"/>
         <source>About QT</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
+        <location line="+34"/>
         <source>Remove</source>
         <comment>Context menu name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
+        <location line="+61"/>
         <source>Edit XLink</source>
         <comment>Context menu name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
+        <location line="+17"/>
         <source>Save image</source>
         <comment>Context action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="971"/>
+        <location line="-2202"/>
         <source>&amp;New map</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
+        <location line="-774"/>
         <source>Property Editor</source>
         <comment>PropertyEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="287"/>
+        <location line="+8"/>
         <source>History window</source>
         <comment>HistoryWidget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="978"/>
+        <location line="+775"/>
         <source>&amp;Copy to new map</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
+        <location line="+120"/>
         <source>Text (A&amp;O report)...</source>
         <comment>Export format</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
+        <location line="+52"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
+        <location line="+47"/>
         <source>E&amp;dit</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
+        <location line="+95"/>
         <source>Add mapcenter</source>
         <comment>Canvas context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
+        <location line="+68"/>
         <source>Move branch up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
+        <location line="+13"/>
         <source>Move branch down</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
+        <location line="+48"/>
         <source>Sort children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
+        <location line="+164"/>
         <source>Edit local URL...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
+        <location line="+29"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
         <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
+        <location line="+69"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+179"/>
         <source>Map properties...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
+        <location line="+6"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>Property window</source>
         <comment>Dialog to edit properties of selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
+        <location line="+47"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>Select previous</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
+        <location line="+10"/>
         <source>Select next</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
+        <location line="+11"/>
         <source>Unselect all</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
+        <location line="+73"/>
         <source>Select default font</source>
         <comment>Branch attribute</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
+        <location line="+18"/>
         <source>Linkstyle Curve</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Curve</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
+        <location line="+25"/>
         <source>Set &amp;Link Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
+        <location line="+5"/>
         <source>Set &amp;Selection Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
+        <location line="+10"/>
         <source>Set &amp;Background image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
+        <location line="+11"/>
         <source>Toolbars</source>
         <comment>Toolbars overview in view menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
+        <location line="+8"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+28"/>
         <source>Rotate counterclockwise</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
+        <location line="+9"/>
         <source>Rotate rclockwise</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
+        <location line="+27"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
         <source>Note editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
+        <location line="+12"/>
         <source>Heading editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
+        <location line="+13"/>
         <source>Tree editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
+        <location line="+9"/>
         <source>Task editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
+        <location line="+11"/>
         <source>Slide editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
+        <location line="+9"/>
         <source>Script editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
+        <location line="+8"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>History Window</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
+        <location line="+14"/>
         <source>Antialiasing</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
+        <location line="+7"/>
         <source>Smooth pixmap transformations</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
+        <location line="+10"/>
         <source>Next Map</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
+        <location line="+7"/>
         <source>Previous Map</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
+        <location line="+7"/>
         <source>Next slide</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
+        <location line="+7"/>
         <source>Previous slide</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
+        <location line="+139"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
         <source>Note</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
+        <location line="+9"/>
         <source>Link to another vym map</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
+        <location line="+3"/>
         <source>subtree is scrolled</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
+        <location line="+4"/>
         <source>subtree is temporary scrolled</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
+        <location line="+3"/>
         <source>Hide object in exported maps</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
+        <location line="+42"/>
         <source>I just love...</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+258"/>
+        <source>Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+5"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+7"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+20"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+17"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+5"/>
+        <source>Set path for macros</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+4"/>
+        <source>Set number of undo levels</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+7"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+6"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+12"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+42"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+94"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+4"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+4"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+304"/>
+        <source>Select color (Press Shift for more options)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+21"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+651"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+60"/>
+        <location line="+54"/>
+        <location line="+1"/>
+        <source>Import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+62"/>
+        <source>Export as CSV</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+37"/>
+        <location line="+68"/>
+        <source>Export to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
-        <source>Settings</source>
+        <location line="+1281"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
+        <location line="+1447"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
+        <location line="-3046"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
+        <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
+        <location line="-3113"/>
+        <source>Firefox Bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
+        <location line="+3"/>
+        <source>Import Firefox Bookmarks into new map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
+        <location line="+176"/>
+        <source>Couldn&apos;t find configuration for export to LibreOffice
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
+        <location line="+88"/>
+        <source>The map %1 has been modified but not saved yet. Do you want to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
-        <source>Autosave time</source>
-        <comment>Settings action</comment>
+        <location line="+6"/>
+        <source>Save modified map before closing it</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
+        <location line="+1"/>
+        <source>Discard changes</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
+        <location line="+106"/>
+        <location line="+2345"/>
+        <source>Couldn&apos;t find a viewer to open %1.
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
+        <location line="-2344"/>
+        <location line="+2345"/>
+        <source>Please use Settings-&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
+        <location line="-2344"/>
+        <location line="+1260"/>
+        <source>Set application to open an URL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
+        <location line="-1197"/>
+        <source>Enter URL:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
-        <source>Import</source>
+        <location line="+23"/>
+        <source>HTML</source>
+        <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
+        <location line="+1"/>
+        <source>Text</source>
+        <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <source>Export as CSV</source>
+        <location line="+1"/>
+        <source>Spreadsheet</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Textdocument</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Images</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Set URL to a local file</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+125"/>
+        <source>Couldn&apos;t open map %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+171"/>
+        <source>Couldn&apos;t set sleep time to %1.
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+28"/>
+        <source>%1 items on map
+</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+21"/>
+        <source>branches</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>notes</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>images</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>slides</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>xLinks</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+796"/>
+        <location line="+1097"/>
+        <source>Set application to open PDF files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-1046"/>
+        <source>Number of undo/redo levels:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>VYM -Information:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Number of seconds before autosave:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Set author for new maps (used in lockfile)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+42"/>
+        <source>Number of parents shown in find results:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Number of parents shown for a task:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-2404"/>
+        <source>(readonly)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-1953"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+842"/>
+        <source>Images</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
-        <source>Export to</source>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Warning</source>
+        <location line="+54"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
-        <source>Couldn&apos;t find configuration for export to LibreOffice
-</source>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
-        <source>The map %1 has been modified but not saved yet. Do you want to</source>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
-        <source>Save modified map before closing it</source>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
-        <source>Discard changes</source>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Please use Settings-&gt;</source>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
-        <source>Set application to open an URL</source>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
-        <source>Enter URL:</source>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
-        <source>Text</source>
-        <comment>Filedialog</comment>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
-        <source>Images</source>
-        <comment>Filedialog</comment>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
-        <source>Set URL to a local file</source>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
-        <source>Couldn&apos;t open map %1</source>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
-        <source>Couldn&apos;t set sleep time to %1.
-</source>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
-        <source>branches</source>
-        <comment>Info about map</comment>
+        <location line="+162"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
-        <source>notes</source>
-        <comment>Info about map</comment>
+        <location line="+725"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
-        <source>images</source>
-        <comment>Info about map</comment>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
+        <location line="+55"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
-        <source>slides</source>
-        <comment>Info about map</comment>
+        <location line="+28"/>
+        <source>Save map as new default map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
-        <source>xLinks</source>
-        <comment>Info about map</comment>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Set application to open PDF files</source>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
+        <location line="+77"/>
+        <source>Open Freemind map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
-        <source>Number of undo/redo levels:</source>
+        <location line="+616"/>
+        <source>Link to another vym map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
-        <source>VYM -Information:</source>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
-        <source>Number of seconds before autosave:</source>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
-        <source>Set author for new maps (used in lockfile)</source>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
+        <location line="+840"/>
+        <source>Load vym script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
-        <source>Number of parents shown in find results:</source>
+        <location line="+106"/>
+        <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
-        <source>Number of parents shown for a task:</source>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
-        <source>(readonly)</source>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
+        <location line="+401"/>
         <source>History for %1</source>
         <comment>Window Caption</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
+        <location line="+23"/>
         <source>Export in last used format (%1) to: %2</source>
         <comment>status tip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
+        <location line="+440"/>
         <source>Critcal error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find the documentation %1 in:
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
+        <location line="+31"/>
         <source>Load vym example map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
+        <location line="+190"/>
         <source>Please allow vym to download release notes!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
+        <location line="+62"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
+        <location line="+1"/>
         <source>Do not allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
+        <location line="+5"/>
         <source>Thank you for enabling downloads!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Update information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
+        <location line="+4"/>
         <source>vym is up to date.</source>
         <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
+        <location line="+48"/>
         <source>Checking for updates...</source>
         <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="+30"/>
         <source>Please allow vym to check for updates!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
+        <location line="-4307"/>
         <source>Animation</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
+        <location line="+53"/>
         <source>Open VYM example maps </source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
+        <location line="+5"/>
         <source>Download and show release notes</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
+        <location line="+4"/>
         <source>Check, if updates are available</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
+        <location line="+5"/>
         <source>Show keyboard shortcuts</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
+        <location line="+68"/>
         <source>Tasks</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
+        <location line="+20"/>
         <source>References (URLs, vymLinks, ...)</source>
         <comment>Context menu name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
+        <location line="+20"/>
         <source>XLinks</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
+        <location line="+137"/>
         <source>Undo and clipboard toolbar</source>
         <comment>Toolbar for redo/undo and clipboard</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
+        <location line="+29"/>
         <source>Selection toolbar</source>
         <comment>Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
+        <location line="+9"/>
         <source>URLs and vymLinks toolbar</source>
         <comment>Toolbar for URLs and vymlinks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
+        <location line="+6"/>
         <source>Colors toolbar</source>
         <comment>Colors toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
+        <location line="+502"/>
         <source>or</source>
         <comment>File Dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
+        <location line="+143"/>
         <source>Save map as</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2537,131 +2482,164 @@ because of existing lockfile:
 <context>
     <name>MapEditor</name>
     <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="510"/>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location filename="../src/export-base.cpp" line="+124"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
         <source>Could not export as ASCII to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-8"/>
         <source>Export as CSV</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="-101"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location line="-367"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+190"/>
         <source>Could not find stylesheet %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -2669,371 +2647,376 @@ because of existing lockfile:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="90"/>
+        <location line="-389"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="91"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
+</source>
+        <comment>Macros::pathExists</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
+ </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
-        <source>Form</source>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
-        <source>Save to selected slide</source>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
-        <source>Run</source>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="131"/>
-        <source>Load</source>
+        <location filename="../src/mainwindow.cpp" line="-88"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
-        <source>Save</source>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
+        <location line="-42"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
+        <location line="+31"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
         <source>Save script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="155"/>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -3041,113 +3024,113 @@ Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
+        <location line="+5"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="161"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="184"/>
+        <location line="-58"/>
         <source>Load script</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
-    <name>ShowTextDialog</name>
+    <name>TaskEditor</name>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
-        <source>Dialog</source>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="50"/>
-        <source>Close</source>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
@@ -3156,251 +3139,257 @@ Do you want to overwrite it?</source>
 <context>
     <name>TextEditor</name>
     <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="-45"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+6"/>
         <source>&amp;Font hint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="543"/>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
+        <location line="+198"/>
         <source>Export Note to single file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
+        <location line="+45"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="-385"/>
         <source>Subs&amp;cript</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="498"/>
+        <location line="+10"/>
         <source>Su&amp;perscript</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="+80"/>
         <source>Note Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="-186"/>
         <source>F&amp;ormat</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="-67"/>
         <source>Edit Actions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="-59"/>
         <source>Note Actions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location line="-244"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+85"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+295"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+194"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -3408,7 +3397,7 @@ Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation type="unfinished"></translation>
@@ -3417,13 +3406,13 @@ Do you want to overwrite it?</source>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
@@ -3432,173 +3421,167 @@ Do you want to overwrite it?</source>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location filename="../src/vymmodel.cpp" line="-3933"/>
         <source>unnamed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
-        <source>unknown user</source>
-        <comment>Default for lockfiles of maps</comment>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
-        <source>Warning: Map already opended</source>
-        <comment>VymModel</comment>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
+        <location line="+325"/>
+        <source>unknown user</source>
+        <comment>Default for lockfiles of maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="679"/>
-        <source>compressed (vym default)</source>
+        <location line="+37"/>
+        <source>Warning: Map already opended</source>
+        <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
+        <location line="-365"/>
+        <source>compressed (vym default)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -3607,30 +3590,30 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="-41"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -3639,116 +3622,111 @@ Do you want to reload that map with the new file?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
+        <location line="+939"/>
+        <source>Could not find Jira ticket pattern in %1</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
+        <location line="+98"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+236"/>
         <source>Export map as image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
+        <location line="+79"/>
         <source>Export map as SVG</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="-88"/>
         <source>Export map as PDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location line="-4366"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+4000"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+461"/>
         <source>Export XML to directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="+369"/>
         <source>Load background image</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3756,18 +3734,18 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3775,13 +3753,13 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
@@ -3790,34 +3768,62 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>WarningDialog</name>
     <message>
-        <location filename="../warningdialog.ui" line="14"/>
-        <source>Dialog</source>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
+        <source>Cancel</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="91"/>
-        <source>showAgainBox</source>
+        <location line="-41"/>
+        <source>Proceed</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
-        <source>Cancel</source>
+        <location line="+2"/>
+        <source>Show this message again</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
-        <source>Ok</source>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
-        <source>Proceed</source>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
-        <source>Show this message again</source>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
index 17599a121f347e86ebef443544b6e0f136d10444..a05bd8a9d70d601fb94371bd1e4087ab128962a9 100644 (file)
@@ -1,26 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.1">
+<TS version="2.1" language="es">
 <context>
     <name>AboutDialog</name>
     <message>
-        <source>Ok</source>
-        <translation type="obsolete">Ok</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation type="unfinished">Ok</translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+21"/>
         <source>Please use Settings-&gt;</source>
         <translation type="unfinished">Por favor use las Preferencias-&gt;</translation>
     </message>
     <message>
-        <source>Set application to open an URL</source>
-        <translation type="obsolete">Configurar aplicación para abrir URLs</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="-3"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation type="unfinished">Advertencia</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
         <translation type="unfinished">No se pudo encontrar visor para abrir %1.</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+3"/>
         <source>Set application to open an URL...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Attribute Dialog</name>
-    <message>
-        <source>AttributeDialog - Edit definitions</source>
-        <translation type="obsolete">AttributeDialog - Editar definiciones</translation>
-    </message>
-    <message>
-        <source>AttributeDialog - Edit %1</source>
-        <translation type="obsolete">AttributeDialog - Editar %1</translation>
-    </message>
-</context>
 <context>
     <name>AttributeDialog</name>
     <message>
         <translation type="obsolete">Cerrar</translation>
     </message>
 </context>
-<context>
-    <name>AttributeWidget</name>
-    <message>
-        <source>Form</source>
-        <translation type="obsolete">Formulario</translation>
-    </message>
-</context>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
         <source>Branch Property Editor</source>
-        <translation type="unfinished">Ventana de propiedades de rama</translation>
+        <translation type="obsolete">Ventana de propiedades de rama</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
         <source>Frame</source>
-        <translation type="unfinished">Marco</translation>
+        <translation type="obsolete">Marco</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
         <source>Geometry</source>
-        <translation type="unfinished">Geometría</translation>
+        <translation type="obsolete">Geometría</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
         <source>No Frame</source>
-        <translation type="unfinished">Sin marco</translation>
+        <translation type="obsolete">Sin marco</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation type="unfinished">Rectángulo</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
-        <source>Rounded Rectangle</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Rectángulo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
         <source>Ellipse</source>
-        <translation type="unfinished">Elípse</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
-        <source>Cloud</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Elípse</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
         <source>Padding</source>
-        <translation type="unfinished">Relleno</translation>
+        <translation type="obsolete">Relleno</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
         <source>Borderline width</source>
-        <translation type="unfinished">Ancho del borde</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
-        <source>Include children</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Ancho del borde</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
         <source>Colors</source>
-        <translation type="unfinished">Colores</translation>
+        <translation type="obsolete">Colores</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
         <source>Borderline color</source>
-        <translation type="unfinished">Color del borde</translation>
+        <translation type="obsolete">Color del borde</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
         <source>Background color</source>
-        <translation type="unfinished">Color de fondo</translation>
+        <translation type="obsolete">Color de fondo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
         <source>Layout</source>
-        <translation type="unfinished">Disposición</translation>
+        <translation type="obsolete">Disposición</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
         <source>Include images horizontally</source>
-        <translation type="unfinished">Incluir imágenes horizontales</translation>
+        <translation type="obsolete">Incluir imágenes horizontales</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
         <source>Include images vertically</source>
-        <translation type="unfinished">Incluir imágenes verticales</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
-        <source>Free positioning of children (experimental!)</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Incluir imágenes verticales</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
         <source>Link</source>
-        <translation type="unfinished">Enlace</translation>
+        <translation type="obsolete">Enlace</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
         <source>Hide link if unselected</source>
-        <translation type="unfinished">Ocultar enlace si no esta seleccionado</translation>
+        <translation type="obsolete">Ocultar enlace si no esta seleccionado</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
         <source>Attributes</source>
-        <translation type="unfinished">Atributos</translation>
+        <translation type="obsolete">Atributos</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
         <source>+</source>
-        <translation type="unfinished">+</translation>
+        <translation type="obsolete">+</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
         <source>-</source>
-        <translation type="unfinished">-</translation>
+        <translation type="obsolete">-</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
         <translation type="unfinished">Editar propiedad</translation>
     </message>
-</context>
-<context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Editar propiedad</translation>
-    </message>
     <message>
+        <location line="+22"/>
         <source>Name</source>
         <comment>Branchprop window: Attribute name</comment>
-        <translation type="obsolete">Ventana propiedades de rama: Nombre del atributo </translation>
+        <translation type="unfinished">Ventana propiedades de rama: Nombre del atributo </translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Value</source>
         <comment>Branchprop window: Attribute value</comment>
-        <translation type="obsolete">Ventana propiedades de rama: Valor del atributoThe settings saved in the map would like to run scripts:
+        <translation type="unfinished">Ventana propiedades de rama: Valor del atributoThe settings saved in the map would like to run scripts:
 
 %1
 
@@ -236,96 +165,85 @@ Please check, if you really
 want to allow this in your system!</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Type</source>
         <comment>Branchprop window: Attribute type</comment>
-        <translation type="obsolete">Ventana propiedades de rama: Tipo de atributo</translation>
-    </message>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation type="obsolete">Ventana de propiedades de rama</translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation type="obsolete">Marco</translation>
+        <translation type="unfinished">Ventana propiedades de rama: Tipo de atributo</translation>
     </message>
     <message>
-        <source>Geometry</source>
-        <translation type="obsolete">Geometría</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Sin marco</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rectángulo</translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation type="obsolete">Elípse</translation>
-    </message>
-    <message>
-        <source>Padding</source>
-        <translation type="obsolete">Relleno</translation>
-    </message>
-    <message>
-        <source>Borderline width</source>
-        <translation type="obsolete">Ancho del borde</translation>
-    </message>
-    <message>
-        <source>Colors</source>
-        <translation type="obsolete">Colores</translation>
-    </message>
-    <message>
-        <source>Borderline color</source>
-        <translation type="obsolete">Color del borde</translation>
-    </message>
-    <message>
-        <source>Background color</source>
-        <translation type="obsolete">Color de fondo</translation>
-    </message>
-    <message>
-        <source>Layout</source>
-        <translation type="obsolete">Disposición</translation>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Incluir imágenes horizontales</translation>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Incluir imágenes verticales</translation>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <source>Link</source>
-        <translation type="obsolete">Enlace</translation>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">Advertencia</translation>
     </message>
     <message>
-        <source>Hide link if unselected</source>
-        <translation type="obsolete">Ocultar enlace si no esta seleccionado</translation>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <source>Attributes</source>
-        <translation type="obsolete">Atributos</translation>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <source>+</source>
-        <translation type="obsolete">+</translation>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Cerrar</translation>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation type="unfinished">Advertencia</translation>
     </message>
@@ -333,215 +251,102 @@ want to allow this in your system!</translation>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation type="unfinished">Editar XEnlace</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
-        <source>Arrow begin:</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Editar XEnlace</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation type="unfinished">Ancho XEnlace:</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
-        <source>Use color of heading</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
-        <source>Line style:</source>
-        <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Ancho XEnlace:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
-        <source>Arrow end:</source>
-        <translation type="unfinished"></translation>
+        <source>Close</source>
+        <translation type="obsolete">Cerrar</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
-        <source>Close</source>
-        <translation type="unfinished">Cerrar</translation>
+        <source>XLink color:</source>
+        <translation type="obsolete">Color XEnlace:</translation>
     </message>
     <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">Configurar color de encabezado</translation>
+        <source>Use as default:</source>
+        <translation type="obsolete">Use por defecto:</translation>
     </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
-        <source>XLink color:</source>
-        <translation type="unfinished">Color XEnlace:</translation>
+        <source>Options</source>
+        <translation type="obsolete">Opciones</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
-        <source>Use as default:</source>
-        <translation type="unfinished">Use por defecto:</translation>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Encabezados coloreados en texto</translation>
     </message>
     <message>
-        <source>Delete XLink</source>
-        <translation type="obsolete">Borrar XEnlace</translation>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Guardar configuraciones en mapa</translation>
     </message>
     <message>
-        <source>Ok</source>
-        <translation type="obsolete">Ok</translation>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
-        <source>Quit and delete XLink</source>
-        <translation type="obsolete">Quitar y borrar XEnlace</translation>
+        <source>Export</source>
+        <translation type="obsolete">Exportar</translation>
     </message>
 </context>
 <context>
     <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
         <source>Export HTML</source>
-        <translation type="unfinished">Exportar HTML</translation>
-    </message>
-    <message>
-        <source>Directory:</source>
-        <translation type="obsolete">Directorio:</translation>
+        <translation type="obsolete">Exportar HTML</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
         <source>Export to directory:</source>
-        <translation type="unfinished">Exportar a directorio:</translation>
+        <translation type="obsolete">Exportar a directorio:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
         <source>Browse</source>
-        <translation type="unfinished">Buscar</translation>
+        <translation type="obsolete">Buscar</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation type="unfinished">Opciones</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
-        <source>Image of map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
-        <source>Include images</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
-        <source>Table of contents</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
-        <source>Task flags</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
-        <source>General flags</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
-        <source>Number sections</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
-        <source>Copy CSS from </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
-        <source>Use CSS from</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Include image</source>
-        <translation type="obsolete">Incluir Imagen</translation>
+        <translation type="obsolete">Opciones</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation type="unfinished">Encabezados coloreados en texto</translation>
+        <translation type="obsolete">Encabezados coloreados en texto</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation type="unfinished">Guardar configuraciones en mapa</translation>
-    </message>
-    <message>
-        <source>Include image of map</source>
-        <translation type="obsolete">Incluir imagen de mapa</translation>
-    </message>
-    <message>
-        <source>create image only</source>
-        <translation type="obsolete">Crear imagen solamente</translation>
-    </message>
-    <message>
-        <source>use WIKI style</source>
-        <translation type="obsolete">Usar estilo WIKI</translation>
-    </message>
-    <message>
-        <source>use heading for URLs (instead of link target)</source>
-        <translation type="obsolete">Usar encabezado de URLs (en vez de un objetivo enlazado)</translation>
-    </message>
-    <message>
-        <source>use image of earth to mark URLs in text</source>
-        <translation type="obsolete">Usar imagen de la tierra para markar URLs en el texto</translation>
-    </message>
-    <message>
-        <source>use default CSS file</source>
-        <translation type="obsolete">Usar CSS por defecto</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">Mostar salida de scripts externos</translation>
+        <translation type="obsolete">Guardar configuraciones en mapa</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation type="unfinished">Hojas de estilo</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
+        <translation type="obsolete">Hojas de estilo</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation type="unfinished">Scripts</translation>
+        <translation type="obsolete">Scripts</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation type="unfinished">Después de Exportar:</translation>
+        <translation type="obsolete">Después de Exportar:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
         <source>Export</source>
-        <translation type="unfinished">Exportar</translation>
+        <translation type="obsolete">Exportar</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation type="unfinished">Advertencia</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -551,14 +356,10 @@ want to allow this in your system!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation type="unfinished">VYM - Exportar HTML a directorio</translation>
     </message>
-    <message>
-        <source>Critcal export error</source>
-        <translation type="obsolete">Error crítico de exporte</translation>
-    </message>
 </context>
 <context>
     <name>ExportXHTMLDialog</name>
@@ -590,10 +391,6 @@ want to allow this in your system!</source>
         <source>Save settings in map</source>
         <translation type="obsolete">Guardar configuraciones en mapa</translation>
     </message>
-    <message>
-        <source>showWarnings e.g. if directory is not empty</source>
-        <translation type="obsolete">Mostrar Advertencias si el directorio no está vacio</translation>
-    </message>
     <message>
         <source>show output of external scripts</source>
         <translation type="obsolete">Mostrar salida de scripts externos</translation>
@@ -623,277 +420,149 @@ want to allow this in your system!</source>
         <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
-        <source>Warning</source>
-        <translation type="obsolete">Advertencia</translation>
+        <source>Stylesheets</source>
+        <translation type="obsolete">Hojas de estilo</translation>
     </message>
     <message>
-        <source>The settings saved in the map would like to run scripts:
-
-</source>
-        <translation type="obsolete">Las configuraciones guardadas en el mapa pueden ejecutar scripts:</translation>
+        <source>Scripts</source>
+        <translation type="obsolete">Scripts</translation>
     </message>
     <message>
-        <source>Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">¡Por favor observe si en realidad
-desea permitir esto en su sistema!</translation>
+        <source>show warnings of xslt processor</source>
+        <translation type="obsolete">Mostrar advertencias del procesador xslt</translation>
     </message>
+</context>
+<context>
+    <name>ExtraInfoDialog</name>
     <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation type="obsolete">VYM - Exportar HTML a directorio</translation>
+        <source>VYM - Info</source>
+        <translation type="obsolete">VYM - Información</translation>
     </message>
     <message>
-        <source>VYM - Path to CSS file</source>
-        <translation type="obsolete">VYM - Ruta a archivo CSS</translation>
+        <source>Map:</source>
+        <translation type="obsolete">Mapa:</translation>
     </message>
     <message>
-        <source>VYM - Path to XSL file</source>
-        <translation type="obsolete">VYM - Ruta a archivo XSL </translation>
+        <source>Author:</source>
+        <translation type="obsolete">Autor:</translation>
     </message>
     <message>
-        <source>VYM - Path to pre export script</source>
-        <translation type="obsolete">VYM - Ruta a script pre-exportado</translation>
+        <source>Comment:</source>
+        <translation type="obsolete">Comentario:</translation>
     </message>
     <message>
-        <source>VYM - Path to post export script</source>
-        <translation type="obsolete">VYM - Ruta a script post-exportado</translation>
-    </message>
-    <message>
-        <source> could not be opened!</source>
-        <translation type="obsolete">¡No puede ser abierto!</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Error crítico</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start </source>
-        <translation type="obsolete">No puede iniciar</translation>
-    </message>
-    <message>
-        <source>didn&apos;t exit normally</source>
-        <translation type="obsolete">No salio normalmente</translation>
-    </message>
-    <message>
-        <source>Stylesheets:</source>
-        <translation type="obsolete">Hojas de estilo:</translation>
-    </message>
-    <message>
-        <source>Scripts:</source>
-        <translation type="obsolete">Scripts:</translation>
-    </message>
-    <message>
-        <source>Stylesheets</source>
-        <translation type="obsolete">Hojas de estilo</translation>
-    </message>
-    <message>
-        <source>Scripts</source>
-        <translation type="obsolete">Scripts</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">Las propiedades salvadas en el mapa intentar ejecutar scripts:
-
-%1
-
-Por favor compruebe si realmente desea
-que su sistema permita ésto.</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">No se pudo abrir %1</translation>
-    </message>
-    <message>
-        <source>Could not write %1</source>
-        <translation type="obsolete">No se pudo escribir %1</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">No se pudo arrancar %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 no termino normalmente</translation>
-    </message>
-    <message>
-        <source>show warnings of xslt processor</source>
-        <translation type="obsolete">Mostrar advertencias del procesador xslt</translation>
-    </message>
-</context>
-<context>
-    <name>ExtraInfoDialog</name>
-    <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
-        <source>VYM - Info</source>
-        <translation type="unfinished">VYM - Información</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
-        <source>Map:</source>
-        <translation type="unfinished">Mapa:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
-        <source>Title:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
-        <source>Author:</source>
-        <translation type="unfinished">Autor:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
-        <source>Comment:</source>
-        <translation type="unfinished">Comentario:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation type="unfinished">Estadísticas:</translation>
+        <translation type="obsolete">Estadísticas:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation type="unfinished">Cerrar</translation>
+        <translation type="obsolete">Cerrar</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>FindWindow</name>
-    <message>
-        <source>Clear</source>
-        <translation type="obsolete">Limpiar</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Cancelar</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Buscar</translation>
-    </message>
-    <message>
-        <source>Find Text</source>
-        <translation type="obsolete">Encontrar texto</translation>
-    </message>
-    <message>
-        <source>Text to find:</source>
-        <translation type="obsolete">Texto a buscar:</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="obsolete">Nuevo Mapa</translation>
-    </message>
-</context>
 <context>
     <name>HeadingEditor</name>
     <message>
-        <location filename="../headingeditor.cpp" line="9"/>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
     <message>
-        <location filename="../historywindow.ui" line="13"/>
         <source>Dialog</source>
-        <translation type="unfinished">Dialogo</translation>
+        <translation type="obsolete">Dialogo</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="50"/>
         <source>Redo</source>
-        <translation type="unfinished">Rehacer</translation>
+        <translation type="obsolete">Rehacer</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation type="unfinished">Tiempo</translation>
+        <translation type="obsolete">Tiempo</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation type="unfinished">Comentario</translation>
+        <translation type="obsolete">Comentario</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation type="unfinished">Deshacer</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation type="unfinished">Cerrar</translation>
+        <translation type="obsolete">Deshacer</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation type="unfinished">Acciones</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation type="unfinished">Comentarios</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation type="unfinished">Acciones deshechas</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation type="unfinished">Estado actual</translation>
     </message>
 </context>
 <context>
-    <name>LineEditDialog</name>
+    <name>JiraAgent</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
-        <source>Dialog</source>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">Advertencia</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">Añadir</translation>
+    </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
-        <source>TextLabel</source>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation type="unfinished">Ok</translation>
     </message>
@@ -901,19 +570,12 @@ que su sistema permita ésto.</translation>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -921,3795 +583,2379 @@ que su sistema permita ésto.</translation>
 <context>
     <name>Main</name>
     <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">&amp;Archivo</translation>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
+        <source>Linkstyle Line</source>
+        <translation>Línea de estilo de enlace</translation>
     </message>
     <message>
-        <source>New map</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Nuevo Mapa</translation>
+        <location line="+14"/>
+        <source>Linkstyle Thick Line</source>
+        <translation>Estilo de enlace de línea gruesa</translation>
     </message>
     <message>
-        <source>&amp;New...</source>
-        <translation type="obsolete">&amp;Nuevo...</translation>
+        <location line="+32"/>
+        <source>Set &amp;Link Color</source>
+        <translation type="unfinished">Configurar &amp;Color de Enlace</translation>
     </message>
     <message>
-        <source>Open</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Abrir</translation>
+        <location line="+10"/>
+        <source>Set &amp;Background Color</source>
+        <translation>Configurar &amp;Color de Fondo</translation>
     </message>
     <message>
-        <source>&amp;Open...</source>
-        <translation type="obsolete">&amp;Abrir...</translation>
+        <location line="+14"/>
+        <source>&amp;View</source>
+        <translation>&amp;Vista</translation>
     </message>
     <message>
-        <source>Open Recent</source>
-        <translation type="obsolete">Abrir reciente</translation>
+        <location line="+2420"/>
+        <location line="+1260"/>
+        <source>Set application to open an URL</source>
+        <translation type="unfinished">Configurar aplicación para abrir una URL</translation>
     </message>
     <message>
-        <source>Save</source>
-        <translation type="obsolete">Guardar</translation>
+        <location line="-1813"/>
+        <source>Overwrite</source>
+        <translation>Sobreescribir</translation>
     </message>
     <message>
-        <source>&amp;Save...</source>
-        <translation type="obsolete">&amp;Guardar...</translation>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
+        <source>Cancel</source>
+        <translation>Cancelar</translation>
     </message>
     <message>
-        <source>Save &amp;As</source>
-        <translation type="obsolete">Guardar &amp;Como</translation>
+        <location line="-432"/>
+        <source>Open anyway</source>
+        <translation>Abrir de todas maneras</translation>
     </message>
     <message>
-        <source>Save &amp;As...</source>
-        <translation type="obsolete">Guardar &amp;Como...</translation>
+        <location line="+73"/>
+        <source>Create</source>
+        <translation>Crear</translation>
     </message>
     <message>
-        <source>Import directory structure (experimental)</source>
-        <translation type="obsolete">Importar estructura de directorio (experimental)</translation>
+        <location line="+86"/>
+        <source>Load vym map</source>
+        <translation>Cargar mapa vym</translation>
     </message>
     <message>
-        <source>Import Dir</source>
-        <translation type="obsolete">Importar Directorio</translation>
+        <location line="+6"/>
+        <source>Import: Add vym map to selection</source>
+        <translation>Importar: Agregar mapa vym a la selección</translation>
     </message>
     <message>
-        <source>Export</source>
-        <translation type="obsolete">Exportar</translation>
+        <location line="+4"/>
+        <source>Import: Replace selection with vym map</source>
+        <translation>Importar: Reemplaza selección con mapa vym</translation>
     </message>
     <message>
-        <source>Print</source>
-        <translation type="obsolete">Imprimir</translation>
+        <location line="+613"/>
+        <source>Save modified map before closing it</source>
+        <translation>Guardar mapa modificado antes de cerrarlo</translation>
     </message>
     <message>
-        <source>&amp;Print...</source>
-        <translation type="obsolete">&amp;Imprimir...</translation>
+        <location line="+1"/>
+        <source>Discard changes</source>
+        <translation>Descartar cambios</translation>
     </message>
     <message>
-        <source>Close Map</source>
-        <translation type="obsolete">Cerrar Mapa</translation>
+        <location line="+1411"/>
+        <source>VYM -Information:</source>
+        <translation>VYM -Información:</translation>
     </message>
     <message>
-        <source>&amp;Close Map</source>
-        <translation type="obsolete">&amp;Cerrar Mapa</translation>
+        <location line="-2265"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
+        <source>Critical Error</source>
+        <translation>Error crítico</translation>
     </message>
     <message>
-        <source>Exit VYM</source>
-        <translation type="obsolete">Salir VYM</translation>
+        <location line="+2109"/>
+        <source>Critcal error</source>
+        <translation>Error crítico</translation>
     </message>
     <message>
-        <source>E&amp;xit VYM</source>
-        <translation type="obsolete">&amp;Salir VYM</translation>
+        <location line="-3798"/>
+        <source>Add</source>
+        <translation>Añadir</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="obsolete">&amp;Editar</translation>
+        <location line="+571"/>
+        <source>The map %1
+is already opened.Opening the same map in multiple editors may lead 
+to confusion when finishing working with vym.Do you want to</source>
+        <translation type="unfinished">El mapa %1 ya está abierto. Abrir el mismo mapa en múltiples editores puede conducir a confusión cuando se cierran tareas con vym. ¿Desea abrirlo?</translation>
     </message>
     <message>
-        <source>Undo</source>
-        <translation type="obsolete">Deshacer</translation>
+        <location line="+75"/>
+        <source>This map does not exist:
+  %1
+Do you want to create a new one?</source>
+        <translation type="unfinished">Este mapa no existe:
+   %1
+¿Desea crear uno nuevo?</translation>
     </message>
     <message>
-        <source>&amp;Undo</source>
-        <translation type="obsolete">&amp;Deshacer</translation>
+        <location line="+48"/>
+        <source>Loading: %1</source>
+        <comment>Progress dialog while loading maps</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Copy</source>
-        <translation type="obsolete">Copiar</translation>
+        <location line="+176"/>
+        <source>Saved  %1</source>
+        <translation type="unfinished">Guardado %1</translation>
     </message>
     <message>
-        <source>&amp;Copy</source>
-        <translation type="obsolete">&amp;Copiar</translation>
+        <location line="+4"/>
+        <source>Couldn&apos;t save </source>
+        <translation type="unfinished">No se pudo guardar</translation>
     </message>
     <message>
-        <source>Cut</source>
-        <translation type="obsolete">Cortar</translation>
+        <location line="+39"/>
+        <location line="+92"/>
+        <source>The file %1
+exists already. Do you want to</source>
+        <translation type="unfinished">El archivo %1
+ya existe. ¿Desea crearlo?</translation>
     </message>
     <message>
-        <source>Cu&amp;t</source>
-        <translation type="obsolete">Cort&amp;ar</translation>
+        <location line="-45"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Paste</source>
-        <translation type="obsolete">Pegar</translation>
+        <location line="+28"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Paste</source>
-        <translation type="obsolete">&amp;Pegar</translation>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Move branch up</source>
-        <translation type="obsolete">Mover rama arriba</translation>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Move up</source>
-        <translation type="obsolete">Subir</translation>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Move branch down</source>
-        <translation type="obsolete">Mover rama abajo</translation>
+        <location line="+51"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Move down</source>
-        <translation type="obsolete">Bajar</translation>
+        <location line="+26"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Scroll branch</source>
-        <translation type="obsolete">Rama desplegada</translation>
+        <location line="+238"/>
+        <source>The map %1 has been modified but not saved yet. Do you want to</source>
+        <translation type="unfinished">El mapa %1 ha sido modificado pero se ha guardado todavía. ¿Desea guardarlo?</translation>
     </message>
     <message>
-        <source>Unscroll all</source>
-        <translation type="obsolete">Contraer todo</translation>
+        <location line="+334"/>
+        <source>Couldn&apos;t open map %1</source>
+        <translation type="unfinished">No se pudo abrir mapa %1</translation>
     </message>
     <message>
-        <source>Unscroll all scrolled branches</source>
-        <translation type="obsolete">Desplegar todas las ramas contraidas</translation>
+        <location line="-2216"/>
+        <source>Take care!</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">¡Ten cuidado!</translation>
     </message>
     <message>
-        <source>Find</source>
-        <translation type="obsolete">Buscar</translation>
+        <location line="+5"/>
+        <source>Really?</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">¿Cierto?</translation>
     </message>
     <message>
-        <source>Open URL</source>
-        <translation type="obsolete">Abrir URL</translation>
+        <location line="-24"/>
+        <source>This won&apos;t work!</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">¡Esto no funciona!</translation>
     </message>
     <message>
-        <source>Edit URL</source>
-        <translation type="obsolete">Editar URL</translation>
+        <location line="+38"/>
+        <source>Good</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Bien</translation>
     </message>
     <message>
-        <source>Use heading of selected branch as URL</source>
-        <translation type="obsolete">Usar encabezado de rama seleccionada como URL</translation>
+        <location line="+4"/>
+        <source>Bad</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Mal</translation>
     </message>
     <message>
-        <source>Use heading for URL</source>
-        <translation type="obsolete">Usar encabezado para URL</translation>
+        <location line="+48"/>
+        <source>Time critical</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Tiempo crítico</translation>
     </message>
     <message>
-        <source>Create URL to Bugzilla</source>
-        <translation type="obsolete">Crear URL a Bugzila</translation>
+        <location line="-58"/>
+        <source>Idea!</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">¡Idea!</translation>
     </message>
     <message>
-        <source>Jump to another vym map, if needed load it first</source>
-        <translation type="obsolete">Saltar a otro mapa de vym, si necesita cargarlo primero</translation>
+        <location line="+25"/>
+        <source>Important</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Importante</translation>
     </message>
     <message>
-        <source>Jump to map</source>
-        <translation type="obsolete">Saltar al mapa</translation>
+        <location line="+5"/>
+        <source>Unimportant</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Poco importante</translation>
     </message>
     <message>
-        <source>Edit link to another vym map</source>
-        <translation type="obsolete">Editar enlace a otro mapa vym</translation>
+        <location line="+15"/>
+        <source>I like this</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Me gusta</translation>
     </message>
     <message>
-        <source>Edit vym link</source>
-        <translation type="obsolete">Editar enlace de vym</translation>
+        <location line="+3"/>
+        <source>I do not like this</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">no me gusta esto</translation>
     </message>
     <message>
-        <source>Delete link to another vym map</source>
-        <translation type="obsolete">Eliminar enlace a otro mapa vym</translation>
+        <location line="-26"/>
+        <source>Dangerous</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Peligroso</translation>
     </message>
     <message>
-        <source>Delete vym link</source>
-        <translation type="obsolete">Eliminar enlace de vym</translation>
+        <location line="+30"/>
+        <source>This will help</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Esto puede ayudar</translation>
     </message>
     <message>
-        <source>Edit Map Info</source>
-        <translation type="obsolete">Editar Información de mapa</translation>
+        <location line="+1554"/>
+        <location line="+54"/>
+        <location line="+1"/>
+        <source>Import</source>
+        <translation type="unfinished">Importar</translation>
     </message>
     <message>
-        <source>edit Heading</source>
-        <translation type="obsolete">Editar Encabezado</translation>
+        <location line="-3186"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
+        <source>(still experimental)</source>
+        <translation type="unfinished">(aún experimental)</translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <translation type="obsolete">Editar encabezado</translation>
-    </message>
-    <message>
-        <source>Delete Selection</source>
-        <translation type="obsolete">Eliminar Selección</translation>
+        <location line="-3237"/>
+        <source>&amp;Print</source>
+        <translation type="unfinished">&amp;Imprimir</translation>
     </message>
     <message>
-        <source>Add a branch as child of selection</source>
-        <translation type="obsolete">Agregar una rama como hija de selección</translation>
+        <location line="+3168"/>
+        <location line="+68"/>
+        <source>Export to</source>
+        <translation type="unfinished">Exportar a</translation>
     </message>
     <message>
-        <source>Add branch as child</source>
-        <translation type="obsolete">Agregar rama como hija</translation>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
+        <source>Warning</source>
+        <translation type="unfinished">Advertencia</translation>
     </message>
     <message>
-        <source>Add a branch above selection</source>
-        <translation type="obsolete">Agregar rama arriba de la selección</translation>
+        <location line="-2733"/>
+        <location line="+2345"/>
+        <source>Couldn&apos;t find a viewer to open %1.
+</source>
+        <translation type="unfinished">No se pudo encontrar un visor para abrir %1.
+        </translation>
     </message>
     <message>
-        <source>Add branch above</source>
-        <translation type="obsolete">Agregar rama arriba</translation>
+        <location line="-2344"/>
+        <location line="+2345"/>
+        <source>Please use Settings-&gt;</source>
+        <translation type="unfinished">Por favor use Configuración-&gt;</translation>
     </message>
     <message>
-        <source>Add a branch below selection</source>
-        <translation type="obsolete">Agregar una rama abajo de la selección</translation>
+        <location line="-1954"/>
+        <source>Couldn&apos;t set sleep time to %1.
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add branch below</source>
-        <translation type="obsolete">Agregar rama abajo</translation>
+        <location line="+49"/>
+        <source>branches</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add map at selection</source>
-        <translation type="obsolete">Agregar mapa en la selección</translation>
+        <location line="+7"/>
+        <source>notes</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Import (add)</source>
-        <translation type="obsolete">Importar (agregar)</translation>
+        <location line="+1"/>
+        <source>images</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Replace selection with map</source>
-        <translation type="obsolete">reemplazar selección con mapa</translation>
+        <location line="+3"/>
+        <source>slides</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Import (replace)</source>
-        <translation type="obsolete">Importar (reemplazar)</translation>
+        <location line="+2"/>
+        <source>xLinks</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save selection</source>
-        <translation type="obsolete">Guardar Selección</translation>
+        <location line="+796"/>
+        <location line="+1097"/>
+        <source>Set application to open PDF files</source>
+        <translation type="unfinished">Configurar aplicación para abrir archivos PDF</translation>
     </message>
     <message>
-        <source>Select upper branch</source>
-        <translation type="obsolete">Seleccionar rama más alta</translation>
+        <location line="-4311"/>
+        <source>Oh no!</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">¡Oh cielos!</translation>
     </message>
     <message>
-        <source>Select lower branch</source>
-        <translation type="obsolete">Seleccionar rama más baja</translation>
+        <location line="-2414"/>
+        <source>Search results list</source>
+        <comment>FindResultWidget</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select left branch</source>
-        <translation type="obsolete">Seleccionar rama izquierda</translation>
+        <location line="+3108"/>
+        <source>File actions toolbar</source>
+        <comment>Toolbar for file actions</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select right branch</source>
-        <translation type="obsolete">Seleccionar rama derecha</translation>
+        <location line="-2171"/>
+        <source>PDF%1</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select child branch</source>
-        <translation type="obsolete">Seleccionar rama hijo</translation>
+        <location line="+5"/>
+        <source>SVG%1</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select first branch</source>
-        <translation type="obsolete">Seleccionar primera rama</translation>
+        <location line="-63"/>
+        <source>Repeat last export (%1)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select last branch</source>
-        <translation type="obsolete">Seleccionar última rama</translation>
+        <location line="+2248"/>
+        <source>Edit actions toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add Image</source>
-        <translation type="obsolete">Agregar Imagen</translation>
+        <location line="-3065"/>
+        <source>Task list</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Format</source>
-        <translation type="obsolete">&amp;Formato</translation>
+        <location line="-51"/>
+        <source>Script Editor</source>
+        <comment>ScriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set Color</source>
-        <translation type="obsolete">Configurar Color</translation>
+        <location line="+1015"/>
+        <source>E&amp;dit</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>Configurar &amp;Color</translation>
+        <location line="+84"/>
+        <source>Add attribute</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Pick color
-Hint: You can pick a color from another branch and color using CTRL+Left Button</source>
-        <translation type="obsolete">Consejo para escoger 
-color: Puede escoger un color de otra rama y aplicarlo usando CTRL+botón izquierdo</translation>
+        <location line="+131"/>
+        <source>&amp;Detach</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Pic&amp;k color</source>
-        <translation type="obsolete">Esco&amp;ger Color</translation>
+        <location line="+1"/>
+        <source>Detach branch and use as mapcenter</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Color branch</source>
-        <translation type="obsolete">Color de rama</translation>
+        <location line="+19"/>
+        <source>Sort children backwards</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Color &amp;branch</source>
-        <translation type="obsolete">Color de &amp;rama</translation>
+        <location line="+81"/>
+        <source>Expand all branches</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Color Subtree</source>
-        <translation type="obsolete">Color de Subárbol</translation>
+        <location line="+8"/>
+        <source>Expand one level</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Color sub&amp;tree</source>
-        <translation type="obsolete">Color de Sub&amp;árbol</translation>
+        <location line="-33"/>
+        <source>Collapse one level</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Line</source>
-        <translation type="obsolete">Línea</translation>
+        <location line="+13"/>
+        <source>Collapse unselected levels</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
-        <source>Linkstyle Line</source>
-        <translation>Línea de estilo de enlace</translation>
+        <location line="-47"/>
+        <source>Unscroll children</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Linkstyle Parabel</source>
-        <translation type="obsolete">Parábola de estilo de enlace</translation>
+        <location line="-304"/>
+        <source>Properties</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>PolyLine</source>
-        <translation type="obsolete">Multilínea</translation>
+        <location line="+210"/>
+        <source>Move branch up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Mover rama arriba</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
-        <source>Linkstyle Thick Line</source>
-        <translation>Estilo de enlace de línea gruesa</translation>
+        <location line="+13"/>
+        <source>Move branch down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Mover rama abajo</translation>
     </message>
     <message>
-        <source>PolyParabel</source>
-        <translation type="obsolete">MultiParábola </translation>
+        <location line="+86"/>
+        <source>Grow selection</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Linkstyle Thick Parabel</source>
-        <translation type="obsolete">Estilo de enlace de parábola gruesa</translation>
+        <location line="+9"/>
+        <source>Shrink selection</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Sin marco</translation>
+        <location line="+9"/>
+        <source>Reset selection size</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rectángulo</translation>
+        <location line="+54"/>
+        <source>References Context menu</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use same color for links and headings</source>
-        <translation type="obsolete">Usar el mismo color para enlaces y encabezados</translation>
+        <location line="+94"/>
+        <source>vymlinks - linking maps</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Use color of heading for link</source>
-        <translation type="obsolete">&amp;Usar color de encabezado para enlace</translation>
+        <location line="+44"/>
+        <source>Exports</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set Link Color</source>
-        <translation type="obsolete">Configurar Color de Enlace</translation>
+        <location line="+13"/>
+        <source>Tasks</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
-        <source>Set &amp;Link Color</source>
-        <translation type="unfinished">Configurar &amp;Color de Enlace</translation>
+        <location line="+1"/>
+        <source>Toggle task</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set Background Color</source>
-        <translation type="obsolete">Configurar Color de Fondo</translation>
+        <location line="+12"/>
+        <source>Cycle task status</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
-        <source>Set &amp;Background Color</source>
-        <translation>Configurar &amp;Color de Fondo</translation>
+        <location line="+21"/>
+        <source>Reset sleep</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
-        <source>&amp;View</source>
-        <translation>&amp;Vista</translation>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <source>Sleep %1 days</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Zoom reset</source>
-        <translation type="obsolete">Zoom reiniciado</translation>
+        <location line="-55"/>
+        <source>Sleep %1 day</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>reset Zoom</source>
-        <translation type="obsolete">Reiniciar Zoom</translation>
+        <location line="+66"/>
+        <location line="+11"/>
+        <source>Sleep %1 weeks</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Zoom in</source>
-        <translation type="obsolete">Acercar</translation>
+        <location line="+32"/>
+        <source>Removing parts of a map</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Zoom out</source>
-        <translation type="obsolete">Alejar</translation>
+        <location line="+24"/>
+        <source>Various</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle Note Editor</source>
-        <translation type="obsolete">Cambiar al Editor de notas</translation>
+        <location line="+12"/>
+        <source>Map properties...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Next Window</source>
-        <translation type="obsolete">&amp;Siguiente Ventana</translation>
+        <location line="+30"/>
+        <source>Selections</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Next Window</source>
-        <translation type="obsolete">Siguiente Ventana</translation>
+        <location line="+1"/>
+        <source>Select</source>
+        <comment>Select menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Previous Window</source>
-        <translation type="obsolete">&amp;Ventana Previa</translation>
+        <location line="+3"/>
+        <source>Toggle target...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Previous Window</source>
-        <translation type="obsolete">Ventana Previa</translation>
+        <location line="+10"/>
+        <source>Goto target...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Modes when using modifiers</source>
-        <translation type="obsolete">Modos cuando se usan modificadores</translation>
+        <location line="+9"/>
+        <source>Move to target...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use modifier to color branches</source>
-        <translation type="obsolete">Usar modificadores para el color de ramas</translation>
+        <location line="+47"/>
+        <source>Search functions</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">&amp;Configuración</translation>
+        <location line="+16"/>
+        <source>Find duplicate URLs</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set application to open pdf files</source>
-        <translation type="obsolete">Configurar aplicación para abrir archivos pdf</translation>
+        <location line="+216"/>
+        <source>Note editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
-        <source>Set application to open an URL</source>
-        <translation type="unfinished">Configurar aplicación para abrir una URL</translation>
+        <location line="+12"/>
+        <source>Heading editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit branch after adding it</source>
-        <translation type="obsolete">Editar rama después de añadirla</translation>
+        <location line="+611"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select branch after adding it</source>
-        <translation type="obsolete">Seleccionar rama después de añadirla</translation>
+        <location line="+121"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select heading before editing</source>
-        <translation type="obsolete">Seleccionar encabezado antes de editar</translation>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select existing heading</source>
-        <translation type="obsolete">Seleccionar encabezado existente</translation>
+        <location line="-1419"/>
+        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable pasting into new branch</source>
-        <translation type="obsolete">Habilitar pegado en una nueva rama</translation>
+        <location line="+17"/>
+        <source>Extract URLs from note</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable Delete key for deleting branches</source>
-        <translation type="obsolete">Habilitar tecla Delete para borrar ramas</translation>
+        <location line="+308"/>
+        <source>Add timestamp</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable Delete key</source>
-        <translation type="obsolete">Habilitar tecla Delete</translation>
+        <location line="-11"/>
+        <source>Remove children</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Test</source>
-        <translation type="obsolete">&amp;Prueba</translation>
+        <location line="+333"/>
+        <source>Center on selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Test Flag</source>
-        <translation type="obsolete">Probar Bandera</translation>
+        <location line="+1195"/>
+        <source>Editors toolbar</source>
+        <comment>Editor Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>test flag</source>
-        <translation type="obsolete">Probar bandera</translation>
+        <location line="+12"/>
+        <source>Modifier modes toolbar</source>
+        <comment>Modifier Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Clipboard</source>
-        <translation type="obsolete">Mostrar Portapapeles</translation>
+        <location line="-3208"/>
+        <source>Property Editor</source>
+        <comment>PropertyEditor</comment>
+        <translation type="unfinished">Editar propiedad</translation>
     </message>
     <message>
-        <source>Show clipboard</source>
-        <translation type="obsolete">Mostrar portapapeles</translation>
+        <location line="-6"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Help</source>
-        <translation type="obsolete">&amp;Ayuda</translation>
+        <location line="+14"/>
+        <source>History window</source>
+        <comment>HistoryWidget</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Open VYM Documentation (pdf)</source>
-        <translation type="obsolete">Abrir Documentación de VYM (pdf)</translation>
+        <location line="+815"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Open VYM Documentation (pdf) </source>
-        <translation type="obsolete">Abrir Documentación de VYM (pdf)</translation>
+        <location line="+9"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Information about VYM</source>
-        <translation type="obsolete">Información sobre VYM</translation>
+        <location line="+14"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>About VYM</source>
-        <translation type="obsolete">Sobre VYM</translation>
+        <location line="+17"/>
+        <source>Webpage (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Information about QT toolkit</source>
-        <translation type="obsolete">Información sobre kit de herramientas QT</translation>
+        <location line="+5"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>About QT</source>
-        <translation type="obsolete">Acerca de QT</translation>
+        <location line="+8"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Favoritos de Firefox</translation>
     </message>
     <message>
-        <source>Save image</source>
-        <translation type="obsolete">Guardar imagen</translation>
+        <location line="+8"/>
+        <source>Text (ASCII)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use for Export</source>
-        <translation type="obsolete">Usar para Exportar</translation>
+        <location line="+5"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">Exportar mapa como imagen</translation>
+        <location line="+7"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export as ASCII (still experimental)</source>
-        <translation type="obsolete">Exportar como ASCII (aún experimental)</translation>
+        <location line="+7"/>
+        <source>Text (A&amp;O report)...</source>
+        <comment>Export format</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export (ASCII)</source>
-        <translation type="obsolete">Exportar (ASCII)</translation>
+        <location line="+30"/>
+        <source>CSV...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export XML</source>
-        <translation type="obsolete">Exportar XML</translation>
+        <location line="+258"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export HTML</source>
-        <translation type="obsolete">Exportar HTML</translation>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export XHTML</source>
-        <translation type="obsolete">Exportar XHTML</translation>
+        <location line="+206"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The directory </source>
-        <translation type="obsolete">El directorio</translation>
+        <location line="+9"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> is not empty. Do you risk to overwrite its contents?</source>
-        <translation type="obsolete">no está vacio. ¿Se arriesga  a sobrescribir su contenido?</translation>
+        <location line="+23"/>
+        <source>Open linked map in background tab</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
-        <source>Overwrite</source>
-        <translation>Sobreescribir</translation>
+        <location line="+69"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <location line="+185"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The map </source>
-        <translation type="obsolete">El mapa</translation>
+        <location line="+56"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
- is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation type="obsolete">ya está abierto. Abrir el mismo mapa en múltiples editores puede
-generar confusión cuando termine de trabajar con vym. Desea hacerlo</translation>
+        <location line="+9"/>
+        <source>Select previous</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
-        <source>Open anyway</source>
-        <translation>Abrir de todas maneras</translation>
+        <location line="+10"/>
+        <source>Select next</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
-        <source>Create</source>
-        <translation>Crear</translation>
+        <location line="+11"/>
+        <source>Unselect all</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Error crítico de carga</translation>
+        <location line="+73"/>
+        <source>Select default font</source>
+        <comment>Branch attribute</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation type="obsolete">No se pudo iniciar zip para descomprimir datos.</translation>
+        <location line="+83"/>
+        <source>Toolbars</source>
+        <comment>Toolbars overview in view menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation type="obsolete">unzip no terminó normalmente</translation>
+        <location line="+8"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">No se encuentra mapa (*.xml) en el archivo .vym.</translation>
+        <location line="+28"/>
+        <source>Rotate counterclockwise</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
-        <source>Load vym map</source>
-        <translation>Cargar mapa vym</translation>
+        <location line="+9"/>
+        <source>Rotate rclockwise</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
-        <source>Import: Add vym map to selection</source>
-        <translation>Importar: Agregar mapa vym a la selección</translation>
+        <location line="+64"/>
+        <source>Tree editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
-        <source>Import: Replace selection with vym map</source>
-        <translation>Importar: Reemplaza selección con mapa vym</translation>
+        <location line="+9"/>
+        <source>Task editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Error al guardar</translation>
+        <location line="+11"/>
+        <source>Slide editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-could not be removed before saving</source>
-        <translation type="obsolete">no puede ser borrado antes de guardar</translation>
+        <location line="+9"/>
+        <source>Script editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">no usó el formato de compresión archivo vym.
-Escribiendo el archivo descomprimido también escribirá imágenes
-y banderas y esto puede sobreescribir los archivos en el directorio dado
-
-¿Desea escribir el mapa?</translation>
+        <location line="+8"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">comprimido (por defecto vym)</translation>
+        <location line="+54"/>
+        <source>Next slide</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">descomprimido</translation>
+        <location line="+7"/>
+        <source>Previous slide</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Save Error</source>
-        <translation type="obsolete">Error Crítico al guardar</translation>
+        <location line="+175"/>
+        <source>Map target</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation type="obsolete">No se pudo iniciar zip para comprimir datos.</translation>
+        <location line="+899"/>
+        <source>Standard Flags toolbar</source>
+        <comment>Standard Flag Toolbar</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>zip didn&apos;t exit normally</source>
-        <translation type="obsolete">zip no salió normalmente</translation>
+        <location line="-874"/>
+        <source>Status - ok,done</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Saved</source>
-        <translation type="obsolete">Guardado</translation>
+        <location line="+4"/>
+        <source>Status - work in progress</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t save</source>
-        <translation type="obsolete">No se pudo guardar</translation>
+        <location line="+5"/>
+        <source>Status - missing, not started</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The file </source>
-        <translation type="obsolete">El archivo </translation>
+        <location line="+73"/>
+        <source>Call...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Llamar...</translation>
     </message>
     <message>
-        <source>
-exists already. Do you want to</source>
-        <translation type="obsolete">ya existe. Desea hacerlo</translation>
+        <location line="-20"/>
+        <source>Very important!</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">¡Muy importante!</translation>
     </message>
     <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Exportar XML a directorio</translation>
+        <location line="+5"/>
+        <source>Very unimportant!</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">¡Poco importante!</translation>
     </message>
     <message>
-        <source> has been modified but not saved yet. Do you want to</source>
-        <translation type="obsolete">ha sido modificado pero no está guardado aún. ¿Desea hacerlo?</translation>
+        <location line="+24"/>
+        <source>Rose</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Rosa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
-        <source>Save modified map before closing it</source>
-        <translation>Guardar mapa modificado antes de cerrarlo</translation>
+        <location line="-3"/>
+        <source>Surprise!</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">¡Sorpresa!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
-        <source>Discard changes</source>
-        <translation>Descartar cambios</translation>
+        <location line="-423"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This map is not saved yet. Do you want to</source>
-        <translation type="obsolete">Este mapa no está guardado aún. ¿Desea guardarlo?</translation>
+        <location line="+146"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save map</source>
-        <translation type="obsolete">Guardar mapa</translation>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
-        <source>VYM -Information:</source>
-        <translation>VYM -Información:</translation>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No matches found for </source>
-        <translation type="obsolete">No se encuentran coincidencias</translation>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
-        <source>Critical Error</source>
-        <translation>Error crítico</translation>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter path for pdf reader:</source>
-        <translation type="obsolete">Ingrese ruta para lector de pdf:</translation>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter path for application to open an URL:</source>
-        <translation type="obsolete">Ingrese la ruta para aplicación para abrir una URL:</translation>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
-        <source>Critcal error</source>
-        <translation>Error crítico</translation>
+        <location line="+17"/>
+        <source>Images</source>
+        <translation type="unfinished">Imágenes</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find the documentation
-vym.pdf in various places.</source>
-        <translation type="obsolete">No puede encontrar la documentación
-vym.pdf en varios lugares.</translation>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a viewer to read vym.pdf.
-Please use Settings-&gt;</source>
-        <translation type="obsolete">No se puede encontrar un visor para leer vym.pdf.
-Por favor use Configuración-&gt;</translation>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a branch by inserting and making selection its child</source>
-        <translation type="obsolete">Adicionar una rama insertando y haciendo selección de sus hijos</translation>
+        <location line="+52"/>
+        <source>Info</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Información</translation>
     </message>
     <message>
-        <source>Add branch (insert)</source>
-        <translation type="obsolete">Añadir rama (insertar)</translation>
+        <location line="+17"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove only branch and keep its childs</source>
-        <translation type="obsolete">Borrar solo ramas y mantener sus hijos</translation>
+        <location line="+54"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Importante</translation>
     </message>
     <message>
-        <source>Remove only branch </source>
-        <translation type="obsolete">Borrar solo ramas</translation>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Volver</translation>
     </message>
     <message>
-        <source>Remove childs of branch</source>
-        <translation type="obsolete">Borrar hijos de rama</translation>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Adelante</translation>
     </message>
     <message>
-        <source>Remove childs</source>
-        <translation type="obsolete">Borrar Hijos</translation>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Mira aquí</translation>
     </message>
     <message>
-        <source>Use modifier to copy</source>
-        <translation type="obsolete">Usar modificador para copiar</translation>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Peligroso</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
-        <source>Add</source>
-        <translation>Añadir</translation>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">No o&apos;lvide</translation>
     </message>
     <message>
-        <source>Remove</source>
-        <translation type="obsolete">Borrar</translation>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Bandera</translation>
     </message>
     <message>
-        <source>Edit XLink</source>
-        <translation type="obsolete">Editar XEnlace</translation>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Inicio</translation>
     </message>
     <message>
-        <source>Goto XLink</source>
-        <translation type="obsolete">Ir al XEnlace</translation>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Teléfono</translation>
     </message>
     <message>
-        <source>This map does not exist:
-  </source>
-        <translation type="obsolete">Este mapa no existe:</translation>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Música</translation>
     </message>
     <message>
-        <source>
-Do you want to create a new one?</source>
-        <translation type="obsolete">¿Desea crear uno nuevo?</translation>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Bandeja de correo</translation>
     </message>
     <message>
-        <source>Use modifier to draw xLinks</source>
-        <translation type="obsolete">Usar modificadores para dibujar XEnlace</translation>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use exclusive flags in flag toolbars</source>
-        <translation type="obsolete">Usar banderas exclusivas en la barra de herramientas de banderas</translation>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Contraseña</translation>
     </message>
     <message>
-        <source>Enable exclusive flags</source>
-        <translation type="obsolete">Habilitar banderas exclusivas</translation>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Para mejorar</translation>
     </message>
     <message>
-        <source>Set application to open external links</source>
-        <translation type="obsolete">Configurar aplicación para abrir enlaces externos</translation>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Parar</translation>
     </message>
     <message>
-        <source>Delete key for deleting branches</source>
-        <translation type="obsolete">Borrar clave para borrar ramas</translation>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Mágico</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
-        <source>The map %1
-is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation type="unfinished">El mapa %1 ya está abierto. Abrir el mismo mapa en múltiples editores puede conducir a confusión cuando se cierran tareas con vym. ¿Desea abrirlo?</translation>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Para discutir</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
-        <source>This map does not exist:
-  %1
-Do you want to create a new one?</source>
-        <translation type="unfinished">Este mapa no existe:
-   %1
-¿Desea crear uno nuevo?</translation>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Recordar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
-        <source>Loading: %1</source>
-        <comment>Progress dialog while loading maps</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Excelente</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
-        <source>Saved  %1</source>
-        <translation type="unfinished">Guardado %1</translation>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Linux</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
-        <source>Couldn&apos;t save </source>
-        <translation type="unfinished">No se pudo guardar</translation>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Dulce</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
-        <source>The file %1
-exists already. Do you want to</source>
-        <translation type="unfinished">El archivo %1
-ya existe. ¿Desea crearlo?</translation>
+        <location line="+125"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
-        <source>The map %1 has been modified but not saved yet. Do you want to</source>
-        <translation type="unfinished">El mapa %1 ha sido modificado pero se ha guardado todavía. ¿Desea guardarlo?</translation>
+        <location line="+5"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
-        <source>Couldn&apos;t open map %1</source>
-        <translation type="unfinished">No se pudo abrir mapa %1</translation>
+        <location line="+27"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Exit</source>
-        <translation type="obsolete">Salir</translation>
+        <location line="+5"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translation type="obsolete">Rehacer</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <translation type="obsolete">&amp;Rehacer</translation>
-    </message>
-    <message>
-        <source>Hide link</source>
-        <translation type="obsolete">Ocultar enlace</translation>
-    </message>
-    <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Nota</translation>
-    </message>
-    <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Documento WWW (externo)</translation>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Enlace a otro mapa vym</translation>
+        <location line="+82"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">El subárbol está desplegado</translation>
+        <location line="+81"/>
+        <source>Download and show release notes</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">El subárbol está temporalmente desplegado</translation>
+        <location line="+4"/>
+        <source>Check, if updates are available</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">¡Ten cuidado!</translation>
+        <location line="+5"/>
+        <source>Show keyboard shortcuts</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">¿Cierto?</translation>
+        <location line="+4"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">¡Ok!</translation>
+        <location line="+4"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Not ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">¡No esta bien!</translation>
+        <location line="+4"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
-        <source>This won&apos;t work!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">¡Esto no funciona!</translation>
+        <location line="+56"/>
+        <source>Tasks</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
-        <source>Good</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Bien</translation>
+        <location line="+40"/>
+        <source>XLinks</source>
+        <comment>Menu for file actions</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
-        <source>Bad</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Mal</translation>
+        <location line="+137"/>
+        <source>Undo and clipboard toolbar</source>
+        <comment>Toolbar for redo/undo and clipboard</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
-        <source>Time critical</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Tiempo crítico</translation>
+        <location line="+29"/>
+        <source>Selection toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">¡Idea!</translation>
+        <location line="+9"/>
+        <source>URLs and vymLinks toolbar</source>
+        <comment>Toolbar for URLs and vymlinks</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Importante</translation>
+        <location line="+6"/>
+        <source>Colors toolbar</source>
+        <comment>Colors toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Poco importante</translation>
+        <location line="+27"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
-        <source>I like this</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Me gusta</translation>
+        <location line="+21"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">no me gusta esto</translation>
+        <location line="+39"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Solo amo...</translation>
+        <location line="+171"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Peligroso</translation>
+        <location line="+244"/>
+        <source>or</source>
+        <comment>File Dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
-        <source>This will help</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Esto puede ayudar</translation>
+        <location line="+143"/>
+        <source>Save map as</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
-        <source>Import</source>
-        <translation type="unfinished">Importar</translation>
+        <location line="+8"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <translation type="obsolete">Favoritos KDE</translation>
+        <location line="+46"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <source>(still experimental)</source>
-        <translation type="unfinished">(aún experimental)</translation>
+        <location line="+235"/>
+        <source>Couldn&apos;t find configuration for export to LibreOffice
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exportar como LaTeX</translation>
+        <location line="+266"/>
+        <source>Enter URL:</source>
+        <translation type="unfinished">Introduzca URL:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
-        <source>&amp;Print</source>
-        <translation type="unfinished">&amp;Imprimir</translation>
+        <location line="+23"/>
+        <source>HTML</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
-        <source>Export to</source>
-        <translation type="unfinished">Exportar a</translation>
+        <location line="+1"/>
+        <source>Text</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Texto</translation>
     </message>
     <message>
-        <source>Hide object in exports</source>
-        <translation type="obsolete">Ocultar objeto en las exportaciones</translation>
+        <location line="+1"/>
+        <source>Spreadsheet</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Hoja de cálculo</translation>
     </message>
     <message>
-        <source>Use hide flag during exports </source>
-        <translation type="obsolete">Usar ocultar flag durante exportaciones</translation>
+        <location line="+1"/>
+        <source>Textdocument</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Textdocument</translation>
     </message>
     <message>
-        <source>Open URL in new tab</source>
-        <translation type="obsolete">Abrir URL en una nueva pestaña</translation>
+        <location line="+1"/>
+        <source>Images</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Imágenes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Warning</source>
-        <translation type="unfinished">Advertencia</translation>
+        <location line="+4"/>
+        <source>Set URL to a local file</source>
+        <translation type="unfinished">Establecer URL a un fichero local</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
-        <translation type="unfinished">No se pudo encontrar un visor para abrir %1.
-        </translation>
+        <location line="+1031"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Please use Settings-&gt;</source>
-        <translation type="unfinished">Por favor use Configuración-&gt;</translation>
+        <location line="+1447"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation type="unfinished">No se pudo iniciar %1 para abrir una nueva pestaña en %2.</translation>
+        <location line="-23"/>
+        <source>Please allow vym to download release notes!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
+        <location line="+62"/>
+        <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
-        <source>Couldn&apos;t set sleep time to %1.
-</source>
+        <location line="+1"/>
+        <source>Do not allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
-        <source>branches</source>
-        <comment>Info about map</comment>
+        <location line="+5"/>
+        <source>Thank you for enabling downloads!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
-        <source>notes</source>
-        <comment>Info about map</comment>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
-        <source>images</source>
-        <comment>Info about map</comment>
+        <location line="+24"/>
+        <source>Update information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
+        <location line="+4"/>
+        <source>vym is up to date.</source>
+        <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
-        <source>slides</source>
-        <comment>Info about map</comment>
+        <location line="+48"/>
+        <source>Checking for updates...</source>
+        <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
-        <source>xLinks</source>
-        <comment>Info about map</comment>
+        <location line="+30"/>
+        <source>Please allow vym to check for updates!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Set application to open PDF files</source>
-        <translation type="unfinished">Configurar aplicación para abrir archivos PDF</translation>
+        <location line="-3114"/>
+        <source>Firefox Bookmarks</source>
+        <translation type="unfinished">Favoritos de Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
-        <source>Oh no!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">¡Oh cielos!</translation>
+        <location line="-3184"/>
+        <source>&amp;Open...</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">&amp;Abrir...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation type="unfinished">Editor de notas</translation>
+        <location line="+16"/>
+        <source>Open Recent</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">Abrir reciente</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>&amp;Save...</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">&amp;Guardar...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="260"/>
-        <source>Search results list</source>
-        <comment>FindResultWidget</comment>
-        <translation type="unfinished"></translation>
+        <location line="+9"/>
+        <source>Save &amp;As...</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">Guardar &amp;Como...</translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="obsolete">&amp;Mapa</translation>
+        <location line="+11"/>
+        <source>Import</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">Importar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
-        <source>File actions toolbar</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="unfinished"></translation>
+        <location line="+23"/>
+        <source>Export</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">Exportar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
-        <source>PDF%1</source>
+        <location line="+56"/>
+        <source>Image%1</source>
         <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Imagen%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
-        <source>SVG%1</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+65"/>
+        <source>&amp;Close Map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">&amp;Cerrar Mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
-        <source>Repeat last export (%1)</source>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>E&amp;xit</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">Salir&amp;</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
-        <source>Edit actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="unfinished"></translation>
+        <location line="+26"/>
+        <source>&amp;Undo</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">&amp;Deshacer</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
-        <translation type="unfinished"></translation>
+        <location line="+11"/>
+        <source>&amp;Redo</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">&amp;Rehacer</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="314"/>
-        <source>Task list</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished"></translation>
+        <location line="+11"/>
+        <source>&amp;Copy</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">&amp;Copiar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
-        <source>Script Editor</source>
-        <comment>ScriptEditor</comment>
-        <translation type="unfinished"></translation>
+        <location line="+11"/>
+        <source>Cu&amp;t</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Menú editar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
-        <source>E&amp;dit</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
-        <source>Add attribute</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
-        <source>&amp;Detach</source>
-        <comment>Context menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
-        <source>Detach branch and use as mapcenter</source>
-        <comment>Context menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
-        <source>Sort children backwards</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
-        <source>Expand all branches</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
-        <source>Expand one level</source>
+        <location line="+13"/>
+        <source>&amp;Paste</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">&amp;Pegar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
-        <source>Collapse one level</source>
+        <location line="+13"/>
+        <location line="+10"/>
+        <source>Delete Selection</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Eliminar Selección</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
-        <source>Collapse unselected levels</source>
+        <location line="+33"/>
+        <source>Add branch as child</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Agregar rama como hija</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
-        <source>Unscroll children</source>
+        <location line="+9"/>
+        <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation type="unfinished">Hoja de cálculo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
-        <source>Properties</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Adicionar rama (insertar)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
-        <source>Move branch up</source>
+        <location line="+10"/>
+        <location line="+10"/>
+        <source>Add branch above</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished">Mover rama arriba</translation>
+        <translation type="unfinished">Agregar rama arriba</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
-        <source>Move branch down</source>
+        <location line="+10"/>
+        <location line="+9"/>
+        <source>Add branch below</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished">Mover rama abajo</translation>
+        <translation type="unfinished">Agregar rama abajo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
-        <source>Grow selection</source>
+        <location line="+91"/>
+        <source>Scroll branch</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Acoplar rollo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
-        <source>Shrink selection</source>
+        <location line="+544"/>
+        <location line="+8"/>
+        <source>Find...</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Encontrar...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
-        <source>Reset selection size</source>
+        <location line="-462"/>
+        <source>Open URL</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Abrir URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
+        <location line="+9"/>
+        <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Abrir URL en una nueva pestaña</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
+        <location line="+18"/>
+        <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Menú editar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
+        <location line="+17"/>
+        <source>Edit URL...</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Editar URL...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
+        <location line="+18"/>
+        <source>Use heading for URL</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
-        <source>vymlinks - linking maps</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
-        <source>Exports</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
-        <source>Tasks</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Usar encabezado para URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
-        <source>Toggle task</source>
+        <location line="+33"/>
+        <source>Open linked map</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Abrir mapa enlazado</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
-        <source>Cycle task status</source>
+        <location line="+17"/>
+        <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
-        <source>Reset sleep</source>
-        <comment>Task sleep</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
-        <source>Sleep %1 days</source>
-        <comment>Task sleep</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
-        <source>Sleep %1 day</source>
-        <comment>Task sleep</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
-        <source>Sleep %1 weeks</source>
-        <comment>Task sleep</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
-        <source>Removing parts of a map</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
-        <source>Various</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Abrir todos los enlaces de vym en subárbol</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
-        <source>Map properties...</source>
+        <location line="+9"/>
+        <source>Edit vym link...</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Editar enlace vym...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
+        <location line="+9"/>
+        <source>Delete vym link</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
-        <source>Selections</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
-        <source>Select</source>
-        <comment>Select menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Eliminar enlace de vym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
-        <source>Toggle target...</source>
+        <location line="+9"/>
+        <source>Hide in exports</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Ocultar en la exportación</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
-        <source>Goto target...</source>
+        <location line="+158"/>
+        <source>Add map (insert)</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Añadir mapa (insertar)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
-        <source>Move to target...</source>
+        <location line="+7"/>
+        <source>Add map (replace)</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
-        <source>Search functions</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Añadir mapa (reemplazar)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
-        <source>Find duplicate URLs</source>
+        <location line="+7"/>
+        <source>Save selection</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
-        <source>Note editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
-        <source>Heading editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Guardar Selección</translation>
     </message>
     <message>
-        <source>Info</source>
-        <translation type="obsolete">Información</translation>
+        <location line="+169"/>
+        <source>F&amp;ormat</source>
+        <comment>Format menu</comment>
+        <translation type="unfinished">Formato&amp;</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <location line="+7"/>
+        <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Esco&amp;ger Color</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
-        <source>Extract URLs from note</source>
+        <location line="+10"/>
+        <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Color de &amp;rama</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
-        <source>Add timestamp</source>
+        <location line="+10"/>
+        <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Color de Sub&amp;árbol</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
-        <source>Remove children</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+53"/>
+        <source>Hide link if object is not selected</source>
+        <comment>Branch attribute</comment>
+        <translation type="unfinished">Esconder enlace si el objeto no se selecciona</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>&amp;Use color of heading for link</source>
+        <comment>Branch attribute</comment>
+        <translation type="unfinished">&amp;Usar color para encabezado de enlace</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
-        <source>Center on selection</source>
+        <location line="+89"/>
+        <source>reset Zoom</source>
         <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
-        <source>Editors toolbar</source>
-        <comment>Editor Toolbar name</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Reiniciar Zoom</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
-        <source>Modifier modes toolbar</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="unfinished"></translation>
+        <location line="-37"/>
+        <source>Zoom in</source>
+        <comment>View action</comment>
+        <translation type="unfinished">Acercar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
-        <source>Property Editor</source>
-        <comment>PropertyEditor</comment>
-        <translation type="unfinished">Editar propiedad</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="287"/>
-        <source>History window</source>
-        <comment>HistoryWidget</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
-        <source>Webpage (HTML)...</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
-        <source>Text (ASCII)...</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <source>Text with tasks</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
-        <source>Text (A&amp;O report)...</source>
-        <comment>Export format</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
-        <source>Open linked map in background tab</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
-        <source>Select next</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
-        <source>Unselect all</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
-        <source>Select default font</source>
-        <comment>Branch attribute</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
-        <source>Toolbars</source>
-        <comment>Toolbars overview in view menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
-        <source>Rotate counterclockwise</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
-        <source>Rotate rclockwise</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
-        <source>Tree editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
-        <source>Task editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
-        <source>Slide editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
-        <source>Script editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
-        <source>Next slide</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
-        <source>Previous slide</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
-        <source>Map target</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
-        <source>Standard Flags toolbar</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
-        <source>Status - ok,done</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
-        <source>Status - work in progress</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
-        <source>Status - missing, not started</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
-        <source>Call...</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Llamar...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
-        <source>Very important!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">¡Muy importante!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
-        <source>Very unimportant!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">¡Poco importante!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
-        <source>Rose</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Rosa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
-        <source>Surprise!</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">¡Sorpresa!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
-        <source>Info</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Información</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
-        <source>Download and show release notes</source>
-        <comment>Help action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
-        <source>Check, if updates are available</source>
-        <comment>Help action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
-        <source>Show keyboard shortcuts</source>
-        <comment>Help action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
-        <source>Tasks</source>
-        <comment>Context menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
-        <source>XLinks</source>
-        <comment>Menu for file actions</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
-        <source>Undo and clipboard toolbar</source>
-        <comment>Toolbar for redo/undo and clipboard</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
-        <source>Selection toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
-        <source>URLs and vymLinks toolbar</source>
-        <comment>Toolbar for URLs and vymlinks</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
-        <source>Colors toolbar</source>
-        <comment>Colors toolbar name</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
-        <source>or</source>
-        <comment>File Dialog</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
-        <source>Save map as</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
-        <source>Couldn&apos;t find configuration for export to LibreOffice
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
-        <source>Enter URL:</source>
-        <translation type="unfinished">Introduzca URL:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Texto</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Hoja de cálculo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Textdocument</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Imágenes</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
-        <source>Set URL to a local file</source>
-        <translation type="unfinished">Establecer URL a un fichero local</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation type="unfinished">Enlazar a otro mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <source>Please allow vym to download release notes!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
-        <source>Allow</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
-        <source>Do not allow</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
-        <source>Thank you for enabling downloads!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
-        <source>Update information</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
-        <source>vym is up to date.</source>
-        <comment>MainWindow</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
-        <source>Checking for updates...</source>
-        <comment>MainWindow</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Please allow vym to check for updates!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <translation type="obsolete">Favoritos de Firefox</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <translation type="obsolete">Mostrar Editor de notas</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation type="unfinished">Favoritos</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">No se pudo iniciar %1 para abrir una nueva pestaña</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Toolbars</comment>
-        <translation type="obsolete">Modos cuando usa modificadores</translation>
-    </message>
-    <message>
-        <source>Standard Flags</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation type="obsolete">Banderas estándar</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="obsolete">No se pudo encontrar configuración para exportar a Open Office</translation>
-    </message>
-    <message>
-        <source>No matches found for &quot;%1&quot;</source>
-        <translation type="obsolete">No se han encontrado coincidencias para &quot;%1&quot;</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <translation type="obsolete">&amp;Mapa</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree</source>
-        <translation type="obsolete">Abrir todas las URLs en subárbol</translation>
-    </message>
-    <message>
-        <source>Open all vym links in subtree</source>
-        <translation type="obsolete">Abrir todos los enlaces vym en subárbol</translation>
-    </message>
-    <message>
-        <source>Sorry, currently only Konqueror and Mozilla support tabbed browsing.</source>
-        <translation type="obsolete">Disculpe, actualmente solo Konqueror y Mozilla soportan navegación por etiqueta</translation>
-    </message>
-    <message>
-        <source>&amp;New...</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">&amp;Nuevo...</translation>
-    </message>
-    <message>
-        <source>New map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Nuevo Mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="985"/>
-        <source>&amp;Open...</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">&amp;Abrir...</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Abrir</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
-        <source>Open Recent</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">Abrir reciente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
-        <source>&amp;Save...</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">&amp;Guardar...</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Guardar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
-        <source>Save &amp;As...</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">Guardar &amp;Como...</translation>
-    </message>
-    <message>
-        <source>Save &amp;As</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Guardar &amp;Como</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
-        <source>Import</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">Importar</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Consejo de menu fichero</translation>
-    </message>
-    <message>
-        <source>KDE bookmarks</source>
-        <translation type="obsolete">Marcadores KDE</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Marcadores de Firefox</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importar %1</translation>
-    </message>
-    <message>
-        <source>Import Dir%1</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Importar Directorio%1</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importar estructura de directorio (experimental)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
-        <source>Export</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">Exportar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
-        <source>Image%1</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished">Imagen%1</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportar mapa como imagen</translation>
-    </message>
-    <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportar en formato abierto, por ejemplo Open Office</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportar como %1</translation>
-    </message>
-    <message>
-        <source> webpage (XHTML)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Consejo de menú fichero</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <translation type="obsolete">Exportar como %1</translation>
-    </message>
-    <message>
-        <source>KDE Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Marcadores KDE</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Imprimir</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
-        <source>&amp;Close Map</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">&amp;Cerrar Mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
-        <source>E&amp;xit</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">Salir&amp;</translation>
-    </message>
-    <message>
-        <source>&amp;Actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="obsolete">Barra de acciones</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Editar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">&amp;Deshacer</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">&amp;Rehacer</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">&amp;Copiar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Menú editar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">&amp;Pegar</translation>
-    </message>
-    <message>
-        <source>Edit heading</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Editar encabezado</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
-        <source>Delete Selection</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Eliminar Selección</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
-        <source>Add branch as child</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Agregar rama como hija</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
-        <source>Add branch (insert)</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Adicionar rama (insertar)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
-        <source>Add branch above</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Agregar rama arriba</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
-        <source>Add branch below</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Agregar rama abajo</translation>
-    </message>
-    <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Subir</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Bajar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
-        <source>Scroll branch</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Acoplar rollo</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Desacoplar todas las ramas acopladas</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
-        <source>Find...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Encontrar...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
-        <source>Open URL</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Abrir URL</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
-        <source>Open URL in new tab</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Abrir URL en una nueva pestaña</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
-        <source>Open all URLs in subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Menú editar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
-        <source>Edit URL...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Editar URL...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
-        <source>Use heading for URL</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Usar encabezado para URL</translation>
-    </message>
-    <message>
-        <source>Create URL to Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Crear URL a Bugzila</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
-        <source>Open linked map</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Abrir mapa enlazado</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
-        <source>Open all vym links in subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Abrir todos los enlaces de vym en subárbol</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
-        <source>Edit vym link...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Editar enlace vym...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
-        <source>Delete vym link</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Eliminar enlace de vym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
-        <source>Hide in exports</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Ocultar en la exportación</translation>
-    </message>
-    <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Editar información de mapa...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
-        <source>Add map (insert)</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Añadir mapa (insertar)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
-        <source>Add map (replace)</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Añadir mapa (reemplazar)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
-        <source>Save selection</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Guardar Selección</translation>
-    </message>
-    <message>
-        <source>Remove only branch </source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Remover solo ramas</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Hijos remotos</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleccionar rama más alta</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleccionar rama más baja</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleccionar rama izquierda</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleccionar rama hijo</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleccionar primera rama</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleccionar última rama</translation>
-    </message>
-    <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Añadir imagen...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
-        <source>F&amp;ormat</source>
-        <comment>Format menu</comment>
-        <translation type="unfinished">Formato&amp;</translation>
-    </message>
-    <message>
-        <source>Format Actions</source>
-        <comment>Format Toolbar name</comment>
-        <translation type="obsolete">Acciones de formato</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
-        <source>Pic&amp;k color</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Esco&amp;ger Color</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
-        <source>Color &amp;branch</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Color de &amp;rama</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
-        <source>Color sub&amp;tree</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Color de Sub&amp;árbol</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Sin marco</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
-        <source>Hide link if object is not selected</source>
-        <comment>Branch attribute</comment>
-        <translation type="unfinished">Esconder enlace si el objeto no se selecciona</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
-        <source>&amp;Use color of heading for link</source>
-        <comment>Branch attribute</comment>
-        <translation type="unfinished">&amp;Usar color para encabezado de enlace</translation>
-    </message>
-    <message>
-        <source>View Actions</source>
-        <comment>View Toolbar name</comment>
-        <translation type="obsolete">Ver acciones</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
-        <source>reset Zoom</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Reiniciar Zoom</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
-        <source>Zoom in</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Acercar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="124"/>
-        <source>Main window</source>
-        <comment>Shortcut scope</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="218"/>
-        <source>Main window</source>
-        <comment>Shortcut group</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="219"/>
-        <source>Map Editors</source>
-        <comment>Shortcut group</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="220"/>
-        <source>Text Editors</source>
-        <comment>Shortcut group</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="967"/>
-        <source>&amp;Map</source>
-        <comment>Menu for file actions</comment>
-        <translation type="unfinished">&amp;Mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="992"/>
-        <source>&amp;Restore last session</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
-        <source>Firefox Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation type="unfinished">Importar Directorio%1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
-        <source>Remove only branch and keep its children </source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
-        <source>Formatting</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
-        <source>Views</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
-        <source>Zoom out</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Alejar</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Mostrar editor de notas</translation>
-    </message>
-    <message>
-        <source>Next Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Siguiente Ventana</translation>
-    </message>
-    <message>
-        <source>Previous Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Ventana Previa</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="obsolete">Modos cuando usa modificadores</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation type="unfinished">Usar modificadores para color de ramas</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <comment>Mode modifier</comment>
-        <translation type="obsolete">Usar modificador de copia</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
-        <source>Use modifier to draw xLinks</source>
-        <comment>Mode modifier</comment>
-        <translation type="unfinished">Usar modificadores para dibujar XEnlace</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
-        <source>Set application to open pdf files</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Configurar aplicación para abrir archivos pdf</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
-        <source>Set application to open external links</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Establecer aplicación para abrir enlaces externos</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Editar rama después de adicionarle</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
-        <source>Select branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Seleccionar rama después de adicionarle</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
-        <source>Select existing heading</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Seleccionar encabezado existente</translation>
-    </message>
-    <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Borrar clave</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
-        <source>Exclusive flags</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Flags exclusivos</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
-        <source>Use hide flags</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Usar flags ocultos</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
-        <source>&amp;Help</source>
-        <comment>Help menubar entry</comment>
-        <translation type="unfinished">&amp;Ayuda</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
-        <source>Open VYM Documentation (pdf) </source>
-        <comment>Help action</comment>
-        <translation type="unfinished">Abrir Documentación de VYM (pdf)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
-        <source>About VYM</source>
-        <comment>Help action</comment>
-        <translation type="unfinished">Acerca de VYM</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
-        <source>About QT</source>
-        <comment>Help action</comment>
-        <translation type="unfinished">Acerca de QT</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
-        <source>Remove</source>
-        <comment>Context menu name</comment>
-        <translation type="unfinished">Remover</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
-        <source>Edit XLink</source>
-        <comment>Context menu name</comment>
-        <translation type="unfinished">Editar XEnlace</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
-        <source>Follow XLink</source>
-        <comment>Context menu name</comment>
-        <translation type="unfinished">Seguir XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
-        <source>Save image</source>
-        <comment>Context action</comment>
-        <translation type="unfinished">Guardar imagen</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="971"/>
-        <source>&amp;New map</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">Nuevo mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="978"/>
-        <source>&amp;Copy to new map</source>
-        <comment>File menu</comment>
-        <translation type="unfinished">&amp;Copiar en nuevo mapa</translation>
-    </message>
-    <message>
-        <source>Copy selection to mapcenter of a new map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Copiar mapcenter en un nuevo mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
-        <source>Add mapcenter</source>
-        <comment>Canvas context menu</comment>
-        <translation type="unfinished">Añadir mapcenter</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
-        <source>Sort children</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Ordenar hijos</translation>
-    </message>
-    <message>
-        <source>Unscroll childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">No desplegar hijos</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches in selected subtree</source>
-        <translation type="obsolete">No desplegar y desplegar ramas seleccionadas en subárbol</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
-        <source>Edit local URL...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">Editar URL local...</translation>
-    </message>
-    <message>
-        <source>Edit local URL</source>
-        <translation type="obsolete">Editar URL local</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Crear URL a Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <translation type="obsolete">Crear URL a Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Crear URL a novell FATE</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <translation type="obsolete">Crear URL a novell FATE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
-        <source>Property window</source>
-        <comment>Dialog to edit properties of selection</comment>
-        <translation type="unfinished">Propiedades de ventana</translation>
-    </message>
-    <message>
-        <source>Set properties for selection</source>
-        <translation type="obsolete">Establecer propiedades para la selección</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
-        <source>Linkstyle Curve</source>
-        <translation type="unfinished">Estilo de curva</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
-        <source>Linkstyle Thick Curve</source>
-        <translation type="unfinished">Estilo de curva gruesa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
-        <source>Set &amp;Selection Color</source>
-        <translation type="unfinished">Establecer &amp;color selección</translation>
-    </message>
-    <message>
-        <source>Set Selection Color</source>
-        <translation type="obsolete">Establecer color selección</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
-        <source>Set &amp;Background image</source>
-        <translation type="unfinished">Establecer &amp;imagen de fondo</translation>
-    </message>
-    <message>
-        <source>Set Background image</source>
-        <translation type="obsolete">Establecer imagen de fondo</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Mostrar selección</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <translation type="obsolete">Mostrar selección</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
-        <source>History Window</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Historico de ventana</translation>
-    </message>
-    <message>
-        <source>Show History Window</source>
-        <translation type="obsolete">Mostrar historico de ventanas
-    </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
-        <source>Antialiasing</source>
-        <comment>View action</comment>
-        <translation type="unfinished">No alisar</translation>
-    </message>
-    <message>
-        <source>Antialiasing</source>
-        <translation type="obsolete">No alisar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
-        <source>Smooth pixmap transformations</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Transformaciones de pixmap lisas</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
-        <source>Next Map</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Nuevo mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
-        <source>Previous Map</source>
-        <comment>View action</comment>
-        <translation type="unfinished">Previsualizar mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
-        <source>Modifier modes</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
-        <source>Note</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Nota</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">URL a documento</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
-        <source>Link to another vym map</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Enlace a otro mapa vym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
-        <source>subtree is scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Subárbol está acoplado</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
-        <source>subtree is temporary scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Subárbol está temporalmente acoplado</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
-        <source>Hide object in exported maps</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Ocultar objeto en mapas exportados</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
-        <source>I just love...</source>
-        <comment>Standardflag</comment>
-        <translation type="unfinished">Me encanta...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Importante</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Flags-freemind</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Volver</translation>
-    </message>
-    <message>
-        <source>Forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">Adelante</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Mira aquí</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Peligroso</translation>
-    </message>
-    <message>
-        <source>Don&apos;t forget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">No o&apos;lvide</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Bandera</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Inicio</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Teléfono</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Música</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Bandeja de correo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Maix</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Contraseña</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Para mejorar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Parar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Mágico</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Para discutir</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Recordar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Excelente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Linux</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Dulce</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Establecer ruta para macros</translation>
-    </message>
-    <message>
-        <source>Set path for macros</source>
-        <translation type="obsolete">Establecer ruta para macros</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Establecer numero de niveles de deshacerq</translation>
-    </message>
-    <message>
-        <source>Set number of undo levels</source>
-        <translation type="obsolete">Configurar el número de niveles de deshacer</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Autoguardar</translation>
-    </message>
-    <message>
-        <source>Autosave</source>
-        <translation type="obsolete">Autoguardar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
-        <source>Autosave time</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Autoguardar tiempo</translation>
-    </message>
-    <message>
-        <source>Autosave time</source>
-        <translation type="obsolete">Autoguardar tiempo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Escribir fichero de copia de seguridad al guardar</translation>
-    </message>
-    <message>
-        <source>Write backup file on save</source>
-        <translation type="obsolete">Escribir fichero de copia de seguridad al guardar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
-        <source>Animation</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">Animación</translation>
-    </message>
-    <message>
-        <source>Animation</source>
-        <translation type="obsolete">Animación</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
-        <source>Automatic layout</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
-        <source>Test</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
-        <source>Open VYM example maps </source>
-        <comment>Help action</comment>
-        <translation type="unfinished">Abrir mapas de ejemplo de VYM</translation>
-    </message>
-    <message>
-        <source>Open VYM example maps </source>
-        <translation type="obsolete">Abrir mapas de ejemplo de VYM</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
-        <source>References (URLs, vymLinks, ...)</source>
-        <comment>Context menu name</comment>
-        <translation type="unfinished">Referencias (URLs, vymLinks, ...)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
-        <source>Follow XLink</source>
-        <comment>Context menu</comment>
-        <translation type="unfinished">Seguir XLink</translation>
-    </message>
-    <message>
-        <source>&amp;%1 %2</source>
-        <translation type="obsolete">&amp;%1 %2</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation type="unfinished">sin nombre</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation type="unfinished">Cargar mapa de Freemind</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <source>Export as CSV</source>
-        <translation type="unfinished">Exportar a CSV</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">%1 elementos en el mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation type="unfinished">Directorio con macros vym:</translation>
-    </message>
-    <message>
-        <source>QInputDialog::getInteger()</source>
-        <translation type="obsolete">QInputDialog::getInteger()</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
-        <source>Number of undo/redo levels:</source>
-        <translation type="unfinished">Número de niveles deshacer/rehacer:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
-        <translation type="unfinished">Se ha cambiado la configuración. El próximo mapa abierto tendrá &quot;%1&quot; niveles de deshacer/rehacer</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
-        <source>Number of seconds before autosave:</source>
-        <translation type="unfinished">Número de segundos antes de autoguardar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
-        <source>Set author for new maps (used in lockfile)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
-        <source>Number of parents shown in find results:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
-        <source>Number of parents shown for a task:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
-        <source>(readonly)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
-        <source>History for %1</source>
-        <comment>Window Caption</comment>
-        <translation type="unfinished">Historial para %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
-        <source>Export in last used format (%1) to: %2</source>
-        <comment>status tip</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
-        <translation type="unfinished">No se pudo encontrar la documentación %1 in:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
-        <source>Load vym example map</source>
-        <translation type="unfinished">Cargar mapa vym de ejemplo</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="obsolete">No se pudo encontrar una macro en %1.</translation>
-    </message>
-    <message>
-        <source>Set directory for vym macros</source>
-        <translation type="obsolete">Establecer directorio para las macros vym</translation>
-    </message>
-</context>
-<context>
-    <name>MapEditor</name>
-    <message>
-        <source>Critical Parse Error</source>
-        <translation type="obsolete">Error Crítico de conversión</translation>
-    </message>
-    <message>
-        <source>Critical Save Error</source>
-        <translation type="obsolete">Error Crítico de Guardado</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t write to </source>
-        <translation type="obsolete">No puede escribir</translation>
+        <location line="-2120"/>
+        <source>Main window</source>
+        <comment>Shortcut scope</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>VYM - Export (ASCII)</source>
-        <translation type="obsolete">VYM - Exportar (ASCII)</translation>
+        <location line="+103"/>
+        <source>Main window</source>
+        <comment>Shortcut group</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The file </source>
-        <translation type="obsolete">El archivo</translation>
+        <location line="+1"/>
+        <source>Map Editors</source>
+        <comment>Shortcut group</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete">ya existe. ¿Desea sobrescribir?</translation>
+        <location line="+1"/>
+        <source>Text Editors</source>
+        <comment>Shortcut group</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Sobreescribir</translation>
+        <location line="+830"/>
+        <source>&amp;Map</source>
+        <comment>Menu for file actions</comment>
+        <translation type="unfinished">&amp;Mapa</translation>
     </message>
     <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Cancelar</translation>
+        <location line="+28"/>
+        <source>&amp;Restore last session</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Export Error </source>
-        <translation type="obsolete">Error de exportación crítico</translation>
+        <location line="+33"/>
+        <source>Firefox Bookmarks</source>
+        <comment>Import filters</comment>
+        <translation type="unfinished">Favoritos de Firefox</translation>
     </message>
     <message>
-        <source>Couldn&apos;t create directory </source>
-        <translation type="obsolete">No puede crear el directorio</translation>
+        <location line="+827"/>
+        <source>Remove only branch and keep its children </source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Export Error</source>
-        <translation type="obsolete">Error de exportación crítico</translation>
+        <location line="+161"/>
+        <source>Formatting</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>MapEditor::exportXML couldn&apos;t open </source>
-        <translation type="obsolete">Editor de Mapa::exportarXML  no pudo abrir</translation>
+        <location line="+120"/>
+        <source>Views</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Parse Error by reading backupFile</source>
-        <translation type="obsolete">Error de conversión leyendo el archivo de copia de seguridad</translation>
+        <location line="+25"/>
+        <source>Zoom out</source>
+        <comment>View action</comment>
+        <translation type="unfinished">Alejar</translation>
     </message>
     <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Error crítico</translation>
+        <location line="+249"/>
+        <source>Use modifier to draw xLinks</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished">Usar modificadores para dibujar XEnlace</translation>
     </message>
     <message>
-        <source> used for undo is gone. 
-I will create a new one, but at the moment no undo is available.
-Maybe you want to reload your original data.
-
-Sorry for any inconveniences.</source>
-        <translation type="obsolete">usos para deshacer no hay.
-Creare uno nuevo, pero por el momento no está disponible deshacer.
-Pueda que desee recargar su información original.
-
-Disculpe cualquier inconveniente.</translation>
+        <location line="+439"/>
+        <source>Set application to open pdf files</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Configurar aplicación para abrir archivos pdf</translation>
     </message>
     <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Introduzca URL:</translation>
+        <location line="+7"/>
+        <source>Set application to open external links</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Establecer aplicación para abrir enlaces externos</translation>
     </message>
     <message>
-        <source>VYM - Link to another map</source>
-        <translation type="obsolete">VYM - Enlace a otro mapa</translation>
+        <location line="+67"/>
+        <source>Select branch after adding it</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Seleccionar rama después de adicionarle</translation>
     </message>
     <message>
-        <source>vym map</source>
-        <translation type="obsolete">mapa vym</translation>
+        <location line="+9"/>
+        <source>Select existing heading</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Seleccionar encabezado existente</translation>
     </message>
     <message>
-        <source>vym - load image</source>
-        <translation type="obsolete">vym - cargar imagen</translation>
+        <location line="+7"/>
+        <source>Exclusive flags</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Flags exclusivos</translation>
     </message>
     <message>
-        <source>Images</source>
-        <translation type="obsolete">Imágenes</translation>
+        <location line="+7"/>
+        <source>Use hide flags</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Usar flags ocultos</translation>
     </message>
     <message>
-        <source>vym - Load image</source>
-        <translation type="obsolete">vym - Cargar imagen</translation>
+        <location line="+78"/>
+        <source>&amp;Help</source>
+        <comment>Help menubar entry</comment>
+        <translation type="unfinished">&amp;Ayuda</translation>
     </message>
     <message>
-        <source>vym - save image as</source>
-        <translation type="obsolete">vym - guardar imagen como</translation>
+        <location line="+3"/>
+        <source>Open VYM Documentation (pdf) </source>
+        <comment>Help action</comment>
+        <translation type="unfinished">Abrir Documentación de VYM (pdf)</translation>
     </message>
     <message>
-        <source>vym - Save image as </source>
-        <translation type="obsolete">vym - Guardar imagen como</translation>
+        <location line="+38"/>
+        <source>About VYM</source>
+        <comment>Help action</comment>
+        <translation type="unfinished">Acerca de VYM</translation>
     </message>
     <message>
-        <source>Critical Import Error</source>
-        <translation type="obsolete">Error de Importación crítico</translation>
+        <location line="-4"/>
+        <source>About QT</source>
+        <comment>Help action</comment>
+        <translation type="unfinished">Acerca de QT</translation>
     </message>
     <message>
-        <source>Cannot find the directory</source>
-        <translation type="obsolete">No se puede encontrar el directorio</translation>
+        <location line="+34"/>
+        <source>Remove</source>
+        <comment>Context menu name</comment>
+        <translation type="unfinished">Remover</translation>
     </message>
     <message>
-        <source>VYM - Choose directory structur to import</source>
-        <translation type="obsolete">VYM - Escoja estructura de directorio a importar</translation>
+        <location line="+61"/>
+        <source>Edit XLink</source>
+        <comment>Context menu name</comment>
+        <translation type="unfinished">Editar XEnlace</translation>
     </message>
     <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Nota</translation>
+        <location line="+11"/>
+        <source>Follow XLink</source>
+        <comment>Context menu name</comment>
+        <translation type="unfinished">Seguir XLink</translation>
     </message>
     <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Documento WWW (externo)</translation>
+        <location line="+6"/>
+        <source>Save image</source>
+        <comment>Context action</comment>
+        <translation type="unfinished">Guardar imagen</translation>
     </message>
     <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Enlace a otro mapa vym</translation>
+        <location line="-2202"/>
+        <source>&amp;New map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">Nuevo mapa</translation>
     </message>
     <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">El subárbol está desplegado</translation>
+        <location line="+9"/>
+        <source>&amp;Copy to new map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished">&amp;Copiar en nuevo mapa</translation>
     </message>
     <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">El subárbol está temporalmente desplegado</translation>
+        <location line="+314"/>
+        <source>Add mapcenter</source>
+        <comment>Canvas context menu</comment>
+        <translation type="unfinished">Añadir mapcenter</translation>
     </message>
     <message>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">¡Cuidado!</translation>
+        <location line="+129"/>
+        <source>Sort children</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Ordenar hijos</translation>
     </message>
     <message>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">¿Seguro?</translation>
+        <location line="+164"/>
+        <source>Edit local URL...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">Editar URL local...</translation>
     </message>
     <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">¡Ok!</translation>
+        <location line="+315"/>
+        <source>Property window</source>
+        <comment>Dialog to edit properties of selection</comment>
+        <translation type="unfinished">Propiedades de ventana</translation>
     </message>
     <message>
-        <source>Not ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">¡No pk!</translation>
+        <location line="+168"/>
+        <source>Linkstyle Curve</source>
+        <translation type="unfinished">Estilo de curva</translation>
     </message>
     <message>
-        <source>This won&apos;t work!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">¡Esto no funcionará!</translation>
+        <location line="+14"/>
+        <source>Linkstyle Thick Curve</source>
+        <translation type="unfinished">Estilo de curva gruesa</translation>
     </message>
     <message>
-        <source>Good</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Bien</translation>
+        <location line="+30"/>
+        <source>Set &amp;Selection Color</source>
+        <translation type="unfinished">Establecer &amp;color selección</translation>
     </message>
     <message>
-        <source>Bad</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Mal</translation>
+        <location line="+10"/>
+        <source>Set &amp;Background image</source>
+        <translation type="unfinished">Establecer &amp;imagen de fondo</translation>
     </message>
     <message>
-        <source>Time critical</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Tiempo crítico</translation>
+        <location line="+166"/>
+        <source>History Window</source>
+        <comment>View action</comment>
+        <translation type="unfinished">Historico de ventana</translation>
     </message>
     <message>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">¡Idea!</translation>
+        <location line="+14"/>
+        <source>Antialiasing</source>
+        <comment>View action</comment>
+        <translation type="unfinished">No alisar</translation>
     </message>
     <message>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Importante</translation>
+        <location line="+7"/>
+        <source>Smooth pixmap transformations</source>
+        <comment>View action</comment>
+        <translation type="unfinished">Transformaciones de pixmap lisas</translation>
     </message>
     <message>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Poco importante</translation>
+        <location line="+10"/>
+        <source>Next Map</source>
+        <comment>View action</comment>
+        <translation type="unfinished">Nuevo mapa</translation>
     </message>
     <message>
-        <source>I like this</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Me gusta</translation>
+        <location line="+7"/>
+        <source>Previous Map</source>
+        <comment>View action</comment>
+        <translation type="unfinished">Previsualizar mapa</translation>
     </message>
     <message>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">No me gusta</translation>
+        <location line="+52"/>
+        <source>Modifier modes</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Solo amo...</translation>
+        <location line="+101"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <source>Note</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Nota</translation>
     </message>
     <message>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Peligroso</translation>
+        <location line="+9"/>
+        <source>Link to another vym map</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Enlace a otro mapa vym</translation>
     </message>
     <message>
-        <source>This will help</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Esto puede ayudar</translation>
+        <location line="+3"/>
+        <source>subtree is scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Subárbol está acoplado</translation>
     </message>
     <message>
-        <source>New Map</source>
-        <comment>Heading of mapcenter in new map</comment>
-        <translation type="obsolete">Nuevo mapa</translation>
+        <location line="+4"/>
+        <source>subtree is temporary scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Subárbol está temporalmente acoplado</translation>
     </message>
     <message>
-        <source>Critcal Save error</source>
-        <translation type="obsolete">Error Crítico de Guardado</translation>
+        <location line="+3"/>
+        <source>Hide object in exported maps</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Ocultar objeto en mapas exportados</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">El fichero %1 ya existe.</translation>
+        <location line="+42"/>
+        <source>I just love...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished">Me encanta...</translation>
     </message>
     <message>
-        <source>MapEditor::exportXML couldn&apos;t open %1</source>
-        <translation type="obsolete">MapEditor::exportXML no se pudo abrir</translation>
+        <location line="+307"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cannot find the directory %1</source>
-        <translation type="obsolete">No se puede encontrar el directorio %1</translation>
+        <location line="+5"/>
+        <source>Set path for macros</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Establecer ruta para macros</translation>
     </message>
     <message>
-        <source>Export (ASCII)</source>
-        <translation type="obsolete">Exportar (ASCII)</translation>
+        <location line="+4"/>
+        <source>Set number of undo levels</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Establecer numero de niveles de deshacerq</translation>
     </message>
     <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Enlazar a otro mapa</translation>
+        <location line="+7"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Autoguardar</translation>
     </message>
     <message>
-        <source>Load image</source>
-        <translation type="obsolete">Cargar imagen</translation>
+        <location line="+6"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Autoguardar tiempo</translation>
     </message>
     <message>
-        <source>Choose directory structure to import</source>
-        <translation type="obsolete">Escoger la estructura de directorio a importar</translation>
+        <location line="+12"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Escribir fichero de copia de seguridad al guardar</translation>
     </message>
     <message>
-        <source>unnamed</source>
-        <translation type="obsolete">sin nombre</translation>
+        <location line="+65"/>
+        <source>Animation</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished">Animación</translation>
     </message>
     <message>
-        <source>Warning</source>
-        <translation type="obsolete">Advertencia</translation>
+        <location line="+7"/>
+        <source>Automatic layout</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save image</source>
-        <translation type="obsolete">Guardar imagen</translation>
+        <location line="+11"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Parse Error while reading %1</source>
-        <translation type="obsolete">Error crítico de análisis mientras se leía %1</translation>
+        <location line="+35"/>
+        <source>Open VYM example maps </source>
+        <comment>Help action</comment>
+        <translation type="unfinished">Abrir mapas de ejemplo de VYM</translation>
     </message>
     <message>
-        <source>Could not read %1</source>
-        <translation type="obsolete">No se pudo leer %1</translation>
+        <location line="+102"/>
+        <source>References (URLs, vymLinks, ...)</source>
+        <comment>Context menu name</comment>
+        <translation type="unfinished">Referencias (URLs, vymLinks, ...)</translation>
     </message>
     <message>
-        <source>Can&apos;t get color of heading,
-there&apos;s no branch selected</source>
-        <translation type="obsolete">No se puede obtener el color de la cabecera, no hay rama seleccionada</translation>
+        <location line="+27"/>
+        <source>Follow XLink</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished">Seguir XLink</translation>
     </message>
     <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Error crítico de carga</translation>
+        <location line="+1132"/>
+        <source>Export as CSV</source>
+        <translation type="unfinished">Exportar a CSV</translation>
     </message>
     <message>
-        <source>Couldn&apos;t create temporary directory before load
+        <location line="+679"/>
+        <source>%1 items on map
 </source>
-        <translation type="obsolete">No se pudo crear un directorio temporal antes de cargar</translation>
+        <comment>Info about map</comment>
+        <translation type="unfinished">%1 elementos en el mapa</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">No pudo encontrar un mapa (*.xml) en el archivo .vym.</translation>
+        <location line="+881"/>
+        <source>Number of undo/redo levels:</source>
+        <translation type="unfinished">Número de niveles deshacer/rehacer:</translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">El mapa %1 no usó el formato de fichero vym comprimido. Guardarlo sin comprimir también guardará imágenes y señales, lo cual puede sobreescribir ficheros en el directorio proporcionado.
-        
-¿Quiere guardar el mapa?</translation>
+        <location line="+5"/>
+        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <translation type="unfinished">Se ha cambiado la configuración. El próximo mapa abierto tendrá &quot;%1&quot; niveles de deshacer/rehacer</translation>
     </message>
     <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">Comprimido (por defecto vym)</translation>
+        <location line="+40"/>
+        <source>Number of seconds before autosave:</source>
+        <translation type="unfinished">Número de segundos antes de autoguardar</translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">Descomprimido</translation>
+        <location line="+11"/>
+        <source>Set author for new maps (used in lockfile)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Error al guardar</translation>
+        <location line="+3"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1
-could not be removed before saving</source>
-        <translation type="obsolete">%1 no se pudo eliminar antes de guardarlo</translation>
+        <location line="+42"/>
+        <source>Number of parents shown in find results:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1
-could not be renamed before saving</source>
-        <translation type="obsolete">%1 no se pudo renombar antes de guardarlo</translation>
+        <location line="+11"/>
+        <source>Number of parents shown for a task:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">No se pudo crear un directorio temporal antes de guardar</translation>
+        <location line="-2404"/>
+        <source>(readonly)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">Exportar mapa como imagen</translation>
+        <location line="+1256"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">Enlace a otro mapa vym</translation>
     </message>
     <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Exportar XML a directorio</translation>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Autosave disabled during undo.</source>
-        <translation type="obsolete">Se ha desactivado el guardado automático mientras se deshace</translation>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Load background image</source>
-        <translation type="obsolete">Cargar imagen de fondo</translation>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Texto</translation>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Hoja de cálculo</translation>
+        <location line="+840"/>
+        <source>Load vym script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Textdocument</translation>
+        <location line="+106"/>
+        <source>Information</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Imágenes</translation>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">Establecer URL a un fichero local</translation>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="obsolete">%1 elementos en el mapa</translation>
+        <location line="+401"/>
+        <source>History for %1</source>
+        <comment>Window Caption</comment>
+        <translation type="unfinished">Historial para %1</translation>
     </message>
     <message>
-        <source>The file of the map  on disk has changed:
-
-   %1
-
-Do you want to reload that map with the new file?</source>
-        <translation type="obsolete">Desea regargar este mapa con el nuevo fichero?</translation>
+        <location line="+23"/>
+        <source>Export in last used format (%1) to: %2</source>
+        <comment>status tip</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reload</source>
-        <translation type="obsolete">Recargar</translation>
+        <location line="+441"/>
+        <source>Couldn&apos;t find the documentation %1 in:
+%2</source>
+        <translation type="unfinished">No se pudo encontrar la documentación %1 in:</translation>
     </message>
     <message>
-        <source>Ignore</source>
-        <translation type="obsolete">Ignorar</translation>
+        <location line="+31"/>
+        <source>Load vym example map</source>
+        <translation type="unfinished">Cargar mapa vym de ejemplo</translation>
     </message>
+</context>
+<context>
+    <name>MapEditor</name>
     <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation type="unfinished">Editar encabezado</translation>
     </message>
     <message>
-        <source>Save</source>
+        <location line="+446"/>
+        <source>Print vym map</source>
         <comment>MapEditor</comment>
-        <translation type="obsolete">Guardar</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Copiar</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Deshacer</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Rehacer</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Pegar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="510"/>
-        <source>Print vym map</source>
-        <comment>MapEditor</comment>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished">Editor de notas</translation>
     </message>
 </context>
-<context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Error crítico</translation>
-    </message>
-</context>
 <context>
     <name>QObject</name>
     <message>
-        <source>This is not an image.</source>
-        <translation type="obsolete">Esto no es una imagen.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation type="unfinished">Error de exportación crítico</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation type="unfinished">No se pudo escribir %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location filename="../src/export-base.cpp" line="+124"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-8"/>
         <source>Export as CSV</source>
         <translation type="unfinished">Exportar a CSV</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Warning</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Advertencia</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">No se pudo abrir %1</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">No se pudo abrir %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="-101"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
         <source>Could not export as ASCII to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location filename="../src/export-csv.cpp" line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location filename="../src/export-html.cpp" line="-367"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+190"/>
         <source>Could not find stylesheet %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation type="unfinished">Error</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -4717,568 +2963,521 @@ Do you want to reload that map with the new file?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation type="unfinished">Exportación fallida</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation type="unfinished">Compruebe &quot;%1&quot; en %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation type="unfinished">No se pudo leer %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation type="unfinished">Error crítico</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation type="unfinished">No pudo iniciar zip para comprimir datos.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation type="unfinished">zip no salió normalmente</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation type="unfinished">No pudo iniciar zip para descomprimir datos.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation type="unfinished">unzip no salió normalmente</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation type="unfinished">No pudo arrancar %1</translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished">%1 no f&amp;inalizó de forma habitual</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">El fichero %1 ya existe. Desea sobreescibirlo?</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="90"/>
+        <location line="-389"/>
         <source>Overwrite</source>
         <translation type="unfinished">Sobreescribir</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="91"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <source>Sorry, no preview for
-multiple selected files.</source>
-        <translation type="obsolete">Disculpe, previsualización no disponible para los multiples ficheros seleccionados</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation type="unfinished">Exportando los marcadores %1 sobreescibirá su fichero de marcadores existentes</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation type="unfinished">Atención: Sobreescribiendo marcadores %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation type="unfinished">Advertencia</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation type="unfinished">No se pudo en&amp;contrar el script %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation type="unfinished">Error</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation type="unfinished">No se pudo ac&amp;ceder al directorio temporalmente</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation type="unfinished">Exportar en ASCII</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation type="unfinished">(experimental)</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
         <translation type="unfinished">El directorio %1 no está vacío. Desea sobreescribir el contenido?</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">No se pudo a&amp;brir</translation>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Editor de notas</translation>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
+</source>
+        <comment>Macros::pathExists</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
+        <translation type="unfinished">Establecer directorio para las macros vym</translation>
+    </message>
+    <message>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="unfinished">No se pudo encontrar una macro en %1.</translation>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
-        <translation type="unfinished">Establecer directorio para las macros vym</translation>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
-        <source>Form</source>
-        <translation type="unfinished">Formulario</translation>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
+ </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
-        <source>Save to selected slide</source>
+        <location filename="../src/mainwindow.cpp" line="-3021"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
-        <source>Run</source>
-        <translation type="unfinished">Ejecutar</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="131"/>
-        <source>Load</source>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
+    <message>
+        <source>Form</source>
+        <translation type="obsolete">Formulario</translation>
+    </message>
+    <message>
+        <source>Reload</source>
+        <translation type="obsolete">Recargar</translation>
+    </message>
+    <message>
+        <source>Save as</source>
+        <translation type="obsolete">Guardar como</translation>
+    </message>
+    <message>
+        <source>Run</source>
+        <translation type="obsolete">Ejecutar</translation>
+    </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
         <source>Save</source>
-        <translation type="unfinished">Guardar</translation>
+        <translation type="obsolete">Guardar</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation type="unfinished">Advertencia</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
+        <location line="-42"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation type="unfinished">Guardar</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <source>Couldn&apos;t get model to save script into slide!</source>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
-        <source>Couldn&apos;t find slide to save script into slide!</source>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
-        <source>Save script</source>
-        <translation type="unfinished">Salvar script</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="155"/>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
+        <location line="+31"/>
+        <source>Couldn&apos;t get model to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
-        <source>Overwrite</source>
-        <translation type="unfinished">Sobreescribir</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="161"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="184"/>
-        <source>Load script</source>
-        <translation type="unfinished">Cargar script</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation type="unfinished">Error</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
+        <location line="+7"/>
+        <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ShowTextDialog</name>
-    <message>
-        <source>VYM - Info</source>
-        <translation type="obsolete">VYM - Información</translation>
-    </message>
     <message>
-        <location filename="../showtextdialog.ui" line="50"/>
-        <source>Close</source>
-        <translation type="unfinished">Cerrar</translation>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation type="unfinished">Diálogo</translation>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>SimpleScriptEditor</name>
     <message>
+        <location line="+14"/>
         <source>Save script</source>
-        <translation type="obsolete">Salvar script</translation>
+        <translation type="unfinished">Salvar script</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
         <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">G&amp;uardar cómo</translation>
+        <translation type="unfinished">El fichero %1 ya existe. ¿Desea sobreescribir?</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Overwrite</source>
-        <translation type="obsolete">Sobreescribir</translation>
+        <translation type="unfinished">Sobreescribir</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cancel</source>
-        <translation type="obsolete">Cancelar</translation>
+        <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
+        <location line="-58"/>
         <source>Load script</source>
-        <translation type="obsolete">Cargar script</translation>
-    </message>
-    <message>
-        <source>Error</source>
-        <translation type="obsolete">Error</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">No se pudo a&amp;brir %1</translation>
-    </message>
-    <message>
-        <source>Simple Script Editor</source>
-        <translation type="obsolete">Editor simple de scripts</translation>
-    </message>
-    <message>
-        <source>Save as</source>
-        <translation type="obsolete">Guardar como</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">Guardar</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <translation type="obsolete">Abrir</translation>
-    </message>
-    <message>
-        <source>Run</source>
-        <translation type="obsolete">Ejecutar</translation>
+        <translation type="unfinished">Cargar script</translation>
     </message>
+</context>
+<context>
+    <name>ShowTextDialog</name>
     <message>
         <source>Close</source>
         <translation type="obsolete">Cerrar</translation>
     </message>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Diálogo</translation>
+    </message>
 </context>
 <context>
     <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">Editar encabezado</translation>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
@@ -5287,444 +3486,257 @@ Do you want to overwrite it?</source>
 <context>
     <name>TextEditor</name>
     <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">&amp;Archivo</translation>
-    </message>
-    <message>
-        <source>Import</source>
-        <translation type="obsolete">Importar</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation>&amp;Importar...</translation>
     </message>
     <message>
-        <source>Export Note (HTML)</source>
-        <translation type="obsolete">Exportar Nota (HTML)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>&amp;Exportar... </translation>
     </message>
     <message>
-        <source>Export Note As (HTML) </source>
-        <translation type="obsolete">Exportar Nota Como...(HTML)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>Exportar &amp;Como...(HTML)</translation>
     </message>
     <message>
-        <source>Export Note As (ASCII) </source>
-        <translation type="obsolete">Exportar Nota Como...(ASCII)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>Exportar &amp;Como...(ASCII)</translation>
     </message>
     <message>
-        <source>Print Note</source>
-        <translation type="obsolete">Imprimir Nota</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>&amp;Imprimir...</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">&amp;Editar</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">Deshacer</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation>&amp;Deshacer</translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translation type="obsolete">Rehacer</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>&amp;Rehacer</translation>
     </message>
     <message>
-        <source>Select and copy all</source>
-        <translation type="obsolete">Seleccionar y copiar todo</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>Seleccionar y copiar &amp;todo</translation>
     </message>
     <message>
-        <source>Copy</source>
-        <translation type="obsolete">Copiar</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>&amp;Copiar</translation>
     </message>
     <message>
-        <source>Cut</source>
-        <translation type="obsolete">Cortar</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>&amp;Cortar</translation>
     </message>
     <message>
-        <source>Paste</source>
-        <translation type="obsolete">Pegar</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>&amp;Pegar</translation>
     </message>
     <message>
-        <source>Delete all</source>
-        <translation type="obsolete">Borrar Todo</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation>&amp;Borrar Todo</translation>
     </message>
     <message>
-        <source>Convert paragraphs to linebreaks</source>
-        <translation type="obsolete">Convertir párrafos a líneas sueltas</translation>
-    </message>
-    <message>
-        <source>&amp;Convert Paragraphs</source>
-        <translation type="obsolete">&amp;Convertir Párrafos</translation>
-    </message>
-    <message>
-        <source>Join all lines of a paragraph</source>
-        <translation type="obsolete">Unir todas las líneas de un párrafo</translation>
-    </message>
-    <message>
-        <source>&amp;Join lines</source>
-        <translation type="obsolete">&amp;Unir Líneas</translation>
-    </message>
-    <message>
-        <source>&amp;Format</source>
-        <translation type="obsolete">&amp;Formato</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <translation type="obsolete">Ajustar consejo de fuente a todo el texto</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+81"/>
         <source>&amp;Font hint</source>
         <translation>&amp;Consejo de Fuente</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>&amp;Color...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>&amp;Negrilla</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>&amp;Cursiva</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>&amp;Subrayado</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation>&amp;Izquierda</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>&amp;Centro</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>&amp;Derecha</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>&amp;justificado</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>&amp;Configuración</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
-        <source>Print</source>
+        <location line="+22"/>
+        <source>Set RichText default background color</source>
         <comment>TextEditor</comment>
-        <translation type="unfinished">Imprimir</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set fixed font</source>
-        <translation type="obsolete">Configurar  fuente arreglada</translation>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="543"/>
-        <source>Set &amp;fixed font</source>
-        <translation>Configurar  fuente &amp;arreglada</translation>
+        <location line="+305"/>
+        <source>Print</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished">Imprimir</translation>
     </message>
     <message>
-        <source>Set variable font</source>
-        <translation type="obsolete">Configurar variable fuente</translation>
+        <location line="-329"/>
+        <source>Set &amp;fixed font</source>
+        <translation>Configurar  fuente &amp;arreglada</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>Configurar &amp;variable fuente</translation>
     </message>
     <message>
-        <source>Used fixed font by default</source>
-        <translation type="obsolete">Fuente arreglada usada por defecto</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>&amp;fuente arreglada por defecto</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
+        <location line="+198"/>
         <source>Export Note to single file</source>
         <translation>Exportar nota a archivo sencillo</translation>
     </message>
     <message>
-        <source>The file </source>
-        <translation type="obsolete">El archivo</translation>
-    </message>
-    <message>
-        <source> exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete">ya existe. ¿Desea sobrescribir?</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>Sobreescribir</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
     <message>
-        <source>Couldn&apos;t export note </source>
-        <translation type="obsolete">No pudo exportar nota</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>Exportar Nota a archivo simple (ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="-340"/>
         <source>Subs&amp;cript</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="-218"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="498"/>
+        <location line="+108"/>
         <source>Su&amp;perscript</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="+80"/>
         <source>Note Editor</source>
         <translation type="unfinished">Editor de notas</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="-186"/>
         <source>F&amp;ormat</source>
         <translation type="unfinished">F&amp;ormato</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="-67"/>
         <source>Edit Actions</source>
         <translation type="unfinished">Editar acciones</translation>
     </message>
     <message>
-        <source>Format Actions</source>
-        <translation type="obsolete">Formato de acciones</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="-59"/>
         <source>Note Actions</source>
         <translation type="unfinished">Nota de acciones</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location line="-244"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation type="unfinished">Mensaje de barra de estados</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation type="unfinished">Archivo no disponible para esta nota.</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Editor de notas</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+85"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation type="unfinished">Nota</translation>
     </message>
     <message>
-        <source>Import</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Importar</translation>
-    </message>
-    <message>
-        <source>Export Note (HTML)</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Exportar Nota (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <comment>Status tip for Note Menu</comment>
-        <translation type="obsolete">Exportar Nota Como...(HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Exportar Nota Como...(ASCII)</translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Imprimir Nota</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Deshacer</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Rehacer</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Seleccionar y copiar todo</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Copiar</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Cortar</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Pegar</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Borrar Todo</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Ajustar consejo de fuente a todo el texto</translation>
-    </message>
-    <message>
-        <source>Set fixed font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Configurar fuente arreglada</translation>
-    </message>
-    <message>
-        <source>Set variable font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Configurar variable fuente</translation>
-    </message>
-    <message>
-        <source>Used fixed font by default</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Fuente arreglada usada por defecto</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+494"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -5732,7 +3744,7 @@ Do you want to overwrite it?</source>
         <translation type="unfinished">El fichero %1 ya existe. ¿Desea sobreescribir?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation type="unfinished">No pudo exportar nota</translation>
@@ -5741,13 +3753,13 @@ Do you want to overwrite it?</source>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
@@ -5756,181 +3768,173 @@ Do you want to overwrite it?</source>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation type="unfinished">sin nombre</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation type="unfinished">Error Crítico de conversión</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation type="unfinished">Error crítico de carga</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation type="unfinished">No se pudo crear un directorio temporal antes de cargar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
-        <source>unknown user</source>
-        <comment>Default for lockfiles of maps</comment>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
-        <source>Warning: Map already opended</source>
-        <comment>VymModel</comment>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="unfinished">El mapa %1 no usó el formato de fichero vym comprimido. Guardarlo sin comprimir también guardará imágenes y señales, lo cual puede sobreescribir ficheros en el directorio proporcionado.
-        
-¿Quiere guardar el mapa?</translation>
+        <location line="+325"/>
+        <source>unknown user</source>
+        <comment>Default for lockfiles of maps</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="679"/>
-        <source>compressed (vym default)</source>
+        <location line="+37"/>
+        <source>Warning: Map already opended</source>
+        <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
+        <location line="-365"/>
+        <source>compressed (vym default)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation type="unfinished">Error al guardar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation type="unfinished">%1 no se pudo eliminar antes de guardarlo</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation type="unfinished">%1 no se pudo renombar antes de guardarlo</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation type="unfinished">No se pudo crear un directorio temporal antes de guardar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation type="unfinished">Imágenes</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation type="unfinished">Cargar imagen</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation type="unfinished">Guardar imagen</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation type="unfinished">G&amp;uardar cómo {1 ?}</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation type="unfinished">Sobreescribir</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation type="unfinished">Error crítico</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation type="unfinished">Error de Importación crítico</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation type="unfinished">No se puede encontrar el directorio %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation type="unfinished">Escoger la estructura de directorio a importar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -5939,30 +3943,30 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="-41"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation type="unfinished">Advertencia</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -5971,146 +3975,105 @@ Do you want to reload that map with the new file?</source>
         <translation type="unfinished">Desea regargar este mapa con el nuevo fichero?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation type="unfinished">Recargar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation type="unfinished">Ignorar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation type="unfinished">Advertencia</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation type="unfinished">Se ha desactivado el guardado automático mientras se deshace</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation type="unfinished">Nota</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation type="unfinished">Nuevo Mapa</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Introduzca URL:</translation>
-    </message>
-    <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Texto</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Hoja de cálculo</translation>
-    </message>
-    <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Textdocument</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Imágenes</translation>
-    </message>
-    <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">Establecer URL a un fichero local</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Enlazar a otro mapa</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+1273"/>
         <source>Export map as image</source>
         <translation type="unfinished">Exportar mapa como imagen</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation type="unfinished">Exportar XML a directorio</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation type="unfinished">Error de exportación crítico</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exportar como LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="-629"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+87"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+900"/>
         <source>Load background image</source>
         <translation type="unfinished">Cargar imagen de fondo</translation>
     </message>
@@ -6118,32 +4081,32 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation type="unfinished">Error crítico</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">No pudo arrancar %1</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">%1 no f&amp;inalizó de forma habitual</translation>
     </message>
 </context>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
@@ -6152,39 +4115,75 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>WarningDialog</name>
     <message>
-        <location filename="../warningdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation type="unfinished">Ok</translation>
-    </message>
-    <message>
-        <source>VYM - Warning : Foo...</source>
-        <translation type="obsolete">Precaución: Foo...</translation>
+        <translation type="obsolete">Ok</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="91"/>
         <source>showAgainBox</source>
-        <translation type="unfinished">showAgainBox</translation>
+        <translation type="obsolete">showAgainBox</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation type="unfinished">Proceder</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation type="unfinished">Mostrar de nuevo este mensaje</translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">Advertencia</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Cerrar</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
index 9ece325b8c5c3a6657975a47cc9a0cb5493d2171..89caf76d0ae6541fb7c93fab626af826dd0912d2 100644 (file)
@@ -4,23 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <source>Ok</source>
-        <translation type="obsolete">OK</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation>Ok</translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="+18"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>Attention</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
 </translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+2"/>
         <source>Please use Settings-&gt;</source>
         <translation>Veuillez utiliser le menu Paramètres-&gt;</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+1"/>
         <source>Set application to open an URL...</source>
         <translation>Définir l&apos;application pour ouvrir une URL...</translation>
     </message>
-    <message>
-        <source>Set application to open an URL</source>
-        <translation type="obsolete">Choisir l&apos;application pour ouvrir une URL</translation>
-    </message>
-</context>
-<context>
-    <name>Attribute Dialog</name>
-    <message>
-        <source>AttributeDialog - Edit definitions</source>
-        <translation type="obsolete">Dialogue propriétés - Edit definitions</translation>
-    </message>
-    <message>
-        <source>AttributeDialog - Edit %1</source>
-        <translation type="obsolete">Dialogue propriétés - Editer %1</translation>
-    </message>
 </context>
 <context>
     <name>AttributeDialog</name>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
         <source>Branch Property Editor</source>
-        <translation>Editer les propriétés de la branche</translation>
+        <translation type="vanished">Editer les propriétés de la branche</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
         <source>Frame</source>
-        <translation>Encadrement</translation>
+        <translation type="vanished">Encadrement</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
         <source>Geometry</source>
-        <translation>Géométrie</translation>
+        <translation type="vanished">Géométrie</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
         <source>No Frame</source>
-        <translation>Pas d&apos;encadrement</translation>
+        <translation type="vanished">Pas d&apos;encadrement</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation>Rectangle</translation>
+        <translation type="vanished">Rectangle</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
         <source>Rounded Rectangle</source>
-        <translation>Rectangle arrondi</translation>
+        <translation type="vanished">Rectangle arrondi</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
         <source>Ellipse</source>
-        <translation>Ellipse</translation>
+        <translation type="vanished">Ellipse</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
         <source>Cloud</source>
-        <translation>Nuage</translation>
+        <translation type="vanished">Nuage</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
         <source>Padding</source>
-        <translation>Remplissage</translation>
+        <translation type="vanished">Remplissage</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
         <source>Borderline width</source>
-        <translation>Epaisseur contour</translation>
+        <translation type="vanished">Epaisseur contour</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
         <source>Include children</source>
-        <translation>Inclure les branches filles</translation>
+        <translation type="vanished">Inclure les branches filles</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
         <source>Colors</source>
-        <translation>Couleurs</translation>
+        <translation type="vanished">Couleurs</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
         <source>Borderline color</source>
-        <translation>Couleur contour</translation>
+        <translation type="vanished">Couleur contour</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
         <source>Background color</source>
-        <translation>Couleur fond</translation>
+        <translation type="vanished">Couleur fond</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
         <source>Layout</source>
-        <translation>Disposition</translation>
+        <translation type="vanished">Disposition</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
         <source>Include images horizontally</source>
-        <translation>Insérer les images horizontalement</translation>
+        <translation type="vanished">Insérer les images horizontalement</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
         <source>Include images vertically</source>
-        <translation>Insérer les images verticalement</translation>
+        <translation type="vanished">Insérer les images verticalement</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
-        <source>Free positioning of children (experimental!)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
         <source>Link</source>
-        <translation>Liens</translation>
+        <translation type="vanished">Liens</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
         <source>Hide link if unselected</source>
-        <translation>Cacher le lien si inactif</translation>
+        <translation type="vanished">Cacher le lien si inactif</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
         <source>Attributes</source>
-        <translation>Propriétés</translation>
+        <translation type="vanished">Propriétés</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
         <source>+</source>
-        <translation>+</translation>
+        <translation type="vanished">+</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
         <source>-</source>
-        <translation>-</translation>
+        <translation type="vanished">-</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
         <translation>Éditeur des propriétés</translation>
     </message>
-</context>
-<context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Éditeur d&apos;en-tête</translation>
-    </message>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation type="obsolete">Éditeur des propriétés de la branche</translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation type="obsolete">Cadre</translation>
-    </message>
-    <message>
-        <source>Geometry</source>
-        <translation type="obsolete">Géométrie</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Pas de cadre</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rectangle</translation>
-    </message>
-    <message>
-        <source>Rounded Rectangle</source>
-        <translation type="obsolete">Rectangle arrondis</translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation type="obsolete">Ellipse</translation>
-    </message>
-    <message>
-        <source>Cloud</source>
-        <translation type="obsolete">Nuage</translation>
-    </message>
-    <message>
-        <source>Padding</source>
-        <translation type="obsolete">Remplissage</translation>
-    </message>
     <message>
-        <source>Borderline width</source>
-        <translation type="obsolete">Epaisseur du contour</translation>
+        <location line="+22"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Include children</source>
-        <translation type="obsolete">Inclure branches filles</translation>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Colors</source>
-        <translation type="obsolete">Couleurs</translation>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Borderline color</source>
-        <translation type="obsolete">Couleur du contour</translation>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Background color</source>
-        <translation type="obsolete">Couleur de fond</translation>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Layout</source>
-        <translation type="obsolete">Disposition</translation>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Inclure les images horizontalement</translation>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Inclure les images verticalement</translation>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <source>Link</source>
-        <translation type="obsolete">Liens</translation>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <source>Hide link if unselected</source>
-        <translation type="obsolete">Cacher le lien si déselectionné</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialogue</translation>
     </message>
     <message>
-        <source>Attributes</source>
-        <translation type="obsolete">Attributs</translation>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
     <message>
-        <source>+</source>
-        <translation type="obsolete">+</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialogue</translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Fermer</translation>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Attention</translation>
     </message>
 </context>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation>Éditer le XLien</translation>
+        <translation type="vanished">Éditer le XLien</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
         <source>Arrow begin:</source>
-        <translation>Flèche de début:</translation>
+        <translation type="vanished">Flèche de début:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation>Epaisseur du XLien:</translation>
+        <translation type="vanished">Epaisseur du XLien:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
         <source>Use color of heading</source>
-        <translation>Utiliser la couleur de l&apos;en-tête</translation>
+        <translation type="vanished">Utiliser la couleur de l&apos;en-tête</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
         <source>Line style:</source>
         <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation>Style du tracé:</translation>
+        <translation type="vanished">Style du tracé:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
         <source>Arrow end:</source>
-        <translation>Flèche de Fin:</translation>
+        <translation type="vanished">Flèche de Fin:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
         <source>Close</source>
-        <translation>Fermer</translation>
-    </message>
-    <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">Ajuster la couleur de l&apos;en-tête</translation>
+        <translation type="vanished">Fermer</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
         <source>XLink color:</source>
-        <translation>Couleur du XLien:</translation>
+        <translation type="vanished">Couleur du XLien:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
         <source>Use as default:</source>
-        <translation>Utiliser par défaut:</translation>
+        <translation type="vanished">Utiliser par défaut:</translation>
+    </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
+    <message>
+        <source>Options</source>
+        <translation type="obsolete">Options</translation>
+    </message>
+    <message>
+        <source>Image of map</source>
+        <translation type="obsolete">Image de la Carte</translation>
     </message>
     <message>
-        <source>Delete XLink</source>
-        <translation type="obsolete">Effacer le XLien</translation>
+        <source>Table of contents</source>
+        <translation type="obsolete">Table des matières</translation>
     </message>
     <message>
-        <source>Ok</source>
-        <translation type="obsolete">OK</translation>
+        <source>Task flags</source>
+        <translation type="obsolete">Imagettes des taches</translation>
+    </message>
+    <message>
+        <source>General flags</source>
+        <translation type="obsolete">Imagettes génériques</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="obsolete">Annuler</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">Exporter</translation>
     </message>
 </context>
 <context>
     <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
         <source>Export HTML</source>
-        <translation>Exporter en HTML</translation>
+        <translation type="vanished">Exporter en HTML</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
         <source>Export to directory:</source>
-        <translation>Exporter vers :</translation>
+        <translation type="vanished">Exporter vers :</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
         <source>Browse</source>
-        <translation>Parcourir</translation>
+        <translation type="vanished">Parcourir</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation>Options</translation>
+        <translation type="vanished">Options</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
         <source>Image of map</source>
-        <translation>Image de la Carte</translation>
+        <translation type="vanished">Image de la Carte</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
-        <source>Include images</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
         <source>Table of contents</source>
-        <translation>Table des matières</translation>
+        <translation type="vanished">Table des matières</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
         <source>Task flags</source>
-        <translation>Imagettes des taches</translation>
+        <translation type="vanished">Imagettes des taches</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
         <source>General flags</source>
-        <translation>Imagettes génériques</translation>
+        <translation type="vanished">Imagettes génériques</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
         <source>Number sections</source>
-        <translation>Sections numériques</translation>
+        <translation type="vanished">Sections numériques</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
         <source>Copy CSS from </source>
-        <translation>Copie des CSS de</translation>
+        <translation type="vanished">Copie des CSS de</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
         <source>Use CSS from</source>
-        <translation>Utiliser le CSS de</translation>
-    </message>
-    <message>
-        <source>Include image</source>
-        <translation type="obsolete">Inclure l&apos;image</translation>
+        <translation type="vanished">Utiliser le CSS de</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation>En-têtes colorées dans le texte</translation>
+        <translation type="vanished">En-têtes colorées dans le texte</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation>Enregistrer les Paramètres dans la carte</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">montrer la sortie des scripts externes</translation>
+        <translation type="vanished">Enregistrer les Paramètres dans la carte</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation>Feuilles de style</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
+        <translation type="vanished">Feuilles de style</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation>Scripts</translation>
+        <translation type="vanished">Scripts</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation>Après export :</translation>
+        <translation type="vanished">Après export :</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation>Annuler</translation>
+        <translation type="vanished">Annuler</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
         <source>Export</source>
-        <translation>Exporter</translation>
+        <translation type="vanished">Exporter</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation>Attention</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -510,7 +433,7 @@ Vérifiez si vous voulez réellement
 cela sur votre système!</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation>VYM - Exporter en HTML dans le répertoire</translation>
     </message>
@@ -545,10 +468,6 @@ cela sur votre système!</translation>
         <source>Save settings in map</source>
         <translation type="obsolete">Sauvegarder les paramètres dans la carte</translation>
     </message>
-    <message>
-        <source>showWarnings e.g. if directory is not empty</source>
-        <translation type="obsolete">montrer les avertissements par ex. si un répertoire n&apos;est pas vide</translation>
-    </message>
     <message>
         <source>show output of external scripts</source>
         <translation type="obsolete">Afficher la sortie des scripts externes</translation>
@@ -581,34 +500,6 @@ cela sur votre système!</translation>
         <source>Cancel</source>
         <translation type="obsolete">Annuler</translation>
     </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Avertissement</translation>
-    </message>
-    <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation type="obsolete">VYM - Exporter en HTML vers un répertoire</translation>
-    </message>
-    <message>
-        <source>VYM - Path to CSS file</source>
-        <translation type="obsolete">VYM - Chemin d&apos;accès au fichier CSS</translation>
-    </message>
-    <message>
-        <source>VYM - Path to XSL file</source>
-        <translation type="obsolete">VYM - Chemin d&apos;accès au fichier XSL</translation>
-    </message>
-    <message>
-        <source>VYM - Path to pre export script</source>
-        <translation type="obsolete">VYM - Chemin d&apos;accès au script de pré-exportation</translation>
-    </message>
-    <message>
-        <source>VYM - Path to post export script</source>
-        <translation type="obsolete">VYM - Chemin d&apos;accès au script de post-exportation</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Erreur grave</translation>
-    </message>
     <message>
         <source>Stylesheets</source>
         <translation type="obsolete">Feuilles de style</translation>
@@ -617,202 +508,159 @@ cela sur votre système!</translation>
         <source>Scripts</source>
         <translation type="obsolete">Scripts</translation>
     </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">Les réglages sauvés dans la carte souhaiteraient lancer les scripts:
-
-%1
-
-Veuillez vérifier si vous voulez vraiment l&apos;autoriser sur votre système!</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">N&apos;a pas pu ouvrir %1</translation>
-    </message>
-    <message>
-        <source>Could not write %1</source>
-        <translation type="obsolete">N&apos;a pas pu écrire %1</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">N&apos;a pas pu lancer %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 ne s&apos;est pas terminé normalement</translation>
-    </message>
 </context>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
         <source>VYM - Info</source>
         <translatorcomment>VYM - Informations</translatorcomment>
-        <translation>VYM - Info</translation>
+        <translation type="vanished">VYM - Info</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
         <source>Map:</source>
-        <translation>Carte:</translation>
+        <translation type="vanished">Carte:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
         <source>Title:</source>
-        <translation>Titre:</translation>
+        <translation type="vanished">Titre:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
         <source>Author:</source>
-        <translation>Auteur :</translation>
+        <translation type="vanished">Auteur :</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
         <source>Comment:</source>
-        <translation>Commentaire:</translation>
+        <translation type="vanished">Commentaire:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation>Statistiques:</translation>
+        <translation type="vanished">Statistiques:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation>Annuler</translation>
+        <translation type="vanished">Annuler</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation>Fermer</translation>
+        <translation type="vanished">Fermer</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation>Rechercher:</translation>
     </message>
 </context>
-<context>
-    <name>FindWindow</name>
-    <message>
-        <source>Clear</source>
-        <translation type="obsolete">Effacer</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Annuler</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Trouver</translation>
-    </message>
-    <message>
-        <source>Find Text</source>
-        <translation type="obsolete">Trouver le texte</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">Nouvelle carte</translation>
-    </message>
-</context>
 <context>
     <name>HeadingEditor</name>
     <message>
-        <location filename="../headingeditor.cpp" line="9"/>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <comment>Window caption</comment>
-        <translation>Éditeur d&apos;en-tête</translation>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished">Éditeur d&apos;en-tête</translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
     <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation>Action</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>Commentaire</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation>Annuler l&apos;action</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation>Situation présente</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="13"/>
         <source>Dialog</source>
-        <translation>Dialogue</translation>
+        <translation type="vanished">Dialogue</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="50"/>
         <source>Redo</source>
-        <translation>Refaire</translation>
+        <translation type="vanished">Refaire</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation>Heure</translation>
+        <translation type="vanished">Heure</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation>Commentaire</translation>
+        <translation type="vanished">Commentaire</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation>Défaire</translation>
+        <translation type="vanished">Défaire</translation>
     </message>
+</context>
+<context>
+    <name>JiraAgent</name>
     <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>Fermer</translation>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">Attention</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialogue</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">Ajouter</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">Enlever</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>LineEditDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Dialogue</translation>
+        <translation type="vanished">Dialogue</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
         <source>TextLabel</source>
-        <translation>Etiquette </translation>
+        <translation type="vanished">Etiquette </translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation>Annuler</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation>OK</translation>
     </message>
@@ -820,19 +668,16 @@ Veuillez vérifier si vous voulez vraiment l&apos;autoriser sur votre système!<
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">Dialogue</translation>
+        <translation type="obsolete">Dialogue</translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -840,766 +685,188 @@ Veuillez vérifier si vous voulez vraiment l&apos;autoriser sur votre système!<
 <context>
     <name>Main</name>
     <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">&amp;Fichier</translation>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
+        <source>Linkstyle Line</source>
+        <translation>Aspect du lien : trait droit</translation>
     </message>
     <message>
-        <source>New map</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Nouvelle carte    </translation>
+        <location line="+14"/>
+        <source>Linkstyle Thick Line</source>
+        <translation>Aspect du lien : trait élargi</translation>
     </message>
     <message>
-        <source>&amp;New...</source>
-        <translation type="obsolete">&amp;Nouveau...</translation>
+        <location line="+42"/>
+        <source>Set &amp;Background Color</source>
+        <translation>Définir la couleur du &amp;Fond</translation>
     </message>
     <message>
-        <source>Open</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Ouvrir</translation>
+        <location line="+14"/>
+        <source>&amp;View</source>
+        <translation>&amp;Voir</translation>
     </message>
     <message>
-        <source>&amp;Open...</source>
-        <translation type="obsolete">&amp;Ouvrir...</translation>
+        <location line="+1867"/>
+        <source>Overwrite</source>
+        <translation>Écraser</translation>
     </message>
     <message>
-        <source>Open Recent</source>
-        <translation type="obsolete">Ouvrir un document récent</translation>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
+        <source>Cancel</source>
+        <translation>Annuler</translation>
     </message>
     <message>
-        <source>Save</source>
-        <translation type="obsolete">Sauver</translation>
+        <location line="-3066"/>
+        <source>Firefox Bookmarks</source>
+        <comment>Import filters</comment>
+        <translation>Signets Firefox</translation>
     </message>
     <message>
-        <source>&amp;Save...</source>
-        <translation type="obsolete">&amp;Sauver...</translation>
+        <location line="+827"/>
+        <source>Remove only branch and keep its children </source>
+        <comment>Edit menu</comment>
+        <translation>Effacer la branche courante et garder les branches filles</translation>
     </message>
     <message>
-        <source>Save &amp;As</source>
-        <translation type="obsolete">Sauver &amp;Comme</translation>
+        <location line="+161"/>
+        <source>Formatting</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save &amp;As...</source>
-        <translation type="obsolete">Sauver &amp;comme...</translation>
+        <location line="+364"/>
+        <source>Modifier modes</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Import directory structure (experimental)</source>
-        <translation type="obsolete">Importer la structure de répertoire (expérimental)</translation>
+        <location line="+1282"/>
+        <source>Open anyway</source>
+        <translation>Ouvrir de toute manière</translation>
     </message>
     <message>
-        <source>Export</source>
-        <translation type="obsolete">Exporter</translation>
+        <location line="+73"/>
+        <source>Create</source>
+        <translation>Créer</translation>
     </message>
     <message>
-        <source>Print</source>
-        <translation type="obsolete">Imprimer</translation>
+        <location line="+86"/>
+        <source>Load vym map</source>
+        <translation>Charger une carte VYM</translation>
     </message>
     <message>
-        <source>Close Map</source>
-        <translation type="obsolete">Fermer la carte</translation>
-    </message>
-    <message>
-        <source>&amp;Close Map</source>
-        <translation type="obsolete">&amp;Fermer la carte</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <translation type="obsolete">&amp;Éditer</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">Défaire</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <translation type="obsolete">&amp;Défaire</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <translation type="obsolete">Copier</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <translation type="obsolete">&amp;Copier</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <translation type="obsolete">Couper</translation>
-    </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <translation type="obsolete">Cou&amp;per</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <translation type="obsolete">Coller</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <translation type="obsolete">Co&amp;ller</translation>
-    </message>
-    <message>
-        <source>Move branch up</source>
-        <translation type="obsolete">Monter la branche</translation>
-    </message>
-    <message>
-        <source>Move up</source>
-        <translation type="obsolete">Monter</translation>
-    </message>
-    <message>
-        <source>Move branch down</source>
-        <translation type="obsolete">Descendre la branche</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <translation type="obsolete">Descendre</translation>
-    </message>
-    <message>
-        <source>Scroll branch</source>
-        <translation type="obsolete">Enrouler la branche</translation>
-    </message>
-    <message>
-        <source>Unscroll all</source>
-        <translation type="obsolete">Dérouler tout</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches</source>
-        <translation type="obsolete">Dérouler toutes les branches enroulées</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Trouver</translation>
-    </message>
-    <message>
-        <source>Open URL</source>
-        <translation type="obsolete">Ouvrir une URL</translation>
-    </message>
-    <message>
-        <source>Edit URL</source>
-        <translation type="obsolete">Éditer une URL</translation>
-    </message>
-    <message>
-        <source>Use heading of selected branch as URL</source>
-        <translation type="obsolete">Utiliser l&apos;en-tête de la branche sélectionnée comme URL</translation>
-    </message>
-    <message>
-        <source>Use heading for URL</source>
-        <translation type="obsolete">Utiliser l&apos;en-tête comme URL</translation>
-    </message>
-    <message>
-        <source>Create URL to Bugzilla</source>
-        <translation type="obsolete">Créer une URL vers Bugzilla</translation>
-    </message>
-    <message>
-        <source>Jump to another vym map, if needed load it first</source>
-        <translation type="obsolete">Sauter à une autre carte, si besoin le charger d&apos;abord</translation>
-    </message>
-    <message>
-        <source>Jump to map</source>
-        <translation type="obsolete">Sauter à la carte</translation>
-    </message>
-    <message>
-        <source>Edit link to another vym map</source>
-        <translation type="obsolete">Éditer un lien vers une autre carte vym</translation>
-    </message>
-    <message>
-        <source>Delete link to another vym map</source>
-        <translation type="obsolete">Effacer le lien vers une autre carte vym</translation>
-    </message>
-    <message>
-        <source>Delete vym link</source>
-        <translation type="obsolete">Effacer le lien vym</translation>
-    </message>
-    <message>
-        <source>Edit Map Info</source>
-        <translation type="obsolete">Éditer les infos carte</translation>
-    </message>
-    <message>
-        <source>edit Heading</source>
-        <translation type="obsolete">Éditer l&apos;en-tête</translation>
-    </message>
-    <message>
-        <source>Edit heading</source>
-        <translation type="obsolete">Éditer l&apos;en-tête</translation>
-    </message>
-    <message>
-        <source>Delete Selection</source>
-        <translation type="obsolete">Effacer la sélection</translation>
-    </message>
-    <message>
-        <source>Add a branch as child of selection</source>
-        <translation type="obsolete">Ajouter une branche comme enfant de la sélection</translation>
-    </message>
-    <message>
-        <source>Add branch as child</source>
-        <translation type="obsolete">Ajouter une branche comme enfant</translation>
-    </message>
-    <message>
-        <source>Add a branch above selection</source>
-        <translation type="obsolete">Ajouter une branche au-dessus de la sélection</translation>
-    </message>
-    <message>
-        <source>Add branch above</source>
-        <translation type="obsolete">Ajouter une branche au-dessus</translation>
-    </message>
-    <message>
-        <source>Add a branch below selection</source>
-        <translation type="obsolete">Ajouter une branche en-dessous de la sélection</translation>
-    </message>
-    <message>
-        <source>Add branch below</source>
-        <translation type="obsolete">Ajouter une branche au-dessous</translation>
-    </message>
-    <message>
-        <source>Add map at selection</source>
-        <translation type="obsolete">Ajouter un schéma à la sélection</translation>
-    </message>
-    <message>
-        <source>Replace selection with map</source>
-        <translation type="obsolete">Remplacer la sélection par une carte</translation>
-    </message>
-    <message>
-        <source>Save selection</source>
-        <translation type="obsolete">Sauver la sélection</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <translation type="obsolete">Sélectionner la branche supérieure</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <translation type="obsolete">Sélectionner la branche inférieure</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <translation type="obsolete">Sélectionner la branche de gauche</translation>
-    </message>
-    <message>
-        <source>Select right branch</source>
-        <translation type="obsolete">Sélectionner la branche de droite</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <translation type="obsolete">Sélectionner la branche fille</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <translation type="obsolete">Sélectionner la première branche</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <translation type="obsolete">Sélectionner la dernière branche</translation>
-    </message>
-    <message>
-        <source>Add Image</source>
-        <translation type="obsolete">Ajouter une image</translation>
-    </message>
-    <message>
-        <source>Set Color</source>
-        <translation type="obsolete">Ajuster la couleur</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>Définir la &amp;Couleur</translation>
-    </message>
-    <message>
-        <source>Pick color
-Hint: You can pick a color from another branch and color using CTRL+Left Button</source>
-        <translation type="obsolete">Couleur rose
-Conseil: vous pouvez choisir une couleur depuis une autre branche et colorer en utilisant CTRL+bouton gauche</translation>
-    </message>
-    <message>
-        <source>Pic&amp;k color</source>
-        <translation type="obsolete">Choisir une couleur</translation>
-    </message>
-    <message>
-        <source>Color branch</source>
-        <translation type="obsolete">Colorier la branche</translation>
-    </message>
-    <message>
-        <source>Color &amp;branch</source>
-        <translation type="obsolete">Colorier la &amp;branche</translation>
-    </message>
-    <message>
-        <source>Color Subtree</source>
-        <translation type="obsolete">Colorier le sous-arbre</translation>
-    </message>
-    <message>
-        <source>Color sub&amp;tree</source>
-        <translation type="obsolete">Colorier le sous-arbre</translation>
-    </message>
-    <message>
-        <source>Line</source>
-        <translation type="obsolete">Ligne</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
-        <source>Linkstyle Line</source>
-        <translation>Aspect du lien : trait droit</translation>
-    </message>
-    <message>
-        <source>Linkstyle Parabel</source>
-        <translation type="obsolete">Style de la ligne du XLink : parabole</translation>
-    </message>
-    <message>
-        <source>PolyLine</source>
-        <translation type="obsolete">PolyLigne</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
-        <source>Linkstyle Thick Line</source>
-        <translation>Aspect du lien : trait élargi</translation>
-    </message>
-    <message>
-        <source>PolyParabel</source>
-        <translation type="obsolete">PolyParabole</translation>
-    </message>
-    <message>
-        <source>Linkstyle Thick Parabel</source>
-        <translation type="obsolete">Style de la ligne du XLink : parabole épaisse</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Pas de cadre</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rectangle</translation>
-    </message>
-    <message>
-        <source>Use same color for links and headings</source>
-        <translation type="obsolete">Utiliser la même couleur pour les liens et les en-têtes</translation>
-    </message>
-    <message>
-        <source>&amp;Use color of heading for link</source>
-        <translation type="obsolete">&amp;Utiliser la couleur de l&apos;en-tête pour le lien</translation>
-    </message>
-    <message>
-        <source>Set Link Color</source>
-        <translation type="obsolete">Ajuster la couleur du lien</translation>
-    </message>
-    <message>
-        <source>Set Background Color</source>
-        <translation type="obsolete">Ajuster la couleur du fond</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
-        <source>Set &amp;Background Color</source>
-        <translation>Définir la couleur du &amp;Fond</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
-        <source>&amp;View</source>
-        <translation>&amp;Voir</translation>
-    </message>
-    <message>
-        <source>Zoom reset</source>
-        <translation type="obsolete">remise à zéro du zoom</translation>
-    </message>
-    <message>
-        <source>reset Zoom</source>
-        <translation type="obsolete">remettre à zéro le zoom</translation>
-    </message>
-    <message>
-        <source>Zoom in</source>
-        <translation type="obsolete">Zoom avant</translation>
-    </message>
-    <message>
-        <source>Zoom out</source>
-        <translation type="obsolete">Zoom arrière</translation>
-    </message>
-    <message>
-        <source>&amp;Next Window</source>
-        <translation type="obsolete">Fenêtre suiva&amp;nte</translation>
-    </message>
-    <message>
-        <source>Next Window</source>
-        <translation type="obsolete">Fenêtre suivante</translation>
-    </message>
-    <message>
-        <source>&amp;Previous Window</source>
-        <translation type="obsolete">Fenêtre &amp;précédente</translation>
-    </message>
-    <message>
-        <source>Previous Window</source>
-        <translation type="obsolete">Fenêtre précédente</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <translation type="obsolete">Modes pendant l&apos;utilisation de modificateurs</translation>
-    </message>
-    <message>
-        <source>Use modifier to color branches</source>
-        <translation type="obsolete">Utiliser un modificateur pour colorer des branches</translation>
-    </message>
-    <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">&amp;Paramètres</translation>
-    </message>
-    <message>
-        <source>Set application to open pdf files</source>
-        <translation type="obsolete">Configurer une application pour ouvrir les fichiers PDF</translation>
-    </message>
-    <message>
-        <source>Edit branch after adding it</source>
-        <translation type="obsolete">Éditer la branche après l&apos;ajout</translation>
-    </message>
-    <message>
-        <source>Select branch after adding it</source>
-        <translation type="obsolete">Sélectionner la branche après l&apos;ajout</translation>
-    </message>
-    <message>
-        <source>Select heading before editing</source>
-        <translation type="obsolete">Sélectionner l&apos;en-tête avant l&apos;édition</translation>
-    </message>
-    <message>
-        <source>Select existing heading</source>
-        <translation type="obsolete">Sélectionner un en-tête existant</translation>
-    </message>
-    <message>
-        <source>&amp;Test</source>
-        <translation type="obsolete">&amp;Test</translation>
-    </message>
-    <message>
-        <source>test flag</source>
-        <translation type="obsolete">tester le drapeau</translation>
-    </message>
-    <message>
-        <source>&amp;Help</source>
-        <translation type="obsolete">&amp;Aide</translation>
-    </message>
-    <message>
-        <source>Open VYM Documentation (pdf)</source>
-        <translation type="obsolete">Ouvrir la documentation VYM (PDF)</translation>
-    </message>
-    <message>
-        <source>Information about QT toolkit</source>
-        <translation type="obsolete">Information à propos du toolkit QT</translation>
-    </message>
-    <message>
-        <source>About QT</source>
-        <translation type="obsolete">À propos de QT</translation>
-    </message>
-    <message>
-        <source>Save image</source>
-        <translation type="obsolete">Sauver l&apos;image</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
-        <source>Overwrite</source>
-        <translation>Écraser</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
-        <source>Cancel</source>
-        <translation>Annuler</translation>
-    </message>
-    <message>
-        <source>KDE 3 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="obsolete">Signets KDE 3</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="vanished">Signets KDE4</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
-        <source>Firefox Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation>Signets Firefox</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation>Importer le répertoire %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
-        <source>Remove only branch and keep its children </source>
-        <comment>Edit menu</comment>
-        <translation>Effacer la branche courante et garder les branches filles</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
-        <source>Formatting</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
-        <source>Modifier modes</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
-        <source>Open anyway</source>
-        <translation>Ouvrir de toute manière</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
-        <source>Create</source>
-        <translation>Créer</translation>
-    </message>
-    <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Erreur grave de chargement</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">Incapable de trouver une carte (*.xml) dans une archive .vym.
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
-        <source>Load vym map</source>
-        <translation>Charger une carte VYM</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
+        <location line="+6"/>
         <source>Import: Add vym map to selection</source>
         <translation>Importation : ajouter la carte VYM à la sélection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
+        <location line="+4"/>
         <source>Import: Replace selection with vym map</source>
         <translation>Importation : remplacer la sélection par une carte VYM</translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Sauver l&apos;erreur</translation>
-    </message>
-    <message>
-        <source>
-could not be removed before saving</source>
-        <translation type="obsolete">
-ne peut être enlevé avant de sauver</translation>
-    </message>
-    <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">compressé (défaut VYM)</translation>
-    </message>
-    <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">décompressé</translation>
-    </message>
-    <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Exporter le XML vers le répertoire</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
+        <location line="+613"/>
         <source>Save modified map before closing it</source>
         <translation>Enregistrer la carte modifiée avant de la fermer</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
+        <location line="+1"/>
         <source>Discard changes</source>
         <translation>Annuler les modifications</translation>
     </message>
     <message>
-        <source>This map is not saved yet. Do you want to</source>
-        <translation type="obsolete">Cette carte  n&apos;est pas encore sauvée. Voulez-vous</translation>
-    </message>
-    <message>
-        <source>Save map</source>
-        <translation type="obsolete">Sauver la carte</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
+        <location line="+1411"/>
         <source>VYM -Information:</source>
         <translation>VYM - Information:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
+        <location line="-2265"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
         <source>Critical Error</source>
         <translation>Erreur critique</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation>Saisir la temps d&apos;arrêt 
-(nombre de jours ou bien date au format AAAA-MM-JJ ou JJ.MM[.AAAA]</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
+        <location line="+172"/>
         <source>Couldn&apos;t set sleep time to %1.
 </source>
         <translation>Impossible de fixer le temps d&apos;arrêt à %1.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
+        <location line="+49"/>
         <source>branches</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
+        <location line="+7"/>
         <source>notes</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
+        <location line="+1"/>
         <source>images</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
+        <location line="+3"/>
         <source>slides</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
+        <location line="+2"/>
         <source>xLinks</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
+        <location line="+903"/>
         <source>Set author for new maps (used in lockfile)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
+        <location line="+3"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
+        <location line="+42"/>
         <source>Number of parents shown in find results:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
+        <location line="-2393"/>
         <source>(readonly)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
+        <location line="+2880"/>
         <source>Export in last used format (%1) to: %2</source>
         <comment>status tip</comment>
         <translation>Exporter vers : %2 en utilisant le dernier format utilisé (%1)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
+        <location line="+440"/>
         <source>Critcal error</source>
         <translation>Erreur critique</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find the documentation
-vym.pdf in various places.</source>
-        <translation type="obsolete">N&apos;a pas pu trouver la documentation
-vym.pdf en différents endroits.</translation>
-    </message>
-    <message>
-        <source>Add a branch by inserting and making selection its child</source>
-        <translation type="obsolete">Ajouter une branche par insertion et affiliation de la sélection</translation>
-    </message>
-    <message>
-        <source>Add branch (insert)</source>
-        <translation type="obsolete">Ajouter une branche (insérer)</translation>
-    </message>
-    <message>
-        <source>Remove only branch and keep its childs</source>
-        <translation type="obsolete">Enlever seulement la branche et garder ses fils</translation>
-    </message>
-    <message>
-        <source>Remove only branch </source>
-        <translation type="obsolete">Enlever seulement la branche</translation>
-    </message>
-    <message>
-        <source>Remove childs of branch</source>
-        <translation type="obsolete">Enlever les fils de la branche</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <translation type="obsolete">Enlever les enfants</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <translation type="obsolete">Utoiliser le modificateur pour copier</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
+        <location line="-3798"/>
         <source>Add</source>
         <translation>Ajouter</translation>
     </message>
     <message>
-        <source>Remove</source>
-        <translation type="obsolete">Enlever</translation>
-    </message>
-    <message>
-        <source>Edit XLink</source>
-        <translation type="obsolete">Éditer XLink</translation>
-    </message>
-    <message>
-        <source>Goto XLink</source>
-        <translation type="obsolete">Aller au XLink</translation>
-    </message>
-    <message>
-        <source>Use modifier to draw xLinks</source>
-        <translation type="obsolete">Utiliser le modificateur pour tracer le XLink</translation>
-    </message>
-    <message>
-        <source>Use exclusive flags in flag toolbars</source>
-        <translation type="obsolete">Utiliser les indicateurs exclusifs dans la barre de menu</translation>
-    </message>
-    <message>
-        <source>Set application to open external links</source>
-        <translation type="obsolete">Choisir l&apos;application pour ouvrir des liens externes</translation>
-    </message>
-    <message>
-        <source>Pasting into new branch</source>
-        <translation type="obsolete">Copie dans la nouvelle branche</translation>
-    </message>
-    <message>
-        <source>pasting into new branch</source>
-        <translation type="obsolete">copie dans la nouvelle branche</translation>
-    </message>
-    <message>
-        <source>Delete key for deleting branches</source>
-        <translation type="obsolete">Touche suppr pour effacer des branches</translation>
-    </message>
-    <message>
-        <source>Delete key</source>
-        <translation type="obsolete">Touche suppr</translation>
-    </message>
-    <message>
-        <source>Exclusive flags</source>
-        <translation type="obsolete">indicateurs exclusifs</translation>
-    </message>
-    <message>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <translation type="obsolete">Le répertoire %1 n&apos;est pas vide. Vous risquez d&apos;écraser son contenu ?</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
+        <location line="+571"/>
         <source>The map %1
 is already opened.Opening the same map in multiple editors may lead 
 to confusion when finishing working with vym.Do you want to</source>
@@ -1608,7 +875,7 @@ to confusion when finishing working with vym.Do you want to</source>
  des incohérences à la fermeture de vym. Voulez vous</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
+        <location line="+75"/>
         <source>This map does not exist:
   %1
 Do you want to create a new one?</source>
@@ -1617,2642 +884,2183 @@ Do you want to create a new one?</source>
 Voulez-vous la créer ?</translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">La carte %1
-n&apos;utilise pas le format compressé de vym.
-Si on l&apos;écrit  non compressée, on va écrire les images et les indicateurs
-et pourra écraser des fichiers dans le répertoire
-Voulez vous écrire la carte </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
+        <location line="+224"/>
         <source>Saved  %1</source>
         <translation>Sauvegarde de : %1 effectuée</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
+        <location line="+4"/>
         <source>Couldn&apos;t save </source>
         <translation>Echec sauvegarde</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
+        <location line="+39"/>
+        <location line="+92"/>
         <source>The file %1
 exists already. Do you want to</source>
         <translation>Le fichier %1
 existe déjà. Voulez-vous </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
+        <location line="+351"/>
         <source>The map %1 has been modified but not saved yet. Do you want to</source>
         <translation>La carte %1 a été modifiée mais pas encore sauvegardée. Voulez-vous</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
+        <location line="+334"/>
         <source>Couldn&apos;t open map %1</source>
         <translation>Echec ouverture carte %1</translation>
     </message>
     <message>
-        <source>Set application to open pdf files  ...</source>
-        <translation type="obsolete">Choisir l&apos;application pour ouvrir les fichiers pdf  ...</translation>
-    </message>
-    <message>
-        <source>Set application to open external links...</source>
-        <translation type="obsolete">Choisit l&apos;application pour ouvrir les liens externes ...</translation>
-    </message>
-    <message>
-        <source>Exit</source>
-        <translation type="obsolete">Sortie</translation>
-    </message>
-    <message>
-        <source>E&amp;xit</source>
-        <translation type="obsolete">S&amp;ortie</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <translation type="obsolete">Refaire</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <translation type="obsolete">&amp;Refaire</translation>
-    </message>
-    <message>
-        <source>Create URL to FATE</source>
-        <translation type="obsolete">Abandonner l&apos;URL</translation>
-    </message>
-    <message>
-        <source>Include top and bottom position of images into branch</source>
-        <translation type="obsolete">inclure les positions des images haut et bas des images dans les branches</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Inclure les images verticalement</translation>
-    </message>
-    <message>
-        <source>Include left and right position of images into branch</source>
-        <translation type="obsolete">Inclure les positions droite et gauche des images dans les branches</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Inclure les images horizontalement</translation>
-    </message>
-    <message>
-        <source>Hide link</source>
-        <translation type="obsolete">Cacher le lien</translation>
-    </message>
-    <message>
-        <source>Hide link if object is not selected</source>
-        <translation type="obsolete">Cacher le lien si l&apos;objet n&apos;est pas sélectionné</translation>
-    </message>
-    <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Note</translation>
-    </message>
-    <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Document WWW externe</translation>
-    </message>
-    <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Lien vers une autre carte cym</translation>
-    </message>
-    <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">La sous-branche est enroulée</translation>
-    </message>
-    <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">la sous-branche est provisoirement enroulée</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
+        <location line="-2216"/>
         <source>Take care!</source>
         <comment>Standardflag</comment>
         <translation>Faites Attention !</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
+        <location line="+5"/>
         <source>Really?</source>
         <comment>Standardflag</comment>
         <translation>Vraiment ?</translation>
     </message>
     <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">ok !</translation>
-    </message>
-    <message>
-        <source>Not ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Pas ok !  </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
+        <location line="-24"/>
         <source>This won&apos;t work!</source>
         <comment>Standardflag</comment>
         <translation>Cela ne marchera pas !</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
+        <location line="+38"/>
         <source>Good</source>
         <comment>Standardflag</comment>
         <translation>Bien</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
+        <location line="+4"/>
         <source>Bad</source>
         <comment>Standardflag</comment>
         <translation>Mauvais</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
+        <location line="+48"/>
         <source>Time critical</source>
         <comment>Standardflag</comment>
         <translation>Moment critique</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
+        <location line="-58"/>
         <source>Idea!</source>
         <comment>Standardflag</comment>
         <translation>Idée !</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
+        <location line="+25"/>
         <source>Important</source>
         <comment>Standardflag</comment>
         <translation>Important</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
+        <location line="+5"/>
         <source>Unimportant</source>
         <comment>Standardflag</comment>
         <translation>Sans intérêt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
+        <location line="+15"/>
         <source>I like this</source>
         <comment>Standardflag</comment>
         <translation>J&apos;aime</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
+        <location line="+3"/>
         <source>I do not like this</source>
         <comment>Standardflag</comment>
         <translation>Je n&apos;aime pas</translation>
     </message>
     <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">J&apos;aime un peu ...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
+        <location line="-26"/>
         <source>Dangerous</source>
         <comment>Standardflag</comment>
         <translation>Dangereux</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
+        <location line="+30"/>
         <source>This will help</source>
         <comment>Standardflag</comment>
         <translation>Cela peux aider</translation>
     </message>
     <message>
-        <source>Call test function</source>
-        <translation type="obsolete">Appeler une fonction de test</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
-        <translation type="unfinished">Ne peut pas sauver %1</translation>
-    </message>
-    <message>
-        <source>Open VYM Documentation (pdf) </source>
-        <translation type="obsolete">Ouvrir la documentation VYM (pdf) </translation>
-    </message>
-    <message>
-        <source>About VYM</source>
-        <translation type="obsolete">À propos de VYM</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
+        <location line="+1554"/>
+        <location line="+54"/>
+        <location line="+1"/>
         <source>Import</source>
         <translation>Importer</translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <translation type="obsolete">Signets KDE</translation>
-    </message>
-    <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <translation type="obsolete">Exporter en Open Document Format utilisé par Open Office</translation>
-    </message>
-    <message>
-        <source>Export as ASCII</source>
-        <translation type="obsolete">Exporter en ASCII</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
+        <location line="-3186"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
         <source>(still experimental)</source>
         <translation>(encore expérimental)</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exporter en LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
+        <location line="-3237"/>
         <source>&amp;Print</source>
         <translation>Im&amp;primer</translation>
     </message>
     <message>
-        <source>Add map (insert)</source>
-        <translation type="obsolete">Ajouter un schéma (insérer)</translation>
-    </message>
-    <message>
-        <source>Add map (replace)</source>
-        <translation type="obsolete">Ajouter un schéma (remplacer)</translation>
-    </message>
-    <message>
-        <source>Export as</source>
-        <translation type="obsolete">Exporter comme</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
+        <location line="+3168"/>
+        <location line="+68"/>
         <source>Export to</source>
         <translation>Exporter vers</translation>
     </message>
     <message>
-        <source>Hide object in exports</source>
-        <translation type="obsolete">Cacher les objets dans l&apos;exportation</translation>
-    </message>
-    <message>
-        <source>Hide in exports</source>
-        <translation type="obsolete">Cacher dans l&apos;export</translation>
-    </message>
-    <message>
-        <source>Hide object in exported maps</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Cacher les objets dans les cartes exportées</translation>
-    </message>
-    <message>
-        <source>Use hide flag during exports </source>
-        <translation type="obsolete">Utiliser l&apos;indicateur cacher pendant les exports</translation>
-    </message>
-    <message>
-        <source>Use hide flags</source>
-        <translation type="obsolete">Utiliser l&apos;indicateur cacher</translation>
-    </message>
-    <message>
-        <source>Open URL in new tab</source>
-        <translation type="obsolete">Ouvrir l&apos;URL dans un nouvel onglet   </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation>En-avant</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation>N&apos;oubliez-pas</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation>sans nom</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
         <source>Warning</source>
         <translation>Attention</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
+        <location line="-2934"/>
         <source>Couldn&apos;t find configuration for export to LibreOffice
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
+        <location line="+201"/>
+        <location line="+2345"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <translation>Pas d&apos;application pour ouvrir %1.
 </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="-2344"/>
+        <location line="+2345"/>
         <source>Please use Settings-&gt;</source>
         <translation>Veuillez utiliser le menu Paramètres</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
+        <location line="-2344"/>
+        <location line="+1260"/>
         <source>Set application to open an URL</source>
         <translation>Définir l&apos;application pour ouvrir une URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Impossible de lancer %1 pour ouvrir un nouvel onglet dans %2.</translation>
-    </message>
-    <message>
-        <source>Currently vym is using %1 to open external links.
-(Change in Settings menu)</source>
-        <comment>Mainwindow, open URL</comment>
-        <translation type="obsolete">Vym utilise actuellement %1 pour ouvrir les liens externes
-(Modifiez ce comportement dans le menu Options)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
+        <location line="-842"/>
         <source>%1 items on map
 </source>
         <comment>Info about map</comment>
         <translation>La carte contient %1 éléments</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="+830"/>
+        <location line="+1097"/>
         <source>Set application to open PDF files</source>
         <translation>Définir l&apos;application pour ouvrir les fichier PDF</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
+        <location line="-4311"/>
         <source>Oh no!</source>
         <comment>Standardflag</comment>
         <translation>Oh non !</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation>Éditeur de note</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
-        <translation>Éditeur d&apos;en-tête</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="260"/>
+        <location line="-2414"/>
         <source>Search results list</source>
         <comment>FindResultWidget</comment>
-        <translation>Résultats de la Recherche</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="vanished">&amp;Carte</translation>
+        <translation>Résultats de la Recherche</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
+        <location line="+3108"/>
         <source>File actions toolbar</source>
         <comment>Toolbar for file actions</comment>
         <translation>Barre d&apos;outils fichiers</translation>
     </message>
     <message>
-        <source>File</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Fichier</translation>
-    </message>
-    <message>
-        <source>KDE 3 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Signets KDE 3</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="vanished">Signets KDE4</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
+        <location line="+19"/>
         <source>Edit actions toolbar</source>
         <comment>Toolbar name</comment>
         <translation>Barre d&apos;outils des actions</translation>
     </message>
     <message>
-        <source>Edit</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Editer</translation>
-    </message>
-    <message>
-        <source>&amp;Restore last session</source>
-        <comment>File menu</comment>
-        <translation type="vanished">&amp;Restaurer la dernière session</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
+        <location line="-2101"/>
         <source>E&amp;dit</source>
         <comment>Edit menu</comment>
         <translation>E&amp;diter</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
+        <location line="+84"/>
         <source>Add attribute</source>
         <translation>Ajouter une propriété</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
+        <location line="+131"/>
         <source>&amp;Detach</source>
         <comment>Context menu</comment>
         <translation>&amp;Détacher</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
+        <location line="+1"/>
         <source>Detach branch and use as mapcenter</source>
         <comment>Context menu</comment>
         <translation>Détacher une branche et réutiliser comme centre de la carte</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
+        <location line="+19"/>
         <source>Sort children backwards</source>
         <comment>Edit menu</comment>
         <translation>Tri inverse des branches filles</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
+        <location line="+81"/>
         <source>Expand all branches</source>
         <comment>Edit menu</comment>
         <translation>Développer toutes les branches</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
+        <location line="+8"/>
         <source>Expand one level</source>
         <comment>Edit menu</comment>
         <translation>Développer sur un niveau</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
+        <location line="-33"/>
         <source>Collapse one level</source>
         <comment>Edit menu</comment>
         <translation>Replier d&apos;un niveau</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
+        <location line="+13"/>
         <source>Collapse unselected levels</source>
         <comment>Edit menu</comment>
         <translation>Replier les niveaux non sélectionnés</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
+        <location line="-47"/>
         <source>Unscroll children</source>
         <comment>Edit menu</comment>
         <translation>Dérouler les branches filles</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
+        <location line="-356"/>
         <source>Text (A&amp;O report)...</source>
         <comment>Export format</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation type="unfinished">Feuille de calcul</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
+        <location line="+52"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
+        <location line="+210"/>
         <source>Move branch up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">Monter la branche</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
+        <location line="+13"/>
         <source>Move branch down</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">Descendre la branche</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
+        <location line="+86"/>
         <source>Grow selection</source>
         <comment>Edit menu</comment>
         <translation>Faire croitre la sélection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
+        <location line="+9"/>
         <source>Shrink selection</source>
         <comment>Edit menu</comment>
         <translation>Racourcir la sélection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
+        <location line="+9"/>
         <source>Reset selection size</source>
         <comment>Edit menu</comment>
         <translation>Réinitialiser la taille de la sélection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
+        <location line="+54"/>
         <source>References Context menu</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
+        <location line="+74"/>
+        <source>Get data from JIRA for subtree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
+        <location line="+20"/>
         <source>vymlinks - linking maps</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
+        <location line="+44"/>
         <source>Exports</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
+        <location line="+13"/>
         <source>Tasks</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished">Tâches</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
+        <location line="+167"/>
         <source>Removing parts of a map</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
+        <location line="+24"/>
         <source>Various</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
+        <location line="+12"/>
         <source>Map properties...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
+        <location line="+30"/>
         <source>Selections</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
+        <location line="+4"/>
         <source>Toggle target...</source>
         <comment>Edit menu</comment>
         <translation>Basculer vers cible...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
+        <location line="+10"/>
         <source>Goto target...</source>
         <comment>Edit menu</comment>
         <translation>Se déplacer vers (par XLink)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
+        <location line="+9"/>
         <source>Move to target...</source>
         <comment>Edit menu</comment>
         <translation>Déplacer vers la cible...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
+        <location line="+18"/>
         <source>Select previous</source>
         <comment>Edit menu</comment>
         <translation>Sélection précédente</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
+        <location line="+10"/>
         <source>Select next</source>
         <comment>Edit menu</comment>
         <translation>Sélection suivante</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
+        <location line="+19"/>
         <source>Search functions</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
+        <location line="+16"/>
         <source>Find duplicate URLs</source>
         <comment>Edit menu</comment>
         <translation>Trouver des URLS en double</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
-        <source>Note editor</source>
-        <comment>View action</comment>
+        <location line="+216"/>
+        <source>Note editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Heading editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+218"/>
+        <source>Images</source>
+        <translation type="unfinished">Images</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Tous</translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-1554"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+315"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+307"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+645"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+205"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Important</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Retour</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Regarde Ici</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Dangereux</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Indicateur</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Maison</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Téléphonne</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Musique</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Boite aux lettres</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Mot-de-passe</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Doit être amélioré</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Stop</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Magique</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Doit être discutté</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Aide mémoire</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Excellent</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Linux</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Adouci</translation>
+    </message>
+    <message>
+        <location line="+137"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+82"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+83"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4068"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-3533"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+46"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-73"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+28"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+77"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+616"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">Lien vers une autre carte cym</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
-        <source>Heading editor</source>
-        <comment>View action</comment>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
+        <location line="+840"/>
+        <source>Load vym script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
+        <location line="+106"/>
+        <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <source>Please allow vym to download release notes!</source>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <location line="+1086"/>
+        <source>Please allow vym to download release notes!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
+        <location line="+62"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
+        <location line="+1"/>
         <source>Do not allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
+        <location line="+5"/>
         <source>Thank you for enabling downloads!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Update information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
+        <location line="+4"/>
         <source>vym is up to date.</source>
         <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
+        <location line="+48"/>
         <source>Checking for updates...</source>
         <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="+30"/>
         <source>Please allow vym to check for updates!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Info</source>
-        <translation type="obsolete">Information</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
+        <location line="-5734"/>
         <source>Open all URLs in subtree (including scrolled branches)</source>
         <comment>Edit menu</comment>
         <translation>Ouvrir toutes les URL dans un sous arbre (y compris les branches enroulées)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
+        <location line="+17"/>
         <source>Extract URLs from note</source>
         <comment>Edit menu</comment>
         <translation>Extraire les URLs depuis la note</translation>
     </message>
     <message>
-        <source>Get data from Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Extraire les données depuis Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Get data from Novell Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Extraire les données dans un sous arbre depuis Novell Bugzilla</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
+        <location line="+308"/>
         <source>Add timestamp</source>
         <comment>Edit menu</comment>
         <translation>Ajouter hrodatage</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
+        <location line="-11"/>
         <source>Remove children</source>
         <comment>Edit menu</comment>
         <translation>Enlever la branche fille</translation>
     </message>
     <message>
-        <source>View shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Examiner raccourcis</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation>Barre d&apos;outils de zoom</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
+        <location line="+333"/>
         <source>Center on selection</source>
         <comment>View action</comment>
         <translation>Recentrer sur la sélection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
+        <location line="+1195"/>
         <source>Editors toolbar</source>
         <comment>Editor Toolbar name</comment>
         <translation>Barre d&apos;outils d&apos;édition</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
+        <location line="+12"/>
         <source>Modifier modes toolbar</source>
         <comment>Modifier Toolbar name</comment>
         <translation>Barre d&apos;outils des modes d&apos;action</translation>
     </message>
     <message>
-        <source>Modes</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Modes d&apos;action</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
+        <location line="-1161"/>
         <source>Tree editor</source>
         <comment>View action</comment>
         <translation>Éditeur arborescence</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
+        <location line="+9"/>
         <source>Task editor</source>
         <comment>View action</comment>
         <translation>Éditeur de Tâches</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
+        <location line="+11"/>
         <source>Slide editor</source>
         <comment>View action</comment>
         <translation>Éditeur de diapositive</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
+        <location line="+9"/>
         <source>Script editor</source>
         <comment>View action</comment>
         <translation>Éditeur de scripts</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
+        <location line="+62"/>
         <source>Next slide</source>
         <comment>View action</comment>
         <translation>Diapo suivante</translation>
     </message>
     <message>
-        <source>Next slide</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Diapo suivante</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
+        <location line="+7"/>
         <source>Previous slide</source>
         <comment>View action</comment>
         <translation>Diapo précédente</translation>
     </message>
     <message>
-        <source>Previous  slide</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Diapo précédente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation>Utiliser l&apos;URL avec Bugzilla</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
+        <location line="+1074"/>
         <source>Standard Flags toolbar</source>
         <comment>Standard Flag Toolbar</comment>
         <translation>Barre d&apos;outils standard des Imagettes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
+        <location line="-874"/>
         <source>Status - ok,done</source>
         <comment>Standardflag</comment>
         <translation>Status ok, réalisé</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
+        <location line="+4"/>
         <source>Status - work in progress</source>
         <comment>Standardflag</comment>
         <translation>Statut : en cours</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
+        <location line="+5"/>
         <source>Status - missing, not started</source>
         <comment>Standardflag</comment>
         <translation>Statut: absent, non démarré</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
+        <location line="+73"/>
         <source>Call...</source>
         <comment>Standardflag</comment>
         <translation>Appeler...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
+        <location line="-20"/>
         <source>Very important!</source>
         <comment>Standardflag</comment>
         <translation>Très important !</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
+        <location line="+5"/>
         <source>Very unimportant!</source>
         <comment>Standardflag</comment>
         <translation>Sans aucun intérêt !</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
+        <location line="+24"/>
         <source>Rose</source>
         <comment>Standardflag</comment>
         <translation>Rose</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
+        <location line="-3"/>
         <source>Surprise!</source>
         <comment>Standardflag</comment>
         <translation>Surprise !</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
+        <location line="-64"/>
         <source>Info</source>
         <comment>Standardflag</comment>
         <translation>Information</translation>
     </message>
     <message>
+        <location line="+1605"/>
         <source>Firefox Bookmarks</source>
-        <translation type="obsolete">Signets de Firefox</translation>
-    </message>
-    <message>
-        <source>F&amp;ormat</source>
-        <translation type="obsolete">F&amp;ormat</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <translation type="obsolete">Afficher l&apos;éditeur de note</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <translation type="obsolete">Afficher la fenêtre d&apos;historique</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation>Signets</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">N&apos;a pas pu démarrer %1 pour ouvrir un nouvel onglet</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">N&apos;a pas pu trouver la configuration pour exporter vers Open Office</translation>
+        <translation type="unfinished">Signets de Firefox</translation>
     </message>
     <message>
-        <source>No matches found for &quot;%1&quot;</source>
-        <translation type="obsolete">Pas de résultats pour &quot;% 1&quot;</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="971"/>
+        <location line="-3200"/>
         <source>&amp;New map</source>
         <comment>File menu</comment>
         <translation>&amp;Nouvelle Carte</translation>
     </message>
     <message>
-        <source>New map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Nouvelle carte    </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="978"/>
+        <location line="+9"/>
         <source>&amp;Copy to new map</source>
         <comment>File menu</comment>
         <translation>&amp;Copier vers une nouvelle carte</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="985"/>
+        <location line="+7"/>
         <source>&amp;Open...</source>
         <comment>File menu</comment>
         <translation>&amp;Ouvrir...</translation>
     </message>
     <message>
-        <source>Open</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Ouvrir</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
+        <location line="+16"/>
         <source>Open Recent</source>
         <comment>File menu</comment>
         <translation>Ouvrir un document récent</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
+        <location line="+3"/>
         <source>&amp;Save...</source>
         <comment>File menu</comment>
         <translation>Enregi&amp;strer...</translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Sauver</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
+        <location line="+9"/>
         <source>Save &amp;As...</source>
         <comment>File menu</comment>
         <translation>Enregistrer &amp;sous...</translation>
     </message>
     <message>
-        <source>Save &amp;As</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Sauver &amp;Comme</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
+        <location line="+11"/>
         <source>Import</source>
         <comment>File menu</comment>
         <translation>Importer</translation>
     </message>
     <message>
-        <source>Firefox Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Signets de Firefox</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importer la structure de répertoire (expérimental)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
+        <location line="+23"/>
         <source>Export</source>
         <comment>File menu</comment>
         <translation>Exporter</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
+        <location line="+56"/>
         <source>Image%1</source>
         <comment>File export menu</comment>
         <translation>Image%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
+        <location line="+5"/>
         <source>PDF%1</source>
         <comment>File export menu</comment>
         <translation>PDF%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
+        <location line="+5"/>
         <source>SVG%1</source>
         <comment>File export menu</comment>
         <translation>SVG%1</translation>
     </message>
     <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exporter en Open Document Format utilisé par Open Office</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
+        <location line="-63"/>
         <source>Repeat last export (%1)</source>
         <translation>Repeter le dernier export (%1)</translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Signets KDE</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Imprimer</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
+        <location line="+118"/>
         <source>&amp;Close Map</source>
         <comment>File menu</comment>
         <translation>Fermer la &amp;carte</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
+        <location line="+7"/>
         <source>E&amp;xit</source>
         <comment>File menu</comment>
         <translation>&amp;Quitter</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Éditer</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
+        <location line="+26"/>
         <source>&amp;Undo</source>
         <comment>Edit menu</comment>
         <translation>Ann&amp;uler action</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
+        <location line="+11"/>
         <source>&amp;Redo</source>
         <comment>Edit menu</comment>
         <translation>&amp;Refaire</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
+        <location line="+11"/>
         <source>&amp;Copy</source>
         <comment>Edit menu</comment>
         <translation>&amp;Copier</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
+        <location line="+11"/>
         <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
         <translation>Cou&amp;per</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
+        <location line="+13"/>
         <source>&amp;Paste</source>
         <comment>Edit menu</comment>
         <translation>Co&amp;ller</translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Éditer l&apos;en-tête</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
+        <location line="+13"/>
+        <location line="+10"/>
         <source>Delete Selection</source>
         <comment>Edit menu</comment>
         <translation>Effacer la sélection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
+        <location line="+22"/>
         <source>Add mapcenter</source>
         <comment>Canvas context menu</comment>
         <translation>Ajouter un nouveau centre de carte</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
+        <location line="+11"/>
         <source>Add branch as child</source>
         <comment>Edit menu</comment>
         <translation>Ajouter une branche fille</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
+        <location line="+9"/>
         <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
         <translation>Ajouter une branche (insérer)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
+        <location line="+10"/>
+        <location line="+10"/>
         <source>Add branch above</source>
         <comment>Edit menu</comment>
         <translation>Ajouter une branche au-dessus</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
+        <location line="+10"/>
+        <location line="+9"/>
         <source>Add branch below</source>
         <comment>Edit menu</comment>
         <translation>Ajouter une branche au-dessous</translation>
     </message>
     <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Monter</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Descendre</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
+        <location line="+70"/>
         <source>Sort children</source>
         <comment>Edit menu</comment>
         <translation>Tri des branches filles</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
+        <location line="+21"/>
         <source>Scroll branch</source>
         <comment>Edit menu</comment>
         <translation>Enrouler la branche</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
+        <location line="+544"/>
+        <location line="+8"/>
         <source>Find...</source>
         <comment>Edit menu</comment>
         <translation>Rechercher...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
+        <location line="-462"/>
         <source>Open URL</source>
         <comment>Edit menu</comment>
         <translation>Ouvrir une URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="124"/>
+        <location line="-1502"/>
         <source>Main window</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
-        <translation>Éditeur de script</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="314"/>
+        <location line="+203"/>
         <source>Task list</source>
         <comment>TaskEditor</comment>
         <translation>Liste des Tâches</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
+        <location line="-51"/>
         <source>Script Editor</source>
         <comment>ScriptEditor</comment>
         <translation>Éditeur de script</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
+        <location line="+13"/>
         <source>Property Editor</source>
         <comment>PropertyEditor</comment>
         <translation>Éditeur des propriétés</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="287"/>
+        <location line="+8"/>
         <source>History window</source>
         <comment>HistoryWidget</comment>
         <translation>Historique</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="218"/>
+        <location line="-70"/>
         <source>Main window</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="219"/>
+        <location line="+1"/>
         <source>Map Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="220"/>
+        <location line="+1"/>
         <source>Text Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="967"/>
+        <location line="+830"/>
         <source>&amp;Map</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished">&amp;Carte</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="992"/>
+        <location line="+28"/>
         <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">&amp;Restaurer la dernière session</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
+        <location line="+25"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
         <source>Webpage (HTML)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
+        <location line="+21"/>
         <source>Text (ASCII)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
+        <location line="+12"/>
         <source>Text with tasks</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
+        <location line="+450"/>
         <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
         <translation>Ouvrir l&apos;URL dans un nouvel onglet   </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
+        <location line="+18"/>
         <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
         <translation>Ouvrir toutes les URL dans un sous arbre</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
+        <location line="+17"/>
         <source>Edit URL...</source>
         <comment>Edit menu</comment>
         <translation>Editer l&apos;URL...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
+        <location line="+9"/>
         <source>Edit local URL...</source>
         <comment>Edit menu</comment>
         <translation>Editer l&apos;URL locale...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
+        <location line="+9"/>
         <source>Use heading for URL</source>
         <comment>Edit menu</comment>
         <translation>Utiliser l&apos;en-tête comme URL</translation>
     </message>
     <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Créer une URL vers Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Créer une URL vers Novell FATE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
+        <location line="+33"/>
         <source>Open linked map</source>
         <comment>Edit menu</comment>
         <translation>Ouvrir la carte liée</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
+        <location line="+10"/>
         <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation>Ouvrir la carte liée dans un onglet d&apos;arrière plan</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
+        <location line="+7"/>
         <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
         <translation>Ouvrir tous les liens vym dans un sous-arbre</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
+        <location line="+9"/>
         <source>Edit vym link...</source>
         <comment>Edit menu</comment>
         <translation>Editer un lien vym...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
+        <location line="+9"/>
         <source>Delete vym link</source>
         <comment>Edit menu</comment>
         <translation>Effacer le lien vym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
+        <location line="+9"/>
         <source>Hide in exports</source>
         <comment>Edit menu</comment>
         <translation>Cacher dans l&apos;export</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
+        <location line="+12"/>
         <source>Toggle task</source>
         <comment>Edit menu</comment>
         <translation>Changer le statut d&apos;une Tâche</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
+        <location line="+12"/>
         <source>Cycle task status</source>
         <comment>Edit menu</comment>
         <translation>Statut de la tâche (cyclique)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
+        <location line="+21"/>
         <source>Reset sleep</source>
         <comment>Task sleep</comment>
         <translation>Réinitialiser la durée de repos</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Sleep %1 days</source>
         <comment>Task sleep</comment>
         <translation>Mettre au repos pendant : %1 jour(s)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
+        <location line="-55"/>
         <source>Sleep %1 day</source>
         <comment>Task sleep</comment>
         <translation>Mettre au repos pendant : %1 jour</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
+        <location line="+66"/>
+        <location line="+11"/>
         <source>Sleep %1 weeks</source>
         <comment>Task sleep</comment>
         <translation>Mettre au repos pendant :%1 semaine(s)</translation>
     </message>
     <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Editer les propriétés de la carte...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
+        <location line="+12"/>
         <source>Add map (insert)</source>
         <comment>Edit menu</comment>
         <translation>Ajouter une carte (insérer)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
+        <location line="+7"/>
         <source>Add map (replace)</source>
         <comment>Edit menu</comment>
         <translation>Ajouter une carte (remplacer)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
+        <location line="+7"/>
         <source>Save selection</source>
         <comment>Edit menu</comment>
         <translation>Enregister la sélection</translation>
     </message>
     <message>
-        <source>Remove only branch </source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Enlever seulement la branche</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Enlever les enfants</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Sélectionner la branche supérieure</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Sélectionner la branche inférieure</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Sélectionner la branche de gauche</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Sélectionner la branche fille</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Sélectionner la première branche</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Sélectionner la dernière branche</translation>
-    </message>
-    <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Ajouter une Image...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
+        <location line="+57"/>
         <source>Property window</source>
         <comment>Dialog to edit properties of selection</comment>
         <translation>Propriétés</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
+        <location line="+16"/>
         <source>Select</source>
         <comment>Select menu</comment>
         <translation>Sélection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
+        <location line="+61"/>
         <source>Unselect all</source>
         <comment>Edit menu</comment>
         <translation>Tout désélectionner</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
+        <location line="+35"/>
         <source>F&amp;ormat</source>
         <comment>Format menu</comment>
         <translation>F&amp;ormater</translation>
     </message>
     <message>
-        <source>Format shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Raccourcis pour formattage</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
+        <location line="+7"/>
         <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
         <translation>Choisir la &amp;couleur</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
+        <location line="+10"/>
         <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
         <translation>Colorier la &amp;branche</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
+        <location line="+10"/>
         <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
         <translation>Colorier le sous-&amp;arbre</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
+        <location line="+11"/>
         <source>Select default font</source>
         <comment>Branch attribute</comment>
         <translation>Sélectionner la fonte par défaut</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
+        <location line="+18"/>
         <source>Linkstyle Curve</source>
         <translation>Style du lien : courbe</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Curve</source>
         <translation>Style du lien : courbe élargie</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
+        <location line="+10"/>
         <source>Hide link if object is not selected</source>
         <comment>Branch attribute</comment>
         <translation>Cacher le lien si l&apos;objet n&apos;est pas sélectionné</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
+        <location line="+6"/>
         <source>&amp;Use color of heading for link</source>
         <comment>Branch attribute</comment>
         <translation>&amp;Utiliser la couleur de l&apos;en-tête pour le lien</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
+        <location line="+9"/>
         <source>Set &amp;Link Color</source>
         <translation>Définir la couleur du &amp;Lien</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
+        <location line="+5"/>
         <source>Set &amp;Selection Color</source>
         <translation>Définir la couleur de la &amp;Sélection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
+        <location line="+10"/>
         <source>Set &amp;Background image</source>
         <translation>Définit l&apos;&amp;Image de fond</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
+        <location line="+11"/>
         <source>Toolbars</source>
         <comment>Toolbars overview in view menu</comment>
         <translation>Barre d&apos;outils</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
+        <location line="+1"/>
         <source>Views</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
+        <location line="+35"/>
         <source>Rotate counterclockwise</source>
         <comment>View action</comment>
         <translation>Rotation antihoraire</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
+        <location line="+9"/>
         <source>Rotate rclockwise</source>
         <comment>View action</comment>
         <translation>Rotation horaire</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
+        <location line="+9"/>
         <source>reset Zoom</source>
         <comment>View action</comment>
         <translation>Annuler Zoom</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
+        <location line="-37"/>
         <source>Zoom in</source>
         <comment>View action</comment>
         <translation>Zoom avant</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
+        <location line="+9"/>
         <source>Zoom out</source>
         <comment>View action</comment>
         <translation>Zoom arrière</translation>
     </message>
     <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Afficher l&apos;éditeur de note</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
+        <location line="+129"/>
         <source>History Window</source>
         <comment>View action</comment>
         <translation>Historique</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
+        <location line="+14"/>
         <source>Antialiasing</source>
         <comment>View action</comment>
         <translation>Anti-aliasing</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
+        <location line="+7"/>
         <source>Smooth pixmap transformations</source>
         <comment>View action</comment>
         <translation>Transforme pixels Image : adoucissement</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
+        <location line="+10"/>
         <source>Next Map</source>
         <comment>View action</comment>
-        <translation>Prochaine Carte</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
-        <source>Previous Map</source>
-        <comment>View action</comment>
-        <translation>Carte précédente</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="obsolete">Modes pendant l&apos;utilisation de modificateurs</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>Utiliser le modificateur pour copier</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <comment>Mode modifier</comment>
-        <translation type="obsolete">Utoiliser le modificateur pour copier</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
-        <source>Use modifier to draw xLinks</source>
-        <comment>Mode modifier</comment>
-        <translation>Utiliser le modificateur pour tracer le XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
-        <source>Note</source>
-        <comment>SystemFlag</comment>
-        <translation>Note</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>URL vers Document</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
-        <source>Map target</source>
-        <comment>SystemFlag</comment>
-        <translation>Carte Cible</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
-        <source>Link to another vym map</source>
-        <comment>SystemFlag</comment>
-        <translation>Lien vers une autre carte cym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
-        <source>subtree is scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>La sous-branche est enroulée</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
-        <source>subtree is temporary scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>la sous-branche est provisoirement enroulée</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
-        <source>Hide object in exported maps</source>
-        <comment>SystemFlag</comment>
-        <translation>Cacher les objets dans les cartes exportées</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
-        <source>I just love...</source>
-        <comment>Standardflag</comment>
-        <translation>J&apos;aime un peu...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Important</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Priorité</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Retour</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Regarde Ici</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Dangereux</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Indicateur</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Maison</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Téléphonne</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Musique</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Boite aux lettres</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Maix</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Mot-de-passe</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Doit être amélioré</translation>
+        <translation>Prochaine Carte</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Stop</translation>
+        <location line="+7"/>
+        <source>Previous Map</source>
+        <comment>View action</comment>
+        <translation>Carte précédente</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Magique</translation>
+        <location line="+82"/>
+        <source>Use modifier to draw xLinks</source>
+        <comment>Mode modifier</comment>
+        <translation>Utiliser le modificateur pour tracer le XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Doit être discutté</translation>
+        <location line="+71"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <source>Note</source>
+        <comment>SystemFlag</comment>
+        <translation>Note</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Aide mémoire</translation>
+        <location line="+6"/>
+        <source>Map target</source>
+        <comment>SystemFlag</comment>
+        <translation>Carte Cible</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Excellent</translation>
+        <location line="+3"/>
+        <source>Link to another vym map</source>
+        <comment>SystemFlag</comment>
+        <translation>Lien vers une autre carte cym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
+        <location line="+3"/>
+        <source>subtree is scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>La sous-branche est enroulée</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Adouci</translation>
+        <location line="+4"/>
+        <source>subtree is temporary scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>la sous-branche est provisoirement enroulée</translation>
     </message>
     <message>
-        <source>Flags toolbar</source>
-        <translation type="vanished">Barre d&apos;outil des Imagettes</translation>
+        <location line="+3"/>
+        <source>Hide object in exported maps</source>
+        <comment>SystemFlag</comment>
+        <translation>Cacher les objets dans les cartes exportées</translation>
     </message>
     <message>
-        <source>Network shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Raccourci d&apos;adresse réseau</translation>
+        <location line="+42"/>
+        <source>I just love...</source>
+        <comment>Standardflag</comment>
+        <translation>J&apos;aime un peu...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
+        <location line="+258"/>
         <source>Settings</source>
         <translation>Paramètres</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
+        <location line="+5"/>
         <source>Check for release notes and updates</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
+        <location line="+14"/>
         <source>Set application to open pdf files</source>
         <comment>Settings action</comment>
         <translation>Définir une application pour ouvrir les fichiers PDF</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
+        <location line="+7"/>
         <source>Set application to open external links</source>
         <comment>Settings action</comment>
         <translation>Définir une application pour ouvrir les liens externes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
+        <location line="+6"/>
         <source>Set application to zip/unzip files</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
+        <location line="+22"/>
         <source>Set path for macros</source>
         <comment>Settings action</comment>
         <translation>Définir le répertoire des macros</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
+        <location line="+4"/>
         <source>Set number of undo levels</source>
         <comment>Settings action</comment>
         <translation>Définir le nombre d&apos;annulations possibles</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
+        <location line="+7"/>
         <source>Autosave</source>
         <comment>Settings action</comment>
         <translation>Sauvegarde automatique</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
+        <location line="+6"/>
         <source>Autosave time</source>
         <comment>Settings action</comment>
         <translation>Intervalle de sauvegarde automatique</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
+        <location line="+12"/>
         <source>Write backup file on save</source>
         <comment>Settings action</comment>
         <translation>Enregistrer la version précédente avant sauvegarde</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Modifier une branche après son ajout</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
+        <location line="+10"/>
         <source>Select branch after adding it</source>
         <comment>Settings action</comment>
         <translation>Sélectionner une branche après son ajout</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
+        <location line="+9"/>
         <source>Select existing heading</source>
         <comment>Settings action</comment>
         <translation>Sélectionner un en-tête existant</translation>
     </message>
     <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Touche suppr</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
+        <location line="+7"/>
         <source>Exclusive flags</source>
         <comment>Settings action</comment>
         <translation>Imagettes exclusives</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
+        <location line="+7"/>
         <source>Use hide flags</source>
         <comment>Settings action</comment>
         <translation>Utiliser l&apos;imagette : cacher</translation>
     </message>
     <message>
-        <source>Task editor: Set number of parents</source>
-        <comment>Settings action</comment>
-        <translation type="vanished">Edteur de taches : fixer le nombre de parents</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
+        <location line="+32"/>
         <source>Animation</source>
         <comment>Settings action</comment>
         <translation>Animation</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
+        <location line="+7"/>
         <source>Automatic layout</source>
         <comment>Settings action</comment>
         <translation>Disposition automatique</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
+        <location line="+11"/>
         <source>Test</source>
         <translation>Test</translation>
     </message>
     <message>
-        <source>Test shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Test des raccourcis</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
+        <location line="+28"/>
         <source>&amp;Help</source>
         <comment>Help menubar entry</comment>
         <translation>&amp;Aide</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
+        <location line="+3"/>
         <source>Open VYM Documentation (pdf) </source>
         <comment>Help action</comment>
         <translation>Ouvrir la documentation VYM (pdf) </translation>
     </message>
     <message>
-        <source>Help shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Raccourci d&apos;aide</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
+        <location line="+4"/>
         <source>Open VYM example maps </source>
         <comment>Help action</comment>
         <translation>Ouvrir des exemples de carte VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
+        <location line="+5"/>
         <source>Download and show release notes</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
+        <location line="+4"/>
         <source>Check, if updates are available</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
+        <location line="+5"/>
         <source>Show keyboard shortcuts</source>
         <comment>Help action</comment>
         <translation>Afficher les touches de raccourci</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
+        <location line="+20"/>
         <source>About VYM</source>
         <comment>Help action</comment>
         <translation>À propos de VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
+        <location line="-4"/>
         <source>About QT</source>
         <comment>Help action</comment>
         <translation>À propos de QT</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
-        <source>Remove</source>
-        <comment>Context menu name</comment>
-        <translation>Enlever</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
-        <source>Tasks</source>
-        <comment>Context menu</comment>
-        <translation>Tâches</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
-        <source>References (URLs, vymLinks, ...)</source>
-        <comment>Context menu name</comment>
-        <translation>Références (URLs, vymLinks, ...)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
-        <source>XLinks</source>
-        <comment>Menu for file actions</comment>
+        <location line="-2870"/>
+        <source>Script output window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
-        <source>Edit XLink</source>
-        <comment>Context menu name</comment>
-        <translation>Editer l&apos;XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
-        <source>Follow XLink</source>
-        <comment>Context menu</comment>
-        <translation>Suivre l&apos;XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
-        <source>Follow XLink</source>
-        <comment>Context menu name</comment>
-        <translation>Suivre l&apos;XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
-        <source>Save image</source>
-        <comment>Context action</comment>
-        <translation>Enregistrer l&apos;image</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
-        <source>Undo and clipboard toolbar</source>
-        <comment>Toolbar for redo/undo and clipboard</comment>
-        <translation>Barre des outils : annulation action et presse-papiers</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
-        <source>Selection toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation>Barre d&apos;outils de sélection</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
-        <source>URLs and vymLinks toolbar</source>
-        <comment>Toolbar for URLs and vymlinks</comment>
-        <translation>Barre outils de manipulation URL et vymLinks</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
-        <source>Colors toolbar</source>
-        <comment>Colors toolbar name</comment>
-        <translation>Barre d&apos;outils couleurs</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
-        <source>Loading: %1</source>
-        <comment>Progress dialog while loading maps</comment>
-        <translation>Chargement: %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
-        <source>or</source>
-        <comment>File Dialog</comment>
-        <translation>ou</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
-        <source>Save map as</source>
-        <translation>Enregistrer la carte sous</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation>Charger la carte Freemind</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <source>Export as CSV</source>
-        <translation>Exporter en format CSV</translation>
-    </message>
-    <message>
-        <source>Export as org-mode</source>
-        <translation type="obsolete">Exporter en format org-mode</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
-        <source>Enter URL:</source>
-        <translation>Entrer l&apos;URL:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
-        <translation>HTML</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation>Texte</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation>Feuille de calcul</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation>Document texte</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation>Images</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
-        <source>Set URL to a local file</source>
-        <translation>Définir l&apos;URL d&apos;un fichier local</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation>Lien vers une autre carte</translation>
-    </message>
-    <message>
-        <source>Task</source>
-        <comment>Task dialog</comment>
-        <translation type="obsolete">Tâches</translation>
-    </message>
-    <message>
-        <source>Task sleep (days):</source>
-        <comment>Task dialog</comment>
-        <translation type="obsolete">Tâche au repos pendant (jours):</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation>Répertoire contenant les macros vym:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
-        <source>Number of undo/redo levels:</source>
-        <translation>Nombre possible d&apos;actions annuler/refaire :</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
-        <translation>Les paramètres ont été changés. La prochaine carte ouverte permettra &quot;%1&quot; niveaux d&apos;actions annuler/refaire</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
-        <source>Number of seconds before autosave:</source>
-        <translation>Nombre de secondes avant sauvegarde automatique:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
-        <source>Number of parents shown for a task:</source>
-        <translation>Nombre de parents affichés pour une tache:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
-        <source>History for %1</source>
-        <comment>Window Caption</comment>
-        <translation>Historique de %1</translation>
+        <location line="+852"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
-        <translation>Documentation %1 introuvable dans:
-%2</translation>
+        <location line="+22"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
-        <source>Load vym example map</source>
-        <translation>Charger l&apos;exemple de carte vym</translation>
+        <location line="+21"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="obsolete">N&apos;as pas pu trouver une macro dans %1.</translation>
+        <location line="+44"/>
+        <source>CSV...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set directory for vym macros</source>
-        <translation type="obsolete">Choisir le répertoire des macros vym</translation>
+        <location line="+486"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>MapEditor</name>
     <message>
-        <source>Critical Parse Error</source>
-        <translation type="obsolete">Erreur critique d&apos;analyse syntaxique</translation>
+        <location line="+277"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Écraser</translation>
+        <location line="+56"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Annuler</translation>
+        <location line="+194"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Export Error</source>
-        <translation type="obsolete">Erreur critique d&apos;exportation</translation>
+        <location line="+64"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Parse Error by reading backupFile</source>
-        <translation type="obsolete">Erreur critique d&apos;analyse syntaxique en lisant le fichier de sauvegarde</translation>
+        <location line="+74"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Erreur critique</translation>
+        <location line="+598"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Entrer l&apos;URL:</translation>
+        <location line="+170"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>vym map</source>
-        <translation type="obsolete">schéma VYM</translation>
+        <location line="+46"/>
+        <source>Remove</source>
+        <comment>Context menu name</comment>
+        <translation>Enlever</translation>
     </message>
     <message>
-        <source>Images</source>
-        <translation type="obsolete">Images</translation>
+        <location line="+18"/>
+        <source>Tasks</source>
+        <comment>Context menu</comment>
+        <translation>Tâches</translation>
     </message>
     <message>
-        <source>vym - save image as</source>
-        <translation type="obsolete">VYM - Sauver l&apos;image comme</translation>
+        <location line="+20"/>
+        <source>References (URLs, vymLinks, ...)</source>
+        <comment>Context menu name</comment>
+        <translation>Références (URLs, vymLinks, ...)</translation>
     </message>
     <message>
-        <source>Critical Import Error</source>
-        <translation type="obsolete">Erreur critique d&apos;importation</translation>
+        <location line="+20"/>
+        <source>XLinks</source>
+        <comment>Menu for file actions</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New Map</source>
-        <comment>Heading of mapcenter in new map</comment>
-        <translation type="obsolete">Nouveau schéma</translation>
+        <location line="+3"/>
+        <source>Edit XLink</source>
+        <comment>Context menu name</comment>
+        <translation>Editer l&apos;XLink</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Le fichier %1 existe déjà.
-Voulez-vous l&apos;écraser?</translation>
+        <location line="+4"/>
+        <source>Follow XLink</source>
+        <comment>Context menu</comment>
+        <translation>Suivre l&apos;XLink</translation>
     </message>
     <message>
-        <source>MapEditor::exportXML couldn&apos;t open %1</source>
-        <translation type="obsolete">MapEditor::exportXML n&apos;a pas pu ouvrir %1</translation>
+        <location line="+7"/>
+        <source>Follow XLink</source>
+        <comment>Context menu name</comment>
+        <translation>Suivre l&apos;XLink</translation>
     </message>
     <message>
-        <source>Temporary directory %1 used for undo is gone. 
-I will create a new one, but at the moment no undo is available.
-Maybe you want to reload your original data.
-
-Sorry for any inconveniences.</source>
-        <translation type="obsolete">Le répertoire temporaire %1 utilisé pour la fonction &quot;défaire&quot; a disparu.
-Je vais en créer un nouveau, mais pour le moment la fonction &quot;défaire&quot; n&apos;est plus disponible.
-Peut-être voulez-vous recharger vos données originales.
-
-Désolé pour le dérangement.</translation>
+        <location line="+6"/>
+        <source>Save image</source>
+        <comment>Context action</comment>
+        <translation>Enregistrer l&apos;image</translation>
     </message>
     <message>
-        <source>Cannot find the directory %1</source>
-        <translation type="obsolete">Ne peut ouvrir le répertoire %1</translation>
+        <location line="+117"/>
+        <source>Undo and clipboard toolbar</source>
+        <comment>Toolbar for redo/undo and clipboard</comment>
+        <translation>Barre des outils : annulation action et presse-papiers</translation>
     </message>
     <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Lien vers un autre schéma</translation>
+        <location line="+29"/>
+        <source>Selection toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation>Barre d&apos;outils de sélection</translation>
     </message>
     <message>
-        <source>Load image</source>
-        <translation type="obsolete">Charger une image</translation>
+        <location line="+9"/>
+        <source>URLs and vymLinks toolbar</source>
+        <comment>Toolbar for URLs and vymlinks</comment>
+        <translation>Barre outils de manipulation URL et vymLinks</translation>
     </message>
     <message>
-        <source>Save image as %1</source>
-        <translation type="obsolete">Sauver l&apos;image comme %1</translation>
+        <location line="+6"/>
+        <source>Colors toolbar</source>
+        <comment>Colors toolbar name</comment>
+        <translation>Barre d&apos;outils couleurs</translation>
     </message>
     <message>
-        <source>Choose directory structure to import</source>
-        <translation type="obsolete">Choisir la structure de répertoire à importer</translation>
+        <location line="+27"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>unnamed</source>
-        <translation type="obsolete">sans nom</translation>
+        <location line="+21"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Warning</source>
-        <translation type="obsolete">Avertissement</translation>
+        <location line="+394"/>
+        <source>Loading: %1</source>
+        <comment>Progress dialog while loading maps</comment>
+        <translation>Chargement: %1</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation type="obsolete">N&apos;a pas pu trouver le script %1
-pour notifier le changement de signets aux navigateurs.</translation>
+        <location line="+60"/>
+        <source>or</source>
+        <comment>File Dialog</comment>
+        <translation>ou</translation>
     </message>
     <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Erreur grave de chargement</translation>
+        <location line="+143"/>
+        <source>Save map as</source>
+        <translation>Enregistrer la carte sous</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">Incapable de trouver une carte (*.xml) dans une archive .vym.
-</translation>
+        <location line="+195"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">La carte %1
-n&apos;utilise pas le format compressé de vym.
-Si on l&apos;écrit  non compressée, on va écrire les images et les indicateurs
-et pourra écraser des fichiers dans le répertoire
-Voulez vous écrire la carte </translation>
+        <location line="+118"/>
+        <source>Export as CSV</source>
+        <translation>Exporter en format CSV</translation>
     </message>
     <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">compressé (défaut VYM)</translation>
+        <location line="+324"/>
+        <source>Enter URL:</source>
+        <translation>Entrer l&apos;URL:</translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">décompressé</translation>
+        <location line="+23"/>
+        <source>HTML</source>
+        <comment>Filedialog</comment>
+        <translation>HTML</translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Sauver l&apos;erreur</translation>
+        <location line="+1"/>
+        <source>Text</source>
+        <comment>Filedialog</comment>
+        <translation>Texte</translation>
     </message>
     <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Exporter le XML vers le répertoire</translation>
+        <location line="+1"/>
+        <source>Spreadsheet</source>
+        <comment>Filedialog</comment>
+        <translation>Feuille de calcul</translation>
     </message>
     <message>
-        <source>Could not read %1</source>
-        <translation type="obsolete">N&apos;a pas pu lire %1</translation>
+        <location line="+1"/>
+        <source>Textdocument</source>
+        <comment>Filedialog</comment>
+        <translation>Document texte</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Images</source>
         <comment>Filedialog</comment>
-        <translation type="obsolete">Images</translation>
+        <translation>Images</translation>
     </message>
     <message>
-        <source>Save image</source>
-        <translation type="obsolete">Sauver l&apos;image</translation>
+        <location line="+4"/>
+        <source>Set URL to a local file</source>
+        <translation>Définir l&apos;URL d&apos;un fichier local</translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="43"/>
-        <source>Map Editor</source>
-        <comment>Shortcut scope</comment>
+        <location line="+1031"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Sélection précédente</translation>
+        <location line="+174"/>
+        <source>Number of undo/redo levels:</source>
+        <translation>Nombre possible d&apos;actions annuler/refaire :</translation>
     </message>
     <message>
-        <source>Select next</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Sélection suivante</translation>
+        <location line="+5"/>
+        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <translation>Les paramètres ont été changés. La prochaine carte ouverte permettra &quot;%1&quot; niveaux d&apos;actions annuler/refaire</translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
-        <source>Edit heading</source>
-        <comment>MapEditor</comment>
-        <translation>Éditer l&apos;en-tête</translation>
+        <location line="+40"/>
+        <source>Number of seconds before autosave:</source>
+        <translation>Nombre de secondes avant sauvegarde automatique:</translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>MapEditor</comment>
-        <translation type="vanished">Sauvegarder</translation>
+        <location line="+67"/>
+        <source>Number of parents shown for a task:</source>
+        <translation>Nombre de parents affichés pour une tache:</translation>
     </message>
     <message>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Cou&amp;per</translation>
+        <location line="+453"/>
+        <source>History for %1</source>
+        <comment>Window Caption</comment>
+        <translation>Historique de %1</translation>
     </message>
     <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Copier</translation>
+        <location line="+464"/>
+        <source>Couldn&apos;t find the documentation %1 in:
+%2</source>
+        <translation>Documentation %1 introuvable dans:
+%2</translation>
     </message>
     <message>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Co&amp;ller</translation>
+        <location line="+31"/>
+        <source>Load vym example map</source>
+        <translation>Charger l&apos;exemple de carte vym</translation>
     </message>
+</context>
+<context>
+    <name>MapEditor</name>
     <message>
-        <source>Repeat last export (%1)</source>
-        <translation type="obsolete">Repeter le dernier export (%1)</translation>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
+        <source>Map Editor</source>
+        <comment>Shortcut scope</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+80"/>
+        <location line="+5"/>
+        <source>Edit heading</source>
+        <comment>MapEditor</comment>
+        <translation>Éditer l&apos;en-tête</translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="510"/>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
         <translation>Imprimer la carte vym</translation>
     </message>
+    <message>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation>Éditeur de note</translation>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished">Éditeur de note</translation>
     </message>
 </context>
 <context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="vanished">Erreur Critique</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="vanished">Echec lancement %1</translation>
-    </message>
+    <name>QObject</name>
     <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="vanished">%1 ne s&apos;est pas terminé normalement</translation>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QObject</name>
     <message>
-        <source>This is not an image.</source>
-        <translation type="obsolete">Ce n&apos;est pas une image.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>Erreur Critique d&apos;Exportation</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation>Echec écriture %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location filename="../src/export-base.cpp" line="+124"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation>Exporter %1 écrasera le fichier suivant : %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation>Attention : Ecrasement du fichier</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
         <source>Could not export as ASCII to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-8"/>
         <source>Export as CSV</source>
         <translation>Exporter en format CSV</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation>Contenu:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation>Echec de l&apos;export.</translation>
     </message>
     <message>
-        <source>Warning</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Avertissement</translation>
-    </message>
-    <message>
-        <source>Trying to load stylesheet:</source>
-        <translation type="obsolete">Essai de chargement de la feuille de style:</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">N&apos;a pas pu ouvrir %1</translation>
-    </message>
-    <message>
-        <source>Trying to save stylesheet:</source>
-        <translation type="obsolete">Essai de sauvegarde de la feuille de style:</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">N&apos;a pas pu ouvrir %1</translation>
-    </message>
-    <message>
-        <source>Trying to load small icon for URLs:</source>
-        <translation type="obsolete">Essai de chargement d&apos;icone de petite taille pour les URLs:</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation>Essai de création du répertoire des Imagettes:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation>Echec création %1</translation>
     </message>
     <message>
-        <source>Trying to save small icon for URLs:</source>
-        <translation type="obsolete">Essai de sauvegarde d&apos;une petite icone pour les URLs:</translation>
+        <location line="-369"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="+189"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation>Critique</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location line="-98"/>
         <source>Could not find stylesheet %1</source>
         <translation>La feuille de style %1 est introuvable</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation>Erreur</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -4262,231 +3070,193 @@ Voulez vous écrire la carte </translation>
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation>Echec copie %1 sur %2</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation>Essai de sauvegarde du fichier HTML:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>Echec de l&apos;export.</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation>Pas d&apos;objet dans la carte!</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation>Pas de paramètre trouvé dans &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>Vérifier &quot;%1&quot; in
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>Echec lecture %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>Erreur critique</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation>Le fichier déjà existant n&apos;as pu être déplacé ailleurs avant la sauvegarde.</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>Echec du lancement de zip pour compresser les données.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>zip ne s&apos;est pas terminé normalement</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation>Ne peux renommer  %1 vers %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation>%1 sauvegardé, mais ne peux effacer %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>Echec lancement unzip pour décompresser les données.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>unzip ne s&apos;est pas terminé normalement</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation>Echec lancement %1</translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 ne s&apos;est pas terminé normalement</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Le fichier %1 existe déjà.
-Voulez-vous l&apos;écraser?</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="90"/>
+        <location line="-389"/>
         <source>Overwrite</source>
         <translation>Écraser</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="91"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Annuler</translation>
     </message>
     <message>
-        <source>Sorry, no preview for
-multiple selected files.</source>
-        <translation type="obsolete">Navré, pas de prévisualisation
-pour plusieurs fichiers sélectionnés.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>Exporter les signets %1 va écraser
-votre fichier de signets existant.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>Attention : Ecrasement des signets %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>Attention</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>N&apos;a pas pu trouver le script %1
-pour avertir les navigateurs de la mise à jour des signets.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>Erreur</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>Ne peux accéder au répertoire temporaire</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation>Exporter en ASCII</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation>(toujours expérimental)</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -4494,179 +3264,208 @@ Do you risk to overwrite its contents?</source>
 Acceptez-vous l&apos;écrasement éventuel de son contenu ?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation>Attention : problème de version</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <translation>&lt;h3&gt;La Carte est d&apos;une version plus récente que VYM&lt;/h3&gt;&lt;p&gt;La carte que vous essayez de charger a été sauvée en utilisant vym %1. La version présente de vym est %2. Si vous rencontrez des erreurs en validant le bouton OK, mettre à jour vym devrait vous aider.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
 </source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Pas de client Bugzilla trouvé. Pour openSUSE vous pouvez l&apos;installer en tapant (en root):</translation>
+        <comment>Macros::pathExists</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Autre solution : vous pouvez ajouter le dépot et
-installer le module perl pour accéder à Bugzilla grace à YaST</translation>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>SVP, utilisez le menu Paramètres -&gt;</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
-        <translation>Attention: client Bugzilla introuvable</translation>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
+        <translation>Définir le répertoire des macros vym</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Éditeur de note</translation>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Heading Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Éditeur d&apos;en-tête</translation>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
  </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
+        <location line="+62"/>
+        <location line="+15"/>
         <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation>Echec ouverture &quot;%1&quot;
-%2.</translation>
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
-        <translation>Attention : problème de version</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
-        <translation>&lt;h3&gt;La Carte est d&apos;une version plus récente que VYM&lt;/h3&gt;&lt;p&gt;La carte que vous essayez de charger a été sauvée en utilisant vym %1. La version présente de vym est %2. Si vous rencontrez des erreurs en validant le bouton OK, mettre à jour vym devrait vous aider.&lt;/p&gt;</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation>Macro introuvable dans %1.</translation>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
-        <translation>SVP, utilisez le menu Paramètres -&gt;</translation>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
-        <translation>Définir le répertoire des macros vym</translation>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
-        <translation>Echec sauvegarde &quot;%1&quot;</translation>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="-3021"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
         <source>Form</source>
-        <translation>Forme</translation>
+        <translation type="vanished">Forme</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
-        <translation>Onglet 1</translation>
+        <source>Reload</source>
+        <translation type="obsolete">Recharger</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
         <source>Save to selected slide</source>
-        <translation>Sauvegarder dans la diapo sélectionnée</translation>
+        <translation type="vanished">Sauvegarder dans la diapo sélectionnée</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
         <source>Run</source>
-        <translation>Lancer</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
-        <translation>Onglet 2</translation>
+        <translation type="vanished">Lancer</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
-        <translation>Touche courante:</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="131"/>
         <source>Load</source>
-        <translation>Charger</translation>
+        <translation type="vanished">Charger</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
         <source>Save</source>
-        <translation>Sauvegarder</translation>
-    </message>
-    <message>
-        <source>Save slide</source>
-        <translation type="obsolete">Enregister la diapositive en cours</translation>
+        <translation type="vanished">Sauvegarder</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation>Attention</translation>
     </message>
     <message>
-        <source>Couldn&apos;t save script into slide!</source>
-        <translation type="obsolete">Impossible de sauvegarder le script dans la diapositive!</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find slide to save script!</source>
-        <translation type="obsolete">Impossible de trouver une diapositive pour sauvegarder le script!</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="45"/>
+        <location line="-42"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation>Diapo</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation>Macro</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation>Sauvegarder</translation>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
+        <location line="+31"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation>Pas de modèle disponible pour enregistrer le script dans la diapo!</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation>Pas de diapo disponible pour enregistrer le script!</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
         <source>Save script</source>
         <translation>Enregistrer le script</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="155"/>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -4676,153 +3475,124 @@ existe déjà.
 Voulez-vous l&apos;écraser?</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
+        <location line="+5"/>
         <source>Overwrite</source>
         <translation>Écraser</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="161"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Annuler</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="184"/>
+        <location line="-58"/>
         <source>Load script</source>
         <translation>Charger le script</translation>
     </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation>Erreur</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation>Echec ouverture %1.</translation>
-    </message>
 </context>
 <context>
     <name>ShowTextDialog</name>
     <message>
-        <source>VYM - Info</source>
-        <translation type="obsolete">VYM - Info</translation>
-    </message>
-    <message>
-        <location filename="../showtextdialog.ui" line="50"/>
         <source>Close</source>
-        <translation>Fermer</translation>
+        <translation type="vanished">Fermer</translation>
     </message>
     <message>
-        <source>History of %1</source>
-        <translation type="obsolete">Historique de %1</translation>
-    </message>
-    <message>
-        <location filename="../showtextdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Dialogue</translation>
+        <translation type="vanished">Dialogue</translation>
     </message>
 </context>
 <context>
-    <name>SimpleScriptEditor</name>
-    <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">Le fichier %1 existe déjà.
-Voulez-vous l&apos;écraser? {1
-?}</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Écraser</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Annuler</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">Sauver</translation>
-    </message>
+    <name>TaskEditor</name>
     <message>
-        <source>Open</source>
-        <translation type="obsolete">Ouvrir</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Fermer</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
-        <translation>Carte active</translation>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Tâches actives</translation>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation>Éditeur d&apos;en-tête</translation>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation>Priorité</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation>Statut</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation>Depuis début</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation>Depuis modif.</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation>Mise au repos pdt</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation>Carte</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation>Tâche</translation>
@@ -4831,425 +3601,251 @@ Voulez-vous l&apos;écraser? {1
 <context>
     <name>TextEditor</name>
     <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">&amp;Fichier</translation>
-    </message>
-    <message>
-        <source>Import</source>
-        <translation type="obsolete">Importer</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation>&amp;Importer...</translation>
     </message>
     <message>
-        <source>Export Note (HTML)</source>
-        <translation type="obsolete">Exporter la note (HTML)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>&amp;Exporter...</translation>
     </message>
     <message>
-        <source>Export Note As (HTML) </source>
-        <translation type="obsolete">Exporter la note comme (HTML) </translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>Exporter sous (&amp;A)... (HTML)</translation>
     </message>
     <message>
-        <source>Export Note As (ASCII) </source>
-        <translation type="obsolete">Exporter la note comme (ASCII) </translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>Exporter sous (&amp;A).. (ASCII)</translation>
     </message>
     <message>
-        <source>Print Note</source>
-        <translation type="obsolete">Imprimer la note</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>Im&amp;primer...</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">&amp;Éditer</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">Défaire</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation>Ann&amp;uler Action</translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translation type="obsolete">Refaire</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>&amp;Refaire Action</translation>
     </message>
     <message>
-        <source>Select and copy all</source>
-        <translation type="obsolete">Sélectionner et copier tout</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>Sélectionner et &amp;tout copier</translation>
     </message>
     <message>
-        <source>Copy</source>
-        <translation type="obsolete">Copier</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>&amp;Copier</translation>
     </message>
     <message>
-        <source>Cut</source>
-        <translation type="obsolete">Couper</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>Cou&amp;per</translation>
     </message>
     <message>
-        <source>Paste</source>
-        <translation type="obsolete">Coller</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>Co&amp;ller</translation>
     </message>
     <message>
-        <source>Delete all</source>
-        <translation type="obsolete">Effacer tout</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation>Effacer tout (&amp;D)</translation>
     </message>
     <message>
-        <source>Convert paragraphs to linebreaks</source>
-        <translation type="obsolete">Convertir les paragraphes en sauts de ligne</translation>
-    </message>
-    <message>
-        <source>&amp;Convert Paragraphs</source>
-        <translation type="obsolete">&amp;Convertir les paragraphes</translation>
-    </message>
-    <message>
-        <source>Join all lines of a paragraph</source>
-        <translation type="obsolete">Joindre toutes les lignes d&apos;un paragraphe</translation>
-    </message>
-    <message>
-        <source>&amp;Join lines</source>
-        <translation type="obsolete">&amp;Joindre les lignes</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <translation type="obsolete">Basculer l&apos;indicateur de fonte pour tut le document</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+81"/>
         <source>&amp;Font hint</source>
         <translation>&amp;Indicateur de fonte</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+22"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation>Fontes</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation>Format</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>&amp;Couleur...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>Gras (&amp;B)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>&amp;Italique</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>So&amp;uligner</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation>&amp;Gauche</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>&amp;Centrer</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>&amp;Droite</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>&amp;Justifier</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>Paramètre&amp;S</translation>
     </message>
     <message>
-        <source>Set fixed font</source>
-        <translation type="obsolete">Mettre une police fixe</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="543"/>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation>Choisir une police à pas &amp;fixe</translation>
     </message>
     <message>
-        <source>Set variable font</source>
-        <translation type="obsolete">Mettre une police variable</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>Choisir une police à pas &amp;variable</translation>
     </message>
     <message>
-        <source>Used fixed font by default</source>
-        <translation type="obsolete">Utiliser une police fixe par défaut</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>Police à pas &amp;fixe par défaut</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
-        <source>Export Note to single file</source>
-        <translation>Exporter la Note dans un fichier indépendant</translation>
+        <location line="+9"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The file </source>
-        <translation type="obsolete">Le fichier </translation>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete"> existes déjà. Voulez-vous l&apos;écraser?</translation>
+        <location line="+184"/>
+        <source>Export Note to single file</source>
+        <translation>Exporter la Note dans un fichier indépendant</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>Écraser</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Annuler</translation>
     </message>
     <message>
-        <source>Couldn&apos;t export note </source>
-        <translation type="obsolete">N&apos;a pas pu exporter la note </translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>Exporter la note en un fichier unique (ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="-340"/>
         <source>Subs&amp;cript</source>
         <translation>Indi&amp;ce</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation>Editeur de texte</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="-218"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation>Indicateur de fonte</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="498"/>
+        <location line="+108"/>
         <source>Su&amp;perscript</source>
         <translation>Ex&amp;posant</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="+80"/>
         <source>Note Editor</source>
         <translation>Éditeur de note</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="-186"/>
         <source>F&amp;ormat</source>
         <translation>F&amp;ormater</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location line="-370"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation>Prêt</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Éditeur de note</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation>Pas de nom de fichier disponible pour la note.</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="+83"/>
         <source>Note Actions</source>
         <translation>Actions sur Note</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+2"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>&amp;Note</translation>
     </message>
     <message>
-        <source>Export Note (HTML)</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Exporter la note (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <comment>Status tip for Note Menu</comment>
-        <translation type="obsolete">Exporter la note comme (HTML) </translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Exporter la note comme (ASCII) </translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Imprimer la note</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="+57"/>
         <source>Edit Actions</source>
         <translation>Editer les Actions</translation>
     </message>
     <message>
-        <source>Undo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Défaire</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Refaire</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Sélectionner et copier tout</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Copier</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Couper</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Coller</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Effacer tout</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Basculer l&apos;indicateur de fonte pour tut le document</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+83"/>
         <source>&amp;Richtext</source>
         <translation>En&amp;richir typo</translation>
     </message>
     <message>
-        <source>Set fixed font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Mettre une police fixe</translation>
-    </message>
-    <message>
-        <source>Set variable font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Mettre une police variable</translation>
-    </message>
-    <message>
-        <source>Used fixed font by default</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Utiliser une police fixe par défaut</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+354"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -5259,13 +3855,13 @@ existe déjà.
 Voulez-vous l&apos;écraser?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation>Echec exportation de la note </translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
+        <location line="+86"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation>Imprimer</translation>
@@ -5274,13 +3870,13 @@ Voulez-vous l&apos;écraser?</translation>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation>Sélectionner l&apos;objet au-dessus</translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation>Sélectionner l&apos;objet au dessous</translation>
@@ -5289,187 +3885,176 @@ Voulez-vous l&apos;écraser?</translation>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation>sans nom</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation>Erreur critique d&apos;analyse syntaxique</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation>Erreur critique de chargement</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation>Echec de création du répertoire temporaire avant le chargement</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation>carte (*.xml) introuvable dans l&apos;archive .vym.</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+325"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation>La carte %1
-n&apos;utilise pas le format de compression des fichiers vym.
-En sauvegardant en format non compressé, les images et les imagettes
-peuvent alors écraser les fichiers présents dans le répertoire.
-
-Voulez-vous sauvegarder la carte</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
+        <location line="-365"/>
         <source>compressed (vym default)</source>
         <translation>compressé (option par défaut de VYM)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation>non compressé</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation>Annuler</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation>Echec de sauvegarde</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation>%1
 n&quot;as pu être effacé avant la sauvegarde</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation>%1
 n&apos;as pu être renommé avant la sauvegarde</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation>Echec création du répertoire temporaire avant la sauvegarde</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation>Images</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation>Tous</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation>Charger une image</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation>Sauvegarder une image</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation>Le fichier %1 existe déjà.
 Voulez-vous l&apos;écraser?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation>Écraser</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation>Erreur Critique</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation>Format non supporté dans %1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation>Echec sauvegarde %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation>Erreur critique d&apos;importation</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation>Répertoire %1 introuvable</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation>Choisir la structure de répertoire à importer</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -5478,30 +4063,42 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="+3052"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-3104"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Attention</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -5514,144 +4111,93 @@ Do you want to reload that map with the new file?</source>
 Voulez-vous recharger la carte à partir du nouveau fichier?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation>Recharger</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation>Ignorer</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation>Attention</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation>La fonction &apos;Refaire&apos; a échoué:
-%1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation>Sauvegarde auto désactivée durant l&apos;annulation d&apos;action.</translation>
     </message>
     <message>
-        <source>Undo failed:
-%1</source>
-        <translation type="vanished">Echec annulation de l&apos;action:
-%1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation>Note</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation>Script interrompu:
-%1</translation>
-    </message>
-    <message>
-        <source>Export map as scalable vector graphic</source>
-        <translation type="vanished">Exportation de la carte en format graphique vectoriel</translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Entrer l&apos;URL:</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Images</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation>Contacter Bugzilla...</translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Lien vers un autre schéma</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+1273"/>
         <source>Export map as image</source>
         <translation>Exporter la carte sous forme d&apos;image</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation>Echec sauvegarde QImage %1 dans le format %2</translation>
     </message>
     <message>
-        <source>Exported: </source>
-        <comment>Export confirmation</comment>
-        <translation type="vanished">Exporté:</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation>Exporte la carte en format PDF</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation type="unfinished">Exporte la carte sous le format SVG</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation>Exporter le XML dans le répertoire</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation>Erreur critique d&apos;Export</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exporter en LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation>(toujours expérimental)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation>Exporter en format csv</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="-531"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+900"/>
         <source>Load background image</source>
         <translation>Charger l&apos;image de fond</translation>
     </message>
@@ -5659,18 +4205,18 @@ Voulez-vous recharger la carte à partir du nouveau fichier?</translation>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Echec lancement %1</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished">%1 ne s&apos;est pas terminé normalement</translation>
     </message>
@@ -5678,13 +4224,13 @@ Voulez-vous recharger la carte à partir du nouveau fichier?</translation>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Éditeur d&apos;arbre</translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Éditeur de diapo</translation>
@@ -5693,44 +4239,79 @@ Voulez-vous recharger la carte à partir du nouveau fichier?</translation>
 <context>
     <name>WarningDialog</name>
     <message>
-        <source>VYM - Warning : Foo...</source>
-        <translation type="obsolete">VYM - Avertissement: bla...</translation>
-    </message>
-    <message>
-        <source>textLabel</source>
-        <translation type="obsolete">Étiquette de texte
-</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="91"/>
-        <source>showAgainBox</source>
-        <translation></translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location filename="../src/warningdialog.cpp" line="+10"/>
         <source>Proceed</source>
         <translation>Procéder</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation>Afficher à nouveau ce message</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="14"/>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">Attention</translation>
+    </message>
+    <message>
         <source>Dialog</source>
-        <translation>Dialogue</translation>
+        <translation type="vanished">Dialogue</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location line="+35"/>
         <source>Cancel</source>
         <translation>Annuler</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation>OK</translation>
+        <translation type="vanished">OK</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Status</source>
+        <translation type="obsolete">Statut</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Fermer</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 </TS>
index 3db1e91d1e2797b71da397d374558030ece42f62..8867c875600fb9d50a5608bedfd37c302c0f2839 100644 (file)
@@ -4,19 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation>Zasluge</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation>Licenca</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation>U redu</translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="+18"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>Upozorenje</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
         <translation>Ne mogu naći program za pregledavanje %1.</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+2"/>
         <source>Please use Settings-&gt;</source>
         <translation>Molim koristite postavke-&gt;</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+1"/>
         <source>Set application to open an URL...</source>
         <translation>Postavi aplikaciju za otvaranje URLa ...</translation>
     </message>
 </context>
+<context>
+    <name>AttributeDialog</name>
+    <message>
+        <source>Attributes</source>
+        <translation type="obsolete">Atributi</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Zatvori</translation>
+    </message>
+</context>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
         <source>Branch Property Editor</source>
-        <translation>Uređivač svojstava grane</translation>
+        <translation type="vanished">Uređivač svojstava grane</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
         <source>Frame</source>
-        <translation>Okvir</translation>
+        <translation type="vanished">Okvir</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
         <source>Geometry</source>
-        <translation>Geometrija</translation>
+        <translation type="vanished">Geometrija</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
         <source>No Frame</source>
-        <translation>Bez okvira</translation>
+        <translation type="vanished">Bez okvira</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation>Pravokutnik</translation>
+        <translation type="vanished">Pravokutnik</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
         <source>Rounded Rectangle</source>
-        <translation>Zaobljeni pravokutnik</translation>
+        <translation type="vanished">Zaobljeni pravokutnik</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
         <source>Ellipse</source>
-        <translation>Elipsa</translation>
+        <translation type="vanished">Elipsa</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
         <source>Cloud</source>
-        <translation>Oblak</translation>
+        <translation type="vanished">Oblak</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
         <source>Padding</source>
-        <translation>Podstavljanje</translation>
+        <translation type="vanished">Podstavljanje</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
         <source>Borderline width</source>
-        <translation>Debljina okvira</translation>
+        <translation type="vanished">Debljina okvira</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
         <source>Include children</source>
-        <translation>Uključi djecu</translation>
+        <translation type="vanished">Uključi djecu</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
         <source>Colors</source>
-        <translation>Boje</translation>
+        <translation type="vanished">Boje</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
         <source>Borderline color</source>
-        <translation>Boja okvira</translation>
+        <translation type="vanished">Boja okvira</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
         <source>Background color</source>
-        <translation>Boja pozadine</translation>
+        <translation type="vanished">Boja pozadine</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
         <source>Layout</source>
-        <translation>Raspored</translation>
+        <translation type="vanished">Raspored</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
         <source>Include images horizontally</source>
-        <translation>Uključi slike vodoravno</translation>
+        <translation type="vanished">Uključi slike vodoravno</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
         <source>Include images vertically</source>
-        <translation>Uključi slike okomito</translation>
+        <translation type="vanished">Uključi slike okomito</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
         <source>Free positioning of children (experimental!)</source>
-        <translation>Slobodno pozicioniranje djece (eksperimentalno)</translation>
+        <translation type="vanished">Slobodno pozicioniranje djece (eksperimentalno)</translation>
+    </message>
+    <message>
+        <source>Task</source>
+        <translation type="obsolete">Zadatak</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
         <source>Link</source>
-        <translation>Veza</translation>
+        <translation type="vanished">Veza</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
         <source>Hide link if unselected</source>
-        <translation>Sakrij neselektiranu vezu</translation>
+        <translation type="vanished">Sakrij neselektiranu vezu</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
         <source>Attributes</source>
-        <translation>Atributi</translation>
+        <translation type="vanished">Atributi</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
         <source>+</source>
-        <translation>+</translation>
+        <translation type="vanished">+</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
         <source>-</source>
-        <translation>-</translation>
+        <translation type="vanished">-</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
         <translation>Uređivač svojstava</translation>
     </message>
+    <message>
+        <location line="+22"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
+    <message>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">Upozorenje</translation>
+    </message>
+    <message>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
+    <message>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
+    </message>
+    <message>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
+    </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
+    <message>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
+    <message>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation>Upozorenje</translation>
     </message>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation>Uredi XLink</translation>
+        <translation type="vanished">Uredi XLink</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
         <source>Arrow begin:</source>
-        <translation>Strelica početka:</translation>
+        <translation type="vanished">Strelica početka:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation>XLink širina:</translation>
+        <translation type="vanished">XLink širina:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
         <source>Use color of heading</source>
-        <translation>Koristi boju naslova</translation>
+        <translation type="vanished">Koristi boju naslova</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
         <source>XLink color:</source>
-        <translation>XLink boja:</translation>
+        <translation type="vanished">XLink boja:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
         <source>Use as default:</source>
-        <translation>Koristi kao zadano:</translation>
+        <translation type="vanished">Koristi kao zadano:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
         <source>Line style:</source>
         <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation>Stil linije:</translation>
+        <translation type="vanished">Stil linije:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
         <source>Arrow end:</source>
-        <translation>Strelica kraja:</translation>
+        <translation type="vanished">Strelica kraja:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
         <source>Close</source>
-        <translation>Zatvori</translation>
+        <translation type="vanished">Zatvori</translation>
+    </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
+    <message>
+        <source>Options</source>
+        <translation type="obsolete">Opcije</translation>
+    </message>
+    <message>
+        <source>Image of map</source>
+        <translation type="obsolete">Slika mape</translation>
+    </message>
+    <message>
+        <source>Include images</source>
+        <translation type="obsolete">Uključi slike</translation>
+    </message>
+    <message>
+        <source>Table of contents</source>
+        <translation type="obsolete">Tablica sadržaja</translation>
+    </message>
+    <message>
+        <source>Task flags</source>
+        <translation type="obsolete">Zastavice zadatka</translation>
+    </message>
+    <message>
+        <source>General flags</source>
+        <translation type="obsolete">Generalne zastavice</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Obojani naslovi u tekstu</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Spremi postavke u mapi</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="obsolete">Odustani</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">Izvoz</translation>
     </message>
 </context>
 <context>
     <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
         <source>Export HTML</source>
-        <translation>Izvoz HTMLa</translation>
+        <translation type="vanished">Izvoz HTMLa</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
         <source>Export to directory:</source>
-        <translation>Izvezi u direktorij:</translation>
+        <translation type="vanished">Izvezi u direktorij:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
         <source>Browse</source>
-        <translation>Pretraži</translation>
+        <translation type="vanished">Pretraži</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation>Opcije</translation>
+        <translation type="vanished">Opcije</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
         <source>Image of map</source>
-        <translation>Slika mape</translation>
+        <translation type="vanished">Slika mape</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
         <source>Include images</source>
-        <translation>Uključi slike</translation>
+        <translation type="vanished">Uključi slike</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
         <source>Table of contents</source>
-        <translation>Tablica sadržaja</translation>
+        <translation type="vanished">Tablica sadržaja</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
         <source>Task flags</source>
-        <translation>Zastavice zadatka</translation>
+        <translation type="vanished">Zastavice zadatka</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
         <source>General flags</source>
-        <translation>Generalne zastavice</translation>
+        <translation type="vanished">Generalne zastavice</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
         <source>Number sections</source>
-        <translation>Brojanje sekcija</translation>
+        <translation type="vanished">Brojanje sekcija</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation>Obojani naslovi u tekstu</translation>
+        <translation type="vanished">Obojani naslovi u tekstu</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation>Spremi postavke u mapi</translation>
+        <translation type="vanished">Spremi postavke u mapi</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation>Stilski predlošci</translation>
+        <translation type="vanished">Stilski predlošci</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
         <source>Copy CSS from </source>
-        <translation>Kopiraj CSS iz</translation>
+        <translation type="vanished">Kopiraj CSS iz</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
         <source>Use CSS from</source>
-        <translation>Koristi CSS iz</translation>
+        <translation type="vanished">Koristi CSS iz</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation>Skripte</translation>
+        <translation type="vanished">Skripte</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation>Nakon izvoza:</translation>
+        <translation type="vanished">Nakon izvoza:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation>Odustani</translation>
+        <translation type="vanished">Odustani</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
         <source>Export</source>
-        <translation>Izvoz</translation>
+        <translation type="vanished">Izvoz</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation>Upozorenje</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -351,58 +452,93 @@ Provjerite da li to stvarno
 želite dozvoliti na svom sustavu!</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation>VYM - Izvoz HTMLa u direktorij</translation>
     </message>
 </context>
+<context>
+    <name>ExportXHTMLDialog</name>
+    <message>
+        <source>Export to directory:</source>
+        <translation type="obsolete">Izvezi u direktorij:</translation>
+    </message>
+    <message>
+        <source>Browse</source>
+        <translation type="obsolete">Pretraži</translation>
+    </message>
+    <message>
+        <source>Options</source>
+        <translation type="obsolete">Opcije</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Obojani naslovi u tekstu</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Spremi postavke u mapi</translation>
+    </message>
+    <message>
+        <source>Stylesheets</source>
+        <translation type="obsolete">Stilski predlošci</translation>
+    </message>
+    <message>
+        <source>Scripts</source>
+        <translation type="obsolete">Skripte</translation>
+    </message>
+    <message>
+        <source>After Export:</source>
+        <translation type="obsolete">Nakon izvoza:</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="obsolete">Odustani</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">Izvoz</translation>
+    </message>
+</context>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
         <source>VYM - Info</source>
-        <translation>VYM - info</translation>
+        <translation type="vanished">VYM - info</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
         <source>Map:</source>
-        <translation>Mapa:</translation>
+        <translation type="vanished">Mapa:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
         <source>Title:</source>
-        <translation>Naslov:</translation>
+        <translation type="vanished">Naslov:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
         <source>Author:</source>
-        <translation>Autor:</translation>
+        <translation type="vanished">Autor:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
         <source>Comment:</source>
-        <translation>Komentar:</translation>
+        <translation type="vanished">Komentar:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation>Statistika:</translation>
+        <translation type="vanished">Statistika:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation>Odustani</translation>
+        <translation type="vanished">Odustani</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation>Zatvori</translation>
+        <translation type="vanished">Zatvori</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation>Nađi:</translation>
@@ -411,90 +547,110 @@ Provjerite da li to stvarno
 <context>
     <name>HeadingEditor</name>
     <message>
-        <location filename="../headingeditor.cpp" line="9"/>
-        <source>Note Editor</source>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
+        <source>Heading Editor</source>
         <comment>Name of editor shown as window title</comment>
-        <translation>Uređivač bilješki</translation>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
     <message>
-        <location filename="../historywindow.ui" line="13"/>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="50"/>
         <source>Redo</source>
-        <translation>Ponovi</translation>
+        <translation type="vanished">Ponovi</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation>Vrijeme</translation>
+        <translation type="vanished">Vrijeme</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation>Komentar</translation>
+        <translation type="vanished">Komentar</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation>Poništi</translation>
+        <translation type="vanished">Poništi</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>Zatvori</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation>Akcija</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>Komentar</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation>Poništi akciju</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation>Trenutno stanje</translation>
     </message>
 </context>
+<context>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">Upozorenje</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">Dodaj</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">Ukloni</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>LineEditDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
         <source>TextLabel</source>
-        <translation>tekstualnaLabela</translation>
+        <translation type="vanished">tekstualnaLabela</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation>Odustani</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation>U redu</translation>
     </message>
@@ -502,19 +658,16 @@ Provjerite da li to stvarno
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation>Obriši datoteku zaključavanja</translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation>Otvori samo za čitanje</translation>
     </message>
@@ -522,1587 +675,1788 @@ Provjerite da li to stvarno
 <context>
     <name>Main</name>
     <message>
-        <location filename="../mainwindow.cpp" line="124"/>
+        <location filename="../src/mainwindow.cpp" line="+148"/>
         <source>Main window</source>
         <comment>Shortcut scope</comment>
         <translation>Glavni prozor</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="218"/>
+        <location line="+103"/>
         <source>Main window</source>
         <comment>Shortcut group</comment>
         <translation>Glavni prozor</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="219"/>
+        <location line="+1"/>
         <source>Map Editors</source>
         <comment>Shortcut group</comment>
         <translation>Uređivači mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="220"/>
+        <location line="+1"/>
         <source>Text Editors</source>
         <comment>Shortcut group</comment>
         <translation>Uređivači teksta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="254"/>
-        <source>Script Editor</source>
-        <translation>Uređivač skripti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="262"/>
+        <location line="+36"/>
         <source>Search results list</source>
         <comment>FindResultWidget</comment>
         <translation>Lista rezultata pretraživanja</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="275"/>
+        <location line="+11"/>
         <source>Script Editor</source>
         <comment>ScriptEditor</comment>
         <translation>Uređivač skripti</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="282"/>
+        <location line="+13"/>
         <source>Property Editor</source>
         <comment>PropertyEditor</comment>
         <translation>Uređivač svojstava</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="289"/>
+        <location line="+8"/>
         <source>History window</source>
         <comment>HistoryWidget</comment>
         <translation>Prozor povijesti</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="316"/>
+        <location line="+30"/>
         <source>Task list</source>
         <comment>TaskEditor</comment>
         <translation>Lista zadatka</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="969"/>
+        <location line="+732"/>
         <source>&amp;Map</source>
         <comment>Menu for file actions</comment>
         <translation>&amp;Mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="973"/>
+        <location line="+4"/>
         <source>&amp;New map</source>
         <comment>File menu</comment>
         <translation>&amp;Nova mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="980"/>
+        <location line="+9"/>
         <source>&amp;Copy to new map</source>
         <comment>File menu</comment>
         <translation>&amp;Kopiraj u novu mapu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="987"/>
+        <location line="+7"/>
         <source>&amp;Open...</source>
         <comment>File menu</comment>
         <translation>&amp;Otvori...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="994"/>
+        <location line="+8"/>
         <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
         <translation>&amp;Vrati zadnju sesiju</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1002"/>
+        <location line="+8"/>
         <source>Open Recent</source>
         <comment>File menu</comment>
         <translation>Otvori nedavne</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1005"/>
+        <location line="+3"/>
         <source>&amp;Save...</source>
         <comment>File menu</comment>
         <translation>&amp;Spremi...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1013"/>
+        <location line="+9"/>
         <source>Save &amp;As...</source>
         <comment>File menu</comment>
         <translation>Spremi &amp;kao ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1019"/>
+        <location line="+11"/>
         <source>Import</source>
         <comment>File menu</comment>
         <translation>Uvoz</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1023"/>
+        <location line="+2"/>
         <source>Firefox Bookmarks</source>
         <comment>Import filters</comment>
         <translation>Firefoxove knjižne oznake</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1036"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation>Uvezi Dir%1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1036"/>
-        <location filename="../mainwindow.cpp" line="1057"/>
-        <location filename="../mainwindow.cpp" line="1085"/>
-        <location filename="../mainwindow.cpp" line="1089"/>
-        <location filename="../mainwindow.cpp" line="1093"/>
-        <location filename="../mainwindow.cpp" line="1097"/>
-        <location filename="../mainwindow.cpp" line="3681"/>
-        <location filename="../mainwindow.cpp" line="3710"/>
+        <location line="+16"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
         <source>(still experimental)</source>
         <translation>(experimentalno)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
+        <location line="-3349"/>
         <source>Export</source>
         <comment>File menu</comment>
         <translation>Izvoz</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1042"/>
+        <location line="+3"/>
         <source>Repeat last export (%1)</source>
         <translation>Ponovi zadnji izvoz (%1)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1049"/>
+        <location line="+8"/>
         <source>Webpage (HTML)...</source>
         <comment>File export menu</comment>
         <translation>Web stranica (HTML)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1053"/>
+        <location line="+21"/>
         <source>Text (ASCII)...</source>
         <comment>File export menu</comment>
         <translation>Tekst (ASCII) ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1057"/>
+        <location line="+12"/>
         <source>Text with tasks</source>
         <comment>File export menu</comment>
         <translation>Tekst sa zadatcima</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1061"/>
+        <location line="+7"/>
         <source>Text (A&amp;O report)...</source>
         <comment>Export format</comment>
         <translation>Tekst (A&amp;O izvještaj) ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1065"/>
+        <location line="+5"/>
         <source>Image%1</source>
         <comment>File export menu</comment>
         <translation>Slika%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1069"/>
+        <location line="+5"/>
         <source>PDF%1</source>
         <comment>File export menu</comment>
         <translation>PDF%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1073"/>
+        <location line="+5"/>
         <source>SVG%1</source>
         <comment>File export menu</comment>
         <translation>SVG%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1085"/>
-        <source>Spreadsheet</source>
-        <translation>Proračunska tablica</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1103"/>
+        <location line="+37"/>
         <source>Properties</source>
         <translation>Svojstva</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1112"/>
+        <location line="+9"/>
         <source>&amp;Print</source>
         <translation>&amp;Ispis</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1120"/>
+        <location line="+9"/>
         <source>&amp;Close Map</source>
         <comment>File menu</comment>
         <translation>&amp;Zatvori mapu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1126"/>
+        <location line="+7"/>
         <source>E&amp;xit</source>
         <comment>File menu</comment>
         <translation>&amp;Izlaz</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1137"/>
+        <location line="+22"/>
         <source>E&amp;dit</source>
         <comment>Edit menu</comment>
         <translation>&amp;Uredi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1141"/>
+        <location line="+4"/>
         <source>&amp;Undo</source>
         <comment>Edit menu</comment>
         <translation>&amp;Poništi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1152"/>
+        <location line="+11"/>
         <source>&amp;Redo</source>
         <comment>Edit menu</comment>
         <translation>&amp;Ponovi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1163"/>
+        <location line="+11"/>
         <source>&amp;Copy</source>
         <comment>Edit menu</comment>
         <translation>&amp;Kopiraj</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1174"/>
+        <location line="+11"/>
         <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
         <translation>&amp;Izreži</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1187"/>
+        <location line="+13"/>
         <source>&amp;Paste</source>
         <comment>Edit menu</comment>
         <translation>&amp;Zalijepi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1199"/>
+        <location line="+13"/>
+        <location line="+10"/>
         <source>Delete Selection</source>
         <comment>Edit menu</comment>
         <translation>Obriši odabir</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1210"/>
+        <location line="+11"/>
         <source>Add attribute</source>
         <translation>Dodaj atribut</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1223"/>
+        <location line="+11"/>
         <source>Add mapcenter</source>
         <comment>Canvas context menu</comment>
         <translation>Dodaj centar mape</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1234"/>
+        <location line="+11"/>
         <source>Add branch as child</source>
         <comment>Edit menu</comment>
         <translation>Dodaj granu kao dijete</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1244"/>
+        <location line="+9"/>
         <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
         <translation>Dodaj granu (umetni)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1254"/>
-        <location filename="../mainwindow.cpp" line="1264"/>
+        <location line="+10"/>
+        <location line="+10"/>
         <source>Add branch above</source>
         <comment>Edit menu</comment>
         <translation>Dodaj granu iznad</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1274"/>
-        <location filename="../mainwindow.cpp" line="1283"/>
+        <location line="+10"/>
+        <location line="+9"/>
         <source>Add branch below</source>
         <comment>Edit menu</comment>
         <translation>Dodaj granu ispod</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1292"/>
+        <location line="+9"/>
         <source>Move branch up</source>
         <comment>Edit menu</comment>
         <translation>Makni granu gore</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1305"/>
+        <location line="+13"/>
         <source>Move branch down</source>
         <comment>Edit menu</comment>
         <translation>Makni granu dolje</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1318"/>
+        <location line="+13"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
         <source>&amp;Detach</source>
         <comment>Context menu</comment>
         <translation>&amp;Odvoji</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1319"/>
+        <location line="+1"/>
         <source>Detach branch and use as mapcenter</source>
         <comment>Context menu</comment>
         <translation>Odvoji granu i iskoristi kao središte mape</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1327"/>
+        <location line="+8"/>
         <source>Sort children</source>
         <comment>Edit menu</comment>
         <translation>Razvrstaj djecu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1336"/>
+        <location line="+11"/>
         <source>Sort children backwards</source>
         <comment>Edit menu</comment>
         <translation>Razvrstaj djecu obrnuto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1345"/>
+        <location line="+10"/>
         <source>Scroll branch</source>
         <comment>Edit menu</comment>
         <translation>Uvij granu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1357"/>
+        <location line="+12"/>
         <source>Unscroll children</source>
         <comment>Edit menu</comment>
         <translation>Uvij djecu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1362"/>
+        <location line="+5"/>
         <source>Grow selection</source>
         <comment>Edit menu</comment>
         <translation>Uvećaj odabir</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1371"/>
+        <location line="+9"/>
         <source>Shrink selection</source>
         <comment>Edit menu</comment>
         <translation>Smanji odabir</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1380"/>
+        <location line="+9"/>
         <source>Reset selection size</source>
         <comment>Edit menu</comment>
         <translation>Poništi veličinu odabira</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1391"/>
+        <location line="+11"/>
         <source>Collapse one level</source>
         <comment>Edit menu</comment>
         <translation>Sklopi jedan nivo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1402"/>
+        <location line="+13"/>
         <source>Collapse unselected levels</source>
         <comment>Edit menu</comment>
         <translation>Sklopi neodabrane nivoe</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1413"/>
+        <location line="+12"/>
         <source>Expand all branches</source>
         <comment>Edit menu</comment>
         <translation>Raširi sve grane</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1421"/>
+        <location line="+8"/>
         <source>Expand one level</source>
         <comment>Edit menu</comment>
         <translation>Raširi jedan nivo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1431"/>
+        <location line="+10"/>
         <source>References Context menu</source>
         <comment>Shortcuts</comment>
         <translation>Reference kontekstnog izbornika</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1432"/>
+        <location line="+1"/>
         <source>Open URL</source>
         <comment>Edit menu</comment>
         <translation>Otvori URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1440"/>
+        <location line="+9"/>
         <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
         <translation>Otvori URL u novoj kartici</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1448"/>
+        <location line="+8"/>
         <source>Open all URLs in subtree (including scrolled branches)</source>
         <comment>Edit menu</comment>
         <translation>Otvori sve URLove u podstablu (uključujući uvijene grane)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1456"/>
+        <location line="+10"/>
         <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
         <translation>Otvori sve URLove u podstablu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1463"/>
+        <location line="+7"/>
         <source>Extract URLs from note</source>
         <comment>Edit menu</comment>
         <translation>Izdvoji URL iz zabilješke</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1472"/>
+        <location line="+10"/>
         <source>Edit URL...</source>
         <comment>Edit menu</comment>
         <translation>Uredi URL ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1481"/>
+        <location line="+9"/>
         <source>Edit local URL...</source>
         <comment>Edit menu</comment>
         <translation>Uredi lokalni URL ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1490"/>
+        <location line="+9"/>
         <source>Use heading for URL</source>
         <comment>Edit menu</comment>
         <translation>Koristi naslov za URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1500"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation>Upravljanje Bugzillom</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1501"/>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>Kreiraj URL prema SUSE Bugzilli</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1512"/>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>Dohvati vrijeme iz SUSE Bugzille</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1521"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Dohvati vrijeme iz SUSE Bugzille za podstablo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1530"/>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
-        <translation>Upravljanje SUSE Fate alatom</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1531"/>
-        <source>Create URL to SUSE FATE tool</source>
-        <comment>Edit menu</comment>
-        <translation>Kreiraj URL prema SUSE FATE alatu</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1539"/>
+        <location line="+31"/>
         <source>vymlinks - linking maps</source>
         <comment>Shortcuts</comment>
         <translation>vymlinkovi - vezanje mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1540"/>
+        <location line="+2"/>
         <source>Open linked map</source>
         <comment>Edit menu</comment>
         <translation>Otvori povezanu mapu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1547"/>
+        <location line="+10"/>
         <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation>Otvori povezanu mapu u pozadinskoj kartici</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1554"/>
+        <location line="+7"/>
         <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
         <translation>Otvori sve vym veze u podstablu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1562"/>
+        <location line="+9"/>
         <source>Edit vym link...</source>
         <comment>Edit menu</comment>
         <translation>Uredi vym vezu...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1569"/>
+        <location line="+9"/>
         <source>Delete vym link</source>
         <comment>Edit menu</comment>
         <translation>Obriši vym vezu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1576"/>
+        <location line="+7"/>
         <source>Exports</source>
         <comment>Shortcuts</comment>
         <translation>Izvozi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1577"/>
+        <location line="+2"/>
         <source>Hide in exports</source>
         <comment>Edit menu</comment>
         <translation>Sakrij u izvozu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1588"/>
+        <location line="+11"/>
         <source>Tasks</source>
         <comment>Shortcuts</comment>
         <translation>Zadatci</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1589"/>
+        <location line="+1"/>
         <source>Toggle task</source>
         <comment>Edit menu</comment>
         <translation>Preklopi zadatak</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1600"/>
+        <location line="+12"/>
         <source>Cycle task status</source>
         <comment>Edit menu</comment>
         <translation>Kruži kroz statuse zadataka</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1611"/>
+        <location line="+21"/>
         <source>Reset sleep</source>
         <comment>Task sleep</comment>
         <translation>Poništi spavanje</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1622"/>
-        <location filename="../mainwindow.cpp" line="1645"/>
-        <location filename="../mainwindow.cpp" line="1656"/>
-        <location filename="../mainwindow.cpp" line="1667"/>
-        <location filename="../mainwindow.cpp" line="1678"/>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Sleep %1 days</source>
         <comment>Task sleep</comment>
         <translation>Spavaj %1 dana</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1634"/>
+        <location line="-55"/>
         <source>Sleep %1 day</source>
         <comment>Task sleep</comment>
         <translation>Spavaj %1 dan</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1689"/>
-        <location filename="../mainwindow.cpp" line="1700"/>
+        <location line="+66"/>
+        <location line="+11"/>
         <source>Sleep %1 weeks</source>
         <comment>Task sleep</comment>
         <translation>Spavaj %1 tjedana</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1712"/>
+        <location line="+12"/>
         <source>Add map (insert)</source>
         <comment>Edit menu</comment>
         <translation>Dodaj mapu (umetni)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1719"/>
+        <location line="+7"/>
         <source>Add map (replace)</source>
         <comment>Edit menu</comment>
         <translation>Dodaj mapu (zamijeni)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1726"/>
+        <location line="+7"/>
         <source>Save selection</source>
         <comment>Edit menu</comment>
         <translation>Spremi odabir</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1732"/>
+        <location line="+6"/>
         <source>Removing parts of a map</source>
         <comment>Shortcuts</comment>
         <translation>Uklanjam dijelove mape</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1735"/>
+        <location line="+4"/>
         <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
         <translation>Ukloni samo granu i zadrži djecu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1745"/>
+        <location line="+10"/>
         <source>Remove children</source>
         <comment>Edit menu</comment>
         <translation>Ukloni djecu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1755"/>
+        <location line="+10"/>
         <source>Various</source>
         <comment>Shortcuts</comment>
         <translation>Razno</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1756"/>
+        <location line="+1"/>
         <source>Add timestamp</source>
         <comment>Edit menu</comment>
         <translation>Dodaj vremensku oznaku</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1767"/>
+        <location line="+11"/>
         <source>Map properties...</source>
         <comment>Edit menu</comment>
         <translation>Svojstva mape ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1773"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation>Dodaj ...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1781"/>
+        <location line="+15"/>
         <source>Property window</source>
         <comment>Dialog to edit properties of selection</comment>
         <translation>Prozor svojstava</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1794"/>
+        <location line="+15"/>
         <source>Selections</source>
         <comment>Shortcuts</comment>
         <translation>Odabiri</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
+        <location line="+1"/>
         <source>Select</source>
         <comment>Select menu</comment>
         <translation>&amp;Odaberi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1797"/>
+        <location line="+3"/>
         <source>Toggle target...</source>
         <comment>Edit menu</comment>
         <translation>Preklopi cilj ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1806"/>
+        <location line="+10"/>
         <source>Goto target...</source>
         <comment>Edit menu</comment>
         <translation>Idi na cilj ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1814"/>
+        <location line="+9"/>
         <source>Move to target...</source>
         <comment>Edit menu</comment>
         <translation>Makni na cilj ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1822"/>
+        <location line="+9"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>Select previous</source>
         <comment>Edit menu</comment>
         <translation>Odaberi prethodni</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1832"/>
+        <location line="+10"/>
         <source>Select next</source>
         <comment>Edit menu</comment>
         <translation>Odaberi sljedeći</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1842"/>
+        <location line="+11"/>
         <source>Unselect all</source>
         <comment>Edit menu</comment>
         <translation>Deselektiraj sve</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1850"/>
+        <location line="+8"/>
         <source>Search functions</source>
         <comment>Shortcuts</comment>
         <translation>Funkcije pretraživanja</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1851"/>
-        <location filename="../mainwindow.cpp" line="1859"/>
+        <location line="+1"/>
+        <location line="+8"/>
         <source>Find...</source>
         <comment>Edit menu</comment>
         <translation>Nađi...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1866"/>
+        <location line="+7"/>
         <source>Find duplicate URLs</source>
         <comment>Edit menu</comment>
         <translation>Nađi duple URLove</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
+        <location line="+11"/>
         <source>F&amp;ormat</source>
         <comment>Format menu</comment>
         <translation>&amp;Format</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1880"/>
+        <location line="+2"/>
         <source>Formatting</source>
         <comment>Shortcuts</comment>
         <translation>Formatiranje</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1885"/>
-        <source>Set &amp;Color</source>
-        <translation>Postavi &amp;boju</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1891"/>
+        <location line="+5"/>
         <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
         <translation>Oda&amp;beri boju</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1900"/>
+        <location line="+10"/>
         <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
         <translation>Boja &amp;grane</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1909"/>
+        <location line="+10"/>
         <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
         <translation>Boja pod&amp;stabla</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1920"/>
+        <location line="+11"/>
         <source>Select default font</source>
         <comment>Branch attribute</comment>
         <translation>Odredi zadani font</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1930"/>
+        <location line="+11"/>
         <source>Linkstyle Line</source>
         <translation>Stil veze linija</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1937"/>
+        <location line="+7"/>
         <source>Linkstyle Curve</source>
         <translation>Stil veze zaobljen</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1944"/>
+        <location line="+7"/>
         <source>Linkstyle Thick Line</source>
         <translation>Stil veze debela linija</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1951"/>
+        <location line="+7"/>
         <source>Linkstyle Thick Curve</source>
         <translation>Stil veze debelo zaobljenje</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1960"/>
+        <location line="+10"/>
         <source>Hide link if object is not selected</source>
         <comment>Branch attribute</comment>
         <translation>Sakrij vezu ako objekt nije odabran</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1966"/>
+        <location line="+6"/>
         <source>&amp;Use color of heading for link</source>
         <comment>Branch attribute</comment>
         <translation>&amp;Koristi boju naslova za vezu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1973"/>
+        <location line="+9"/>
         <source>Set &amp;Link Color</source>
         <translation>Postavi boju &amp;veze</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1978"/>
+        <location line="+5"/>
         <source>Set &amp;Selection Color</source>
         <translation>Postavi boju &amp;odabranog</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1983"/>
+        <location line="+5"/>
         <source>Set &amp;Background Color</source>
         <translation>Postavi boju &amp;pozadine</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1988"/>
+        <location line="+5"/>
         <source>Set &amp;Background image</source>
         <translation>Postavi &amp;sliku pozadine</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
+        <location line="+9"/>
         <source>&amp;View</source>
         <translation>&amp;Pogled</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1998"/>
+        <location line="+2"/>
         <source>Toolbars</source>
         <comment>Toolbars overview in view menu</comment>
         <translation>Izbornici</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1999"/>
+        <location line="+1"/>
         <source>Views</source>
         <comment>Shortcuts</comment>
         <translation>Pogledi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2004"/>
+        <location line="+7"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>Zoom in</source>
         <comment>View action</comment>
         <translation>Povećaj</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2012"/>
+        <location line="+9"/>
         <source>Zoom out</source>
         <comment>View action</comment>
         <translation>Smanji</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2020"/>
+        <location line="+10"/>
         <source>Rotate counterclockwise</source>
         <comment>View action</comment>
         <translation>Rotiraj u suprotnom smjeru od kazaljke na satu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2028"/>
+        <location line="+9"/>
         <source>Rotate rclockwise</source>
         <comment>View action</comment>
         <translation>Rotiraj u smjeru kazaljke na satu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2036"/>
+        <location line="+9"/>
         <source>reset Zoom</source>
         <comment>View action</comment>
         <translation>Poništi povećanje</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2044"/>
+        <location line="+9"/>
         <source>Center on selection</source>
         <comment>View action</comment>
         <translation>Centriraj odabrano</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2055"/>
+        <location line="+9"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
         <source>Note editor</source>
         <comment>View action</comment>
         <translation>Uređivač bilješki</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2066"/>
+        <location line="+12"/>
         <source>Heading editor</source>
         <comment>View action</comment>
         <translation>Uređivač naslova</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2078"/>
+        <location line="+13"/>
         <source>Tree editor</source>
         <comment>View action</comment>
         <translation>Uređivač stabla</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2086"/>
+        <location line="+9"/>
         <source>Task editor</source>
         <comment>View action</comment>
         <translation>Uređivač zadataka</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2096"/>
+        <location line="+11"/>
         <source>Slide editor</source>
         <comment>View action</comment>
         <translation>Uređivač slajdova</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2104"/>
+        <location line="+9"/>
         <source>Script editor</source>
         <comment>View action</comment>
         <translation>Uređivač skripti</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2112"/>
+        <location line="+8"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>History Window</source>
         <comment>View action</comment>
         <translation>Prozor povijesti</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2126"/>
+        <location line="+14"/>
         <source>Antialiasing</source>
         <comment>View action</comment>
         <translation>Zaglađivanje nazubljenih rubova</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2133"/>
+        <location line="+7"/>
         <source>Smooth pixmap transformations</source>
         <comment>View action</comment>
         <translation>Glatke pixmap transformacije</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2141"/>
+        <location line="+10"/>
         <source>Next Map</source>
         <comment>View action</comment>
         <translation>Sljedeća mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2148"/>
+        <location line="+7"/>
         <source>Previous Map</source>
         <comment>View action</comment>
         <translation>Prethodna mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2155"/>
+        <location line="+7"/>
         <source>Next slide</source>
         <comment>View action</comment>
         <translation>Sljedeći slajd</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2162"/>
+        <location line="+7"/>
         <source>Previous slide</source>
         <comment>View action</comment>
         <translation>Prethodni slajd</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2176"/>
-        <source>Modifier modes</source>
+        <location line="+11"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Connect</source>
         <comment>Shortcuts</comment>
-        <translation>Načini modifikatora</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2180"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>Koristi modifikator za boju grana</translation>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2196"/>
+        <location line="+22"/>
+        <source>Modifier modes</source>
+        <comment>Shortcuts</comment>
+        <translation>Načini modifikatora</translation>
+    </message>
+    <message>
+        <location line="+30"/>
         <source>Use modifier to draw xLinks</source>
         <comment>Mode modifier</comment>
         <translation>Koristi modifikator za crtanje xLinkova</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2215"/>
-        <location filename="../mainwindow.cpp" line="2218"/>
-        <location filename="../mainwindow.cpp" line="2221"/>
-        <location filename="../mainwindow.cpp" line="2225"/>
-        <location filename="../mainwindow.cpp" line="2228"/>
-        <location filename="../mainwindow.cpp" line="2231"/>
-        <location filename="../mainwindow.cpp" line="2235"/>
-        <location filename="../mainwindow.cpp" line="2238"/>
+        <location line="+71"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
         <source>Note</source>
         <comment>SystemFlag</comment>
         <translation>Bilješka</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2241"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>URL na dokument</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2244"/>
-        <location filename="../mainwindow.cpp" line="2247"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation>URL na Bugzillu</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2250"/>
+        <location line="+6"/>
         <source>Map target</source>
         <comment>SystemFlag</comment>
         <translation>Cilj mape</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2253"/>
+        <location line="+3"/>
         <source>Link to another vym map</source>
         <comment>SystemFlag</comment>
         <translation>Veza na drugu vym mapu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2256"/>
+        <location line="+3"/>
         <source>subtree is scrolled</source>
         <comment>SystemFlag</comment>
         <translation>Podstablo je uvijeno</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2259"/>
+        <location line="+4"/>
         <source>subtree is temporary scrolled</source>
         <comment>SystemFlag</comment>
         <translation>Podstablo je privremeno uvijeno</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2262"/>
+        <location line="+3"/>
         <source>Hide object in exported maps</source>
         <comment>SystemFlag</comment>
         <translation>Sakrij objekt u izvezenim mapama</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2267"/>
+        <location line="+349"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+537"/>
         <source>Standard Flags toolbar</source>
         <comment>Standard Flag Toolbar</comment>
         <translation>Alatna traka standardnih zastavica</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2276"/>
+        <location line="-879"/>
         <source>This won&apos;t work!</source>
         <comment>Standardflag</comment>
         <translation>Ovo ne funkcionira!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2281"/>
+        <location line="+5"/>
         <source>Status - ok,done</source>
         <comment>Standardflag</comment>
         <translation>Status - dobro, načinjeno</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2285"/>
+        <location line="+4"/>
         <source>Status - work in progress</source>
         <comment>Standardflag</comment>
         <translation>Status - u radu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2289"/>
+        <location line="+5"/>
         <source>Status - missing, not started</source>
         <comment>Standardflag</comment>
         <translation>Status - nedostaje, nije započeto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2293"/>
+        <location line="+5"/>
         <source>Take care!</source>
         <comment>Standardflag</comment>
         <translation>Čuvaj se!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2297"/>
+        <location line="+5"/>
         <source>Really?</source>
         <comment>Standardflag</comment>
         <translation>Stvarno?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2301"/>
+        <location line="+14"/>
         <source>Good</source>
         <comment>Standardflag</comment>
         <translation>Dobro</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2305"/>
+        <location line="+4"/>
         <source>Bad</source>
         <comment>Standardflag</comment>
         <translation>Loše</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2309"/>
+        <location line="+8"/>
         <source>Oh no!</source>
         <comment>Standardflag</comment>
         <translation>O ne!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2314"/>
+        <location line="+40"/>
         <source>Time critical</source>
         <comment>Standardflag</comment>
         <translation>Vremenski kritično</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2317"/>
+        <location line="-3"/>
         <source>Call...</source>
         <comment>Standardflag</comment>
         <translation>Poziv ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2320"/>
+        <location line="-55"/>
         <source>Idea!</source>
         <comment>Standardflag</comment>
         <translation>Ideja!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2324"/>
+        <location line="+25"/>
         <source>Important</source>
         <comment>Standardflag</comment>
         <translation>Važno</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2328"/>
+        <location line="+5"/>
         <source>Unimportant</source>
         <comment>Standardflag</comment>
         <translation>Nevažno</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2332"/>
+        <location line="+5"/>
         <source>Very important!</source>
         <comment>Standardflag</comment>
         <translation>Vrlo važno!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2336"/>
+        <location line="+5"/>
         <source>Very unimportant!</source>
         <comment>Standardflag</comment>
         <translation>Vrlo nevažno!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2341"/>
+        <location line="+5"/>
         <source>I like this</source>
         <comment>Standardflag</comment>
         <translation>Sviđa mi se</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2345"/>
+        <location line="+3"/>
         <source>I do not like this</source>
         <comment>Standardflag</comment>
         <translation>Ovo mi se ne sviđa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2349"/>
+        <location line="+16"/>
         <source>Rose</source>
         <comment>Standardflag</comment>
         <translation>Ruža</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2352"/>
+        <location line="-61"/>
         <source>I just love...</source>
         <comment>Standardflag</comment>
         <translation>Ja volim ...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2355"/>
+        <location line="+58"/>
         <source>Surprise!</source>
         <comment>Standardflag</comment>
         <translation>Iznenađenje!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2358"/>
+        <location line="-39"/>
         <source>Dangerous</source>
         <comment>Standardflag</comment>
         <translation>Opasno</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2362"/>
+        <location line="-25"/>
         <source>Info</source>
         <comment>Standardflag</comment>
         <translation>Info</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2366"/>
+        <location line="+55"/>
         <source>This will help</source>
         <comment>Standardflag</comment>
         <translation>Ovo će pomoći</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2371"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Važno</translation>
+        <location line="+209"/>
+        <source>Settings</source>
+        <translation>Pos&amp;tavke</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2378"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Prioritet</translation>
+        <location line="+5"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
+        <translation>Provjeri bilješke izdanja i ažuriranja</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2383"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Nazad</translation>
+        <location line="+7"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation>Postavi autora nove mape</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2387"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation>naprijed</translation>
+        <location line="+7"/>
+        <source>Set application to open pdf files</source>
+        <comment>Settings action</comment>
+        <translation>Postavi aplikaciju za otvaranje PDF datoteka</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2391"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Pogledaj ovdje</translation>
+        <location line="+7"/>
+        <source>Set application to open external links</source>
+        <comment>Settings action</comment>
+        <translation>Postavi aplikaciju za otvaranje vanjskih veza</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2395"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Opasno</translation>
+        <location line="+6"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
+        <translation>Postavi aplikaciju za komprimiranje/raspakiravanje datoteka</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2399"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Ne zaboravi</translation>
+        <location line="+22"/>
+        <source>Set path for macros</source>
+        <comment>Settings action</comment>
+        <translation>Postavi putanju za makroe</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2403"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Zastavica</translation>
+        <location line="+4"/>
+        <source>Set number of undo levels</source>
+        <comment>Settings action</comment>
+        <translation>Postavi broj poništi/ponovi nivoa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2408"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Kuća</translation>
+        <location line="+7"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
+        <translation>Automatsko spremanje</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2412"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Telefon</translation>
+        <location line="+6"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
+        <translation>Vrijeme automatskog spremanja</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2416"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Muzika</translation>
+        <location line="+12"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
+        <translation>Zapiši backup datoteku pri spremanju</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2420"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Poštanski pretinac</translation>
+        <location line="+10"/>
+        <source>Select branch after adding it</source>
+        <comment>Settings action</comment>
+        <translation>Odaberi granu nakon dodavanja</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2424"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Pošta</translation>
+        <location line="+9"/>
+        <source>Select existing heading</source>
+        <comment>Settings action</comment>
+        <translation>Odaberi postojeći naslov</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2428"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Zaporka</translation>
+        <location line="+7"/>
+        <source>Exclusive flags</source>
+        <comment>Settings action</comment>
+        <translation>Ekskluzivne zastavice</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2432"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Za poboljšanje</translation>
+        <location line="+7"/>
+        <source>Use hide flags</source>
+        <comment>Settings action</comment>
+        <translation>Koristi zastavice za skrivanje</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2436"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Stani</translation>
+        <location line="+17"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation>Broj vidljivih roditelja u prozoru uređivača zadatka</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2440"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Magija</translation>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation>Broj vidljivih roditelja u prozoru rezultata pretrage</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2444"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Za raspravu</translation>
+        <location line="+8"/>
+        <source>Animation</source>
+        <comment>Settings action</comment>
+        <translation>Animacija</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2448"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Podsjetnik</translation>
+        <location line="+7"/>
+        <source>Automatic layout</source>
+        <comment>Settings action</comment>
+        <translation>Automatski raspored</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2452"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Izvrsno</translation>
+        <location line="+11"/>
+        <source>Test</source>
+        <translation>Test</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2456"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
+        <location line="+28"/>
+        <source>&amp;Help</source>
+        <comment>Help menubar entry</comment>
+        <translation>&amp;Pomoć</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2460"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Slatko</translation>
+        <location line="+3"/>
+        <source>Open VYM Documentation (pdf) </source>
+        <comment>Help action</comment>
+        <translation>Otvori VYM dokumentaciju (pdf)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2516"/>
-        <source>Settings</source>
-        <translation>Pos&amp;tavke</translation>
+        <location line="+4"/>
+        <source>Open VYM example maps </source>
+        <comment>Help action</comment>
+        <translation>Učitaj VYM mape primjera</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2520"/>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
-        <translation>Provjeri bilješke izdanja i ažuriranja</translation>
+        <location line="+5"/>
+        <source>Download and show release notes</source>
+        <comment>Help action</comment>
+        <translation>Skini i pokaži bilješke izdanja</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2527"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
-        <translation>Postavi autora nove mape</translation>
+        <location line="+4"/>
+        <source>Check, if updates are available</source>
+        <comment>Help action</comment>
+        <translation>Provjeri ako postoje ažuriranja</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2533"/>
-        <source>Set application to open pdf files</source>
-        <comment>Settings action</comment>
-        <translation>Postavi aplikaciju za otvaranje PDF datoteka</translation>
+        <location line="+5"/>
+        <source>Show keyboard shortcuts</source>
+        <comment>Help action</comment>
+        <translation>Prikaži prečace tipkovnice</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2537"/>
-        <source>Set application to open external links</source>
-        <comment>Settings action</comment>
-        <translation>Postavi aplikaciju za otvaranje vanjskih veza</translation>
+        <location line="+4"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2541"/>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
-        <translation>Postavi aplikaciju za komprimiranje/raspakiravanje datoteka</translation>
+        <location line="+8"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
+        <translation>Debug info</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2545"/>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
-        <translation>Postavi putanju za makroe</translation>
+        <location line="+8"/>
+        <source>About VYM</source>
+        <comment>Help action</comment>
+        <translation>O VYMu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2549"/>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
-        <translation>Postavi broj poništi/ponovi nivoa</translation>
+        <location line="+296"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2555"/>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
-        <translation>Automatsko spremanje</translation>
+        <location line="+21"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2561"/>
-        <source>Autosave time</source>
-        <comment>Settings action</comment>
-        <translation>Vrijeme automatskog spremanja</translation>
+        <location line="+210"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2574"/>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
-        <translation>Zapiši backup datoteku pri spremanju</translation>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2583"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Uredi granu nakon dodavanja</translation>
+        <location line="+83"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2589"/>
-        <source>Select branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Odaberi granu nakon dodavanja</translation>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2595"/>
-        <source>Select existing heading</source>
-        <comment>Settings action</comment>
-        <translation>Odaberi postojeći naslov</translation>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2601"/>
-        <source>Exclusive flags</source>
-        <comment>Settings action</comment>
-        <translation>Ekskluzivne zastavice</translation>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2607"/>
-        <source>Use hide flags</source>
-        <comment>Settings action</comment>
-        <translation>Koristi zastavice za skrivanje</translation>
+        <location line="+48"/>
+        <source>Firefox Bookmarks</source>
+        <translation type="unfinished">Firefoxove knjižne oznake</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+616"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">Veza na drugu vym mapu</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+915"/>
+        <source>Load vym script</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-2777"/>
+        <source>About QT</source>
+        <comment>Help action</comment>
+        <translation>O QTu</translation>
+    </message>
+    <message>
+        <location line="-2870"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+829"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+21"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+44"/>
+        <source>CSV...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+477"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+277"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+556"/>
+        <source>Images</source>
+        <translation type="unfinished">Slike</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Sve</translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-1554"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Firefoxove knjižne oznake</translation>
+    </message>
+    <message>
+        <location line="+635"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+679"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+205"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Važno</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Nazad</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Pogledaj ovdje</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Opasno</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Zastavica</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Kuća</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Telefon</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Muzika</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Poštanski pretinac</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2615"/>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
-        <translation>Broj vidljivih roditelja u prozoru uređivača zadatka</translation>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2620"/>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
-        <translation>Broj vidljivih roditelja u prozoru rezultata pretrage</translation>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Zaporka</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2625"/>
-        <source>Animation</source>
-        <comment>Settings action</comment>
-        <translation>Animacija</translation>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Za poboljšanje</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2632"/>
-        <source>Automatic layout</source>
-        <comment>Settings action</comment>
-        <translation>Automatski raspored</translation>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Stani</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2643"/>
-        <source>Test</source>
-        <translation>Test</translation>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Magija</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2675"/>
-        <source>&amp;Help</source>
-        <comment>Help menubar entry</comment>
-        <translation>&amp;Pomoć</translation>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Za raspravu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2678"/>
-        <source>Open VYM Documentation (pdf) </source>
-        <comment>Help action</comment>
-        <translation>Otvori VYM dokumentaciju (pdf)</translation>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Podsjetnik</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2682"/>
-        <source>Open VYM example maps </source>
-        <comment>Help action</comment>
-        <translation>Učitaj VYM mape primjera</translation>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Izvrsno</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2687"/>
-        <source>Download and show release notes</source>
-        <comment>Help action</comment>
-        <translation>Skini i pokaži bilješke izdanja</translation>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Linux</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2691"/>
-        <source>Check, if updates are available</source>
-        <comment>Help action</comment>
-        <translation>Provjeri ako postoje ažuriranja</translation>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Slatko</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2696"/>
-        <source>Show keyboard shortcuts</source>
-        <comment>Help action</comment>
-        <translation>Prikaži prečace tipkovnice</translation>
+        <location line="+162"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2700"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
-        <translation>Debug info</translation>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2704"/>
-        <source>About VYM</source>
-        <comment>Help action</comment>
-        <translation>O VYMu</translation>
+        <location line="+82"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2708"/>
-        <source>About QT</source>
+        <location line="+98"/>
+        <source>Show scripting commands</source>
         <comment>Help action</comment>
-        <translation>O QTu</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2725"/>
+        <location line="+29"/>
         <source>Add</source>
         <translation>Dodaj</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2737"/>
+        <location line="+13"/>
         <source>Remove</source>
         <comment>Context menu name</comment>
         <translation>Ukloni</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2757"/>
+        <location line="+18"/>
         <source>Tasks</source>
         <comment>Context menu</comment>
         <translation>Zadatci</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2774"/>
+        <location line="+20"/>
         <source>References (URLs, vymLinks, ...)</source>
         <comment>Context menu name</comment>
         <translation>Reference (URLovi, vymLinkovi, ...)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
+        <location line="+20"/>
         <source>XLinks</source>
         <comment>Menu for file actions</comment>
         <translation>XLinkovi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2800"/>
+        <location line="+3"/>
         <source>Edit XLink</source>
         <comment>Context menu name</comment>
         <translation>Uredi XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2805"/>
+        <location line="+4"/>
         <source>Follow XLink</source>
         <comment>Context menu</comment>
         <translation>Prati XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2811"/>
+        <location line="+7"/>
         <source>Follow XLink</source>
         <comment>Context menu name</comment>
         <translation>Prati XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2820"/>
+        <location line="+6"/>
         <source>Save image</source>
         <comment>Context action</comment>
         <translation>Spremi sliku</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2915"/>
+        <location line="+108"/>
         <source>File actions toolbar</source>
         <comment>Toolbar for file actions</comment>
         <translation>Alatna traka datotečnih akcija</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2924"/>
+        <location line="+9"/>
         <source>Undo and clipboard toolbar</source>
         <comment>Toolbar for redo/undo and clipboard</comment>
         <translation>Alatna traka poništavanja i međuspremnika</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2933"/>
+        <location line="+10"/>
         <source>Edit actions toolbar</source>
         <comment>Toolbar name</comment>
         <translation>Uredi alatnu traku akcija</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2950"/>
+        <location line="+19"/>
         <source>Selection toolbar</source>
         <comment>Toolbar name</comment>
         <translation>Alatna traka odabira</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2958"/>
+        <location line="+9"/>
         <source>URLs and vymLinks toolbar</source>
         <comment>Toolbar for URLs and vymlinks</comment>
         <translation>Alatna traka URLova i vymLinkova</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2966"/>
+        <location line="+6"/>
         <source>Colors toolbar</source>
         <comment>Colors toolbar name</comment>
         <translation>Alatna traka boja</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2974"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation>Izbornik povećanja</translation>
+        <location line="+3791"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2984"/>
+        <location line="-3732"/>
         <source>Editors toolbar</source>
         <comment>Editor Toolbar name</comment>
         <translation>Alatna traka uređivača</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2996"/>
+        <location line="+12"/>
         <source>Modifier modes toolbar</source>
         <comment>Modifier Toolbar name</comment>
         <translation>Alatna traka načina modifikatora</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3094"/>
+        <location line="+155"/>
         <source>(readonly)</source>
         <translation>(samo za čitanje)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3128"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation>neimenovana</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3181"/>
+        <location line="+93"/>
         <source>The map %1
 is already opened.Opening the same map in multiple editors may lead 
 to confusion when finishing working with vym.Do you want to</source>
@@ -2111,19 +2465,20 @@ je već otvorena. Otvaranje iste mape u više uređivača može dovesti
 do zabune pri završetku rada s vymom. Želite li</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3189"/>
+        <location line="+9"/>
         <source>Open anyway</source>
         <translation>Svejedno otvori</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3190"/>
-        <location filename="../mainwindow.cpp" line="3237"/>
-        <location filename="../mainwindow.cpp" line="3464"/>
+        <location line="+1"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
         <source>Cancel</source>
         <translation>Odustani</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3230"/>
+        <location line="-366"/>
         <source>This map does not exist:
   %1
 Do you want to create a new one?</source>
@@ -2132,73 +2487,79 @@ Do you want to create a new one?</source>
 Želite li kreirati novu mapu?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3236"/>
+        <location line="+7"/>
         <source>Create</source>
         <translation>Kreiraj</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3266"/>
+        <location line="+41"/>
         <source>Loading: %1</source>
         <comment>Progress dialog while loading maps</comment>
         <translation>Učitavam: %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3305"/>
+        <location line="+45"/>
         <source>Load vym map</source>
         <translation>Učitaj vym mapu</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3308"/>
+        <location line="+6"/>
         <source>Import: Add vym map to selection</source>
         <translation>Uvoz: Dodaj vym mapu u odabir</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3311"/>
+        <location line="+4"/>
         <source>Import: Replace selection with vym map</source>
         <translation>Uvoz: Zamijeni odabis s vym mapom</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3316"/>
+        <location line="+5"/>
         <source>or</source>
         <comment>File Dialog</comment>
         <translation>ili</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3416"/>
+        <location line="+116"/>
         <source>Saved  %1</source>
         <translation>Spremljen %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3420"/>
+        <location line="+4"/>
         <source>Couldn&apos;t save </source>
         <translation>Ne mogu spremiti</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3447"/>
+        <location line="+23"/>
         <source>Save map as</source>
         <translation>Spremi mapu kao</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3458"/>
+        <location line="+16"/>
+        <location line="+92"/>
         <source>The file %1
 exists already. Do you want to</source>
         <translation>Datoteka %1
 već postoji. Želite li</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3463"/>
+        <location line="-87"/>
         <source>Overwrite</source>
         <translation>Prepiši</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3500"/>
-        <location filename="../mainwindow.cpp" line="3506"/>
-        <location filename="../mainwindow.cpp" line="4133"/>
+        <location line="-409"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
         <source>Critical Error</source>
         <translation>Kritična greška</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3500"/>
+        <location line="-738"/>
+        <location line="+82"/>
         <source>Couldn&apos;t save %1,
 because of existing lockfile:
 
@@ -2208,160 +2569,136 @@ zbog postojeće datoteke zaključavanja:
 %2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3506"/>
-        <source>Couldn&apos;t save %1</source>
-        <translation>Ne mogu spremiti %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3539"/>
-        <source>Bookmarks</source>
-        <translation>Knjižne oznake</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3539"/>
-        <location filename="../mainwindow.cpp" line="3599"/>
+        <location line="+60"/>
+        <location line="+54"/>
+        <location line="+1"/>
         <source>Import</source>
         <translation>Uvoz</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3566"/>
-        <source>Load Freemind map</source>
-        <translation>Učitaj Freemind mapu</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3681"/>
+        <location line="+62"/>
         <source>Export as CSV</source>
         <translation>Izvezi kao CSV</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3710"/>
-        <location filename="../mainwindow.cpp" line="3727"/>
+        <location line="+37"/>
+        <location line="+68"/>
         <source>Export to</source>
         <translation>Izvezi u</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3748"/>
-        <location filename="../mainwindow.cpp" line="3878"/>
-        <location filename="../mainwindow.cpp" line="3921"/>
-        <location filename="../mainwindow.cpp" line="4263"/>
-        <location filename="../mainwindow.cpp" line="5843"/>
-        <location filename="../mainwindow.cpp" line="5990"/>
-        <location filename="../mainwindow.cpp" line="6155"/>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
         <source>Warning</source>
         <translation>Upozorenje</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3749"/>
+        <location line="-3242"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+308"/>
         <source>Couldn&apos;t find configuration for export to LibreOffice
 </source>
         <translation>Ne mogu naći konfiguraciju za izvoz u LibreOffice
 </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3773"/>
+        <location line="+88"/>
         <source>The map %1 has been modified but not saved yet. Do you want to</source>
         <translation>Mapa %1 je modificirana, ali nije spremljena. Želite li</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3778"/>
+        <location line="+6"/>
         <source>Save modified map before closing it</source>
         <translation>Spremljena izmijenjenu mapu prije zatvaranja</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3779"/>
+        <location line="+1"/>
         <source>Discard changes</source>
         <translation>Odbaci promjene</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3879"/>
-        <location filename="../mainwindow.cpp" line="5844"/>
+        <location line="+106"/>
+        <location line="+2345"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <translation>Ne mogu naći program za pregledavanje %1.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3880"/>
-        <location filename="../mainwindow.cpp" line="5845"/>
+        <location line="-2344"/>
+        <location line="+2345"/>
         <source>Please use Settings-&gt;</source>
         <translation>Molim koristite postavke-&gt;</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3880"/>
-        <location filename="../mainwindow.cpp" line="4984"/>
+        <location line="-2344"/>
+        <location line="+1260"/>
         <source>Set application to open an URL</source>
         <translation>Postavi aplikaciju za otvaranje URLa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3922"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Ne mogu pokrenuti %1 za otvatanje nove kartice u %2.</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3997"/>
+        <location line="-1197"/>
         <source>Enter URL:</source>
         <translation>Unesi URL:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
+        <location line="+23"/>
         <source>HTML</source>
         <comment>Filedialog</comment>
         <translation>HTML</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
+        <location line="+1"/>
         <source>Text</source>
         <comment>Filedialog</comment>
         <translation>Tekst</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4022"/>
+        <location line="+1"/>
         <source>Spreadsheet</source>
         <comment>Filedialog</comment>
         <translation>Proračunska tablica</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4023"/>
+        <location line="+1"/>
         <source>Textdocument</source>
         <comment>Filedialog</comment>
         <translation>Tekstualnidokument</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4024"/>
+        <location line="+1"/>
         <source>Images</source>
         <comment>Filedialog</comment>
         <translation>Slike</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4028"/>
+        <location line="+4"/>
         <source>Set URL to a local file</source>
         <translation>Postavi URL za lokalnu datoteku</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4134"/>
+        <location line="+125"/>
         <source>Couldn&apos;t open map %1</source>
         <translation>Ne mogu otvoriti mapu %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4186"/>
-        <location filename="../mainwindow.cpp" line="4188"/>
-        <source>Link to another map</source>
-        <translation>Veza na drugu mapu</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4247"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation>Unesi vrijeme spavanja (broj dana ili datum YYYY-MM-DD ili DD.MM[.YYYY]</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4264"/>
+        <location line="+171"/>
         <source>Couldn&apos;t set sleep time to %1.
 </source>
         <translation>Ne mogu postaviti spavanje na %1.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4289"/>
+        <location line="+28"/>
         <source>%1 items on map
 </source>
         <comment>Info about map</comment>
@@ -2369,171 +2706,188 @@ zbog postojeće datoteke zaključavanja:
 </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
+        <location line="+21"/>
         <source>branches</source>
         <comment>Info about map</comment>
         <translation>grane</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
+        <location line="+3"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
         <source>notes</source>
         <comment>Info about map</comment>
         <translation>bilješke</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
+        <location line="+1"/>
         <source>images</source>
         <comment>Info about map</comment>
         <translation>slike</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4310"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation>zadatci</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4311"/>
+        <location line="+3"/>
         <source>slides</source>
         <comment>Info about map</comment>
         <translation>slajdovi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4312"/>
+        <location line="+2"/>
         <source>xLinks</source>
         <comment>Info about map</comment>
         <translation>xLinkovi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4970"/>
-        <location filename="../mainwindow.cpp" line="5845"/>
-        <source>Set application to open PDF files</source>
-        <translation>Postavi aplikaciju za otvaranje PDF datoteka</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5003"/>
-        <location filename="../mainwindow.cpp" line="5013"/>
-        <source>Set application to zip/unzip files</source>
-        <translation>Postavi aplikaciju za komprimiranje/raspakiravanje datoteka</translation>
+        <location line="+673"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5031"/>
-        <source>Directory with vym macros:</source>
-        <translation>Direktorij sa vym makroima:</translation>
+        <location line="+123"/>
+        <location line="+1097"/>
+        <source>Set application to open PDF files</source>
+        <translation>Postavi aplikaciju za otvaranje PDF datoteka</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5044"/>
+        <location line="-1046"/>
         <source>Number of undo/redo levels:</source>
         <translation>Broj poništi/ponovi nivoa:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5048"/>
+        <location line="+4"/>
         <source>VYM -Information:</source>
         <translation>VYM-informacije:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5049"/>
+        <location line="+1"/>
         <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
         <translation>Postavke su se promijenile. Sljedeća otvorena mapa će imati %1 poništi/ponovi nivoa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5069"/>
+        <location line="+40"/>
         <source>Number of seconds before autosave:</source>
         <translation>Broj sekundi do automatskog spasa:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5079"/>
+        <location line="+11"/>
         <source>Set author for new maps (used in lockfile)</source>
         <translation>Postavi autora nove mape (korišteno u zaključanoj datoteci)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5080"/>
+        <location line="+3"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation>nepoznati korisnik</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5091"/>
+        <location line="+33"/>
+        <source>Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
         <source>Number of parents shown in find results:</source>
         <translation>Broj prikazanih roditelja u rezultatima pretrage:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5101"/>
+        <location line="+11"/>
         <source>Number of parents shown for a task:</source>
         <translation>Broj prikazanih roditelja za zadatak:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5452"/>
+        <location line="+32"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+401"/>
         <source>History for %1</source>
         <comment>Window Caption</comment>
         <translation>Povijest za %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5475"/>
+        <location line="+23"/>
         <source>Export in last used format (%1) to: %2</source>
         <comment>status tip</comment>
         <translation>Izvezi po zadnje korištenom formatu (%1)  u: %2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5830"/>
+        <location line="+440"/>
         <source>Critcal error</source>
         <translation>Kritična greška</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5831"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find the documentation %1 in:
 %2</source>
         <translation>Ne mogu naći dokumentaciju %1 u: %2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5859"/>
+        <location line="+31"/>
         <source>Load vym example map</source>
         <translation>Učitaj vym mapu primjera</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5990"/>
+        <location line="+190"/>
         <source>Please allow vym to download release notes!</source>
         <translation>Molim da dozvolite vymu da skine bilješke izdanja!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6011"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translation type="unfinished">&lt;html&gt;&lt;h3&gt;Da li dozvoljavate vymu da online provjerava nadogradnje ili bilješke izdanja?&lt;/h3&gt;Ako dozvoljavate, vym će&lt;ul&gt;&lt;li&gt;provjeriti jednom bilješke izdanja&lt;/li&gt;&lt;li&gt;regularno provjeravati nadogradnje i upozoriti u slučaju da je vym potrebno ažurirati radi raspoloživih važnih zakrpi&lt;/li&gt;&lt;li&gt;dobiti kolačić sa nasumičnim IDjem i poslati uz njega vym verziju i platformu (&quot;Windows&quot; ili &quot;Linux&quot;) nazad meni, Uwe Drechselu.&lt;p&gt;Kao vym programer, ja sam motiviran vidjeti što više ljudi kako koriste vym. Naravno, znatiželjan sam vidjeti na kojim sustavima se vym koristi. Održavanje svakog od sustava zahtijeva puno mog (slobodnog) vremena.&lt;/p&gt; &lt;p&gt;Ništa drugo od podataka neće biti poslano, osobito nikakvi privatni podatci neće biti skupljani ili poslani (Provjerite izvorni kod ako ne vjerujete.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;Ako ne dozvoljavate,&lt;ul&gt;&lt;li&gt;ništa neće biti poslano a posbno ja &lt;b&gt;neću biti motiviran&lt;/b&gt; provesti još nekoliko tisuća sati u razvijanju besplatnog softverskog alata.&lt;/ul&gt;Molim Vas dozvolite vymu da provjerava nadogradnje :-)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6040"/>
+        <location line="+62"/>
         <source>Allow</source>
         <translation>Dozvoli</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6041"/>
+        <location line="+1"/>
         <source>Do not allow</source>
         <translation>Nemoj dozvoliti</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6047"/>
+        <location line="+5"/>
         <source>Thank you for enabling downloads!</source>
         <translation>Hvala za dozvoljavanje skidanja!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6070"/>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Update information</source>
         <translation>Ažuriraj informacije</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6076"/>
+        <location line="+4"/>
         <source>vym is up to date.</source>
         <comment>MainWindow</comment>
         <translation>vym je ažuran.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6127"/>
+        <location line="+48"/>
         <source>Checking for updates...</source>
         <comment>MainWindow</comment>
         <translation>Provjeri ažuriranja...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6155"/>
+        <location line="+30"/>
         <source>Please allow vym to check for updates!</source>
         <translation>Molim da dozvolite vymu da provjeri ako postoje ažuriranja!</translation>
     </message>
@@ -2541,29 +2895,34 @@ zbog postojeće datoteke zaključavanja:
 <context>
     <name>MapEditor</name>
     <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation>Uređivač mapa</translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation>Uredi naslov</translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="510"/>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
         <translation>Ispis vym mape</translation>
     </message>
+    <message>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
         <comment>Name of editor shown as window title</comment>
         <translation>Uređivač bilješki</translation>
@@ -2572,151 +2931,162 @@ zbog postojeće datoteke zaključavanja:
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="+63"/>
+        <location filename="../src/file.cpp" line="+334"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+519"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>Greška</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>Ne mogu dohvatiti privremeni direktorij</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="+58"/>
         <source>Warning: Overwriting file</source>
         <translation>Upozorenje: Prepisivanje datoteke</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location line="+2"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation>Izvoz u %1 će prepisati postojeću datoteku:
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="+13"/>
         <source>Export as ASCII</source>
         <translation>Izvezi kao ASCII</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
         <source>(still experimental)</source>
         <translation>(experimentalno)</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+12"/>
+        <location filename="../src/export-ascii.cpp" line="+8"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>Kritična greška izvoza</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation>Ne mogu izvesti kao AO u %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+2"/>
+        <location filename="../src/export-csv.cpp" line="+2"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+3"/>
+        <location filename="../src/export-impress.cpp" line="-82"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>Neuspješan izvoz.</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="-1"/>
         <source>Could not export as ASCII to %1</source>
         <translation>Ne mogu izvesti kao ASCII u %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-10"/>
         <source>Export as CSV</source>
         <translation>Izvezi kao CSV</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation>Ne mogu izvesti kao CSV u %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>Izvoz %1 knjiških oznaka će prepisati
-postojeću datoteku knjiških oznaka.</translation>
+        <location filename="../src/macros.cpp" line="+46"/>
+        <source>Warning</source>
+        <translation>Upozorenje</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>Upozorenje: Prepisivanje %1 knjiške oznake</translation>
+        <location filename="../src/export-confluence.cpp" line="-57"/>
+        <location filename="../src/export-html.cpp" line="-94"/>
+        <source>Contents:</source>
+        <comment>Used in HTML export</comment>
+        <translation>Sadržaj:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="378"/>
-        <source>Warning</source>
-        <translation>Upozorenje</translation>
+        <location filename="../src/export-html.cpp" line="-200"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>Ne mogu naći skriptu %1
-za obavještavanje Web preglednika o izmijenjenom knjiškim oznakama.</translation>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
-        <source>Contents:</source>
-        <comment>Used in HTML export</comment>
-        <translation>Sadržaj:</translation>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location line="+175"/>
         <source>Export aborted.</source>
         <translation>Izvoz prekinut.</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="+14"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation>Kritično</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location line="-98"/>
         <source>Could not find stylesheet %1</source>
         <translation>Ne mogu naći stilski predložak %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation>Greška</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -2726,72 +3096,69 @@ za obavještavanje Web preglednika o izmijenjenom knjiškim oznakama.</translati
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+88"/>
         <source>Trying to create directory for flags:</source>
         <translation>Pokušavam kreirati direktorij za zastavice:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation>Ne mogu kreirati %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation>Ne mogu kopirati %1 u %2</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="-77"/>
         <source>Trying to save HTML file:</source>
         <translation>Pokušavam spremiti HTML datoteku:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location line="+1"/>
+        <location filename="../src/export-html.cpp" line="+1"/>
+        <location filename="../src/export-impress.cpp" line="-1"/>
         <source>Could not write %1</source>
         <translation>Ne mogu zapisati %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation>Ne mogu izvesti kao OrgMode u %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation>Ne mogu izvesti kao LaTeX u %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-115"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation>Izvezi kao LibreOffice Impress prezentaciju</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation>Nema objekata u mapi!</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation>Ne mogu pročitati postavke iz &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>Provjeri &quot;%1&quot; u
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>Ne mogu pročitati %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="88"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -2799,257 +3166,299 @@ Do you risk to overwrite its contents?</source>
 Želite li reskirati prepisivanje njegovog sadržaja?</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="94"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation>Prepiši</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="95"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Odustani</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="264"/>
-        <location filename="../file.cpp" line="281"/>
-        <location filename="../file.cpp" line="294"/>
-        <location filename="../file.cpp" line="303"/>
-        <location filename="../file.cpp" line="311"/>
-        <location filename="../file.cpp" line="329"/>
-        <location filename="../file.cpp" line="338"/>
-        <location filename="../file.cpp" line="346"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="365"/>
-        <location filename="../file.cpp" line="373"/>
-        <location filename="../file.cpp" line="380"/>
-        <location filename="../file.cpp" line="389"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="432"/>
-        <location filename="../file.cpp" line="442"/>
-        <location filename="../file.cpp" line="455"/>
-        <location filename="../main.cpp" line="412"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location line="+186"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="-85"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>Kritična greška</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="265"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation>Ne mogu ukloniti postojeću datoteku s puta prije spremanja.</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="282"/>
-        <location filename="../file.cpp" line="411"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
-        <translation>Ne mogu pokrenuti alat za raspakiravanje podataka.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="295"/>
-        <location filename="../file.cpp" line="330"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>Ne mogu pokrenuti zip za sažimanje podataka.</translation>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="304"/>
-        <location filename="../file.cpp" line="339"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>zip nije normalno završio</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation>Ne mogu preimenovati %1 nazad u %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="366"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation>Ne mogu ukloniti izlaz na staru simboličku vezu %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="374"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation>Ne mogu preimenovati izlaz na staru simboličku vezu %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="381"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation>Ne mogu povezati %1 na staru simboličku vezu %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="390"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation>Spremljena datoteka %1, ali ne mogu obrisati %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="433"/>
-        <source>Couldn&apos;t start %1 to decompress data.</source>
-        <translation>Ne mogu pokrenuti %1 za raspakiravanje podataka.</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="443"/>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+1"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 nije normalno završio</translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
 </source>
-        <translation>Ne mogu naći makro u %1.</translation>
+        <comment>Macros::pathExists</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
+        <location line="+1"/>
         <source>Please use Settings-&gt;</source>
         <translation>Molim koristite postavke-&gt;</translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
+        <location line="+1"/>
         <source>Set directory for vym macros</source>
         <translation>Postavi direktorij za vym makroe</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="413"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation>Upozorenje: Problem s verzijom</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <translation>&lt;h3&gt;Mapa je novija od VYMa&lt;/h3&gt;&lt;p&gt;Mapa koju pokušavate učitati je spremljena pomoću vym %1. Verzija ovog vyma je %2. Ako se suočite s problemima, osvježavanje vyma bi trebalo pomoći.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/xsltproc.cpp" line="-6"/>
+        <source>Could not start %1</source>
+        <translation>Ne mogu pokrenuti %1</translation>
+    </message>
+    <message>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/main.cpp" line="-7"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
  </source>
-        <translation>Ne mogu naći alat za raspakiravanje podataka. Skinite i instalirajte 7z te podesite putanje u postavkama:
-</translation>
+        <comment>zip tool missing on Linux/Mac platform</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="477"/>
-        <location filename="../scripteditor.cpp" line="78"/>
+        <location line="+62"/>
+        <location line="+15"/>
         <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation>Ne mogu otvoriti &quot;%1&quot; %2.</translation>
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
-        <translation>Ne mogu spremiti &quot;%1&quot;</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3804"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Ne mogu naći Bugzilla klijenta. Na openSUSE ga možete instalirati (kao root korisnik):
-
-</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3809"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Alternativno možete dodati repozitorij
-i instalirati perl modul za pristup Bugzili korištenjem YaSTa</translation>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3812"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
-        <translation>Upozorenje: Ne mogu naći Bugzilla klijenta</translation>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
-        <translation>Upozorenje: Problem s verzijom</translation>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
-        <translation>&lt;h3&gt;Mapa je novija od VYMa&lt;/h3&gt;&lt;p&gt;Mapa koju pokušavate učitati je spremljena pomoću vym %1. Verzija ovog vyma je %2. Ako se suočite s problemima, osvježavanje vyma bi trebalo pomoći.&lt;/p&gt;</translation>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
-        <source>Could not start %1</source>
-        <translation>Ne mogu pokrenuti %1</translation>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="-3394"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
         <source>Form</source>
-        <translation>Obrazac</translation>
+        <translation type="vanished">Obrazac</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
-        <translation>1. kartica</translation>
+        <source>Reload</source>
+        <translation type="obsolete">Ponovo učitaj</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
         <source>Save to selected slide</source>
-        <translation>Spremi u odabrani slajd</translation>
+        <translation type="vanished">Spremi u odabrani slajd</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
         <source>Run</source>
-        <translation>Pokreni</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
-        <translation>2. kartica</translation>
+        <translation type="vanished">Pokreni</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
-        <translation>Trenutni ključ:</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="131"/>
         <source>Load</source>
-        <translation>Učitaj</translation>
+        <translation type="vanished">Učitaj</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
         <source>Save</source>
-        <translation>Spremi</translation>
+        <translation type="vanished">Spremi</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
+        <location filename="../src/scripteditor.cpp" line="-123"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation>Slajd</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation>Makro</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation>Spremi</translation>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location line="+30"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation>Upozorenje</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
+        <location line="-6"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation>Ne mogu dohvatiti model za spremanje skripte u slajd!</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation>Ne mogu naći slajd u koji mogu spremiti skriptu!</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
         <source>Save script</source>
         <translation>Spremi skriptu</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="155"/>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -3059,116 +3468,126 @@ već postoji.
 Želite li ju prepisati?</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
+        <location line="+5"/>
         <source>Overwrite</source>
         <translation>Prepiši</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="161"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Odustani</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="184"/>
+        <location line="-58"/>
         <source>Load script</source>
         <translation>Učitaj skriptu</translation>
     </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation>Greška</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation>Ne mogu otvoriti %1.
-</translation>
-    </message>
 </context>
 <context>
     <name>ShowTextDialog</name>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="50"/>
         <source>Close</source>
-        <translation>Zatvori</translation>
+        <translation type="vanished">Zatvori</translation>
     </message>
 </context>
 <context>
     <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
-        <translation>Trenutna mapa</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Aktivni zadatci</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Novi zadatci</translation>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation>Uređivanje naslova</translation>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation>Prioritet</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation>Status</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translatorcomment>According to PDF documentation</translatorcomment>
         <translation>Kreiran</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translatorcomment>According to PDF documentation</translatorcomment>
         <translation>Modificiran</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation>Spavaj</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation>Mapa</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation>Zadatak</translation>
@@ -3177,246 +3596,234 @@ već postoji.
 <context>
     <name>TextEditor</name>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
+        <location filename="../src/texteditor.cpp" line="+51"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation>Spreman</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="220"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation>Nema imena datoteke za ovu bilješku.</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="313"/>
+        <location line="+83"/>
         <source>Note Actions</source>
         <translation>Akcije bilješki</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="315"/>
+        <location line="+2"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>&amp;Bilješka</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="317"/>
-        <location filename="../texteditor.cpp" line="371"/>
-        <location filename="../texteditor.cpp" line="435"/>
+        <location line="+2"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation>Uređivač teksta</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="319"/>
+        <location line="-116"/>
         <source>&amp;Import...</source>
         <translation>&amp;Uvoz...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>&amp;Izvoz...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="339"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>Izvezi &amp;kao... (HTML)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="344"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>Izvezi &amp;kao... (ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="354"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>&amp;Ispis...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="362"/>
+        <location line="+8"/>
         <source>&amp;Delete All</source>
         <translation>&amp;Briši sve</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="372"/>
+        <location line="+10"/>
         <source>Edit Actions</source>
         <translation>Uredi akcije</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="375"/>
+        <location line="+3"/>
         <source>Edi&amp;t</source>
         <translation>&amp;Uredi</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="378"/>
+        <location line="+3"/>
         <source>&amp;Undo</source>
         <translation>&amp;Poništi</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="387"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>&amp;Ponovi</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="397"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>Odaberi i kopiraj &amp;sve</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="405"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>&amp;Kopiraj</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="414"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>&amp;Izreži</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="423"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>&amp;Zalijepi</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="436"/>
+        <location line="+14"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation>Moduliranja slova</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="438"/>
+        <location line="+2"/>
         <source>F&amp;ormat</source>
         <translation>&amp;Format</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="442"/>
+        <location line="+4"/>
         <source>&amp;Font hint</source>
         <translation>&amp;Moduliranje slova</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="453"/>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation>&amp;Bogati tekst</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="463"/>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation>Fontovi</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="489"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation>Format</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="494"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>&amp;Boja...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="500"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>&amp;Podebljano</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="510"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>&amp;Kurziv</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="520"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>&amp;Podvučeno</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="534"/>
+        <location line="+14"/>
         <source>Subs&amp;cript</source>
         <translation>In&amp;deks</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="544"/>
+        <location line="+10"/>
         <source>Su&amp;perscript</source>
         <translation>&amp;Eksponent</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="558"/>
+        <location line="+15"/>
         <source>&amp;Left</source>
         <translation>&amp;Lijevo</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="564"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>C&amp;entriraj</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="570"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>&amp;Desno</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="576"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>&amp;Složi</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="586"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>&amp;Postavke</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="589"/>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation>Postavi &amp;fiksni font</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="594"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>Postavi &amp;variabilni font</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="599"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>&amp;fiksni font je zadan</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="607"/>
-        <source>Set empty editor background color</source>
-        <comment>TextEditor</comment>
-        <translation>Postavi boju pozadine praznog uređivača teksta</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="612"/>
-        <source>Set filled editor background color</source>
-        <comment>TextEditor</comment>
-        <translation>Postavi boju pozadine punog uređivača teksta</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="617"/>
-        <source>Set inactive editor background color</source>
+        <location line="+9"/>
+        <source>Set RichText default background color</source>
         <comment>TextEditor</comment>
-        <translation>Postavi boju pozadine neaktivnog uređivača teksta</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="622"/>
-        <source>Set default font color</source>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
         <comment>TextEditor</comment>
-        <translation>Odredi zadanu boju fonta</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="634"/>
+        <location line="+10"/>
         <source>Note Editor</source>
         <translation>Uređivač bilješki</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="783"/>
+        <location line="+174"/>
         <source>Export Note to single file</source>
         <translation>Izvezi bilješku u jednu datoteku</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="798"/>
-        <location filename="../texteditor.cpp" line="874"/>
+        <location line="+10"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -3426,30 +3833,30 @@ već postoji.
 Želite li ju prepisati?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="803"/>
-        <location filename="../texteditor.cpp" line="879"/>
+        <location line="-71"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>Prepiši</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="804"/>
-        <location filename="../texteditor.cpp" line="880"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Odustani</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="822"/>
+        <location line="-57"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation>Ne mogu izvesti bilješku</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="864"/>
+        <location line="+41"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>Izvezi bilješku u jednu datoteku (ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="907"/>
+        <location line="+45"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation>Ispis</translation>
@@ -3458,13 +3865,13 @@ već postoji.
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation>Odaberi gornji objekt</translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation>Odaberi donji objekt</translation>
@@ -3473,183 +3880,163 @@ već postoji.
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation>nepoznati korisnik</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation>neimenovana</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation>Kritična greška raščlanjivanja</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation>Kritična greška učitavanja</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation>Ne mogu kreirati privremeni direktorij prije učitavanja
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation>Ne mogu naći mapu (*.xml) u .vym arhivi.</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation>Mapa %1
-ne koristi sažeti vym format datoteke.
-Nesažeto zapisivanje će zapisati slike 
-i zastavice pa može prepisati datoteke u postojećem direktoriju
-
-Želite li zapisati u mapu</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
+        <location line="+131"/>
         <source>compressed (vym default)</source>
         <translation>Komprimirano (vym zadano)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation>raspakirano</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="876"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation>Odustani</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation>Greška spremanja</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation>%1
 ne može biti uklonjena prije spremanja</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation>%1
 ne može biti preimenovana prije spremanja</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation>Kritična greška spremanja</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation>Ne mogu kreirati privremeni direktorij prije spremanja
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="799"/>
-        <location filename="../vymmodel.cpp" line="852"/>
-        <location filename="../vymmodel.cpp" line="5795"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation>Slike</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="799"/>
-        <location filename="../vymmodel.cpp" line="852"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation>Sve</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="804"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation>Učitaj sliku</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation>Spremi sliku</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="868"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation>Datoteka %1 već postoji.
 Želite li ju prepisati?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="875"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation>Prepiši</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="890"/>
-        <location filename="../vymmodel.cpp" line="892"/>
-        <location filename="../vymmodel.cpp" line="5212"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation>Kritična greška</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="890"/>
-        <source>Unsupported format in %1</source>
-        <translation>Nepodržan format u %1</translation>
+        <location line="-254"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="892"/>
+        <location line="-3288"/>
         <source>Couldn&apos;t save %1</source>
         <translation>Ne mogu spremiti %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="922"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation>Kritična greška uvoza</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="922"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation>Ne mogu naći direktorij %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="974"/>
-        <location filename="../vymmodel.cpp" line="977"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation>Odabiri strukturu direktorija za uvoz</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="992"/>
+        <location line="+27"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation>nepoznati korisnik</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1011"/>
+        <location line="+28"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -3662,30 +4049,44 @@ Mapa je zaključana od %1 na %2.
 Molim vas obrišite datoteku zaključavanja ako ste sigurni da trenutno nitko ne radi na ovoj mapi.</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1015"/>
+        <location line="+9"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation>Upozorenje: Mapa je već otvorena</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1020"/>
+        <location line="-50"/>
         <source>Removed lockfile for %1</source>
         <translation>Uklonjena datoteka zaključavanja za %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1025"/>
-        <location filename="../vymmodel.cpp" line="1251"/>
-        <location filename="../vymmodel.cpp" line="5160"/>
+        <location line="-324"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+367"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation>Upozorenje</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1026"/>
+        <location line="-3008"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation>Ne mogu ukloniti datoteku zaključavanja za %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1033"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
@@ -3694,13 +4095,13 @@ Molim vas obrišite datoteku zaključavanja ako ste sigurni da trenutno nitko ne
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1036"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation>Upozorenje</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1128"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -3713,104 +4114,93 @@ Do you want to reload that map with the new file?</source>
 Želite li ponovo učitati mapu iz nove datoteke?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1135"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation>Ponovo učitaj</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1136"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation>Ignoriraj</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1251"/>
-        <source>Redo failed:
-%1</source>
-        <translation>Neuspješno ponavljanje: %1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1286"/>
+        <location line="+194"/>
         <source>Autosave disabled during undo.</source>
         <translation>Automatski spas onemogućen za vrijeme poništavanja.</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2013"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation>Bilješka</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2737"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation>Slika</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2970"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation>Nova mapa</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3834"/>
-        <source>Contacting Bugzilla...</source>
+        <location line="+939"/>
+        <source>Could not find Jira ticket pattern in %1</source>
         <comment>VymModel</comment>
-        <translation>Kontaktiranje Bugzille ...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5160"/>
-        <source>Script aborted:
-%1</source>
-        <translation>Skripta je prekinuta: 
-%1</translation>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5197"/>
+        <location line="+323"/>
         <source>Export map as image</source>
         <translation>Izvezi mapu kao sliku</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5212"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation>Ne mogu spremiti QImage %1 u formatu %2</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5237"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation>Izvezi mapu kao PDF</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5292"/>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation>Izvezi mapu kao SVG</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5326"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation>Izvezi mapu kao XML</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5333"/>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation>Izvezi XML u direktorij</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5379"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation>Kritična greška izvoza</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5461"/>
+        <location line="+83"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation>Izvezi kao CSV</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5461"/>
+        <location line="-26"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation>(experimentalno)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5798"/>
+        <location line="+368"/>
         <source>Load background image</source>
         <translation>Učitaj sliku pozadine</translation>
     </message>
@@ -3818,18 +4208,18 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation>Kritična greška</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
         <translation>Ne mogu pokrenuti %1</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 nije normalno završio</translation>
     </message>
@@ -3837,13 +4227,13 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Uređivač stabla</translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Uređivač slajdova</translation>
@@ -3852,35 +4242,83 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>WarningDialog</name>
     <message>
-        <location filename="../warningdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="91"/>
         <source>showAgainBox</source>
-        <translation>prokažiPonovoProzor</translation>
+        <translation type="vanished">prokažiPonovoProzor</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation>Odustani</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation>U redu</translation>
+        <translation type="vanished">U redu</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation>Nastavi</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation>Prikaži ovu poruku ponovo</translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">Upozorenje</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Status</source>
+        <translation type="obsolete">Status</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Zatvori</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
index d70aebbf40cc6bf4f2516f8f1d736ea1501e981f..c69451def7c64ffe5dfde0a434c402ea736b1fab 100644 (file)
@@ -4,19 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation>Gratias</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation>Licentia</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation>Ok</translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="+18"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>Advertimento</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
 </translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+2"/>
         <source>Please use Settings-&gt;</source>
         <translation>Pro favor usa preferentias-&gt;</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+1"/>
         <source>Set application to open an URL...</source>
         <translation>Fixa application pro aperir un URL...</translation>
     </message>
 </context>
+<context>
+    <name>AttributeDialog</name>
+    <message>
+        <source>Attributes</source>
+        <translation type="obsolete">Attributos</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Claude</translation>
+    </message>
+</context>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
         <source>Branch Property Editor</source>
-        <translation>Editor de Proprietate de Ramo</translation>
+        <translation type="vanished">Editor de Proprietate de Ramo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
         <source>Frame</source>
-        <translation>Quadro</translation>
+        <translation type="vanished">Quadro</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
         <source>Geometry</source>
-        <translation>Geometria</translation>
+        <translation type="vanished">Geometria</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
         <source>No Frame</source>
-        <translation>Nulle quadro</translation>
+        <translation type="vanished">Nulle quadro</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation>Rectangulo</translation>
+        <translation type="vanished">Rectangulo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
         <source>Rounded Rectangle</source>
-        <translation>Rectangulo arrotundate </translation>
+        <translation type="vanished">Rectangulo arrotundate </translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
         <source>Ellipse</source>
-        <translation>Ellipse</translation>
+        <translation type="vanished">Ellipse</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
         <source>Cloud</source>
-        <translation>Nube</translation>
+        <translation type="vanished">Nube</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
         <source>Padding</source>
-        <translation>Borra</translation>
+        <translation type="vanished">Borra</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
         <source>Borderline width</source>
-        <translation>Spissor de margine</translation>
+        <translation type="vanished">Spissor de margine</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
         <source>Include children</source>
-        <translation>Include infantes</translation>
+        <translation type="vanished">Include infantes</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
         <source>Colors</source>
-        <translation>Colores</translation>
+        <translation type="vanished">Colores</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
         <source>Borderline color</source>
-        <translation>Color de margine</translation>
+        <translation type="vanished">Color de margine</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
         <source>Background color</source>
-        <translation>Color de fundo</translation>
+        <translation type="vanished">Color de fundo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
         <source>Layout</source>
-        <translation>Disposition</translation>
+        <translation type="vanished">Disposition</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
         <source>Include images horizontally</source>
-        <translation>Include images horizontalmente</translation>
+        <translation type="vanished">Include images horizontalmente</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
         <source>Include images vertically</source>
-        <translation>Include images verticalmente</translation>
+        <translation type="vanished">Include images verticalmente</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
         <source>Free positioning of children (experimental!)</source>
-        <translation>Libere positionar de filios (experimental!)</translation>
+        <translation type="vanished">Libere positionar de filios (experimental!)</translation>
+    </message>
+    <message>
+        <source>Task</source>
+        <translation type="obsolete">Carga</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
         <source>Link</source>
-        <translation>Ligamine</translation>
+        <translation type="vanished">Ligamine</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
         <source>Hide link if unselected</source>
-        <translation>Cela ligamine si non selectionate</translation>
+        <translation type="vanished">Cela ligamine si non selectionate</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
         <source>Attributes</source>
-        <translation>Attributos</translation>
+        <translation type="vanished">Attributos</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
         <source>+</source>
-        <translation>+</translation>
+        <translation type="vanished">+</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
         <source>-</source>
-        <translation>-</translation>
+        <translation type="vanished">-</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
         <translation>Editor de proprietate</translation>
     </message>
-</context>
-<context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation type="obsolete">Editor de Proprietate de Ramo</translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation type="obsolete">Quadro</translation>
-    </message>
-    <message>
-        <source>Geometry</source>
-        <translation type="obsolete">Geometria</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Nulle quadro</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rectangulo</translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation type="obsolete">Ellipse</translation>
-    </message>
-    <message>
-        <source>Cloud</source>
-        <translation type="obsolete">Nube</translation>
-    </message>
-    <message>
-        <source>Padding</source>
-        <translation type="obsolete">Borra</translation>
-    </message>
-    <message>
-        <source>Borderline width</source>
-        <translation type="obsolete">Spissor de margine</translation>
-    </message>
     <message>
-        <source>Include children</source>
-        <translation type="obsolete">Include infantes</translation>
+        <location line="+22"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Colors</source>
-        <translation type="obsolete">Colores</translation>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Borderline color</source>
-        <translation type="obsolete">Color de margine</translation>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Background color</source>
-        <translation type="obsolete">Color de fundo</translation>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Layout</source>
-        <translation type="obsolete">Disposition</translation>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Include images horizontalmente</translation>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Include images verticalmente</translation>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">Advertimento</translation>
     </message>
     <message>
-        <source>Link</source>
-        <translation type="obsolete">Ligamine</translation>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <source>Hide link if unselected</source>
-        <translation type="obsolete">Cela ligamine si non selectionate</translation>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <source>Attributes</source>
-        <translation type="obsolete">Attributos</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialogo</translation>
     </message>
     <message>
-        <source>+</source>
-        <translation type="obsolete">+</translation>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
     <message>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialogo</translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Claude</translation>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Editor de proprietate</translation>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation>Advertimento</translation>
     </message>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation></translation>
+        <translation type="obsolete">Edita XLink</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
         <source>Arrow begin:</source>
-        <translation>Inizio de flecha:</translation>
+        <translation type="vanished">Inizio de flecha:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation>Spissor de XLinK:</translation>
+        <translation type="vanished">Spissor de XLinK:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
         <source>Use color of heading</source>
-        <translation>Usa color de capite</translation>
+        <translation type="vanished">Usa color de capite</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
         <source>Line style:</source>
         <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation>Stylo de linea:</translation>
+        <translation type="vanished">Stylo de linea:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
         <source>Arrow end:</source>
-        <translation>Fin de flecha:</translation>
+        <translation type="vanished">Fin de flecha:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
         <source>Close</source>
-        <translation>Claude</translation>
-    </message>
-    <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">Fixa color de capite</translation>
+        <translation type="vanished">Claude</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
         <source>XLink color:</source>
-        <translation>Color de XLink:</translation>
+        <translation type="vanished">Color de XLink:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
         <source>Use as default:</source>
-        <translation>Usa como predefinite:</translation>
+        <translation type="vanished">Usa como predefinite:</translation>
     </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
     <message>
-        <source>Quit and delete XLink</source>
-        <translation type="obsolete">Quita e dele XLink</translation>
+        <source>Options</source>
+        <translation type="obsolete">Optiones</translation>
     </message>
     <message>
-        <source>Ok</source>
-        <translation type="obsolete">Ok</translation>
+        <source>Image of map</source>
+        <translation type="obsolete">Imagine de mappa</translation>
+    </message>
+    <message>
+        <source>Include images</source>
+        <translation type="obsolete">include images</translation>
+    </message>
+    <message>
+        <source>Table of contents</source>
+        <translation type="obsolete">Indice</translation>
+    </message>
+    <message>
+        <source>Task flags</source>
+        <translation type="obsolete">Bandieras de carga</translation>
+    </message>
+    <message>
+        <source>General flags</source>
+        <translation type="obsolete">Bandieras general</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Capites colorate in texto</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Salveguarda preferentias in mappa</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">Exporta</translation>
     </message>
 </context>
 <context>
     <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
         <source>Export HTML</source>
-        <translation>Exporta in HTML</translation>
+        <translation type="vanished">Exporta in HTML</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
         <source>Export to directory:</source>
-        <translation>Exporta in directorio:</translation>
+        <translation type="vanished">Exporta in directorio:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
         <source>Browse</source>
-        <translation>Naviga</translation>
+        <translation type="vanished">Naviga</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation>Optiones</translation>
+        <translation type="vanished">Optiones</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
         <source>Image of map</source>
-        <translation>Imagine de mappa</translation>
+        <translation type="vanished">Imagine de mappa</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
         <source>Include images</source>
-        <translation>include images</translation>
+        <translation type="vanished">include images</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
         <source>Table of contents</source>
-        <translation>Indice</translation>
+        <translation type="vanished">Indice</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
         <source>Task flags</source>
-        <translation>Bandieras de carga</translation>
+        <translation type="vanished">Bandieras de carga</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
         <source>General flags</source>
-        <translation>Bandieras general</translation>
+        <translation type="vanished">Bandieras general</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
         <source>Number sections</source>
-        <translation>Numerar sectiones</translation>
+        <translation type="vanished">Numerar sectiones</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
         <source>Copy CSS from </source>
-        <translation>Copiar CSS ex</translation>
+        <translation type="vanished">Copiar CSS ex</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
         <source>Use CSS from</source>
-        <translation>Usar CSS ex</translation>
-    </message>
-    <message>
-        <source>Include image</source>
-        <translation type="obsolete">Include imagines</translation>
+        <translation type="vanished">Usar CSS ex</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation>Capites colorate in texto</translation>
+        <translation type="vanished">Capites colorate in texto</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation>Salveguarda preferentias in mappa</translation>
+        <translation type="vanished">Salveguarda preferentias in mappa</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation>Folios de stilo</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
+        <translation type="vanished">Folios de stilo</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation>Scripts</translation>
+        <translation type="vanished">Scripts</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation>Postea exportation:</translation>
+        <translation type="vanished">Postea exportation:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation>Cancella</translation>
+        <translation type="vanished">Cancella</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
         <source>Export</source>
-        <translation>Exporta</translation>
+        <translation type="vanished">Exporta</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation>Advertimento</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -468,157 +449,209 @@ Pro favor verifica si tu vermente
 vole permitter isto in tu systema!</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation>VYM - Exporta HTML in directorio</translation>
     </message>
 </context>
+<context>
+    <name>ExportXHTMLDialog</name>
+    <message>
+        <source>Export to directory:</source>
+        <translation type="obsolete">Exporta in directorio:</translation>
+    </message>
+    <message>
+        <source>Browse</source>
+        <translation type="obsolete">Naviga</translation>
+    </message>
+    <message>
+        <source>Options</source>
+        <translation type="obsolete">Optiones</translation>
+    </message>
+    <message>
+        <source>Include image</source>
+        <translation type="obsolete">Include imagines</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Capites colorate in texto</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Salveguarda preferentias in mappa</translation>
+    </message>
+    <message>
+        <source>Stylesheets</source>
+        <translation type="obsolete">Folios de stilo</translation>
+    </message>
+    <message>
+        <source>CSS:</source>
+        <translation type="obsolete">CSS:</translation>
+    </message>
+    <message>
+        <source>Scripts</source>
+        <translation type="obsolete">Scripts</translation>
+    </message>
+    <message>
+        <source>After Export:</source>
+        <translation type="obsolete">Postea exportation:</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">Exporta</translation>
+    </message>
+</context>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
         <source>VYM - Info</source>
-        <translation>VYM - Info</translation>
+        <translation type="vanished">VYM - Info</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
         <source>Map:</source>
-        <translation>Mappa:</translation>
+        <translation type="vanished">Mappa:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
         <source>Title:</source>
-        <translation>Titulo:</translation>
+        <translation type="vanished">Titulo:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
         <source>Author:</source>
-        <translation>Autor:</translation>
+        <translation type="vanished">Autor:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
         <source>Comment:</source>
-        <translation>Commento:</translation>
+        <translation type="vanished">Commento:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation>Statistics:</translation>
+        <translation type="vanished">Statistics:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation>Cancella</translation>
+        <translation type="vanished">Cancella</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation>Claude</translation>
+        <translation type="vanished">Claude</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation>Trova:</translation>
     </message>
 </context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">Nove mappa</translation>
-    </message>
-</context>
 <context>
     <name>HeadingEditor</name>
     <message>
-        <location filename="../headingeditor.cpp" line="9"/>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <comment>Window caption</comment>
-        <translation>Editor de capite</translation>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished">Editor de capite</translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
     <message>
-        <location filename="../historywindow.ui" line="13"/>
         <source>Dialog</source>
-        <translation>Dialogo</translation>
+        <translation type="vanished">Dialogo</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="50"/>
         <source>Redo</source>
-        <translation>Face de nove</translation>
+        <translation type="vanished">Face de nove</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation>Tempore</translation>
+        <translation type="vanished">Tempore</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation>Commento</translation>
+        <translation type="vanished">Commento</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation>Annulla</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>Claude</translation>
+        <translation type="vanished">Annulla</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation>Action</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>Commento</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation>Annulla action</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation>Stato currente</translation>
     </message>
 </context>
+<context>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">Advertimento</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialogo</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">Adde</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">Remove</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>LineEditDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Dialogo</translation>
+        <translation type="vanished">Dialogo</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
         <source>TextLabel</source>
-        <translation>Etiquetta de texto</translation>
+        <translation type="vanished">Etiquetta de texto</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation>Cancellar</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation>Ok</translation>
     </message>
@@ -626,19 +659,16 @@ vole permitter isto in tu systema!</translation>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">Dialogo</translation>
+        <translation type="obsolete">Dialogo</translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -646,1818 +676,1867 @@ vole permitter isto in tu systema!</translation>
 <context>
     <name>Main</name>
     <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation>Editor de Nota</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
-        <translation>Editor de capite</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
-        <translation>Editor de script</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="260"/>
+        <location filename="../src/mainwindow.cpp" line="+289"/>
         <source>Search results list</source>
         <comment>FindResultWidget</comment>
         <translation>Cerca lista de exitos</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="314"/>
+        <location line="+62"/>
         <source>Task list</source>
         <comment>TaskEditor</comment>
         <translation>Lista de crga</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
+        <location line="-51"/>
         <source>Script Editor</source>
         <comment>ScriptEditor</comment>
         <translation>Editor de script</translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="vanished">&amp;Mappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="971"/>
+        <location line="+787"/>
         <source>&amp;New map</source>
         <comment>File menu</comment>
         <translation>&amp;Nove mappa</translation>
     </message>
     <message>
-        <source>File</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">File</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="978"/>
+        <location line="+9"/>
         <source>&amp;Copy to new map</source>
         <comment>File menu</comment>
         <translation>&amp;Copia in un nove mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="985"/>
+        <location line="+7"/>
         <source>&amp;Open...</source>
         <comment>File menu</comment>
         <translation>&amp;Aperi...</translation>
     </message>
     <message>
-        <source>&amp;Restore last session</source>
-        <comment>File menu</comment>
-        <translation type="vanished">&amp;Restabili ultime session</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
+        <location line="+16"/>
         <source>Open Recent</source>
         <comment>File menu</comment>
         <translation>Aperi recente</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
+        <location line="+3"/>
         <source>&amp;Save...</source>
         <comment>File menu</comment>
         <translation>&amp;Salveguarda...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
+        <location line="+9"/>
         <source>Save &amp;As...</source>
         <comment>File menu</comment>
         <translation>&amp;Salveguarda como...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
+        <location line="+11"/>
         <source>Import</source>
         <comment>File menu</comment>
         <translation>IImporta</translation>
     </message>
     <message>
-        <source>KDE 3 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="obsolete">Favoritos de KDE 3</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="vanished">Favoritos de KDE 4</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
+        <location line="+2"/>
         <source>Firefox Bookmarks</source>
         <comment>Import filters</comment>
         <translation>Favoritos de Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation>Importa Dir%1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
+        <location line="+21"/>
         <source>Export</source>
         <comment>File menu</comment>
         <translation>Exporta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
+        <location line="+3"/>
         <source>Repeat last export (%1)</source>
         <translation>Repite ultime exportation (%1)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
+        <location line="+53"/>
         <source>Image%1</source>
         <comment>File export menu</comment>
         <translation>Image%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
+        <location line="+5"/>
         <source>PDF%1</source>
         <comment>File export menu</comment>
         <translation>PDF%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
+        <location line="+5"/>
         <source>SVG%1</source>
         <comment>File export menu</comment>
         <translation>SVG%1</translation>
     </message>
     <message>
-        <source>KDE 3 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Favoritos de KDE 3</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="vanished">Favoritos de KDE 4</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
+        <location line="+46"/>
         <source>&amp;Print</source>
         <translation>&amp;Imprime</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
+        <location line="+9"/>
         <source>&amp;Close Map</source>
         <comment>File menu</comment>
         <translation>&amp;Claude Mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
+        <location line="+7"/>
         <source>E&amp;xit</source>
         <comment>File menu</comment>
         <translation>E&amp;xi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
+        <location line="+22"/>
         <source>E&amp;dit</source>
         <comment>Edit menu</comment>
         <translation>E&amp;dita</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
+        <location line="+4"/>
         <source>&amp;Undo</source>
         <comment>Edit menu</comment>
         <translation>A&amp;nnulla</translation>
     </message>
     <message>
-        <source>Edit</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Edita</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
+        <location line="+11"/>
         <source>&amp;Redo</source>
         <comment>Edit menu</comment>
         <translation>&amp;Face de nove</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
+        <location line="+11"/>
         <source>&amp;Copy</source>
         <comment>Edit menu</comment>
         <translation>&amp;Copia</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
+        <location line="+11"/>
         <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
         <translation>&amp;Talia</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
+        <location line="+13"/>
         <source>&amp;Paste</source>
         <comment>Edit menu</comment>
         <translation>&amp;Colla</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
+        <location line="+13"/>
+        <location line="+10"/>
         <source>Delete Selection</source>
         <comment>Edit menu</comment>
         <translation>Dele selection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
+        <location line="+11"/>
         <source>Add attribute</source>
         <translation>Adde attributo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
+        <location line="+11"/>
         <source>Add mapcenter</source>
         <comment>Canvas context menu</comment>
         <translation>Adde centro de mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
+        <location line="+11"/>
         <source>Add branch as child</source>
         <comment>Edit menu</comment>
         <translation>Adde ramo como infante</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
+        <location line="+9"/>
         <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
         <translation>Adde ramo (Inserta)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
+        <location line="+10"/>
+        <location line="+10"/>
         <source>Add branch above</source>
         <comment>Edit menu</comment>
         <translation>Adde ramo de supra</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
+        <location line="+10"/>
+        <location line="+9"/>
         <source>Add branch below</source>
         <comment>Edit menu</comment>
         <translation>Adde ramo a basso</translation>
     </message>
     <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Move in alto</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Move a basso</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
+        <location line="+61"/>
         <source>&amp;Detach</source>
         <comment>Context menu</comment>
         <translation>&amp;Distacca</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
+        <location line="+1"/>
         <source>Detach branch and use as mapcenter</source>
         <comment>Context menu</comment>
         <translation>Distacca ramo e usa lo como centro de mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
+        <location line="+8"/>
         <source>Sort children</source>
         <comment>Edit menu</comment>
         <translation>Ordina infantes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
+        <location line="+11"/>
         <source>Sort children backwards</source>
         <comment>Edit menu</comment>
         <translation>Ordina infantes de retro modo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
+        <location line="+10"/>
         <source>Scroll branch</source>
         <comment>Edit menu</comment>
         <translation>rola ramo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
+        <location line="+71"/>
         <source>Expand all branches</source>
         <comment>Edit menu</comment>
         <translation>Expande tote ramos</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
+        <location line="+8"/>
         <source>Expand one level</source>
         <comment>Edit menu</comment>
         <translation>Expande un nivello</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
+        <location line="-33"/>
         <source>Collapse one level</source>
         <comment>Edit menu</comment>
         <translation>Plica un nivello</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
+        <location line="+13"/>
         <source>Collapse unselected levels</source>
         <comment>Edit menu</comment>
         <translation>Plica nivellos non selectionate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
+        <location line="-47"/>
         <source>Unscroll children</source>
         <comment>Edit menu</comment>
         <translation>Annulla rolar de infantes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
+        <location line="-396"/>
         <source>Webpage (HTML)...</source>
         <comment>File export menu</comment>
         <translation>Pagina web (HTML)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
+        <location line="+21"/>
         <source>Text (ASCII)...</source>
         <comment>File export menu</comment>
         <translation>Texto (ASCII)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
+        <location line="+12"/>
         <source>Text with tasks</source>
         <comment>File export menu</comment>
         <translation>Texto con cargas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
+        <location line="+368"/>
         <source>Grow selection</source>
         <comment>Edit menu</comment>
         <translation>Cresce selection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
+        <location line="+9"/>
         <source>Shrink selection</source>
         <comment>Edit menu</comment>
         <translation>Contracte selection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
+        <location line="+9"/>
         <source>Reset selection size</source>
         <comment>Edit menu</comment>
         <translation>Reinitia grandor de selection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
+        <location line="+55"/>
         <source>Open URL</source>
         <comment>Edit menu</comment>
         <translation>Aperi URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
+        <location line="+9"/>
         <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
         <translation>Aperi URL in nove scheda</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
+        <location line="+8"/>
         <source>Open all URLs in subtree (including scrolled branches)</source>
         <comment>Edit menu</comment>
         <translation>Aperi omne URLs in subarbore (includente ramos rolate)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
+        <location line="+10"/>
         <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
         <translation>Aperi omne URLs in subarbore</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
+        <location line="+7"/>
         <source>Extract URLs from note</source>
         <comment>Edit menu</comment>
         <translation>Extrahe URLS ex nota</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
+        <location line="+10"/>
         <source>Edit URL...</source>
         <comment>Edit menu</comment>
         <translation>Edita URL...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
+        <location line="+9"/>
         <source>Edit local URL...</source>
         <comment>Edit menu</comment>
         <translation>Edita URL local...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
+        <location line="+9"/>
         <source>Use heading for URL</source>
         <comment>Edit menu</comment>
         <translation>Usa capite pro UR</translation>
     </message>
     <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Crea URL verso Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Get data from Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Obtene datos ex Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Get data from Novell Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Obtene datos ex Novell Bugzilla per subarbore</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Crea URL verso Novell FATE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
+        <location line="+33"/>
         <source>Open linked map</source>
         <comment>Edit menu</comment>
         <translation>Aperi mappa ligate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
+        <location line="+10"/>
         <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation>Aperir mappas ligate in etiquetta de fundo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
+        <location line="+7"/>
         <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
         <translation>Aperi omne ligamines de vym in subarbore</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
+        <location line="+9"/>
         <source>Edit vym link...</source>
         <comment>Edit menu</comment>
         <translation>Edita ligamine de vym...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
+        <location line="+9"/>
         <source>Delete vym link</source>
         <comment>Edit menu</comment>
         <translation>Dele ligamine de vym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
+        <location line="+9"/>
         <source>Hide in exports</source>
         <comment>Edit menu</comment>
         <translation>Cela quando on exporta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
+        <location line="+12"/>
         <source>Toggle task</source>
         <comment>Edit menu</comment>
         <translation>Commuta carga</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
+        <location line="+12"/>
         <source>Cycle task status</source>
         <comment>Edit menu</comment>
         <translation>Cycla status de carga</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
+        <location line="+21"/>
         <source>Reset sleep</source>
         <comment>Task sleep</comment>
         <translation>Reinitia otio</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Sleep %1 days</source>
         <comment>Task sleep</comment>
         <translation>Otio de carga</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
+        <location line="-55"/>
         <source>Sleep %1 day</source>
         <comment>Task sleep</comment>
         <translation>Otia %1 die</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
+        <location line="+66"/>
+        <location line="+11"/>
         <source>Sleep %1 weeks</source>
         <comment>Task sleep</comment>
         <translation>Otia %1 septimanas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
+        <location line="+57"/>
         <source>Add timestamp</source>
         <comment>Edit menu</comment>
         <translation>Adde marca de tempore</translation>
     </message>
     <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Edita Info de Mappa...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
+        <location line="-45"/>
         <source>Add map (insert)</source>
         <comment>Edit menu</comment>
         <translation>Adde mappa (inserta)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
+        <location line="+7"/>
         <source>Add map (replace)</source>
         <comment>Edit menu</comment>
         <translation>Adde mappa (reimplacia)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
+        <location line="+7"/>
         <source>Save selection</source>
         <comment>Edit menu</comment>
         <translation>Salveguardia selection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
+        <location line="+10"/>
         <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
         <translation>Solmente remobve ramo e mantene su infantes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
+        <location line="+10"/>
         <source>Remove children</source>
         <comment>Edit menu</comment>
         <translation>Remove infantes</translation>
     </message>
     <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Adde imagine...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
+        <location line="+37"/>
         <source>Property window</source>
         <comment>Dialog to edit properties of selection</comment>
         <translation>fenestra de proprietate</translation>
     </message>
     <message>
-        <source>View shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Vide vias breve</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
+        <location line="+16"/>
         <source>Select</source>
         <comment>Select menu</comment>
         <translation>Selectiona</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
+        <location line="+326"/>
         <source>Tree editor</source>
         <comment>View action</comment>
         <translation>Editor de arbore</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
+        <location line="+9"/>
         <source>Task editor</source>
         <comment>View action</comment>
         <translation>Editor de carga</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
+        <location line="+11"/>
         <source>Slide editor</source>
         <comment>View action</comment>
         <translation>Editor de diapositiva</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
+        <location line="+9"/>
         <source>Script editor</source>
         <comment>View action</comment>
         <translation>Editor de script</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
+        <location line="+62"/>
         <source>Next slide</source>
         <comment>View action</comment>
         <translation>Proxime diapositiva</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
+        <location line="+7"/>
         <source>Previous slide</source>
         <comment>View action</comment>
         <translation>Previe diapositiva</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
+        <location line="+488"/>
         <source>Settings</source>
         <translation>Preferentias</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
+        <location line="+5"/>
         <source>Check for release notes and updates</source>
         <comment>Settings action</comment>
         <translation>Verifica per notas de liberation e actualisationes</translation>
     </message>
     <message>
-        <source>&amp;Select</source>
-        <comment>Select menu</comment>
-        <translation type="obsolete">&amp;Selige</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
+        <location line="-914"/>
         <source>Toggle target...</source>
         <comment>Edit menu</comment>
         <translation>Alterna objectivo...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
+        <location line="+10"/>
         <source>Goto target...</source>
         <comment>Edit menu</comment>
         <translation>Vade a objectivo...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
+        <location line="+9"/>
         <source>Move to target...</source>
         <comment>Edit menu</comment>
         <translation>Move a objectivo...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
+        <location line="+18"/>
         <source>Select previous</source>
         <comment>Edit menu</comment>
         <translation>Selectiona previe</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
+        <location line="+10"/>
         <source>Select next</source>
         <comment>Edit menu</comment>
         <translation>Selectiona proxime</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
+        <location line="+11"/>
         <source>Unselect all</source>
         <comment>Edit menu</comment>
         <translation>Deselectiona toto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
+        <location line="+9"/>
+        <location line="+8"/>
         <source>Find...</source>
         <comment>Edit menu</comment>
         <translation>Trova...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
+        <location line="+7"/>
         <source>Find duplicate URLs</source>
         <comment>Edit menu</comment>
         <translation>Trova URLs duplicate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
+        <location line="+11"/>
         <source>F&amp;ormat</source>
         <comment>Format menu</comment>
         <translation>F&amp;ormato</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>Fixa &amp;color</translation>
-    </message>
-    <message>
-        <source>Format shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Vias breve de Formato</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
+        <location line="+7"/>
         <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
         <translation>P&amp;rende color</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
+        <location line="+10"/>
         <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
         <translation>Colora &amp;ramo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
+        <location line="+10"/>
         <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
         <translation>Colora sub&amp;arbore</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
+        <location line="+11"/>
         <source>Select default font</source>
         <comment>Branch attribute</comment>
         <translation>Selige font predefinite</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
+        <location line="+11"/>
         <source>Linkstyle Line</source>
         <translation>Linea de stilo de ligamine</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
+        <location line="+7"/>
         <source>Linkstyle Curve</source>
         <translation>Curva de stilo de ligamine (LinkStyle)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
+        <location line="+7"/>
         <source>Linkstyle Thick Line</source>
         <translation>Linea spisse de stilo de ligamine</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
+        <location line="+7"/>
         <source>Linkstyle Thick Curve</source>
         <translation>Curba spisse de stilo de ligamine</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
+        <location line="+10"/>
         <source>Hide link if object is not selected</source>
         <comment>Branch attribute</comment>
         <translation>Cela ligamine si objecto non es selectionate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
+        <location line="+6"/>
         <source>&amp;Use color of heading for link</source>
         <comment>Branch attribute</comment>
         <translation>&amp;Usa color de capite pro ligamine</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
+        <location line="+9"/>
         <source>Set &amp;Link Color</source>
         <translation>Fixa color de &amp;ligamine</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
+        <location line="+5"/>
         <source>Set &amp;Selection Color</source>
         <translation>Fixa color de &amp;selection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
+        <location line="+5"/>
         <source>Set &amp;Background Color</source>
         <translation>Fixa color de &amp;fundo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
+        <location line="+5"/>
         <source>Set &amp;Background image</source>
         <translation>Fixa imagine de fun&amp;do</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
+        <location line="+9"/>
         <source>&amp;View</source>
         <translation>&amp;Vista</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
+        <location line="+2"/>
         <source>Toolbars</source>
         <comment>Toolbars overview in view menu</comment>
         <translation>Barras de instrumento</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
+        <location line="+17"/>
         <source>Zoom in</source>
         <comment>View action</comment>
         <translation>Aggrandi</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
+        <location line="+9"/>
         <source>Zoom out</source>
         <comment>View action</comment>
         <translation>Diminue</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
+        <location line="+10"/>
         <source>Rotate counterclockwise</source>
         <comment>View action</comment>
         <translation>Rota in senso antihorologic</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
+        <location line="+9"/>
         <source>Rotate rclockwise</source>
         <comment>View action</comment>
         <translation>Rota in senso horologic</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
+        <location line="+9"/>
         <source>reset Zoom</source>
         <comment>View action</comment>
         <translation>Reinitia zoom</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
+        <location line="+9"/>
         <source>Center on selection</source>
         <comment>View action</comment>
         <translation>Centra sur selection</translation>
     </message>
     <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Monstra editor de nota</translation>
-    </message>
-    <message>
-        <source>Toggle Tree editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Alterna editor de arbore</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
+        <location line="+92"/>
         <source>History Window</source>
         <comment>View action</comment>
         <translation>Fenestra de historia</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
+        <location line="+14"/>
         <source>Antialiasing</source>
         <comment>View action</comment>
         <translation>Antialiasing</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
+        <location line="+7"/>
         <source>Smooth pixmap transformations</source>
         <comment>View action</comment>
         <translation>Applana transformationes de pixmap</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
+        <location line="+10"/>
         <source>Next Map</source>
         <comment>View action</comment>
         <translation>Proxime mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
+        <location line="+7"/>
         <source>Previous Map</source>
         <comment>View action</comment>
         <translation>Previe mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>Usa modificator per colorar ramos</translation>
-    </message>
-    <message>
-        <source>Modes</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Modos</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <comment>Mode modifier</comment>
-        <translation type="obsolete">Usa modificator per copiar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
+        <location line="+82"/>
         <source>Use modifier to draw xLinks</source>
         <comment>Mode modifier</comment>
         <translation>Usa modificator per designar xLinks</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
+        <location line="+71"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
         <source>Note</source>
         <comment>SystemFlag</comment>
         <translation>Nota</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>URL a Documento</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation>URL a Bugzilla</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
+        <location line="+6"/>
         <source>Map target</source>
         <comment>SystemFlag</comment>
         <translation>Mappa objectivo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
+        <location line="+3"/>
         <source>Link to another vym map</source>
         <comment>SystemFlag</comment>
         <translation>Ligamine a un altere mappa de vym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
+        <location line="+3"/>
         <source>subtree is scrolled</source>
         <comment>SystemFlag</comment>
         <translation>subarbore es rolate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
+        <location line="+4"/>
         <source>subtree is temporary scrolled</source>
         <comment>SystemFlag</comment>
         <translation>subarbore es temporaneemente rolate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
+        <location line="+3"/>
         <source>Hide object in exported maps</source>
         <comment>SystemFlag</comment>
         <translation>Cela objecto in mappas exportate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
+        <location line="+349"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+537"/>
         <source>Standard Flags toolbar</source>
         <comment>Standard Flag Toolbar</comment>
         <translation>barra de instrumentos de bandieras standard</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
+        <location line="-860"/>
         <source>Take care!</source>
         <comment>Standardflag</comment>
         <translation>Attention!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
+        <location line="+5"/>
         <source>Really?</source>
         <comment>Standardflag</comment>
         <translation>Vermente?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
+        <location line="-19"/>
         <source>Status - ok,done</source>
         <comment>Standardflag</comment>
         <translation>Stato ok, facite</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
+        <location line="+4"/>
         <source>Status - work in progress</source>
         <comment>Standardflag</comment>
         <translation>Stato travalio in progresso</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
+        <location line="+5"/>
         <source>Status - missing, not started</source>
         <comment>Standardflag</comment>
         <translation>Stato mancante, non initiate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
+        <location line="-14"/>
         <source>This won&apos;t work!</source>
         <comment>Standardflag</comment>
         <translation>Isto non functiona!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="124"/>
+        <location line="-2505"/>
         <source>Main window</source>
         <comment>Shortcut scope</comment>
         <translation>Fenestra principal</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
+        <location line="+165"/>
         <source>Property Editor</source>
         <comment>PropertyEditor</comment>
         <translation>Editor de proprietate</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="287"/>
+        <location line="+8"/>
         <source>History window</source>
         <comment>HistoryWidget</comment>
         <translatorcomment>Forsan chronologia es melior</translatorcomment>
         <translation>Fenestra de historia</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="218"/>
+        <location line="-70"/>
         <source>Main window</source>
         <comment>Shortcut group</comment>
         <translation>Fenestra principal</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="219"/>
+        <location line="+1"/>
         <source>Map Editors</source>
         <comment>Shortcut group</comment>
         <translation>Editores de mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="220"/>
+        <location line="+1"/>
         <source>Text Editors</source>
         <comment>Shortcut group</comment>
         <translation>Editores de texto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="967"/>
+        <location line="+830"/>
         <source>&amp;Map</source>
         <comment>Menu for file actions</comment>
         <translation>&amp;Mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="992"/>
+        <location line="+28"/>
         <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
         <translation>&amp;Restabili ultime session</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
+        <location line="+105"/>
         <source>Text (A&amp;O report)...</source>
         <comment>Export format</comment>
         <translation>Texto(reporto de A&amp;O)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation>Folio de computar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
+        <location line="+52"/>
         <source>Properties</source>
         <translation>Proprietates</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
+        <location line="+210"/>
         <source>Move branch up</source>
         <comment>Edit menu</comment>
         <translation>Move ramo de supra</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
+        <location line="+13"/>
         <source>Move branch down</source>
         <comment>Edit menu</comment>
         <translation>Move ramo a basso</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
+        <location line="+158"/>
         <source>References Context menu</source>
         <comment>Shortcuts</comment>
         <translation>Menu de contexto de referentias</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation>Gestion de Bugzilla</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>Crea URL pro Bugzilla de SUSE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>Obtene datos ex Bugzilla de SUSE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Obtene datos ex Bugzilla de SUSE per subarbore</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
-        <translation>Gestion de instrumento de SUSE Fate</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
-        <comment>Edit menu</comment>
-        <translation>Crea URL pro instrumento de SUSE FATE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
+        <location line="+94"/>
         <source>vymlinks - linking maps</source>
         <comment>Shortcuts</comment>
         <translation>wymlinks-ligante mappas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
+        <location line="+44"/>
         <source>Exports</source>
         <comment>Shortcuts</comment>
         <translation>Exportationes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
+        <location line="+13"/>
         <source>Tasks</source>
         <comment>Shortcuts</comment>
         <translation>Cargas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
+        <location line="+167"/>
         <source>Removing parts of a map</source>
         <comment>Shortcuts</comment>
         <translation>Removente partes de un mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
+        <location line="+24"/>
         <source>Various</source>
         <comment>Shortcuts</comment>
         <translation>Vias breve</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
+        <location line="+12"/>
         <source>Map properties...</source>
         <comment>Edit menu</comment>
         <translation>Proprietates de mappa...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation>Adde   ...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
+        <location line="+30"/>
         <source>Selections</source>
         <comment>Shortcuts</comment>
         <translation>Selectiones</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
+        <location line="+32"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+38"/>
         <source>Search functions</source>
         <comment>Shortcuts</comment>
         <translation>Cerca functiones</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
+        <location line="+29"/>
         <source>Formatting</source>
         <comment>Shortcuts</comment>
         <translation>Formattante</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
+        <location line="+120"/>
         <source>Views</source>
         <comment>Shortcuts</comment>
         <translation>Vistas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
+        <location line="+7"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+76"/>
         <source>Note editor</source>
         <comment>View action</comment>
         <translation>Editor de nota</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
+        <location line="+12"/>
         <source>Heading editor</source>
         <comment>View action</comment>
         <translation>Editor de capite</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
+        <location line="+50"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+99"/>
         <source>Modifier modes</source>
         <comment>Shortcuts</comment>
         <translation>Modos de modificator</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
+        <location line="+195"/>
         <source>Good</source>
         <comment>Standardflag</comment>
         <translation>Bon</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
+        <location line="+4"/>
         <source>Bad</source>
         <comment>Standardflag</comment>
         <translation>Mal</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
+        <location line="+8"/>
         <source>Oh no!</source>
         <comment>Standardflag</comment>
         <translation>Oh no!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
+        <location line="+40"/>
         <source>Time critical</source>
         <comment>Standardflag</comment>
         <translation>Tempore critic</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
+        <location line="-3"/>
         <source>Call...</source>
         <comment>Standardflag</comment>
         <translation>Appella...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
+        <location line="-55"/>
         <source>Idea!</source>
         <comment>Standardflag</comment>
         <translation>Idea!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
+        <location line="+25"/>
         <source>Important</source>
         <comment>Standardflag</comment>
         <translation>Importante</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
+        <location line="+5"/>
         <source>Unimportant</source>
         <comment>Standardflag</comment>
         <translation>Non importante</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
+        <location line="+5"/>
         <source>Very important!</source>
         <comment>Standardflag</comment>
         <translation>Multo importante!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
+        <location line="+5"/>
         <source>Very unimportant!</source>
         <comment>Standardflag</comment>
         <translation>Multo pauc importante!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
+        <location line="+5"/>
         <source>I like this</source>
         <comment>Standardflag</comment>
         <translation>Isto place me</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
+        <location line="+3"/>
         <source>I do not like this</source>
         <comment>Standardflag</comment>
         <translation>Isto non place me</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
+        <location line="+16"/>
         <source>Rose</source>
         <comment>Standardflag</comment>
         <translation>Rosa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
+        <location line="-61"/>
         <source>I just love...</source>
         <comment>Standardflag</comment>
         <translation>Io solmente ama...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
+        <location line="+58"/>
         <source>Surprise!</source>
         <comment>Standardflag</comment>
         <translation>Surprisa!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
+        <location line="-39"/>
         <source>Dangerous</source>
         <comment>Standardflag</comment>
         <translation>Periculose</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
+        <location line="-25"/>
         <source>Info</source>
         <comment>Standardflag</comment>
         <translation>Info</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
+        <location line="+55"/>
         <source>This will help</source>
         <comment>Standardflag</comment>
         <translation>Isto adjutara</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Importante</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Prioritate</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>retro</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation>avante</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Reguarda hic</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Periculose</translation>
+        <location line="+221"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation>Fixa autor per nove mappas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Non usa flagrget</translation>
+        <location line="+121"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation>Numero de genitores visibile in editor de carga</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Bandiera</translation>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation>Numero de genitores visibile in fenestra de exito de cerca</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Pagina initial o Domo</translation>
+        <location line="+79"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Telephono</translation>
+        <location line="+8"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
+        <translation>Information de debug</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Musica</translation>
+        <location line="+535"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Cassa de posta</translation>
+        <location line="+441"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
+        <translation>Il non pote salveguardar %1,
+a causa de un file de bloco existente:
+
+%2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Maix</translation>
+        <location line="+56"/>
+        <source>Firefox Bookmarks</source>
+        <translation type="unfinished">Favoritos de Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Contrasigno</translation>
+        <location line="+3"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation>debe essere meliorate</translation>
+        <location line="+26"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Stoppa</translation>
+        <location line="+616"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">Ligamine a un altere mappa de vym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Magic</translation>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Debe esser discutite</translation>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Memento</translation>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Excellente</translation>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
+        <location line="+840"/>
+        <source>Load vym script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Dulce</translation>
+        <location line="+70"/>
+        <source>Set author for new maps (used in lockfile)</source>
+        <translation>Fixa autor per nove mappas (usate in le file de bloco)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
-        <translation>Fixa autor per nove mappas</translation>
+        <location line="+3"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation>usator incognite</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
-        <translation>Numero de genitores visibile in editor de carga</translation>
+        <location line="+34"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
-        <translation>Numero de genitores visibile in fenestra de exito de cerca</translation>
+        <location line="+8"/>
+        <source>Number of parents shown in find results:</source>
+        <translation>Numero de genitores mostrate in fenestra de exito de cerca:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
-        <translation>Information de debug</translation>
+        <location line="+11"/>
+        <source>Number of parents shown for a task:</source>
+        <translation>Numero de genitores mostrate per un carga:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
-        <translation>Il non pote salveguardar %1,
-a causa de un file de bloco existente:
-
-%2</translation>
+        <location line="-2404"/>
+        <source>(readonly)</source>
+        <translation>(de sol lectura)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
-        <translation>Il non pote salveguardar %1</translation>
+        <location line="-1953"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
-        <source>Set author for new maps (used in lockfile)</source>
-        <translation>Fixa autor per nove mappas (usate in le file de bloco)</translation>
+        <location line="+1754"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
-        <translation>usator incognite</translation>
+        <location line="+21"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
-        <source>Number of parents shown in find results:</source>
-        <translation>Numero de genitores mostrate in fenestra de exito de cerca:</translation>
+        <location line="+660"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
-        <source>Number of parents shown for a task:</source>
-        <translation>Numero de genitores mostrate per un carga:</translation>
+        <location line="+81"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
-        <source>(readonly)</source>
-        <translation>(de sol lectura)</translation>
+        <location line="+1873"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
+        <location line="+1086"/>
         <source>Please allow vym to download release notes!</source>
         <translation>Pro favor, permitte que vym pote discargar notas de liberation!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
+        <location line="+62"/>
         <source>Allow</source>
         <translation>Permitte</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
+        <location line="+1"/>
         <source>Do not allow</source>
         <translation>Non permitte</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
+        <location line="+5"/>
         <source>Thank you for enabling downloads!</source>
         <translation>Gratias pro habilitar le discargmentos!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Update information</source>
         <translation>Actualisa information</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
+        <location line="+4"/>
         <source>vym is up to date.</source>
         <comment>MainWindow</comment>
         <translation>vym es actualisate.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
+        <location line="+48"/>
         <source>Checking for updates...</source>
         <comment>MainWindow</comment>
         <translation>Verifica actualisationes...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="+30"/>
         <source>Please allow vym to check for updates!</source>
         <translation>Pro favor permitte que vym verifica actualisationes!</translation>
     </message>
     <message>
-        <source>Info</source>
-        <translation type="obsolete">Info</translation>
-    </message>
-    <message>
-        <source>Network shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Vias breve de rete</translation>
-    </message>
-    <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">&amp;Preferentias</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
+        <location line="-4436"/>
         <source>Set application to open pdf files</source>
         <comment>Settings action</comment>
         <translation>Fixa application per aperir files pdf</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
+        <location line="+7"/>
         <source>Set application to open external links</source>
         <comment>Settings action</comment>
         <translation>Fixa application per aperir ligamines externe</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
+        <location line="+6"/>
         <source>Set application to zip/unzip files</source>
         <comment>Settings action</comment>
         <translation>Fixa applicationes per  facer zip/unzip sur files</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
+        <location line="+22"/>
         <source>Set path for macros</source>
         <comment>Settings action</comment>
         <translation>Fixa percurso per macros</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
+        <location line="+4"/>
         <source>Set number of undo levels</source>
         <comment>Settings action</comment>
         <translation>Fixa numero de nivellos de annullar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
+        <location line="+7"/>
         <source>Autosave</source>
         <comment>Settings action</comment>
         <translation>Salveguarda automaticamente</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
+        <location line="+6"/>
         <source>Autosave time</source>
         <comment>Settings action</comment>
         <translation>tempore de salveguiardar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
+        <location line="+12"/>
         <source>Write backup file on save</source>
         <comment>Settings action</comment>
         <translation>Scribe files de retrocopia quando on salveguarda</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Edita ramo postea haber lo addite</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
+        <location line="+10"/>
         <source>Select branch after adding it</source>
         <comment>Settings action</comment>
         <translation>Selige rampo post que il es addite</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
+        <location line="+9"/>
         <source>Select existing heading</source>
         <comment>Settings action</comment>
         <translation>Selige capite existente</translation>
     </message>
     <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Dele clave</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
+        <location line="+7"/>
         <source>Exclusive flags</source>
         <comment>Settings action</comment>
         <translation>Bandieras exclusive</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
+        <location line="+7"/>
         <source>Use hide flags</source>
         <comment>Settings action</comment>
         <translation>Usa bandieras celate</translation>
     </message>
     <message>
-        <source>Note editor is dockable</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Editor de notas esponibile in un bassino</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
+        <location line="+32"/>
         <source>Animation</source>
         <comment>Settings action</comment>
         <translation>Animation</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
+        <location line="+7"/>
         <source>Automatic layout</source>
         <comment>Settings action</comment>
         <translation>Disposition automatic</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
+        <location line="+11"/>
         <source>Test</source>
         <translation>Essaya</translation>
     </message>
     <message>
-        <source>Test shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Vias breve de essayar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
+        <location line="+28"/>
         <source>&amp;Help</source>
         <comment>Help menubar entry</comment>
         <translation>&amp;Adjuta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
+        <location line="+3"/>
         <source>Open VYM Documentation (pdf) </source>
         <comment>Help action</comment>
         <translation>Aperi documentation de VYM (pdf)</translation>
     </message>
     <message>
-        <source>Help shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Vias breve de Adjuta</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
+        <location line="+4"/>
         <source>Open VYM example maps </source>
         <comment>Help action</comment>
         <translation>Aperi mappas de exemplo de VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
+        <location line="+5"/>
         <source>Download and show release notes</source>
         <comment>Help action</comment>
         <translation>Discarga e monstra notas de liberation</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
+        <location line="+4"/>
         <source>Check, if updates are available</source>
         <comment>Help action</comment>
         <translation>Verifica, si actualisationes es disponibile</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
+        <location line="+5"/>
         <source>Show keyboard shortcuts</source>
         <comment>Help action</comment>
         <translation>Monstra vias breve de claviero</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
+        <location line="+20"/>
         <source>About VYM</source>
         <comment>Help action</comment>
         <translation>Circa VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
+        <location line="-4"/>
         <source>About QT</source>
         <comment>Help action</comment>
         <translation>Circa QT</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
-        <source>Add</source>
-        <translation>Adde</translation>
+        <location line="-2870"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
-        <source>Remove</source>
-        <comment>Context menu name</comment>
-        <translation>Remove</translation>
+        <location line="+829"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
-        <source>Tasks</source>
-        <comment>Context menu</comment>
-        <translation>Cargas</translation>
+        <location line="+23"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
-        <source>References (URLs, vymLinks, ...)</source>
-        <comment>Context menu name</comment>
-        <translation>Referentias(URLs, Ligamines de vym,...)</translation>
+        <location line="+22"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
-        <source>XLinks</source>
-        <comment>Menu for file actions</comment>
-        <translation>XLinks</translation>
+        <location line="+21"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
-        <source>Edit XLink</source>
-        <comment>Context menu name</comment>
-        <translation>Edita XLink</translation>
+        <location line="+44"/>
+        <source>CSV...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
+        <location line="+486"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+277"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+556"/>
+        <source>Images</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Omne</translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-1554"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Favoritos de Firefox</translation>
+    </message>
+    <message>
+        <location line="+315"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+307"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+499"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+146"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+205"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Importante</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">retro</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Reguarda hic</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Periculose</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Bandiera</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Pagina initial o Domo</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Telephono</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Musica</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Cassa de posta</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Contrasigno</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">debe essere meliorate</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Stoppa</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Magic</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Debe esser discutite</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Memento</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Excellente</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Linux</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Dulce</translation>
+    </message>
+    <message>
+        <location line="+162"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+82"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+98"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Add</source>
+        <translation>Adde</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Remove</source>
+        <comment>Context menu name</comment>
+        <translation>Remove</translation>
+    </message>
+    <message>
+        <location line="+18"/>
+        <source>Tasks</source>
+        <comment>Context menu</comment>
+        <translation>Cargas</translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>References (URLs, vymLinks, ...)</source>
+        <comment>Context menu name</comment>
+        <translation>Referentias(URLs, Ligamines de vym,...)</translation>
+    </message>
+    <message>
+        <location line="+20"/>
+        <source>XLinks</source>
+        <comment>Menu for file actions</comment>
+        <translation>XLinks</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Edit XLink</source>
+        <comment>Context menu name</comment>
+        <translation>Edita XLink</translation>
+    </message>
+    <message>
+        <location line="+4"/>
         <source>Follow XLink</source>
         <comment>Context menu</comment>
         <translation>Seque XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
+        <location line="+7"/>
         <source>Follow XLink</source>
         <comment>Context menu name</comment>
         <translation>Seque XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
+        <location line="+6"/>
         <source>Save image</source>
         <comment>Context action</comment>
         <translation>Salveguarda Image</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
+        <location line="+108"/>
         <source>File actions toolbar</source>
         <comment>Toolbar for file actions</comment>
         <translation>Barra de instrumento de actiones de file</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
+        <location line="+9"/>
         <source>Undo and clipboard toolbar</source>
         <comment>Toolbar for redo/undo and clipboard</comment>
         <translation>barra de instrumento de annullar e de area de transferentia</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
+        <location line="+10"/>
         <source>Edit actions toolbar</source>
         <comment>Toolbar name</comment>
         <translation>Barra de instrumentos per actiones de Edita</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
+        <location line="+19"/>
         <source>Selection toolbar</source>
         <comment>Toolbar name</comment>
         <translation>barra de instrumento de selection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
+        <location line="+9"/>
         <source>URLs and vymLinks toolbar</source>
         <comment>Toolbar for URLs and vymlinks</comment>
         <translation>barra de instrumento de URLs e ligamines de vym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
+        <location line="+6"/>
         <source>Colors toolbar</source>
         <comment>Colors toolbar name</comment>
         <translation>Barra de instrumentos de color</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation>Barra de instrupentos per aggrandir</translation>
+        <location line="+2344"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1447"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
+        <location line="-3732"/>
         <source>Editors toolbar</source>
         <comment>Editor Toolbar name</comment>
         <translation>Barra de instrumentos de editores</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
+        <location line="+12"/>
         <source>Modifier modes toolbar</source>
         <comment>Modifier Toolbar name</comment>
         <translation>barra de instrumento de modos de modificator</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation>sin nomine</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
+        <location line="+248"/>
         <source>The map %1
 is already opened.Opening the same map in multiple editors may lead 
 to confusion when finishing working with vym.Do you want to</source>
@@ -2466,19 +2545,20 @@ ja es aperite. Aperir le mesme mappa in editores multiple pote ducer
 a confusion quando on termina de travaliar con vym. Tu vole</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
+        <location line="+9"/>
         <source>Open anyway</source>
         <translation>aperir in omne modo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
+        <location line="+1"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
         <source>Cancel</source>
         <translation>Cancella</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
+        <location line="-366"/>
         <source>This map does not exist:
   %1
 Do you want to create a new one?</source>
@@ -2487,258 +2567,237 @@ Do you want to create a new one?</source>
 Tu vole crea un nove?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
+        <location line="+7"/>
         <source>Create</source>
         <translation>Crea</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
+        <location line="+41"/>
         <source>Loading: %1</source>
         <comment>Progress dialog while loading maps</comment>
         <translation>Cargante: %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
+        <location line="+45"/>
         <source>Load vym map</source>
         <translation>Carga mappa de vym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
+        <location line="+6"/>
         <source>Import: Add vym map to selection</source>
         <translation>Importa: adde mappa de vym per selection</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
+        <location line="+4"/>
         <source>Import: Replace selection with vym map</source>
         <translation>Importa: reimplacia selection con mappa de vym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
+        <location line="+5"/>
         <source>or</source>
         <comment>File Dialog</comment>
         <translation>o</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
+        <location line="+116"/>
         <source>Saved  %1</source>
         <translation>Salveguardate %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
+        <location line="+4"/>
         <source>Couldn&apos;t save </source>
         <translation>Il non pote salveguardar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
+        <location line="+23"/>
         <source>Save map as</source>
         <translation>Salveguarda mappa como</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
+        <location line="+8"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <location line="+92"/>
         <source>The file %1
 exists already. Do you want to</source>
         <translation>Le file %1 ja existe. Tu vole</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
+        <location line="-87"/>
         <source>Overwrite</source>
         <translation>Superscribe</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation>Favoritos</translation>
+        <location line="+70"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
-        <source>Import</source>
-        <translation>Importa</translation>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation>Carga mappa de Freemind</translation>
+        <location line="+82"/>
+        <location line="+54"/>
+        <location line="+1"/>
+        <source>Import</source>
+        <translation>Importa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
+        <location line="+62"/>
         <source>Export as CSV</source>
         <translation>Exporta como CSV</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
+        <location line="-3248"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
         <source>(still experimental)</source>
         <translation>(ancora experimental)</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exporta como LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
+        <location line="-69"/>
+        <location line="+68"/>
         <source>Export to</source>
         <translation>Exporta in</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
         <source>Warning</source>
         <translation>Advertimento</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">Il nonpote trovar configuration pro exportar a OpenOffice
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
+        <location line="-2846"/>
         <source>The map %1 has been modified but not saved yet. Do you want to</source>
         <translation>Le mappa %1 ha essite modificate ma non salveguardate ancora. Tu vole</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
+        <location line="+6"/>
         <source>Save modified map before closing it</source>
         <translation>Salveguardar mappa modificate ante que clauder lo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
+        <location line="+1"/>
         <source>Discard changes</source>
         <translation>Abandona modificationes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
+        <location line="+106"/>
+        <location line="+2345"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <translation>Il nonpoteva trovar un application pro aperir %1.
 </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="-2344"/>
+        <location line="+2345"/>
         <source>Please use Settings-&gt;</source>
         <translation>Pro favor usa preferentias -&gt;</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
+        <location line="-2344"/>
+        <location line="+1260"/>
         <source>Set application to open an URL</source>
         <translation>Fixa application pro aperir un URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Il non pote initiar %1 pro aperir un nove scheda in %2.</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">Il non pote initiar %1 pro aperir un nove scheda</translation>
-    </message>
-    <message>
-        <source>Sorry, currently only Konqueror supports integrated tabbed browsing.</source>
-        <comment>Mainwindow, open URL</comment>
-        <translation type="obsolete">Desolate, currentemente solmente Konqueror supporta navigation integrate etiquettate.</translation>
-    </message>
-    <message>
-        <source>Currently vym is using %1 to open external links.
-(Change in Settings menu)</source>
-        <comment>Mainwindow, open URL</comment>
-        <translation type="obsolete">Vym currentemente es usante %1 pro aperir ligamines externe.
-(Modifica in menu de preferentias)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
+        <location line="-1197"/>
         <source>Enter URL:</source>
         <translation>Inserta URL:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
+        <location line="+23"/>
         <source>HTML</source>
         <comment>Filedialog</comment>
         <translation>HTML</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
+        <location line="+1"/>
         <source>Text</source>
         <comment>Filedialog</comment>
         <translation>Texto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
+        <location line="+1"/>
         <source>Spreadsheet</source>
         <comment>Filedialog</comment>
         <translation>Folio de computar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
+        <location line="+1"/>
         <source>Textdocument</source>
         <comment>Filedialog</comment>
         <translation>Documento de texto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
+        <location line="+1"/>
         <source>Images</source>
         <comment>Filedialog</comment>
         <translation>Images</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
+        <location line="+4"/>
         <source>Set URL to a local file</source>
         <translation>Fixa Url per un file local</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
+        <location line="-1056"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
         <source>Critical Error</source>
         <translation>Error critic</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
+        <location line="-421"/>
         <source>Couldn&apos;t find configuration for export to LibreOffice
 </source>
         <translation>Non pote trovar le configuration pro exportar a LibreOffice</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
+        <location line="+422"/>
         <source>Couldn&apos;t open map %1</source>
         <translation>Il non pote aperir mamma %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation>Liga a un altere mappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation>Inserta tempore de otio (numero e dies o data AAAA-MM-DD o DD.MM[ AAAA]</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
+        <location line="+171"/>
         <source>Couldn&apos;t set sleep time to %1.
 </source>
         <translation>Non pote fixar tempore de otio a %1.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
+        <location line="+28"/>
         <source>%1 items on map
 </source>
         <comment>Info about map</comment>
@@ -2746,385 +2805,296 @@ exists already. Do you want to</source>
 </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
+        <location line="+21"/>
         <source>branches</source>
         <comment>Info about map</comment>
         <translation>rmos</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
+        <location line="+7"/>
         <source>notes</source>
         <comment>Info about map</comment>
         <translation>notas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
+        <location line="+1"/>
         <source>images</source>
         <comment>Info about map</comment>
         <translation>images</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation>cargas</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
+        <location line="+3"/>
         <source>slides</source>
         <comment>Info about map</comment>
         <translation>diapositivas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
+        <location line="+2"/>
         <source>xLinks</source>
         <comment>Info about map</comment>
         <translation>xLinks</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="+796"/>
+        <location line="+1097"/>
         <source>Set application to open PDF files</source>
         <translation>Fixa application pro aperir files PDF</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
-        <translation>Fixa application pro executar zip/unzip sur files</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation>Directorio con macros de vym:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
+        <location line="-1046"/>
         <source>Number of undo/redo levels:</source>
         <translation>Numero de nivellos de annulla/reface:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
+        <location line="+4"/>
         <source>VYM -Information:</source>
         <translation>Information de VYM:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
+        <location line="+1"/>
         <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
         <translation>Preferentias ha essite modificate. Le proxime mappa aperite habera &quot;%1&quot; nivellos de annulla/reface</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
+        <location line="+40"/>
         <source>Number of seconds before autosave:</source>
         <translation>Numero de secundas ante que on salveguarda automaticamente:</translation>
     </message>
     <message>
+        <location line="+47"/>
         <source>Information</source>
-        <translation type="obsolete">Information</translation>
+        <translation type="unfinished">Information</translation>
     </message>
     <message>
-        <source>Changed settings will be applied after restarting vym</source>
-        <translation type="obsolete">Preferentias modificate essera applicate post re-initiar vym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
+        <location line="+473"/>
         <source>History for %1</source>
         <comment>Window Caption</comment>
         <translation>Historia per %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
+        <location line="+23"/>
         <source>Export in last used format (%1) to: %2</source>
         <comment>status tip</comment>
         <translation>Exporta in ultime formato usate (%1) in: %2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
+        <location line="+440"/>
         <source>Critcal error</source>
         <translation>Error critic</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find the documentation %1 in:
 %2</source>
         <translation>Il non pote trovar le documentation %1 in:
 %2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
+        <location line="+31"/>
         <source>Load vym example map</source>
         <translation>Carga mappa de exemplo de vym</translation>
     </message>
-    <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="obsolete">Il non pote trovar un macro in %1.
-</translation>
-    </message>
-    <message>
-        <source>Set directory for vym macros</source>
-        <translation type="obsolete">Fixa directorio pro macros de vym</translation>
-    </message>
 </context>
 <context>
     <name>MapEditor</name>
     <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation>Editor de mappa</translation>
     </message>
     <message>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Selectiona previe</translation>
-    </message>
-    <message>
-        <source>Select next</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Selectiona proxime</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation></translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>MapEditor</comment>
-        <translation type="obsolete">Salveguarda</translation>
-    </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Talia</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Copia</translation>
-    </message>
-    <message>
-        <source>Repeat last export (%1)</source>
-        <translation type="obsolete">Repite ultime exportation (%1)</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="510"/>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
         <translation>Imprime mappa de vym</translation>
     </message>
-</context>
-<context>
-    <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation>Editor de Nota</translation>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="vanished">Error critic</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="vanished">Il non pote initiar %1</translation>
-    </message>
+    <name>NoteEditor</name>
     <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="vanished">%1 non exiva normalmente</translation>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
+        <source>Note Editor</source>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished">Editor de nota</translation>
     </message>
 </context>
 <context>
     <name>QObject</name>
     <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="+63"/>
+        <location filename="../src/file.cpp" line="+334"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+519"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>Il non pote acceder a directorio temporanee
 </translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location line="+60"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation>Exportar a %1 superscribera le file existente:
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation>Advertimento: on superscribe file</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="+13"/>
         <source>Export as ASCII</source>
         <translation>Exporta como ASCII</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
         <source>(still experimental)</source>
         <translation>(ancora experimental)</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location line="+13"/>
         <source>Could not export as AO to %1</source>
         <translation>Non pote exportar como AO a %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+9"/>
         <source>Could not export as ASCII to %1</source>
         <translation>Non pot exportar como ASCII a %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="+13"/>
         <source>Export as CSV</source>
         <translation>Exporta como CSV</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation>Non pote exportar como CSV a %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>Exportar le preferitos %1 superscribera
-tu file existente de favoritos.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>Advertimento: on superscribe %1 favoritos</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>Advertimento</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>Il non pote trovar script %1
-per notificar a Navigatores de favoritos modificate. </translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="+298"/>
+        <location filename="../src/export-html.cpp" line="+259"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation>Contentos:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation>Il abortava exportation.</translation>
     </message>
     <message>
-        <source>Warning</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Advertimento</translation>
-    </message>
-    <message>
-        <source>Trying to load stylesheet:</source>
-        <translation type="obsolete">Cercante de cargar folio de stilo:</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Il non pote aperir %1</translation>
-    </message>
-    <message>
-        <source>Trying to save stylesheet:</source>
-        <translation type="obsolete">Cercante de salveguardar folio de stilo:</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">Il non pote aperir %1</translation>
-    </message>
-    <message>
-        <source>Trying to load small icon for URLs:</source>
-        <translation type="obsolete">Provante a cargar parve icone per URLa:</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation>Provante a crear directorio per bandieras:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation>Il non pote crear %1</translation>
     </message>
     <message>
-        <source>Trying to save small icon for URLs:</source>
-        <translation type="obsolete">Provante a salveguardar parve icone per URLs:</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+59"/>
+        <location filename="../src/export-html.cpp" line="-76"/>
+        <location filename="../src/export-impress.cpp" line="+129"/>
         <source>Could not write %1</source>
         <translation>Il non pote scriber %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location filename="../src/export-ao.cpp" line="-1"/>
+        <location filename="../src/export-ascii.cpp" line="-1"/>
+        <location filename="../src/export-confluence.cpp" line="-2"/>
+        <location filename="../src/export-csv.cpp" line="-1"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="-2"/>
+        <location filename="../src/export-impress.cpp" line="-74"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>Error de exportar critic</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location filename="../src/export-html.cpp" line="-291"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+189"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation>Critic</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location line="-98"/>
         <source>Could not find stylesheet %1</source>
         <translation>Non pote trovar folio de stylo %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation>Error</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -3134,67 +3104,65 @@ per notificar a Navigatores de favoritos modificate. </translation>
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation>Non pote copiar %1 a %2</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+1"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation>Provante a salveguardar file HTML:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+2"/>
+        <location filename="../src/export-ascii.cpp" line="+2"/>
+        <location filename="../src/export-csv.cpp" line="+2"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-82"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>Il falleva a exportar.</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation>Non pote exportar como OrgMode a %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation>Non pote exportar como LaTeX a %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation>Exporta com presentation de LibreOffice Impress</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation>Nulle objectos in mappa!</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation>Il non pote leger prefrentias ex &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>Verifica &quot;%1&quot; in
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>Il non pote leger %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -3202,443 +3170,428 @@ Do you risk to overwrite its contents?</source>
 Tu risca de super scriber su contentos?</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="90"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation>Superscribe</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="91"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Cancella</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location line="+186"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="-85"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>Error critic</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation>Non pote mover remotemente file existente ante salveguardar.</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
-        <translation>Non poe initiar le instrumento per decomprimer datos.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>Il non pote initiar zip per comprimer datos.</translation>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>zip non exiva normalmente</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation>Non pote renominar %1 de retro a %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation>Non pote remover objecto de vetere ligamine symbolic %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation>Non pote renominar exitoa objecto a vetere ligamine symbolic %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation>non pote crear igamine %1 a objecto de vetere ligamine symbolic %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation>Salveguardate %1 ma non pote remover %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>il non pote initiar unzip pro decomprimer datos.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>unzip non exiva normalmente</translation>
-    </message>
-    <message>
-        <source>Heading Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Editor de capite</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
-        <translation>Non pote trovar instrumento pro executar unzip sur datos. Pro favor discarga e installa 7z e fixa le percurso in le menu de Preferentias:</translation>
-    </message>
-    <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation>Il non pote aperir &quot;%1&quot;
-%2.</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
 </source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>On non trovava alcun cliente de Bugzilla. Per OpenSUSE tu pote installar per (executante como administrator):
-
-</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Alternativemente tu anque pote adder le repository (deposito)
-e installar le modulo de perl per le accesso de Bugzilla usante YaST</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
-        <translation>Advertimento: il non pote trovar cliente de Bugzilla</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation>Il non pote initiar %1</translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 non exiva normalmente</translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
         <source>Warning: Version Problem</source>
         <translation>Advertimento: Problema de version</translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
+        <location line="+1"/>
         <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
 </source>
-        <translation>Il non pote trovar un macro in %1.
-</translation>
+        <comment>Macros::pathExists</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
+        <location line="+1"/>
         <source>Please use Settings-&gt;</source>
         <translation>Pro favor usa Preferentias-&gt;</translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
+        <location line="+1"/>
         <source>Set directory for vym macros</source>
         <translation>Fixa directorio pro macros de vym</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
-        <translation>Non pote salveguardar &quot;%1&quot;</translation>
-    </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
-    <message>
-        <location filename="../scripteditor.ui" line="14"/>
-        <source>Form</source>
-        <translation>Forma</translation>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
-        <translation>Scheda 1</translation>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
-        <source>Save to selected slide</source>
-        <translation>Salveguarda le diapositiva seligite</translation>
+        <location filename="../src/main.cpp" line="-7"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
-        <source>Run</source>
-        <translation>Executa</translation>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
+ </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
-        <translation>Scheda 2</translation>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
-        <translation>Clave currente:</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="131"/>
-        <source>Load</source>
-        <translation>Carga</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
-        <source>Save</source>
-        <translation>Salveguarda</translation>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
-        <source>Warning</source>
-        <translation>Advertimento</translation>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
-        <source>Slide</source>
-        <comment>Mode in scriptEditor</comment>
-        <translation>Diapositiva</translation>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
-        <source>Macro</source>
-        <comment>Mode in scriptEditor</comment>
-        <translation>Macro</translation>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation>Salveguarda</translation>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <source>Couldn&apos;t get model to save script into slide!</source>
-        <translation>Non pote obtener modelloo pro salveguardar script in diapositiva!</translation>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
-        <source>Couldn&apos;t find slide to save script into slide!</source>
-        <translation>Non pote trovar diapositiva pro salveguardar in slide!</translation>
+        <location filename="../src/mainwindow.cpp" line="-3021"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
-        <source>Save script</source>
-        <translation>Salveguarda script</translation>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.cpp" line="155"/>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation>Le file %1 ja existe. Tu vole superscriber lo?</translation>
+        <source>Form</source>
+        <translation type="vanished">Forma</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
-        <source>Overwrite</source>
-        <translation>Superscribe</translation>
+        <source>Reload</source>
+        <translation type="obsolete">Recarga</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="161"/>
-        <source>Cancel</source>
-        <translation>Cancella</translation>
+        <source>Save as</source>
+        <translation type="obsolete">Salveguarda como</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="184"/>
-        <source>Load script</source>
-        <translation>Carga script</translation>
+        <source>Save to selected slide</source>
+        <translation type="vanished">Salveguarda le diapositiva seligite</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation>Error</translation>
+        <source>Run</source>
+        <translation type="vanished">Executa</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation>Il non pote aperir %1.</translation>
+        <source>Load</source>
+        <translation type="vanished">Carga</translation>
     </message>
-</context>
-<context>
-    <name>ShowTextDialog</name>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation>Dialogo</translation>
+        <source>Save</source>
+        <translation type="vanished">Salveguarda</translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="50"/>
-        <source>Close</source>
-        <translation>Claude</translation>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
+        <source>Warning</source>
+        <translation>Advertimento</translation>
     </message>
-</context>
-<context>
-    <name>SimpleScriptEditor</name>
     <message>
-        <source>Save as</source>
-        <translation type="obsolete">Salveguarda como</translation>
+        <location line="-42"/>
+        <source>Slide</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation>Diapositiva</translation>
     </message>
     <message>
-        <source>Save</source>
-        <translation type="obsolete">Salveguarda</translation>
+        <location line="+1"/>
+        <source>Macro</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation>Macro</translation>
     </message>
     <message>
-        <source>Qt::CTRL + Qt::Key_S</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_S</translation>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Open</source>
-        <translation type="obsolete">Aperi</translation>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Qt::CTRL +Qt::Key_O</source>
-        <translation type="obsolete">Qt:CTRL +Qt::Key_O</translation>
+        <location line="+31"/>
+        <source>Couldn&apos;t get model to save script into slide!</source>
+        <translation>Non pote obtener modelloo pro salveguardar script in diapositiva!</translation>
     </message>
     <message>
-        <source>Run</source>
-        <translation type="obsolete">Executa</translation>
+        <location line="+7"/>
+        <source>Couldn&apos;t find slide to save script into slide!</source>
+        <translation>Non pote trovar diapositiva pro salveguardar in slide!</translation>
     </message>
     <message>
-        <source>Qt::CTRL + Qt::Key_R</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_R</translation>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Claude</translation>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Save script</source>
-        <translation type="obsolete">Salveguarda script</translation>
+        <translation>Salveguarda script</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
         <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">Le file %1 ja existe. Tu vole superscriber lo?</translation>
+        <translation>Le file %1 ja existe. Tu vole superscriber lo?</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Overwrite</source>
-        <translation type="obsolete">Superscribe</translation>
+        <translation>Superscribe</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cancel</source>
-        <translation type="obsolete">Cancella</translation>
+        <translation>Cancella</translation>
     </message>
     <message>
+        <location line="-58"/>
         <source>Load script</source>
-        <translation type="obsolete">Carga script</translation>
+        <translation>Carga script</translation>
     </message>
+</context>
+<context>
+    <name>ShowTextDialog</name>
     <message>
-        <source>Error</source>
-        <translation type="obsolete">Error</translation>
+        <source>Dialog</source>
+        <translation type="vanished">Dialogo</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">Il nonpote aperir %1.</translation>
+        <source>Close</source>
+        <translation type="vanished">Claude</translation>
     </message>
 </context>
 <context>
     <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
-        <translation>Mappa currente</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Cargas active</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Nove cargas</translation>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation>Edita capite</translation>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation>Prioritate</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation>Status</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation>Vetustate total</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation>Vetustate mod.</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation>Otio</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation>Mappa</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation>Carga</translation>
@@ -3647,236 +3600,234 @@ Do you want to overwrite it?</source>
 <context>
     <name>TextEditor</name>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location filename="../src/texteditor.cpp" line="+51"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation>Preste</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation>Editor de texto</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation>Nulle nomine de file disponibile pro iste nota.</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="+83"/>
         <source>Note Actions</source>
         <translation>Actiones de nota</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+2"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>&amp;Nota</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="+2"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation>Editor de texto</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location line="-116"/>
         <source>&amp;Import...</source>
         <translation>&amp;Importa...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>&amp;Exporta...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>Exporta &amp;como...(HTML)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>Exporta &amp;como...(ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>&amp;Imprime...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="+8"/>
         <source>&amp;Delete All</source>
         <translation>&amp;Dele Toto</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="+10"/>
         <source>Edit Actions</source>
         <translation>Actiones de Edit</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">&amp;Edit</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+6"/>
         <source>&amp;Undo</source>
         <translation>&amp;Annulla</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>&amp;Reface</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>Selige e copia &amp;omne</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>&amp;Copia</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>&amp;Talia</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>Co&amp;lla</translation>
     </message>
     <message>
-        <source>Format Actions</source>
-        <translation type="obsolete">Actiones de Format</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-48"/>
         <source>Edi&amp;t</source>
         <translation>Edi&amp;tar</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation>Insinuation de font</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="+2"/>
         <source>F&amp;ormat</source>
         <translation>F&amp;ormat</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+4"/>
         <source>&amp;Font hint</source>
         <translation>Insinuation de &amp;Font</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation>&amp;Richtext</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation>Fonts</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation>Formato</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>&amp;Color...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>&amp;Grasso</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>Corsi&amp;ve</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>S&amp;ublineate</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="+14"/>
         <source>Subs&amp;cript</source>
         <translation>Subscri&amp;bite</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="498"/>
+        <location line="+10"/>
         <source>Su&amp;perscript</source>
         <translation>Supersc&amp;ribite</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+15"/>
         <source>&amp;Left</source>
         <translation>&amp;Sinistra</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>C&amp;entro</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>&amp;Dextera</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>&amp;Justifica</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>&amp;Preferentias</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="543"/>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation>Fixa font &amp;fixate</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>Fixa font &amp;variabile</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>&amp;font fixate es predefinite</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="+9"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
         <source>Note Editor</source>
         <translation>Editor de nota</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
+        <location line="+174"/>
         <source>Export Note to single file</source>
         <translation>Exporta nota in un singule file</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+10"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -3884,30 +3835,30 @@ Do you want to overwrite it?</source>
         <translation>Le file %1 ja existe. Tu vole superscriber lo?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="-71"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>Superscribe</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Cancella</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-57"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation>Il nonpote exportar nota</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="+41"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>Exporta Nota a un singule file (ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
+        <location line="+45"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation>Imprime</translation>
@@ -3916,13 +3867,13 @@ Do you want to overwrite it?</source>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation>Selige objecto superior</translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation>Selige objecto inferior</translation>
@@ -3931,195 +3882,176 @@ Do you want to overwrite it?</source>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation>usator incognite</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation>sin nomine</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation>Error critic de analysator syntactic</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation>Errioc critic de cargar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation>Il non pote crear directorio temporanee ante cargar
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation>Il non pot etrovar un mappa (é.xml) in archivo .vym.
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+325"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation>usator incognite</translation>
     </message>
     <message>
-        <source>Map seems to be already opened in another vym instance! It will be opened in readonly mode.
-
-Map is locked by &quot;%1&quot; on &quot;%2&quot;</source>
-        <translation type="vanished">Mappa semla esser ja aperite in altere instantia de vym! Il essera aperite in modo de sol lectura.
-
-Mappa es blocate per &quot;%1&quot; sur &quot;%2&quot;</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation>Advertimento: Mappa ja aperite</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation>Le mappa %1
-non usa le formato de file comprimite de vym.
-Si on scribe lo sin compression anque scribera images
-e bandieras e assi potera superscriber files in le directorio date
-
-Tu vole scriber le mappa</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
+        <location line="-365"/>
         <source>compressed (vym default)</source>
         <translation>comprimite (predefinite de vym)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation>non comprimite</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation>Cancella</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation>Salveguarda error</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation>%1 non poteva esser removite ante salveguardar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation>%1 non poteva esser renominate ante salveguardar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation>Error critic de salveguardar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation>Il non poteva crear directorio temporanee ante salveguardar
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation>Imagines</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation>Omne</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation>Carga imagine</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation>Salveguarda imagine</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation>Le file %1 ja existe. Tu vole supescriber lo?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation>Superscribe</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation>Error critic</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation>Formato non supportate in %1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation>Il non pote salveguardar %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation>Error critic de importar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation>Il non pote trovar le directorio %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation>Selige structura de directorio de importar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -4128,17 +4060,17 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="-41"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
@@ -4147,13 +4079,13 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation>Advertimento</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -4166,116 +4098,105 @@ Do you want to reload that map with the new file?</source>
 Tu vole recargar le mappa con le nove file?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation>Recarga</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation>Ignora</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation>Advertimento</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation>Il falleva a refacer:
-%1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation>Salveguardar automatc dishabilitate durante annullation.</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation>Nota</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation>Image</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation>Nove mappa</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
+        <location line="+939"/>
+        <source>Could not find Jira ticket pattern in %1</source>
         <comment>VymModel</comment>
-        <translation>Contingente Bugzilla...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation>Script abortite:
-%1</translation>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+323"/>
         <source>Export map as image</source>
         <translation>Exporta mappa como imagine</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation>Il non pote salveguardar QImage %1 in formato %2</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation>Exporta mappa como PDF</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation>Exporta mappa como SVG</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation>Exporta mappa como XML</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation>Exporta XML in directorio</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation>Error critic de exportation</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exporta como LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation>(ancora experimental)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation>Exporta como csv</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="-531"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+900"/>
         <source>Load background image</source>
         <translation>Carga imagine de fundo</translation>
     </message>
@@ -4283,18 +4204,18 @@ Tu vole recargar le mappa con le nove file?</translation>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation>Error critic</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
         <translation>Il non pote initiar %1</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 non exiva normalmente</translation>
     </message>
@@ -4302,13 +4223,13 @@ Tu vole recargar le mappa con le nove file?</translation>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Editor a arbore</translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Editor de diapositiva</translation>
@@ -4317,35 +4238,83 @@ Tu vole recargar le mappa con le nove file?</translation>
 <context>
     <name>WarningDialog</name>
     <message>
-        <location filename="../warningdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Dialogo</translation>
+        <translation type="vanished">Dialogo</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="91"/>
         <source>showAgainBox</source>
-        <translation>MonstraQuadroDeNove</translation>
+        <translation type="vanished">MonstraQuadroDeNove</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation>cancella</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation>Ok</translation>
+        <translation type="vanished">Ok</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation>Procede</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation>Monstra iste message de nove</translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">Advertimento</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Status</source>
+        <translation type="obsolete">Status</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Claude</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
index 53f5f97758653c190cc4af2d317e4b1ee5d9e428..45bda97919356e6bb49be4d5e8d918bcd258bc95 100644 (file)
@@ -4,23 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <source>Ok</source>
-        <translation type="obsolete">Ok</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation>Ringraziamenti</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation>Licenza</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation>Ok</translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+21"/>
         <source>Please use Settings-&gt;</source>
         <translation>Usare le Impostazioni-&gt;</translation>
     </message>
     <message>
-        <source>Set application to open an URL</source>
-        <translation type="obsolete">Impostare un applicazione per aprire gli URL</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="-3"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
         <translation>Non è possibile trovare un&apos; applicazione per aprire %1.</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+3"/>
         <source>Set application to open an URL...</source>
         <translation>Impostare un&apos;applicazione per aprire una URL...</translation>
     </message>
 </context>
-<context>
-    <name>Attribute Dialog</name>
-    <message>
-        <source>AttributeDialog - Edit definitions</source>
-        <translation type="obsolete">AttributeDialog - Modifica definizioni</translation>
-    </message>
-    <message>
-        <source>AttributeDialog - Edit %1</source>
-        <translation type="obsolete">AttributeDialog - Modifica %1</translation>
-    </message>
-</context>
 <context>
     <name>AttributeDialog</name>
     <message>
         <translation type="obsolete">Chiudi</translation>
     </message>
 </context>
-<context>
-    <name>AttributeWidget</name>
-    <message>
-        <source>Form</source>
-        <translation type="obsolete">Form</translation>
-    </message>
-</context>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
         <source>Branch Property Editor</source>
-        <translation>Editor di proprietà del Ramo</translation>
+        <translation type="vanished">Editor di proprietà del Ramo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
         <source>Frame</source>
-        <translation>Frame</translation>
+        <translation type="vanished">Frame</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
         <source>Geometry</source>
-        <translation>Geometria</translation>
+        <translation type="vanished">Geometria</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
         <source>No Frame</source>
-        <translation>Senza Frame</translation>
+        <translation type="vanished">Senza Frame</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation>Rettangolo</translation>
+        <translation type="vanished">Rettangolo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
         <source>Rounded Rectangle</source>
-        <translation>Rettangolo arrotondato</translation>
+        <translation type="vanished">Rettangolo arrotondato</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
         <source>Ellipse</source>
-        <translation>Elisse</translation>
+        <translation type="vanished">Elisse</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
         <source>Cloud</source>
-        <translation>Cloud</translation>
+        <translation type="vanished">Cloud</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
         <source>Padding</source>
-        <translation>Bordatura</translation>
+        <translation type="vanished">Bordatura</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
         <source>Borderline width</source>
-        <translation>Spessore contorno</translation>
+        <translation type="vanished">Spessore contorno</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
         <source>Include children</source>
-        <translation>Include figli</translation>
+        <translation type="vanished">Include figli</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
         <source>Colors</source>
-        <translation>Colori</translation>
+        <translation type="vanished">Colori</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
         <source>Borderline color</source>
-        <translation>Colore contorno</translation>
+        <translation type="vanished">Colore contorno</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
         <source>Background color</source>
-        <translation>Colore di sfondo</translation>
+        <translation type="vanished">Colore di sfondo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
         <source>Layout</source>
-        <translation>Layout</translation>
+        <translation type="vanished">Layout</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
         <source>Include images horizontally</source>
-        <translation>Includi immagini orizzontalmente</translation>
+        <translation type="vanished">Includi immagini orizzontalmente</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
         <source>Include images vertically</source>
-        <translation>Includi immagini verticalmente</translation>
+        <translation type="vanished">Includi immagini verticalmente</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
         <source>Free positioning of children (experimental!)</source>
-        <translation>Posizionamento libero dei figli (sperimentale)</translation>
+        <translation type="vanished">Posizionamento libero dei figli (sperimentale)</translation>
+    </message>
+    <message>
+        <source>Task</source>
+        <translation type="obsolete">Task</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
         <source>Link</source>
-        <translation>Puntatori</translation>
+        <translation type="vanished">Puntatori</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
         <source>Hide link if unselected</source>
-        <translation>Nascondi link se non selezionato</translation>
+        <translation type="vanished">Nascondi link se non selezionato</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
         <source>Attributes</source>
-        <translation>Attributi</translation>
+        <translation type="vanished">Attributi</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
         <source>+</source>
-        <translation>+</translation>
+        <translation type="vanished">+</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
         <source>-</source>
-        <translation>-</translation>
+        <translation type="vanished">-</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
         <translation>Editor di Proprietà</translation>
     </message>
-</context>
-<context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Editor di Proprietà</translation>
-    </message>
     <message>
+        <location line="+22"/>
         <source>Name</source>
         <comment>Branchprop window: Attribute name</comment>
-        <translation type="obsolete">Nome</translation>
+        <translation type="unfinished">Nome</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Value</source>
         <comment>Branchprop window: Attribute value</comment>
-        <translation type="obsolete">Valore</translation>
+        <translation type="unfinished">Valore</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Type</source>
         <comment>Branchprop window: Attribute type</comment>
-        <translation type="obsolete">Tipo</translation>
-    </message>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation type="obsolete">Editor di proprietà del Ramo</translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation type="obsolete">Frame</translation>
+        <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <source>Geometry</source>
-        <translation type="obsolete">Geometria</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Senza Frame</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rettangolo</translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation type="obsolete">Elisse</translation>
-    </message>
-    <message>
-        <source>Cloud</source>
-        <translation type="obsolete">Cloud</translation>
-    </message>
-    <message>
-        <source>Padding</source>
-        <translation type="obsolete">Bordatura</translation>
-    </message>
-    <message>
-        <source>Borderline width</source>
-        <translation type="obsolete">Spessore contorno</translation>
-    </message>
-    <message>
-        <source>Include children</source>
-        <translation type="obsolete">Include figli</translation>
-    </message>
-    <message>
-        <source>Colors</source>
-        <translation type="obsolete">Colori</translation>
-    </message>
-    <message>
-        <source>Borderline color</source>
-        <translation type="obsolete">Colore contorno</translation>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Background color</source>
-        <translation type="obsolete">Colore di sfondo</translation>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Layout</source>
-        <translation type="obsolete">Layout</translation>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Includi immagini orizzontalmente</translation>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Includi immagini verticalmente</translation>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <source>Link</source>
-        <translation type="obsolete">Puntatori</translation>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <source>Hide link if unselected</source>
-        <translation type="obsolete">Nascondi link se non selezionato</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Finestra di Dialogo</translation>
     </message>
     <message>
-        <source>Attributes</source>
-        <translation type="obsolete">Attributi</translation>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
     <message>
-        <source>+</source>
-        <translation type="obsolete">+</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Finestra di Dialogo</translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Chiudi</translation>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation>Edita lo XLink</translation>
+        <translation type="vanished">Edita lo XLink</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
         <source>Arrow begin:</source>
-        <translation>Inizio della freccia:</translation>
+        <translation type="vanished">Inizio della freccia:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation>spessore XLink:</translation>
+        <translation type="vanished">spessore XLink:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
         <source>Use color of heading</source>
-        <translation>Usa il colore dell&apos;intestazione</translation>
+        <translation type="vanished">Usa il colore dell&apos;intestazione</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
         <source>Line style:</source>
         <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation>Stile della linea:</translation>
+        <translation type="vanished">Stile della linea:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
         <source>Arrow end:</source>
-        <translation>Fine della freccia:</translation>
+        <translation type="vanished">Fine della freccia:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
         <source>Close</source>
-        <translation>Chiudi</translation>
-    </message>
-    <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">Imposta colore del titolo</translation>
+        <translation type="vanished">Chiudi</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
         <source>XLink color:</source>
-        <translation>colore del XLink:</translation>
+        <translation type="vanished">colore del XLink:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
         <source>Use as default:</source>
-        <translation>Usa come predefinito:</translation>
+        <translation type="vanished">Usa come predefinito:</translation>
     </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
     <message>
-        <source>Delete XLink</source>
-        <translation type="obsolete">Elimina XLink</translation>
+        <source>Options</source>
+        <translation type="obsolete">Opzioni</translation>
     </message>
     <message>
-        <source>Ok</source>
-        <translation type="obsolete">Ok</translation>
+        <source>Image of map</source>
+        <translation type="obsolete">Immagine della mappa</translation>
+    </message>
+    <message>
+        <source>Include images</source>
+        <translation type="obsolete">Include immagini</translation>
+    </message>
+    <message>
+        <source>Table of contents</source>
+        <translation type="obsolete">Indice</translation>
+    </message>
+    <message>
+        <source>Task flags</source>
+        <translation type="obsolete">Flag di task</translation>
     </message>
     <message>
-        <source>Quit and delete XLink</source>
-        <translation type="obsolete">Esci e cancella lo Xlink</translation>
+        <source>General flags</source>
+        <translation type="obsolete">Flag generali</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Colori i titoli nel testo</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Salva le impostazioni della mappa</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancella</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">Esporta</translation>
     </message>
 </context>
 <context>
     <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
         <source>Export HTML</source>
-        <translation>Esporta in HTML</translation>
-    </message>
-    <message>
-        <source>Directory:</source>
-        <translation type="obsolete">Cartella:</translation>
+        <translation type="vanished">Esporta in HTML</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
         <source>Export to directory:</source>
-        <translation>Esporta nella cartella:</translation>
+        <translation type="vanished">Esporta nella cartella:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
         <source>Browse</source>
-        <translation>Naviga</translation>
+        <translation type="vanished">Naviga</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation>Opzioni</translation>
+        <translation type="vanished">Opzioni</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
         <source>Image of map</source>
-        <translation>Immagine della mappa</translation>
+        <translation type="vanished">Immagine della mappa</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
         <source>Include images</source>
-        <translation>Include immagini</translation>
+        <translation type="vanished">Include immagini</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
         <source>Table of contents</source>
-        <translation>Indice</translation>
+        <translation type="vanished">Indice</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
         <source>Task flags</source>
-        <translation>Flag di task</translation>
+        <translation type="vanished">Flag di task</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
         <source>General flags</source>
-        <translation>Flag generali</translation>
+        <translation type="vanished">Flag generali</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
         <source>Number sections</source>
-        <translation>Numera le sezioni</translation>
+        <translation type="vanished">Numera le sezioni</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
         <source>Copy CSS from </source>
-        <translation>Copia CSS da</translation>
+        <translation type="vanished">Copia CSS da</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
         <source>Use CSS from</source>
-        <translation>Usa CSS da</translation>
-    </message>
-    <message>
-        <source>Include image</source>
-        <translation type="obsolete">Includi immagine</translation>
+        <translation type="vanished">Usa CSS da</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation>Colori i titoli nel testo</translation>
+        <translation type="vanished">Colori i titoli nel testo</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation>Salva le impostazioni della mappa</translation>
-    </message>
-    <message>
-        <source>Include image of map</source>
-        <translation type="obsolete">Includi l&apos;immagine della mappa</translation>
-    </message>
-    <message>
-        <source>create image only</source>
-        <translation type="obsolete">crea solo immagini</translation>
-    </message>
-    <message>
-        <source>use WIKI style</source>
-        <translation type="obsolete">usa lo stile WIKI</translation>
-    </message>
-    <message>
-        <source>use heading for URLs (instead of link target)</source>
-        <translation type="obsolete">usa titoli per gli URL (al posto dei link target)</translation>
-    </message>
-    <message>
-        <source>use image of earth to mark URLs in text</source>
-        <translation type="obsolete">usa l&apos;immagine del globo terrestre per distinguere gli URL nel testo</translation>
-    </message>
-    <message>
-        <source>use default CSS file</source>
-        <translation type="obsolete">usa il file CSS predefinito</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">mostra l&apos;output degli script esterni</translation>
+        <translation type="vanished">Salva le impostazioni della mappa</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation>Foglio di Stile</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
+        <translation type="vanished">Foglio di Stile</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation>Script</translation>
+        <translation type="vanished">Script</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation>Dopo l&apos;esportazione:</translation>
+        <translation type="vanished">Dopo l&apos;esportazione:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
         <source>Export</source>
-        <translation>Esporta</translation>
+        <translation type="vanished">Esporta</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation>Cancella</translation>
+        <translation type="vanished">Cancella</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -559,14 +456,10 @@ Per favore verifica se davvero tu
 voglia permettere ciò nel tuo sistema!</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation>VYM - Esporta l&apos;HTML nella cartella</translation>
     </message>
-    <message>
-        <source>Critcal export error</source>
-        <translation type="obsolete">Errore critico nell&apos;esportazione</translation>
-    </message>
 </context>
 <context>
     <name>ExportXHTMLDialog</name>
@@ -598,10 +491,6 @@ voglia permettere ciò nel tuo sistema!</translation>
         <source>Save settings in map</source>
         <translation type="obsolete">Salva le impostazioni della mappa</translation>
     </message>
-    <message>
-        <source>showWarnings e.g. if directory is not empty</source>
-        <translation type="obsolete">mostra i Warning es. se la cartella non è vuota</translation>
-    </message>
     <message>
         <source>show output of external scripts</source>
         <translation type="obsolete">mostra l&apos;output degli script esterni</translation>
@@ -630,68 +519,6 @@ voglia permettere ciò nel tuo sistema!</translation>
         <source>Cancel</source>
         <translation type="obsolete">Cancella</translation>
     </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Attenzione</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-</source>
-        <translation type="obsolete">Le impostazioni salvate nella mappa chiedono di eseguire degli script:
-
-</translation>
-    </message>
-    <message>
-        <source>Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">Per favore, ricontrollare se davvero si 
-vuol permettere l&apos;azione sul proprio sistema! </translation>
-    </message>
-    <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation type="obsolete">VYM - Esporta HTML in cartella </translation>
-    </message>
-    <message>
-        <source>VYM - Path to CSS file</source>
-        <translation type="obsolete">VYM - Percorso del file CSS</translation>
-    </message>
-    <message>
-        <source>VYM - Path to XSL file</source>
-        <translation type="obsolete">VYM - Percorso del file XSL</translation>
-    </message>
-    <message>
-        <source>VYM - Path to pre export script</source>
-        <translation type="obsolete">VYM - Percorso dello script di pre esportazione</translation>
-    </message>
-    <message>
-        <source>VYM - Path to post export script</source>
-        <translation type="obsolete">VYM - Percorso dello script di post esportazione</translation>
-    </message>
-    <message>
-        <source> could not be opened!</source>
-        <translation type="obsolete"> non può essere aperto!</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Errore Critico</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start </source>
-        <translation type="obsolete"> Non è possibile iniziare</translation>
-    </message>
-    <message>
-        <source>didn&apos;t exit normally</source>
-        <translation type="obsolete">non è finito normalmente</translation>
-    </message>
-    <message>
-        <source>Stylesheets:</source>
-        <translation type="obsolete">Fogli di stile:</translation>
-    </message>
-    <message>
-        <source>Scripts:</source>
-        <translation type="obsolete">Script:</translation>
-    </message>
     <message>
         <source>Stylesheets</source>
         <translation type="obsolete">Foglio di Stile</translation>
@@ -700,36 +527,6 @@ vuol permettere l&apos;azione sul proprio sistema! </translation>
         <source>Scripts</source>
         <translation type="obsolete">Script</translation>
     </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">Le impostazioni salvate chiedono di eseguire degli script:
-
-%1
-
-Controllare, se veramente volete 
-permettere questo sul vostro sistema!</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">Non è possibile %1</translation>
-    </message>
-    <message>
-        <source>Could not write %1</source>
-        <translation type="obsolete">Non è possibile scrivere %1</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">Non è possibile iniziare %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 non è terminato normalmente</translation>
-    </message>
     <message>
         <source>show warnings of xslt processor</source>
         <translation type="obsolete">Mostra errori del processore xslt</translation>
@@ -738,196 +535,171 @@ permettere questo sul vostro sistema!</translation>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
         <source>VYM - Info</source>
-        <translation>VYM - Info</translation>
+        <translation type="vanished">VYM - Info</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
         <source>Map:</source>
-        <translation>Mappa:</translation>
+        <translation type="vanished">Mappa:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
         <source>Title:</source>
-        <translation>Titolo:</translation>
+        <translation type="vanished">Titolo:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
         <source>Author:</source>
-        <translation>Autore:</translation>
+        <translation type="vanished">Autore:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
         <source>Comment:</source>
-        <translation>Commenti:</translation>
+        <translation type="vanished">Commenti:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation>Statistiche:</translation>
+        <translation type="vanished">Statistiche:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation>Cancella</translation>
+        <translation type="vanished">Cancella</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation>Chiudi</translation>
+        <translation type="vanished">Chiudi</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation>Trova:</translation>
     </message>
 </context>
-<context>
-    <name>FindWindow</name>
-    <message>
-        <source>Clear</source>
-        <translation type="obsolete">Pulisci</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Cancella</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Trova</translation>
-    </message>
-    <message>
-        <source>Find Text</source>
-        <translation type="obsolete">Trova Testo</translation>
-    </message>
-    <message>
-        <source>Text to find:</source>
-        <translation type="obsolete">Testo da Trovare:</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">Nuova Mappa</translation>
-    </message>
-</context>
 <context>
     <name>HeadingEditor</name>
     <message>
-        <location filename="../headingeditor.cpp" line="9"/>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <comment>Window caption</comment>
-        <translation>Editor intestazione</translation>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished">Editor intestazione</translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
     <message>
-        <location filename="../historywindow.ui" line="13"/>
         <source>Dialog</source>
-        <translation>Finestra di Dialogo</translation>
+        <translation type="vanished">Finestra di Dialogo</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="50"/>
         <source>Redo</source>
-        <translation>Rifai</translation>
-    </message>
-    <message>
-        <source>New Row</source>
-        <translation type="obsolete">Nuova Riga</translation>
+        <translation type="vanished">Rifai</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation>Tempo</translation>
+        <translation type="vanished">Tempo</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation>Commenti</translation>
+        <translation type="vanished">Commenti</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation>Annulla</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>Chiudi</translation>
+        <translation type="vanished">Annulla</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation>Azioni</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>Commenti</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation>Cancella azione</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation>Stato corrente</translation>
     </message>
 </context>
 <context>
-    <name>LineEditDialog</name>
+    <name>JiraAgent</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation>Finestra di Dialogo</translation>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">Attenzione</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
-        <source>TextLabel</source>
-        <translation>Etichetta di testo</translation>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
-        <source>Cancel</source>
-        <translation>Cancella</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Finestra di Dialogo</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
-        <source>Ok</source>
+        <source>Add</source>
+        <translation type="obsolete">Aggiungi</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">Rimuovi</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="vanished">Finestra di Dialogo</translation>
+    </message>
+    <message>
+        <source>TextLabel</source>
+        <translation type="vanished">Etichetta di testo</translation>
+    </message>
+    <message>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
+        <source>Cancel</source>
+        <translation>Cancella</translation>
+    </message>
+    <message>
+        <location line="-7"/>
+        <source>Ok</source>
         <translation>Ok</translation>
     </message>
 </context>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">Finestra di Dialogo</translation>
+        <translation type="obsolete">Finestra di Dialogo</translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -935,4072 +707,2401 @@ permettere questo sul vostro sistema!</translation>
 <context>
     <name>Main</name>
     <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">&amp;File</translation>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
+        <source>Linkstyle Line</source>
+        <translation>Collegamenti Lineari</translation>
     </message>
     <message>
-        <source>New map</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Nuova Mappa</translation>
+        <location line="+14"/>
+        <source>Linkstyle Thick Line</source>
+        <translation>Collegamento Linea Spessa</translation>
     </message>
     <message>
-        <source>&amp;New...</source>
-        <translation type="obsolete">&amp;Nuovo...</translation>
+        <location line="+32"/>
+        <source>Set &amp;Link Color</source>
+        <translation>Specifica Co&amp;lore dei Collegamenti</translation>
     </message>
     <message>
-        <source>Open</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Apri</translation>
+        <location line="+10"/>
+        <source>Set &amp;Background Color</source>
+        <translation>Specifica Colore di S&amp;fondo</translation>
     </message>
     <message>
-        <source>&amp;Open...</source>
-        <translation type="obsolete">&amp;Apri...</translation>
+        <location line="+14"/>
+        <source>&amp;View</source>
+        <translation>&amp;Vedi</translation>
     </message>
     <message>
-        <source>Open Recent</source>
-        <translation type="obsolete">Apri Recente</translation>
+        <location line="+2420"/>
+        <location line="+1260"/>
+        <source>Set application to open an URL</source>
+        <translation>Scegli l&apos;applicazione per aprire gli URL</translation>
     </message>
     <message>
-        <source>Save</source>
-        <translation type="obsolete">Salva</translation>
+        <location line="-1813"/>
+        <source>Overwrite</source>
+        <translation>Sovvrascrivi</translation>
     </message>
     <message>
-        <source>&amp;Save...</source>
-        <translation type="obsolete">&amp;Salva...</translation>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
+        <source>Cancel</source>
+        <translation>Cancella</translation>
     </message>
     <message>
-        <source>Save &amp;As</source>
-        <translation type="obsolete">Salva &amp;Con nome</translation>
+        <location line="-432"/>
+        <source>Open anyway</source>
+        <translation>Aprire lo stesso</translation>
     </message>
     <message>
-        <source>Save &amp;As...</source>
-        <translation type="obsolete">Salva &amp;Con nome...</translation>
+        <location line="+73"/>
+        <source>Create</source>
+        <translation>Crea</translation>
     </message>
     <message>
-        <source>Import directory structure (experimental)</source>
-        <translation type="obsolete">Importare la struttura di una cartella (sperimentale)</translation>
+        <location line="+86"/>
+        <source>Load vym map</source>
+        <translation>Carica una mappa vym</translation>
     </message>
     <message>
-        <source>Import Dir</source>
-        <translation type="obsolete">Importa Cartella</translation>
+        <location line="+6"/>
+        <source>Import: Add vym map to selection</source>
+        <translation>Importa: Aggiungi una mappa vym alla selezione</translation>
     </message>
     <message>
-        <source>Export</source>
-        <translation type="obsolete">Esporta</translation>
+        <location line="+4"/>
+        <source>Import: Replace selection with vym map</source>
+        <translation>Importa: Rimpiazza la selezione con una mappa vym</translation>
     </message>
     <message>
-        <source>Print</source>
-        <translation type="obsolete">Stampa</translation>
+        <location line="+613"/>
+        <source>Save modified map before closing it</source>
+        <translation>Salvare la mappa modificata prima di chiudere</translation>
     </message>
     <message>
-        <source>&amp;Print...</source>
-        <translation type="obsolete">S&amp;tampa...</translation>
+        <location line="+1"/>
+        <source>Discard changes</source>
+        <translation>Tralascia le modifiche</translation>
     </message>
     <message>
-        <source>Close Map</source>
-        <translation type="obsolete">Chiudi Mappa</translation>
+        <location line="+1411"/>
+        <source>VYM -Information:</source>
+        <translation>VIM - Informazioni:</translation>
     </message>
     <message>
-        <source>&amp;Close Map</source>
-        <translation type="obsolete">C&amp;hiudi Mappa</translation>
+        <location line="-2265"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
+        <source>Critical Error</source>
+        <translation>Errore Critico</translation>
     </message>
     <message>
-        <source>Exit VYM</source>
-        <translation type="obsolete">Esci da VYM</translation>
+        <location line="+2109"/>
+        <source>Critcal error</source>
+        <translation>Errore Critico</translation>
     </message>
     <message>
-        <source>E&amp;xit VYM</source>
-        <translation type="obsolete">&amp;Esci da VYM</translation>
+        <location line="-3798"/>
+        <source>Add</source>
+        <translation>Aggiungi</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="obsolete">&amp;Modifica</translation>
+        <location line="+1093"/>
+        <location line="+54"/>
+        <location line="+1"/>
+        <source>Import</source>
+        <translation>Importa</translation>
     </message>
     <message>
-        <source>Undo</source>
-        <translation type="obsolete">Annulla</translation>
+        <location line="-3069"/>
+        <source>&amp;Print</source>
+        <translation>&amp;Stampa</translation>
     </message>
     <message>
-        <source>&amp;Undo</source>
-        <translation type="obsolete">Annu&amp;lla</translation>
+        <location line="+1395"/>
+        <source>Take care!</source>
+        <comment>Standardflag</comment>
+        <translation>Fare attenzione!</translation>
     </message>
     <message>
-        <source>Copy</source>
-        <translation type="obsolete">Copia</translation>
+        <location line="+5"/>
+        <source>Really?</source>
+        <comment>Standardflag</comment>
+        <translation>Veramente?</translation>
     </message>
     <message>
-        <source>&amp;Copy</source>
-        <translation type="obsolete">Co&amp;pia</translation>
+        <location line="-24"/>
+        <source>This won&apos;t work!</source>
+        <comment>Standardflag</comment>
+        <translation>Questo non funzionerà!</translation>
     </message>
     <message>
-        <source>Cut</source>
-        <translation type="obsolete">Taglia</translation>
+        <location line="+38"/>
+        <source>Good</source>
+        <comment>Standardflag</comment>
+        <translation>Bene</translation>
     </message>
     <message>
-        <source>Cu&amp;t</source>
-        <translation type="obsolete">Ta&amp;glia</translation>
+        <location line="+4"/>
+        <source>Bad</source>
+        <comment>Standardflag</comment>
+        <translation>Male</translation>
     </message>
     <message>
-        <source>Paste</source>
-        <translation type="obsolete">Incolla</translation>
+        <location line="+48"/>
+        <source>Time critical</source>
+        <comment>Standardflag</comment>
+        <translation>In tempo critico</translation>
     </message>
     <message>
-        <source>&amp;Paste</source>
-        <translation type="obsolete">&amp;Incolla</translation>
+        <location line="-58"/>
+        <source>Idea!</source>
+        <comment>Standardflag</comment>
+        <translation>Idea!</translation>
     </message>
     <message>
-        <source>Move branch up</source>
-        <translation type="obsolete">Vai al ramo superiore</translation>
+        <location line="+25"/>
+        <source>Important</source>
+        <comment>Standardflag</comment>
+        <translation>Importante</translation>
     </message>
     <message>
-        <source>Move up</source>
-        <translation type="obsolete">Vai sopra</translation>
+        <location line="+5"/>
+        <source>Unimportant</source>
+        <comment>Standardflag</comment>
+        <translation>Non Importante</translation>
     </message>
     <message>
-        <source>Move branch down</source>
-        <translation type="obsolete">Vai al ramo inferiore</translation>
+        <location line="+15"/>
+        <source>I like this</source>
+        <comment>Standardflag</comment>
+        <translation>Mi piace</translation>
     </message>
     <message>
-        <source>Move down</source>
-        <translation type="obsolete">Vai giù</translation>
+        <location line="+3"/>
+        <source>I do not like this</source>
+        <comment>Standardflag</comment>
+        <translation>Non mi piace</translation>
     </message>
     <message>
-        <source>Scroll branch</source>
-        <translation type="obsolete">Nascondi/Mostra ramificazione</translation>
+        <location line="-26"/>
+        <source>Dangerous</source>
+        <comment>Standardflag</comment>
+        <translation>Pericoloso</translation>
     </message>
     <message>
-        <source>Unscroll all</source>
-        <translation type="obsolete">Mostra tutti i rami</translation>
+        <location line="+30"/>
+        <source>This will help</source>
+        <comment>Standardflag</comment>
+        <translation>Questo aiuta</translation>
     </message>
     <message>
-        <source>Unscroll all scrolled branches</source>
-        <translation type="obsolete">Mostra tutti i rami nascosti</translation>
+        <location line="-1577"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
+        <source>(still experimental)</source>
+        <translation>(in via di sperimentazione)</translation>
     </message>
     <message>
-        <source>Find</source>
-        <translation type="obsolete">Cerca</translation>
+        <location line="-2505"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Open URL</source>
-        <translation type="obsolete">Apri URL</translation>
+        <location line="+1760"/>
+        <source>The map %1
+is already opened.Opening the same map in multiple editors may lead 
+to confusion when finishing working with vym.Do you want to</source>
+        <translation>La mappa %1
+è già aperta. Aprire la stessa mappa in più editor può confondere 
+quando si finisce di lavorare con vym. Si vuole continuare</translation>
     </message>
     <message>
-        <source>Edit URL</source>
-        <translation type="obsolete">Modifica URL</translation>
+        <location line="+75"/>
+        <source>This map does not exist:
+  %1
+Do you want to create a new one?</source>
+        <translation>Questa mappa non esiste:
+  %1
+Si vuole crearne una nuova?</translation>
     </message>
     <message>
-        <source>Use heading of selected branch as URL</source>
-        <translation type="obsolete">Usa i titoli dei rami selezionati come URL</translation>
+        <location line="+224"/>
+        <source>Saved  %1</source>
+        <translation>Salvato  %1</translation>
     </message>
     <message>
-        <source>Use heading for URL</source>
-        <translation type="obsolete">Usa titoli per gli URL</translation>
+        <location line="+4"/>
+        <source>Couldn&apos;t save </source>
+        <translation>Non si può salvare </translation>
     </message>
     <message>
-        <source>Create URL to Bugzilla</source>
-        <translation type="obsolete">Crea URL a Bugzilla</translation>
+        <location line="+39"/>
+        <location line="+92"/>
+        <source>The file %1
+exists already. Do you want to</source>
+        <translation>Il file %1
+è già esistente. Si vuole</translation>
     </message>
     <message>
-        <source>Jump to another vym map, if needed load it first</source>
-        <translation type="obsolete">Salta ad un&apos;altra mappa vym, se necessario caricala prima</translation>
+        <location line="+242"/>
+        <location line="+68"/>
+        <source>Export to</source>
+        <translation>Esporta in</translation>
     </message>
     <message>
-        <source>Jump to map</source>
-        <translation type="obsolete">Salta ad una mappa</translation>
+        <location line="+41"/>
+        <source>The map %1 has been modified but not saved yet. Do you want to</source>
+        <translation>La mappa %1 è stata modificata ma non salvata. Si vuole</translation>
     </message>
     <message>
-        <source>Edit link to another vym map</source>
-        <translation type="obsolete">Edita link a un&apos;altra mappa</translation>
+        <location line="+334"/>
+        <source>Couldn&apos;t open map %1</source>
+        <translation>Non è possibile aprire la mappa %1</translation>
     </message>
     <message>
-        <source>Edit vym link</source>
-        <translation type="obsolete">Edita un link vym</translation>
+        <location line="-693"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
+        <source>Warning</source>
+        <translation>Attenzione</translation>
     </message>
     <message>
-        <source>Delete link to another vym map</source>
-        <translation type="obsolete">Cancella il link ad un&apos;altra mappa vym</translation>
+        <location line="-2733"/>
+        <location line="+2345"/>
+        <source>Couldn&apos;t find a viewer to open %1.
+</source>
+        <translation>Non è possibile trovare un applicazione per aprire %1.
+</translation>
     </message>
     <message>
-        <source>Delete vym link</source>
-        <translation type="obsolete">Cancella link vym</translation>
+        <location line="-2344"/>
+        <location line="+2345"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>Usare le Impostazioni-&gt;</translation>
     </message>
     <message>
-        <source>Edit Map Info</source>
-        <translation type="obsolete">Edita Info della Mappa</translation>
+        <location line="-1096"/>
+        <location line="+1097"/>
+        <source>Set application to open PDF files</source>
+        <translation>Scegli il programma per aprire i file PDF</translation>
     </message>
     <message>
-        <source>edit Heading</source>
-        <translation type="obsolete">edita Titolo</translation>
+        <location line="-4311"/>
+        <source>Oh no!</source>
+        <comment>Standardflag</comment>
+        <translation>Oh no!</translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <translation type="obsolete">Edita Titolo</translation>
+        <location line="-2414"/>
+        <source>Search results list</source>
+        <comment>FindResultWidget</comment>
+        <translation>Cerca lista dei risultati</translation>
     </message>
     <message>
-        <source>Delete Selection</source>
-        <translation type="obsolete">Cancella la Selezione</translation>
+        <location line="+3108"/>
+        <source>File actions toolbar</source>
+        <comment>Toolbar for file actions</comment>
+        <translation>Barra strumenti azioni di file</translation>
     </message>
     <message>
-        <source>Add a branch as child of selection</source>
-        <translation type="obsolete">Aggiungi un ramo come figlio della selezione</translation>
+        <location line="+19"/>
+        <source>Edit actions toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation>Barra di azioni di Edit</translation>
     </message>
     <message>
-        <source>Add branch as child</source>
-        <translation type="obsolete">Aggiungi ramo come figlio</translation>
+        <location line="-3065"/>
+        <source>Task list</source>
+        <comment>TaskEditor</comment>
+        <translation>Elenco delle task</translation>
     </message>
     <message>
-        <source>Add a branch above selection</source>
-        <translation type="obsolete">Aggiungi un ramo sopra la selzione</translation>
+        <location line="-51"/>
+        <source>Script Editor</source>
+        <comment>ScriptEditor</comment>
+        <translation>Editor di Script</translation>
     </message>
     <message>
-        <source>Add branch above</source>
-        <translation type="obsolete">Aggiungi ramo sopra</translation>
+        <location line="+13"/>
+        <source>Property Editor</source>
+        <comment>PropertyEditor</comment>
+        <translation>Editor di Proprietà</translation>
     </message>
     <message>
-        <source>Add a branch below selection</source>
-        <translation type="obsolete">Aggiungi ramo sotto la selezione</translation>
+        <location line="+8"/>
+        <source>History window</source>
+        <comment>HistoryWidget</comment>
+        <translatorcomment>lascio storia  ma dovrebbe essere cronologia</translatorcomment>
+        <translation>Finestra per la storia</translation>
     </message>
     <message>
-        <source>Add branch below</source>
-        <translation type="obsolete">Aggiungi ramo sotto</translation>
+        <location line="+994"/>
+        <source>E&amp;dit</source>
+        <comment>Edit menu</comment>
+        <translation>E&amp;dit</translation>
     </message>
     <message>
-        <source>Add map at selection</source>
-        <translation type="obsolete">Aggiungi mappa alla selezione</translation>
+        <location line="+84"/>
+        <source>Add attribute</source>
+        <translation>Aggiunge attributo</translation>
     </message>
     <message>
-        <source>Import (add)</source>
-        <translation type="obsolete">Importa (aggiungi)</translation>
+        <location line="+131"/>
+        <source>&amp;Detach</source>
+        <comment>Context menu</comment>
+        <translation>&amp;Stacca</translation>
     </message>
     <message>
-        <source>Replace selection with map</source>
-        <translation type="obsolete">Rimpiazza la selezione con una mappa</translation>
+        <location line="+1"/>
+        <source>Detach branch and use as mapcenter</source>
+        <comment>Context menu</comment>
+        <translation>Stacca ramp e usa come centro di mappa</translation>
     </message>
     <message>
-        <source>Import (replace)</source>
-        <translation type="obsolete">Importa (rimpiazza)</translation>
+        <location line="+19"/>
+        <source>Sort children backwards</source>
+        <comment>Edit menu</comment>
+        <translation>Ordina figli in modo inverso</translation>
     </message>
     <message>
-        <source>Save selection</source>
-        <translation type="obsolete">Salva selezione</translation>
+        <location line="+81"/>
+        <source>Expand all branches</source>
+        <comment>Edit menu</comment>
+        <translation>Espande tutti i rami</translation>
     </message>
     <message>
-        <source>Select upper branch</source>
-        <translation type="obsolete">Seleziona il ramo superiore</translation>
+        <location line="+8"/>
+        <source>Expand one level</source>
+        <comment>Edit menu</comment>
+        <translation>Espande un livello</translation>
     </message>
     <message>
-        <source>Select lower branch</source>
-        <translation type="obsolete">Seleziona il ramo inferiore</translation>
+        <location line="-33"/>
+        <source>Collapse one level</source>
+        <comment>Edit menu</comment>
+        <translation>Collassa un livello</translation>
     </message>
     <message>
-        <source>Select left branch</source>
-        <translation type="obsolete">Seleziona il ramo sinistro</translation>
+        <location line="+13"/>
+        <source>Collapse unselected levels</source>
+        <comment>Edit menu</comment>
+        <translation>Collassa livelli non selezionati</translation>
     </message>
     <message>
-        <source>Select right branch</source>
-        <translation type="obsolete">Seleziona il ramo destro</translation>
+        <location line="-47"/>
+        <source>Unscroll children</source>
+        <comment>Edit menu</comment>
+        <translation>Non scorre i figli</translation>
     </message>
     <message>
-        <source>Select child branch</source>
-        <translation type="obsolete">Seleziona il ramo figlio</translation>
+        <location line="-356"/>
+        <source>Text (A&amp;O report)...</source>
+        <comment>Export format</comment>
+        <translation>Testo (rapporto A&amp;O)...</translation>
     </message>
     <message>
-        <source>Select first branch</source>
-        <translation type="obsolete">Seleziona il primo ramo</translation>
+        <location line="+52"/>
+        <source>Properties</source>
+        <translation>Proprietà</translation>
     </message>
     <message>
-        <source>Select last branch</source>
-        <translation type="obsolete">Seleziona l&apos;ultimo ramo</translation>
+        <location line="+210"/>
+        <source>Move branch up</source>
+        <comment>Edit menu</comment>
+        <translation>Vai al ramo superiore</translation>
     </message>
     <message>
-        <source>Add Image</source>
-        <translation type="obsolete">Aggiungi Immagine</translation>
+        <location line="+13"/>
+        <source>Move branch down</source>
+        <comment>Edit menu</comment>
+        <translation>Vai al ramo inferiore</translation>
     </message>
     <message>
-        <source>&amp;Format</source>
-        <translation type="obsolete">&amp;Formato</translation>
+        <location line="+86"/>
+        <source>Grow selection</source>
+        <comment>Edit menu</comment>
+        <translation>Amplia selezione</translation>
     </message>
     <message>
-        <source>Set Color</source>
-        <translation type="obsolete">Scegli Colore</translation>
+        <location line="+9"/>
+        <source>Shrink selection</source>
+        <comment>Edit menu</comment>
+        <translation>Contrae selezione</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>Scegli C&amp;olore</translation>
+        <location line="+9"/>
+        <source>Reset selection size</source>
+        <comment>Edit menu</comment>
+        <translation>Riazzera dimensione della selezione</translation>
     </message>
     <message>
-        <source>Pick color
-Hint: You can pick a color from another branch and color using CTRL+Left Button</source>
-        <translation type="obsolete">Prendi colore
-Consiglio: Puoi prendere il colore di un altro ramo usando CTRL+Tasto Sinistro</translation>
+        <location line="+54"/>
+        <source>References Context menu</source>
+        <comment>Shortcuts</comment>
+        <translation>Menu di contesto dei riferimenti</translation>
     </message>
     <message>
-        <source>Pic&amp;k color</source>
-        <translation type="obsolete">P&amp;rendi colore</translation>
+        <location line="+94"/>
+        <source>vymlinks - linking maps</source>
+        <comment>Shortcuts</comment>
+        <translation>vymkinks - collegare mappe</translation>
     </message>
     <message>
-        <source>Color branch</source>
-        <translation type="obsolete">Colore del ramo</translation>
+        <location line="+12"/>
+        <source>Open linked map in background tab</source>
+        <comment>Edit menu</comment>
+        <translation>Apri la mappa collegata nella scheda di sfondo</translation>
     </message>
     <message>
-        <source>Color &amp;branch</source>
-        <translation type="obsolete">Colore &amp;del ramo</translation>
+        <location line="+32"/>
+        <source>Exports</source>
+        <comment>Shortcuts</comment>
+        <translation>Esporta</translation>
     </message>
     <message>
-        <source>Color Subtree</source>
-        <translation type="obsolete">Colore del sottoalbero</translation>
+        <location line="+13"/>
+        <source>Tasks</source>
+        <comment>Shortcuts</comment>
+        <translation>Le Task</translation>
     </message>
     <message>
-        <source>Color sub&amp;tree</source>
-        <translation type="obsolete">Colore del so&amp;ttoalbero</translation>
+        <location line="+1"/>
+        <source>Toggle task</source>
+        <comment>Edit menu</comment>
+        <translation>Commuta la task</translation>
     </message>
     <message>
-        <source>Line</source>
-        <translation type="obsolete">Linea</translation>
+        <location line="+12"/>
+        <source>Cycle task status</source>
+        <comment>Edit menu</comment>
+        <translation>Status della task di ciclo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
-        <source>Linkstyle Line</source>
-        <translation>Collegamenti Lineari</translation>
+        <location line="+21"/>
+        <source>Reset sleep</source>
+        <comment>Task sleep</comment>
+        <translation>Riazzera il riposo</translation>
     </message>
     <message>
-        <source>Linkstyle Parabel</source>
-        <translation type="obsolete">Collegamenti Parabolici</translation>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <source>Sleep %1 days</source>
+        <comment>Task sleep</comment>
+        <translatorcomment>Traduco sleep come riposa, ma prima o poio lo cambierò</translatorcomment>
+        <translation>Riposa %1 giorni</translation>
     </message>
     <message>
-        <source>PolyLine</source>
-        <translation type="obsolete">PoliLinee</translation>
+        <location line="-55"/>
+        <source>Sleep %1 day</source>
+        <comment>Task sleep</comment>
+        <translation>Riposa %1 giorno</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
-        <source>Linkstyle Thick Line</source>
-        <translation>Collegamento Linea Spessa</translation>
+        <location line="+66"/>
+        <location line="+11"/>
+        <source>Sleep %1 weeks</source>
+        <comment>Task sleep</comment>
+        <translation>Riposa %1 settimane</translation>
     </message>
     <message>
-        <source>PolyParabel</source>
-        <translation type="obsolete">PoliParabole</translation>
+        <location line="+32"/>
+        <source>Removing parts of a map</source>
+        <comment>Shortcuts</comment>
+        <translation>Rimovente parti di una mappa</translation>
     </message>
     <message>
-        <source>Linkstyle Thick Parabel</source>
-        <translation type="obsolete">Collegamento Parabola spessa</translation>
+        <location line="+24"/>
+        <source>Various</source>
+        <comment>Shortcuts</comment>
+        <translation>Varie</translation>
     </message>
     <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Senza Frame</translation>
+        <location line="+12"/>
+        <source>Map properties...</source>
+        <comment>Edit menu</comment>
+        <translation>Proprietà di mappa...</translation>
     </message>
     <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rettangolo</translation>
+        <location line="+30"/>
+        <source>Selections</source>
+        <comment>Shortcuts</comment>
+        <translation>Selezioni</translation>
     </message>
     <message>
-        <source>Use same color for links and headings</source>
-        <translation type="obsolete">Usa lo stesso colore per titoli e collegamenti</translation>
+        <location line="+1"/>
+        <source>Select</source>
+        <comment>Select menu</comment>
+        <translation>Seleziona</translation>
     </message>
     <message>
-        <source>&amp;Use color of heading for link</source>
-        <translation type="obsolete">&amp;Usa colore dei titoli per i collegamenti</translation>
+        <location line="+3"/>
+        <source>Toggle target...</source>
+        <comment>Edit menu</comment>
+        <translation>Commuta obiettivo...</translation>
     </message>
     <message>
-        <source>Set Link Color</source>
-        <translation type="obsolete">Specifica Colore dei collegamenti</translation>
+        <location line="+10"/>
+        <source>Goto target...</source>
+        <comment>Edit menu</comment>
+        <translation>Va a obiettivo...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
-        <source>Set &amp;Link Color</source>
-        <translation>Specifica Co&amp;lore dei Collegamenti</translation>
+        <location line="+9"/>
+        <source>Move to target...</source>
+        <comment>Edit menu</comment>
+        <translation>Sposta a obiettivo...</translation>
     </message>
     <message>
-        <source>Set Background Color</source>
-        <translation type="obsolete">Specifica colore di Sfondo</translation>
+        <location line="+9"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
-        <source>Set &amp;Background Color</source>
-        <translation>Specifica Colore di S&amp;fondo</translation>
+        <location line="+30"/>
+        <source>Unselect all</source>
+        <comment>Edit menu</comment>
+        <translation>Deseleziona tutto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
-        <source>&amp;View</source>
-        <translation>&amp;Vedi</translation>
+        <location line="+8"/>
+        <source>Search functions</source>
+        <comment>Shortcuts</comment>
+        <translation>Funzioni di ricerca</translation>
     </message>
     <message>
-        <source>Zoom reset</source>
-        <translation type="obsolete">Zoom reset</translation>
+        <location line="+16"/>
+        <source>Find duplicate URLs</source>
+        <comment>Edit menu</comment>
+        <translation>Trova URL duplicate</translation>
     </message>
     <message>
-        <source>reset Zoom</source>
-        <translation type="obsolete">reset Zoom</translation>
+        <location line="+13"/>
+        <source>Formatting</source>
+        <comment>Shortcuts</comment>
+        <translation>Formattante</translation>
     </message>
     <message>
-        <source>Zoom in</source>
-        <translation type="obsolete">Zoom dentro</translation>
+        <location line="+120"/>
+        <source>Views</source>
+        <comment>Shortcuts</comment>
+        <translation>Viste</translation>
     </message>
     <message>
-        <source>Zoom out</source>
-        <translation type="obsolete">Zoom fuori</translation>
+        <location line="+7"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Toggle Note Editor</source>
-        <translation type="obsolete">Mostra l&apos;Editor di Note</translation>
+        <location line="+76"/>
+        <source>Note editor</source>
+        <comment>View action</comment>
+        <translation>Editor di note</translation>
     </message>
     <message>
-        <source>&amp;Next Window</source>
-        <translation type="obsolete">&amp;Prossima Finestra</translation>
+        <location line="+12"/>
+        <source>Heading editor</source>
+        <comment>View action</comment>
+        <translation>Editor di intestazione</translation>
     </message>
     <message>
-        <source>Next Window</source>
-        <translation type="obsolete">Prossima Finestra</translation>
+        <location line="+50"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Previous Window</source>
-        <translation type="obsolete">Finestra &amp;Precedente</translation>
+        <location line="+99"/>
+        <source>Modifier modes</source>
+        <comment>Shortcuts</comment>
+        <translation>Modalità di modifica</translation>
     </message>
     <message>
-        <source>Previous Window</source>
-        <translation type="obsolete">Finestra Precedente</translation>
+        <location line="+69"/>
+        <source>Images</source>
+        <translation type="unfinished">Immagini</translation>
     </message>
     <message>
-        <source>Modes when using modifiers</source>
-        <translation type="obsolete">Metodi nell&apos;uso dei modifier</translation>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Tutto</translation>
     </message>
     <message>
-        <source>Use modifier to color branches</source>
-        <translation type="obsolete">Usa i modifier per colorare i rami</translation>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">&amp;Preferenze</translation>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set application to open pdf files</source>
-        <translation type="obsolete">Scegli il programma per aprire i file pdf</translation>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
-        <source>Set application to open an URL</source>
-        <translation>Scegli l&apos;applicazione per aprire gli URL</translation>
+        <location line="-1554"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit branch after adding it</source>
-        <translation type="obsolete">Edita il ramo dopo averlo aggiunto</translation>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Segnalibri di Firefox</translation>
     </message>
     <message>
-        <source>Select branch after adding it</source>
-        <translation type="obsolete">Seleziona il ramo dopo averlo aggiunto</translation>
+        <location line="+315"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select heading before editing</source>
-        <translation type="obsolete">Seleziona il titolo prima di editarlo</translation>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select existing heading</source>
-        <translation type="obsolete">Seleziona il titolo esistente</translation>
+        <location line="+307"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable pasting into new branch</source>
-        <translation type="obsolete">Abilita incolla nei nuovi rami</translation>
+        <location line="+499"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable Delete key for deleting branches</source>
-        <translation type="obsolete">Abilita tasto Cancella per cancellare i rami</translation>
+        <location line="+146"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enable Delete key</source>
-        <translation type="obsolete">Abilita il tasto Cancella</translation>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Test</source>
-        <translation type="obsolete">&amp;Test</translation>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Test Flag</source>
-        <translation type="obsolete">Test Flag</translation>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>test flag</source>
-        <translation type="obsolete">test flag</translation>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Clipboard</source>
-        <translation type="obsolete">Mostra Clipboard</translation>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show clipboard</source>
-        <translation type="obsolete">Mostra clipboard</translation>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Help</source>
-        <translation type="obsolete">&amp;Aiuto</translation>
+        <location line="+205"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Importante</translation>
     </message>
     <message>
-        <source>Open VYM Documentation (pdf)</source>
-        <translation type="obsolete">Apri la documentazione di VYM (pdf)</translation>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Indietro</translation>
     </message>
     <message>
-        <source>Open VYM Documentation (pdf) </source>
-        <translation type="obsolete"> Apri la documentazione di VYM (pdf)</translation>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Avanti</translation>
     </message>
     <message>
-        <source>Information about VYM</source>
-        <translation type="obsolete">Informazioni riguardo VYM </translation>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Guarda qui</translation>
     </message>
     <message>
-        <source>About VYM</source>
-        <translation type="obsolete">A proposito di VYM</translation>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Pericoloso</translation>
     </message>
     <message>
-        <source>Information about QT toolkit</source>
-        <translation type="obsolete">Informazioni riguardo le QT toolkit</translation>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Non ti scordare</translation>
     </message>
     <message>
-        <source>About QT</source>
-        <translation type="obsolete">Riguardo le QT</translation>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Bandierina</translation>
     </message>
     <message>
-        <source>Save image</source>
-        <translation type="obsolete">Salva immagine</translation>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Casa</translation>
     </message>
     <message>
-        <source>Use for Export</source>
-        <translation type="obsolete">Usa per Esportare</translation>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Telefono</translation>
     </message>
     <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">Esporta mappa come immagine</translation>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Musica</translation>
     </message>
     <message>
-        <source>Export as ASCII (still experimental)</source>
-        <translation type="obsolete">Esporta come ASCI (in via di sperimentazione)</translation>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Casella di posta</translation>
     </message>
     <message>
-        <source>Export (ASCII)</source>
-        <translation type="obsolete">Esporta (ASCII)</translation>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export XML</source>
-        <translation type="obsolete">Esporta in XML</translation>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Password</translation>
     </message>
     <message>
-        <source>Export HTML</source>
-        <translation type="obsolete">Esporta in HTML</translation>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Da migliorare</translation>
     </message>
     <message>
-        <source>Export XHTML</source>
-        <translation type="obsolete">Esporta in XHTML</translation>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Stop</translation>
     </message>
     <message>
-        <source>The directory </source>
-        <translation type="obsolete"> La cartella</translation>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Magico</translation>
     </message>
     <message>
-        <source> is not empty. Do you risk to overwrite its contents?</source>
-        <translation type="obsolete"> non è vuota. Vuoi rischiare sovvrascrivendone il contenuto?</translation>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Da discutere</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
-        <source>Overwrite</source>
-        <translation>Sovvrascrivi</translation>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Promemoria</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
-        <source>Cancel</source>
-        <translation>Cancella</translation>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Eccellente</translation>
     </message>
     <message>
-        <source>The map </source>
-        <translation type="obsolete"> La mappa</translation>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Linux</translation>
     </message>
     <message>
-        <source>
- is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation type="obsolete">
-è già aperta. Aprire la stessa mappa in più editor può portare
-in confusione quando si finisce di lavorare con vym. Vuoi </translation>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Dolce</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
-        <source>Open anyway</source>
-        <translation>Aprire lo stesso</translation>
+        <location line="+130"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
+        <translation>Verifica per le note di rilascio e gli aggiornamenti</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
-        <source>Create</source>
-        <translation>Crea</translation>
+        <location line="+7"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation>Imposta l&apos;autore per le nuove mappe</translation>
     </message>
     <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Errore Critico di Caricamento</translation>
+        <location line="+20"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
+        <translation>Imposta l&apos;applicazione per eseguire lo zip/unzip dei file</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation type="obsolete">Non è possibile iniziare l&apos;unzip per la decompressione dei dati.</translation>
+        <location line="+5"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation type="obsolete">unzip non è finito normalmente</translation>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">Non è possibile trovare una mappa (*.xml) nell&apos;archivio .vym.
-</translation>
+        <location line="+82"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
-        <source>Load vym map</source>
-        <translation>Carica una mappa vym</translation>
+        <location line="+8"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation>Numero dei genitori visibili nell&apos; editor di task</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
-        <source>Import: Add vym map to selection</source>
-        <translation>Importa: Aggiungi una mappa vym alla selezione</translation>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation>Numero di genitori visibili nella finestra dei risultati di ricerca</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
-        <source>Import: Replace selection with vym map</source>
-        <translation>Importa: Rimpiazza la selezione con una mappa vym</translation>
+        <location line="+66"/>
+        <source>Download and show release notes</source>
+        <comment>Help action</comment>
+        <translation>Scarica e mostra le note di rilascio</translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Errore di Salvataggio</translation>
+        <location line="+4"/>
+        <source>Check, if updates are available</source>
+        <comment>Help action</comment>
+        <translation>Verifica se vi siano aggiornamenti disponibili</translation>
     </message>
     <message>
-        <source>
-could not be removed before saving</source>
-        <translation type="obsolete">
-non può essere rimosso prima del salvataggio</translation>
+        <location line="+9"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">
-non usa un formato di file compresso vym.
- Scrivendolo non compresso, può anche scrivere le immagini
-e i flag e pertanto può sovvrascrivere i file nella cartella data
-
-Vuoi scrivere la mappa </translation>
+        <location line="+4"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">compresso (predefinito in vym)</translation>
+        <location line="+4"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
+        <translation>Informazione di debug</translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">non compresso</translation>
+        <location line="+96"/>
+        <source>XLinks</source>
+        <comment>Menu for file actions</comment>
+        <translation>XLinks</translation>
     </message>
     <message>
-        <source>Critical Save Error</source>
-        <translation type="obsolete">Errore Critico di Salvataggio</translation>
+        <location line="+2525"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation type="obsolete">Non è possibile iniziare lo zip per la decompressione dei dati.</translation>
+        <location line="+1447"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>zip didn&apos;t exit normally</source>
-        <translation type="obsolete">lo zip non è finito normalmente</translation>
+        <location line="-3533"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Saved</source>
-        <translation type="obsolete">Salvato</translation>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t save</source>
-        <translation type="obsolete">Non è possibile salvare</translation>
+        <location line="+46"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
+        <translation>Non è possibile salvare %1,
+poiché esiste il file di blocco:
+
+%2</translation>
     </message>
     <message>
-        <source>The file </source>
-        <translation type="obsolete"> Il file</translation>
+        <location line="-45"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-exists already. Do you want to</source>
-        <translation type="obsolete">
-esiste già. Vuoi</translation>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Esporta XML in una cartella</translation>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source> has been modified but not saved yet. Do you want to</source>
-        <translation type="obsolete"> è stato modificato ma non ancora salvato. Vuoi</translation>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
-        <source>Save modified map before closing it</source>
-        <translation>Salvare la mappa modificata prima di chiudere</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
-        <source>Discard changes</source>
-        <translation>Tralascia le modifiche</translation>
-    </message>
-    <message>
-        <source>This map is not saved yet. Do you want to</source>
-        <translation type="obsolete">Questa mapp è stata modificata ma non ancora salvata. Vuoi</translation>
-    </message>
-    <message>
-        <source>Save map</source>
-        <translation type="obsolete">Salvare la mappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
-        <source>VYM -Information:</source>
-        <translation>VIM - Informazioni:</translation>
-    </message>
-    <message>
-        <source>No matches found for </source>
-        <translation type="obsolete"> Nessuna corrispondenza trovata per </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
-        <source>Critical Error</source>
-        <translation>Errore Critico</translation>
-    </message>
-    <message>
-        <source>Enter path for pdf reader:</source>
-        <translation type="obsolete">Seleziona il percorso del lettore pdf:</translation>
-    </message>
-    <message>
-        <source>Enter path for application to open an URL:</source>
-        <translation type="obsolete">Seleziona il percorso dell&apos;aplicazione per aprire gli URL:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
-        <source>Critcal error</source>
-        <translation>Errore Critico</translation>
+        <location line="+693"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">Collega ad un&apos;altra mappa vym</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find the documentation
-vym.pdf in various places.</source>
-        <translation type="obsolete">Non è possibile trovare la documentazione
-vym.pdf in ognidove.</translation>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a viewer to read vym.pdf.
-Please use Settings-&gt;</source>
-        <translation type="obsolete">Non è possibile trovare un lettore per il file vym.pdf
-Per favore usare Preferenze-&gt;</translation>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a branch by inserting and making selection its child</source>
-        <translation type="obsolete">Aggiungere un ramo inserendo e selezionando il figlio</translation>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add branch (insert)</source>
-        <translation type="obsolete">Aggiungi ramo (inserisci)</translation>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove only branch and keep its childs</source>
-        <translation type="obsolete">Rimuovi solo il ramo e mantieni i figli</translation>
+        <location line="+840"/>
+        <source>Load vym script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove only branch </source>
-        <translation type="obsolete"> Rimuovi solo il ramo</translation>
+        <location line="+107"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove childs of branch</source>
-        <translation type="obsolete">Rimuovi i figli del ramo</translation>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove childs</source>
-        <translation type="obsolete">Rimuovi i figli</translation>
+        <location line="+1086"/>
+        <source>Please allow vym to download release notes!</source>
+        <translation>Per favore permeti a vym di scaricare le note di rilascio!</translation>
     </message>
     <message>
-        <source>Use modifier to copy</source>
-        <translation type="obsolete">Usa i modifier per copiare</translation>
+        <location line="+62"/>
+        <source>Allow</source>
+        <translation>Permetti</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
-        <source>Add</source>
-        <translation>Aggiungi</translation>
+        <location line="+1"/>
+        <source>Do not allow</source>
+        <translation>Non permetti</translation>
     </message>
     <message>
-        <source>Remove</source>
-        <translation type="obsolete">Rimuovi</translation>
+        <location line="+5"/>
+        <source>Thank you for enabling downloads!</source>
+        <translation>Grazie per avere abilitato i downloads!</translation>
     </message>
     <message>
-        <source>Edit XLink</source>
-        <translation type="obsolete">Edita il XLink</translation>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Goto XLink</source>
-        <translation type="obsolete">Vai al XLink</translation>
+        <location line="+24"/>
+        <source>Update information</source>
+        <translation>Aggiorna l&apos;informazione</translation>
     </message>
     <message>
-        <source>This map does not exist:
-  </source>
-        <translation type="obsolete">Questa mappa non esite:
-  </translation>
+        <location line="+4"/>
+        <source>vym is up to date.</source>
+        <comment>MainWindow</comment>
+        <translation>vym è aggiornato.</translation>
     </message>
     <message>
-        <source>
-Do you want to create a new one?</source>
-        <translation type="obsolete">
-Vuoi crearne una nuova?</translation>
+        <location line="+48"/>
+        <source>Checking for updates...</source>
+        <comment>MainWindow</comment>
+        <translation>Verificando gli aggiornamentoi...</translation>
     </message>
     <message>
-        <source>Use modifier to draw xLinks</source>
-        <translation type="obsolete">Usa i modifier per disegnare XLink</translation>
+        <location line="+30"/>
+        <source>Please allow vym to check for updates!</source>
+        <translation>Per favore permetti a vym di verificare gli aggiornamenti!</translation>
     </message>
     <message>
-        <source>Use exclusive flags in flag toolbars</source>
-        <translation type="obsolete">Usa solo i flag esclusivi nel flag toolbars</translation>
+        <location line="-5734"/>
+        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <comment>Edit menu</comment>
+        <translation>Apre tutte le URL in un sottoalbero (inclusi i rami scorsi)</translation>
     </message>
     <message>
-        <source>Enable exclusive flags</source>
-        <translation type="obsolete">Abilita i flag esclusivi</translation>
+        <location line="+17"/>
+        <source>Extract URLs from note</source>
+        <comment>Edit menu</comment>
+        <translation>Estrae URL dalla nota</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
-        <source>Import</source>
-        <translation>Importa</translation>
+        <location line="+308"/>
+        <source>Add timestamp</source>
+        <comment>Edit menu</comment>
+        <translation>Aggiunge una marca temporale</translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <translation type="obsolete">Segnalibri di KDE</translation>
+        <location line="-11"/>
+        <source>Remove children</source>
+        <comment>Edit menu</comment>
+        <translation>Rimuove i figli</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
-        <source>&amp;Print</source>
-        <translation>&amp;Stampa</translation>
+        <location line="+379"/>
+        <source>Tree editor</source>
+        <comment>View action</comment>
+        <translation>Editor a albero</translation>
     </message>
     <message>
-        <source>Exit</source>
-        <translation type="obsolete">Esci</translation>
+        <location line="+9"/>
+        <source>Task editor</source>
+        <comment>View action</comment>
+        <translation>Editor di task</translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translation type="obsolete">Rifai</translation>
+        <location line="+11"/>
+        <source>Slide editor</source>
+        <comment>View action</comment>
+        <translation>Editor di diapositive</translation>
     </message>
     <message>
-        <source>&amp;Redo</source>
-        <translation type="obsolete">&amp;Rifai</translation>
+        <location line="+9"/>
+        <source>Script editor</source>
+        <comment>View action</comment>
+        <translation>Editor di script</translation>
     </message>
     <message>
-        <source>Create URL to FATE</source>
-        <translation type="obsolete">Crea URL a FATE</translation>
+        <location line="-75"/>
+        <source>Center on selection</source>
+        <comment>View action</comment>
+        <translation>Centra su selezione</translation>
     </message>
     <message>
-        <source>Hide object in exports</source>
-        <translation type="obsolete">Nascondi oggetto nell&apos;esportazione</translation>
+        <location line="+1195"/>
+        <source>Editors toolbar</source>
+        <comment>Editor Toolbar name</comment>
+        <translation>Barra di strumenti per editor</translation>
     </message>
     <message>
-        <source>Include top and bottom position of images into branch</source>
-        <translation type="obsolete">Includi le posizioni sopra e sotto delle immagini nel ramo</translation>
+        <location line="+12"/>
+        <source>Modifier modes toolbar</source>
+        <comment>Modifier Toolbar name</comment>
+        <translation>Barra di strumenti per i modi del Modificatore</translation>
     </message>
     <message>
-        <source>Include left and right position of images into branch</source>
-        <translation type="obsolete">InIncludi le posizioni destra e sinistra delle immagini nel ramo</translation>
+        <location line="-1447"/>
+        <source>Select previous</source>
+        <comment>Edit menu</comment>
+        <translation>Seleziona il precedente</translation>
     </message>
     <message>
-        <source>Hide link</source>
-        <translation type="obsolete">Nacondi link</translation>
+        <location line="+10"/>
+        <source>Select next</source>
+        <comment>Edit menu</comment>
+        <translation>Seleziona il prossimo</translation>
     </message>
     <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Note</translation>
+        <location line="+84"/>
+        <source>Select default font</source>
+        <comment>Branch attribute</comment>
+        <translation>Seleziona il font predefinito</translation>
     </message>
     <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Documento WWW (esterno)</translation>
+        <location line="+83"/>
+        <source>Toolbars</source>
+        <comment>Toolbars overview in view menu</comment>
+        <translation>Barre di strumenti</translation>
     </message>
     <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Collega ad un&apos;altra mappa vym</translation>
+        <location line="+36"/>
+        <source>Rotate counterclockwise</source>
+        <comment>View action</comment>
+        <translation>Ruota in modo antiorario</translation>
     </message>
     <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">sottoalbero è espanso</translation>
+        <location line="+9"/>
+        <source>Rotate rclockwise</source>
+        <comment>View action</comment>
+        <translation>Ruota in moto orario</translation>
     </message>
     <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">sottoalbero è temporaneamente espanso</translation>
+        <location line="+337"/>
+        <source>Map target</source>
+        <comment>SystemFlag</comment>
+        <translation>Mappa obiettivo</translation>
     </message>
     <message>
-        <source>Hide object in exported maps</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Nascondi oggetto nelle mappe esportate</translation>
+        <location line="+899"/>
+        <source>Standard Flags toolbar</source>
+        <comment>Standard Flag Toolbar</comment>
+        <translation>Barra strumenti di Flags Standard</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
-        <source>Take care!</source>
+        <location line="-874"/>
+        <source>Status - ok,done</source>
         <comment>Standardflag</comment>
-        <translation>Fare attenzione!</translation>
+        <translation>Stato - ok, fatto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
-        <source>Really?</source>
+        <location line="+4"/>
+        <source>Status - work in progress</source>
         <comment>Standardflag</comment>
-        <translation>Veramente?</translation>
+        <translation>Stato - in progressione</translation>
     </message>
     <message>
-        <source>ok!</source>
+        <location line="+5"/>
+        <source>Status - missing, not started</source>
         <comment>Standardflag</comment>
-        <translation type="obsolete">ok!</translation>
+        <translation>Stato - mancante, non iniziato</translation>
     </message>
     <message>
-        <source>Not ok!</source>
+        <location line="+73"/>
+        <source>Call...</source>
         <comment>Standardflag</comment>
-        <translation type="obsolete">Non ok!</translation>
+        <translation>Chiama...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
-        <source>This won&apos;t work!</source>
+        <location line="-20"/>
+        <source>Very important!</source>
         <comment>Standardflag</comment>
-        <translation>Questo non funzionerà!</translation>
+        <translation>Molto Importante!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
-        <source>Good</source>
+        <location line="+5"/>
+        <source>Very unimportant!</source>
         <comment>Standardflag</comment>
-        <translation>Bene</translation>
+        <translation>Molto irrilevante!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
-        <source>Bad</source>
+        <location line="+24"/>
+        <source>Rose</source>
         <comment>Standardflag</comment>
-        <translation>Male</translation>
+        <translation>Rosa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
-        <source>Time critical</source>
+        <location line="-3"/>
+        <source>Surprise!</source>
         <comment>Standardflag</comment>
-        <translation>In tempo critico</translation>
+        <translation>Sorpresa!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation>Idea!</translation>
+        <location line="-1610"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation>Importante</translation>
+        <location line="+587"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation>Non Importante</translation>
+        <location line="+9"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
-        <source>I like this</source>
+        <location line="+950"/>
+        <source>Info</source>
         <comment>Standardflag</comment>
-        <translation>Mi piace</translation>
+        <translation>Info</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation>Non mi piace</translation>
+        <location line="+264"/>
+        <source>Settings</source>
+        <translation>Impostazioni</translation>
     </message>
     <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete"> Lo amo... </translation>
+        <location line="+215"/>
+        <source>Show keyboard shortcuts</source>
+        <comment>Help action</comment>
+        <translation>Mostra le scorciatoie di tastiera</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation>Pericoloso</translation>
+        <location line="+68"/>
+        <source>Tasks</source>
+        <comment>Context menu</comment>
+        <translation>Le task</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
-        <source>This will help</source>
-        <comment>Standardflag</comment>
-        <translation>Questo aiuta</translation>
+        <location line="+177"/>
+        <source>Undo and clipboard toolbar</source>
+        <comment>Toolbar for redo/undo and clipboard</comment>
+        <translation>Strumento di annullamento e clipboard</translation>
     </message>
     <message>
-        <source>Set application to open external links</source>
-        <translation type="obsolete">Imposta applicazione per aprire i link esterni</translation>
+        <location line="+29"/>
+        <source>Selection toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation>barra di strumenti di selezione</translation>
     </message>
     <message>
-        <source>Delete key for deleting branches</source>
-        <translation type="obsolete">Tasto Cancella per cancellare i rami</translation>
+        <location line="+9"/>
+        <source>URLs and vymLinks toolbar</source>
+        <comment>Toolbar for URLs and vymlinks</comment>
+        <translation>Barra di strumenti per URL e collegamenti di vym</translation>
     </message>
     <message>
-        <source>Use hide flag during exports </source>
-        <translation type="obsolete">Usare i flag nascosti durante l&apos;esportazione </translation>
+        <location line="+6"/>
+        <source>Colors toolbar</source>
+        <comment>Colors toolbar name</comment>
+        <translation>Barra di strumenti dei colori</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <source>(still experimental)</source>
-        <translation>(in via di sperimentazione)</translation>
+        <location line="+27"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
-        <source>The map %1
-is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation>La mappa %1
-è già aperta. Aprire la stessa mappa in più editor può confondere 
-quando si finisce di lavorare con vym. Si vuole continuare</translation>
+        <location line="+21"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
-        <source>This map does not exist:
-  %1
-Do you want to create a new one?</source>
-        <translation>Questa mappa non esiste:
-  %1
-Si vuole crearne una nuova?</translation>
+        <location line="+454"/>
+        <source>or</source>
+        <comment>File Dialog</comment>
+        <translation>o</translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">La mappa %1
-non usa il formato di compressione vym.
-Salvandolo in modo non compresso, salva anche le immagini 
-e le flag e quindi potrebbe sovvrascrivere dei file in questa cartella
-Si vuole salvare la mappa</translation>
+        <location line="+143"/>
+        <source>Save map as</source>
+        <translation>Salva la mappa come</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
-        <source>Saved  %1</source>
-        <translation>Salvato  %1</translation>
+        <location line="+195"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
-        <source>Couldn&apos;t save </source>
-        <translation>Non si può salvare </translation>
+        <location line="+26"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
-        <source>The file %1
-exists already. Do you want to</source>
-        <translation>Il file %1
-è già esistente. Si vuole</translation>
+        <location line="+150"/>
+        <source>Couldn&apos;t find configuration for export to LibreOffice
+</source>
+        <translation>Non si può trovare la configurazione per esportare in LibreOffice
+</translation>
     </message>
     <message>
-        <source>Export as ASCII</source>
-        <translation type="obsolete">Esporta in ASCII</translation>
+        <location line="+266"/>
+        <source>Enter URL:</source>
+        <translation>Inserisci URL:</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Esporta  in LaTex</translation>
+        <location line="+23"/>
+        <source>HTML</source>
+        <comment>Filedialog</comment>
+        <translation>HTML</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
-        <source>Export to</source>
-        <translation>Esporta in</translation>
+        <location line="+1"/>
+        <source>Text</source>
+        <comment>Filedialog</comment>
+        <translation>Testo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
-        <source>The map %1 has been modified but not saved yet. Do you want to</source>
-        <translation>La mappa %1 è stata modificata ma non salvata. Si vuole</translation>
+        <location line="+1"/>
+        <source>Spreadsheet</source>
+        <comment>Filedialog</comment>
+        <translation>Foglio di calcolo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
-        <source>Couldn&apos;t open map %1</source>
-        <translation>Non è possibile aprire la mappa %1</translation>
+        <location line="+1"/>
+        <source>Textdocument</source>
+        <comment>Filedialog</comment>
+        <translation>Documento di testo</translation>
     </message>
     <message>
-        <source>Open URL in new tab</source>
-        <translation type="obsolete">Apri l&apos;URL in una nuova scheda</translation>
+        <location line="+1"/>
+        <source>Images</source>
+        <comment>Filedialog</comment>
+        <translation>Immagini</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Warning</source>
-        <translation>Attenzione</translation>
+        <location line="+4"/>
+        <source>Set URL to a local file</source>
+        <translation>Imposta URL come file locale</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
-        <source>Couldn&apos;t find a viewer to open %1.
+        <location line="+296"/>
+        <source>Couldn&apos;t set sleep time to %1.
 </source>
-        <translation>Non è possibile trovare un applicazione per aprire %1.
+        <translation>Non è possibile fissare il tempo di riposo a %1.
 </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Please use Settings-&gt;</source>
-        <translation>Usare le Impostazioni-&gt;</translation>
+        <location line="+49"/>
+        <source>branches</source>
+        <comment>Info about map</comment>
+        <translation>rami</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Non è possibile avviare %1 per aprire una nuova scheda in %2.</translation>
+        <location line="+7"/>
+        <source>notes</source>
+        <comment>Info about map</comment>
+        <translation>note</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Set application to open PDF files</source>
-        <translation>Scegli il programma per aprire i file PDF</translation>
+        <location line="+1"/>
+        <source>images</source>
+        <comment>Info about map</comment>
+        <translation>immagini</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
-        <source>Oh no!</source>
-        <comment>Standardflag</comment>
-        <translation>Oh no!</translation>
+        <location line="+3"/>
+        <source>slides</source>
+        <comment>Info about map</comment>
+        <translation>diapositive</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation>Editor di Note</translation>
+        <location line="+2"/>
+        <source>xLinks</source>
+        <comment>Info about map</comment>
+        <translation>xLinks</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
-        <translation>Editor intestazione</translation>
+        <location line="+903"/>
+        <source>Set author for new maps (used in lockfile)</source>
+        <translation>Imposta l&apos;autore per le nuove mappe (usato nel file di blocco)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="260"/>
-        <source>Search results list</source>
-        <comment>FindResultWidget</comment>
-        <translation>Cerca lista dei risultati</translation>
+        <location line="+3"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation>utente sconosciuto</translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="vanished">&amp;Mappa</translation>
+        <location line="+42"/>
+        <source>Number of parents shown in find results:</source>
+        <translation>Numero di genitori mostrati nei risultati di ricerca:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
-        <source>File actions toolbar</source>
-        <comment>Toolbar for file actions</comment>
-        <translation>Barra strumenti azioni di file</translation>
+        <location line="+11"/>
+        <source>Number of parents shown for a task:</source>
+        <translation>Numero di genitori mostrati per task:</translation>
     </message>
     <message>
-        <source>File</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">File</translation>
+        <location line="-2404"/>
+        <source>(readonly)</source>
+        <translation>(di sola lettura)</translation>
     </message>
     <message>
-        <source>KDE 3 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Segnalibri di KDE 3</translation>
+        <location line="+482"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="vanished">Segnalibri di KDE 4</translation>
+        <location line="+2398"/>
+        <source>Export in last used format (%1) to: %2</source>
+        <comment>status tip</comment>
+        <translation>Esporta nell&apos;ultimo formato usato (%1) in %2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
-        <source>Edit actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation>Barra di azioni di Edit</translation>
+        <location line="-2269"/>
+        <source>Firefox Bookmarks</source>
+        <translation type="unfinished">Segnalibri di Firefox</translation>
     </message>
     <message>
-        <source>Edit</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Edita</translation>
+        <location line="-3184"/>
+        <source>&amp;Open...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Apri...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
-        <translation>Editor di script</translation>
+        <location line="+16"/>
+        <source>Open Recent</source>
+        <comment>File menu</comment>
+        <translation>Apri Recente</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="314"/>
-        <source>Task list</source>
-        <comment>TaskEditor</comment>
-        <translation>Elenco delle task</translation>
+        <location line="+3"/>
+        <source>&amp;Save...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Salva...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
-        <source>Script Editor</source>
-        <comment>ScriptEditor</comment>
-        <translation>Editor di Script</translation>
+        <location line="+9"/>
+        <source>Save &amp;As...</source>
+        <comment>File menu</comment>
+        <translation>Salva &amp;Con nome...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
-        <source>Property Editor</source>
-        <comment>PropertyEditor</comment>
-        <translation>Editor di Proprietà</translation>
+        <location line="+11"/>
+        <source>Import</source>
+        <comment>File menu</comment>
+        <translation>Importa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="287"/>
-        <source>History window</source>
-        <comment>HistoryWidget</comment>
-        <translatorcomment>lascio storia  ma dovrebbe essere cronologia</translatorcomment>
-        <translation>Finestra per la storia</translation>
+        <location line="+23"/>
+        <source>Export</source>
+        <comment>File menu</comment>
+        <translation>Esporta</translation>
     </message>
     <message>
-        <source>&amp;Restore last session</source>
-        <comment>File menu</comment>
-        <translation type="vanished">&amp;Ripristina ultima sessione</translation>
+        <location line="+56"/>
+        <source>Image%1</source>
+        <comment>File export menu</comment>
+        <translation>Immagine%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
-        <source>E&amp;dit</source>
-        <comment>Edit menu</comment>
-        <translation>E&amp;dit</translation>
+        <location line="+5"/>
+        <source>PDF%1</source>
+        <comment>File export menu</comment>
+        <translation>PDF%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
-        <source>Add attribute</source>
-        <translation>Aggiunge attributo</translation>
+        <location line="+5"/>
+        <source>SVG%1</source>
+        <comment>File export menu</comment>
+        <translation>SVG%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
-        <source>&amp;Detach</source>
-        <comment>Context menu</comment>
-        <translation>&amp;Stacca</translation>
+        <location line="-63"/>
+        <source>Repeat last export (%1)</source>
+        <translation>Ripete l&apos;ultima esportazione (%1)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
-        <source>Detach branch and use as mapcenter</source>
-        <comment>Context menu</comment>
-        <translation>Stacca ramp e usa come centro di mappa</translation>
+        <location line="+118"/>
+        <source>&amp;Close Map</source>
+        <comment>File menu</comment>
+        <translation>C&amp;hiudi Mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
-        <source>Sort children backwards</source>
-        <comment>Edit menu</comment>
-        <translation>Ordina figli in modo inverso</translation>
+        <location line="+7"/>
+        <source>E&amp;xit</source>
+        <comment>File menu</comment>
+        <translation>&amp;Esci</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
-        <source>Expand all branches</source>
+        <location line="+26"/>
+        <source>&amp;Undo</source>
         <comment>Edit menu</comment>
-        <translation>Espande tutti i rami</translation>
+        <translation>&amp;Cancella</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
-        <source>Expand one level</source>
+        <location line="+11"/>
+        <source>&amp;Redo</source>
         <comment>Edit menu</comment>
-        <translation>Espande un livello</translation>
+        <translation>&amp;Rifai</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
-        <source>Collapse one level</source>
+        <location line="+11"/>
+        <source>&amp;Copy</source>
         <comment>Edit menu</comment>
-        <translation>Collassa un livello</translation>
+        <translation>&amp;Copia</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
-        <source>Collapse unselected levels</source>
+        <location line="+11"/>
+        <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
-        <translation>Collassa livelli non selezionati</translation>
+        <translation>&amp;Taglia</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
-        <source>Unscroll children</source>
+        <location line="+13"/>
+        <source>&amp;Paste</source>
         <comment>Edit menu</comment>
-        <translation>Non scorre i figli</translation>
+        <translation>&amp;Incolla</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
-        <source>Text (A&amp;O report)...</source>
-        <comment>Export format</comment>
-        <translation>Testo (rapporto A&amp;O)...</translation>
+        <location line="+13"/>
+        <location line="+10"/>
+        <source>Delete Selection</source>
+        <comment>Edit menu</comment>
+        <translation>Cancella la Selezione</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation>Foglio di calcolo</translation>
+        <location line="+33"/>
+        <source>Add branch as child</source>
+        <comment>Edit menu</comment>
+        <translation>Aggiungi ramo come figlio</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
-        <source>Properties</source>
-        <translation>Proprietà</translation>
+        <location line="+9"/>
+        <source>Add branch (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>Aggiungi ramo (inserisci)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
-        <source>Move branch up</source>
+        <location line="+10"/>
+        <location line="+10"/>
+        <source>Add branch above</source>
         <comment>Edit menu</comment>
-        <translation>Vai al ramo superiore</translation>
+        <translation>Aggiungi ramo sopra</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
-        <source>Move branch down</source>
+        <location line="+10"/>
+        <location line="+9"/>
+        <source>Add branch below</source>
         <comment>Edit menu</comment>
-        <translation>Vai al ramo inferiore</translation>
+        <translation>Aggiungi ramo sotto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
-        <source>Grow selection</source>
+        <location line="+91"/>
+        <source>Scroll branch</source>
         <comment>Edit menu</comment>
-        <translation>Amplia selezione</translation>
+        <translation>Nascondi/Mostra ramificazione</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
-        <source>Shrink selection</source>
+        <location line="+544"/>
+        <location line="+8"/>
+        <source>Find...</source>
         <comment>Edit menu</comment>
-        <translation>Contrae selezione</translation>
+        <translation>Trova...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
-        <source>Reset selection size</source>
+        <location line="-462"/>
+        <source>Open URL</source>
         <comment>Edit menu</comment>
-        <translation>Riazzera dimensione della selezione</translation>
+        <translation>Apri URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
-        <translation>Menu di contesto dei riferimenti</translation>
+        <location line="-1502"/>
+        <source>Main window</source>
+        <comment>Shortcut scope</comment>
+        <translation>Finestra principale</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation>Gestione di bugzilla</translation>
+        <location line="+103"/>
+        <source>Main window</source>
+        <comment>Shortcut group</comment>
+        <translation>Finestra principale</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>Crea la URL per Bugzilla di SUSE</translation>
+        <location line="+1"/>
+        <source>Map Editors</source>
+        <comment>Shortcut group</comment>
+        <translation>Editor di mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation>Ottienei i dati da bugzilla di SUSE</translation>
+        <location line="+1"/>
+        <source>Text Editors</source>
+        <comment>Shortcut group</comment>
+        <translation>Editor di testo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Ottiemi i dati dal bugzilla di SUSE per il sottoalbero</translation>
+        <location line="+54"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
-        <translation>Gestione dello strumento SUSE Fate</translation>
+        <location line="+776"/>
+        <source>&amp;Map</source>
+        <comment>Menu for file actions</comment>
+        <translation>&amp;Mappa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
+        <location line="+28"/>
+        <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
-        <translation>Crea la URL per lo strumento di SUSE FATE</translation>
+        <translation>&amp;Ripristina ultima sessione</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
-        <source>vymlinks - linking maps</source>
-        <comment>Shortcuts</comment>
-        <translation>vymkinks - collegare mappe</translation>
+        <location line="+48"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
-        <source>Open linked map in background tab</source>
-        <comment>Edit menu</comment>
-        <translation>Apri la mappa collegata nella scheda di sfondo</translation>
+        <location line="+17"/>
+        <source>Webpage (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation>Pagina web (HTML)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
-        <source>Exports</source>
-        <comment>Shortcuts</comment>
-        <translation>Esporta</translation>
+        <location line="+5"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
-        <source>Tasks</source>
-        <comment>Shortcuts</comment>
-        <translation>Le Task</translation>
+        <location line="+16"/>
+        <source>Text (ASCII)...</source>
+        <comment>File export menu</comment>
+        <translation>Testo (ASCII)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
-        <source>Toggle task</source>
-        <comment>Edit menu</comment>
-        <translation>Commuta la task</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
-        <source>Cycle task status</source>
-        <comment>Edit menu</comment>
-        <translation>Status della task di ciclo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
-        <source>Reset sleep</source>
-        <comment>Task sleep</comment>
-        <translation>Riazzera il riposo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
-        <source>Sleep %1 days</source>
-        <comment>Task sleep</comment>
-        <translatorcomment>Traduco sleep come riposa, ma prima o poio lo cambierò</translatorcomment>
-        <translation>Riposa %1 giorni</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
-        <source>Sleep %1 day</source>
-        <comment>Task sleep</comment>
-        <translation>Riposa %1 giorno</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
-        <source>Sleep %1 weeks</source>
-        <comment>Task sleep</comment>
-        <translation>Riposa %1 settimane</translation>
+        <location line="+5"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
-        <source>Removing parts of a map</source>
-        <comment>Shortcuts</comment>
-        <translation>Rimovente parti di una mappa</translation>
+        <location line="+7"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
+        <translation>Testo con task</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
-        <source>Various</source>
-        <comment>Shortcuts</comment>
-        <translation>Varie</translation>
+        <location line="+37"/>
+        <source>CSV...</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
-        <source>Map properties...</source>
+        <location line="+413"/>
+        <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
-        <translation>Proprietà di mappa...</translation>
+        <translation>Apri l&apos;URL in una nuova scheda</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
+        <location line="+18"/>
+        <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
-        <translation>Aggiunge   ...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
-        <source>Selections</source>
-        <comment>Shortcuts</comment>
-        <translation>Selezioni</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
-        <source>Select</source>
-        <comment>Select menu</comment>
-        <translation>Seleziona</translation>
+        <translation>Apri tutte le URL in un Sottoramo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
-        <source>Toggle target...</source>
+        <location line="+17"/>
+        <source>Edit URL...</source>
         <comment>Edit menu</comment>
-        <translation>Commuta obiettivo...</translation>
+        <translation>Modifica URL...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
-        <source>Goto target...</source>
+        <location line="+18"/>
+        <source>Use heading for URL</source>
         <comment>Edit menu</comment>
-        <translation>Va a obiettivo...</translation>
+        <translation>Usa titoli per gli URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
-        <source>Move to target...</source>
+        <location line="+33"/>
+        <source>Open linked map</source>
         <comment>Edit menu</comment>
-        <translation>Sposta a obiettivo...</translation>
+        <translation>Apri una mappa linkata</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
-        <source>Unselect all</source>
+        <location line="+17"/>
+        <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
-        <translation>Deseleziona tutto</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
-        <source>Search functions</source>
-        <comment>Shortcuts</comment>
-        <translation>Funzioni di ricerca</translation>
+        <translation>Apri tutti i link vym in un Sottoramo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
-        <source>Find duplicate URLs</source>
+        <location line="+9"/>
+        <source>Edit vym link...</source>
         <comment>Edit menu</comment>
-        <translation>Trova URL duplicate</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
-        <source>Formatting</source>
-        <comment>Shortcuts</comment>
-        <translation>Formattante</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
-        <source>Views</source>
-        <comment>Shortcuts</comment>
-        <translation>Viste</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
-        <source>Note editor</source>
-        <comment>View action</comment>
-        <translation>Editor di note</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
-        <source>Heading editor</source>
-        <comment>View action</comment>
-        <translation>Editor di intestazione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
-        <source>Modifier modes</source>
-        <comment>Shortcuts</comment>
-        <translation>Modalità di modifica</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
-        <translation>Verifica per le note di rilascio e gli aggiornamenti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
-        <translation>Imposta l&apos;autore per le nuove mappe</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
-        <translation>Imposta l&apos;applicazione per eseguire lo zip/unzip dei file</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
-        <translation>Numero dei genitori visibili nell&apos; editor di task</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
-        <translation>Numero di genitori visibili nella finestra dei risultati di ricerca</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
-        <source>Download and show release notes</source>
-        <comment>Help action</comment>
-        <translation>Scarica e mostra le note di rilascio</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
-        <source>Check, if updates are available</source>
-        <comment>Help action</comment>
-        <translation>Verifica se vi siano aggiornamenti disponibili</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
-        <translation>Informazione di debug</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
-        <source>XLinks</source>
-        <comment>Menu for file actions</comment>
-        <translation>XLinks</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
-        <translation>Non è possibile salvare %1,
-poiché esiste il file di blocco:
-
-%2</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
-        <translation>Non è possibile salvare %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <source>Please allow vym to download release notes!</source>
-        <translation>Per favore permeti a vym di scaricare le note di rilascio!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translation>&lt;html&gt;&lt;h3&gt;Permettete che vym verfichi on line aggiornamenti e note di rilascio?&lt;/h3&gt;Se lo permettete, vym  &lt;ul&gt;&lt;li&gt;verificherà una volta le note dirilascio&lt;/li&gt;&lt;li&gt;verificherà regolarmente per gli aggiornamenti e vi invierà le notfiche nel caso vogliate aggiornare,per es. se vi sono disponibili delle correzioni di bug&lt;/li&gt;&lt;li&gt;riceverete un cookie con un ID casuale e invierà la versione di vym e il nome della piattaforma e l&apos;ID (per es.. &quot;Windows&quot; o &quot;Linux&quot;)  a me, Uwe Drechsel.&lt;p&gt;Come sviluppatore di vym sono motivato nel vedere molte persone che usano vym. Naturalmente sono curioso di vedere su quali sistemi vym sia usato. Mantenere ogni sistema richiede molto tempo (libero).&lt;/p&gt; &lt;p&gt;Non sarà invito alcun altrodato a parte quelli d cui sopra, in special modo non saranno collezionati o inviati dati privati.(verificate il codice sorgente se nonci credete.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;Senon lo permettete, &lt;ul&gt;&lt;li&gt;non sarà scaricato nulla e specialmente io  &lt;b&gt;non sarò motivato&lt;/b&gt; a spendere migliaia di ore sullo siluppo di software libero e gratuito.&lt;/ul&gt;Per favore permettete che vym verifichi gli aggiornamenti :-)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
-        <source>Allow</source>
-        <translation>Permetti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
-        <source>Do not allow</source>
-        <translation>Non permetti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
-        <source>Thank you for enabling downloads!</source>
-        <translation>Grazie per avere abilitato i downloads!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
-        <source>Update information</source>
-        <translation>Aggiorna l&apos;informazione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
-        <source>vym is up to date.</source>
-        <comment>MainWindow</comment>
-        <translation>vym è aggiornato.</translation>
+        <translation>Edita un link vym...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
-        <source>Checking for updates...</source>
-        <comment>MainWindow</comment>
-        <translation>Verificando gli aggiornamentoi...</translation>
+        <location line="+9"/>
+        <source>Delete vym link</source>
+        <comment>Edit menu</comment>
+        <translation>Cancella link vym</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Please allow vym to check for updates!</source>
-        <translation>Per favore permetti a vym di verificare gli aggiornamenti!</translation>
+        <location line="+9"/>
+        <source>Hide in exports</source>
+        <comment>Edit menu</comment>
+        <translation>Nascondi nell&apos;esportazione</translation>
     </message>
     <message>
-        <source>Info</source>
-        <translation type="obsolete">Info</translation>
+        <location line="+158"/>
+        <source>Add map (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>Aggiungi mappa (inserisci)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <location line="+7"/>
+        <source>Add map (replace)</source>
         <comment>Edit menu</comment>
-        <translation>Apre tutte le URL in un sottoalbero (inclusi i rami scorsi)</translation>
+        <translation>Aggiungi mappa (rimpiazza)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
-        <source>Extract URLs from note</source>
+        <location line="+7"/>
+        <source>Save selection</source>
         <comment>Edit menu</comment>
-        <translation>Estrae URL dalla nota</translation>
+        <translation>Salva selezione</translation>
     </message>
     <message>
-        <source>Get data from Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Ottiene i dati da Bugzilla di Novell</translation>
+        <location line="+169"/>
+        <source>F&amp;ormat</source>
+        <comment>Format menu</comment>
+        <translation>F&amp;ormato</translation>
     </message>
     <message>
-        <source>Get data from Novell Bugzilla for subtree</source>
+        <location line="+7"/>
+        <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
-        <translation type="vanished">Ottiene i dati da Bugzilla di Novell per il sotto albero</translation>
+        <translation>P&amp;rendi colore</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
-        <source>Add timestamp</source>
+        <location line="+10"/>
+        <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
-        <translation>Aggiunge una marca temporale</translation>
+        <translation>Colore &amp;del ramo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
-        <source>Remove children</source>
+        <location line="+10"/>
+        <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
-        <translation>Rimuove i figli</translation>
+        <translation>Colore del so&amp;ttoalbero</translation>
     </message>
     <message>
-        <source>View shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Vedi scorciatoie</translation>
+        <location line="+53"/>
+        <source>Hide link if object is not selected</source>
+        <comment>Branch attribute</comment>
+        <translation>Nascondi link se gli oggetti non sono selezionati</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
-        <source>Tree editor</source>
-        <comment>View action</comment>
-        <translation>Editor a albero</translation>
+        <location line="+6"/>
+        <source>&amp;Use color of heading for link</source>
+        <comment>Branch attribute</comment>
+        <translation>&amp;Usa colore dei titoli per i collegamenti</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
-        <source>Task editor</source>
+        <location line="+89"/>
+        <source>reset Zoom</source>
         <comment>View action</comment>
-        <translation>Editor di task</translation>
+        <translation>reset Zoom</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
-        <source>Slide editor</source>
+        <location line="-37"/>
+        <source>Zoom in</source>
         <comment>View action</comment>
-        <translation>Editor di diapositive</translation>
+        <translation>Zoom dentro</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
-        <source>Script editor</source>
-        <comment>View action</comment>
-        <translation>Editor di script</translation>
+        <location line="-1124"/>
+        <source>Firefox Bookmarks</source>
+        <comment>Import filters</comment>
+        <translation>Segnalibri di Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation>Barra di strumento di Zoom</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
-        <source>Center on selection</source>
-        <comment>View action</comment>
-        <translation>Centra su selezione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
-        <source>Editors toolbar</source>
-        <comment>Editor Toolbar name</comment>
-        <translation>Barra di strumenti per editor</translation>
-    </message>
-    <message>
-        <source>Toggle Tree editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Commuta editor di albero</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
-        <source>Modifier modes toolbar</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation>Barra di strumenti per i modi del Modificatore</translation>
-    </message>
-    <message>
-        <source>Modes</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Modi</translation>
-    </message>
-    <message>
-        <source>&amp;Select</source>
-        <comment>Select menu</comment>
-        <translation type="obsolete">&amp;Seleziona</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation>Seleziona il precedente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
-        <source>Select next</source>
+        <location line="+827"/>
+        <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
-        <translation>Seleziona il prossimo</translation>
-    </message>
-    <message>
-        <source>Format shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Inizializza scorciatoie</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
-        <source>Select default font</source>
-        <comment>Branch attribute</comment>
-        <translation>Seleziona il font predefinito</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
-        <source>Toolbars</source>
-        <comment>Toolbars overview in view menu</comment>
-        <translation>Barre di strumenti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
-        <source>Rotate counterclockwise</source>
-        <comment>View action</comment>
-        <translation>Ruota in modo antiorario</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
-        <source>Rotate rclockwise</source>
-        <comment>View action</comment>
-        <translation>Ruota in moto orario</translation>
-    </message>
-    <message>
-        <source>Toggle Slide editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Commuyta editor di slide</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation>URL verso Bugzilla</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
-        <source>Map target</source>
-        <comment>SystemFlag</comment>
-        <translation>Mappa obiettivo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
-        <source>Standard Flags toolbar</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation>Barra strumenti di Flags Standard</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
-        <source>Status - ok,done</source>
-        <comment>Standardflag</comment>
-        <translation>Stato - ok, fatto</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
-        <source>Status - work in progress</source>
-        <comment>Standardflag</comment>
-        <translation>Stato - in progressione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
-        <source>Status - missing, not started</source>
-        <comment>Standardflag</comment>
-        <translation>Stato - mancante, non iniziato</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
-        <source>Call...</source>
-        <comment>Standardflag</comment>
-        <translation>Chiama...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
-        <source>Very important!</source>
-        <comment>Standardflag</comment>
-        <translation>Molto Importante!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
-        <source>Very unimportant!</source>
-        <comment>Standardflag</comment>
-        <translation>Molto irrilevante!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
-        <source>Rose</source>
-        <comment>Standardflag</comment>
-        <translation>Rosa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
-        <source>Surprise!</source>
-        <comment>Standardflag</comment>
-        <translation>Sorpresa!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
-        <source>Info</source>
-        <comment>Standardflag</comment>
-        <translation>Info</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
-        <source>Settings</source>
-        <translation>Impostazioni</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
-        <source>Show keyboard shortcuts</source>
-        <comment>Help action</comment>
-        <translation>Mostra le scorciatoie di tastiera</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
-        <source>Tasks</source>
-        <comment>Context menu</comment>
-        <translation>Le task</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
-        <source>Undo and clipboard toolbar</source>
-        <comment>Toolbar for redo/undo and clipboard</comment>
-        <translation>Strumento di annullamento e clipboard</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
-        <source>Selection toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation>barra di strumenti di selezione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
-        <source>URLs and vymLinks toolbar</source>
-        <comment>Toolbar for URLs and vymlinks</comment>
-        <translation>Barra di strumenti per URL e collegamenti di vym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
-        <source>Colors toolbar</source>
-        <comment>Colors toolbar name</comment>
-        <translation>Barra di strumenti dei colori</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
-        <source>or</source>
-        <comment>File Dialog</comment>
-        <translation>o</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
-        <source>Save map as</source>
-        <translation>Salva la mappa come</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
-        <source>Couldn&apos;t find configuration for export to LibreOffice
-</source>
-        <translation>Non si può trovare la configurazione per esportare in LibreOffice
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
-        <source>Enter URL:</source>
-        <translation>Inserisci URL:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
-        <translation>HTML</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation>Testo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation>Foglio di calcolo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation>Documento di testo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation>Immagini</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
-        <source>Set URL to a local file</source>
-        <translation>Imposta URL come file locale</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation>Collega ad un&apos;altra mappa vym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation>Inserisci il tempo di riposo(numero di giorni o la data AAAA-MM-GG o GG.MM[ AAAA]</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
-        <source>Couldn&apos;t set sleep time to %1.
-</source>
-        <translation>Non è possibile fissare il tempo di riposo a %1.
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
-        <source>branches</source>
-        <comment>Info about map</comment>
-        <translation>rami</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
-        <source>notes</source>
-        <comment>Info about map</comment>
-        <translation>note</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
-        <source>images</source>
-        <comment>Info about map</comment>
-        <translation>immagini</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation>le task</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
-        <source>slides</source>
-        <comment>Info about map</comment>
-        <translation>diapositive</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
-        <source>xLinks</source>
-        <comment>Info about map</comment>
-        <translation>xLinks</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
-        <translation>Imposta l&apos;applicazione per eseguire lo zip/unzip dei file</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
-        <source>Set author for new maps (used in lockfile)</source>
-        <translation>Imposta l&apos;autore per le nuove mappe (usato nel file di blocco)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
-        <translation>utente sconosciuto</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
-        <source>Number of parents shown in find results:</source>
-        <translation>Numero di genitori mostrati nei risultati di ricerca:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
-        <source>Number of parents shown for a task:</source>
-        <translation>Numero di genitori mostrati per task:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
-        <source>(readonly)</source>
-        <translation>(di sola lettura)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
-        <source>Export in last used format (%1) to: %2</source>
-        <comment>status tip</comment>
-        <translation>Esporta nell&apos;ultimo formato usato (%1) in %2</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <translation type="obsolete">Segnalibri di Firefox</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <translation type="obsolete">Mostra editor di Note</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <translation type="obsolete">Mostra la finestra di Cronologia</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation>Segnalibri</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">Non è possibile avviare %1 per aprire una nuova scheda</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Toolbars</comment>
-        <translation type="obsolete">Metodi nell&apos;uso dei modifier</translation>
-    </message>
-    <message>
-        <source>Standard Flags</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation type="obsolete">Flag standard</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">Non è possibile trovare una configurazione per esportare in Open Office
-</translation>
-    </message>
-    <message>
-        <source>No matches found for &quot;%1&quot;</source>
-        <translation type="obsolete">Nessuna corrispondenza trovata per &quot;%1&quot;</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <translation type="obsolete">&amp;Mappa</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree</source>
-        <translation type="obsolete">Apri tutte le URL in un Sottoramo</translation>
-    </message>
-    <message>
-        <source>Open all vym links in subtree</source>
-        <translation type="obsolete">Apri tutti i link vym in un Sottoramo</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation type="obsolete">Non è possibile creare una cartella temporanea prima di caricare</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">Non è possibile creare una cartella temporanea prima di salvare
-</translation>
-    </message>
-    <message>
-        <source>Sorry, currently only Konqueror and Mozilla support tabbed browsing.</source>
-        <translation type="obsolete">Spiacenti, attualmente solo Konqueror e Mozilla supportano la navigazione con schede.</translation>
-    </message>
-    <message>
-        <source>&amp;New...</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">&amp;Nuovo...</translation>
-    </message>
-    <message>
-        <source>New map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Nuova Mappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="985"/>
-        <source>&amp;Open...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Apri...</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Apri</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
-        <source>Open Recent</source>
-        <comment>File menu</comment>
-        <translation>Apri Recente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
-        <source>&amp;Save...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Salva...</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Salva</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
-        <source>Save &amp;As...</source>
-        <comment>File menu</comment>
-        <translation>Salva &amp;Con nome...</translation>
-    </message>
-    <message>
-        <source>Save &amp;As</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Salva &amp;Con nome</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
-        <source>Import</source>
-        <comment>File menu</comment>
-        <translation>Importa</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Importa %1</translation>
-    </message>
-    <message>
-        <source>KDE bookmarks</source>
-        <translation type="obsolete">Segnalibri di KDE</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Segnalibri di Firefox</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importa %1</translation>
-    </message>
-    <message>
-        <source>Import Dir%1</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Importa Cartella%1</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importare la struttura di una cartella (sperimentale)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
-        <source>Export</source>
-        <comment>File menu</comment>
-        <translation>Esporta</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
-        <source>Image%1</source>
-        <comment>File export menu</comment>
-        <translation>Immagine%1</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Esporta mappa come immagine</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
-        <source>PDF%1</source>
-        <comment>File export menu</comment>
-        <translation>PDF%1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
-        <source>SVG%1</source>
-        <comment>File export menu</comment>
-        <translation>SVG%1</translation>
-    </message>
-    <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Esporta in Open Document Format es. in Open Office </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
-        <source>Repeat last export (%1)</source>
-        <translation>Ripete l&apos;ultima esportazione (%1)</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Esporta come %1</translation>
-    </message>
-    <message>
-        <source> webpage (XHTML)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete"> pagina web (XHTML)</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <translation type="obsolete">Esporta come %1</translation>
-    </message>
-    <message>
-        <source>KDE Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Segnalibri di KDE</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Stampa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
-        <source>&amp;Close Map</source>
-        <comment>File menu</comment>
-        <translation>C&amp;hiudi Mappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
-        <source>E&amp;xit</source>
-        <comment>File menu</comment>
-        <translation>&amp;Esci</translation>
-    </message>
-    <message>
-        <source>&amp;Actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="obsolete">Toolbar delle &amp;Azioni</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Modifica</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Cancella</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Rifai</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Copia</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Taglia</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Incolla</translation>
-    </message>
-    <message>
-        <source>Edit heading</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Edita Titolo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
-        <source>Delete Selection</source>
-        <comment>Edit menu</comment>
-        <translation>Cancella la Selezione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
-        <source>Add branch as child</source>
-        <comment>Edit menu</comment>
-        <translation>Aggiungi ramo come figlio</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
-        <source>Add branch (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>Aggiungi ramo (inserisci)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
-        <source>Add branch above</source>
-        <comment>Edit menu</comment>
-        <translation>Aggiungi ramo sopra</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
-        <source>Add branch below</source>
-        <comment>Edit menu</comment>
-        <translation>Aggiungi ramo sotto</translation>
-    </message>
-    <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Vai sopra</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Vai giù</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
-        <source>Scroll branch</source>
-        <comment>Edit menu</comment>
-        <translation>Nascondi/Mostra ramificazione</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Mostra tutti i rami nascosti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
-        <source>Find...</source>
-        <comment>Edit menu</comment>
-        <translation>Trova...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
-        <source>Open URL</source>
-        <comment>Edit menu</comment>
-        <translation>Apri URL</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="124"/>
-        <source>Main window</source>
-        <comment>Shortcut scope</comment>
-        <translation>Finestra principale</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="218"/>
-        <source>Main window</source>
-        <comment>Shortcut group</comment>
-        <translation>Finestra principale</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="219"/>
-        <source>Map Editors</source>
-        <comment>Shortcut group</comment>
-        <translation>Editor di mappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="220"/>
-        <source>Text Editors</source>
-        <comment>Shortcut group</comment>
-        <translation>Editor di testo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="967"/>
-        <source>&amp;Map</source>
-        <comment>Menu for file actions</comment>
-        <translation>&amp;Mappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="992"/>
-        <source>&amp;Restore last session</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Ripristina ultima sessione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
-        <source>Webpage (HTML)...</source>
-        <comment>File export menu</comment>
-        <translation>Pagina web (HTML)...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
-        <source>Text (ASCII)...</source>
-        <comment>File export menu</comment>
-        <translation>Testo (ASCII)...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <source>Text with tasks</source>
-        <comment>File export menu</comment>
-        <translation>Testo con task</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
-        <source>Open URL in new tab</source>
-        <comment>Edit menu</comment>
-        <translation>Apri l&apos;URL in una nuova scheda</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
-        <source>Open all URLs in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Apri tutte le URL in un Sottoramo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
-        <source>Edit URL...</source>
-        <comment>Edit menu</comment>
-        <translation>Modifica URL...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
-        <source>Use heading for URL</source>
-        <comment>Edit menu</comment>
-        <translation>Usa titoli per gli URL</translation>
-    </message>
-    <message>
-        <source>Create URL to Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Crea URL a Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Crea URL a FATE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
-        <source>Open linked map</source>
-        <comment>Edit menu</comment>
-        <translation>Apri una mappa linkata</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
-        <source>Open all vym links in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>Apri tutti i link vym in un Sottoramo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
-        <source>Edit vym link...</source>
-        <comment>Edit menu</comment>
-        <translation>Edita un link vym...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
-        <source>Delete vym link</source>
-        <comment>Edit menu</comment>
-        <translation>Cancella link vym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
-        <source>Hide in exports</source>
-        <comment>Edit menu</comment>
-        <translation>Nascondi nell&apos;esportazione</translation>
-    </message>
-    <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Edita le info della Mappa...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
-        <source>Add map (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>Aggiungi mappa (inserisci)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
-        <source>Add map (replace)</source>
-        <comment>Edit menu</comment>
-        <translation>Aggiungi mappa (rimpiazza)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
-        <source>Save selection</source>
-        <comment>Edit menu</comment>
-        <translation>Salva selezione</translation>
-    </message>
-    <message>
-        <source>Remove only branch </source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete"> Rimuovi solo il ramo</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Rimuovi i figli</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleziona il ramo superiore</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleziona il ramo inferiore</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleziona il ramo sinistro</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleziona il ramo figlio</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleziona il primo ramo</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleziona l&apos;ultimo ramo</translation>
-    </message>
-    <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Aggiungi Immagine...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
-        <source>F&amp;ormat</source>
-        <comment>Format menu</comment>
-        <translation>F&amp;ormato</translation>
-    </message>
-    <message>
-        <source>Format Actions</source>
-        <comment>Format Toolbar name</comment>
-        <translation type="obsolete">Toolbar delle Formattazioni</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
-        <source>Pic&amp;k color</source>
-        <comment>Edit menu</comment>
-        <translation>P&amp;rendi colore</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
-        <source>Color &amp;branch</source>
-        <comment>Edit menu</comment>
-        <translation>Colore &amp;del ramo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
-        <source>Color sub&amp;tree</source>
-        <comment>Edit menu</comment>
-        <translation>Colore del so&amp;ttoalbero</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Senza Frame</translation>
-    </message>
-    <message>
-        <source>RectangleBranch attribute</source>
-        <translation type="obsolete">Attributo RamoRettangolare</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Includi immagini verticalmente</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Includi immagini orizzontalmente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
-        <source>Hide link if object is not selected</source>
-        <comment>Branch attribute</comment>
-        <translation>Nascondi link se gli oggetti non sono selezionati</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
-        <source>&amp;Use color of heading for link</source>
-        <comment>Branch attribute</comment>
-        <translation>&amp;Usa colore dei titoli per i collegamenti</translation>
-    </message>
-    <message>
-        <source>View Actions</source>
-        <comment>View Toolbar name</comment>
-        <translation type="obsolete">Vedi Azioni</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
-        <source>reset Zoom</source>
-        <comment>View action</comment>
-        <translation>reset Zoom</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
-        <source>Zoom in</source>
-        <comment>View action</comment>
-        <translation>Zoom dentro</translation>
-    </message>
-    <message>
-        <source>KDE 3 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="obsolete">Segnalibri di KDE 3</translation>
-    </message>
-    <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="vanished">Segnalibri di KDE 4</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
-        <source>Firefox Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation>Segnalibri di Firefox</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation>Importa Cartella%1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
-        <source>Remove only branch and keep its children </source>
-        <comment>Edit menu</comment>
-        <translation>Rimuove solamente i rami e mantiene i figli</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
-        <source>Zoom out</source>
-        <comment>View action</comment>
-        <translation>Zoom fuori</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Mostra editor di Note</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Mostra la finestra di Cronologia</translation>
-    </message>
-    <message>
-        <source>Next Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Prossima Finestra</translation>
-    </message>
-    <message>
-        <source>Previous Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Finestra Precedente</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="obsolete">Metodi nell&apos;uso dei modifier</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>Usa i modifier per colorare i rami</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <comment>Mode modifier</comment>
-        <translation type="obsolete">Usa i modifier per copiare</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
-        <source>Use modifier to draw xLinks</source>
-        <comment>Mode modifier</comment>
-        <translation>Usa i modifier per disegnare XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation>avanti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Non fare flagrget</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
-        <source>Set application to open pdf files</source>
-        <comment>Settings action</comment>
-        <translation>Scegli il programma per aprire i file pdf</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
-        <source>Set application to open external links</source>
-        <comment>Settings action</comment>
-        <translation>Imposta applicazione per aprire i link esterni</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Edita il ramo dopo averlo aggiunto</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
-        <source>Select branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Seleziona il ramo dopo averlo aggiunto</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
-        <source>Select existing heading</source>
-        <comment>Settings action</comment>
-        <translation>Seleziona il titolo esistente</translation>
-    </message>
-    <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Tasto Cancella</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
-        <source>Exclusive flags</source>
-        <comment>Settings action</comment>
-        <translation>Flag esclusivi</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
-        <source>Use hide flags</source>
-        <comment>Settings action</comment>
-        <translation>Usa i flag nascosti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
-        <source>&amp;Help</source>
-        <comment>Help menubar entry</comment>
-        <translation>&amp;Aiuto</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
-        <source>Open VYM Documentation (pdf) </source>
-        <comment>Help action</comment>
-        <translation> Apri la documentazione di VYM (pdf) </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
-        <source>About VYM</source>
-        <comment>Help action</comment>
-        <translation>A proposito di VYM</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
-        <source>About QT</source>
-        <comment>Help action</comment>
-        <translation>Riguardo le QT</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
-        <source>Remove</source>
-        <comment>Context menu name</comment>
-        <translation>Rimuovi</translation>
-    </message>
-    <message>
-        <source>URLs and vymLinks</source>
-        <comment>Context menu name</comment>
-        <translation type="obsolete">URL e Link di vym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
-        <source>Edit XLink</source>
-        <comment>Context menu name</comment>
-        <translation>Edita il XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
-        <source>Follow XLink</source>
-        <comment>Context menu name</comment>
-        <translation>Segui XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
-        <source>Save image</source>
-        <comment>Context action</comment>
-        <translation>Salva immagine</translation>
-    </message>
-    <message>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <comment>write directory</comment>
-        <translation type="obsolete">La cartella %1 non è vuota. 
-Si rischia di sovvrascrivere i contenuti?</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="971"/>
-        <source>&amp;New map</source>
-        <comment>File menu</comment>
-        <translation>&amp;Nuova Mappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="978"/>
-        <source>&amp;Copy to new map</source>
-        <comment>File menu</comment>
-        <translation>&amp;Copia in nuova mappa</translation>
-    </message>
-    <message>
-        <source>Copy selection to mapcenter of a new map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Copia l&apos;area selezionata nel centro di una nuova mappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
-        <source>Add mapcenter</source>
-        <comment>Canvas context menu</comment>
-        <translation>Aggiungi centromappa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
-        <source>Sort children</source>
-        <comment>Edit menu</comment>
-        <translation>Ordina i figli</translation>
-    </message>
-    <message>
-        <source>Unscroll childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Mostra i figli</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches in selected subtree</source>
-        <translation type="obsolete">Mostra i rami nascosti del sottoalbero</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
-        <source>Edit local URL...</source>
-        <comment>Edit menu</comment>
-        <translation>Modifica URL locale...</translation>
-    </message>
-    <message>
-        <source>Edit local URL</source>
-        <translation type="obsolete">Modifica URL locale</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Crea URL a Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <translation type="obsolete">Crea URL a Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Crea URL a Novell FATE</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <translation type="obsolete">Crea URL a Novell FATE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
-        <source>Property window</source>
-        <comment>Dialog to edit properties of selection</comment>
-        <translation>Finestra di proprieta</translation>
-    </message>
-    <message>
-        <source>Set properties for selection</source>
-        <translation type="obsolete">Scegli le proprieta per la selezione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
-        <source>Linkstyle Curve</source>
-        <translation>Stile collegamenti Curvo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
-        <source>Linkstyle Thick Curve</source>
-        <translation>Collegamento Curva Spessa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
-        <source>Set &amp;Selection Color</source>
-        <translation>Specifica Colore della &amp;Selezione</translation>
-    </message>
-    <message>
-        <source>Set Selection Color</source>
-        <translation type="obsolete">Specifica Colore della Selezione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
-        <source>Set &amp;Background image</source>
-        <translation>Specifica &amp;Immagine di sfondo</translation>
-    </message>
-    <message>
-        <source>Set Background image</source>
-        <translation type="obsolete">Specifica Immagine di sfondo</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Mostra selezione</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <translation type="obsolete">Mostra selezione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
-        <source>History Window</source>
-        <comment>View action</comment>
-        <translation>Finestra cronologia</translation>
-    </message>
-    <message>
-        <source>Show History Window</source>
-        <translation type="obsolete">Mostra la finestra di Cronologia</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
-        <source>Antialiasing</source>
-        <comment>View action</comment>
-        <translation>Antialiasing</translation>
-    </message>
-    <message>
-        <source>Antialiasing</source>
-        <translation type="obsolete">Antialiasing</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
-        <source>Smooth pixmap transformations</source>
-        <comment>View action</comment>
-        <translation>Appiana trasformazioni di pixmap</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
-        <source>Next Map</source>
-        <comment>View action</comment>
-        <translation>Mappa Successiva</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
-        <source>Previous Map</source>
-        <comment>View action</comment>
-        <translation>Mappa Precedente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
-        <source>Next slide</source>
-        <comment>View action</comment>
-        <translation>Diapositiva successiva</translation>
-    </message>
-    <message>
-        <source>Next slide</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Diapositiva successiva</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
-        <source>Previous slide</source>
-        <comment>View action</comment>
-        <translation>Diapositiva precedente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
-        <source>Note</source>
-        <comment>SystemFlag</comment>
-        <translation>Note</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>URL a Documento</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
-        <source>Link to another vym map</source>
-        <comment>SystemFlag</comment>
-        <translation>Collega ad un&apos;altra mappa vym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
-        <source>subtree is scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>sottoalbero è espanso</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
-        <source>subtree is temporary scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>sottoalbero è temporaneamente espanso</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
-        <source>Hide object in exported maps</source>
-        <comment>SystemFlag</comment>
-        <translation>Nascondi oggetto nelle mappe esportate</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
-        <source>I just love...</source>
-        <comment>Standardflag</comment>
-        <translation>Lo amo...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Importante</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Priorita</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Indietro</translation>
-    </message>
-    <message>
-        <source>Forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">Avanti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Guarda qui</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Pericoloso</translation>
-    </message>
-    <message>
-        <source>Don&apos;t forget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">Non ti scordare</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Bandierina</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Casa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Telefono</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Musica</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Casella di posta</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Maix</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Password</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Da migliorare</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Stop</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Magico</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Da discutere</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Promemoria</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Eccellente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Dolce</translation>
-    </message>
-    <message>
-        <source>Network shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Scorciatoie di Rete</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
-        <translation>Specifica percorso per le macro</translation>
-    </message>
-    <message>
-        <source>Set path for macros</source>
-        <translation type="obsolete">Specifica percorso per i macro</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
-        <translation>Seleziona numero di annullamenti</translation>
-    </message>
-    <message>
-        <source>Set number of undo levels</source>
-        <translation type="obsolete">Seleziona numero di annullamenti</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
-        <translation>Salvataggio automatico</translation>
-    </message>
-    <message>
-        <source>Autosave</source>
-        <translation type="obsolete">Salvataggio automatico</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
-        <source>Autosave time</source>
-        <comment>Settings action</comment>
-        <translation>Tempo di salvataggio automatico</translation>
-    </message>
-    <message>
-        <source>Autosave time</source>
-        <translation type="obsolete">Tempo di salvataggio automatico</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
-        <translation>Scrivi file di backup al salvataggio</translation>
-    </message>
-    <message>
-        <source>Write backup file on save</source>
-        <translation type="obsolete">Scrivi file di backup al salvataggio</translation>
-    </message>
-    <message>
-        <source>Note editor is dockable</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Editor di note è agganciabile</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
-        <source>Animation</source>
-        <comment>Settings action</comment>
-        <translation>Animazione</translation>
-    </message>
-    <message>
-        <source>Animation</source>
-        <translation type="obsolete">Animazione</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
-        <source>Automatic layout</source>
-        <comment>Settings action</comment>
-        <translation>Disposizione automatica</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
-        <source>Test</source>
-        <translation>Test</translation>
-    </message>
-    <message>
-        <source>Test shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Scorciatoie di test</translation>
-    </message>
-    <message>
-        <source>Help shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">Scorciatoie di aiuto</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
-        <source>Open VYM example maps </source>
-        <comment>Help action</comment>
-        <translation>Apri mappe VYM di esempio</translation>
-    </message>
-    <message>
-        <source>Open VYM example maps </source>
-        <translation type="obsolete">Apri mappe VYM di esempio</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
-        <source>References (URLs, vymLinks, ...)</source>
-        <comment>Context menu name</comment>
-        <translation>Riferimenti (URL, vymLinks, ...)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
-        <source>Follow XLink</source>
-        <comment>Context menu</comment>
-        <translation>Segui XLink</translation>
-    </message>
-    <message>
-        <source>&amp;%1 %2</source>
-        <translation type="obsolete">&amp;%1 %2</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation>senza nome</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
-        <source>Loading: %1</source>
-        <comment>Progress dialog while loading maps</comment>
-        <translation>Caricante %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation>Carica mappa Freemind</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <source>Export as CSV</source>
-        <translation>Esporta come CSV</translation>
-    </message>
-    <message>
-        <source>Sorry, currently only Konqueror supports integrated tabbed browsing.</source>
-        <comment>Mainwindow, open URL</comment>
-        <translation type="obsolete">Spiacente, in questo momento solo Konqueror supporta la navigazione catalogata integrata.</translation>
-    </message>
-    <message>
-        <source>Currently vym is using %1 to open external links.
-(Change in Settings menu)</source>
-        <comment>Mainwindow, open URL</comment>
-        <translation type="obsolete">Correntemente vym sta usando %1 per aprire collegamenti esterni.
-(modifica nel menu delle Preferenze)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation>%1 cose nella mappa
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation>Cartella con macro di vym:</translation>
-    </message>
-    <message>
-        <source>QInputDialog::getInteger()</source>
-        <translation type="obsolete">QInputDialog::getInteger()</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
-        <source>Number of undo/redo levels:</source>
-        <translation>Numero di annullamenti/rifacimenti:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
-        <translation>Le impostazioni sono state cambiate. Dalla prossima mappa ci saranno &quot;%1&quot; livelli di annullamento</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
-        <source>Number of seconds before autosave:</source>
-        <translation>Numero di secondi prima del salvataggio automatico:</translation>
-    </message>
-    <message>
-        <source>Information</source>
-        <translation type="obsolete">Informazione</translation>
-    </message>
-    <message>
-        <source>Changed settings will be applied after restarting vym</source>
-        <translation type="obsolete">Le preferenze modificate saranno applicate dopo il riavvio di vym</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
-        <source>History for %1</source>
-        <comment>Window Caption</comment>
-        <translation>Storia per %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
-        <translation>Non è possibile trovare la documentazione %1 in:
-%2</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
-        <source>Load vym example map</source>
-        <translation>Carica la mappa vym di esempio</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="obsolete">Non è possibile trovare la macro a %1.
-</translation>
-    </message>
-    <message>
-        <source>Set directory for vym macros</source>
-        <translation type="obsolete">Scegli cartella per le macro di vym</translation>
-    </message>
-</context>
-<context>
-    <name>MapEditor</name>
-    <message>
-        <source>Critical Parse Error</source>
-        <translation type="obsolete">Errore Critico di Interpretazione</translation>
-    </message>
-    <message>
-        <source>Critical Save Error</source>
-        <translation type="obsolete">Errore Critico di Salvataggio</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t write to </source>
-        <translation type="obsolete"> È impossibile scrivere su</translation>
-    </message>
-    <message>
-        <source>VYM - Export (ASCII)</source>
-        <translation type="obsolete">VYM - Esporta (ASCII)</translation>
-    </message>
-    <message>
-        <source>The file </source>
-        <translation type="obsolete"> Il file</translation>
-    </message>
-    <message>
-        <source> exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete"> esiste già. Vuoi sovvrascriverlo?</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Sovvrascrivi</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Cancella</translation>
-    </message>
-    <message>
-        <source>Critical Export Error </source>
-        <translation type="obsolete">Errore critico nell&apos;esportazione</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create directory </source>
-        <translation type="obsolete"> Non è possibile creare la cartella</translation>
-    </message>
-    <message>
-        <source>Critical Export Error</source>
-        <translation type="obsolete">Errore critico nell&apos;esportazione</translation>
-    </message>
-    <message>
-        <source>MapEditor::exportXML couldn&apos;t open </source>
-        <translation type="obsolete">non è possibile aprire MapEditor::exportXML </translation>
-    </message>
-    <message>
-        <source>Critical Parse Error by reading backupFile</source>
-        <translation type="obsolete">Errore Critico di Interpretazione nel leggere il file di backup</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Errore Critico</translation>
-    </message>
-    <message>
-        <source> used for undo is gone. 
-I will create a new one, but at the moment no undo is available.
-Maybe you want to reload your original data.
-
-Sorry for any inconveniences.</source>
-        <translation type="obsolete">  non ci sono altri annullamenti.
-Ne creerò uno nuovo, ma al momento nessun annulla è presente.
-Forse vuoi ricaricare i tuoi dati originali.
-
-Ci dispiace per il disagio.</translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Inserisci URL:</translation>
-    </message>
-    <message>
-        <source>VYM - Link to another map</source>
-        <translation type="obsolete">VYM - Collega ad un&apos;altra mappa</translation>
-    </message>
-    <message>
-        <source>vym map</source>
-        <translation type="obsolete">mappa vym</translation>
-    </message>
-    <message>
-        <source>vym - load image</source>
-        <translation type="obsolete">vym - carica immagine</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <translation type="obsolete">Immagini</translation>
-    </message>
-    <message>
-        <source>vym - Load image</source>
-        <translation type="obsolete">vym - Carica Immagini</translation>
-    </message>
-    <message>
-        <source>vym - save image as</source>
-        <translation type="obsolete">vym - salva immagine come</translation>
-    </message>
-    <message>
-        <source>vym - Save image as </source>
-        <translation type="obsolete"> vym - Salva immagine come</translation>
-    </message>
-    <message>
-        <source>Critical Import Error</source>
-        <translation type="obsolete">Errore critico nell&apos;importazione</translation>
+        <translation>Rimuove solamente i rami e mantiene i figli</translation>
     </message>
     <message>
-        <source>Cannot find the directory</source>
-        <translation type="obsolete">Non trovo la cartella</translation>
+        <location line="+306"/>
+        <source>Zoom out</source>
+        <comment>View action</comment>
+        <translation>Zoom fuori</translation>
     </message>
     <message>
-        <source>VYM - Choose directory structur to import</source>
-        <translation type="obsolete">VYM - Scegli la struttura delle cartelle da importare</translation>
+        <location line="+249"/>
+        <source>Use modifier to draw xLinks</source>
+        <comment>Mode modifier</comment>
+        <translation>Usa i modifier per disegnare XLink</translation>
     </message>
     <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Note</translation>
+        <location line="+439"/>
+        <source>Set application to open pdf files</source>
+        <comment>Settings action</comment>
+        <translation>Scegli il programma per aprire i file pdf</translation>
     </message>
     <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Documento WWW (esterno)</translation>
+        <location line="+7"/>
+        <source>Set application to open external links</source>
+        <comment>Settings action</comment>
+        <translation>Imposta applicazione per aprire i link esterni</translation>
     </message>
     <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Collega ad un&apos;altra mappa vym</translation>
+        <location line="+67"/>
+        <source>Select branch after adding it</source>
+        <comment>Settings action</comment>
+        <translation>Seleziona il ramo dopo averlo aggiunto</translation>
     </message>
     <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">sottoalbero è espanso</translation>
+        <location line="+9"/>
+        <source>Select existing heading</source>
+        <comment>Settings action</comment>
+        <translation>Seleziona il titolo esistente</translation>
     </message>
     <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">sottoalbero è temporaneamente espanso</translation>
+        <location line="+7"/>
+        <source>Exclusive flags</source>
+        <comment>Settings action</comment>
+        <translation>Flag esclusivi</translation>
     </message>
     <message>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Attenzione!</translation>
+        <location line="+7"/>
+        <source>Use hide flags</source>
+        <comment>Settings action</comment>
+        <translation>Usa i flag nascosti</translation>
     </message>
     <message>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Veramente?</translation>
+        <location line="+78"/>
+        <source>&amp;Help</source>
+        <comment>Help menubar entry</comment>
+        <translation>&amp;Aiuto</translation>
     </message>
     <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">ok!</translation>
+        <location line="+3"/>
+        <source>Open VYM Documentation (pdf) </source>
+        <comment>Help action</comment>
+        <translation> Apri la documentazione di VYM (pdf) </translation>
     </message>
     <message>
-        <source>Not ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Non ok!</translation>
+        <location line="+38"/>
+        <source>About VYM</source>
+        <comment>Help action</comment>
+        <translation>A proposito di VYM</translation>
     </message>
     <message>
-        <source>This won&apos;t work!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Questo non funzionerà!</translation>
+        <location line="-4"/>
+        <source>About QT</source>
+        <comment>Help action</comment>
+        <translation>Riguardo le QT</translation>
     </message>
     <message>
-        <source>Good</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Bene</translation>
+        <location line="+34"/>
+        <source>Remove</source>
+        <comment>Context menu name</comment>
+        <translation>Rimuovi</translation>
     </message>
     <message>
-        <source>Bad</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Male</translation>
+        <location line="+61"/>
+        <source>Edit XLink</source>
+        <comment>Context menu name</comment>
+        <translation>Edita il XLink</translation>
     </message>
     <message>
-        <source>Time critical</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">In tempo critico</translation>
+        <location line="+11"/>
+        <source>Follow XLink</source>
+        <comment>Context menu name</comment>
+        <translation>Segui XLink</translation>
     </message>
     <message>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Idea!</translation>
+        <location line="+6"/>
+        <source>Save image</source>
+        <comment>Context action</comment>
+        <translation>Salva immagine</translation>
     </message>
     <message>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Importante</translation>
+        <location line="-2202"/>
+        <source>&amp;New map</source>
+        <comment>File menu</comment>
+        <translation>&amp;Nuova Mappa</translation>
     </message>
     <message>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Nono Importante</translation>
+        <location line="+9"/>
+        <source>&amp;Copy to new map</source>
+        <comment>File menu</comment>
+        <translation>&amp;Copia in nuova mappa</translation>
     </message>
     <message>
-        <source>I like this</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Mi piace</translation>
+        <location line="+314"/>
+        <source>Add mapcenter</source>
+        <comment>Canvas context menu</comment>
+        <translation>Aggiungi centromappa</translation>
     </message>
     <message>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Non mi piace</translation>
+        <location line="+129"/>
+        <source>Sort children</source>
+        <comment>Edit menu</comment>
+        <translation>Ordina i figli</translation>
     </message>
     <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete"> Lo amo...</translation>
+        <location line="+164"/>
+        <source>Edit local URL...</source>
+        <comment>Edit menu</comment>
+        <translation>Modifica URL locale...</translation>
     </message>
     <message>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Pericoloso</translation>
+        <location line="+315"/>
+        <source>Property window</source>
+        <comment>Dialog to edit properties of selection</comment>
+        <translation>Finestra di proprieta</translation>
     </message>
     <message>
-        <source>This will help</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Questo aiuta</translation>
+        <location line="+168"/>
+        <source>Linkstyle Curve</source>
+        <translation>Stile collegamenti Curvo</translation>
     </message>
     <message>
-        <source>New Map</source>
-        <comment>Heading of mapcenter in new map</comment>
-        <translation type="obsolete">Nuova mappa</translation>
+        <location line="+14"/>
+        <source>Linkstyle Thick Curve</source>
+        <translation>Collegamento Curva Spessa</translation>
     </message>
     <message>
-        <source>Critcal Save error</source>
-        <translation type="obsolete">Errore Critico di Salvataggio</translation>
+        <location line="+30"/>
+        <source>Set &amp;Selection Color</source>
+        <translation>Specifica Colore della &amp;Selezione</translation>
     </message>
     <message>
-        <source>MapEditor::exportXML couldn&apos;t open %1</source>
-        <translation type="obsolete">MapEditor::exportXML non è possibile aprire %1</translation>
+        <location line="+10"/>
+        <source>Set &amp;Background image</source>
+        <translation>Specifica &amp;Immagine di sfondo</translation>
     </message>
     <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Collega ad un&apos;altra mappa vym</translation>
+        <location line="+166"/>
+        <source>History Window</source>
+        <comment>View action</comment>
+        <translation>Finestra cronologia</translation>
     </message>
     <message>
-        <source>Load image</source>
-        <translation type="obsolete">Carica immagine</translation>
+        <location line="+14"/>
+        <source>Antialiasing</source>
+        <comment>View action</comment>
+        <translation>Antialiasing</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Il file %1 esiste già.
-Vuoi sovvrascriverlo?</translation>
+        <location line="+7"/>
+        <source>Smooth pixmap transformations</source>
+        <comment>View action</comment>
+        <translation>Appiana trasformazioni di pixmap</translation>
     </message>
     <message>
-        <source>Cannot find the directory %1</source>
-        <translation type="obsolete">Non è possibile trovare la cartella %1</translation>
+        <location line="+10"/>
+        <source>Next Map</source>
+        <comment>View action</comment>
+        <translation>Mappa Successiva</translation>
     </message>
     <message>
-        <source>Choose directory structure to import</source>
-        <translation type="obsolete">Scegliere la struttura delle cartelle da importare</translation>
+        <location line="+7"/>
+        <source>Previous Map</source>
+        <comment>View action</comment>
+        <translation>Mappa Precedente</translation>
     </message>
     <message>
-        <source>unnamed</source>
-        <translation type="obsolete">senza nome</translation>
+        <location line="+7"/>
+        <source>Next slide</source>
+        <comment>View action</comment>
+        <translation>Diapositiva successiva</translation>
     </message>
     <message>
-        <source>Warning</source>
-        <translation type="obsolete">Attenzione</translation>
+        <location line="+7"/>
+        <source>Previous slide</source>
+        <comment>View action</comment>
+        <translation>Diapositiva precedente</translation>
     </message>
     <message>
-        <source>History for </source>
-        <translation type="obsolete">Cronologia di </translation>
+        <location line="+139"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <source>Note</source>
+        <comment>SystemFlag</comment>
+        <translation>Note</translation>
     </message>
     <message>
-        <source>Save image</source>
-        <translation type="obsolete">Salva immagine</translation>
+        <location line="+9"/>
+        <source>Link to another vym map</source>
+        <comment>SystemFlag</comment>
+        <translation>Collega ad un&apos;altra mappa vym</translation>
     </message>
     <message>
-        <source>Critical Parse Error while reading %1</source>
-        <translation type="obsolete">Errore Critico di Interpretazione durante la lettura di %1</translation>
+        <location line="+3"/>
+        <source>subtree is scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>sottoalbero è espanso</translation>
     </message>
     <message>
-        <source>Could not read %1</source>
-        <translation type="obsolete">Non è possibile leggere %1</translation>
+        <location line="+4"/>
+        <source>subtree is temporary scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>sottoalbero è temporaneamente espanso</translation>
     </message>
     <message>
-        <source>Can&apos;t get color of heading,
-there&apos;s no branch selected</source>
-        <translation type="obsolete">Non è possibile determinare il colore del titolo.
-Nessun ramo è stato selezionato</translation>
+        <location line="+3"/>
+        <source>Hide object in exported maps</source>
+        <comment>SystemFlag</comment>
+        <translation>Nascondi oggetto nelle mappe esportate</translation>
     </message>
     <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Errore Critico di Caricamento</translation>
+        <location line="+42"/>
+        <source>I just love...</source>
+        <comment>Standardflag</comment>
+        <translation>Lo amo...</translation>
     </message>
     <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation type="obsolete">Non è possibile creare una cartella temporanea prima di caricare
-</translation>
+        <location line="+307"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">Non è possibile trovare una mappa (*.xml) nell&apos;archivio .vym.
-</translation>
+        <location line="+5"/>
+        <source>Set path for macros</source>
+        <comment>Settings action</comment>
+        <translation>Specifica percorso per le macro</translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">La mappa %1
-non usa il formato di compressione vym.
-Salvandolo in modo non compresso, salva anche le immagini 
-e le flag e quindi potrebbe sovvrascrivere dei file in questa cartella
-Si vuole salvare la mappa</translation>
+        <location line="+4"/>
+        <source>Set number of undo levels</source>
+        <comment>Settings action</comment>
+        <translation>Seleziona numero di annullamenti</translation>
     </message>
     <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">compresso (predefinito di vym)</translation>
+        <location line="+7"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
+        <translation>Salvataggio automatico</translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">non compresso</translation>
+        <location line="+6"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
+        <translation>Tempo di salvataggio automatico</translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Errore di Salvataggio</translation>
+        <location line="+12"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
+        <translation>Scrivi file di backup al salvataggio</translation>
     </message>
     <message>
-        <source>%1
-could not be removed before saving</source>
-        <translation type="obsolete">%1
-non puo&apos; essere rimosso prima del salvataggio</translation>
+        <location line="+65"/>
+        <source>Animation</source>
+        <comment>Settings action</comment>
+        <translation>Animazione</translation>
     </message>
     <message>
-        <source>%1
-could not be renamed before saving</source>
-        <translation type="obsolete">%1
-non puo&apos; essere rinominato prima del salvataggio</translation>
+        <location line="+7"/>
+        <source>Automatic layout</source>
+        <comment>Settings action</comment>
+        <translation>Disposizione automatica</translation>
     </message>
     <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">Non è possibile creare una cartella temporanea prima di salvare
-</translation>
+        <location line="+11"/>
+        <source>Test</source>
+        <translation>Test</translation>
     </message>
     <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">Esporta mappa come immagine</translation>
+        <location line="+35"/>
+        <source>Open VYM example maps </source>
+        <comment>Help action</comment>
+        <translation>Apri mappe VYM di esempio</translation>
     </message>
     <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Esporta XML nella cartella</translation>
+        <location line="+102"/>
+        <source>References (URLs, vymLinks, ...)</source>
+        <comment>Context menu name</comment>
+        <translation>Riferimenti (URL, vymLinks, ...)</translation>
     </message>
     <message>
-        <source>Autosave disabled during undo.</source>
-        <translation type="obsolete">Salvataggio automatico disabilitato durante il cancella.</translation>
+        <location line="+27"/>
+        <source>Follow XLink</source>
+        <comment>Context menu</comment>
+        <translation>Segui XLink</translation>
     </message>
     <message>
-        <source>Load background image</source>
-        <translation type="obsolete">Carica immagine di sfondo</translation>
+        <location line="+616"/>
+        <source>Loading: %1</source>
+        <comment>Progress dialog while loading maps</comment>
+        <translation>Caricante %1</translation>
     </message>
     <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Testo</translation>
+        <location line="+516"/>
+        <source>Export as CSV</source>
+        <translation>Esporta come CSV</translation>
     </message>
     <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Foglio di calcolo</translation>
+        <location line="+679"/>
+        <source>%1 items on map
+</source>
+        <comment>Info about map</comment>
+        <translation>%1 cose nella mappa
+</translation>
     </message>
     <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Documento di testo</translation>
+        <location line="+881"/>
+        <source>Number of undo/redo levels:</source>
+        <translation>Numero di annullamenti/rifacimenti:</translation>
     </message>
     <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Immagini</translation>
+        <location line="+5"/>
+        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <translation>Le impostazioni sono state cambiate. Dalla prossima mappa ci saranno &quot;%1&quot; livelli di annullamento</translation>
     </message>
     <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">Imposta URL come file locale</translation>
+        <location line="+40"/>
+        <source>Number of seconds before autosave:</source>
+        <translation>Numero di secondi prima del salvataggio automatico:</translation>
     </message>
     <message>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="obsolete">%1 cose nella mappa
-</translation>
+        <location line="+47"/>
+        <source>Information</source>
+        <translation type="unfinished">Informazione</translation>
     </message>
     <message>
-        <source>The file of the map  on disk has changed:
-
-   %1
-
-Do you want to reload that map with the new file?</source>
-        <translation type="obsolete">Il file della mappa sul disco è cambiata:
-
-%1
-
-Vuoi ricaricarela mappa in un nuovo file?</translation>
+        <location line="+473"/>
+        <source>History for %1</source>
+        <comment>Window Caption</comment>
+        <translation>Storia per %1</translation>
     </message>
     <message>
-        <source>Reload</source>
-        <translation type="obsolete">Ricarica</translation>
+        <location line="+464"/>
+        <source>Couldn&apos;t find the documentation %1 in:
+%2</source>
+        <translation>Non è possibile trovare la documentazione %1 in:
+%2</translation>
     </message>
     <message>
-        <source>Ignore</source>
-        <translation type="obsolete">Ignora</translation>
+        <location line="+31"/>
+        <source>Load vym example map</source>
+        <translation>Carica la mappa vym di esempio</translation>
     </message>
+</context>
+<context>
+    <name>MapEditor</name>
     <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation>Editor di mappa</translation>
     </message>
     <message>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleziona il precedente</translation>
-    </message>
-    <message>
-        <source>Select next</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Seleziona il prossimo</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation>Edita Titolo</translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>MapEditor</comment>
-        <translation type="obsolete">Salva</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Rifai</translation>
-    </message>
-    <message>
-        <source>Repeat last export (%1)</source>
-        <translation type="obsolete">Ripete l&apos;ultima esportazione (%1)</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="510"/>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
         <translation>Stampa Mappa di vym</translation>
     </message>
-</context>
-<context>
-    <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation>Editor di Note</translation>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="vanished">Errore Critico</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="vanished">Non è possibile avviare %1</translation>
-    </message>
+    <name>NoteEditor</name>
     <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="vanished">%1 non è terminato normalmente</translation>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
+        <source>Note Editor</source>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished">Editor di Note</translation>
     </message>
 </context>
 <context>
     <name>QObject</name>
     <message>
-        <source>This is not an image.</source>
-        <translation type="obsolete">Questa non è un immagine.</translation>
-    </message>
-    <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Il file %1 esiste già.Vuoi sovvrascriverlo?</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="90"/>
+        <location filename="../src/file.cpp" line="+95"/>
         <source>Overwrite</source>
         <translation>Sovrascrivi</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="91"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Cancella</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>Errore critico nell&apos;esportazione</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation>Non è possibile scrivere %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location filename="../src/export-base.cpp" line="+124"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation>L&apos;esportazione di %1 sovrascriverà il file esistente
 %2 </translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation>Attenzione:  si sovrascrive il file</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation>Non si può esportare come AO in %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
         <source>Could not export as ASCII to %1</source>
         <translation>Non si può esportare come ASCII in %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-8"/>
         <source>Export as CSV</source>
         <translation>Esporta come CSV</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation>Non si può esportare come CSV in %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation>Contenuti:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation>Esportazione abortita.</translation>
     </message>
     <message>
-        <source>Warning</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Attenzione</translation>
-    </message>
-    <message>
-        <source>Trying to load stylesheet:</source>
-        <translation type="obsolete">Si cerca di caricare il foglio di stile:</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Non è possibile aprire %1</translation>
-    </message>
-    <message>
-        <source>Trying to save stylesheet:</source>
-        <translation type="obsolete">Si cerca di salvare il foglio di stile:</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">Non è possibile aprire %1</translation>
-    </message>
-    <message>
-        <source>Trying to load small icon for URLs:</source>
-        <translation type="obsolete">Si cerca di caricare icone piccole per le URL:</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation>Si cerca di creare una cartella per i flags:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation>Non è possibile creare %1</translation>
     </message>
     <message>
-        <source>Trying to save small icon for URLs:</source>
-        <translation type="obsolete">Si cerca di salvare l&apos;icona piccola per le URL:</translation>
+        <location line="-369"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="+189"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation>Critico</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location line="-98"/>
         <source>Could not find stylesheet %1</source>
         <translation>Non si trova il foglio di stile %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation>Errore</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -5010,216 +3111,184 @@ Do you want to overwrite it?</source>
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation>Con si può copiare %1 in %2</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation>Si cerca di salvare il file HTML:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>Esportazione fallita.</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation>Non si può esportare come OrgMode in %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation>Non si può esportare come LaTeX in %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation>Espporta come presentazione di Impress di LibreOffice</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation>Nessun oggetto nella mappa!</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation>Non possono essere lette le preferenze da &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>Controllare &quot;%1&quot; in
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>Non è possibile leggere %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="+186"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>Errore Critico</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation>Non si può spostare togliere di mezzo il file esistente prima di salvare.</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
-        <translation>Non può essere avviato lo strumento per decomprimere i dati.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>Non è possibile iniziare lo zip per la decompressione dei dati.</translation>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>lo zip non è terminato normalmente</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation>Non si può rinominere %1 di nuovo in %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation>Non si può rimuovere l&apos;obiettivo del vecchio link simbolico %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation>Nonn si può rinominare l&apos;esito qll&apos;oobiettivo del vechio legame simbolico %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation>Non si può eseguire il link da %1 all&apos;ogetto del vecchio link %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation>Salvato %1, ma non può essere rimosso %2</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>Non è possibile iniziare l&apos;unzip per la decompressione dei dati.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>unzip non è finito normalmente</translation>
-    </message>
-    <message>
-        <source>Sorry, no preview for
-multiple selected files.</source>
-        <translation type="obsolete">Spiacenti, nessuna anteprima per
-più file selezionati.</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation>Non è possibile iniziare %1</translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 non è terminato normalmente</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>Esportando il segnalibri %1 sovvrascriverà
-il vostro attuale file di segnalibri.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>Attenzione: Sovvrascrizione %1 segnalibri</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>Non è possibile trovare lo script %1
-per notificare il Browser del cambiamento nei segnalibri.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="-150"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>Errore</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>La cartella temporanea non è accessibile
 </translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation>Esporta in ASCII</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation>(in sperimentazione)</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -5227,391 +3296,340 @@ Do you risk to overwrite its contents?</source>
 Vuoi rischiare di sovvrascrivere i contenuti?</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">Non è possibile aprire %1.
-</translation>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation>Attenzione: Problema di versione</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <translation>&lt;h3&gt;La mappa è più nuova di VYM&lt;/h3&gt;&lt;p&gt;La mappa che voi state proprio per caricare è stata salvat con vym%1. La versione di questo vym è %2. Se incontrte problemi dopo la pressione del pulsante in basso, potrebbe essere di aiuto aggiornare vym.&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
 </source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Non si trova alcun cliente di Bugzilla. Per OpenSUSE è possibile installarlo con (eseguito come root):
-
-</translation>
+        <comment>Macros::pathExists</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>In alternativa è anche possibile aggiungere il repository
-e installare il modulo perl per accedere a Bugzilla tramite YaST</translation>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>Per favore usa le impostazioni-&gt;</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
-        <translation>Attenzione: non si trova il cliente di Bugzilla</translation>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
+        <translation>Scegli cartella per le macro di vym</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Editor di Note</translation>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Heading Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Editor intestazione</translation>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
  </source>
-        <translation>Non si trova lo strumento per eseguire l&apos;unzip dei dati. Per favor scarica e installa 7z e imposta il percorso nel menù di impostazione:
- </translation>
+        <comment>zip tool missing on Linux/Mac platform</comment>
       <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
+        <location line="+62"/>
+        <location line="+15"/>
         <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation>Non si può aprire &quot;%1&quot;
-%2.</translation>
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
-        <translation>Attenzione: Problema di versione</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
-        <translation>&lt;h3&gt;La mappa è più nuova di VYM&lt;/h3&gt;&lt;p&gt;La mappa che voi state proprio per caricare è stata salvat con vym%1. La versione di questo vym è %2. Se incontrte problemi dopo la pressione del pulsante in basso, potrebbe essere di aiuto aggiornare vym.&lt;/p&gt;</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation>Non è possibile trovare la macro a %1.
-</translation>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
-        <translation>Per favore usa le impostazioni-&gt;</translation>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
-        <translation>Scegli cartella per le macro di vym</translation>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
-        <translation>Non si può salvare &quot;%1&quot;</translation>
+        <location filename="../src/mainwindow.cpp" line="-3021"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
         <source>Form</source>
-        <translation>Form</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
-        <translation>Tab 1</translation>
+        <translation type="vanished">Form</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
-        <source>Save to selected slide</source>
-        <translation>Salva la diapositiva selezionata</translation>
+        <source>Reload</source>
+        <translation type="obsolete">Ricarica</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
-        <source>Run</source>
-        <translation>Esegui</translation>
+        <source>Save as</source>
+        <translation type="obsolete">Salva come</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
-        <translation>Tab 2</translation>
+        <source>Save to selected slide</source>
+        <translation type="vanished">Salva la diapositiva selezionata</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
-        <translation>Chiave corrente:</translation>
+        <source>Run</source>
+        <translation type="vanished">Esegui</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="131"/>
         <source>Load</source>
-        <translation>Carica</translation>
+        <translation type="vanished">Carica</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
         <source>Save</source>
-        <translation>Salva</translation>
+        <translation type="vanished">Salva</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
+        <location line="-42"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation>Diapositiva</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation>Macro</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation>Salva</translation>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+31"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation>Non si può ottenere il modello per salvare lo script nella diapositiva!</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation>Non si può trovare la diapositiva per salvare lo script nella diapositiva!</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
-        <source>Save script</source>
-        <translation>Script salvato</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="155"/>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation>Il file %1 
-esiste già.
-Vuoi sovrascriverlo?</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="160"/>
-        <source>Overwrite</source>
-        <translation>Sovrascrivi</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="161"/>
-        <source>Cancel</source>
-        <translation>Cancella</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="184"/>
-        <source>Load script</source>
-        <translation>Carica script</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation>Errore</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation>Non è possibile aprire %1.
-</translation>
-    </message>
-</context>
-<context>
-    <name>ShowTextDialog</name>
-    <message>
-        <source>VYM - Info</source>
-        <translation type="obsolete">VIM - Info</translation>
-    </message>
-    <message>
-        <location filename="../showtextdialog.ui" line="50"/>
-        <source>Close</source>
-        <translation>Chiudi</translation>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation>Finestra di Dialogo</translation>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>SimpleScriptEditor</name>
     <message>
+        <location line="+14"/>
         <source>Save script</source>
-        <translation type="obsolete">Script salvato</translation>
+        <translation>Script salvato</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
         <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">Il file %1 
+        <translation>Il file %1 
 esiste già.
-Vuoi sovvrascriverlo?</translation>
+Vuoi sovrascriverlo?</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Overwrite</source>
-        <translation type="obsolete">Sovvrascrivi</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Cancella</translation>
-    </message>
-    <message>
-        <source>Load script</source>
-        <translation type="obsolete">Carica script</translation>
-    </message>
-    <message>
-        <source>Error</source>
-        <translation type="obsolete">Errore</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">Non è possibile aprire %1.
-</translation>
-    </message>
-    <message>
-        <source>Simple Script Editor</source>
-        <translation type="obsolete">Editor semplice di script</translation>
-    </message>
-    <message>
-        <source>Save as</source>
-        <translation type="obsolete">Salva come</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">Salva</translation>
-    </message>
-    <message>
-        <source>Qt::CTRL + Qt::Key_S</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_S</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <translation type="obsolete">Apri</translation>
-    </message>
-    <message>
-        <source>Qt::CTRL +Qt::Key_O</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_O</translation>
-    </message>
-    <message>
-        <source>Run</source>
-        <translation type="obsolete">Esegui</translation>
+        <translation>Sovrascrivi</translation>
     </message>
     <message>
-        <source>Qt::CTRL + Qt::Key_R</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_R</translation>
+        <location line="+1"/>
+        <source>Cancel</source>
+        <translation>Cancella</translation>
     </message>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Chiudi</translation>
+        <location line="-58"/>
+        <source>Load script</source>
+        <translation>Carica script</translation>
     </message>
 </context>
 <context>
-    <name>SlideControlWidget</name>
-    <message>
-        <source>Previous slide</source>
-        <comment>SlideControl widget</comment>
-        <translation type="obsolete">Diapositiva precedente</translation>
-    </message>
+    <name>ShowTextDialog</name>
     <message>
-        <source>Next slide</source>
-        <comment>SlideControl widget</comment>
-        <translation type="obsolete">Diapositiva successiva</translation>
+        <source>Close</source>
+        <translation type="vanished">Chiudi</translation>
     </message>
     <message>
-        <source>Take snapshot</source>
-        <comment>SlideControl widget</comment>
-        <translation type="obsolete">Fai uno scatto</translation>
+        <source>Dialog</source>
+        <translation type="vanished">Finestra di Dialogo</translation>
     </message>
 </context>
 <context>
     <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
-        <translation>Mappa corrente</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Task attive</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>Nuove task</translation>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation>Edita Intestazione</translation>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation>Prio</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation>Status</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translatorcomment>Potrebbe anche significare Durata?</translatorcomment>
         <translation>Età totale</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation>Età mod.</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation>Riposo</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation>Mappa</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translatorcomment>Lascio Task in luogo di compito</translatorcomment>
@@ -5621,438 +3639,251 @@ Vuoi sovvrascriverlo?</translation>
 <context>
     <name>TextEditor</name>
     <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">&amp;File</translation>
-    </message>
-    <message>
-        <source>Import</source>
-        <translation type="obsolete">Importa</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation>&amp;Importa...</translation>
     </message>
     <message>
-        <source>Export Note (HTML)</source>
-        <translation type="obsolete">Esporta Note (HTML)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>&amp;Esporta...</translation>
     </message>
     <message>
-        <source>Export Note As (HTML) </source>
-        <translation type="obsolete"> Esporta Note come (HTML)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation> Es&amp;porta Come... (HTML)</translation>
     </message>
     <message>
-        <source>Export Note As (ASCII) </source>
-        <translation type="obsolete">  Esporta Note come (ASCII)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation> Es&amp;porta Come... (ASCII)</translation>
     </message>
     <message>
-        <source>Print Note</source>
-        <translation type="obsolete">Stampa Nota</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>&amp;Stampa...</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">&amp;Modifica</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">Annulla</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation>&amp;Annulla</translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translation type="obsolete">Rifai</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>&amp;Rifai</translation>
     </message>
     <message>
-        <source>Select and copy all</source>
-        <translation type="obsolete">Seleziona e copia tutto</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>Seleziona e copia t&amp;utto</translation>
     </message>
     <message>
-        <source>Copy</source>
-        <translation type="obsolete">Copia</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>&amp;Copia</translation>
     </message>
     <message>
-        <source>Cut</source>
-        <translation type="obsolete">Taglia</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>&amp;Taglia</translation>
     </message>
     <message>
-        <source>Paste</source>
-        <translation type="obsolete">Incolla</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>I&amp;ncolla</translation>
     </message>
     <message>
-        <source>Delete all</source>
-        <translation type="obsolete">Cancella tutto</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation>Cance&amp;lla tutto</translation>
     </message>
     <message>
-        <source>Convert paragraphs to linebreaks</source>
-        <translation type="obsolete">Converti paragrafi in &apos;a capo&apos;</translation>
-    </message>
-    <message>
-        <source>&amp;Convert Paragraphs</source>
-        <translation type="obsolete">Converti para&amp;grafi</translation>
-    </message>
-    <message>
-        <source>Join all lines of a paragraph</source>
-        <translation type="obsolete">Unire tutte le linee del paragrafo</translation>
-    </message>
-    <message>
-        <source>&amp;Join lines</source>
-        <translation type="obsolete">&amp;Unisci linee</translation>
-    </message>
-    <message>
-        <source>&amp;Format</source>
-        <translation type="obsolete">&amp;Formato</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <translation type="obsolete">(mostra/nascondi) suggerimento caratteri per tutto il testo</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+81"/>
         <source>&amp;Font hint</source>
         <translation>&amp;Suggerimento Caratteri</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+22"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation>Font</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation>Formato</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>&amp;Colore...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>&amp;Grassetto</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>&amp;Corsivo</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>So&amp;ttolinea</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation>&amp;Sinistra</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>C&amp;entro</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>&amp;Destra</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>&amp;Giustificato</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>&amp;Preferenze</translation>
     </message>
     <message>
-        <source>Set fixed font</source>
-        <translation type="obsolete">Scegli Caratteri fissi</translation>
+        <location line="+22"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="543"/>
-        <source>Set &amp;fixed font</source>
-        <translation>Scegli Caratteri &amp;Fissi</translation>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set variable font</source>
-        <translation type="obsolete">Scegli Caratteri Variabili</translation>
+        <location line="-24"/>
+        <source>Set &amp;fixed font</source>
+        <translation>Scegli Caratteri &amp;Fissi</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>Scegli &amp;Caratteri Variabili</translation>
     </message>
     <message>
-        <source>Used fixed font by default</source>
-        <translation type="obsolete">Usa caretteri fissi come predefinito</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>carattere &amp;fisso predefinito</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
+        <location line="+198"/>
         <source>Export Note to single file</source>
         <translation>Esporta nota in un file singolo</translation>
     </message>
     <message>
-        <source>The file </source>
-        <translation type="obsolete"> Il file</translation>
-    </message>
-    <message>
-        <source> exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete"> esiste già. Vuoi sovvrascriverlo?</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>Sovvrascrivi</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Cancella</translation>
     </message>
     <message>
-        <source>Couldn&apos;t export note </source>
-        <translation type="obsolete"> Non è possibile esportare la nota</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>Esporta nota in un file singolo (ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="-250"/>
         <source>Note Editor</source>
         <translation>Editor di Note</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation>Editor di testo</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="-308"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation>Editor di testo</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation>Edi&amp;t_</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation>Suggerimenti per i font</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="+98"/>
         <source>Subs&amp;cript</source>
         <translation>Pedi&amp;ce</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="498"/>
+        <location line="+10"/>
         <source>Su&amp;perscript</source>
         <translation>A&amp;pice</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="-106"/>
         <source>F&amp;ormat</source>
         <translation>F&amp;ormattazione</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="-67"/>
         <source>Edit Actions</source>
         <translation>Edita Azioni</translation>
     </message>
     <message>
-        <source>Format Actions</source>
-        <translation type="obsolete">Formatta Azioni</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="-59"/>
         <source>Note Actions</source>
         <translation>Note Azioni</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location line="-244"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation>Pronto</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation>Nessun nome di file disponibile per questa nota.</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Editor di Note</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+85"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>&amp;Nota</translation>
     </message>
     <message>
-        <source>Import</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Importa</translation>
-    </message>
-    <message>
-        <source>Export Note (HTML)</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Esporta Note (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <comment>Status tip for Note Menu</comment>
-        <translation type="obsolete">Esporta Note come (HTML) </translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete"> Esporta Note come (ASCII) </translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Stampa Nota</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Annulla</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Rifai</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Seleziona e copia tutto</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Copia</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Taglia</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Incolla</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Cancella tutto</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">(mostra/nascondi) suggerimento caratteri per tutto il testo</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+140"/>
         <source>&amp;Richtext</source>
         <translation>&amp;Richtext</translation>
     </message>
     <message>
-        <source>Set fixed font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Scegli Caratteri fissi</translation>
-    </message>
-    <message>
-        <source>Set variable font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Scegli Caratteri Variabili</translation>
-    </message>
-    <message>
-        <source>Used fixed font by default</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Usa caretteri fissi come predefinito</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+354"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -6062,13 +3893,13 @@ esiste già.
 Vuoi sovvrascriverlo?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation>Non è possibile esportare la nota </translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
+        <location line="+86"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation>Stampa</translation>
@@ -6077,13 +3908,13 @@ Vuoi sovvrascriverlo?</translation>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation>Seleziona l&apos;oggetto superiore</translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation>Seleziona l&apos;oggetto inferiore</translation>
@@ -6092,197 +3923,179 @@ Vuoi sovvrascriverlo?</translation>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation>utente sconosciuto</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation>senza nome</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation>Errore Critico di Interpretazione</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation>Errore Critico di Caricamento</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation>Non si può creare unaa cartella temporanea prima di caricare
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation>Non è possibile trovare una mappa (*.xml) nell&apos;archivio .vym.
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+325"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation>utente sconosciuto</translation>
     </message>
     <message>
-        <source>Map seems to be already opened in another vym instance! It will be opened in readonly mode.
-
-Map is locked by &quot;%1&quot; on &quot;%2&quot;</source>
-        <translation type="vanished">Sembra che la mappa sia già aperta da un&apos;altra istanza di vym. Sarà riaperta in modalità di sola lettura.
-
-La mappa è bloccata da &quot;%1&quot; su &quot;%2&quot;</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation>Attenzione: La mappa è già aperta</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation>La mappa %1
-non usa il formato di compressione vym.
-Salvandolo in modo non compresso, salva anche le immagini 
-e i flag e quindi potrebbe sovrascrivere dei file in questa cartella
-Si vuole salvare la mappa</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
+        <location line="-365"/>
         <source>compressed (vym default)</source>
         <translation>compressi (predefiniti di vym)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation>non compresso</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation>Cancella</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation>Errore di Salvataggio</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation>%1
 non puo&apos; essere rimosso prima del salvataggio</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation>%1
 non puo&apos; essere rinominato prima del salvataggio</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation>Errore Critico di Salvataggio</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation>Non è possibile creare una cartella temporanea prima di salvare
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation>Immagini</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation>Tutto</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation>Carica immagine</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation>Salva immagine</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation>Il file %1 esiste già.
 Vuoi sovrascriverlo? </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation>Sovrascrivi</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation>Errore Critico</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation>Formato non supportato in  %1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation>Non è possibile salvare %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation>Errore critico nell&apos;importazione</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation>Non è possibile trovare la cartella %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation>Scegliere la struttura delle cartelle da importare</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -6291,17 +4104,29 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="+3052"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-3104"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
@@ -6310,13 +4135,13 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -6329,148 +4154,93 @@ Do you want to reload that map with the new file?</source>
 Vuoi ricaricare la mappa in un nuovo file?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation>Ricarica</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation>Ignora</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation>Attenzione</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation>La ripetizione falliva:
-%1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation>Salvataggio automatico disabilitato durante il cancella.</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation>Note</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation>Immagine</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation>Nuova Mappa</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation>Script abortito:
-%1</translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Inserisci URL:</translation>
-    </message>
-    <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Testo</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Foglio di calcolo</translation>
-    </message>
-    <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Documento di testo</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Immagini</translation>
-    </message>
-    <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">Imposta URL come file locale</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation>Contattante Bugzilla...</translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Collega ad un&apos;altra mappa vym</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+1273"/>
         <source>Export map as image</source>
         <translation>Esporta mappa come immagine</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation>Non è possibile salvare QImage %1 nel formato %2</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation>Esporta mappa come PDF</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation>Esporta mappa come SVG</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation>Esporta mappa come XML</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation>Esporta XML in una cartella</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation>Errore critico nell&apos;esportazione</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Esporta  in LaTex</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation>(ancora sperimentale)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation>Esporta come csv</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="-531"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+900"/>
         <source>Load background image</source>
         <translation>Carica immagine di sfondo</translation>
     </message>
@@ -6478,18 +4248,18 @@ Vuoi ricaricare la mappa in un nuovo file?</translation>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation>Errore Critico</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
         <translation>Non è possibile iniziare %1</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 non è terminato normalmente</translation>
     </message>
@@ -6497,23 +4267,13 @@ Vuoi ricaricare la mappa in un nuovo file?</translation>
 <context>
     <name>VymView</name>
     <message>
-        <source>TreeEditor</source>
-        <comment>Title of dockable editor widget</comment>
-        <translation type="obsolete">Editor di albero</translation>
-    </message>
-    <message>
-        <source>SlideEditor</source>
-        <comment>Title of dockable editor widget</comment>
-        <translation type="obsolete">Editor di Diapositiva</translation>
-    </message>
-    <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Editor di albero</translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>Editor di diapositiva</translation>
@@ -6522,39 +4282,83 @@ Vuoi ricaricare la mappa in un nuovo file?</translation>
 <context>
     <name>WarningDialog</name>
     <message>
-        <location filename="../warningdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Finestra di Dialogo</translation>
+        <translation type="vanished">Finestra di Dialogo</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation>Cancella</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation>Ok</translation>
+        <translation type="vanished">Ok</translation>
     </message>
     <message>
-        <source>VYM - Warning : Foo...</source>
-        <translation type="obsolete">VYM - Attenzione : Foo...</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="91"/>
         <source>showAgainBox</source>
-        <translation>mostraBoxAncora</translation>
+        <translation type="vanished">mostraBoxAncora</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation>Procedi</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation>Mostra ancora questo messaggio</translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">Attenzione</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Status</source>
+        <translation type="obsolete">Status</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Chiudi</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
index 0d821084f5b405ec5be03894a455da116c81e95f..f5062a9160744baf88cee97105447d4a58bda4b4 100644 (file)
@@ -4,19 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation>OK</translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+21"/>
         <source>Please use Settings-&gt;</source>
         <translation>設定を利用してください-></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="-3"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
         <translation>%1を開くためのビューワー·ソフトが見つかりませんでした。</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+3"/>
         <source>Set application to open an URL...</source>
         <translation>URLを開けるようにアプリを設定する...</translation>
     </message>
 </context>
+<context>
+    <name>AttributeDialog</name>
+    <message>
+        <source>Attributes</source>
+        <translation type="obsolete">アトリビュート</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">閉じる</translation>
+    </message>
+</context>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
         <source>Branch Property Editor</source>
-        <translation>ブランチ·プロパティ·エディタ</translation>
+        <translation type="vanished">ブランチ·プロパティ·エディタ</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
         <source>Frame</source>
-        <translation>フレーム</translation>
+        <translation type="vanished">フレーム</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
         <source>Geometry</source>
-        <translation>ジオメトリ</translation>
+        <translation type="vanished">ジオメトリ</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
         <source>No Frame</source>
-        <translation>フレーム無し</translation>
+        <translation type="vanished">フレーム無し</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation>長方形</translation>
+        <translation type="vanished">長方形</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
         <source>Rounded Rectangle</source>
-        <translation>丸めの長方形</translation>
+        <translation type="vanished">丸めの長方形</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
         <source>Ellipse</source>
-        <translation>楕円</translation>
+        <translation type="vanished">楕円</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
         <source>Cloud</source>
-        <translation>雲</translation>
+        <translation type="vanished">雲</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
         <source>Padding</source>
-        <translation>パディング</translation>
+        <translation type="vanished">パディング</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
         <source>Borderline width</source>
-        <translation>ボーダーラインの幅</translation>
+        <translation type="vanished">ボーダーラインの幅</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
         <source>Include children</source>
-        <translation>チャイルドブランチを含む</translation>
+        <translation type="vanished">チャイルドブランチを含む</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
         <source>Colors</source>
-        <translation>色</translation>
+        <translation type="vanished">色</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
         <source>Borderline color</source>
-        <translation>ボーダーラインの色</translation>
+        <translation type="vanished">ボーダーラインの色</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
         <source>Background color</source>
-        <translation>バックグラウンドの色</translation>
+        <translation type="vanished">バックグラウンドの色</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
         <source>Layout</source>
-        <translation>レイアウト</translation>
+        <translation type="vanished">レイアウト</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
         <source>Include images horizontally</source>
-        <translation>水平方向に画像を含める</translation>
+        <translation type="vanished">水平方向に画像を含める</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
         <source>Include images vertically</source>
-        <translation>垂直方向に画像を含める</translation>
+        <translation type="vanished">垂直方向に画像を含める</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
-        <source>Free positioning of children (experimental!)</source>
-        <translation type="unfinished"></translation>
+        <source>Task</source>
+        <translation type="obsolete">タスク</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
         <source>Link</source>
-        <translation>リンク</translation>
+        <translation type="vanished">リンク</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
         <source>Hide link if unselected</source>
-        <translation>選択されていない場合のリンクを非表示にする</translation>
+        <translation type="vanished">選択されていない場合のリンクを非表示にする</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
         <source>Attributes</source>
-        <translation>アトリビュート</translation>
+        <translation type="vanished">アトリビュート</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
         <source>+</source>
-        <translation>+</translation>
+        <translation type="vanished">+</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
         <source>-</source>
-        <translation>-</translation>
+        <translation type="vanished">-</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
         <translation>プロパティ·エディタ</translation>
     </message>
+    <message>
+        <location line="+22"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
+    <message>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">警告</translation>
+    </message>
+    <message>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
+    <message>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">ダイアログボックス</translation>
+    </message>
+    <message>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">ダイアログボックス</translation>
+    </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
+    <message>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
+    <message>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation>XLINKを編集</translation>
+        <translation type="vanished">XLINKを編集</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
         <source>Arrow begin:</source>
-        <translation>矢印の始まり:</translation>
+        <translation type="vanished">矢印の始まり:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation>XLinkの幅:</translation>
+        <translation type="vanished">XLinkの幅:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
         <source>Use color of heading</source>
-        <translation>ヘッダーの色を使用</translation>
+        <translation type="vanished">ヘッダーの色を使用</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
         <source>Line style:</source>
         <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation>ライン·スタイル:</translation>
+        <translation type="vanished">ライン·スタイル:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
         <source>Arrow end:</source>
-        <translation>矢印の終わり:</translation>
+        <translation type="vanished">矢印の終わり:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
         <source>Close</source>
-        <translation>閉じる</translation>
+        <translation type="vanished">閉じる</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
         <source>XLink color:</source>
-        <translation>Xlinkの色:</translation>
+        <translation type="vanished">Xlinkの色:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
         <source>Use as default:</source>
-        <translation>デフォルトとして使用:</translation>
+        <translation type="vanished">デフォルトとして使用:</translation>
+    </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
+    <message>
+        <source>Options</source>
+        <translation type="obsolete">オプション</translation>
+    </message>
+    <message>
+        <source>Image of map</source>
+        <translation type="obsolete">マップのイメージ</translation>
+    </message>
+    <message>
+        <source>Table of contents</source>
+        <translation type="obsolete">目次</translation>
+    </message>
+    <message>
+        <source>Task flags</source>
+        <translation type="obsolete">タスク·フラッグ</translation>
+    </message>
+    <message>
+        <source>General flags</source>
+        <translation type="obsolete">一般フラッグ</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">テキストに着色見出し</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="obsolete">マップ内の設定を保存</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="obsolete">キャンセル</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">エクスポート</translation>
     </message>
 </context>
 <context>
     <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
         <source>Export HTML</source>
-        <translation>HTMLエクスポート</translation>
+        <translation type="vanished">HTMLエクスポート</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
         <source>Export to directory:</source>
-        <translation>ディレクトリにエクスポート:</translation>
+        <translation type="vanished">ディレクトリにエクスポート:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
         <source>Browse</source>
-        <translation>ブラウズする</translation>
+        <translation type="vanished">ブラウズする</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation>オプション</translation>
+        <translation type="vanished">オプション</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
         <source>Image of map</source>
-        <translation>マップのイメージ</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
-        <source>Include images</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">マップのイメージ</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
         <source>Table of contents</source>
-        <translation>目次</translation>
+        <translation type="vanished">目次</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
         <source>Task flags</source>
-        <translation>タスク·フラッグ</translation>
+        <translation type="vanished">タスク·フラッグ</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
         <source>General flags</source>
-        <translation>一般フラッグ</translation>
+        <translation type="vanished">一般フラッグ</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
         <source>Number sections</source>
-        <translation>数字セクション</translation>
+        <translation type="vanished">数字セクション</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
         <source>Copy CSS from </source>
-        <translation>CSSをコピー</translation>
+        <translation type="vanished">CSSをコピー</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
         <source>Use CSS from</source>
-        <translation>CSSを使う</translation>
+        <translation type="vanished">CSSを使う</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation>テキストに着色見出し</translation>
+        <translation type="vanished">テキストに着色見出し</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation>マップ内の設定を保存</translation>
+        <translation type="vanished">マップ内の設定を保存</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation>スタイルシート</translation>
+        <translation type="vanished">スタイルシート</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation>スクリプト</translation>
+        <translation type="vanished">スクリプト</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation>エクスポート後:</translation>
+        <translation type="vanished">エクスポート後:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="vanished">キャンセル</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
         <source>Export</source>
-        <translation>エクスポート</translation>
+        <translation type="vanished">エクスポート</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -351,157 +440,205 @@ want to allow this in your system!</source>
 </translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation>VYM - ディレクトリにHTMLファイルをエクスポート</translation>
     </message>
 </context>
+<context>
+    <name>ExportXHTMLDialog</name>
+    <message>
+        <source>Export to directory:</source>
+        <translation type="obsolete">ディレクトリにエクスポート:</translation>
+    </message>
+    <message>
+        <source>Browse</source>
+        <translation type="obsolete">ブラウズする</translation>
+    </message>
+    <message>
+        <source>Options</source>
+        <translation type="obsolete">オプション</translation>
+    </message>
+    <message>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">テキストに着色見出し</translation>
+    </message>
+    <message>
+        <source>Save settings in map</source>
+        <translation type="obsolete">マップ内の設定を保存</translation>
+    </message>
+    <message>
+        <source>Stylesheets</source>
+        <translation type="obsolete">スタイルシート</translation>
+    </message>
+    <message>
+        <source>Scripts</source>
+        <translation type="obsolete">スクリプト</translation>
+    </message>
+    <message>
+        <source>After Export:</source>
+        <translation type="obsolete">エクスポート後:</translation>
+    </message>
+    <message>
+        <source>Cancel</source>
+        <translation type="obsolete">キャンセル</translation>
+    </message>
+    <message>
+        <source>Export</source>
+        <translation type="obsolete">エクスポート</translation>
+    </message>
+</context>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
         <source>VYM - Info</source>
-        <translation>VYM - 詳細</translation>
+        <translation type="vanished">VYM - 詳細</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
         <source>Map:</source>
-        <translation>マップ:</translation>
+        <translation type="vanished">マップ:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
         <source>Title:</source>
-        <translation>タイトル:</translation>
+        <translation type="vanished">タイトル:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
         <source>Author:</source>
-        <translation>著者:</translation>
+        <translation type="vanished">著者:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
         <source>Comment:</source>
-        <translation>コメント:</translation>
+        <translation type="vanished">コメント:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation>統計:</translation>
+        <translation type="vanished">統計:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation>キャンセル</translation>
+        <translation type="vanished">キャンセル</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation>閉じる</translation>
+        <translation type="vanished">閉じる</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation>検索:</translation>
     </message>
 </context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">新しいマップ</translation>
-    </message>
-</context>
 <context>
     <name>HeadingEditor</name>
     <message>
-        <location filename="../headingeditor.cpp" line="9"/>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <comment>Window caption</comment>
-        <translation>ヘッダー·エディタ</translation>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished">ヘッダー·エディタ</translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
     <message>
-        <location filename="../historywindow.ui" line="13"/>
         <source>Dialog</source>
-        <translation>ダイアログボックス</translation>
+        <translation type="vanished">ダイアログボックス</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="50"/>
         <source>Redo</source>
-        <translation>やり直し</translation>
+        <translation type="vanished">やり直し</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation>タイム</translation>
+        <translation type="vanished">タイム</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation>コメント</translation>
+        <translation type="vanished">コメント</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation>元に戻す</translation>
+        <translation type="vanished">元に戻す</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>閉じる</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation>アクション</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>コメント</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation>アクションを元に戻す</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation>現状態</translation>
     </message>
 </context>
+<context>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">警告</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">ダイアログボックス</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">追加</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">除去する</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>LineEditDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>ダイアログボックス</translation>
+        <translation type="vanished">ダイアログボックス</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
         <source>TextLabel</source>
-        <translation>テキストラベル</translation>
+        <translation type="vanished">テキストラベル</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation>キャンセル</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation>OK</translation>
     </message>
@@ -509,19 +646,16 @@ want to allow this in your system!</source>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">ダイアログボックス</translation>
+        <translation type="obsolete">ダイアログボックス</translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -529,440 +663,338 @@ want to allow this in your system!</source>
 <context>
     <name>Main</name>
     <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>色設定(&amp;C)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
         <source>Linkstyle Line</source>
         <translation>リンクスタイル:ライン</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Line</source>
         <translation>リンクスタイル:太ライン</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
+        <location line="+42"/>
         <source>Set &amp;Background Color</source>
         <translation>バックグラウンドの色設定(&amp;B)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
+        <location line="+14"/>
         <source>&amp;View</source>
         <translation>表示(&amp;V)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
+        <location line="+1867"/>
         <source>Overwrite</source>
         <translation>上書きする</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
         <source>Cancel</source>
         <translation>キャンセル</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
+        <location line="-432"/>
         <source>Open anyway</source>
         <translation>とにかく開いてみる</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
+        <location line="+73"/>
         <source>Create</source>
         <translation>新規作成</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
+        <location line="+86"/>
         <source>Load vym map</source>
         <translation>VYMマップを開く</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
+        <location line="+6"/>
         <source>Import: Add vym map to selection</source>
         <translation>インポート:選択にVYMマップを追加</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
+        <location line="+4"/>
         <source>Import: Replace selection with vym map</source>
         <translation>インポート:選択をVYMマップに置き換え</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
+        <location line="+613"/>
         <source>Save modified map before closing it</source>
         <translation>閉じる前に変更されたマップを保存</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
+        <location line="+1"/>
         <source>Discard changes</source>
         <translation>変更破棄</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation>スリープタイムに入る(YYYY-MM-DD or DD.MM[.YYYY])</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
+        <location line="+498"/>
         <source>Couldn&apos;t set sleep time to %1.
 </source>
         <translation>スリープタイムを%1に設定できませんでした。</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
+        <location line="+913"/>
         <source>VYM -Information:</source>
         <translation>VYM - 詳細:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
+        <location line="-2265"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
         <source>Critical Error</source>
         <translation>重大なエラー</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
+        <location line="+1669"/>
         <source>Export in last used format (%1) to: %2</source>
         <comment>status tip</comment>
         <translation>最後に使用され形式(%1)でエクスポート:%2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
+        <location line="+440"/>
         <source>Critcal error</source>
         <translation>重大なエラー</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
+        <location line="-3798"/>
         <source>Add</source>
         <translation>追加</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation>ノートエディタ</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
-        <translation>ヘッダー·エディタ</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="260"/>
+        <location line="-2909"/>
         <source>Search results list</source>
         <comment>FindResultWidget</comment>
         <translation>検索結果</translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="vanished">マップ(&amp;M)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
+        <location line="+3108"/>
         <source>File actions toolbar</source>
         <comment>Toolbar for file actions</comment>
         <translation>ファイル·アクション·ツールバー</translation>
     </message>
     <message>
-        <source>File</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">ファイル</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
+        <location line="-2171"/>
         <source>PDF%1</source>
         <comment>File export menu</comment>
         <translation>PDF%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
+        <location line="+5"/>
         <source>SVG%1</source>
         <comment>File export menu</comment>
         <translation>SVG%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
+        <location line="-63"/>
         <source>Repeat last export (%1)</source>
         <translation>最後に使ったエクスポートを再度使用(%1)</translation>
     </message>
     <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="vanished">KDE4ブックマーク</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
+        <location line="+2248"/>
         <source>Edit actions toolbar</source>
         <comment>Toolbar name</comment>
         <translation>編集アクションツールバー</translation>
     </message>
     <message>
-        <source>Edit</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">編集</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
+        <location line="-2017"/>
         <source>Add attribute</source>
         <translation>アトリビュートを追加します</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
+        <location line="+131"/>
         <source>&amp;Detach</source>
         <comment>Context menu</comment>
         <translation>切り離す(&amp;D)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
+        <location line="+1"/>
         <source>Detach branch and use as mapcenter</source>
         <comment>Context menu</comment>
         <translation>ブランチを切り離し、マップの中心として使用</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
+        <location line="+19"/>
         <source>Sort children backwards</source>
         <comment>Edit menu</comment>
         <translation>反対にチャイルドブランチを並び替える</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
+        <location line="+81"/>
         <source>Expand all branches</source>
         <comment>Edit menu</comment>
         <translation>すべてのブランチを展開</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
+        <location line="+8"/>
         <source>Expand one level</source>
         <comment>Edit menu</comment>
         <translation>ブランチレベルを一つ展開</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
+        <location line="-33"/>
         <source>Collapse one level</source>
         <comment>Edit menu</comment>
         <translation>ブランチレベルを一つ折りたたむ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
+        <location line="+13"/>
         <source>Collapse unselected levels</source>
         <comment>Edit menu</comment>
         <translation>選択外のレベルを折りたたむ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
+        <location line="-47"/>
         <source>Unscroll children</source>
         <comment>Edit menu</comment>
         <translation>チャイルドブランチのスクロールを固定</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
+        <location line="+5"/>
         <source>Grow selection</source>
         <comment>Edit menu</comment>
         <translation>選択範囲を拡大</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
+        <location line="+9"/>
         <source>Shrink selection</source>
         <comment>Edit menu</comment>
         <translation>選択範囲を縮小</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
+        <location line="+9"/>
         <source>Reset selection size</source>
         <comment>Edit menu</comment>
         <translation>選択範囲をリセット</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
+        <location line="+442"/>
         <source>Toggle target...</source>
         <comment>Edit menu</comment>
         <translation>ターゲットを切り替える...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
+        <location line="+10"/>
         <source>Goto target...</source>
         <comment>Edit menu</comment>
         <translation>ターゲットに移動...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
+        <location line="+9"/>
         <source>Move to target...</source>
         <comment>Edit menu</comment>
         <translation>ブランチをターゲットに移す...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
+        <location line="+63"/>
         <source>Find duplicate URLs</source>
         <comment>Edit menu</comment>
         <translation>重複するURLを探す</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
+        <location line="-452"/>
         <source>Open all URLs in subtree (including scrolled branches)</source>
         <comment>Edit menu</comment>
         <translation>スクロールされたブランチを含みサブツリー内のすべてのURLを開く</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
+        <location line="+17"/>
         <source>Extract URLs from note</source>
         <comment>Edit menu</comment>
         <translation>ノートからURLを抽出</translation>
     </message>
     <message>
-        <source>Get data from Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Novell Bugzillaからデータを取得</translation>
-    </message>
-    <message>
-        <source>Get data from Novell Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Novell Bugzillaからサブツリー用のデータを取得</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
+        <location line="+308"/>
         <source>Add timestamp</source>
         <comment>Edit menu</comment>
         <translation>タイムスタンプを追加</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
+        <location line="-11"/>
         <source>Remove children</source>
         <comment>Edit menu</comment>
         <translation>チャイルドブランチを削除</translation>
     </message>
     <message>
-        <source>View shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">ショートカットを表示</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation>ズームツールバー</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
+        <location line="+333"/>
         <source>Center on selection</source>
         <comment>View action</comment>
         <translation>選択を中心にする</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
+        <location line="+1195"/>
         <source>Editors toolbar</source>
         <comment>Editor Toolbar name</comment>
         <translation>エディタ用ツールバー</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
+        <location line="+12"/>
         <source>Modifier modes toolbar</source>
         <comment>Modifier Toolbar name</comment>
         <translation>編集モード用ツールバー</translation>
     </message>
     <message>
-        <source>Modes</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">モード</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation>URLをBugzillaへ</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
+        <location line="-888"/>
         <source>Map target</source>
         <comment>SystemFlag</comment>
         <translation>マップ·ターゲット</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
+        <location line="+899"/>
         <source>Standard Flags toolbar</source>
         <comment>Standard Flag Toolbar</comment>
         <translation>標準フラグツールバー</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
+        <location line="-874"/>
         <source>Status - ok,done</source>
         <comment>Standardflag</comment>
         <translation>ステータス - OK、終了</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
+        <location line="+4"/>
         <source>Status - work in progress</source>
         <comment>Standardflag</comment>
         <translation>ステータス - 作業進行中</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
+        <location line="+5"/>
         <source>Status - missing, not started</source>
         <comment>Standardflag</comment>
         <translation>ステータス - 不足、未開始</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation>フォワード</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation>flagrgetしない</translation>
-    </message>
-    <message>
-        <source>Network shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">ネットワークのショートカット</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
+        <location line="+434"/>
         <source>Automatic layout</source>
         <comment>Settings action</comment>
         <translation>自動レイアウト</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
+        <location line="+11"/>
         <source>Test</source>
         <translation>テスト</translation>
     </message>
     <message>
-        <source>Test shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">ショートカットのテスト</translation>
-    </message>
-    <message>
-        <source>Help shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">ヘルプのショートカット</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
+        <location line="+164"/>
         <source>Follow XLink</source>
         <comment>Context menu</comment>
         <translation>XLinkに従う</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
+        <location line="+7"/>
         <source>Follow XLink</source>
         <comment>Context menu name</comment>
         <translation>XLinkに従う</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation>名無し</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
+        <location line="+486"/>
         <source>The map %1
 is already opened.Opening the same map in multiple editors may lead 
 to confusion when finishing working with vym.Do you want to</source>
@@ -971,7 +1003,7 @@ to confusion when finishing working with vym.Do you want to</source>
 すると仕上げの段階で混乱するかもしれません</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
+        <location line="+75"/>
         <source>This map does not exist:
   %1
 Do you want to create a new one?</source>
@@ -980,962 +1012,1215 @@ Do you want to create a new one?</source>
 新しいものを作成しますか?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
+        <location line="+48"/>
         <source>Loading: %1</source>
         <comment>Progress dialog while loading maps</comment>
         <translation>ロード中: %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
+        <location line="+176"/>
         <source>Saved  %1</source>
         <translation>%1を保存しました</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
+        <location line="+4"/>
         <source>Couldn&apos;t save </source>
         <translation>保存できませんでした</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
+        <location line="+39"/>
+        <location line="+92"/>
         <source>The file %1
 exists already. Do you want to</source>
         <translation>%1は、既に
 存在します、どうします</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
+        <location line="+351"/>
         <source>The map %1 has been modified but not saved yet. Do you want to</source>
         <translation>マップ%1は変更されましたが保存されていません。保存しますか</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
+        <location line="+334"/>
         <source>Couldn&apos;t open map %1</source>
         <translation>マップ%1を開くことができませんでした</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
+        <location line="-2216"/>
         <source>Take care!</source>
         <comment>Standardflag</comment>
         <translation>注意してください!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
+        <location line="+5"/>
         <source>Really?</source>
         <comment>Standardflag</comment>
         <translation>本当に?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
+        <location line="-24"/>
         <source>This won&apos;t work!</source>
         <comment>Standardflag</comment>
         <translation>これは上手く行かないよ!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
+        <location line="+38"/>
         <source>Good</source>
         <comment>Standardflag</comment>
         <translation>良</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
+        <location line="+4"/>
         <source>Bad</source>
         <comment>Standardflag</comment>
         <translation>駄目</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
+        <location line="+48"/>
         <source>Time critical</source>
         <comment>Standardflag</comment>
         <translation>重要時</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
+        <location line="-58"/>
         <source>Idea!</source>
         <comment>Standardflag</comment>
         <translation>アイデア!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
+        <location line="+25"/>
         <source>Important</source>
         <comment>Standardflag</comment>
         <translation>重要</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
+        <location line="+5"/>
         <source>Unimportant</source>
         <comment>Standardflag</comment>
         <translation>どうでもいい</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
+        <location line="+15"/>
         <source>I like this</source>
         <comment>Standardflag</comment>
         <translation>アイ・ライク・イット</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
+        <location line="+3"/>
         <source>I do not like this</source>
         <comment>Standardflag</comment>
         <translation>嫌い</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
+        <location line="-26"/>
         <source>Dangerous</source>
         <comment>Standardflag</comment>
         <translation>危険</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
+        <location line="+30"/>
         <source>This will help</source>
         <comment>Standardflag</comment>
         <translation>これが役立ちます</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
+        <location line="+1554"/>
+        <location line="+54"/>
+        <location line="+1"/>
         <source>Import</source>
         <translation>重要</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
+        <location line="-3186"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
         <source>(still experimental)</source>
         <translation>(実験中)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
+        <location line="-3237"/>
         <source>&amp;Print</source>
         <translation>印刷(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
+        <location line="+3168"/>
+        <location line="+68"/>
         <source>Export to</source>
         <translation>エクスポート</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
+        <location line="-2733"/>
+        <location line="+2345"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <translation>%1を開くためのビューワー·ソフトが見つかりませんでした。</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="-2344"/>
+        <location line="+2345"/>
         <source>Please use Settings-&gt;</source>
         <translation>設定を利用してください-></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
+        <location line="-2344"/>
+        <location line="+1260"/>
         <source>Set application to open an URL</source>
         <translation>URLを開けるアプリを設定する</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="-12"/>
+        <location line="+1097"/>
         <source>Set application to open PDF files</source>
         <translation>PDFを開けるアプリを設定する</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
+        <location line="-4311"/>
         <source>Oh no!</source>
         <comment>Standardflag</comment>
         <translation>オゥ、ノーッ!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
+        <location line="+37"/>
         <source>Call...</source>
         <comment>Standardflag</comment>
         <translation>電話…</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
+        <location line="-20"/>
         <source>Very important!</source>
         <comment>Standardflag</comment>
         <translation>大変重要!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
+        <location line="+5"/>
         <source>Very unimportant!</source>
         <comment>Standardflag</comment>
         <translation>本当にどうでもいい!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
+        <location line="+24"/>
         <source>Rose</source>
         <comment>Standardflag</comment>
         <translation>薔薇</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
+        <location line="-3"/>
         <source>Surprise!</source>
         <comment>Standardflag</comment>
         <translation>サプライズ!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
+        <location line="-64"/>
         <source>Info</source>
         <comment>Standardflag</comment>
         <translation>詳細</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation>ブックマーク</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">オープンオフィスへのエクスポートのための構成が見つかりませんでした</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
-        <translation>スクリプトエディタ</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="314"/>
+        <location line="-2331"/>
         <source>Task list</source>
         <comment>TaskEditor</comment>
         <translation>タスク·リスト</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
+        <location line="-51"/>
         <source>Script Editor</source>
         <comment>ScriptEditor</comment>
         <translation>スクリプトエディタ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="124"/>
+        <location line="-152"/>
         <source>Main window</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="218"/>
+        <location line="+103"/>
         <source>Main window</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="219"/>
+        <location line="+1"/>
         <source>Map Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="220"/>
+        <location line="+1"/>
         <source>Text Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="967"/>
+        <location line="+830"/>
         <source>&amp;Map</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished">マップ(&amp;M)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="985"/>
+        <location line="+20"/>
         <source>&amp;Open...</source>
         <comment>File menu</comment>
         <translation>開く(&amp;O)…</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="992"/>
+        <location line="+8"/>
         <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">前セッションを復元する(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
+        <location line="+8"/>
         <source>Open Recent</source>
         <comment>File menu</comment>
         <translation>最近のファイルをオープン</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
+        <location line="+3"/>
         <source>&amp;Save...</source>
         <comment>File menu</comment>
         <translation>保存(&amp;S)…</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
+        <location line="+9"/>
         <source>Save &amp;As...</source>
         <comment>File menu</comment>
         <translation>新しい名前をつけて保存(&amp;As)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
+        <location line="+11"/>
         <source>Import</source>
         <comment>File menu</comment>
         <translation>インポート</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
+        <location line="+23"/>
         <source>Export</source>
         <comment>File menu</comment>
         <translation>エクスポート</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
+        <location line="+56"/>
         <source>Image%1</source>
         <comment>File export menu</comment>
         <translation>画像%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation type="unfinished">スプレッドシート</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
+        <location line="+47"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
+        <location line="+18"/>
         <source>&amp;Close Map</source>
         <comment>File menu</comment>
         <translation>マップを閉じる(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
+        <location line="+7"/>
         <source>E&amp;xit</source>
         <comment>File menu</comment>
         <translation>終了(&amp;x)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
+        <location line="+26"/>
         <source>&amp;Undo</source>
         <comment>Edit menu</comment>
         <translation>元に戻す(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
+        <location line="+11"/>
         <source>&amp;Redo</source>
         <comment>Edit menu</comment>
         <translation>やり直し(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
+        <location line="+11"/>
         <source>&amp;Copy</source>
         <comment>Edit menu</comment>
         <translation>コピー(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
+        <location line="+11"/>
         <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
         <translation>切り取り(&amp;t)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
+        <location line="+13"/>
         <source>&amp;Paste</source>
         <comment>Edit menu</comment>
         <translation>貼り付け(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
+        <location line="+13"/>
+        <location line="+10"/>
         <source>Delete Selection</source>
         <comment>Edit menu</comment>
         <translation>選択範囲を除去</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
+        <location line="+33"/>
         <source>Add branch as child</source>
         <comment>Edit menu</comment>
         <translation>ブランチをチャイルドブランチとして追加</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
+        <location line="+9"/>
         <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
         <translation>ブランチを追加(挿入)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
+        <location line="+10"/>
+        <location line="+10"/>
         <source>Add branch above</source>
         <comment>Edit menu</comment>
         <translation>ブランチを上位に追加</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
+        <location line="+10"/>
+        <location line="+9"/>
         <source>Add branch below</source>
         <comment>Edit menu</comment>
         <translation>ブランチを下位に追加</translation>
     </message>
     <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">上げる</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">下げる</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
+        <location line="+91"/>
         <source>Scroll branch</source>
         <comment>Edit menu</comment>
         <translation>ブランチをスクロール</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
+        <location line="+241"/>
         <source>Toggle task</source>
         <comment>Edit menu</comment>
         <translation>タスクを切り替える</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
+        <location line="+12"/>
         <source>Cycle task status</source>
         <comment>Edit menu</comment>
         <translation>タスクのステータスを循環する</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
+        <location line="+21"/>
         <source>Reset sleep</source>
         <comment>Task sleep</comment>
         <translation>スリープをリセット</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Sleep %1 days</source>
         <comment>Task sleep</comment>
         <translation>スリープ%1日間</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
+        <location line="-55"/>
         <source>Sleep %1 day</source>
         <comment>Task sleep</comment>
         <translation>スリープ%1日間</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
+        <location line="+66"/>
+        <location line="+11"/>
         <source>Sleep %1 weeks</source>
         <comment>Task sleep</comment>
         <translation>スリープ%1週間</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
+        <location line="+99"/>
         <source>Select</source>
         <comment>Select menu</comment>
         <translation>選択</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
+        <location line="+70"/>
+        <location line="+8"/>
         <source>Find...</source>
         <comment>Edit menu</comment>
         <translation>検索…</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
+        <location line="-462"/>
         <source>Open URL</source>
         <comment>Edit menu</comment>
         <translation>URLを開く</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
+        <location line="+9"/>
         <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
         <translation>新しいタブでURLを開く</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
+        <location line="+18"/>
         <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
         <translation>サブツリー内のすべてのURLを開く</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
+        <location line="+17"/>
         <source>Edit URL...</source>
         <comment>Edit menu</comment>
         <translation>URLを編集…</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
+        <location line="+18"/>
         <source>Use heading for URL</source>
         <comment>Edit menu</comment>
         <translation>URLの見出しを使用</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
+        <location line="+33"/>
         <source>Open linked map</source>
         <comment>Edit menu</comment>
         <translation>リンクされたマップを開く</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
+        <location line="+17"/>
         <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
         <translation>サブツリー内のすべてのVYMリンクを開く</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
+        <location line="+9"/>
         <source>Edit vym link...</source>
         <comment>Edit menu</comment>
         <translation>VYMリンクを編集...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
+        <location line="+9"/>
         <source>Delete vym link</source>
         <comment>Edit menu</comment>
         <translation>VYMリンクを除去</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
+        <location line="+9"/>
         <source>Hide in exports</source>
         <comment>Edit menu</comment>
         <translation>エクスポート用には非表示</translation>
     </message>
     <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">マップの詳細を編集…</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
+        <location line="+158"/>
         <source>Add map (insert)</source>
         <comment>Edit menu</comment>
         <translation>マップを追加(挿入)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
+        <location line="+7"/>
         <source>Add map (replace)</source>
         <comment>Edit menu</comment>
         <translation>マップを追加(交換)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
+        <location line="+7"/>
         <source>Save selection</source>
         <comment>Edit menu</comment>
         <translation>選択範囲を保存</translation>
     </message>
     <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">画像を追加…</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
+        <location line="+169"/>
         <source>F&amp;ormat</source>
         <comment>Format menu</comment>
         <translation>フォーマット(&amp;o)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
+        <location line="+7"/>
         <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
         <translation>色を選択(&amp;k)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
+        <location line="+10"/>
         <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
         <translation>ブランチに着色(&amp;b)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
+        <location line="+10"/>
         <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
         <translation>スブツリーに着色(&amp;t)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
+        <location line="+53"/>
         <source>Hide link if object is not selected</source>
         <comment>Branch attribute</comment>
         <translation>オブジェクトが選択されていない場合は、リンクを非表示</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
+        <location line="+6"/>
         <source>&amp;Use color of heading for link</source>
         <comment>Branch attribute</comment>
         <translation>見出しの色をリンクに使用(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
+        <location line="+89"/>
         <source>reset Zoom</source>
         <comment>View action</comment>
         <translation>ズームをリセット</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
+        <location line="-37"/>
         <source>Zoom in</source>
         <comment>View action</comment>
         <translation>ズームイン</translation>
     </message>
     <message>
-        <source>KDE 4 Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="vanished">KDE4ブックマーク</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
+        <location line="-1124"/>
         <source>Firefox Bookmarks</source>
         <comment>Import filters</comment>
         <translation>Firefoxブックマーク</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation>ディレクトリ%1をインポート</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
+        <location line="+32"/>
         <source>Webpage (HTML)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
-        <source>Text (ASCII)...</source>
+        <location line="+5"/>
+        <source>Confluence (HTML)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <source>Text with tasks</source>
+        <location line="+16"/>
+        <source>Text (ASCII)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
-        <source>Text (A&amp;O report)...</source>
-        <comment>Export format</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
-        <source>Move branch up</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
-        <source>Move branch down</source>
-        <comment>Edit menu</comment>
+        <location line="+5"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
+        <location line="+7"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
+        <location line="+7"/>
+        <source>Text (A&amp;O report)...</source>
+        <comment>Export format</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
+        <location line="+30"/>
+        <source>CSV...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
+        <location line="+232"/>
+        <source>Move branch up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
+        <location line="+13"/>
+        <source>Move branch down</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
+        <location line="+158"/>
+        <source>References Context menu</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
+        <location line="+94"/>
         <source>vymlinks - linking maps</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
+        <location line="+44"/>
         <source>Exports</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
+        <location line="+13"/>
         <source>Tasks</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished">タスク</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
+        <location line="+167"/>
         <source>Removing parts of a map</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
+        <location line="+4"/>
         <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
         <translation>ブランチのみを削除し、チャイルドブランチを残す</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
+        <location line="+20"/>
         <source>Various</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
+        <location line="+12"/>
         <source>Map properties...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
+        <location line="+30"/>
+        <source>Selections</source>
+        <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
-        <source>Selections</source>
-        <comment>Shortcuts</comment>
+        <location line="+32"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
+        <location line="+38"/>
         <source>Search functions</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
+        <location line="+29"/>
         <source>Formatting</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
+        <location line="+120"/>
         <source>Views</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
+        <location line="+7"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+18"/>
         <source>Zoom out</source>
         <comment>View action</comment>
         <translation>ズームアウト</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
+        <location line="+58"/>
         <source>Note editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
+        <location line="+12"/>
         <source>Heading editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
-        <source>Modifier modes</source>
-        <comment>Shortcuts</comment>
+        <location line="+50"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>着色のために修飾子を使用</translation>
+        <location line="+99"/>
+        <source>Modifier modes</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
+        <location line="+30"/>
         <source>Use modifier to draw xLinks</source>
         <comment>Mode modifier</comment>
         <translation>XLinkを描くため修飾子を使用</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
+        <location line="+425"/>
         <source>Check for release notes and updates</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
+        <location line="+7"/>
         <source>Set author for new maps</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
+        <location line="+7"/>
         <source>Set application to open pdf files</source>
         <comment>Settings action</comment>
         <translation>PDFを開けるアプリを設定する</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
+        <location line="+7"/>
         <source>Set application to open external links</source>
         <comment>Settings action</comment>
         <translation>外部リンクを開くためのアプリを設定する</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
+        <location line="+6"/>
         <source>Set application to zip/unzip files</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>追加した後のブランチを編集</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
+        <location line="+61"/>
         <source>Select branch after adding it</source>
         <comment>Settings action</comment>
         <translation>追加した後のブランチを選択</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
+        <location line="+9"/>
         <source>Select existing heading</source>
         <comment>Settings action</comment>
         <translation>既存の見出しを選択</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
+        <location line="+7"/>
         <source>Exclusive flags</source>
         <comment>Settings action</comment>
         <translation>独占フラグ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
+        <location line="+7"/>
         <source>Use hide flags</source>
         <comment>Settings action</comment>
         <translation>非表示ブラグを利用する</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
+        <location line="+17"/>
         <source>Number of visible parents in task editor</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
+        <location line="+7"/>
         <source>Number of visible parents in find results window</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
+        <location line="+54"/>
         <source>&amp;Help</source>
         <comment>Help menubar entry</comment>
         <translation>ヘルプ(&amp;H)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
+        <location line="+3"/>
         <source>Open VYM Documentation (pdf) </source>
         <comment>Help action</comment>
         <translation>VYMのドキュメンテーションを開く(PDF)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
+        <location line="+9"/>
         <source>Download and show release notes</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
+        <location line="+4"/>
         <source>Check, if updates are available</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
+        <location line="+9"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
         <source>Debug info</source>
         <comment>Option to show debugging info</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
+        <location line="+8"/>
         <source>About VYM</source>
         <comment>Help action</comment>
         <translation>VYMについて</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
+        <location line="-4"/>
         <source>About QT</source>
         <comment>Help action</comment>
         <translation>QTについて</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
+        <location line="-2870"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+829"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+564"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+277"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+556"/>
+        <source>Images</source>
+        <translation type="unfinished">画像</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">全て</translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-1554"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Firefoxブックマーク</translation>
+    </message>
+    <message>
+        <location line="+315"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+307"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+645"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+205"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">重要</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">戻る</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">ここを見て</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">危険</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">フラグ</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">ホーム</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">電話</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">音楽</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">メールボックス</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">パスワード</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">
+改善すべきポイント</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">止まれ</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">魔法</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">検討されるポイント</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">備忘</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">エクセレント</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Linux</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">スウィート</translation>
+    </message>
+    <message>
+        <location line="+162"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+82"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+98"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+42"/>
         <source>Remove</source>
         <comment>Context menu name</comment>
         <translation>除去する</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
+        <location line="+58"/>
         <source>XLinks</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
+        <location line="+3"/>
         <source>Edit XLink</source>
         <comment>Context menu name</comment>
         <translation>XLINKを編集</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
+        <location line="+17"/>
         <source>Save image</source>
         <comment>Context action</comment>
         <translation>画像を保存</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
+        <location line="+3952"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-3533"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+46"/>
+        <location line="+82"/>
         <source>Couldn&apos;t save %1,
 because of existing lockfile:
 
@@ -1943,736 +2228,652 @@ because of existing lockfile:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
-        <translation type="unfinished">%1を保存できませんでした</translation>
+        <location line="-45"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <source>Please allow vym to download release notes!</source>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+77"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+616"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">別のVYMマップへリンクっする</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1020"/>
+        <source>Load vym script</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+106"/>
+        <source>Information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <location line="+1086"/>
+        <source>Please allow vym to download release notes!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
+        <location line="+62"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
+        <location line="+1"/>
         <source>Do not allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
+        <location line="+5"/>
         <source>Thank you for enabling downloads!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Update information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
+        <location line="+4"/>
         <source>vym is up to date.</source>
         <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
+        <location line="+48"/>
         <source>Checking for updates...</source>
         <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="+30"/>
         <source>Please allow vym to check for updates!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="971"/>
+        <location line="-6314"/>
         <source>&amp;New map</source>
         <comment>File menu</comment>
         <translation>新しいマップを作成(&amp;N)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
+        <location line="-774"/>
         <source>Property Editor</source>
         <comment>PropertyEditor</comment>
         <translation>プロパティ·エディタ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="287"/>
+        <location line="+8"/>
         <source>History window</source>
         <comment>HistoryWidget</comment>
         <translation>履歴ウィンドウ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="978"/>
+        <location line="+775"/>
         <source>&amp;Copy to new map</source>
         <comment>File menu</comment>
         <translation>新しいマップにコピーする(&amp;C)</translation>
     </message>
     <message>
-        <source>&amp;Restore last session</source>
-        <comment>File menu</comment>
-        <translation type="vanished">前セッションを復元する(&amp;R)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
+        <location line="+219"/>
         <source>E&amp;dit</source>
         <comment>Edit menu</comment>
         <translation>編集(&amp;E)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
+        <location line="+95"/>
         <source>Add mapcenter</source>
         <comment>Canvas context menu</comment>
         <translation>新しいマップの中心を追加</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
+        <location line="+129"/>
         <source>Sort children</source>
         <comment>Edit menu</comment>
         <translation>チャイルドブランチを並び替える</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
+        <location line="+164"/>
         <source>Edit local URL...</source>
         <comment>Edit menu</comment>
         <translation>ローカルURLを編集…</translation>
     </message>
     <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Novell BugzillaへのURLを作成する</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Novell FATEへのURLを作成する</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
+        <location line="+52"/>
         <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation>リンクマップのタブをバックグラウンドで開く</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
+        <location line="+263"/>
         <source>Property window</source>
         <comment>Dialog to edit properties of selection</comment>
         <translation>プロパティ·ウィンドウ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
+        <location line="+56"/>
         <source>Select previous</source>
         <comment>Edit menu</comment>
         <translation>前の選択</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
+        <location line="+10"/>
         <source>Select next</source>
         <comment>Edit menu</comment>
         <translation>次の選択</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
+        <location line="+11"/>
         <source>Unselect all</source>
         <comment>Edit menu</comment>
         <translation>すべて選択解除</translation>
     </message>
     <message>
-        <source>Format shortcuts</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">ショートカットをフォーマット</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
+        <location line="+73"/>
         <source>Select default font</source>
         <comment>Branch attribute</comment>
         <translation>デフォルトのフォントを選択</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
+        <location line="+18"/>
         <source>Linkstyle Curve</source>
         <translation>リンクスタイル:カーブ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Curve</source>
         <translation>リンクスタイル:太いカーブ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
+        <location line="+25"/>
         <source>Set &amp;Link Color</source>
         <translation>リンクの色を設定(&amp;L)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
+        <location line="+5"/>
         <source>Set &amp;Selection Color</source>
         <translation>選択色を設定(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
+        <location line="+10"/>
         <source>Set &amp;Background image</source>
         <translation>バックグラウンドの画像設定(&amp;B)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
+        <location line="+11"/>
         <source>Toolbars</source>
         <comment>Toolbars overview in view menu</comment>
         <translation>ツールバー</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
+        <location line="+36"/>
         <source>Rotate counterclockwise</source>
         <comment>View action</comment>
         <translation>半時計回りに回す</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
+        <location line="+9"/>
         <source>Rotate rclockwise</source>
         <comment>View action</comment>
         <translation>時計回りに回す</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
+        <location line="+27"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+37"/>
         <source>Tree editor</source>
         <comment>View action</comment>
         <translation>ツリーエディタ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
+        <location line="+9"/>
         <source>Task editor</source>
         <comment>View action</comment>
         <translation>タスク・エディタ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
+        <location line="+11"/>
         <source>Slide editor</source>
         <comment>View action</comment>
         <translation>スライド·エディタ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
+        <location line="+9"/>
         <source>Script editor</source>
         <comment>View action</comment>
         <translation>スクリプトエディタ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
+        <location line="+17"/>
         <source>History Window</source>
         <comment>View action</comment>
         <translation>履歴ウィンドウ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
+        <location line="+14"/>
         <source>Antialiasing</source>
         <comment>View action</comment>
         <translation>アンチエイリアス</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
+        <location line="+7"/>
         <source>Smooth pixmap transformations</source>
         <comment>View action</comment>
         <translation>スムーズなピックスマップ変換</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
+        <location line="+10"/>
         <source>Next Map</source>
         <comment>View action</comment>
         <translation>次のマップ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
+        <location line="+7"/>
         <source>Previous Map</source>
         <comment>View action</comment>
         <translation>前のマップ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
+        <location line="+7"/>
         <source>Next slide</source>
         <comment>View action</comment>
         <translation>次のスライド</translation>
     </message>
     <message>
-        <source>Next slide</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">次のスライド</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
+        <location line="+7"/>
         <source>Previous slide</source>
         <comment>View action</comment>
         <translation>前のスライド</translation>
     </message>
     <message>
-        <source>Previous  slide</source>
-        <comment>Shortcut group</comment>
-        <translation type="vanished">前のスライド</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
+        <location line="+139"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
         <source>Note</source>
         <comment>SystemFlag</comment>
         <translation>ノート</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>URLから文書に</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
+        <location line="+9"/>
         <source>Link to another vym map</source>
         <comment>SystemFlag</comment>
         <translation>別のVYMマップへリンクっする</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
+        <location line="+3"/>
         <source>subtree is scrolled</source>
         <comment>SystemFlag</comment>
         <translation>ブツリーがスクロールされます</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
+        <location line="+4"/>
         <source>subtree is temporary scrolled</source>
         <comment>SystemFlag</comment>
         <translation>サブツリーは、一時的にスクロールされます</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
+        <location line="+3"/>
         <source>Hide object in exported maps</source>
         <comment>SystemFlag</comment>
         <translation>エクスポートしたマップ内のオブジェクトを非表示にする</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
+        <location line="+42"/>
         <source>I just love...</source>
         <comment>Standardflag</comment>
         <translation>大好き...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>重要</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>優先順位</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>戻る</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>ここを見て</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>危険</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>フラグ</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>ホーム</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>電話</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>音楽</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>メールボックス</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Maix</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>パスワード</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation>
-改善すべきポイント</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>止まれ</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>魔法</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>検討されるポイント</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>備忘</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>エクセレント</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>スウィート</translation>
-    </message>
-    <message>
-        <source>Flags toolbar</source>
-        <translation type="vanished">フラグ·ツールバー</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
+        <location line="+258"/>
         <source>Settings</source>
         <translation>設定</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
+        <location line="+49"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
         <source>Set path for macros</source>
         <comment>Settings action</comment>
         <translation>マクロのパスの設定</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
+        <location line="+4"/>
         <source>Set number of undo levels</source>
         <comment>Settings action</comment>
         <translation>元に戻す可能回数を設定</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
+        <location line="+7"/>
         <source>Autosave</source>
         <comment>Settings action</comment>
         <translation>自動保存</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
+        <location line="+6"/>
         <source>Autosave time</source>
         <comment>Settings action</comment>
         <translation>自動保存の街時間</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
+        <location line="+12"/>
         <source>Write backup file on save</source>
         <comment>Settings action</comment>
         <translation>保存時にバックアップファイルを書く</translation>
     </message>
     <message>
-        <source>Task editor: Set number of parents</source>
-        <comment>Settings action</comment>
-        <translation type="vanished">タスク・エディタ:親ブランチの数を設定</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
+        <location line="+65"/>
         <source>Animation</source>
         <comment>Settings action</comment>
         <translation>アニメーション</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
+        <location line="+53"/>
         <source>Open VYM example maps </source>
         <comment>Help action</comment>
         <translation>VYMのマップ例を開く</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
+        <location line="+14"/>
         <source>Show keyboard shortcuts</source>
         <comment>Help action</comment>
         <translation>キーボードのショートカットを表示</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
+        <location line="+68"/>
         <source>Tasks</source>
         <comment>Context menu</comment>
         <translation>タスク</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
+        <location line="+20"/>
         <source>References (URLs, vymLinks, ...)</source>
         <comment>Context menu name</comment>
         <translation>参考リンク(URLs, vymLinks, ...)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
+        <location line="+157"/>
         <source>Undo and clipboard toolbar</source>
         <comment>Toolbar for redo/undo and clipboard</comment>
         <translation>元に戻すとクリップボード·ツールバー</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
+        <location line="+29"/>
         <source>Selection toolbar</source>
         <comment>Toolbar name</comment>
         <translation>選択ツールバー</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
+        <location line="+9"/>
         <source>URLs and vymLinks toolbar</source>
         <comment>Toolbar for URLs and vymlinks</comment>
         <translation>URLとvymLinksのツールバー</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
+        <location line="+6"/>
         <source>Colors toolbar</source>
         <comment>Colors toolbar name</comment>
         <translation>色のツールバー</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
+        <location line="+27"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+21"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+454"/>
         <source>or</source>
         <comment>File Dialog</comment>
         <translation>または</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
+        <location line="+143"/>
         <source>Save map as</source>
         <translation>マップを名前をつけて保存</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation>Freemind mapを開く</translation>
+        <location line="+63"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+129"/>
+        <source>Firefox Bookmarks</source>
+        <translation type="unfinished">Firefoxブックマーク</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
+        <location line="+118"/>
         <source>Export as CSV</source>
         <translation>CSVファイルとしてエクスポート</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
+        <location line="+58"/>
         <source>Couldn&apos;t find configuration for export to LibreOffice
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
+        <location line="+266"/>
         <source>Enter URL:</source>
         <translation>URLを入力:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
+        <location line="+23"/>
         <source>HTML</source>
         <comment>Filedialog</comment>
         <translation>HTML</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
+        <location line="+1"/>
         <source>Text</source>
         <comment>Filedialog</comment>
         <translation>テキスト</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
+        <location line="+1"/>
         <source>Spreadsheet</source>
         <comment>Filedialog</comment>
         <translation>スプレッドシート</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
+        <location line="+1"/>
         <source>Textdocument</source>
         <comment>Filedialog</comment>
         <translation>テキスト文書</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
+        <location line="+1"/>
         <source>Images</source>
         <comment>Filedialog</comment>
         <translation>画像</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
+        <location line="+4"/>
         <source>Set URL to a local file</source>
         <translation>URLをローカルファイルに設定</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation>別のマップへのリンク</translation>
+        <location line="+276"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
+        <location line="+48"/>
         <source>%1 items on map
 </source>
         <comment>Info about map</comment>
         <translation>マップ上には%1アイテムあります</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
+        <location line="+21"/>
         <source>branches</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
-        <source>notes</source>
+        <location line="+3"/>
+        <source>tasks total</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
-        <source>images</source>
+        <location line="+3"/>
+        <source>tasks in map</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
+        <location line="+1"/>
+        <source>notes</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
-        <source>slides</source>
+        <location line="+1"/>
+        <source>images</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
-        <source>xLinks</source>
+        <location line="+3"/>
+        <source>slides</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
+        <location line="+2"/>
+        <source>xLinks</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation>VYMマクロのディレクトリ:</translation>
+        <location line="+673"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
+        <location line="+174"/>
         <source>Number of undo/redo levels:</source>
         <translation>元に戻す / やり直しの可能回数:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
+        <location line="+5"/>
         <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
         <translation>元に戻す / やり直しの可能回数が&quot;%1&quot;に設定変更されました</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
+        <location line="+40"/>
         <source>Number of seconds before autosave:</source>
         <translation>自動保存するまでの秒数:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
+        <location line="+11"/>
         <source>Set author for new maps (used in lockfile)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
+        <location line="+3"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
+        <location line="+42"/>
         <source>Number of parents shown in find results:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
+        <location line="+11"/>
         <source>Number of parents shown for a task:</source>
         <translation>タスクに表示できる親ブランチの数:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
+        <location line="-2404"/>
         <source>(readonly)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
+        <location line="+2857"/>
         <source>History for %1</source>
         <comment>Window Caption</comment>
         <translation>%1の履歴</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
+        <location line="+464"/>
         <source>Couldn&apos;t find the documentation %1 in:
 %2</source>
         <translation>%1のドキュメンテーションが下記のロケーションで見つかりませんでした:
 %2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
+        <location line="+31"/>
         <source>Load vym example map</source>
         <translation>ロードVYMのマップ例</translation>
     </message>
@@ -2680,152 +2881,165 @@ because of existing lockfile:
 <context>
     <name>MapEditor</name>
     <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation>ヘッダーの編集</translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>MapEditor</comment>
-        <translation type="vanished">保存</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="510"/>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
         <translation>VYMマップを印刷する</translation>
     </message>
+    <message>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation>ノートエディタ</translation>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished">ノートエディタ</translation>
     </message>
 </context>
 <context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="vanished">重大なエラー</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="vanished">%1を起動できません</translation>
-    </message>
+    <name>QObject</name>
     <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="vanished">%1が正常に終了しませんでした</translation>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>QObject</name>
     <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>重大なエラー(エクスポート)</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation>%1を書き込めませんでした</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location filename="../src/export-base.cpp" line="+124"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation>%1をエクスポートすると、既存のファイルが上書きされます:
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation>警告:ファイルの上書き</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
         <source>Could not export as ASCII to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-8"/>
         <source>Export as CSV</source>
         <translation>CSVファイルとしてエクスポート</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation>内容:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation>エクスポートが中止されました。</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation>フラグ用のディレクトリを作成します:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation>%1を作成できませんでした</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="-101"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation>重要</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location line="-367"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+190"/>
         <source>Could not find stylesheet %1</source>
         <translation>スタイルシート%1が見つかりませんでした</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation>エラー</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -2835,219 +3049,193 @@ because of existing lockfile:
 コピーできませんでした</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation>%1を%2にコピーできませんでした</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation>HTMLファイルを保存中です:</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>エクスポートが失敗しました。</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation>マップ内のオブジェクトがありません!</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation>&quot;%1&quot;の設定が読み込めません</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>&quot;%1&quot;を%2で確認
 してください</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>%1を読み込めませんでした</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>重大なエラー</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation>保存する前に、既存のファイルを移動できませんでした。</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>データ圧縮のためのジップを起動できませんでした。</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>ジップが正常に終了しませんでした</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation>%1のファイル名をを%2に変更できませんでした</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation>%1を保存しましたが、%2を削除できませんでした</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>データを解凍できませんでした。</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>解凍が正常に終了しませんでした</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation>%1を起動できませんでした</translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1が正常に終了しませんでした</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="90"/>
+        <location line="-389"/>
         <source>Overwrite</source>
         <translation>上書き</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="91"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>キャンセル</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>ブックマーク%1をエクスポートすると、既存の
-ブックマークが上書きされます。</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>警告:ブックマーク%1の上書き</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>スクリプト %1が見つかりませんでした。
-ブックマークの変更をブラウザに通知します。</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>エラー</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>テンポラリ·ディレクトリにアクセスできませんでした</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation>ASCIIとしてエクスポート</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation>(実験中です)</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -3055,157 +3243,208 @@ Do you risk to overwrite its contents?</source>
 内容を上書きしますか?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation>警告:バージョンに問題があります</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <translation>&lt;h3&gt;マップがVYMより新しい様です。&lt;/h3&gt;&lt;p&gt;あなたの開こうとしているマップはVYMバージョン·%1です。現在使っているVYMのバージョンは%2です。OKを押したあとに問題が生じればVYMをアップグレードしてみてください。&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
 </source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>Bugzillaのクライアントが見つかりませんでした。openSUSE用のは、rootとして実行することによってインストールすることができます。:</translation>
+        <comment>Macros::pathExists</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>設定を使用してください - &gt;</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
+        <translation>VYMマクロのディレクトリを設定</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation>別の方法としては、リポジトリを追加しYaSTを使用して、
-BugzillaのアクセスのためのPerlモジュールをインストールできます</translation>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
-        <translation>警告:Bugzillaのクライアントが見つかりませんでした</translation>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
  </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
+        <location line="+62"/>
+        <location line="+15"/>
         <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation>”%1”を開くことができませんでした:
-%2。</translation>
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
-        <translation>警告:バージョンに問題があります</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
-        <translation>&lt;h3&gt;マップがVYMより新しい様です。&lt;/h3&gt;&lt;p&gt;あなたの開こうとしているマップはVYMバージョン·%1です。現在使っているVYMのバージョンは%2です。OKを押したあとに問題が生じればVYMをアップグレードしてみてください。&lt;/p&gt;</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation>%1のマクロがみつかりませんでした。</translation>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
-        <translation>設定を使用してください - &gt;</translation>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
-        <translation>VYMマクロのディレクトリを設定</translation>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
-        <translation>%1を保存できませんでした</translation>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="-3021"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
         <source>Form</source>
-        <translation>フォーム</translation>
+        <translation type="vanished">フォーム</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
-        <translation>タブ1</translation>
+        <source>Reload</source>
+        <translation type="obsolete">再ロード</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
         <source>Save to selected slide</source>
-        <translation>選択したスライドに保存</translation>
+        <translation type="vanished">選択したスライドに保存</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
         <source>Run</source>
-        <translation>実行</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
-        <translation>タブ2</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
-        <translation>使用中のキー:</translation>
+        <translation type="vanished">実行</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="131"/>
         <source>Load</source>
-        <translation>ロード</translation>
+        <translation type="vanished">ロード</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
         <source>Save</source>
-        <translation>保存</translation>
+        <translation type="vanished">保存</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
+        <location line="-42"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation>スライド</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation>マクロ</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation>保存</translation>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
+        <location line="+31"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation>スライドにスクリプトを保存するためのモデルを取得できませんでした!</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation>スライドにスクリプトを保存するためのスライドが見つかりませんでした!</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
         <source>Save script</source>
         <translation>スクリプトを保存</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="155"/>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -3215,113 +3454,124 @@ Do you want to overwrite it?</source>
 上書きしますか?</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
+        <location line="+5"/>
         <source>Overwrite</source>
         <translation>上書き</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="161"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>キャンセル</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="184"/>
+        <location line="-58"/>
         <source>Load script</source>
         <translation>スクリプトをロード</translation>
     </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation>エラー</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation>%1を開くことができませんでした。</translation>
-    </message>
 </context>
 <context>
     <name>ShowTextDialog</name>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>ダイアログボックス</translation>
+        <translation type="vanished">ダイアログボックス</translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="50"/>
         <source>Close</source>
-        <translation>閉じる</translation>
+        <translation type="vanished">閉じる</translation>
     </message>
 </context>
 <context>
     <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
-        <translation>現在のマップ</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
-        <translation>アクティブ·タスク</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation>ヘッダーの編集</translation>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation>優先順位</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation>ステータス</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation>合計時間</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation>時間変更</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation>スリープ</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation>マップ</translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation>タスク</translation>
@@ -3330,255 +3580,257 @@ Do you want to overwrite it?</source>
 <context>
     <name>TextEditor</name>
     <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation>インポート(&amp;I)...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>エクスポート(&amp;E)...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>HTMLとしてエクスポート(&amp;A)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>ASCIIとしてエクスポート(&amp;A)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>印刷(&amp;P)…</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">編集(&amp;E)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation>元に戻す(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>やり直し(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>選択して全てコピー(&amp;a)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>コピー(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>切り取り(&amp;t)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>貼り付け(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation>全て削除(&amp;D)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="-45"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation>フォント·ヒント</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+6"/>
         <source>&amp;Font hint</source>
         <translation>フォント·ヒント(&amp;F)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation>リッチテキスト(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation>フォント</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation>フォーマット</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>色(&amp;C)…</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>ボールド(&amp;B)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>イタリック(&amp;I)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>下線(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation>左寄り(&amp;L)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>中心(&amp;e)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>右より(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>両端揃え(&amp;J)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>設定(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="543"/>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation>固定フォントを設定(&amp;f)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>変化フォントを設定(&amp;v)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>固定フォントはデフォルト(&amp;f)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
+        <location line="+198"/>
         <source>Export Note to single file</source>
         <translation>ノートを単一のファイルにエクスポート</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>上書きする</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>キャンセル</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>ノートを単一のファイルにエクスポート (ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
+        <location line="+45"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation>印刷</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="-385"/>
         <source>Subs&amp;cript</source>
         <translation>添字(&amp;c)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation>テキストエディタ</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="498"/>
+        <location line="+10"/>
         <source>Su&amp;perscript</source>
         <translation>スーパースクリプト(&amp;p)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="+80"/>
         <source>Note Editor</source>
         <translation>ノートエディタ</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="-186"/>
         <source>F&amp;ormat</source>
         <translation>フォーマット(&amp;o)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="-67"/>
         <source>Edit Actions</source>
         <translation>アクションを編集</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="-59"/>
         <source>Note Actions</source>
         <translation>アクションをノート</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location line="-244"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation>準備完了</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation>このノートに利用可能なファイル名がありません。</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+85"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>ノート(&amp;N)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+295"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+194"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -3588,7 +3840,7 @@ Do you want to overwrite it?</source>
 上書きしますか?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation>ノートをエクスポートできませんでした</translation>
@@ -3597,13 +3849,13 @@ Do you want to overwrite it?</source>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation>上部のオブジェクトを選択する</translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation>下のオブジェクトを選択する</translation>
@@ -3612,187 +3864,176 @@ Do you want to overwrite it?</source>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation>名無し</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation>重大な解析エラー</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation>重大な読み込みエラー</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation>テンポラリ·ディレクトリをロードする前に作成できませんでした</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation>.vymアーカイブ内のマップ(*.xmlファイル)が見つかりませんでした。</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+325"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation>マップ%1
-は圧縮VYMファイル形式を使用していませんでした。
-圧縮抜きの書き込みは、画像やフラッグを
-指定されたディレクトリ内のファイルに上書きする可能性があります。
-
-マップを書き込みますか</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
+        <location line="-365"/>
         <source>compressed (vym default)</source>
         <translation>圧縮(VYMデフォルト)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation>圧縮抜き</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation>キャンセル</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation>保存エラー</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation>%1
 を保存前に削除できませんでした</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation>%1
 を保存前に改名できませんでした</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation>テンポラリ·ディレクトリを保存する前に作成できませんでした</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation>画像</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation>全て</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation>画像をロード</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation>画像を保存</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation>%1は、既に存在します。
 上書きしますか?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation>上書き</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation>重大なエラー</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation>%1はサポートされていないフォーマットです</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation>%1を保存できませんでした</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation>重大なエラー(インポート)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation>ディレクトリ%1がみつかりませんでした</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation>インポートするディレクトリ構造を選択してください</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -3801,30 +4042,30 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="-41"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -3837,127 +4078,105 @@ Do you want to reload that map with the new file?</source>
 新しいファイルと、そのマップを再ロードしますか?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation>再ロード</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation>無視</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation>やり直し失敗:
-%1</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation>自動保存は、元に戻す時には無効になっています。</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
-        <source>Export map as SVG</source>
+        <location line="+2713"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
-        <source>Export map as XML</source>
+        <location line="+98"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Undo failed:
-%1</source>
-        <translation type="vanished">元に戻すこと失敗:
-%1</translation>
+        <location line="+334"/>
+        <source>Export map as SVG</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Export map as XML</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="-2430"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation>ノート</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation type="unfinished">新しいマップ</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
+        <location line="+950"/>
+        <source>Contacting Jira...</source>
         <comment>VymModel</comment>
-        <translation>Bugzillaのに問い合わせ...</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation>スクリプト中断:
-%1</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+323"/>
         <source>Export map as image</source>
         <translation>画像としてマップをエクスポート</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation>QImage %1を %2のフォーマットで保存できませんでした</translation>
     </message>
     <message>
-        <source>Exported: </source>
-        <comment>Export confirmation</comment>
-        <translation type="vanished">エクスポート済:</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation>PDFとしてマップをエクスポート</translation>
     </message>
     <message>
-        <source>Export map as scalable vector graphic</source>
-        <translation type="vanished">SVGとしてマップをエクスポート</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+95"/>
         <source>Export XML to directory</source>
         <translation>ディレクトリにXMLをエクスポート</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation>重大なエラー(エクスポート)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation>(実験用)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation>CSVファイルとしてエクスポート</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="+369"/>
         <source>Load background image</source>
         <translation>背景画像をロード</translation>
     </message>
@@ -3965,18 +4184,18 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation type="unfinished">重大なエラー</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">%1を起動できませんでした</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished">%1が正常に終了しませんでした</translation>
     </message>
@@ -3984,13 +4203,13 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>ツリーエディタ</translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation>スライド·エディタ</translation>
@@ -3999,35 +4218,83 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>WarningDialog</name>
     <message>
-        <location filename="../warningdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>ダイアログボックス</translation>
+        <translation type="vanished">ダイアログボックス</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="91"/>
         <source>showAgainBox</source>
-        <translation>showAgainBox</translation>
+        <translation type="vanished">showAgainBox</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation>キャンセル</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation>OK</translation>
+        <translation type="vanished">OK</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation>続行</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation>今後このメッセージを表示</translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">警告</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Status</source>
+        <translation type="obsolete">ステータス</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">閉じる</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
index 3d07a82fe0ed27fc630b1aecf0fcdeef2907480e..c5ffd19d736edf09d6109309e753590c1ad65aec 100644 (file)
@@ -4,19 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation>OK</translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+21"/>
         <source>Please use Settings-&gt;</source>
         <translation>Por favor use Configurações-&gt;</translation>
     </message>
     <message>
-        <source>Set application to open an URL</source>
-        <translation type="obsolete">Definir aplicação externa para abrir URL</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="-3"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>Aviso</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
@@ -48,7 +44,7 @@
 </translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+3"/>
         <source>Set application to open an URL...</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
-        <source>Branch Property Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
-        <source>Frame</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
-        <source>Geometry</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
-        <source>No Frame</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation type="unfinished">Retângulo</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
-        <source>Rounded Rectangle</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Retângulo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
-        <source>Ellipse</source>
-        <translation type="unfinished"></translation>
+        <source>Include images horizontally</source>
+        <translation type="obsolete">Incluir imagens horizontalmente</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
-        <source>Cloud</source>
-        <translation type="unfinished"></translation>
+        <source>Include images vertically</source>
+        <translation type="obsolete">Incluir imagens verticalmente</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
-        <source>Padding</source>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
+        <source>Property Editor</source>
+        <comment>Window caption</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
-        <source>Borderline width</source>
+        <location line="+22"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
-        <source>Include children</source>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
-        <source>Colors</source>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
-        <source>Borderline color</source>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
-        <source>Background color</source>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
-        <source>Layout</source>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
-        <source>Include images horizontally</source>
-        <translation type="unfinished">Incluir imagens horizontalmente</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
-        <source>Include images vertically</source>
-        <translation type="unfinished">Incluir imagens verticalmente</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
-        <source>Free positioning of children (experimental!)</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">Aviso</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
-        <source>Link</source>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
-        <source>Hide link if unselected</source>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
-        <source>Attributes</source>
-        <translation type="unfinished"></translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Diálogo</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
-        <source>+</source>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
-        <source>-</source>
-        <translation type="unfinished"></translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Diálogo</translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Retângulo</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Incluir imagens horizontalmente</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Incluir imagens verticalmente</translation>
-    </message>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Fechar</translation>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation type="unfinished">Aviso</translation>
     </message>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation>Editar Ligação Externa</translation>
+        <translation type="vanished">Editar Ligação Externa</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
-        <source>Arrow begin:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation>Largura:</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
-        <source>Use color of heading</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
-        <source>Line style:</source>
-        <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
-        <source>Arrow end:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Largura:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
         <source>Close</source>
-        <translation type="unfinished">Fechar</translation>
-    </message>
-    <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">Usar cor do tópico</translation>
+        <translation type="obsolete">Fechar</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
         <source>XLink color:</source>
-        <translation>Cor: </translation>
+        <translation type="vanished">Cor: </translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
         <source>Use as default:</source>
-        <translation>Definir como padrão:</translation>
-    </message>
-    <message>
-        <source>Quit and delete XLink</source>
-        <translation type="obsolete">Sair e Apagar Ligação Externa</translation>
-    </message>
-    <message>
-        <source>Ok</source>
-        <translation type="obsolete">OK</translation>
+        <translation type="vanished">Definir como padrão:</translation>
     </message>
 </context>
 <context>
-    <name>ExportHTMLDialog</name>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
-        <source>Export HTML</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
-        <source>Export to directory:</source>
-        <translation type="unfinished">Exportar para diretório:</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
-        <source>Browse</source>
-        <translation type="unfinished">Navegar</translation>
-    </message>
+    <name>ExportConfluenceDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation type="unfinished">Opções</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
-        <source>Image of map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
-        <source>Include images</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Opções</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
-        <source>Table of contents</source>
-        <translation type="unfinished"></translation>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Tópicos com cores</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
-        <source>Task flags</source>
-        <translation type="unfinished"></translation>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Salvar configurações no mapa</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
-        <source>General flags</source>
-        <translation type="unfinished"></translation>
+        <source>Cancel</source>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
-        <source>Number sections</source>
-        <translation type="unfinished"></translation>
+        <source>Export</source>
+        <translation type="obsolete">Exportar</translation>
     </message>
+</context>
+<context>
+    <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
-        <source>Copy CSS from </source>
-        <translation type="unfinished"></translation>
+        <source>Export to directory:</source>
+        <translation type="obsolete">Exportar para diretório:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
-        <source>Use CSS from</source>
-        <translation type="unfinished"></translation>
+        <source>Browse</source>
+        <translation type="obsolete">Navegar</translation>
     </message>
     <message>
-        <source>Include image</source>
-        <translation type="obsolete">Incluir imagem</translation>
+        <source>Options</source>
+        <translation type="obsolete">Opções</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation type="unfinished">Tópicos com cores</translation>
+        <translation type="obsolete">Tópicos com cores</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation type="unfinished">Salvar configurações no mapa</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">Visualizar saída dos scripts externos</translation>
+        <translation type="obsolete">Salvar configurações no mapa</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation type="unfinished">Estilos de página</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
+        <translation type="obsolete">Estilos de página</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation type="unfinished">Scripts</translation>
+        <translation type="obsolete">Scripts</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation type="unfinished">Pós-exportação:</translation>
+        <translation type="obsolete">Pós-exportação:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation type="unfinished">Cancelar</translation>
+        <translation type="obsolete">Cancelar</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
         <source>Export</source>
-        <translation type="unfinished">Exportar</translation>
+        <translation type="obsolete">Exportar</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation type="unfinished">Aviso</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -401,7 +287,7 @@ want to allow this in your system!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation type="unfinished">VYM - Exportar HTML para diretório</translation>
     </message>
@@ -440,10 +326,6 @@ want to allow this in your system!</source>
         <source>Save settings in map</source>
         <translation type="obsolete">Salvar configurações no mapa</translation>
     </message>
-    <message>
-        <source>showWarnings e.g. if directory is not empty</source>
-        <translation type="obsolete">Mostrar avisos, ex: se o diretório não estiver vazio</translation>
-    </message>
     <message>
         <source>Stylesheets</source>
         <translation type="obsolete">Estilos de página</translation>
@@ -476,238 +358,150 @@ want to allow this in your system!</source>
         <source>Cancel</source>
         <translation type="obsolete">Cancelar</translation>
     </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Aviso</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">As configurações salvas no mapa permitem executar os scripts:
-
-%1
-
-Por favor, verifique se você
-realmente quer permitir isso!</translation>
-    </message>
-    <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation type="obsolete">VYM - Exportar HTML para diretório</translation>
-    </message>
-    <message>
-        <source>VYM - Path to CSS file</source>
-        <translation type="obsolete">VYM - Caminho para o arquivo CSS</translation>
-    </message>
-    <message>
-        <source>VYM - Path to XSL file</source>
-        <translation type="obsolete">VYM - Caminho para arquivo XSL</translation>
-    </message>
-    <message>
-        <source>VYM - Path to pre export script</source>
-        <translation type="obsolete">VYM - Caminho para script de pré-exportação</translation>
-    </message>
-    <message>
-        <source>VYM - Path to post export script</source>
-        <translation type="obsolete">VYM - Caminho para script de pós-exportação</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">Não foi possível abrir %1</translation>
-    </message>
-    <message>
-        <source>Could not write %1</source>
-        <translation type="obsolete">Não foi possível criar %1</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Erro Crítico</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">Não foi possível executar %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 não terminou normalmente</translation>
-    </message>
 </context>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
         <source>VYM - Info</source>
-        <translation>VYM - Informações</translation>
+        <translation type="vanished">VYM - Informações</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
         <source>Map:</source>
-        <translation>Mapa:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
-        <source>Title:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Mapa:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
         <source>Author:</source>
-        <translation>Autor:</translation>
+        <translation type="vanished">Autor:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
         <source>Comment:</source>
-        <translation>Comentário:</translation>
+        <translation type="vanished">Comentário:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation>Estatísticas:</translation>
+        <translation type="vanished">Estatísticas:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation>Cancelar</translation>
+        <translation type="vanished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation>Fechar</translation>
+        <translation type="vanished">Fechar</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>FindWindow</name>
-    <message>
-        <source>Clear</source>
-        <translation type="obsolete">Limpar</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Cancelar</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Pesquisar</translation>
-    </message>
-    <message>
-        <source>Find Text</source>
-        <translation type="obsolete">Pesquisar Texto</translation>
-    </message>
-    <message>
-        <source>Text to find:</source>
-        <translation type="obsolete">Pesquisar:</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="obsolete">Novo mapa</translation>
-    </message>
-</context>
 <context>
     <name>HeadingEditor</name>
     <message>
-        <location filename="../headingeditor.cpp" line="9"/>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
     <message>
-        <location filename="../historywindow.ui" line="13"/>
         <source>Dialog</source>
-        <translation>Diálogo</translation>
+        <translation type="vanished">Diálogo</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="50"/>
         <source>Redo</source>
-        <translation>Refazer</translation>
-    </message>
-    <message>
-        <source>New Row</source>
-        <translation type="obsolete">Nova Linha</translation>
+        <translation type="vanished">Refazer</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation>Tempo</translation>
+        <translation type="vanished">Tempo</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation>Comentário</translation>
+        <translation type="vanished">Comentário</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation>Desfazer</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>Fechar</translation>
+        <translation type="vanished">Desfazer</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation>Ações</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>Comentário</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation>Desfazer ação</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation>Atual</translation>
     </message>
 </context>
 <context>
-    <name>LineEditDialog</name>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">Aviso</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">Diálogo</translation>
+        <translation type="obsolete">Diálogo</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">Adicionar</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">Remover</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
-        <source>TextLabel</source>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Diálogo</translation>
+    </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation type="unfinished">OK</translation>
     </message>
@@ -715,19 +509,16 @@ realmente quer permitir isso!</translation>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">Diálogo</translation>
+        <translation type="obsolete">Diálogo</translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -735,489 +526,154 @@ realmente quer permitir isso!</translation>
 <context>
     <name>Main</name>
     <message>
-        <source>Close Map</source>
-        <translation type="obsolete">Fechar Mapa</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">Desfazer</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <translation type="obsolete">Copiar</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <translation type="obsolete">Recortar</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <translation type="obsolete">Colar</translation>
-    </message>
-    <message>
-        <source>Move branch up</source>
-        <translation type="obsolete">Mover ramo acima</translation>
-    </message>
-    <message>
-        <source>Move branch down</source>
-        <translation type="obsolete">Mover ramo abaixo</translation>
-    </message>
-    <message>
-        <source>Scroll branch</source>
-        <translation type="obsolete">Contrair ramo</translation>
-    </message>
-    <message>
-        <source>Unscroll all</source>
-        <translation type="obsolete">Expandir ramos</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Pesquisar</translation>
-    </message>
-    <message>
-        <source>Open URL</source>
-        <translation type="obsolete">Abrir URL</translation>
-    </message>
-    <message>
-        <source>Edit URL</source>
-        <translation type="obsolete">Editar URL</translation>
-    </message>
-    <message>
-        <source>Use heading of selected branch as URL</source>
-        <translation type="obsolete">Usar tópico do ramo selecionado como URL</translation>
-    </message>
-    <message>
-        <source>Create URL to Bugzilla</source>
-        <translation type="obsolete">Criar URL para o Bugzilla</translation>
-    </message>
-    <message>
-        <source>Jump to another vym map, if needed load it first</source>
-        <translation type="obsolete">Ir para outro mapa VYM, se necessário ele será carregado antes</translation>
-    </message>
-    <message>
-        <source>Edit link to another vym map</source>
-        <translation type="obsolete">Editar ligação para outro mapa VYM</translation>
-    </message>
-    <message>
-        <source>Delete link to another vym map</source>
-        <translation type="obsolete">Apagar ligação para outro mapa VYM</translation>
-    </message>
-    <message>
-        <source>Edit Map Info</source>
-        <translation type="obsolete">Editar Informações</translation>
-    </message>
-    <message>
-        <source>edit Heading</source>
-        <translation type="obsolete">Editar Tópico</translation>
-    </message>
-    <message>
-        <source>Delete Selection</source>
-        <translation type="obsolete">Apagar Seleção</translation>
-    </message>
-    <message>
-        <source>Add a branch as child of selection</source>
-        <translation type="obsolete">Adicionar ramo como filho da seleção</translation>
-    </message>
-    <message>
-        <source>Add a branch above selection</source>
-        <translation type="obsolete">Adicionar ramo acima da seleção</translation>
-    </message>
-    <message>
-        <source>Add a branch below selection</source>
-        <translation type="obsolete">Adicionar ramo abaixo da seleção</translation>
-    </message>
-    <message>
-        <source>Add map at selection</source>
-        <translation type="obsolete">Adicionar mapa à seleção</translation>
-    </message>
-    <message>
-        <source>Replace selection with map</source>
-        <translation type="obsolete">Substituir seleção com mapa</translation>
-    </message>
-    <message>
-        <source>Save selection</source>
-        <translation type="obsolete">Salvar seleção</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <translation type="obsolete">Selecionar ramo mais acima</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <translation type="obsolete">Selecionar ramo mais abaixo</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <translation type="obsolete">Selecionar ramo da esquerda</translation>
-    </message>
-    <message>
-        <source>Select right branch</source>
-        <translation type="obsolete">Selecionar ramo da direita</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <translation type="obsolete">Selecionar primeiro ramo</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <translation type="obsolete">Selecionar último ramo</translation>
-    </message>
-    <message>
-        <source>Add Image</source>
-        <translation type="obsolete">Adicionar Imagem</translation>
-    </message>
-    <message>
-        <source>Set Color</source>
-        <translation type="obsolete">Definir Cor</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>Definir &amp;Cor</translation>
-    </message>
-    <message>
-        <source>Pick color
-Hint: You can pick a color from another branch and color using CTRL+Left Button</source>
-        <translation type="obsolete">Capturar cor
-Dica: Você pode capturar a cor de outro ramo ou região usando CTRL+Botão esquerdo do mouse</translation>
-    </message>
-    <message>
-        <source>Color branch</source>
-        <translation type="obsolete">Cor do ramo</translation>
-    </message>
-    <message>
-        <source>Color Subtree</source>
-        <translation type="obsolete">Cor da Subárvore</translation>
-    </message>
-    <message>
-        <source>Line</source>
-        <translation type="obsolete">Linha</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
         <source>Linkstyle Line</source>
         <translation>Estilo de Linhas</translation>
     </message>
     <message>
-        <source>Linkstyle Parabel</source>
-        <translation type="obsolete">Estilo de Parábolas</translation>
-    </message>
-    <message>
-        <source>PolyLine</source>
-        <translation type="obsolete">Muti-linhas</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Line</source>
         <translation>Estilo de Linhas Largas</translation>
     </message>
     <message>
-        <source>PolyParabel</source>
-        <translation type="obsolete">Multi-parábolas</translation>
-    </message>
-    <message>
-        <source>Linkstyle Thick Parabel</source>
-        <translation type="obsolete">Estilo de Parábolas Largas</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Nenhum Quadro</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Retângulo</translation>
-    </message>
-    <message>
-        <source>Use same color for links and headings</source>
-        <translation type="obsolete">Usar a mesma cor para ligações e tópicos</translation>
-    </message>
-    <message>
-        <source>Set Link Color</source>
-        <translation type="obsolete">Definir Cor da Ligação</translation>
-    </message>
-    <message>
-        <source>Set Background Color</source>
-        <translation type="obsolete">Definir Cor de Fundo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
+        <location line="+42"/>
         <source>Set &amp;Background Color</source>
         <translation>Definir Cor de &amp;Fundo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
+        <location line="+14"/>
         <source>&amp;View</source>
         <translation>&amp;Visualizar</translation>
     </message>
     <message>
-        <source>Zoom reset</source>
-        <translation type="obsolete">Normal</translation>
-    </message>
-    <message>
-        <source>Zoom in</source>
-        <translation type="obsolete">Ampliar</translation>
-    </message>
-    <message>
-        <source>Zoom out</source>
-        <translation type="obsolete">Reduzir</translation>
-    </message>
-    <message>
-        <source>&amp;Next Window</source>
-        <translation type="obsolete">&amp;Próxima Janela</translation>
-    </message>
-    <message>
-        <source>&amp;Previous Window</source>
-        <translation type="obsolete">Janela &amp;Anterior</translation>
-    </message>
-    <message>
-        <source>Use modifier to color branches</source>
-        <translation type="obsolete">Usar modificador para colorir ramos</translation>
-    </message>
-    <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">&amp;Configurações</translation>
-    </message>
-    <message>
-        <source>Set application to open pdf files</source>
-        <translation type="obsolete">Definir aplicação externa para abrir PDF</translation>
-    </message>
-    <message>
-        <source>Edit branch after adding it</source>
-        <translation type="obsolete">Editar ramo depois de adicionar</translation>
-    </message>
-    <message>
-        <source>Select branch after adding it</source>
-        <translation type="obsolete">Selecionar ramo depois de adicionar</translation>
-    </message>
-    <message>
-        <source>Select heading before editing</source>
-        <translation type="obsolete">Selecionar tópico antes de editar</translation>
-    </message>
-    <message>
-        <source>&amp;Test</source>
-        <translation type="obsolete">&amp;Testar</translation>
-    </message>
-    <message>
-        <source>Open VYM Documentation (pdf)</source>
-        <translation type="obsolete">Documentação do VYM (pdf)</translation>
-    </message>
-    <message>
-        <source>Information about QT toolkit</source>
-        <translation type="obsolete">Informações sobre ferramentas QT</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
+        <location line="+1867"/>
         <source>Overwrite</source>
         <translation>Sobrescrever</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
+        <location line="-432"/>
         <source>Open anyway</source>
         <translation>Forçar abrir</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
+        <location line="+73"/>
         <source>Create</source>
         <translation>Criar</translation>
     </message>
     <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Erro Crítico ao Carregar</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">Não foi possível encontrar um mapa (.xml) dentro do arquivo .vym.
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
+        <location line="+86"/>
         <source>Load vym map</source>
         <translation>Carregar mapa VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
+        <location line="+6"/>
         <source>Import: Add vym map to selection</source>
         <translation>Importar: Adicionar mapa à seleção</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
+        <location line="+4"/>
         <source>Import: Replace selection with vym map</source>
         <translation>Importar: Substituir seleção com um mapa</translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Erro ao Salvar</translation>
-    </message>
-    <message>
-        <source>
-could not be removed before saving</source>
-        <translation type="obsolete">
-não foi possível remover antes de salvar</translation>
-    </message>
-    <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">comprimido (padrão)</translation>
-    </message>
-    <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">descomprimido</translation>
-    </message>
-    <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Exportar XML para diretório</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
+        <location line="+613"/>
         <source>Save modified map before closing it</source>
         <translation>Salvar mapa modificado antes de fechar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
+        <location line="+1"/>
         <source>Discard changes</source>
         <translation>Descartas alterações</translation>
     </message>
     <message>
-        <source>This map is not saved yet. Do you want to</source>
-        <translation type="obsolete">Este mapa não foi salvo ainda. Quer fazê-lo agora?</translation>
-    </message>
-    <message>
-        <source>Save map</source>
-        <translation type="obsolete">Salvar mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
+        <location line="+1411"/>
         <source>VYM -Information:</source>
         <translation>VYM - Informações:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
+        <location line="-2265"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
         <source>Critical Error</source>
         <translation>Erro Crítico</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
+        <location line="+1081"/>
         <source>Number of undo/redo levels:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
+        <location line="+5"/>
         <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
+        <location line="+40"/>
         <source>Number of seconds before autosave:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
+        <location line="+11"/>
         <source>Set author for new maps (used in lockfile)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
+        <location line="+3"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
+        <location line="+42"/>
         <source>Number of parents shown in find results:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
+        <location line="+11"/>
         <source>Number of parents shown for a task:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
+        <location line="-2404"/>
         <source>(readonly)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
+        <location line="+2857"/>
         <source>History for %1</source>
         <comment>Window Caption</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
+        <location line="+23"/>
         <source>Export in last used format (%1) to: %2</source>
         <comment>status tip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
+        <location line="+440"/>
         <source>Critcal error</source>
         <translation>Erro crítico</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find the documentation
-vym.pdf in various places.</source>
-        <translation type="obsolete">Não foi possível encontrar a documentação
-(vym.pdf) em sua instalação.</translation>
-    </message>
-    <message>
-        <source>Add a branch by inserting and making selection its child</source>
-        <translation type="obsolete">Adicionar ramo ao inserir e selecionar seus filhos</translation>
-    </message>
-    <message>
-        <source>Remove only branch and keep its childs</source>
-        <translation type="obsolete">Apagar apenas ramos e manter seus filhos</translation>
-    </message>
-    <message>
-        <source>Remove childs of branch</source>
-        <translation type="obsolete">Apagar filhos do ramo</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <translation type="obsolete">Usar modificador para copiar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
+        <location line="-3798"/>
         <source>Add</source>
         <translation>Adicionar</translation>
     </message>
     <message>
-        <source>Use modifier to draw xLinks</source>
-        <translation type="obsolete">Usar modificador para criar Ligações Externas</translation>
-    </message>
-    <message>
-        <source>Use exclusive flags in flag toolbars</source>
-        <translation type="obsolete">Usar emblemas exclusivos na barra de tarefas</translation>
-    </message>
-    <message>
-        <source>Set application to open external links</source>
-        <translation type="obsolete">Definir aplicação externa para abrir URL</translation>
-    </message>
-    <message>
-        <source>Delete key for deleting branches</source>
-        <translation type="obsolete">Tecla Delete para apagar ramos</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
+        <location line="+571"/>
         <source>The map %1
 is already opened.Opening the same map in multiple editors may lead 
 to confusion when finishing working with vym.Do you want to</source>
@@ -1227,7 +683,7 @@ causar perda de dados pois as mudanças em um não será automaticamente
 replicada no outro. Deseja continuar?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
+        <location line="+75"/>
         <source>This map does not exist:
   %1
 Do you want to create a new one?</source>
@@ -1236,2637 +692,2216 @@ Do you want to create a new one?</source>
 Deseja criar um novo?</translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">O mapa %1
-não usa o formato de arquivo comprimido.
-Salvar no formato descomprimido também salvará imagens
-e emblemas que podem sobrescrever arquivos já presentes no diretório.
-Deseja continuar salvando este mapa?</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
+        <location line="+224"/>
         <source>Saved  %1</source>
         <translation>Salvo %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
+        <location line="+4"/>
         <source>Couldn&apos;t save </source>
         <translation>Não foi possível salvar </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
+        <location line="+39"/>
+        <location line="+92"/>
         <source>The file %1
 exists already. Do you want to</source>
         <translation>O arquivo %1
 já existe. Deseja continuar?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
+        <location line="+351"/>
         <source>The map %1 has been modified but not saved yet. Do you want to</source>
         <translation>O mapa %1 foi modificado mas não foi salvo ainda. Deseja salvar?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
+        <location line="+334"/>
         <source>Couldn&apos;t open map %1</source>
         <translation>Não foi possível abrir o mapa %1</translation>
     </message>
     <message>
-        <source>Exit</source>
-        <translation type="obsolete">Sair</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <translation type="obsolete">Refazer</translation>
-    </message>
-    <message>
-        <source>Create URL to FATE</source>
-        <translation type="obsolete">Criar URL para FATE</translation>
-    </message>
-    <message>
-        <source>Include top and bottom position of images into branch</source>
-        <translation type="obsolete">Incluir posicionamento superior e inferior das imagens ao ramo</translation>
-    </message>
-    <message>
-        <source>Include left and right position of images into branch</source>
-        <translation type="obsolete">Incluir posicionamento esquerdo e direito das imagens ao ramo</translation>
-    </message>
-    <message>
-        <source>Hide link</source>
-        <translation type="obsolete">Ocultar ligação</translation>
-    </message>
-    <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Nota</translation>
-    </message>
-    <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Documento de Internet (externo)</translation>
-    </message>
-    <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Ligar a outro mapa do VYM</translation>
-    </message>
-    <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">subárvore está contraída</translation>
-    </message>
-    <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">subárvore está temporariamente contraída</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
+        <location line="-2216"/>
         <source>Take care!</source>
         <comment>Standardflag</comment>
         <translation>Cuidado!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
+        <location line="+5"/>
         <source>Really?</source>
         <comment>Standardflag</comment>
         <translation>Mesmo?</translation>
     </message>
     <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">pronto!</translation>
-    </message>
-    <message>
-        <source>Not ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Faltando!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
+        <location line="-24"/>
         <source>This won&apos;t work!</source>
         <comment>Standardflag</comment>
         <translation>Não vai funcionar!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
+        <location line="+38"/>
         <source>Good</source>
         <comment>Standardflag</comment>
         <translation>Bom</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
+        <location line="+4"/>
         <source>Bad</source>
         <comment>Standardflag</comment>
         <translation>Ruim</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
+        <location line="+48"/>
         <source>Time critical</source>
         <comment>Standardflag</comment>
         <translation>Falta de tempo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
+        <location line="-58"/>
         <source>Idea!</source>
         <comment>Standardflag</comment>
         <translation>Idéia!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
+        <location line="+25"/>
         <source>Important</source>
         <comment>Standardflag</comment>
         <translation>Importante</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
+        <location line="+5"/>
         <source>Unimportant</source>
         <comment>Standardflag</comment>
         <translation>Desnecessário</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
+        <location line="+15"/>
         <source>I like this</source>
         <comment>Standardflag</comment>
         <translation>Eu gosto</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
+        <location line="+3"/>
         <source>I do not like this</source>
         <comment>Standardflag</comment>
         <translation>Eu não gosto</translation>
     </message>
     <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Amor...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
+        <location line="-26"/>
         <source>Dangerous</source>
         <comment>Standardflag</comment>
         <translation>Perigoso</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
+        <location line="+30"/>
         <source>This will help</source>
         <comment>Standardflag</comment>
         <translation>Vai ajudar</translation>
     </message>
     <message>
-        <source>About VYM</source>
-        <translation type="obsolete">Sobre VYM</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
+        <location line="+1554"/>
+        <location line="+54"/>
+        <location line="+1"/>
         <source>Import</source>
         <translation>Importar</translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <translation type="obsolete">Favoritos KDE</translation>
-    </message>
-    <message>
-        <source>Export as ASCII</source>
-        <translation type="obsolete">Exportar como texto</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
+        <location line="-3186"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
         <source>(still experimental)</source>
         <translation>(ainda em testes)</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exportar como LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
+        <location line="-3237"/>
         <source>&amp;Print</source>
         <translation>Im&amp;primir</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
+        <location line="+3168"/>
+        <location line="+68"/>
         <source>Export to</source>
         <translation>Exportar para</translation>
     </message>
     <message>
-        <source>Hide object in exports</source>
-        <translation type="obsolete">Ocultar objeto ao exportar</translation>
-    </message>
-    <message>
-        <source>Hide object in exported maps</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">Ocultar objeto ao exportar mapa</translation>
-    </message>
-    <message>
-        <source>Use hide flag during exports </source>
-        <translation type="obsolete">Usar marcação de ocultação ao exportar </translation>
-    </message>
-    <message>
-        <source>Open URL in new tab</source>
-        <translation type="obsolete">Abrir URL em nova aba</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation type="unfinished">Editor de Notas</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="260"/>
+        <location line="-4224"/>
         <source>Search results list</source>
         <comment>FindResultWidget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="obsolete">&amp;Mapa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
+        <location line="+3108"/>
         <source>File actions toolbar</source>
         <comment>Toolbar for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
+        <location line="-2171"/>
         <source>PDF%1</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
+        <location line="+5"/>
         <source>SVG%1</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
+        <location line="-63"/>
         <source>Repeat last export (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
-        <source>Edit actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
+        <location line="+2248"/>
+        <source>Edit actions toolbar</source>
+        <comment>Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="314"/>
+        <location line="-3065"/>
         <source>Task list</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
+        <location line="-51"/>
         <source>Script Editor</source>
         <comment>ScriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
+        <location line="+13"/>
         <source>Property Editor</source>
         <comment>PropertyEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="287"/>
+        <location line="+8"/>
         <source>History window</source>
         <comment>HistoryWidget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="218"/>
+        <location line="-70"/>
         <source>Main window</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="219"/>
+        <location line="+1"/>
         <source>Map Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="220"/>
+        <location line="+1"/>
         <source>Text Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="967"/>
+        <location line="+830"/>
         <source>&amp;Map</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished">&amp;Mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="992"/>
+        <location line="+28"/>
         <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
+        <location line="+288"/>
         <source>Add attribute</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
+        <location line="+131"/>
         <source>&amp;Detach</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
+        <location line="+1"/>
         <source>Detach branch and use as mapcenter</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
+        <location line="+19"/>
         <source>Sort children backwards</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
+        <location line="+81"/>
         <source>Expand all branches</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
+        <location line="+8"/>
         <source>Expand one level</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
+        <location line="-33"/>
         <source>Collapse one level</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
+        <location line="+13"/>
         <source>Collapse unselected levels</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
+        <location line="-47"/>
         <source>Unscroll children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
-        <source>Webpage (HTML)...</source>
-        <comment>File export menu</comment>
+        <location line="-427"/>
+        <source>(experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
-        <source>Text (ASCII)...</source>
+        <location line="+31"/>
+        <source>Webpage (HTML)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <source>Text with tasks</source>
+        <location line="+13"/>
+        <source>Firefox Bookmarks</source>
         <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Favoritos do Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
-        <source>Grow selection</source>
-        <comment>Edit menu</comment>
+        <location line="+8"/>
+        <source>Text (ASCII)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
-        <source>Shrink selection</source>
-        <comment>Edit menu</comment>
+        <location line="+12"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
-        <source>Reset selection size</source>
+        <location line="+295"/>
+        <source>Move branch diagonally up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
+        <location line="+60"/>
+        <source>Grow selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
+        <location line="+9"/>
+        <source>Shrink selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
+        <location line="+9"/>
+        <source>Reset selection size</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
+        <location line="+54"/>
+        <source>References Context menu</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
+        <location line="+74"/>
+        <source>Get data from JIRA for subtree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
+        <location line="+20"/>
         <source>vymlinks - linking maps</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
+        <location line="+44"/>
         <source>Exports</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
+        <location line="+13"/>
         <source>Tasks</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
+        <location line="+1"/>
         <source>Toggle task</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
+        <location line="+12"/>
         <source>Cycle task status</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
+        <location line="+21"/>
         <source>Reset sleep</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Sleep %1 days</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
+        <location line="-55"/>
         <source>Sleep %1 day</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
+        <location line="+66"/>
+        <location line="+11"/>
         <source>Sleep %1 weeks</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
+        <location line="+32"/>
         <source>Removing parts of a map</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
+        <location line="+24"/>
         <source>Various</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
+        <location line="+42"/>
         <source>Selections</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
+        <location line="+1"/>
         <source>Select</source>
         <comment>Select menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
+        <location line="+3"/>
         <source>Toggle target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
+        <location line="+10"/>
         <source>Goto target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
+        <location line="+9"/>
         <source>Move to target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
+        <location line="+47"/>
         <source>Search functions</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
+        <location line="+16"/>
         <source>Find duplicate URLs</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
-        <source>Number of visible parents in task editor</source>
+        <location line="+446"/>
+        <source>Images</source>
+        <translation type="unfinished">Imagens</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+441"/>
+        <source>Dark theme</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
-        <source>Number of visible parents in find results window</source>
+        <location line="+98"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+308"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+60"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+54"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Importante</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Perigoso</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+162"/>
+        <source>Confluence Credentials</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Info</source>
-        <translation type="obsolete">Informação</translation>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+90"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-1419"/>
         <source>Open all URLs in subtree (including scrolled branches)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
+        <location line="+17"/>
         <source>Extract URLs from note</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
+        <location line="+308"/>
         <source>Add timestamp</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
+        <location line="-11"/>
         <source>Remove children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
+        <location line="+333"/>
         <source>Center on selection</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
+        <location line="+1195"/>
         <source>Editors toolbar</source>
         <comment>Editor Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
+        <location line="+12"/>
         <source>Modifier modes toolbar</source>
         <comment>Modifier Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
+        <location line="-3214"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+852"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+21"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+44"/>
+        <source>CSV...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
+        <location line="+1387"/>
         <source>Map target</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
+        <location line="+899"/>
         <source>Standard Flags toolbar</source>
         <comment>Standard Flag Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
+        <location line="-874"/>
         <source>Status - ok,done</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
+        <location line="+4"/>
         <source>Status - work in progress</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
+        <location line="+5"/>
         <source>Status - missing, not started</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
+        <location line="+434"/>
         <source>Automatic layout</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
+        <location line="+11"/>
         <source>Test</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
+        <location line="+164"/>
         <source>Follow XLink</source>
         <comment>Context menu</comment>
         <translation type="unfinished">Seguir Ligação Externa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation type="unfinished">sem nome</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
+        <location line="+616"/>
         <source>Loading: %1</source>
         <comment>Progress dialog while loading maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
+        <location line="+516"/>
         <source>Export as CSV</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="-213"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
         <source>Warning</source>
         <translation>Aviso</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
+        <location line="-2934"/>
         <source>Couldn&apos;t find configuration for export to LibreOffice
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
+        <location line="+201"/>
+        <location line="+2345"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <translation>Não foi possível encontrar um programa para abrir %1.
 </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="-2344"/>
+        <location line="+2345"/>
         <source>Please use Settings-&gt;</source>
         <translation>Por favor use Configurações-&gt;</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
+        <location line="-2344"/>
+        <location line="+1260"/>
         <source>Set application to open an URL</source>
         <translation>Definir aplicação externa para abrir URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Não foi possível executar %1 para abrir uma nova aba em %2.</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
+        <location line="-1174"/>
         <source>HTML</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
+        <location line="+1"/>
         <source>Text</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
+        <location line="+1"/>
         <source>Spreadsheet</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
+        <location line="+1"/>
         <source>Textdocument</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
+        <location line="+5"/>
         <source>Set URL to a local file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
+        <location line="+296"/>
         <source>Couldn&apos;t set sleep time to %1.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
+        <location line="+28"/>
         <source>%1 items on map
 </source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
+        <location line="+21"/>
         <source>branches</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
+        <location line="+7"/>
         <source>notes</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
+        <location line="+1"/>
         <source>images</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
+        <location line="+3"/>
         <source>slides</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
+        <location line="+2"/>
         <source>xLinks</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="+796"/>
+        <location line="+1097"/>
         <source>Set application to open PDF files</source>
         <translation>Definir aplicação externa para abrir PDF</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
+        <location line="-4311"/>
         <source>Oh no!</source>
         <comment>Standardflag</comment>
         <translation>Ahh não!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="124"/>
+        <location line="-2555"/>
         <source>Main window</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
+        <location line="+996"/>
         <source>Firefox Bookmarks</source>
         <comment>Import filters</comment>
         <translation type="unfinished">Favoritos do Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation type="unfinished">Importar Diretório %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
+        <location line="+827"/>
         <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
+        <location line="+161"/>
         <source>Formatting</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
+        <location line="+364"/>
         <source>Modifier modes</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
+        <location line="+244"/>
         <source>Call...</source>
         <comment>Standardflag</comment>
         <translation>Telefonar...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
+        <location line="-20"/>
         <source>Very important!</source>
         <comment>Standardflag</comment>
         <translation>Muito importante!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
+        <location line="+5"/>
         <source>Very unimportant!</source>
         <comment>Standardflag</comment>
         <translation>Desprezível!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
+        <location line="+24"/>
         <source>Rose</source>
         <comment>Standardflag</comment>
-        <translation>Rosa</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
-        <source>Surprise!</source>
-        <comment>Standardflag</comment>
-        <translation>Surpresa!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
-        <source>Info</source>
-        <comment>Standardflag</comment>
-        <translation>Informação</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <translation type="obsolete">Favoritos do Firefox</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <translation type="obsolete">Mostrar Editor de Notas</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <translation type="obsolete">Mostrar janela de histórico</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation>Favoritos</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">Não foi possível executar %1 para abrir uma nova aba</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">Exportar mapa como imagem</translation>
-    </message>
-    <message>
-        <source>Standard Flags</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation type="obsolete">Emblemas Padrões</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">Não foi possível encontrar configuração para exportar para OpenOffice.org
-</translation>
-    </message>
-    <message>
-        <source>No matches found for &quot;%1&quot;</source>
-        <translation type="obsolete">Nenhum resultado para &quot;%1&quot;</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <translation type="obsolete">&amp;Mapa</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree</source>
-        <translation type="obsolete">Abrir todas URLs da subárvore</translation>
-    </message>
-    <message>
-        <source>Open all vym links in subtree</source>
-        <translation type="obsolete">Abrir todas ligações da subárvore</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation type="obsolete">Não foi possível criar diretório temporário antes de carregar
-</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">Não foi possível criar diretório temporário antes de salvar
-</translation>
+        <translation>Rosa</translation>
     </message>
     <message>
-        <source>Sorry, currently only Konqueror and Mozilla support tabbed browsing.</source>
-        <translation type="obsolete">Navegação por abas só é compatível pelos navegadores Konqueror e Mozilla.</translation>
+        <location line="-3"/>
+        <source>Surprise!</source>
+        <comment>Standardflag</comment>
+        <translation>Surpresa!</translation>
     </message>
     <message>
-        <source>&amp;New...</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">&amp;Novo...</translation>
+        <location line="-64"/>
+        <source>Info</source>
+        <comment>Standardflag</comment>
+        <translation>Informação</translation>
     </message>
     <message>
-        <source>New map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Novo mapa</translation>
+        <location line="+1605"/>
+        <source>Firefox Bookmarks</source>
+        <translation type="unfinished">Favoritos do Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="985"/>
+        <location line="-3184"/>
         <source>&amp;Open...</source>
         <comment>File menu</comment>
         <translation>&amp;Abrir...</translation>
     </message>
     <message>
-        <source>Open</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Abrir</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
+        <location line="+16"/>
         <source>Open Recent</source>
         <comment>File menu</comment>
         <translation>Abrir Recentes</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
+        <location line="+3"/>
         <source>&amp;Save...</source>
         <comment>File menu</comment>
         <translation>&amp;Salvar...</translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Salvar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
+        <location line="+9"/>
         <source>Save &amp;As...</source>
         <comment>File menu</comment>
         <translation>Salvar &amp;Como...</translation>
     </message>
     <message>
-        <source>Save &amp;As</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Salvar &amp;Como</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
+        <location line="+11"/>
         <source>Import</source>
         <comment>File menu</comment>
         <translation>Importar</translation>
     </message>
     <message>
-        <source>Import %1</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Importar %1</translation>
-    </message>
-    <message>
-        <source>KDE bookmarks</source>
-        <translation type="obsolete">Favoritos KDE</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Favoritos do Firefox</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importar %1</translation>
-    </message>
-    <message>
-        <source>Import Dir%1</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Importar Diretório %1</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importar diretório (em testes)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
+        <location line="+23"/>
         <source>Export</source>
         <comment>File menu</comment>
         <translation>Exportar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
+        <location line="+56"/>
         <source>Image%1</source>
         <comment>File export menu</comment>
         <translation>Imagem %1</translation>
     </message>
     <message>
-        <source>Export map as image</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportar mapa como imagem</translation>
-    </message>
-    <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportar para formato Open Document Formato, ex: usado por OpenOffice.org</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportar como %1</translation>
-    </message>
-    <message>
-        <source> webpage (XHTML)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">página (XHTML)</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <translation type="obsolete">Exportar como %1</translation>
-    </message>
-    <message>
-        <source>KDE Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Favoritos KDE</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Imprimir</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
+        <location line="+65"/>
         <source>&amp;Close Map</source>
         <comment>File menu</comment>
         <translation>&amp;Fechar Mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
+        <location line="+7"/>
         <source>E&amp;xit</source>
         <comment>File menu</comment>
         <translation>Sai&amp;r</translation>
     </message>
     <message>
-        <source>&amp;Actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="obsolete">Barra de &amp;Ações</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Editar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
+        <location line="+26"/>
         <source>&amp;Undo</source>
         <comment>Edit menu</comment>
         <translation>Desfa&amp;zer</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
+        <location line="+11"/>
         <source>&amp;Redo</source>
         <comment>Edit menu</comment>
         <translation>&amp;Refazer</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
+        <location line="+11"/>
         <source>&amp;Copy</source>
         <comment>Edit menu</comment>
         <translation>&amp;Copiar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
+        <location line="+11"/>
         <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
         <translation>Recor&amp;tar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
+        <location line="+13"/>
         <source>&amp;Paste</source>
         <comment>Edit menu</comment>
         <translation>C&amp;olar</translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Editar tópico</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
+        <location line="+13"/>
+        <location line="+10"/>
         <source>Delete Selection</source>
         <comment>Edit menu</comment>
         <translation>Apagar seleção</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
+        <location line="+33"/>
         <source>Add branch as child</source>
         <comment>Edit menu</comment>
         <translation>Adicionar ramo como filho</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
+        <location line="+9"/>
         <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
         <translation>Adicionar ramo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
+        <location line="+10"/>
+        <location line="+10"/>
         <source>Add branch above</source>
         <comment>Edit menu</comment>
         <translation>Adicionar ramo acima</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
+        <location line="+10"/>
+        <location line="+9"/>
         <source>Add branch below</source>
         <comment>Edit menu</comment>
         <translation>Adicionar ramo abaixo</translation>
     </message>
     <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Mover acima</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Mover abaixo</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
+        <location line="+91"/>
         <source>Scroll branch</source>
         <comment>Edit menu</comment>
         <translation>Contrair ramo</translation>
     </message>
     <message>
-        <source>Unscroll all scrolled branches</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Expandir ramos contraídos</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
+        <location line="+544"/>
+        <location line="+8"/>
         <source>Find...</source>
         <comment>Edit menu</comment>
         <translation>Pesquisar...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
+        <location line="-462"/>
         <source>Open URL</source>
         <comment>Edit menu</comment>
         <translation>Abrir URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
+        <location line="+9"/>
         <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
         <translation>Abrir URL em nova aba</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
+        <location line="+18"/>
         <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
         <translation>Abrir todas URLs da subárvore</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
+        <location line="+17"/>
         <source>Edit URL...</source>
         <comment>Edit menu</comment>
         <translation>Editar URL...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
+        <location line="+18"/>
         <source>Use heading for URL</source>
         <comment>Edit menu</comment>
         <translation>Usar tópico como URL</translation>
     </message>
     <message>
-        <source>Create URL to Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Criar URL para o Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Criar URL para FATE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
+        <location line="+33"/>
         <source>Open linked map</source>
         <comment>Edit menu</comment>
         <translation>Abrir mapa ligado</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
+        <location line="+17"/>
         <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
         <translation>Abrir todas ligações da subárvore</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
+        <location line="+9"/>
         <source>Edit vym link...</source>
         <comment>Edit menu</comment>
         <translation>Editar ligação...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
+        <location line="+9"/>
         <source>Delete vym link</source>
         <comment>Edit menu</comment>
         <translation>Apagar ligação</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
+        <location line="+9"/>
         <source>Hide in exports</source>
         <comment>Edit menu</comment>
         <translation>Ocultar ao exportar</translation>
     </message>
     <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Editar Informações...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
+        <location line="+158"/>
         <source>Add map (insert)</source>
         <comment>Edit menu</comment>
         <translation>Adicionar mapa (novo)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
+        <location line="+7"/>
         <source>Add map (replace)</source>
         <comment>Edit menu</comment>
         <translation>Adicionar mapa (substituir)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
+        <location line="+7"/>
         <source>Save selection</source>
         <comment>Edit menu</comment>
         <translation>Salvar seleção</translation>
     </message>
     <message>
-        <source>Remove only branch </source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Remover apenas ramos</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Remover filhos</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Selecionar ramo mais acima</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Selecionar ramo mais abaixo</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Selecionar ramo da esquerda</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Selecionar ramo filho</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Selecionar primeiro ramo</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Selecionar último ramo</translation>
-    </message>
-    <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Adicionar Imagem...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
+        <location line="+169"/>
         <source>F&amp;ormat</source>
         <comment>Format menu</comment>
         <translation>&amp;Formatação</translation>
     </message>
     <message>
-        <source>Format Actions</source>
-        <comment>Format Toolbar name</comment>
-        <translation type="obsolete">Ações de Formatação</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
+        <location line="+7"/>
         <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
         <translation>&amp;Capturar cor</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
+        <location line="+10"/>
         <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
         <translation>Cor do &amp;ramo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
+        <location line="+10"/>
         <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
         <translation>Cor da subár&amp;vore</translation>
     </message>
     <message>
-        <source>No Frame</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Nenhuma Quadro</translation>
-    </message>
-    <message>
-        <source>RectangleBranch attribute</source>
-        <translation type="obsolete">Propriedade do ramo retangular</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Incluir imagens verticalmente</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">Incluir imagens horizontalmente</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
+        <location line="+53"/>
         <source>Hide link if object is not selected</source>
         <comment>Branch attribute</comment>
         <translation>Ocultar ligações se objeto não for selecionado</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
+        <location line="+6"/>
         <source>&amp;Use color of heading for link</source>
         <comment>Branch attribute</comment>
         <translation>&amp;Usar cor do tópico para ligações</translation>
     </message>
     <message>
-        <source>View Actions</source>
-        <comment>View Toolbar name</comment>
-        <translation type="obsolete">Visualizar Ações</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
+        <location line="+89"/>
         <source>reset Zoom</source>
         <comment>View action</comment>
         <translation>Normal</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
+        <location line="-37"/>
         <source>Zoom in</source>
         <comment>View action</comment>
         <translation>Ampliar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
+        <location line="+9"/>
         <source>Zoom out</source>
         <comment>View action</comment>
         <translation>Reduzir</translation>
     </message>
     <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Mostrar Editor de Notas</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Mostrar janela de histórico</translation>
-    </message>
-    <message>
-        <source>Next Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Próxima Janela</translation>
-    </message>
-    <message>
-        <source>Previous Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Janela Anterior</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="obsolete">Modos quando usando modificadores</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>Usar modificador para colorir ramos</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <comment>Mode modifier</comment>
-        <translation type="obsolete">Usar modificador para copiar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
+        <location line="+249"/>
         <source>Use modifier to draw xLinks</source>
         <comment>Mode modifier</comment>
         <translation>Usar modificador para criar Ligações Externas</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
+        <location line="+439"/>
         <source>Set application to open pdf files</source>
         <comment>Settings action</comment>
         <translation>Definir aplicação externa para abrir PDF</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
+        <location line="+7"/>
         <source>Set application to open external links</source>
         <comment>Settings action</comment>
         <translation>Definir aplicação externa para abrir URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Editar ramo depois de adicionar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
+        <location line="+67"/>
         <source>Select branch after adding it</source>
         <comment>Settings action</comment>
         <translation>Selecionar ramo depois de adicionar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
+        <location line="+9"/>
         <source>Select existing heading</source>
         <comment>Settings action</comment>
         <translation>Selecionar tópico</translation>
     </message>
     <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Tecla Delete</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
+        <location line="+7"/>
         <source>Exclusive flags</source>
         <comment>Settings action</comment>
         <translation>Emblemas exclusivos</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
+        <location line="+7"/>
         <source>Use hide flags</source>
         <comment>Settings action</comment>
         <translation>Usar emblemas ocultos</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
+        <location line="+78"/>
         <source>&amp;Help</source>
         <comment>Help menubar entry</comment>
         <translation>A&amp;juda</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
+        <location line="+3"/>
         <source>Open VYM Documentation (pdf) </source>
         <comment>Help action</comment>
         <translation>Documentação do VYM (pdf)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
+        <location line="+38"/>
         <source>About VYM</source>
         <comment>Help action</comment>
         <translation>Sobre VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
+        <location line="-4"/>
         <source>About QT</source>
         <comment>Help action</comment>
         <translation>Sobre QT</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
+        <location line="+34"/>
         <source>Remove</source>
         <comment>Context menu name</comment>
         <translation>Remover</translation>
     </message>
     <message>
-        <source>URLs and vymLinks</source>
-        <comment>Context menu name</comment>
-        <translation type="obsolete">URLs e ligações</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
+        <location line="+61"/>
         <source>Edit XLink</source>
         <comment>Context menu name</comment>
         <translation>Editar Ligação Externa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
+        <location line="+11"/>
         <source>Follow XLink</source>
         <comment>Context menu name</comment>
         <translation type="unfinished">Seguir Ligação Externa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
+        <location line="+6"/>
         <source>Save image</source>
         <comment>Context action</comment>
         <translation>Salvar imagem</translation>
     </message>
     <message>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <comment>write directory</comment>
-        <translation type="obsolete">O diretório %1 não está vazio.
-Deseja sobrescrever o conteúdo?</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="971"/>
+        <location line="-2202"/>
         <source>&amp;New map</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="978"/>
+        <location line="+9"/>
         <source>&amp;Copy to new map</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
-        <source>Text (A&amp;O report)...</source>
-        <comment>Export format</comment>
+        <location line="+40"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
+        <location line="+80"/>
+        <source>Text (A&amp;O report)...</source>
+        <comment>Export format</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
+        <location line="+52"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
+        <location line="+47"/>
         <source>E&amp;dit</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
+        <location line="+95"/>
         <source>Add mapcenter</source>
         <comment>Canvas context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
+        <location line="+68"/>
         <source>Move branch up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">Mover ramo acima</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
+        <location line="+13"/>
         <source>Move branch down</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">Mover ramo abaixo</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
+        <location line="+48"/>
         <source>Sort children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
+        <location line="+164"/>
         <source>Edit local URL...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
+        <location line="+29"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
         <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
+        <location line="+69"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+179"/>
         <source>Map properties...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
+        <location line="+6"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>Property window</source>
         <comment>Dialog to edit properties of selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
+        <location line="+47"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>Select previous</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
+        <location line="+10"/>
         <source>Select next</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
+        <location line="+11"/>
         <source>Unselect all</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
+        <location line="+73"/>
         <source>Select default font</source>
         <comment>Branch attribute</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
+        <location line="+18"/>
         <source>Linkstyle Curve</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Curve</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
+        <location line="+25"/>
         <source>Set &amp;Link Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
+        <location line="+5"/>
         <source>Set &amp;Selection Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
+        <location line="+10"/>
         <source>Set &amp;Background image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
+        <location line="+11"/>
         <source>Toolbars</source>
         <comment>Toolbars overview in view menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
+        <location line="+1"/>
         <source>Views</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
+        <location line="+7"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+28"/>
         <source>Rotate counterclockwise</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
+        <location line="+9"/>
         <source>Rotate rclockwise</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
+        <location line="+27"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
         <source>Note editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
+        <location line="+12"/>
         <source>Heading editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
+        <location line="+13"/>
         <source>Tree editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
+        <location line="+9"/>
         <source>Task editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
+        <location line="+11"/>
         <source>Slide editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
+        <location line="+9"/>
         <source>Script editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
+        <location line="+8"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>History Window</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
+        <location line="+14"/>
         <source>Antialiasing</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
+        <location line="+7"/>
         <source>Smooth pixmap transformations</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
+        <location line="+10"/>
         <source>Next Map</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
+        <location line="+7"/>
         <source>Previous Map</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
+        <location line="+7"/>
         <source>Next slide</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
+        <location line="+7"/>
         <source>Previous slide</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
-        <source>Note</source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished">Nota</translation>
+        <location line="+11"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
+        <location line="+49"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <source>Note</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished">Nota</translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>Link to another vym map</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished">Ligar a outro mapa do VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
+        <location line="+3"/>
         <source>subtree is scrolled</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished">subárvore está contraída</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
+        <location line="+4"/>
         <source>subtree is temporary scrolled</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished">subárvore está temporariamente contraída</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
+        <location line="+3"/>
         <source>Hide object in exported maps</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished">Ocultar objeto ao exportar mapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
+        <location line="+42"/>
         <source>I just love...</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Importante</translation>
+        <location line="+307"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+2799"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+1447"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
+        <location line="-4295"/>
+        <source>Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">Perigoso</translation>
+        <location line="+5"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+7"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+20"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+22"/>
+        <source>Set path for macros</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+4"/>
+        <source>Set number of undo levels</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+7"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+6"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+12"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+136"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+8"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+535"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+46"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
+        <location line="-45"/>
+        <source>Save map as new default map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
-        <source>Settings</source>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
+        <location line="+51"/>
+        <source>Import Firefox Bookmarks into new map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
+        <location line="+26"/>
+        <source>Open Freemind map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+616"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">Ligar a outro mapa do VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
-        <source>Autosave time</source>
-        <comment>Settings action</comment>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
+        <location line="+840"/>
+        <source>Load vym script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
+        <location line="+106"/>
+        <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
+        <location line="+865"/>
         <source>Couldn&apos;t find the documentation %1 in:
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
+        <location line="+31"/>
         <source>Load vym example map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
+        <location line="+190"/>
         <source>Please allow vym to download release notes!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
+        <location line="+62"/>
         <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
+        <location line="+1"/>
         <source>Do not allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
+        <location line="+5"/>
         <source>Thank you for enabling downloads!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Update information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
+        <location line="+4"/>
         <source>vym is up to date.</source>
         <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
+        <location line="+48"/>
         <source>Checking for updates...</source>
         <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="+30"/>
         <source>Please allow vym to check for updates!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
+        <location line="-4307"/>
         <source>Animation</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
+        <location line="+53"/>
         <source>Open VYM example maps </source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
+        <location line="+5"/>
         <source>Download and show release notes</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
+        <location line="+4"/>
         <source>Check, if updates are available</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
+        <location line="+5"/>
         <source>Show keyboard shortcuts</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
+        <location line="+68"/>
         <source>Tasks</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
+        <location line="+20"/>
         <source>References (URLs, vymLinks, ...)</source>
         <comment>Context menu name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
+        <location line="+20"/>
         <source>XLinks</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
+        <location line="+137"/>
         <source>Undo and clipboard toolbar</source>
         <comment>Toolbar for redo/undo and clipboard</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
+        <location line="+29"/>
         <source>Selection toolbar</source>
         <comment>Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
+        <location line="+9"/>
         <source>URLs and vymLinks toolbar</source>
         <comment>Toolbar for URLs and vymlinks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
+        <location line="+6"/>
         <source>Colors toolbar</source>
         <comment>Colors toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
+        <location line="+48"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+454"/>
         <source>or</source>
         <comment>File Dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
+        <location line="+143"/>
         <source>Save map as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
+        <location line="+63"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+574"/>
         <source>Enter URL:</source>
         <translation type="unfinished">Informe URL:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
+        <location line="+27"/>
         <source>Images</source>
         <comment>Filedialog</comment>
         <translation type="unfinished">Imagens</translation>
     </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation type="unfinished">Ligar a outro mapa</translation>
-    </message>
 </context>
 <context>
     <name>MapEditor</name>
     <message>
-        <source>Critical Parse Error</source>
-        <translation type="obsolete">Erro Crítico ao Ler</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Sobrescrever</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Cancelar</translation>
-    </message>
-    <message>
-        <source>Critical Export Error</source>
-        <translation type="obsolete">Erro Crítico ao Exportar</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Erro Crítico</translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Informe URL:</translation>
-    </message>
-    <message>
-        <source>vym map</source>
-        <translation type="obsolete">mapa VYM</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <translation type="obsolete">Imagens</translation>
-    </message>
-    <message>
-        <source>Critical Import Error</source>
-        <translation type="obsolete">Erro Crítico ao Importar</translation>
-    </message>
-    <message>
-        <source>New Map</source>
-        <comment>Heading of mapcenter in new map</comment>
-        <translation type="obsolete">Novo Mapa</translation>
-    </message>
-    <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">O arquivo %1 já existe.
-Deseja sobrescrevê-lo?</translation>
-    </message>
-    <message>
-        <source>MapEditor::exportXML couldn&apos;t open %1</source>
-        <translation type="obsolete">MapEditor::exportXML não foi possível abrir %1</translation>
-    </message>
-    <message>
-        <source>Cannot find the directory %1</source>
-        <translation type="obsolete">Não foi possível encontrar o diretório %1</translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Ligar a outro mapa</translation>
-    </message>
-    <message>
-        <source>Load image</source>
-        <translation type="obsolete">Carregar imagem</translation>
-    </message>
-    <message>
-        <source>Choose directory structure to import</source>
-        <translation type="obsolete">Escolha o diretório para importar</translation>
-    </message>
-    <message>
-        <source>unnamed</source>
-        <translation type="obsolete">sem nome</translation>
-    </message>
-    <message>
-        <source>History for </source>
-        <translation type="obsolete">Histórico</translation>
-    </message>
-    <message>
-        <source>Save image</source>
-        <translation type="obsolete">Salvar imagem</translation>
-    </message>
-    <message>
-        <source>Critical Parse Error while reading %1</source>
-        <translation type="obsolete">Erro Crítico ao ler %1</translation>
-    </message>
-    <message>
-        <source>Could not read %1</source>
-        <translation type="obsolete">Não foi possível ler %1</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Aviso</translation>
-    </message>
-    <message>
-        <source>Can&apos;t get color of heading,
-there&apos;s no branch selected</source>
-        <translation type="obsolete">Não é possível usar cor do tópico,
-não existe nenhum ramo selecionado</translation>
-    </message>
-    <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Erro Crítico ao Carregar</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation type="obsolete">Não foi possível criar diretório temporário antes de carregar
-</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">Não foi possível encontrar um mapa (.xml) dentro do arquivo .vym.
-</translation>
-    </message>
-    <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">O mapa %1
-não usa o formato de arquivo comprimido.
-Salvar no formato descomprimido também salvará imagens
-e emblemas que podem sobrescrever arquivos já presentes no diretório.
-Deseja continuar salvando este mapa?</translation>
-    </message>
-    <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">comprimido (padrão)</translation>
-    </message>
-    <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">descomprimido</translation>
-    </message>
-    <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Erro ao Salvar</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">Não foi possível criar diretório temporário antes de salvar
-</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">Exportar mapa como imagem</translation>
-    </message>
-    <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Exportar XML para diretório</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Imagens</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation type="unfinished">Editar tópico</translation>
     </message>
     <message>
-        <source>Save</source>
+        <location line="+446"/>
+        <source>Print vym map</source>
         <comment>MapEditor</comment>
-        <translation type="obsolete">Salvar</translation>
-    </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Recor&amp;tar</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Copiar</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Desfa&amp;zer</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Refazer</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">C&amp;olar</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="510"/>
-        <source>Print vym map</source>
-        <comment>MapEditor</comment>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished">Editor de Notas</translation>
     </message>
 </context>
-<context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Erro Crítico</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">Não foi possível executar %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 não terminou normalmente</translation>
-    </message>
-</context>
 <context>
     <name>QObject</name>
     <message>
-        <source>This is not an image.</source>
-        <translation type="obsolete">Imagem inválida.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>Erro Crítico ao Exportar</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation>Não foi possível criar %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location filename="../src/export-base.cpp" line="+124"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-8"/>
         <source>Export as CSV</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Warning</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Aviso</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Não foi possível abrir %1</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">Não foi possível abrir %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="-101"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
         <source>Could not export as ASCII to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location filename="../src/export-csv.cpp" line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location filename="../src/export-html.cpp" line="-367"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+190"/>
         <source>Could not find stylesheet %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation type="unfinished">Erro</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -3874,232 +2909,194 @@ Deseja continuar salvando este mapa?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>Falha ao exportar.</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>Verifique &quot;%1&quot; em
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>Não foi possível ler %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>Erro Crítico</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>Não foi possível executar &quot;zip&quot; para comprimir dados.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>&quot;zip&quot; não terminou normalmente</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>Não foi possível executar &quot;unzip&quot; para descomprimir dados.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>&quot;unzip&quot; não terminou normalmente.</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation>Não foi possível executar %1</translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
-        <translation>%1 não terminou normalmente</translation>
-    </message>
-    <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">O arquivo %1 já existe.
-Deseja sobrescrevê-lo?</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="90"/>
-        <source>Overwrite</source>
-        <translation>Sobrescrever</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="91"/>
-        <source>Cancel</source>
-        <translation>Cancelar</translation>
-    </message>
-    <message>
-        <source>Sorry, no preview for
-multiple selected files.</source>
-        <translation type="obsolete">Nenhuma previsualização
-para os arquivos selecionados.</translation>
+        <translation>%1 não terminou normalmente</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>Exportando o %1 como favoritos vai sobrescrever
-seus favoritos atuais.</translation>
+        <location line="-389"/>
+        <source>Overwrite</source>
+        <translation>Sobrescrever</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>Aviso: Sobrescrevendo %1 favoritos</translation>
+        <location line="+1"/>
+        <source>Cancel</source>
+        <translation>Cancelar</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>Aviso</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>Não foi possível encontrar o script %1
-para notificar navegadores da alteração dos favoritos.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>Erro</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>Não foi possível entrar no diretório temporário
 </translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation type="unfinished">Exportar como texto</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation type="unfinished">(ainda em testes)</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -4107,160 +3104,188 @@ Do you risk to overwrite its contents?</source>
 Deseja sobrescrever o conteúdo?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Editor de Notas</translation>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
+</source>
+        <comment>Macros::pathExists</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
+        <translation type="unfinished">Por favor use Configurações-&gt;</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
+ </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
-        <translation type="unfinished">Por favor use Configurações-&gt;</translation>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
-        <source>Form</source>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
-        <source>Save to selected slide</source>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
-        <source>Run</source>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
+        <location filename="../src/mainwindow.cpp" line="-752"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="131"/>
-        <source>Load</source>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
         <source>Save</source>
-        <translation type="unfinished">Salvar</translation>
+        <translation type="obsolete">Salvar</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation type="unfinished">Aviso</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
+        <location line="-42"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation type="unfinished">Salvar</translation>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+31"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
         <source>Save script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="155"/>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -4270,149 +3295,124 @@ já existe.
 Deseja sobrescrevê-lo?</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
+        <location line="+5"/>
         <source>Overwrite</source>
         <translation type="unfinished">Sobrescrever</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="161"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="184"/>
+        <location line="-58"/>
         <source>Load script</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation type="unfinished">Erro</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>ShowTextDialog</name>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Diálogo</translation>
+        <translation type="vanished">Diálogo</translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="50"/>
         <source>Close</source>
-        <translation>Fechar</translation>
+        <translation type="vanished">Fechar</translation>
     </message>
 </context>
 <context>
-    <name>SimpleScriptEditor</name>
-    <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">O arquivo %1
-já existe.
-Deseja sobrescrevê-lo?</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Sobrescrever</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Cancelar</translation>
-    </message>
-    <message>
-        <source>Error</source>
-        <translation type="obsolete">Erro</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">Salvar</translation>
-    </message>
+    <name>TaskEditor</name>
     <message>
-        <source>Open</source>
-        <translation type="obsolete">Abrir</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Fechar</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">Editar tópico</translation>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
@@ -4421,348 +3421,257 @@ Deseja sobrescrevê-lo?</translation>
 <context>
     <name>TextEditor</name>
     <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation>&amp;Importar...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>E&amp;xportar...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>Exportar Como... (&amp;HTML)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>Exportar Como... (&amp;Texto)</translation>
     </message>
     <message>
-        <source>Print Note</source>
-        <translation type="obsolete">Imprimir Nota</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>Im&amp;primir...</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">&amp;Editar</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation>Desfa&amp;zer</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>&amp;Refazer</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>Selecionar e copiar &amp;tudo</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>&amp;Copiar</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>Recor&amp;tar</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>C&amp;olar</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation>&amp;Apagar Tudo</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="-45"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+6"/>
         <source>&amp;Font hint</source>
         <translation>&amp;Fonte Sugerida</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>&amp;Cor...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>&amp;Negrito</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>&amp;Itálico</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>&amp;Sublinhado</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation>&amp;Esquerda</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>Ce&amp;ntralizado</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>&amp;Direita</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>&amp;Justificado</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>&amp;Configurações</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="543"/>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation>Definir fonte fi&amp;xa</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>Definir fonte &amp;variável</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>Fonte fi&amp;xa como padrão</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
+        <location line="+198"/>
         <source>Export Note to single file</source>
         <translation>Exportar Nota como Arquivo</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>Sobrescrever</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>Exportar Nota para Arquivo (Texto)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
+        <location line="+45"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation type="unfinished">Imprimir</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="-385"/>
         <source>Subs&amp;cript</source>
         <translation>S&amp;ubscrito</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
+        <location line="+10"/>
+        <source>Su&amp;perscript</source>
+        <translation>So&amp;brescrito</translation>
+    </message>
+    <message>
+        <location line="+65"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="498"/>
-        <source>Su&amp;perscript</source>
-        <translation>So&amp;brescrito</translation>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="+10"/>
         <source>Note Editor</source>
         <translation>Editor de Notas</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="-186"/>
         <source>F&amp;ormat</source>
         <translation>&amp;Formatação</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="-67"/>
         <source>Edit Actions</source>
         <translation>Ações de Edição</translation>
     </message>
     <message>
-        <source>Format Actions</source>
-        <translation type="obsolete">Ações de Formatação</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="-59"/>
         <source>Note Actions</source>
         <translation>Ações de Notas</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location line="-244"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation>Pronto</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation>Nenhum arquivo está disponível para esta nota.</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Editor de Notas</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+85"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>&amp;Nota</translation>
     </message>
     <message>
-        <source>Import</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Importar</translation>
-    </message>
-    <message>
-        <source>Export Note (HTML)</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Exportar Nota em HTML</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <comment>Status tip for Note Menu</comment>
-        <translation type="obsolete">Exportar Nota em HTML</translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Exportar Nota em Texto</translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Imprimir Nota</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Desfazer</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Refazer</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Selecionar e copiar tudo</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Copiar</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Recortar</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Colar</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Apagar tudo</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Usa sugestão de fonte enquanto digita</translation>
-    </message>
-    <message>
-        <source>Set fixed font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Definir fonta fixa</translation>
-    </message>
-    <message>
-        <source>Set variable font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Definir fonte variável</translation>
-    </message>
-    <message>
-        <source>Used fixed font by default</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Usar fonte fixa pro padrão</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+494"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -4772,7 +3681,7 @@ já existe.
 Deseja sobrescrevê-lo?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation>Não foi possível exportar nota</translation>
@@ -4781,13 +3690,13 @@ Deseja sobrescrevê-lo?</translation>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
@@ -4796,187 +3705,177 @@ Deseja sobrescrevê-lo?</translation>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation type="unfinished">sem nome</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation type="unfinished">Erro Crítico ao Ler</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation type="unfinished">Erro Crítico ao Carregar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation type="unfinished">Não foi possível criar diretório temporário antes de carregar
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation type="unfinished">Não foi possível encontrar um mapa (.xml) dentro do arquivo .vym.
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+325"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="unfinished">O mapa %1
-não usa o formato de arquivo comprimido.
-Salvar no formato descomprimido também salvará imagens
-e emblemas que podem sobrescrever arquivos já presentes no diretório.
-Deseja continuar salvando este mapa?</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
+        <location line="-365"/>
         <source>compressed (vym default)</source>
         <translation type="unfinished">comprimido (padrão)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation type="unfinished">descomprimido</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation type="unfinished">Cancelar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation type="unfinished">Erro ao Salvar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation type="unfinished">Não foi possível criar diretório temporário antes de salvar
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation type="unfinished">Imagens</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation type="unfinished">Carregar imagem</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation type="unfinished">Salvar imagem</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation type="unfinished">O arquivo %1 já existe.
 Deseja sobrescrevê-lo?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation type="unfinished">Sobrescrever</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation type="unfinished">Erro Crítico</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation type="unfinished">Erro Crítico ao Importar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation type="unfinished">Não foi possível encontrar o diretório %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation type="unfinished">Escolha o diretório para importar</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -4985,30 +3884,42 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="+3052"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-3104"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation type="unfinished">Aviso</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -5017,127 +3928,93 @@ Do you want to reload that map with the new file?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation type="unfinished">Aviso</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation type="unfinished">Nota</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation type="unfinished">Novo mapa</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Informe URL:</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Imagens</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Ligar a outro mapa</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+1273"/>
         <source>Export map as image</source>
         <translation type="unfinished">Exportar mapa como imagem</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation type="unfinished">Exportar XML para diretório</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation type="unfinished">Erro Crítico ao Exportar</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exportar como LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation type="unfinished">(ainda em testes)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="-531"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+900"/>
         <source>Load background image</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5145,18 +4022,18 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation type="unfinished">Erro Crítico</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
         <translation type="unfinished">Não foi possível executar %1</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished">%1 não terminou normalmente</translation>
     </message>
@@ -5164,13 +4041,13 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
@@ -5179,39 +4056,79 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>WarningDialog</name>
     <message>
-        <source>VYM - Warning : Foo...</source>
-        <translation type="obsolete">VYM - Aviso : </translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">Diálogo</translation>
+        <translation type="obsolete">Diálogo</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="91"/>
         <source>showAgainBox</source>
-        <translation>showAgainBox</translation>
+        <translation type="vanished">showAgainBox</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation>Cancelar</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation>OK</translation>
+        <translation type="vanished">OK</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation>Prosseguir</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">Aviso</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Fechar</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
index 4d84c89db5a7040f197460179599c6d1073e1e30..c3df98ca9ad0e95e67af43e699bdb237d792a16a 100644 (file)
@@ -4,19 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation></translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+21"/>
         <source>Please use Settings-&gt;</source>
         <translation> Используйте пункт &quot;Настройки&quot;-&gt;</translation>
     </message>
     <message>
-        <source>Set application to open an URL</source>
-        <translation type="obsolete">Выберите приложение для открытия URL</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="-3"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>Внимание</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
 </translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+3"/>
         <source>Set application to open an URL...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Attribute Dialog</name>
-    <message>
-        <source>AttributeDialog - Edit %1</source>
-        <translation type="obsolete">Редактировать %1</translation>
-    </message>
-</context>
 <context>
     <name>AttributeDialog</name>
     <message>
         <translation type="obsolete">Закрыть</translation>
     </message>
 </context>
-<context>
-    <name>AttributeWidget</name>
-    <message>
-        <source>Form</source>
-        <translation type="obsolete">Форма</translation>
-    </message>
-</context>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
         <source>Branch Property Editor</source>
-        <translation type="unfinished">Редактор свойств ветви</translation>
+        <translation type="obsolete">Редактор свойств ветви</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
         <source>Frame</source>
-        <translation type="unfinished">Обрамление</translation>
+        <translation type="obsolete">Обрамление</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
         <source>Geometry</source>
-        <translation type="unfinished">Форма</translation>
+        <translation type="obsolete">Форма</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
         <source>No Frame</source>
-        <translation type="unfinished">Без обрамления</translation>
+        <translation type="obsolete">Без обрамления</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation type="unfinished">Прямоугольник</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
-        <source>Rounded Rectangle</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Прямоугольник</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
         <source>Ellipse</source>
-        <translation type="unfinished">Эллипс</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
-        <source>Cloud</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Эллипс</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
         <source>Padding</source>
-        <translation type="unfinished">Отступы</translation>
+        <translation type="obsolete">Отступы</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
         <source>Borderline width</source>
-        <translation type="unfinished">Ширина границы</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
-        <source>Include children</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Ширина границы</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
         <source>Colors</source>
-        <translation type="unfinished">Цвета</translation>
+        <translation type="obsolete">Цвета</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
         <source>Borderline color</source>
-        <translation type="unfinished">Цвет границы</translation>
+        <translation type="obsolete">Цвет границы</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
         <source>Background color</source>
-        <translation type="unfinished">Цвет фона</translation>
+        <translation type="obsolete">Цвет фона</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
         <source>Layout</source>
-        <translation type="unfinished">Разметка</translation>
+        <translation type="obsolete">Разметка</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
         <source>Include images horizontally</source>
-        <translation type="unfinished">Размещать изображения горизонтально</translation>
+        <translation type="obsolete">Размещать изображения горизонтально</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
         <source>Include images vertically</source>
-        <translation type="unfinished">Размещать изображения вертикально</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
-        <source>Free positioning of children (experimental!)</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Размещать изображения вертикально</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
         <source>Link</source>
-        <translation type="unfinished">Ссылка</translation>
+        <translation type="obsolete">Ссылка</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
         <source>Hide link if unselected</source>
-        <translation type="unfinished">Скрыть невыбранную ссылку</translation>
+        <translation type="obsolete">Скрыть невыбранную ссылку</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
         <source>Attributes</source>
-        <translation type="unfinished">Аттрибуты</translation>
+        <translation type="obsolete">Аттрибуты</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
         <source>+</source>
-        <translation type="unfinished">+</translation>
+        <translation type="obsolete">+</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
         <source>-</source>
-        <translation type="unfinished">-</translation>
+        <translation type="obsolete">-</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
         <translation type="unfinished">Редактор свойств</translation>
     </message>
-</context>
-<context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Редактор свойств</translation>
-    </message>
     <message>
+        <location line="+22"/>
         <source>Name</source>
         <comment>Branchprop window: Attribute name</comment>
-        <translation type="obsolete">Имя</translation>
+        <translation type="unfinished">Имя</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Value</source>
         <comment>Branchprop window: Attribute value</comment>
-        <translation type="obsolete">Значение</translation>
+        <translation type="unfinished">Значение</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Type</source>
         <comment>Branchprop window: Attribute type</comment>
-        <translation type="obsolete">Тип</translation>
-    </message>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation type="obsolete">Редактор свойств ветви</translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation type="obsolete">Обрамление</translation>
-    </message>
-    <message>
-        <source>Geometry</source>
-        <translation type="obsolete">Форма</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Без обрамления</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Прямоугольник</translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation type="obsolete">Эллипс</translation>
-    </message>
-    <message>
-        <source>Padding</source>
-        <translation type="obsolete">Отступы</translation>
-    </message>
-    <message>
-        <source>Borderline width</source>
-        <translation type="obsolete">Ширина границы</translation>
-    </message>
-    <message>
-        <source>Colors</source>
-        <translation type="obsolete">Цвета</translation>
-    </message>
-    <message>
-        <source>Borderline color</source>
-        <translation type="obsolete">Цвет границы</translation>
-    </message>
-    <message>
-        <source>Background color</source>
-        <translation type="obsolete">Цвет фона</translation>
+        <translation type="unfinished">Тип</translation>
     </message>
     <message>
-        <source>Layout</source>
-        <translation type="obsolete">Разметка</translation>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Размещать изображения горизонтально</translation>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Размещать изображения вертикально</translation>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <source>Link</source>
-        <translation type="obsolete">Ссылка</translation>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hide link if unselected</source>
-        <translation type="obsolete">Скрыть невыбранную ссылку</translation>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <source>Attributes</source>
-        <translation type="obsolete">Аттрибуты</translation>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <source>+</source>
-        <translation type="obsolete">+</translation>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Закрыть</translation>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation>Изменить XLink</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
-        <source>Arrow begin:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Изменить XLink</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation>Ширина XLink:</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
-        <source>Use color of heading</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
-        <source>Line style:</source>
-        <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
-        <source>Arrow end:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Ширина XLink:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
         <source>Close</source>
-        <translation type="unfinished">Закрыть</translation>
-    </message>
-    <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">Цвет заголовка</translation>
+        <translation type="obsolete">Закрыть</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
         <source>XLink color:</source>
-        <translation>Цвет XLink:</translation>
+        <translation type="vanished">Цвет XLink:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
         <source>Use as default:</source>
-        <translation>Использовать по умолчанию:</translation>
-    </message>
-    <message>
-        <source>Quit and delete XLink</source>
-        <translation type="obsolete">Выйти и удалить XLink</translation>
-    </message>
-    <message>
-        <source>Ok</source>
-        <translation type="obsolete">OK</translation>
+        <translation type="vanished">Использовать по умолчанию:</translation>
     </message>
 </context>
 <context>
-    <name>ExportHTMLDialog</name>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
-        <source>Export HTML</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
-        <source>Export to directory:</source>
-        <translation type="unfinished">Экспорт в каталог:</translation>
-    </message>
+    <name>ExportConfluenceDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
-        <source>Browse</source>
-        <translation type="unfinished">Обзор</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation type="unfinished">Опции</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
-        <source>Image of map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
-        <source>Include images</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Опции</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
-        <source>Table of contents</source>
-        <translation type="unfinished"></translation>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Цветные заголовки в тексте</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
-        <source>Task flags</source>
-        <translation type="unfinished"></translation>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Сохранить настройки в карте</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
-        <source>General flags</source>
-        <translation type="unfinished"></translation>
+        <source>Cancel</source>
+        <translation type="obsolete">Отмена</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
-        <source>Number sections</source>
-        <translation type="unfinished"></translation>
+        <source>Export</source>
+        <translation type="obsolete">Экспортировать</translation>
     </message>
+</context>
+<context>
+    <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
-        <source>Copy CSS from </source>
-        <translation type="unfinished"></translation>
+        <source>Export to directory:</source>
+        <translation type="obsolete">Экспорт в каталог:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
-        <source>Use CSS from</source>
-        <translation type="unfinished"></translation>
+        <source>Browse</source>
+        <translation type="obsolete">Обзор</translation>
     </message>
     <message>
-        <source>Include image</source>
-        <translation type="obsolete">Include image</translation>
+        <source>Options</source>
+        <translation type="obsolete">Опции</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation type="unfinished">Цветные заголовки в тексте</translation>
+        <translation type="obsolete">Цветные заголовки в тексте</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation type="unfinished">Сохранить настройки в карте</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">показывать вывод внешних скриптов</translation>
+        <translation type="obsolete">Сохранить настройки в карте</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation type="unfinished">Стили</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
+        <translation type="obsolete">Стили</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation type="unfinished">Сценарии</translation>
+        <translation type="obsolete">Сценарии</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation type="unfinished">После экспорта:</translation>
+        <translation type="obsolete">После экспорта:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation type="unfinished">Отмена</translation>
+        <translation type="obsolete">Отмена</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
         <source>Export</source>
-        <translation type="unfinished">Экспортировать</translation>
+        <translation type="obsolete">Экспортировать</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -507,7 +348,7 @@ want to allow this in your system!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation type="unfinished">VYM - Экспортировать HTML в папку</translation>
     </message>
@@ -578,48 +419,6 @@ want to allow this in your system!</source>
         <source>Cancel</source>
         <translation type="obsolete">Отмена</translation>
     </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Предупреждение</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</translation>
-    </message>
-    <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation type="obsolete">VYM - Экспортировать HTML в папку</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">Ошибка при открытии %1</translation>
-    </message>
-    <message>
-        <source>Could not write %1</source>
-        <translation type="obsolete">Ошибка при записи %1</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Критическая ошибка</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">Ошибка при запуске %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 завершился с ошибкой</translation>
-    </message>
     <message>
         <source>show warnings of xslt processor</source>
         <translation type="obsolete">показывать предупреждения XSLT процессора</translation>
@@ -628,172 +427,138 @@ want to allow this in your system!</translation>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
         <source>VYM - Info</source>
-        <translation>VYM - Информация</translation>
+        <translation type="vanished">VYM - Информация</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
         <source>Map:</source>
-        <translation>Карта:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
-        <source>Title:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Карта:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
         <source>Author:</source>
-        <translation>Автор:</translation>
+        <translation type="vanished">Автор:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
         <source>Comment:</source>
-        <translation>Комментарии:</translation>
+        <translation type="vanished">Комментарии:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation>Статистика:</translation>
+        <translation type="vanished">Статистика:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation>Отмена</translation>
+        <translation type="vanished">Отмена</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation>Закрыть</translation>
+        <translation type="vanished">Закрыть</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>FindWindow</name>
+    <name>HeadingEditor</name>
     <message>
-        <source>Clear</source>
-        <translation type="obsolete">Очистить</translation>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
+        <source>Heading Editor</source>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>HistoryWindow</name>
     <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Отмена</translation>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
-        <source>Find</source>
-        <translation type="obsolete">Найти</translation>
+        <source>Redo</source>
+        <translation type="vanished">Вернуть</translation>
     </message>
     <message>
-        <source>Find Text</source>
-        <translation type="obsolete">Найти текст</translation>
-    </message>
-    <message>
-        <source>Text to find:</source>
-        <translation type="obsolete">Искать текст:</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">Новая Карта</translation>
-    </message>
-</context>
-<context>
-    <name>HeadingEditor</name>
-    <message>
-        <location filename="../headingeditor.cpp" line="9"/>
-        <source>Heading Editor</source>
-        <comment>Window caption</comment>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>HistoryWindow</name>
-    <message>
-        <location filename="../historywindow.ui" line="13"/>
-        <source>Dialog</source>
-        <translation>Dialog</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="50"/>
-        <source>Redo</source>
-        <translation>Вернуть</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation>Время</translation>
+        <translation type="vanished">Время</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation>Комментарий</translation>
+        <translation type="vanished">Комментарий</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation>Отменить</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>Закрыть</translation>
+        <translation type="vanished">Отменить</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation>Действия</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>Комментировать</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation>Вернуть действие</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation>Текущее состояние</translation>
     </message>
 </context>
 <context>
-    <name>LineEditDialog</name>
+    <name>JiraAgent</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
-        <source>Dialog</source>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
-        <source>TextLabel</source>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">Добавить</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">Удалить</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation type="unfinished">Отмена</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation type="unfinished">OK</translation>
     </message>
@@ -801,19 +566,12 @@ want to allow this in your system!</translation>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -821,1080 +579,1141 @@ want to allow this in your system!</translation>
 <context>
     <name>Main</name>
     <message>
-        <source>Close Map</source>
-        <translation type="obsolete">Закрыть Карту</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">Отменить</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <translation type="obsolete">Копировать</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <translation type="obsolete">Вырезать</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <translation type="obsolete">Вставить</translation>
-    </message>
-    <message>
-        <source>Move branch up</source>
-        <translation type="obsolete">Переместить вверх</translation>
-    </message>
-    <message>
-        <source>Move branch down</source>
-        <translation type="obsolete">Переместить вниз</translation>
-    </message>
-    <message>
-        <source>Scroll branch</source>
-        <translation type="obsolete">Свернуть ветвь</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Найти</translation>
-    </message>
-    <message>
-        <source>Open URL</source>
-        <translation type="obsolete">Открыть URL</translation>
-    </message>
-    <message>
-        <source>Edit URL</source>
-        <translation type="obsolete">Редактировать URL</translation>
-    </message>
-    <message>
-        <source>Use heading of selected branch as URL</source>
-        <translation type="obsolete">Использовать заголовок выбранной ветви как URL</translation>
-    </message>
-    <message>
-        <source>Jump to another vym map, if needed load it first</source>
-        <translation type="obsolete">Перейти на другую vym-Карту если необходимо загрузить её первой</translation>
-    </message>
-    <message>
-        <source>Edit link to another vym map</source>
-        <translation type="obsolete">Редактировать ссылку на другую vym-Карту</translation>
-    </message>
-    <message>
-        <source>Delete link to another vym map</source>
-        <translation type="obsolete">Удалить ссылку на другую vym-Карту</translation>
-    </message>
-    <message>
-        <source>Edit Map Info</source>
-        <translation type="obsolete">Изменить данные о Карте</translation>
-    </message>
-    <message>
-        <source>edit Heading</source>
-        <translation type="obsolete">Изменить заголовок</translation>
-    </message>
-    <message>
-        <source>Delete Selection</source>
-        <translation type="obsolete">Удалить выделенное</translation>
-    </message>
-    <message>
-        <source>Add a branch as child of selection</source>
-        <translation type="obsolete">Добавить новый дочерний узел</translation>
-    </message>
-    <message>
-        <source>Add a branch above selection</source>
-        <translation type="obsolete">Новый дочерний узел до выбранного</translation>
-    </message>
-    <message>
-        <source>Add a branch below selection</source>
-        <translation type="obsolete">Новый дочерний узел после выбранного</translation>
-    </message>
-    <message>
-        <source>Add map at selection</source>
-        <translation type="obsolete">Добавить Карту к выделенному</translation>
-    </message>
-    <message>
-        <source>Replace selection with map</source>
-        <translation type="obsolete">Заменить выделенное на Карту</translation>
-    </message>
-    <message>
-        <source>Save selection</source>
-        <translation type="obsolete">Сохранить выделенное</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <translation type="obsolete">Выбрать ветвь верхнего уровня</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <translation type="obsolete">Выбрать ветвь нижнего уровня</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <translation type="obsolete">Выбрать левую ветвь</translation>
-    </message>
-    <message>
-        <source>Select right branch</source>
-        <translation type="obsolete">Выбрать правую ветвь</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <translation type="obsolete">Выбрать первую ветвь</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <translation type="obsolete">Выбрать последнюю ветвь</translation>
-    </message>
-    <message>
-        <source>Add Image</source>
-        <translation type="obsolete">Добавить изображение</translation>
-    </message>
-    <message>
-        <source>Set Color</source>
-        <translation type="obsolete">Цвет</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>&amp;Цвет</translation>
-    </message>
-    <message>
-        <source>Pick color
-Hint: You can pick a color from another branch and color using CTRL+Left Button</source>
-        <translation type="obsolete">Выбор цвета
-Подсказка: Вы можете использовать цвет другой ветви используя CTRL+ЛеваяКлавишаМыши</translation>
-    </message>
-    <message>
-        <source>Color branch</source>
-        <translation type="obsolete">Цвет ветви</translation>
-    </message>
-    <message>
-        <source>Color Subtree</source>
-        <translation type="obsolete">Цвет поддерева</translation>
-    </message>
-    <message>
-        <source>Line</source>
-        <translation type="obsolete">Линия</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
         <source>Linkstyle Line</source>
         <translation>Линия-ссылка</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Line</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use same color for links and headings</source>
-        <translation type="obsolete">Использовать один цвет для ссылок и заголовков</translation>
-    </message>
-    <message>
-        <source>Set Link Color</source>
-        <translation type="obsolete">Установить цвет сслыки</translation>
-    </message>
-    <message>
-        <source>Set Background Color</source>
-        <translation type="obsolete">Установить цвет фона</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
+        <location line="+42"/>
         <source>Set &amp;Background Color</source>
         <translation>&amp;Установить цвет фона</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
+        <location line="+14"/>
         <source>&amp;View</source>
         <translation>&amp;Вид</translation>
     </message>
     <message>
-        <source>Zoom reset</source>
-        <translation type="obsolete">Масштаб по-умолчанию</translation>
-    </message>
-    <message>
-        <source>Zoom in</source>
-        <translation type="obsolete">Увеличить</translation>
-    </message>
-    <message>
-        <source>Zoom out</source>
-        <translation type="obsolete">Уменьшить</translation>
-    </message>
-    <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">&amp;Настройки</translation>
-    </message>
-    <message>
-        <source>Set application to open pdf files</source>
-        <translation type="obsolete">Установить приложение для открытия pdf</translation>
-    </message>
-    <message>
-        <source>Edit branch after adding it</source>
-        <translation type="obsolete">Редактировать ветвь после добавления</translation>
-    </message>
-    <message>
-        <source>Select branch after adding it</source>
-        <translation type="obsolete">Выбрать ветвь после добавления</translation>
-    </message>
-    <message>
-        <source>Select heading before editing</source>
-        <translation type="obsolete">Выбрать заголовок после редактирования</translation>
-    </message>
-    <message>
-        <source>&amp;Test</source>
-        <translation type="obsolete">&amp;Тест</translation>
-    </message>
-    <message>
-        <source>Open VYM Documentation (pdf)</source>
-        <translation type="obsolete">Открыть документацию VYM (pdf)</translation>
-    </message>
-    <message>
-        <source>Information about QT toolkit</source>
-        <translation type="obsolete">Информация о QT</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
+        <location line="+1867"/>
         <source>Overwrite</source>
         <translation>Перезаписать</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
         <source>Cancel</source>
         <translation>Отмена</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
+        <location line="-2078"/>
         <source>Formatting</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
+        <location line="+120"/>
         <source>Views</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
+        <location line="+900"/>
         <source>Download and show release notes</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
+        <location line="+4"/>
         <source>Check, if updates are available</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
+        <location line="+552"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+70"/>
         <source>Open anyway</source>
         <translation>Открывать всегда</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
+        <location line="+73"/>
         <source>Create</source>
         <translation>Создать</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
+        <location line="+86"/>
         <source>Load vym map</source>
         <translation>Загрузить карту в формате VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
+        <location line="+6"/>
         <source>Import: Add vym map to selection</source>
         <translation>Импортирование: Добавить vym-Карту к выделению</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
+        <location line="+4"/>
         <source>Import: Replace selection with vym map</source>
         <translation>Импортирование: Заменить выделение vym-Картой</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
+        <location line="+211"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+402"/>
         <source>Save modified map before closing it</source>
         <translation>Сохранить изменнеую Карту перед закрытием</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
+        <location line="+1"/>
         <source>Discard changes</source>
         <translation>Отменить изменения</translation>
     </message>
     <message>
-        <source>This map is not saved yet. Do you want to</source>
-        <translation type="obsolete">Эта карта не сохранена. Вы хотите</translation>
-    </message>
-    <message>
-        <source>Save map</source>
-        <translation type="obsolete">Сохранить Карту</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
+        <location line="+1411"/>
         <source>VYM -Information:</source>
         <translation>Информация VYM:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
+        <location line="-2265"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
         <source>Critical Error</source>
         <translation>Критическая ошибка</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
+        <location line="+2109"/>
         <source>Critcal error</source>
         <translation>Критическая ошибка</translation>
     </message>
     <message>
-        <source>Remove only branch and keep its childs</source>
-        <translation type="obsolete">Удалить только ветвь и сохранить дочерние узлы</translation>
-    </message>
-    <message>
-        <source>Remove childs of branch</source>
-        <translation type="obsolete">Удалить потомков ветви</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
+        <location line="-3798"/>
         <source>Add</source>
         <translation>Добавить</translation>
     </message>
     <message>
-        <source>Set application to open external links</source>
-        <translation type="obsolete">Выберите приложение для открытия внешних ссылок</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation type="unfinished">Редактор Заметок</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="260"/>
+        <location line="-2909"/>
         <source>Search results list</source>
         <comment>FindResultWidget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="obsolete">&amp;Карта</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
+        <location line="+3108"/>
         <source>File actions toolbar</source>
         <comment>Toolbar for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
+        <location line="-2171"/>
         <source>PDF%1</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
+        <location line="+5"/>
         <source>SVG%1</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
+        <location line="-63"/>
         <source>Repeat last export (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
+        <location line="+2248"/>
         <source>Edit actions toolbar</source>
         <comment>Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="314"/>
+        <location line="-3065"/>
         <source>Task list</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
+        <location line="-51"/>
         <source>Script Editor</source>
         <comment>ScriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="218"/>
+        <location line="-49"/>
         <source>Main window</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="219"/>
+        <location line="+1"/>
         <source>Map Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="220"/>
+        <location line="+1"/>
         <source>Text Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="967"/>
+        <location line="+830"/>
         <source>&amp;Map</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished">&amp;Карта</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="992"/>
+        <location line="+28"/>
         <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
+        <location line="+288"/>
         <source>Add attribute</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
+        <location line="+131"/>
         <source>&amp;Detach</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
+        <location line="+1"/>
         <source>Detach branch and use as mapcenter</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
+        <location line="+19"/>
         <source>Sort children backwards</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
+        <location line="+81"/>
         <source>Expand all branches</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
+        <location line="+8"/>
         <source>Expand one level</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
+        <location line="-33"/>
         <source>Collapse one level</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
+        <location line="+13"/>
         <source>Collapse unselected levels</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
+        <location line="-47"/>
         <source>Unscroll children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation type="unfinished">Таблица</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
+        <location line="-304"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
+        <location line="+210"/>
         <source>Move branch up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">Переместить вверх</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
+        <location line="+13"/>
         <source>Move branch down</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">Переместить вниз</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
-        <source>Grow selection</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
-        <source>Shrink selection</source>
+        <location line="+13"/>
+        <source>Move branch diagonally up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
-        <source>Reset selection size</source>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
+        <location line="+60"/>
+        <source>Grow selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
+        <location line="+9"/>
+        <source>Shrink selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
+        <location line="+9"/>
+        <source>Reset selection size</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
+        <location line="+54"/>
+        <source>References Context menu</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
+        <location line="+74"/>
+        <source>Get data from JIRA for subtree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
+        <location line="+20"/>
         <source>vymlinks - linking maps</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
+        <location line="+44"/>
         <source>Exports</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
+        <location line="+13"/>
         <source>Tasks</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
+        <location line="+1"/>
         <source>Toggle task</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
+        <location line="+12"/>
         <source>Cycle task status</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
+        <location line="+21"/>
         <source>Reset sleep</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Sleep %1 days</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
+        <location line="-55"/>
         <source>Sleep %1 day</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
+        <location line="+66"/>
+        <location line="+11"/>
         <source>Sleep %1 weeks</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
+        <location line="+32"/>
         <source>Removing parts of a map</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
+        <location line="+24"/>
         <source>Various</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
+        <location line="+12"/>
         <source>Map properties...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
+        <location line="+30"/>
         <source>Selections</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
+        <location line="+1"/>
         <source>Select</source>
         <comment>Select menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
+        <location line="+3"/>
         <source>Toggle target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
+        <location line="+10"/>
         <source>Goto target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
+        <location line="+9"/>
         <source>Move to target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
+        <location line="+39"/>
         <source>Unselect all</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
+        <location line="+8"/>
         <source>Search functions</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
+        <location line="+16"/>
         <source>Find duplicate URLs</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
+        <location line="+216"/>
         <source>Note editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
+        <location line="+12"/>
         <source>Heading editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
+        <location line="+218"/>
+        <source>Images</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Info</source>
-        <translation type="obsolete">Информация</translation>
+        <location line="+539"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
-        <comment>Edit menu</comment>
+        <location line="+308"/>
+        <source>Select color (Press Shift for more options)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
-        <source>Extract URLs from note</source>
-        <comment>Edit menu</comment>
+        <location line="+60"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
-        <source>Add timestamp</source>
-        <comment>Edit menu</comment>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
-        <source>Remove children</source>
-        <comment>Edit menu</comment>
+        <location line="-1554"/>
+        <source>(experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation type="unfinished"></translation>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Закладки Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
+        <location line="+635"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+645"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to draw xLinks</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+205"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Важно</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Назад</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Фперёд</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Посмотреть тут</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Опасность</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Не забыть</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Флаг</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Дом</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Телефон</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Музыка</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Почта</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Пароль</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">На улучшение</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Стоп</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Magic</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">На обсуждение</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Напоминание</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Великолепно</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Linux</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Мило</translation>
+    </message>
+    <message>
+        <location line="+137"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+25"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+82"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4155"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-5574"/>
+        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Extract URLs from note</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+308"/>
+        <source>Add timestamp</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-11"/>
+        <source>Remove children</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+333"/>
         <source>Center on selection</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
+        <location line="+1195"/>
         <source>Editors toolbar</source>
         <comment>Editor Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
+        <location line="+12"/>
         <source>Modifier modes toolbar</source>
         <comment>Modifier Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
+        <location line="-3208"/>
         <source>Property Editor</source>
         <comment>PropertyEditor</comment>
         <translation type="unfinished">Редактор свойств</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="287"/>
+        <location line="-6"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
         <source>History window</source>
         <comment>HistoryWidget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
+        <location line="+815"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
         <source>Webpage (HTML)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
+        <location line="+5"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
         <source>Text (ASCII)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
+        <location line="+5"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
         <source>Text with tasks</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
+        <location line="+7"/>
         <source>Text (A&amp;O report)...</source>
         <comment>Export format</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
+        <location line="+30"/>
+        <source>CSV...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+69"/>
         <source>E&amp;dit</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
+        <location line="+417"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
         <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
+        <location line="+254"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+56"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
         <source>Select previous</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
+        <location line="+10"/>
         <source>Select next</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
+        <location line="+84"/>
         <source>Select default font</source>
         <comment>Branch attribute</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
+        <location line="+83"/>
         <source>Toolbars</source>
         <comment>Toolbars overview in view menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
+        <location line="+8"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+28"/>
         <source>Rotate counterclockwise</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
+        <location line="+9"/>
         <source>Rotate rclockwise</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
+        <location line="+64"/>
         <source>Tree editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
+        <location line="+9"/>
         <source>Task editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
+        <location line="+11"/>
         <source>Slide editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
+        <location line="+9"/>
         <source>Script editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
+        <location line="+8"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+54"/>
         <source>Next slide</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
+        <location line="+7"/>
         <source>Previous slide</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
+        <location line="+175"/>
+        <source>Map target</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
-        <source>Map target</source>
-        <comment>SystemFlag</comment>
+        <location line="+865"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
+        <location line="+34"/>
         <source>Standard Flags toolbar</source>
         <comment>Standard Flag Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
+        <location line="-874"/>
         <source>Status - ok,done</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
-        <source>Status - work in progress</source>
-        <comment>Standardflag</comment>
+        <location line="-335"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
-        <source>Status - missing, not started</source>
+        <location line="+339"/>
+        <source>Status - work in progress</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+5"/>
+        <source>Status - missing, not started</source>
+        <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+328"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
+        <location line="+106"/>
         <source>Automatic layout</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
+        <location line="+11"/>
         <source>Test</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
+        <location line="+49"/>
         <source>Show keyboard shortcuts</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
+        <location line="+4"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
         <source>Debug info</source>
         <comment>Option to show debugging info</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
+        <location line="+56"/>
         <source>Tasks</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
+        <location line="+40"/>
         <source>XLinks</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
+        <location line="+7"/>
         <source>Follow XLink</source>
         <comment>Context menu</comment>
         <translation type="unfinished">Перейти по XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
+        <location line="+130"/>
         <source>Undo and clipboard toolbar</source>
         <comment>Toolbar for redo/undo and clipboard</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
+        <location line="+29"/>
         <source>Selection toolbar</source>
         <comment>Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
+        <location line="+9"/>
         <source>URLs and vymLinks toolbar</source>
         <comment>Toolbar for URLs and vymlinks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
+        <location line="+6"/>
         <source>Colors toolbar</source>
         <comment>Colors toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation type="unfinished">vym-map</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
+        <location line="+319"/>
         <source>The map %1
 is already opened.Opening the same map in multiple editors may lead 
 to confusion when finishing working with vym.Do you want to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
+        <location line="+75"/>
         <source>This map does not exist:
   %1
 Do you want to create a new one?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
+        <location line="+48"/>
         <source>Loading: %1</source>
         <comment>Progress dialog while loading maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
+        <location line="+60"/>
         <source>or</source>
         <comment>File Dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
+        <location line="+116"/>
         <source>Saved  %1</source>
         <translation>Сохранено %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
+        <location line="+4"/>
         <source>Couldn&apos;t save </source>
         <translation>Ошибка при сохранении</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
+        <location line="+23"/>
         <source>Save map as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
+        <location line="+8"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <location line="+92"/>
         <source>The file %1
 exists already. Do you want to</source>
         <translation>Файл %1
 уже существует. Вы хотите</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
+        <location line="-54"/>
+        <location line="+82"/>
         <source>Couldn&apos;t save %1,
 because of existing lockfile:
 
@@ -1902,1437 +1721,1003 @@ because of existing lockfile:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
+        <location line="-45"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
+        <location line="+51"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+150"/>
         <source>Couldn&apos;t find configuration for export to LibreOffice
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
+        <location line="+88"/>
         <source>The map %1 has been modified but not saved yet. Do you want to</source>
         <translation>Карта %1 была измененеа, но изменения не сохранены. Вы хотите</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
+        <location line="+178"/>
         <source>Enter URL:</source>
         <translation type="unfinished">Введите URL:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
+        <location line="+23"/>
         <source>HTML</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
+        <location line="+1"/>
         <source>Text</source>
         <comment>Filedialog</comment>
         <translation type="unfinished">Текст</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
+        <location line="+1"/>
         <source>Spreadsheet</source>
         <comment>Filedialog</comment>
         <translation type="unfinished">Таблица</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
+        <location line="+1"/>
         <source>Textdocument</source>
         <comment>Filedialog</comment>
         <translation type="unfinished">Текстовый документ</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
+        <location line="+1"/>
         <source>Images</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
+        <location line="+4"/>
         <source>Set URL to a local file</source>
         <translation type="unfinished">Задать URL на локальный файл</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
+        <location line="+125"/>
         <source>Couldn&apos;t open map %1</source>
         <translation>Ошибка при открытии Карты %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <source>Please allow vym to download release notes!</source>
-        <translation type="unfinished"></translation>
+        <location line="+44"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">Ссылка на другую vym-Карту</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
-        <source>Allow</source>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
-        <source>Do not allow</source>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
-        <source>Thank you for enabling downloads!</source>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
-        <source>Update information</source>
+        <location line="+680"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
-        <source>vym is up to date.</source>
-        <comment>MainWindow</comment>
+        <location line="+160"/>
+        <source>Load vym script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
-        <source>Checking for updates...</source>
-        <comment>MainWindow</comment>
+        <location line="+106"/>
+        <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Please allow vym to check for updates!</source>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Exit</source>
-        <translation type="obsolete">Выход</translation>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translation type="obsolete">Вернуть</translation>
+        <location line="+1086"/>
+        <source>Please allow vym to download release notes!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hide link</source>
-        <translation type="obsolete">Скрыть ссылку</translation>
+        <location line="+62"/>
+        <source>Allow</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation>Аккуратнее!</translation>
+        <location line="+1"/>
+        <source>Do not allow</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation>Уверены?</translation>
+        <location line="+5"/>
+        <source>Thank you for enabling downloads!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>Update information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>vym is up to date.</source>
+        <comment>MainWindow</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+48"/>
+        <source>Checking for updates...</source>
+        <comment>MainWindow</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Please allow vym to check for updates!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>ok!</source>
+        <location line="-4729"/>
+        <source>Take care!</source>
         <comment>Standardflag</comment>
-        <translation type="obsolete">OK!</translation>
+        <translation>Аккуратнее!</translation>
     </message>
     <message>
-        <source>Not ok!</source>
+        <location line="+5"/>
+        <source>Really?</source>
         <comment>Standardflag</comment>
-        <translation type="obsolete">Не ОK!</translation>
+        <translation>Уверены?</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
+        <location line="-24"/>
         <source>This won&apos;t work!</source>
         <comment>Standardflag</comment>
         <translation>Не будет работать!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
+        <location line="+38"/>
         <source>Good</source>
         <comment>Standardflag</comment>
         <translation>Хорошо</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
+        <location line="+4"/>
         <source>Bad</source>
         <comment>Standardflag</comment>
         <translation>Плохо</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
+        <location line="+48"/>
         <source>Time critical</source>
         <comment>Standardflag</comment>
         <translation>Временные рамки</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
+        <location line="-58"/>
         <source>Idea!</source>
         <comment>Standardflag</comment>
         <translation>О, идея!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
+        <location line="+25"/>
         <source>Important</source>
         <comment>Standardflag</comment>
         <translation>Важно</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
+        <location line="+5"/>
         <source>Unimportant</source>
         <comment>Standardflag</comment>
         <translation>Неважно</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
+        <location line="+15"/>
         <source>I like this</source>
         <comment>Standardflag</comment>
         <translation>Мне это нравится</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
+        <location line="+3"/>
         <source>I do not like this</source>
         <comment>Standardflag</comment>
         <translation>Мне это не нравится</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
+        <location line="-26"/>
         <source>Dangerous</source>
         <comment>Standardflag</comment>
         <translation>Опасность</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
+        <location line="+30"/>
         <source>This will help</source>
         <comment>Standardflag</comment>
         <translation>Должно помочь</translation>
     </message>
     <message>
-        <source>About VYM</source>
-        <translation type="obsolete">О View Your Mind</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
+        <location line="+1554"/>
+        <location line="+54"/>
+        <location line="+1"/>
         <source>Import</source>
         <translation>Импортировать</translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <translation type="obsolete">Закладки KDE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
+        <location line="-3186"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
         <source>(still experimental)</source>
         <translation>(still experimental)</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Экспортировать в LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
+        <location line="-3237"/>
         <source>&amp;Print</source>
         <translation>&amp;Печать</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
+        <location line="+3168"/>
+        <location line="+68"/>
         <source>Export to</source>
         <translation>Экспортировать в</translation>
     </message>
     <message>
-        <source>Hide object in exports</source>
-        <translation type="obsolete">Скрыть объект при экспорте</translation>
-    </message>
-    <message>
-        <source>Use hide flag during exports </source>
-        <translation type="obsolete">Не экспортировать помеченные объекты</translation>
-    </message>
-    <message>
-        <source>Open URL in new tab</source>
-        <translation type="obsolete">Открыть URL в новой закладке</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
         <source>Warning</source>
         <translation>Предупреждение</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
+        <location line="-2733"/>
+        <location line="+2345"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <translation>Не найдено приложение для открытия %1.</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="-2344"/>
+        <location line="+2345"/>
         <source>Please use Settings-&gt;</source>
         <translation> Используйте пункт &quot;Настройки&quot;-&gt;</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
+        <location line="-2344"/>
+        <location line="+1260"/>
         <source>Set application to open an URL</source>
         <translation>Выберите приложение для открытия URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Ошибка при запуске %1 для открытия в новой закладке %2.</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation type="unfinished">Ссылка на другую Карту</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
+        <location line="-870"/>
         <source>Couldn&apos;t set sleep time to %1.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
+        <location line="+49"/>
         <source>branches</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
+        <location line="+7"/>
         <source>notes</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
+        <location line="+1"/>
         <source>images</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
+        <location line="+3"/>
         <source>slides</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
+        <location line="+2"/>
         <source>xLinks</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
+        <location line="+796"/>
+        <location line="+1097"/>
         <source>Set application to open PDF files</source>
         <translation>Выберите приложение для открытия PDF документов</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
+        <location line="-4311"/>
         <source>Oh no!</source>
         <comment>Standardflag</comment>
         <translation>Вот блин!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
+        <location line="+37"/>
         <source>Call...</source>
         <comment>Standardflag</comment>
         <translation>Звонок...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
+        <location line="-20"/>
         <source>Very important!</source>
         <comment>Standardflag</comment>
         <translation>Очень важно!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
+        <location line="+5"/>
         <source>Very unimportant!</source>
         <comment>Standardflag</comment>
         <translation>Совсем неважно!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
+        <location line="+24"/>
         <source>Rose</source>
         <comment>Standardflag</comment>
         <translation>Розочка</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
+        <location line="-3"/>
         <source>Surprise!</source>
         <comment>Standardflag</comment>
         <translation>Сюрприз!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
+        <location line="-64"/>
         <source>Info</source>
         <comment>Standardflag</comment>
         <translation>Информация</translation>
     </message>
     <message>
+        <location line="+1605"/>
         <source>Firefox Bookmarks</source>
-        <translation type="obsolete">Закладки Firefox</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <translation type="obsolete">Показать редактор заметок</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation>Закладки</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">Ошибка при запуске %1 для открытия в новой закладке</translation>
-    </message>
-    <message>
-        <source>Standard Flags</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation type="obsolete">Стандартные флаги</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">Ошибка конфигурации экспорта в Open Office
-</translation>
-    </message>
-    <message>
-        <source>No matches found for &quot;%1&quot;</source>
-        <translation type="obsolete">Совпадений не найдено для &quot;%1&quot;</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <translation type="obsolete">&amp;Карта</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree</source>
-        <translation type="obsolete">Открыть все URL в поддереве</translation>
-    </message>
-    <message>
-        <source>Open all vym links in subtree</source>
-        <translation type="obsolete">Открыть все vym-ссылки в поддереве</translation>
-    </message>
-    <message>
-        <source>Sorry, currently only Konqueror and Mozilla support tabbed browsing.</source>
-        <translation type="obsolete">Извините, в данный момент только Konwueror и Mozilla поддерживают закладки.</translation>
-    </message>
-    <message>
-        <source>New map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Новая Карта</translation>
+        <translation type="unfinished">Закладки Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="985"/>
+        <location line="-3184"/>
         <source>&amp;Open...</source>
         <comment>File menu</comment>
         <translation>&amp;Открыть...</translation>
     </message>
     <message>
-        <source>Open</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Открыть</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
+        <location line="+16"/>
         <source>Open Recent</source>
         <comment>File menu</comment>
         <translation>Открыть последние</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
+        <location line="+3"/>
         <source>&amp;Save...</source>
         <comment>File menu</comment>
         <translation>&amp;Сохранить...</translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Сохранить</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
+        <location line="+9"/>
         <source>Save &amp;As...</source>
         <comment>File menu</comment>
         <translation>Сохранить &amp;как...</translation>
     </message>
     <message>
-        <source>Save &amp;As</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Сохранить &amp;как</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
+        <location line="+11"/>
         <source>Import</source>
         <comment>File menu</comment>
         <translation>Импортировать</translation>
     </message>
     <message>
-        <source>Import %1</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Импортировать %1</translation>
-    </message>
-    <message>
-        <source>KDE bookmarks</source>
-        <translation type="obsolete">Закладки KDE</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Закладки Firefox</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Импортировать %1</translation>
-    </message>
-    <message>
-        <source>Import Dir%1</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Папка для импортирования %1</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Import directory structure (experimental)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
+        <location line="+23"/>
         <source>Export</source>
         <comment>File menu</comment>
         <translation>Экспортировать</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
+        <location line="+56"/>
         <source>Image%1</source>
         <comment>File export menu</comment>
         <translation>Изображение%1</translation>
     </message>
     <message>
-        <source>Export map as image</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Экспортировать Карту как изображение</translation>
-    </message>
-    <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Экспортировать в формат Open Document (Open Office)</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Экспоритровать в %1</translation>
-    </message>
-    <message>
-        <source> webpage (XHTML)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">веб-страница (XHTML)</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <translation type="obsolete">Экспоритровать в %1</translation>
-    </message>
-    <message>
-        <source>KDE Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Закладки KDE</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Печать</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
+        <location line="+65"/>
         <source>&amp;Close Map</source>
         <comment>File menu</comment>
         <translation>&amp;Закрыть Карту</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
+        <location line="+7"/>
         <source>E&amp;xit</source>
         <comment>File menu</comment>
         <translation>&amp;Выход</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Правка</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
+        <location line="+26"/>
         <source>&amp;Undo</source>
         <comment>Edit menu</comment>
         <translation>&amp;Отменить</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
+        <location line="+11"/>
         <source>&amp;Redo</source>
         <comment>Edit menu</comment>
         <translation>&amp;Вернуть</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
+        <location line="+11"/>
         <source>&amp;Copy</source>
         <comment>Edit menu</comment>
         <translation>&amp;Копировать</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
+        <location line="+11"/>
         <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
         <translation>Выреза&amp;ть</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
+        <location line="+13"/>
         <source>&amp;Paste</source>
         <comment>Edit menu</comment>
         <translation>&amp;Вставить</translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Изменить заголовок</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
+        <location line="+13"/>
+        <location line="+10"/>
         <source>Delete Selection</source>
         <comment>Edit menu</comment>
         <translation>Удалить выделенное</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
+        <location line="+33"/>
         <source>Add branch as child</source>
         <comment>Edit menu</comment>
         <translation>Добавить дочернюю ветвь</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
+        <location line="+9"/>
         <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
         <translation>Добавить ветвь (insert)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
+        <location line="+10"/>
+        <location line="+10"/>
         <source>Add branch above</source>
         <comment>Edit menu</comment>
         <translation>Добавить ветвь перед текущей</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
+        <location line="+10"/>
+        <location line="+9"/>
         <source>Add branch below</source>
         <comment>Edit menu</comment>
         <translation>Добавить ветвь после текущей</translation>
     </message>
     <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Переместить вверх</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Переместить вниз</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
+        <location line="+91"/>
         <source>Scroll branch</source>
         <comment>Edit menu</comment>
         <translation>Свернуть ветвь</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
+        <location line="+544"/>
+        <location line="+8"/>
         <source>Find...</source>
         <comment>Edit menu</comment>
         <translation>Найти...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
+        <location line="-462"/>
         <source>Open URL</source>
         <comment>Edit menu</comment>
         <translation>Открыть URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="124"/>
+        <location line="-1502"/>
         <source>Main window</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
+        <location line="+1511"/>
         <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
         <translation>Открыть URL в новой закладке</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
+        <location line="+18"/>
         <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
         <translation>Открыть все URL в поддереве</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
+        <location line="+17"/>
         <source>Edit URL...</source>
         <comment>Edit menu</comment>
         <translation>Изменить URL...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
+        <location line="+18"/>
         <source>Use heading for URL</source>
         <comment>Edit menu</comment>
         <translation>Use heading for URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
+        <location line="+33"/>
         <source>Open linked map</source>
         <comment>Edit menu</comment>
         <translation>Open linked map</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
+        <location line="+17"/>
         <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
         <translation>Открыть все  ссылки в поддереве</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
+        <location line="+9"/>
         <source>Edit vym link...</source>
         <comment>Edit menu</comment>
         <translation>Редактировать ссылку...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
+        <location line="+9"/>
         <source>Delete vym link</source>
         <comment>Edit menu</comment>
         <translation>Удалить ссылку</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
+        <location line="+9"/>
         <source>Hide in exports</source>
         <comment>Edit menu</comment>
         <translation>Скрыть при экспортировании</translation>
     </message>
     <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Изменить данные Карты...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
+        <location line="+158"/>
         <source>Add map (insert)</source>
         <comment>Edit menu</comment>
         <translation>Добавить Карту (вставить)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
+        <location line="+7"/>
         <source>Add map (replace)</source>
         <comment>Edit menu</comment>
         <translation>Добавить Карту (заменить)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
+        <location line="+7"/>
         <source>Save selection</source>
         <comment>Edit menu</comment>
         <translation>Сохранить выделенное</translation>
     </message>
     <message>
-        <source>Remove only branch </source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Удалить только ветвь</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Удалить дочерние ветви</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Выбрать левую ветвь</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Выбрать дочернюю ветвь</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Выбрать первую ветвь</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Выбрать последнюю ветвь</translation>
-    </message>
-    <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Добавить изображение...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
+        <location line="+169"/>
         <source>F&amp;ormat</source>
         <comment>Format menu</comment>
         <translation>Ф&amp;ормат</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
+        <location line="+7"/>
         <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
         <translation>Выб&amp;рать цвет</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
+        <location line="+10"/>
         <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
         <translation>Цвет &amp;ветви</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
+        <location line="+10"/>
         <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
         <translation>Цвет под&amp;дерева</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
+        <location line="+53"/>
         <source>Hide link if object is not selected</source>
         <comment>Branch attribute</comment>
         <translation>Скрыть ссылку если объект не выбран</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
+        <location line="+6"/>
         <source>&amp;Use color of heading for link</source>
         <comment>Branch attribute</comment>
         <translation>&amp;Использовать цвет заголовка для ссылки</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
+        <location line="+89"/>
         <source>reset Zoom</source>
         <comment>View action</comment>
         <translation>reset Zoom</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
+        <location line="-37"/>
         <source>Zoom in</source>
         <comment>View action</comment>
         <translation>Увеличить</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
+        <location line="-1124"/>
         <source>Firefox Bookmarks</source>
         <comment>Import filters</comment>
         <translation type="unfinished">Закладки Firefox</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation type="unfinished">Папка для импортирования %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
+        <location line="+827"/>
         <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
+        <location line="+306"/>
         <source>Zoom out</source>
         <comment>View action</comment>
         <translation>Уменьшить</translation>
     </message>
     <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Редактор Заметок</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
-        <source>Use modifier to draw xLinks</source>
-        <comment>Mode modifier</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
+        <location line="+688"/>
         <source>Set application to open pdf files</source>
         <comment>Settings action</comment>
         <translation>Установить приложение для открытия pdf</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
+        <location line="+7"/>
         <source>Set application to open external links</source>
         <comment>Settings action</comment>
         <translation>Выберите приложение для открытия внешних ссылок</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Редактировать ветвь после добавления</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
+        <location line="+67"/>
         <source>Select branch after adding it</source>
         <comment>Settings action</comment>
         <translation>Выбрать ветвь после добавления</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
+        <location line="+9"/>
         <source>Select existing heading</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Удалить</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
+        <location line="+7"/>
         <source>Exclusive flags</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
+        <location line="+7"/>
         <source>Use hide flags</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
+        <location line="+78"/>
         <source>&amp;Help</source>
         <comment>Help menubar entry</comment>
         <translation>&amp;Справка</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
+        <location line="+3"/>
         <source>Open VYM Documentation (pdf) </source>
         <comment>Help action</comment>
         <translation>Открыть документацию VYM (pdf)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
+        <location line="+38"/>
         <source>About VYM</source>
         <comment>Help action</comment>
         <translation>Информация о программе</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
+        <location line="-4"/>
         <source>About QT</source>
         <comment>Help action</comment>
         <translation>Информация о QT</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
+        <location line="+34"/>
         <source>Remove</source>
         <comment>Context menu name</comment>
         <translation>Удалить</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
+        <location line="+61"/>
         <source>Edit XLink</source>
         <comment>Context menu name</comment>
         <translation>Изменить XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
+        <location line="+11"/>
         <source>Follow XLink</source>
         <comment>Context menu name</comment>
         <translation>Перейти по XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
+        <location line="+6"/>
         <source>Save image</source>
         <comment>Context action</comment>
         <translation>Сохранить изображение</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="971"/>
+        <location line="-2202"/>
         <source>&amp;New map</source>
         <comment>File menu</comment>
         <translation>Новая Кар&amp;та</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="978"/>
+        <location line="+9"/>
         <source>&amp;Copy to new map</source>
         <comment>File menu</comment>
         <translation>&amp;Копировать в новую карту</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
+        <location line="+314"/>
         <source>Add mapcenter</source>
         <comment>Canvas context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
+        <location line="+129"/>
         <source>Sort children</source>
         <comment>Edit menu</comment>
         <translation>Сортировать дочерние ветви</translation>
     </message>
     <message>
-        <source>Unscroll childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Развернуть дочерние ветви</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches in selected subtree</source>
-        <translation type="obsolete">Развернуть свернутые ветви в выбранном поддереве</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
+        <location line="+164"/>
         <source>Edit local URL...</source>
         <comment>Edit menu</comment>
         <translation>Редактировать локальный URL...</translation>
     </message>
     <message>
-        <source>Edit local URL</source>
-        <translation type="obsolete">Редактировать локальный URL</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Создать URL в Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <translation type="obsolete">Создать URL в Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Создать URL в Novell FATE</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <translation type="obsolete">Создать URL в Novell FATE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
+        <location line="+315"/>
         <source>Property window</source>
         <comment>Dialog to edit properties of selection</comment>
         <translation>Свойства</translation>
     </message>
     <message>
-        <source>Set properties for selection</source>
-        <translation type="obsolete">Установить свойства выделения</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
+        <location line="+168"/>
         <source>Linkstyle Curve</source>
         <translation>Linkstyle Curve</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Curve</source>
         <translation>Linkstyle Thick Curve</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
+        <location line="+25"/>
         <source>Set &amp;Link Color</source>
         <translation>Установить цвет &amp;сслыки</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
+        <location line="+5"/>
         <source>Set &amp;Selection Color</source>
         <translation>Установить &amp;цвет выделения</translation>
     </message>
     <message>
-        <source>Set Selection Color</source>
-        <translation type="obsolete">Установить цвет выделения</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
+        <location line="+10"/>
         <source>Set &amp;Background image</source>
         <translation>Установить фоновое &amp;изображение</translation>
     </message>
     <message>
-        <source>Set Background image</source>
-        <translation type="obsolete">Установить фоновое изображение</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Показать выделенный узел</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <translation type="obsolete">Показать выделенный узел</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
+        <location line="+166"/>
         <source>History Window</source>
         <comment>View action</comment>
         <translation>История изменений</translation>
     </message>
     <message>
-        <source>Show History Window</source>
-        <translation type="obsolete">Показать Историю Изменений</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
+        <location line="+14"/>
         <source>Antialiasing</source>
         <comment>View action</comment>
         <translation>Сглаживание</translation>
     </message>
     <message>
-        <source>Antialiasing</source>
-        <translation type="obsolete">Сглаживание</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
+        <location line="+7"/>
         <source>Smooth pixmap transformations</source>
         <comment>View action</comment>
         <translation>Smooth pixmap transformations</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
+        <location line="+10"/>
         <source>Next Map</source>
         <comment>View action</comment>
         <translation>Следующая Карта</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
+        <location line="+7"/>
         <source>Previous Map</source>
         <comment>View action</comment>
         <translation>Предыдущая Карта</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
+        <location line="+52"/>
         <source>Modifier modes</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
+        <location line="+101"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
         <source>Note</source>
         <comment>SystemFlag</comment>
         <translation>Заметки</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>URL документа </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
+        <location line="+9"/>
         <source>Link to another vym map</source>
         <comment>SystemFlag</comment>
         <translation>Ссылка на другую vym-Карту</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
+        <location line="+3"/>
         <source>subtree is scrolled</source>
         <comment>SystemFlag</comment>
         <translation>subtree is scrolled</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
+        <location line="+4"/>
         <source>subtree is temporary scrolled</source>
         <comment>SystemFlag</comment>
         <translation>subtree is temporary scrolled</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
+        <location line="+3"/>
         <source>Hide object in exported maps</source>
         <comment>SystemFlag</comment>
         <translation>Скрыть объект при экспорте</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
+        <location line="+42"/>
         <source>I just love...</source>
         <comment>Standardflag</comment>
         <translation>Просто люблю...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Важно</translation>
+        <location line="+258"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Приоритет</translation>
+        <location line="+5"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Назад</translation>
+        <location line="+27"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">Фперёд</translation>
+        <location line="+22"/>
+        <source>Set path for macros</source>
+        <comment>Settings action</comment>
+        <translation>Установить папку для макросов</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Ð\9fоÑ\81моÑ\82Ñ\80еÑ\82Ñ\8c Ñ\82Ñ\83Ñ\82</translation>
+        <location line="+4"/>
+        <source>Set number of undo levels</source>
+        <comment>Settings action</comment>
+        <translation>УÑ\81Ñ\82ановиÑ\82Ñ\8c ÐºÐ¾Ð»Ð¸Ñ\87еÑ\81Ñ\82во Ñ\83Ñ\80овней Ð¾Ñ\82менÑ\8b</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Ð\9eпаÑ\81ноÑ\81Ñ\82Ñ\8c</translation>
+        <location line="+7"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
+        <translation>Ð\90вÑ\82оÑ\81оÑ\85Ñ\80анение</translation>
     </message>
     <message>
-        <source>Don&apos;t forget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">Не забыть</translation>
+        <location line="+6"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
+        <translation>Интервал автосохранения</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Флаг</translation>
+        <location line="+12"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
+        <translation>СоздаÑ\82Ñ\8c Ñ\80езÑ\80внÑ\83Ñ\8e ÐºÐ¾Ð¿Ð¸Ñ\8e Ð¿Ñ\80и Ñ\81оÑ\85Ñ\80анении</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Дом</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Телефон</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Музыка</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Почта</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Maix</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Пароль</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation>На улучшение</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Стоп</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Magic</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>На обсуждение</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Напоминание</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Великолепно</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Мило</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
-        <translation>Установить папку для макросов</translation>
-    </message>
-    <message>
-        <source>Set path for macros</source>
-        <translation type="obsolete">Установить папку для макросов</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
-        <translation>Установить количество уровней отмены</translation>
-    </message>
-    <message>
-        <source>Set number of undo levels</source>
-        <translation type="obsolete">Установить количество уровней отмены</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
-        <translation>Автосохранение</translation>
-    </message>
-    <message>
-        <source>Autosave</source>
-        <translation type="obsolete">Автосохранение</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
-        <source>Autosave time</source>
-        <comment>Settings action</comment>
-        <translation>Интервал автосохранения</translation>
-    </message>
-    <message>
-        <source>Autosave time</source>
-        <translation type="obsolete">Интервал автосохранения</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
-        <translation>Создать резрвную копию при сохранении</translation>
-    </message>
-    <message>
-        <source>Write backup file on save</source>
-        <translation type="obsolete">Создать резрвную копию при сохранении</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
+        <location line="+65"/>
         <source>Animation</source>
         <comment>Settings action</comment>
         <translation>Анимация</translation>
     </message>
     <message>
-        <source>Animation</source>
-        <translation type="obsolete">Анимация</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
+        <location line="+53"/>
         <source>Open VYM example maps </source>
         <comment>Help action</comment>
         <translation>Открыть примеры карт</translation>
     </message>
     <message>
-        <source>Open VYM example maps </source>
-        <translation type="obsolete">Открыть примеры карт</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
+        <location line="+102"/>
         <source>References (URLs, vymLinks, ...)</source>
         <comment>Context menu name</comment>
         <translation>Ссылки ( URLs, vym-Cсылки, ...)</translation>
     </message>
     <message>
-        <source>&amp;%1 %2</source>
-        <translation type="obsolete">&amp;%1 %2</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation>Загрузить Карту в формате FreeMind</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
+        <location line="+1159"/>
         <source>Export as CSV</source>
         <translation>Экспортировать в CVS</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
+        <location line="+679"/>
         <source>%1 items on map
 </source>
         <comment>Info about map</comment>
@@ -3340,488 +2725,231 @@ because of existing lockfile:
 </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation>Папка с vym-макросами:</translation>
-    </message>
-    <message>
-        <source>QInputDialog::getInteger()</source>
-        <translation type="obsolete">QInputDialog::getInteger()</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
+        <location line="+881"/>
         <source>Number of undo/redo levels:</source>
         <translation>Количество уровней отмены/повтора:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
+        <location line="+5"/>
         <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
         <translation>Настройки были измененеы. Следующая открытая карта будет использовать &quot;%1&quot; уровней повтора/отмены</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
+        <location line="+40"/>
         <source>Number of seconds before autosave:</source>
         <translation>Интервал автосохранения (сек.):</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
+        <location line="+11"/>
         <source>Set author for new maps (used in lockfile)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
+        <location line="+3"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
+        <location line="+42"/>
         <source>Number of parents shown in find results:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
+        <location line="+11"/>
         <source>Number of parents shown for a task:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
+        <location line="-2404"/>
         <source>(readonly)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
+        <location line="+2857"/>
         <source>History for %1</source>
         <comment>Window Caption</comment>
         <translation>История для %1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
+        <location line="+23"/>
         <source>Export in last used format (%1) to: %2</source>
         <comment>status tip</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
+        <location line="+441"/>
         <source>Couldn&apos;t find the documentation %1 in:
 %2</source>
         <translation>Не найдена документация %1 в: %2</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
+        <location line="+31"/>
         <source>Load vym example map</source>
         <translation>Загрузить примеры карт</translation>
     </message>
-    <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="obsolete">Couldn&apos;t find a macro at  %1.
-</translation>
-    </message>
-    <message>
-        <source>Set directory for vym macros</source>
-        <translation type="obsolete">Установить папку для vym-макросов</translation>
-    </message>
 </context>
 <context>
     <name>MapEditor</name>
     <message>
-        <source>Critical Parse Error</source>
-        <translation type="obsolete">Критическая ошибка Разбора</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Перезаписать</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Отмена</translation>
-    </message>
-    <message>
-        <source>Critical Export Error</source>
-        <translation type="obsolete">Критическая ошибка Экспорта</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Критическая ошибка</translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Введите URL:</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <translation type="obsolete">Изображения</translation>
-    </message>
-    <message>
-        <source>Critical Import Error</source>
-        <translation type="obsolete">Критическая ошибка Импорта</translation>
-    </message>
-    <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Файл %1уже существует.Перезаписать?</translation>
-    </message>
-    <message>
-        <source>MapEditor::exportXML couldn&apos;t open %1</source>
-        <translation type="obsolete">MapEditor::exportXML couldn&apos;t open %1</translation>
-    </message>
-    <message>
-        <source>Cannot find the directory %1</source>
-        <translation type="obsolete">Папка %1 не найдена</translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Ссылка на другую Карту</translation>
-    </message>
-    <message>
-        <source>Load image</source>
-        <translation type="obsolete">Загрузить изображение</translation>
-    </message>
-    <message>
-        <source>Choose directory structure to import</source>
-        <translation type="obsolete">Выберите структуруа папок для экспорта</translation>
-    </message>
-    <message>
-        <source>unnamed</source>
-        <translation type="obsolete">vym-map</translation>
-    </message>
-    <message>
-        <source>Save image</source>
-        <translation type="obsolete">Сохранить изображение</translation>
-    </message>
-    <message>
-        <source>Critical Parse Error while reading %1</source>
-        <translation type="obsolete">Критическая ошибка Разбора при чтении %1</translation>
-    </message>
-    <message>
-        <source>Could not read %1</source>
-        <translation type="obsolete">Ошибка при чтении %1</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Предупреждение</translation>
-    </message>
-    <message>
-        <source>Can&apos;t get color of heading,
-there&apos;s no branch selected</source>
-        <translation type="obsolete">Невозможно получить цвет заголовка
-ни одна ветвь не выбрана</translation>
-    </message>
-    <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Критическая ошибка Загрузки</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation type="obsolete">Ошибка при создании временной папки перед загрузкой</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">Не найдена Карта (*.xml) в .vym архиве.
-</translation>
-    </message>
-    <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</translation>
-    </message>
-    <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">compressed (vym default)</translation>
-    </message>
-    <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">uncompressed</translation>
-    </message>
-    <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Ошибка сохранения</translation>
-    </message>
-    <message>
-        <source>%1
-could not be removed before saving</source>
-        <translation type="obsolete">%1 не может быть удалено перед сохранением</translation>
-    </message>
-    <message>
-        <source>%1
-could not be renamed before saving</source>
-        <translation type="obsolete">%1 не может быть удалено перед сохранением</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">Ошибка при создании временной папки перед сохранением
-</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">Экспортировать Карту как изображение</translation>
-    </message>
-    <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Экспортировать XML в папку</translation>
-    </message>
-    <message>
-        <source>Autosave disabled during undo.</source>
-        <translation type="obsolete">Автосохранение отключено во время &quot;отмены&quot;.</translation>
-    </message>
-    <message>
-        <source>Load background image</source>
-        <translation type="obsolete">Загрузить фоновый рисунок</translation>
-    </message>
-    <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Текст</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Таблица</translation>
-    </message>
-    <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Текстовый документ</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Изображение</translation>
-    </message>
-    <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">Задать URL на локальный файл</translation>
-    </message>
-    <message>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="obsolete">%1 объектов на карте
-</translation>
-    </message>
-    <message>
-        <source>The file of the map  on disk has changed:
-
-   %1
-
-Do you want to reload that map with the new file?</source>
-        <translation type="obsolete">Файл Карты на диске был изменен:
-
-%1
-
-Вы хотите загрузить изменненую карту с диска?</translation>
-    </message>
-    <message>
-        <source>Reload</source>
-        <translation type="obsolete">Перезагрузить</translation>
-    </message>
-    <message>
-        <source>Ignore</source>
-        <translation type="obsolete">Пропустить</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation type="unfinished">Изменить заголовок</translation>
     </message>
     <message>
-        <source>Save</source>
+        <location line="+446"/>
+        <source>Print vym map</source>
         <comment>MapEditor</comment>
-        <translation type="obsolete">Сохранить</translation>
-    </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Выреза&amp;ть</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Копировать</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Отменить</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Вернуть</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Вставить</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="510"/>
-        <source>Print vym map</source>
-        <comment>MapEditor</comment>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished">Редактор Заметок</translation>
     </message>
 </context>
-<context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Критическая ошибка</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">Ошибка при запуске %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 завершился с ошибкой</translation>
-    </message>
-</context>
 <context>
     <name>QObject</name>
     <message>
-        <source>This is not an image.</source>
-        <translation type="obsolete">Это не файл изображения.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>Критическая ошибка Экспорта</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation>Ошибка при записи %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location filename="../src/export-base.cpp" line="+124"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-8"/>
         <source>Export as CSV</source>
         <translation type="unfinished">Экспортировать в CVS</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Ошибка при открытии %1</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">Ошибка при открытии %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="-101"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
         <source>Could not export as ASCII to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location filename="../src/export-csv.cpp" line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location filename="../src/export-html.cpp" line="-367"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+190"/>
         <source>Could not find stylesheet %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation type="unfinished">Ошибка</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -3829,230 +2957,192 @@ Do you want to reload that map with the new file?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>Ошибка Экспорта.</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>Проверьте &quot;%1&quot; в %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>Ошибка при чтении %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>Критическая ошибка</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>Ошибка при запуске zip для сжатия данных.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>&quot;zip&quot; завершился с ошибкой</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>Ошибка при запуске unzip для распаковки данных.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>unzip завершился с ошибкой</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation>Ошибка при запуске %1</translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 завершился с ошибкой</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Файл %1 уже существует.
-Перезаписать ?</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="90"/>
+        <location line="-389"/>
         <source>Overwrite</source>
         <translation>Перезаписать</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="91"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Отмена</translation>
     </message>
     <message>
-        <source>Sorry, no preview for
-multiple selected files.</source>
-        <translation type="obsolete">Предпросмотр для нескольких выбранных файлов невозможен.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>Экспорт закладок %1 перезапишет 
-ваш существующий файл закладок.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>Предупреждение: Перезапись закладок %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>Предупреждение</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>Сценарий %1
-для уведомления браузера о изменении
-закладок не найден.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>Ошибка</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>Невозможно получить доступ к временной папке</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation>Экспортировать в ASCII</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation>(still experimental)</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -4060,354 +3150,329 @@ Do you risk to overwrite its contents?</source>
 Возможно приведет к утере важной информации.Перезаписать? </translation>
     </message>
     <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">Ошибка при открытии %1.</translation>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">Редактор Заметок</translation>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
+</source>
+        <comment>Macros::pathExists</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
+        <translation type="unfinished"> Используйте пункт &quot;Настройки&quot;-&gt;</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
+        <translation type="unfinished">Установить папку для vym-макросов</translation>
+    </message>
+    <message>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
+ </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="unfinished">Couldn&apos;t find a macro at  %1.
-</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
-        <translation type="unfinished"> Используйте пункт &quot;Настройки&quot;-&gt;</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
-        <translation type="unfinished">Установить папку для vym-макросов</translation>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
-        <source>Form</source>
-        <translation type="unfinished">Форма</translation>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
-        <source>Save to selected slide</source>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
-        <source>Run</source>
-        <translation type="unfinished">Выполнить</translation>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
+        <location filename="../src/mainwindow.cpp" line="-3021"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
+    <message>
+        <source>Form</source>
+        <translation type="obsolete">Форма</translation>
+    </message>
+    <message>
+        <source>Reload</source>
+        <translation type="obsolete">Перезагрузить</translation>
+    </message>
+    <message>
+        <source>Save as</source>
+        <translation type="obsolete">Сохранить как</translation>
+    </message>
     <message>
-        <location filename="../scripteditor.ui" line="131"/>
-        <source>Load</source>
-        <translation type="unfinished"></translation>
+        <source>Run</source>
+        <translation type="obsolete">Выполнить</translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
         <source>Save</source>
-        <translation type="unfinished">Сохранить</translation>
+        <translation type="obsolete">Сохранить</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
+        <location line="-42"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation type="unfinished">Сохранить</translation>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
+        <location line="+31"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
         <source>Save script</source>
         <translation type="unfinished">Сохранить сценарий</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="155"/>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
         <comment>dialog &apos;save as&apos;</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Файл %1 уже существует. Перезаписать?</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
+        <location line="+5"/>
         <source>Overwrite</source>
         <translation type="unfinished">Перезаписать</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="161"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation type="unfinished">Отмена</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="184"/>
+        <location line="-58"/>
         <source>Load script</source>
         <translation type="unfinished">Загрузить сценарий</translation>
     </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation type="unfinished">Ошибка</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>ShowTextDialog</name>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>Форма ввода</translation>
+        <translation type="vanished">Форма ввода</translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="50"/>
         <source>Close</source>
-        <translation>Закрыть</translation>
+        <translation type="vanished">Закрыть</translation>
     </message>
 </context>
 <context>
-    <name>SimpleScriptEditor</name>
-    <message>
-        <source>Save script</source>
-        <translation type="obsolete">Сохранить сценарий</translation>
-    </message>
-    <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">Файл %1
-уже существует.
-Перезаписать?</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Перезаписать</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Отмена</translation>
-    </message>
-    <message>
-        <source>Load script</source>
-        <translation type="obsolete">Загрузить сценарий</translation>
-    </message>
-    <message>
-        <source>Error</source>
-        <translation type="obsolete">Ошибка</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">Ошибка при открытии %1.
-</translation>
-    </message>
-    <message>
-        <source>Simple Script Editor</source>
-        <translation type="obsolete">Простой редактор сценариев</translation>
-    </message>
-    <message>
-        <source>Save as</source>
-        <translation type="obsolete">Сохранить как</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">Сохранить</translation>
-    </message>
-    <message>
-        <source>Qt::CTRL + Qt::Key_S</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_S</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <translation type="obsolete">Открыть</translation>
-    </message>
-    <message>
-        <source>Qt::CTRL +Qt::Key_O</source>
-        <translation type="obsolete">Qt::CTRL +Qt::Key_O</translation>
-    </message>
-    <message>
-        <source>Run</source>
-        <translation type="obsolete">Выполнить</translation>
-    </message>
+    <name>TaskEditor</name>
     <message>
-        <source>Qt::CTRL + Qt::Key_R</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_R</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Закрыть</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">Изменить заголовок</translation>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
@@ -4416,328 +3481,257 @@ Do you want to overwrite it?</source>
 <context>
     <name>TextEditor</name>
     <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation>&amp;Импортировать...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>&amp;Экспортировать...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>Экспортировать &amp;как... (HTML)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>Экспортировать &amp;как... (ASСII)</translation>
     </message>
     <message>
-        <source>Print Note</source>
-        <translation type="obsolete">Печать Заметки</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>&amp;PПечать...</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">&amp;Правка</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation>&amp;Отменить</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>&amp;Вернуть</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>Выбрать и копировать &amp;всё</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>&amp;Копировать</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>Выреза&amp;ть</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>&amp;Вставить</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation>&amp;Удалить всё</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="-45"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+6"/>
         <source>&amp;Font hint</source>
         <translation>&amp;Font hint</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>&amp;Цвет...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>&amp;Полужирный</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>&amp;Курсив</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>&amp;Подчеркивание</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation>&amp;Слева</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>&amp;Центр</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>&amp;Справа</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>&amp;Растянуть</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>&amp;Настройки</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="543"/>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
+        <location line="+198"/>
         <source>Export Note to single file</source>
         <translation>Экспортировать заметки в один файл</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>Перезаписать</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Отмена</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>Экспортировать Заметку в один файл (ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
+        <location line="+45"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation type="unfinished">Печать</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="-385"/>
         <source>Subs&amp;cript</source>
         <translation>Под&amp;строчный</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="498"/>
+        <location line="+10"/>
         <source>Su&amp;perscript</source>
         <translation>На&amp;дстрочный</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="+65"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
         <source>Note Editor</source>
         <translation>Редактор Заметок</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="-186"/>
         <source>F&amp;ormat</source>
         <translation>Ф&amp;ормат</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="-67"/>
         <source>Edit Actions</source>
         <translation>Edit Actions</translation>
     </message>
     <message>
-        <source>Format Actions</source>
-        <translation type="obsolete">Format Actions</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="-59"/>
         <source>Note Actions</source>
         <translation>Note Actions</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location line="-244"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation>Готово</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation>Не задано имя файла для текущей заметки.</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Редактор Заметок</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+85"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>Заме&amp;тка</translation>
     </message>
     <message>
-        <source>Import</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Импортировать</translation>
-    </message>
-    <message>
-        <source>Export Note (HTML)</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Экспортировать заметки (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <comment>Status tip for Note Menu</comment>
-        <translation type="obsolete">Экспортировать заметки как (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Экспортировать заметки как (ASCII)</translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Печать Заметок</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Отменить</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Вернуть</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Выбрать и копировать всё</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Копировать</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Вырезать</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Вставить</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Удалить всё</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+494"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -4745,7 +3739,7 @@ Do you want to overwrite it?</source>
         <translation type="unfinished">Файл %1 уже существует. Перезаписать?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation>Ошибка при экспорте Заметок</translation>
@@ -4754,13 +3748,13 @@ Do you want to overwrite it?</source>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
@@ -4769,142 +3763,137 @@ Do you want to overwrite it?</source>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation type="unfinished">vym-map</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation type="unfinished">Критическая ошибка Разбора</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation type="unfinished">Критическая ошибка Загрузки</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation type="unfinished">Ошибка при создании временной папки перед загрузкой</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation type="unfinished">Не найдена Карта (*.xml) в .vym архиве.
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+325"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="unfinished">The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
+        <location line="-365"/>
         <source>compressed (vym default)</source>
         <translation type="unfinished">compressed (vym default)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation type="unfinished">uncompressed</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation type="unfinished">Отмена</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation type="unfinished">Ошибка сохранения</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation type="unfinished">%1 не может быть удалено перед сохранением</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation type="unfinished">%1 не может быть удалено перед сохранением</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation type="unfinished">Ошибка при создании временной папки перед сохранением
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation type="unfinished">Загрузить изображение</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation type="unfinished">Сохранить изображение</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation type="unfinished">Файл %1
@@ -4912,45 +3901,39 @@ Do you want to overwrite it?</source>
 Перезаписать? {1 ?}</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation type="unfinished">Перезаписать</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation type="unfinished">Критическая ошибка</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation type="unfinished">Критическая ошибка Импорта</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation type="unfinished">Папка %1 не найдена</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation type="unfinished">Выберите структуруа папок для экспорта</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -4959,30 +3942,42 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="+3052"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-3104"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -4995,141 +3990,93 @@ Do you want to reload that map with the new file?</source>
 Вы хотите загрузить изменненую карту с диска?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation type="unfinished">Перезагрузить</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation type="unfinished">Пропустить</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation type="unfinished">Автосохранение отключено во время &quot;отмены&quot;.</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation type="unfinished">Заметки</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation type="unfinished">Новая Карта</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Введите URL:</translation>
-    </message>
-    <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Текст</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Таблица</translation>
-    </message>
-    <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Текстовый документ</translation>
-    </message>
-    <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">Задать URL на локальный файл</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Ссылка на другую Карту</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+1273"/>
         <source>Export map as image</source>
         <translation type="unfinished">Экспортировать Карту как изображение</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation type="unfinished">Экспортировать XML в папку</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation type="unfinished">Критическая ошибка Экспорта</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Экспортировать в LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation type="unfinished">(still experimental)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="-531"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+900"/>
         <source>Load background image</source>
         <translation type="unfinished">Загрузить фоновый рисунок</translation>
     </message>
@@ -5137,18 +4084,18 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation type="unfinished">Критическая ошибка</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
         <translation type="unfinished">Ошибка при запуске %1</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished">%1 завершился с ошибкой</translation>
     </message>
@@ -5156,13 +4103,13 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
@@ -5171,39 +4118,75 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>WarningDialog</name>
     <message>
-        <source>VYM - Warning : Foo...</source>
-        <translation type="obsolete">VYM - Предупреждение: Фyy...</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="91"/>
         <source>showAgainBox</source>
-        <translation>showAgainBox</translation>
+        <translation type="vanished">showAgainBox</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation>Отмена</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation>OK</translation>
+        <translation type="vanished">OK</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation>Продолжить</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation>Показывать это сообщение</translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Закрыть</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
index 4020fa803ca7a5e6af03cd44b4f99e08f358985c..82cd23a4b26f9c568c7677a856721852e1a96048 100644 (file)
@@ -4,19 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation>Ok</translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+21"/>
         <source>Please use Settings-&gt;</source>
         <translation>Använd inställeningar -&gt;</translation>
     </message>
     <message>
-        <source>Set application to open an URL</source>
-        <translation type="obsolete">Sätt applikation att öppna URL</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="-3"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>Varning</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
 </translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+3"/>
         <source>Set application to open an URL...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Attribute Dialog</name>
-    <message>
-        <source>AttributeDialog - Edit definitions</source>
-        <translation type="obsolete">AttributeDialog - Redigera definitionerna</translation>
-    </message>
-    <message>
-        <source>AttributeDialog - Edit %1</source>
-        <translation type="obsolete">AttributeDialog  - Redigera %1</translation>
-    </message>
-</context>
 <context>
     <name>AttributeDialog</name>
     <message>
         <translation type="obsolete">Stäng</translation>
     </message>
 </context>
-<context>
-    <name>AttributeWidget</name>
-    <message>
-        <source>Form</source>
-        <translation type="obsolete">Formulär</translation>
-    </message>
-</context>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
         <source>Branch Property Editor</source>
-        <translation type="unfinished">Gren egenskapsredigerare</translation>
+        <translation type="obsolete">Gren egenskapsredigerare</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
         <source>Frame</source>
-        <translation type="unfinished">Ram</translation>
+        <translation type="obsolete">Ram</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
         <source>Geometry</source>
-        <translation type="unfinished">Geometri</translation>
+        <translation type="obsolete">Geometri</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
         <source>No Frame</source>
-        <translation type="unfinished">Ingen ram</translation>
+        <translation type="obsolete">Ingen ram</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation type="unfinished">Rectangle</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
-        <source>Rounded Rectangle</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Rectangle</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
         <source>Ellipse</source>
-        <translation type="unfinished">Ellips</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
-        <source>Cloud</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Ellips</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
         <source>Padding</source>
-        <translation type="unfinished">Stoppning</translation>
+        <translation type="obsolete">Stoppning</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
         <source>Borderline width</source>
-        <translation type="unfinished">Kantlinje bredd</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
-        <source>Include children</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Kantlinje bredd</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
         <source>Colors</source>
-        <translation type="unfinished">Färger</translation>
+        <translation type="obsolete">Färger</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
         <source>Borderline color</source>
-        <translation type="unfinished">Kantlinje färger</translation>
+        <translation type="obsolete">Kantlinje färger</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
         <source>Background color</source>
-        <translation type="unfinished">Bakgrund färger</translation>
+        <translation type="obsolete">Bakgrund färger</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
         <source>Layout</source>
-        <translation type="unfinished">Layout</translation>
+        <translation type="obsolete">Layout</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
         <source>Include images horizontally</source>
-        <translation type="unfinished">Inkludera bilder horisontell</translation>
+        <translation type="obsolete">Inkludera bilder horisontell</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
         <source>Include images vertically</source>
-        <translation type="unfinished">Inkludera bilder vertikal</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
-        <source>Free positioning of children (experimental!)</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Inkludera bilder vertikal</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
         <source>Link</source>
-        <translation type="unfinished">Länk</translation>
+        <translation type="obsolete">Länk</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
         <source>Hide link if unselected</source>
-        <translation type="unfinished">gömm länk om inte valt</translation>
+        <translation type="obsolete">gömm länk om inte valt</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
         <source>Attributes</source>
-        <translation type="unfinished">Egenskaperna</translation>
+        <translation type="obsolete">Egenskaperna</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
         <source>+</source>
-        <translation type="unfinished">+</translation>
+        <translation type="obsolete">+</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
         <source>-</source>
-        <translation type="unfinished">-</translation>
+        <translation type="obsolete">-</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
         <translation type="unfinished">Egenskapsredigerare</translation>
     </message>
-</context>
-<context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Egenskapsredigerare</translation>
-    </message>
     <message>
+        <location line="+22"/>
         <source>Name</source>
         <comment>Branchprop window: Attribute name</comment>
-        <translation type="obsolete">Namn</translation>
+        <translation type="unfinished">Namn</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Value</source>
         <comment>Branchprop window: Attribute value</comment>
-        <translation type="obsolete">Värde</translation>
+        <translation type="unfinished">Värde</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Type</source>
         <comment>Branchprop window: Attribute type</comment>
-        <translation type="obsolete">Typ</translation>
-    </message>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation type="obsolete">Gren egenskapsredigerare</translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation type="obsolete">Ram</translation>
-    </message>
-    <message>
-        <source>Geometry</source>
-        <translation type="obsolete">Geometri</translation>
+        <translation type="unfinished">Typ</translation>
     </message>
     <message>
-        <source>No Frame</source>
-        <translation type="obsolete">Ingen ram</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">Rectangle</translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation type="obsolete">Ellips</translation>
-    </message>
-    <message>
-        <source>Padding</source>
-        <translation type="obsolete">Stoppning</translation>
-    </message>
-    <message>
-        <source>Borderline width</source>
-        <translation type="obsolete">Kantlinje bredd</translation>
-    </message>
-    <message>
-        <source>Colors</source>
-        <translation type="obsolete">Färger</translation>
-    </message>
-    <message>
-        <source>Borderline color</source>
-        <translation type="obsolete">Kantlinje färger</translation>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Background color</source>
-        <translation type="obsolete">Bakgrund färger</translation>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Layout</source>
-        <translation type="obsolete">Layout</translation>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">Inkludera bilder horisontell</translation>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">Inkludera bilder vertikal</translation>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <source>Link</source>
-        <translation type="obsolete">Länk</translation>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <source>Hide link if unselected</source>
-        <translation type="obsolete">gömm länk om inte valt</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
     </message>
     <message>
-        <source>Attributes</source>
-        <translation type="obsolete">Egenskaperna</translation>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
     <message>
-        <source>+</source>
-        <translation type="obsolete">+</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">Stäng</translation>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation>Redigera XLänk</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
-        <source>Arrow begin:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Redigera XLänk</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation>XLänk bredd:</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
-        <source>Use color of heading</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
-        <source>Line style:</source>
-        <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
-        <source>Arrow end:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">XLänk bredd:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
         <source>Close</source>
-        <translation type="unfinished">Stäng</translation>
-    </message>
-    <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">Sätt rubriks färg</translation>
+        <translation type="obsolete">Stäng</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
         <source>XLink color:</source>
-        <translation>XLänk färg:</translation>
+        <translation type="vanished">XLänk färg:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
         <source>Use as default:</source>
-        <translation>Använd som huvudsaklig:</translation>
-    </message>
-    <message>
-        <source>Quit and delete XLink</source>
-        <translation type="obsolete">Slut och ta bort XLänk</translation>
-    </message>
-    <message>
-        <source>Ok</source>
-        <translation type="obsolete">Ok</translation>
+        <translation type="vanished">Använd som huvudsaklig:</translation>
     </message>
 </context>
 <context>
-    <name>ExportHTMLDialog</name>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
-        <source>Export HTML</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
-        <source>Export to directory:</source>
-        <translation type="unfinished">Exportera till register:</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
-        <source>Browse</source>
-        <translation type="unfinished">Bläddra</translation>
-    </message>
+    <name>ExportConfluenceDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation type="unfinished">Optioner</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
-        <source>Image of map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
-        <source>Include images</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
-        <source>Table of contents</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Optioner</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
-        <source>Task flags</source>
-        <translation type="unfinished"></translation>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">Färgat rubrikerna i text</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
-        <source>General flags</source>
-        <translation type="unfinished"></translation>
+        <source>Save settings in map</source>
+        <translation type="obsolete">Spara installeringar i kartan</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
-        <source>Number sections</source>
-        <translation type="unfinished"></translation>
+        <source>Cancel</source>
+        <translation type="obsolete">Avbryt</translation>
     </message>
+</context>
+<context>
+    <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
-        <source>Copy CSS from </source>
-        <translation type="unfinished"></translation>
+        <source>Export to directory:</source>
+        <translation type="obsolete">Exportera till register:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
-        <source>Use CSS from</source>
-        <translation type="unfinished"></translation>
+        <source>Browse</source>
+        <translation type="obsolete">Bläddra</translation>
     </message>
     <message>
-        <source>Include image</source>
-        <translation type="obsolete">Inkludera en bild</translation>
+        <source>Options</source>
+        <translation type="obsolete">Optioner</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation type="unfinished">Färgat rubrikerna i text</translation>
+        <translation type="obsolete">Färgat rubrikerna i text</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation type="unfinished">Spara installeringar i kartan</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">Visa output av yttre skrifter</translation>
+        <translation type="obsolete">Spara installeringar i kartan</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation type="unfinished">Stilarkerna</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
+        <translation type="obsolete">Stilarkerna</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation type="unfinished">Skrifter</translation>
+        <translation type="obsolete">Skrifter</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation type="unfinished">Efter export:</translation>
+        <translation type="obsolete">Efter export:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
-        <source>Export</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Avbryt</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -511,7 +351,7 @@ want to allow this in your system!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation type="unfinished">VYM - Exportera HTML till register</translation>
     </message>
@@ -582,47 +422,6 @@ want to allow this in your system!</source>
         <source>Cancel</source>
         <translation type="obsolete">Avbryt</translation>
     </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Varning</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">Inställeningar sparad i kartan vill exekutera skripter:
-
-%1
-
-Justera om du är säkert att du vill tillåta det i systemet!</translation>
-    </message>
-    <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation type="obsolete">VYM - Exportera HTML till register</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">Kann inte öppna %1</translation>
-    </message>
-    <message>
-        <source>Could not write %1</source>
-        <translation type="obsolete">Kann inte skriva %1</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Kritisk fel</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">Kann inte starta %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 kunde inte avsluta normalt</translation>
-    </message>
     <message>
         <source>show warnings of xslt processor</source>
         <translation type="obsolete">Visa varningar av xslt processor</translation>
@@ -631,172 +430,146 @@ Justera om du är säkert att du vill tillåta det i systemet!</translation>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
         <source>VYM - Info</source>
-        <translation>VYM - Info</translation>
+        <translation type="vanished">VYM - Info</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
         <source>Map:</source>
-        <translation>Karta:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
-        <source>Title:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">Karta:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
         <source>Author:</source>
-        <translation>Skapare:</translation>
+        <translation type="vanished">Skapare:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
         <source>Comment:</source>
-        <translation>Kommentar:</translation>
+        <translation type="vanished">Kommentar:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation>Statistik:</translation>
+        <translation type="vanished">Statistik:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation>Avbryt</translation>
+        <translation type="vanished">Avbryt</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation>Stäng</translation>
+        <translation type="vanished">Stäng</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>FindWindow</name>
+    <name>HeadingEditor</name>
     <message>
-        <source>Clear</source>
-        <translation type="obsolete">Klar</translation>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
+        <source>Heading Editor</source>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>HistoryWindow</name>
     <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Sök</translation>
-    </message>
-    <message>
-        <source>Find Text</source>
-        <translation type="obsolete">Hitta text</translation>
-    </message>
-    <message>
-        <source>Text to find:</source>
-        <translation type="obsolete">Text att hitta:</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">Ny karta</translation>
-    </message>
-</context>
-<context>
-    <name>HeadingEditor</name>
-    <message>
-        <location filename="../headingeditor.cpp" line="9"/>
-        <source>Heading Editor</source>
-        <comment>Window caption</comment>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>HistoryWindow</name>
-    <message>
-        <location filename="../historywindow.ui" line="13"/>
         <source>Dialog</source>
-        <translation>Dialog</translation>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="50"/>
         <source>Redo</source>
-        <translation>Gör om</translation>
+        <translation type="vanished">Gör om</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation>Tid</translation>
+        <translation type="vanished">Tid</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation>Kommentar</translation>
+        <translation type="vanished">Kommentar</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation>Ångra</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
+        <translation type="vanished">Ångra</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation>Aktion</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>Kommentar</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation>Ångra aktion</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation>Nuvarande tillstånd</translation>
     </message>
 </context>
 <context>
-    <name>LineEditDialog</name>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">Varning</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">Dialog</translation>
+        <translation type="obsolete">Dialog</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
-        <source>TextLabel</source>
+        <source>Add</source>
+        <translation type="obsolete">Lägg till</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">Ta bort</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">Dialog</translation>
+    </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation type="unfinished">Avbryt</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation type="unfinished">Ok</translation>
     </message>
@@ -804,19 +577,16 @@ Justera om du är säkert att du vill tillåta det i systemet!</translation>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">Dialog</translation>
+        <translation type="obsolete">Dialog</translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -824,3055 +594,2382 @@ Justera om du är säkert att du vill tillåta det i systemet!</translation>
 <context>
     <name>Main</name>
     <message>
-        <source>Close Map</source>
-        <translation type="obsolete">Stäng karta</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">Ångra</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <translation type="obsolete">Kopiera</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <translation type="obsolete">Klipp ut</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <translation type="obsolete">Klistra in</translation>
-    </message>
-    <message>
-        <source>Move branch up</source>
-        <translation type="obsolete">Flyttä gren uppåt</translation>
-    </message>
-    <message>
-        <source>Move branch down</source>
-        <translation type="obsolete">Flyttä gren nedåt</translation>
-    </message>
-    <message>
-        <source>Scroll branch</source>
-        <translation type="obsolete">Rulla gren</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">Sök</translation>
-    </message>
-    <message>
-        <source>Open URL</source>
-        <translation type="obsolete">Öppna URL</translation>
-    </message>
-    <message>
-        <source>Edit URL</source>
-        <translation type="obsolete">Redigera URL</translation>
-    </message>
-    <message>
-        <source>Use heading of selected branch as URL</source>
-        <translation type="obsolete">Använda rubrik av utvald gren som URL</translation>
-    </message>
-    <message>
-        <source>Jump to another vym map, if needed load it first</source>
-        <translation type="obsolete">Övergå till andra vym karta, om man behöver ladda det först</translation>
-    </message>
-    <message>
-        <source>Edit link to another vym map</source>
-        <translation type="obsolete">Redigera link till andra vym karta</translation>
-    </message>
-    <message>
-        <source>Delete link to another vym map</source>
-        <translation type="obsolete">Ta bort link till andra vym karta</translation>
-    </message>
-    <message>
-        <source>Edit Map Info</source>
-        <translation type="obsolete">Redigera karta info</translation>
-    </message>
-    <message>
-        <source>edit Heading</source>
-        <translation type="obsolete">redigera Rubrik</translation>
-    </message>
-    <message>
-        <source>Delete Selection</source>
-        <translation type="obsolete">Ta bort selektion</translation>
-    </message>
-    <message>
-        <source>Add a branch as child of selection</source>
-        <translation type="obsolete">Lägg till en gren som barn av selektion </translation>
-    </message>
-    <message>
-        <source>Add a branch above selection</source>
-        <translation type="obsolete">Lägg till en gren ovanför selektion</translation>
-    </message>
-    <message>
-        <source>Add a branch below selection</source>
-        <translation type="obsolete">Lägg till en gren nedanför selektion</translation>
-    </message>
-    <message>
-        <source>Add map at selection</source>
-        <translation type="obsolete">Lägg till en karta till selektion</translation>
-    </message>
-    <message>
-        <source>Replace selection with map</source>
-        <translation type="obsolete">Ersätt selektion med en karta</translation>
-    </message>
-    <message>
-        <source>Save selection</source>
-        <translation type="obsolete">Spara selektion</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <translation type="obsolete">Välj övre gren</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <translation type="obsolete">Välj lägre gren</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <translation type="obsolete">Välj vänstra gren</translation>
-    </message>
-    <message>
-        <source>Select right branch</source>
-        <translation type="obsolete">Välj högra gren</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <translation type="obsolete">Välj första gren</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <translation type="obsolete">Välj sista gren</translation>
-    </message>
-    <message>
-        <source>Add Image</source>
-        <translation type="obsolete">Lägg till en bild</translation>
-    </message>
-    <message>
-        <source>Set Color</source>
-        <translation type="obsolete">Sätt färg</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>Sätt &amp;färg</translation>
-    </message>
-    <message>
-        <source>Pick color
-Hint: You can pick a color from another branch and color using CTRL+Left Button</source>
-        <translation type="obsolete">Välj färg
-Tips: Man kan välj en färg från andra gren och färga med hjälp av CTRL + vänstra knapp</translation>
-    </message>
-    <message>
-        <source>Color branch</source>
-        <translation type="obsolete">Färga grenen</translation>
-    </message>
-    <message>
-        <source>Color Subtree</source>
-        <translation type="obsolete">Färg subträd</translation>
-    </message>
-    <message>
-        <source>Line</source>
-        <translation type="obsolete">Linje</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
         <source>Linkstyle Line</source>
         <translation>Länkstil linje</translation>
     </message>
     <message>
-        <source>PolyLine</source>
-        <translation type="obsolete">PolyLinje</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Line</source>
         <translation>Länkstil tjock linje</translation>
     </message>
     <message>
-        <source>PolyParabel</source>
-        <translation type="obsolete">PolyParabel</translation>
-    </message>
-    <message>
-        <source>Use same color for links and headings</source>
-        <translation type="obsolete">Använd samma färg för länkar och rubriker</translation>
-    </message>
-    <message>
-        <source>Set Link Color</source>
-        <translation type="obsolete">Sätt länkfärg</translation>
-    </message>
-    <message>
-        <source>Set Background Color</source>
-        <translation type="obsolete">Sätt bakgrundsfärg</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
+        <location line="+42"/>
         <source>Set &amp;Background Color</source>
         <translation>Sätt &amp;bakgrundsfärg</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
+        <location line="+14"/>
         <source>&amp;View</source>
         <translation>&amp;Visa</translation>
     </message>
     <message>
-        <source>Zoom reset</source>
-        <translation type="obsolete">Normal zoom</translation>
-    </message>
-    <message>
-        <source>Zoom in</source>
-        <translation type="obsolete">Zooma in</translation>
-    </message>
-    <message>
-        <source>Zoom out</source>
-        <translation type="obsolete">Zooma ut</translation>
-    </message>
-    <message>
-        <source>Use modifier to color branches</source>
-        <translation type="obsolete">Använd modierare att färga grenar</translation>
-    </message>
-    <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">&amp;Inställningar</translation>
-    </message>
-    <message>
-        <source>Set application to open pdf files</source>
-        <translation type="obsolete">Sätt program att öppna pdf-filer</translation>
-    </message>
-    <message>
-        <source>Edit branch after adding it</source>
-        <translation type="obsolete">Redigera gren efter tilläggning</translation>
-    </message>
-    <message>
-        <source>Select branch after adding it</source>
-        <translation type="obsolete">Välj gren efter tilläggning</translation>
-    </message>
-    <message>
-        <source>Select heading before editing</source>
-        <translation type="obsolete">Välj rubrik före redigering</translation>
-    </message>
-    <message>
-        <source>&amp;Test</source>
-        <translation type="obsolete">&amp;Test</translation>
-    </message>
-    <message>
-        <source>Open VYM Documentation (pdf)</source>
-        <translation type="obsolete">Öppna VYM dokumentation (pdf)</translation>
-    </message>
-    <message>
-        <source>Information about QT toolkit</source>
-        <translation type="obsolete">Information om QT toolkit</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
+        <location line="+1867"/>
         <source>Overwrite</source>
         <translation>Överskriva</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
         <source>Cancel</source>
         <translation>Avbryt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="124"/>
+        <location line="-4062"/>
         <source>Main window</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="314"/>
+        <location line="+203"/>
         <source>Task list</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
+        <location line="-51"/>
         <source>Script Editor</source>
         <comment>ScriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="218"/>
+        <location line="-49"/>
         <source>Main window</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="219"/>
+        <location line="+1"/>
         <source>Map Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="220"/>
+        <location line="+1"/>
         <source>Text Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="967"/>
+        <location line="+830"/>
         <source>&amp;Map</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished">&amp;Karta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="992"/>
+        <location line="+28"/>
         <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
+        <location line="+33"/>
         <source>Firefox Bookmarks</source>
         <comment>Import filters</comment>
         <translation type="unfinished">Firefox bokmärken</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation type="unfinished">Importera mapp%1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
+        <location line="+72"/>
         <source>Text (A&amp;O report)...</source>
         <comment>Export format</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation type="unfinished">Visuell kalkyl</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
+        <location line="+52"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
+        <location line="+210"/>
         <source>Move branch up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">Flyttä gren uppåt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
+        <location line="+13"/>
         <source>Move branch down</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">Flyttä gren nedåt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
+        <location line="+158"/>
         <source>References Context menu</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
+        <location line="+74"/>
+        <source>Get data from JIRA for subtree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
+        <location line="+20"/>
         <source>vymlinks - linking maps</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
+        <location line="+12"/>
         <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
+        <location line="+32"/>
         <source>Exports</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
+        <location line="+13"/>
         <source>Tasks</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
+        <location line="+1"/>
         <source>Toggle task</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
+        <location line="+12"/>
         <source>Cycle task status</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
+        <location line="+21"/>
         <source>Reset sleep</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Sleep %1 days</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
+        <location line="-55"/>
         <source>Sleep %1 day</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
+        <location line="+66"/>
+        <location line="+11"/>
         <source>Sleep %1 weeks</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
+        <location line="+32"/>
         <source>Removing parts of a map</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
+        <location line="+4"/>
         <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
+        <location line="+20"/>
         <source>Various</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
+        <location line="+12"/>
         <source>Map properties...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
+        <location line="+30"/>
         <source>Selections</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
+        <location line="+1"/>
         <source>Select</source>
         <comment>Select menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
+        <location line="+61"/>
         <source>Unselect all</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
+        <location line="+240"/>
         <source>Note editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
+        <location line="+12"/>
         <source>Heading editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+218"/>
+        <source>Images</source>
+        <translation type="unfinished">Bilder</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
+        <location line="+907"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
+        <location line="-1554"/>
+        <source>(experimental)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <source>Please allow vym to download release notes!</source>
-        <translation type="unfinished"></translation>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Firefox bokmärken</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <location line="+315"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
-        <source>Allow</source>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
-        <source>Do not allow</source>
+        <location line="+806"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
-        <source>Thank you for enabling downloads!</source>
+        <location line="+146"/>
+        <source>&amp;Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
-        <source>Update information</source>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
-        <source>vym is up to date.</source>
-        <comment>MainWindow</comment>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
-        <source>Checking for updates...</source>
-        <comment>MainWindow</comment>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Please allow vym to check for updates!</source>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Info</source>
-        <translation type="obsolete">Info</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
-        <source>Select default font</source>
-        <comment>Branch attribute</comment>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
-        <source>Webpage (HTML)...</source>
-        <comment>File export menu</comment>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
-        <source>Text (ASCII)...</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+205"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Viktigt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <source>Text with tasks</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Föregående</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
-        <source>Toolbars</source>
-        <comment>Toolbars overview in view menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Vidare</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
-        <source>Views</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Titta här</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
-        <source>Rotate counterclockwise</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Farligt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
-        <source>Rotate rclockwise</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Glöm inte</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
-        <source>Tree editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Flagga</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
-        <source>Task editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Hemma</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
-        <source>Slide editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Telefon</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
-        <source>Script editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Musik</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
-        <source>Next slide</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Brevlåda</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
-        <source>Previous slide</source>
-        <comment>View action</comment>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Lösenord</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
-        <source>Download and show release notes</source>
-        <comment>Help action</comment>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
-        <source>Check, if updates are available</source>
-        <comment>Help action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Stanna</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
-        <source>Show keyboard shortcuts</source>
-        <comment>Help action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Magiskt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
-        <source>Tasks</source>
-        <comment>Context menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Ska vara diskuterad</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
-        <source>XLinks</source>
-        <comment>Menu for file actions</comment>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Påminnelse</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
-        <source>Open anyway</source>
-        <translation>Öppna trots allt</translation>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Utmärkt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
-        <source>Create</source>
-        <translation>Skapa</translation>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Linux</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
-        <source>Load vym map</source>
-        <translation>Öppna vym karta</translation>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Söt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
-        <source>Import: Add vym map to selection</source>
-        <translation>Importera: Lägg vym karta till selektion</translation>
+        <location line="+137"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
-        <source>Import: Replace selection with vym map</source>
-        <translation>Importera: Ersätta selektion med vym karta</translation>
+        <location line="+25"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
-        <source>or</source>
-        <comment>File Dialog</comment>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
-        <source>Save map as</source>
+        <location line="+90"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
-        <source>Couldn&apos;t find configuration for export to LibreOffice
-</source>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
-        <source>Save modified map before closing it</source>
-        <translation>Spara modifierad karta före avstängning</translation>
+        <location line="+87"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
-        <source>Discard changes</source>
-        <translation>Avbryta förändringar</translation>
+        <location line="+535"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This map is not saved yet. Do you want to</source>
-        <translation type="obsolete">Den här kartan är inte sparad. Vill du </translation>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save map</source>
-        <translation type="obsolete">Spara kartan</translation>
+        <location line="+46"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
-        <source>VYM -Information:</source>
-        <translation>VYM -Information:</translation>
+        <location line="-45"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
-        <source>Critical Error</source>
-        <translation>Kritisk fel</translation>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
-        <source>Critcal error</source>
-        <translation>Kritisk fel</translation>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a branch by inserting and making selection its child</source>
-        <translation type="obsolete">Lisää haara </translation>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove only branch and keep its childs</source>
-        <translation type="obsolete">Ta bort bara gren och spara barn</translation>
+        <location line="+693"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">Länk till andra vym-karta</translation>
     </message>
     <message>
-        <source>Remove childs of branch</source>
-        <translation type="obsolete">Ta bort barn av gren</translation>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use modifier to copy</source>
-        <translation type="obsolete">Använd modifierare att kopiera</translation>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
-        <source>Add</source>
-        <translation>Lägg till</translation>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use modifier to draw xLinks</source>
-        <translation type="obsolete">Använd modifierare att rita xLänkar</translation>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use exclusive flags in flag toolbars</source>
-        <translation type="obsolete">Använd exklusiva flaggor </translation>
+        <location line="+680"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set application to open external links</source>
-        <translation type="obsolete">Sätt program att öppna externa länkar</translation>
+        <location line="+160"/>
+        <source>Load vym script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
+        <location line="+106"/>
+        <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="260"/>
-        <source>Search results list</source>
-        <comment>FindResultWidget</comment>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="obsolete">&amp;Karta</translation>
+        <location line="+1086"/>
+        <source>Please allow vym to download release notes!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
-        <source>File actions toolbar</source>
-        <comment>Toolbar for file actions</comment>
+        <location line="+62"/>
+        <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
-        <source>Edit actions toolbar</source>
-        <comment>Toolbar name</comment>
+        <location line="+1"/>
+        <source>Do not allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
-        <source>Property Editor</source>
-        <comment>PropertyEditor</comment>
-        <translation type="unfinished">Egenskapsredigerare</translation>
+        <location line="+5"/>
+        <source>Thank you for enabling downloads!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="287"/>
-        <source>History window</source>
-        <comment>HistoryWidget</comment>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
-        <source>E&amp;dit</source>
-        <comment>Edit menu</comment>
+        <location line="+24"/>
+        <source>Update information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
-        <source>Add attribute</source>
+        <location line="+4"/>
+        <source>vym is up to date.</source>
+        <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
-        <source>&amp;Detach</source>
-        <comment>Context menu</comment>
+        <location line="+48"/>
+        <source>Checking for updates...</source>
+        <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
-        <source>Detach branch and use as mapcenter</source>
-        <comment>Context menu</comment>
+        <location line="+30"/>
+        <source>Please allow vym to check for updates!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
-        <source>Sort children backwards</source>
-        <comment>Edit menu</comment>
+        <location line="-5233"/>
+        <source>Select default font</source>
+        <comment>Branch attribute</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
-        <source>Expand all branches</source>
-        <comment>Edit menu</comment>
+        <location line="-992"/>
+        <source>Webpage (HTML)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
-        <source>Expand one level</source>
-        <comment>Edit menu</comment>
+        <location line="-869"/>
+        <source>Script output window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
-        <source>Collapse one level</source>
-        <comment>Edit menu</comment>
+        <location line="+829"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
-        <source>Collapse unselected levels</source>
-        <comment>Edit menu</comment>
+        <location line="+23"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
-        <source>Unscroll children</source>
-        <comment>Edit menu</comment>
+        <location line="+22"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
-        <source>Grow selection</source>
-        <comment>Edit menu</comment>
+        <location line="+16"/>
+        <source>Text (ASCII)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
-        <source>Shrink selection</source>
-        <comment>Edit menu</comment>
+        <location line="+5"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
-        <source>Reset selection size</source>
-        <comment>Edit menu</comment>
+        <location line="+7"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
-        <source>Toggle target...</source>
-        <comment>Edit menu</comment>
+        <location line="+37"/>
+        <source>CSV...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
-        <source>Goto target...</source>
+        <location line="+486"/>
+        <source>Get page name from Confluence</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
-        <source>Move to target...</source>
-        <comment>Edit menu</comment>
+        <location line="+92"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
-        <source>Select previous</source>
+        <location line="+185"/>
+        <source>Add image...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
-        <source>Select next</source>
+        <location line="+56"/>
+        <source>Goto linked map...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
-        <source>Search functions</source>
-        <comment>Shortcuts</comment>
+        <location line="+186"/>
+        <source>Toolbars</source>
+        <comment>Toolbars overview in view menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
-        <source>Find duplicate URLs</source>
-        <comment>Edit menu</comment>
+        <location line="+1"/>
+        <source>Views</source>
+        <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
-        <comment>Edit menu</comment>
+        <location line="+7"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
-        <source>Extract URLs from note</source>
-        <comment>Edit menu</comment>
+        <location line="+28"/>
+        <source>Rotate counterclockwise</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
-        <source>Add timestamp</source>
-        <comment>Edit menu</comment>
+        <location line="+9"/>
+        <source>Rotate rclockwise</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
-        <source>Remove children</source>
-        <comment>Edit menu</comment>
+        <location line="+64"/>
+        <source>Tree editor</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
+        <location line="+9"/>
+        <source>Task editor</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
-        <source>Center on selection</source>
+        <location line="+11"/>
+        <source>Slide editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
-        <source>Editors toolbar</source>
-        <comment>Editor Toolbar name</comment>
+        <location line="+9"/>
+        <source>Script editor</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
-        <source>Modifier modes toolbar</source>
-        <comment>Modifier Toolbar name</comment>
+        <location line="+8"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
+        <location line="+54"/>
+        <source>Next slide</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
-        <source>Map target</source>
-        <comment>SystemFlag</comment>
+        <location line="+7"/>
+        <source>Previous slide</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
-        <source>Standard Flags toolbar</source>
-        <comment>Standard Flag Toolbar</comment>
+        <location line="+488"/>
+        <source>Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
-        <source>Status - ok,done</source>
-        <comment>Standardflag</comment>
+        <location line="+49"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
-        <source>Status - work in progress</source>
-        <comment>Standardflag</comment>
+        <location line="+76"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
-        <source>Status - missing, not started</source>
-        <comment>Standardflag</comment>
+        <location line="+81"/>
+        <source>Download and show release notes</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+4"/>
+        <source>Check, if updates are available</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+5"/>
+        <source>Show keyboard shortcuts</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Delete key for deleting branches</source>
-        <translation type="obsolete">Ta bort nyckel för att borttaga grenar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
-        <source>Automatic layout</source>
-        <comment>Settings action</comment>
+        <location line="+4"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
-        <source>Test</source>
+        <location line="+4"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
-        <source>Follow XLink</source>
+        <location line="+60"/>
+        <source>Tasks</source>
         <comment>Context menu</comment>
-        <translation type="unfinished">Följa xLänk</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
-        <source>Undo and clipboard toolbar</source>
-        <comment>Toolbar for redo/undo and clipboard</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
-        <source>Selection toolbar</source>
-        <comment>Toolbar name</comment>
+        <location line="+40"/>
+        <source>XLinks</source>
+        <comment>Menu for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
-        <source>URLs and vymLinks toolbar</source>
-        <comment>Toolbar for URLs and vymlinks</comment>
+        <location line="+208"/>
+        <source>Select color (Press Shift for more options)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
-        <source>Colors toolbar</source>
-        <comment>Colors toolbar name</comment>
+        <location line="+21"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation type="unfinished">namnlös</translation>
+        <location line="+280"/>
+        <source>Open anyway</source>
+        <translation>Öppna trots allt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
-        <source>The map %1
-is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation>Kartan %1
-är redan öppnad. Öppning den samma kartan i många redigerare kan 
-åstadkomma problem när man slutar att arbeta med vym. Vill du</translation>
+        <location line="+73"/>
+        <source>Create</source>
+        <translation>Skapa</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
-        <source>This map does not exist:
-  %1
-Do you want to create a new one?</source>
-        <translation>Kartan finns inte:
-  %1
-Vill du skapa en ny?</translation>
+        <location line="+86"/>
+        <source>Load vym map</source>
+        <translation>Öppna vym karta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
-        <source>Loading: %1</source>
-        <comment>Progress dialog while loading maps</comment>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Import: Add vym map to selection</source>
+        <translation>Importera: Lägg vym karta till selektion</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
-        <source>Saved  %1</source>
-        <translation>Sparad  %1</translation>
+        <location line="+4"/>
+        <source>Import: Replace selection with vym map</source>
+        <translation>Importera: Ersätta selektion med vym karta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
-        <source>Couldn&apos;t save </source>
-        <translation>Kunde inte spara </translation>
+        <location line="+5"/>
+        <source>or</source>
+        <comment>File Dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
-        <source>The file %1
-exists already. Do you want to</source>
-        <translation>Filen %1
-finns redan. Vill du</translation>
+        <location line="+143"/>
+        <source>Save map as</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
-        <source>The map %1 has been modified but not saved yet. Do you want to</source>
-        <translation>Kartan %1 har varit modifierad men inte sparad. Vill du</translation>
+        <location line="+195"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
-        <source>Enter URL:</source>
-        <translation type="unfinished">Inskriv URL:</translation>
+        <location line="+26"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
+        <location line="+150"/>
+        <source>Couldn&apos;t find configuration for export to LibreOffice
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Text</translation>
+        <location line="+94"/>
+        <source>Save modified map before closing it</source>
+        <translation>Spara modifierad karta före avstängning</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Visuell kalkyl</translation>
+        <location line="+1"/>
+        <source>Discard changes</source>
+        <translation>Avbryta förändringar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Textdokument</translation>
+        <location line="+2680"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">Bilder</translation>
+        <location line="-1269"/>
+        <source>VYM -Information:</source>
+        <translation>VYM -Information:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
-        <source>Set URL to a local file</source>
-        <translation type="unfinished">Sätt URL tlii lokal fil</translation>
+        <location line="-2265"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
+        <source>Critical Error</source>
+        <translation>Kritisk fel</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
-        <source>Couldn&apos;t open map %1</source>
-        <translation>Kunde inte öppna kartan %1</translation>
+        <location line="+2109"/>
+        <source>Critcal error</source>
+        <translation>Kritisk fel</translation>
     </message>
     <message>
-        <source>Exit</source>
-        <translation type="obsolete">Avsluta</translation>
+        <location line="-3798"/>
+        <source>Add</source>
+        <translation>Lägg till</translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translation type="obsolete">Gör om</translation>
+        <location line="-2909"/>
+        <source>Search results list</source>
+        <comment>FindResultWidget</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hide link</source>
-        <translation type="obsolete">Gömma länk</translation>
+        <location line="+3108"/>
+        <source>File actions toolbar</source>
+        <comment>Toolbar for file actions</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation>Var rädd om...!</translation>
+        <location line="+19"/>
+        <source>Edit actions toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation>Säkert?</translation>
+        <location line="-3103"/>
+        <source>Property Editor</source>
+        <comment>PropertyEditor</comment>
+        <translation type="unfinished">Egenskapsredigerare</translation>
     </message>
     <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Ok!</translation>
+        <location line="+8"/>
+        <source>History window</source>
+        <comment>HistoryWidget</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Not ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">Inte ok!</translation>
+        <location line="+994"/>
+        <source>E&amp;dit</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
-        <source>This won&apos;t work!</source>
-        <comment>Standardflag</comment>
-        <translation>Det ska inte fungera!</translation>
+        <location line="+84"/>
+        <source>Add attribute</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
-        <source>Good</source>
-        <comment>Standardflag</comment>
-        <translation>Bra</translation>
+        <location line="+131"/>
+        <source>&amp;Detach</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
-        <source>Bad</source>
-        <comment>Standardflag</comment>
-        <translation>Dåligt</translation>
+        <location line="+1"/>
+        <source>Detach branch and use as mapcenter</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
-        <source>Time critical</source>
-        <comment>Standardflag</comment>
-        <translation>Tidkritiskt</translation>
+        <location line="+19"/>
+        <source>Sort children backwards</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation>Idé!</translation>
+        <location line="+81"/>
+        <source>Expand all branches</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation>Viktigt</translation>
+        <location line="+8"/>
+        <source>Expand one level</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation>Inte viktigt</translation>
+        <location line="-33"/>
+        <source>Collapse one level</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
-        <source>I like this</source>
-        <comment>Standardflag</comment>
-        <translation>Jag tycker om det här</translation>
+        <location line="+13"/>
+        <source>Collapse unselected levels</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation>Jag tycker inte om det här</translation>
+        <location line="-47"/>
+        <source>Unscroll children</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation>Farligt</translation>
+        <location line="+5"/>
+        <source>Grow selection</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
-        <source>This will help</source>
-        <comment>Standardflag</comment>
-        <translation>Den här ska hjälp</translation>
+        <location line="+9"/>
+        <source>Shrink selection</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>About VYM</source>
-        <translation type="obsolete">Om VYM</translation>
+        <location line="+9"/>
+        <source>Reset selection size</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
-        <source>Import</source>
-        <translation>Importera</translation>
+        <location line="+442"/>
+        <source>Toggle target...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <translation type="obsolete">KDE bokmärken</translation>
+        <location line="+10"/>
+        <source>Goto target...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <source>(still experimental)</source>
-        <translation type="unfinished">(fortfarande experimentell)</translation>
+        <location line="+9"/>
+        <source>Move to target...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exportera som LaTeX</translation>
+        <location line="+18"/>
+        <source>Select previous</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
-        <source>&amp;Print</source>
-        <translation>&amp;Skriv ut</translation>
+        <location line="+10"/>
+        <source>Select next</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
-        <source>Export to</source>
-        <translation>Exportera till</translation>
+        <location line="+19"/>
+        <source>Search functions</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hide object in exports</source>
-        <translation type="obsolete">Gömma objekt i exporteringar</translation>
+        <location line="+16"/>
+        <source>Find duplicate URLs</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use hide flag during exports </source>
-        <translation type="obsolete">Använd gömma flaggan när exportering </translation>
+        <location line="-452"/>
+        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Open URL in new tab</source>
-        <translation type="obsolete">Öppna URL i ny flick</translation>
+        <location line="+17"/>
+        <source>Extract URLs from note</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Warning</source>
-        <translation>Varning</translation>
+        <location line="+308"/>
+        <source>Add timestamp</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
-        <translation>Kunde inte hittas en visare att öppna %1.
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Please use Settings-&gt;</source>
-        <translation>Använd Inställningar-&gt;</translation>
+        <location line="-11"/>
+        <source>Remove children</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
-        <source>Set application to open an URL</source>
-        <translation>Sätt program att öppna URL</translation>
+        <location line="+333"/>
+        <source>Center on selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>Kunde inte starta %1 att öppna en ny flick i %2.</translation>
+        <location line="+1195"/>
+        <source>Editors toolbar</source>
+        <comment>Editor Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Set application to open PDF files</source>
-        <translation>Sätt program att öppna PDF-filer</translation>
+        <location line="+12"/>
+        <source>Modifier modes toolbar</source>
+        <comment>Modifier Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
-        <source>Oh no!</source>
-        <comment>Standardflag</comment>
-        <translation>Nej men inte!</translation>
+        <location line="-888"/>
+        <source>Map target</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
-        <source>Formatting</source>
-        <comment>Shortcuts</comment>
+        <location line="+899"/>
+        <source>Standard Flags toolbar</source>
+        <comment>Standard Flag Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
-        <source>Call...</source>
+        <location line="-874"/>
+        <source>Status - ok,done</source>
         <comment>Standardflag</comment>
-        <translation>Ringa...</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
-        <source>Very important!</source>
+        <location line="+4"/>
+        <source>Status - work in progress</source>
         <comment>Standardflag</comment>
-        <translation>Jätte viktigt!</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
-        <source>Very unimportant!</source>
+        <location line="+5"/>
+        <source>Status - missing, not started</source>
         <comment>Standardflag</comment>
-        <translation>Inte viktigt!</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
-        <source>Rose</source>
-        <comment>Standardflag</comment>
-        <translation>Rosa</translation>
+        <location line="+434"/>
+        <source>Automatic layout</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
-        <source>Surprise!</source>
-        <comment>Standardflag</comment>
-        <translation>Överraskning!</translation>
+        <location line="+11"/>
+        <source>Test</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
-        <source>Info</source>
-        <comment>Standardflag</comment>
-        <translation>Info</translation>
+        <location line="+164"/>
+        <source>Follow XLink</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished">Följa xLänk</translation>
     </message>
     <message>
-        <source>Firefox Bookmarks</source>
-        <translation type="obsolete">Firefox bokmärken</translation>
+        <location line="+130"/>
+        <source>Undo and clipboard toolbar</source>
+        <comment>Toolbar for redo/undo and clipboard</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Note Editor</source>
-        <translation type="obsolete">Visa anteckningsredigerare</translation>
+        <location line="+29"/>
+        <source>Selection toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation>Bokmärken</translation>
+        <location line="+9"/>
+        <source>URLs and vymLinks toolbar</source>
+        <comment>Toolbar for URLs and vymlinks</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">Kunde inte starta %1 att öppna ny flick</translation>
+        <location line="+6"/>
+        <source>Colors toolbar</source>
+        <comment>Colors toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Standard Flags</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation type="obsolete">Standard flaggor</translation>
+        <location line="+319"/>
+        <source>The map %1
+is already opened.Opening the same map in multiple editors may lead 
+to confusion when finishing working with vym.Do you want to</source>
+        <translation>Kartan %1
+är redan öppnad. Öppning den samma kartan i många redigerare kan 
+åstadkomma problem när man slutar att arbeta med vym. Vill du</translation>
     </message>
     <message>
-        <source>No matches found for &quot;%1&quot;</source>
-        <translation type="obsolete">&quot;1%&quot; hittades inte</translation>
+        <location line="+75"/>
+        <source>This map does not exist:
+  %1
+Do you want to create a new one?</source>
+        <translation>Kartan finns inte:
+  %1
+Vill du skapa en ny?</translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <translation type="obsolete">&amp;Karta</translation>
+        <location line="+48"/>
+        <source>Loading: %1</source>
+        <comment>Progress dialog while loading maps</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Open all URLs in subtree</source>
-        <translation type="obsolete">Öppna alla URLs i subträd</translation>
+        <location line="+176"/>
+        <source>Saved  %1</source>
+        <translation>Sparad  %1</translation>
     </message>
     <message>
-        <source>Open all vym links in subtree</source>
-        <translation type="obsolete">Öppna alla vym länkar i subträd</translation>
+        <location line="+4"/>
+        <source>Couldn&apos;t save </source>
+        <translation>Kunde inte spara </translation>
     </message>
     <message>
-        <source>New map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Ny karta</translation>
+        <location line="+39"/>
+        <location line="+92"/>
+        <source>The file %1
+exists already. Do you want to</source>
+        <translation>Filen %1
+finns redan. Vill du</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="985"/>
-        <source>&amp;Open...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Öppna...</translation>
+        <location line="-45"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Open</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Öppna</translation>
+        <location line="+396"/>
+        <source>The map %1 has been modified but not saved yet. Do you want to</source>
+        <translation>Kartan %1 har varit modifierad men inte sparad. Vill du</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
-        <source>Open Recent</source>
-        <comment>File menu</comment>
-        <translation>Senaste dokument</translation>
+        <location line="+178"/>
+        <source>Enter URL:</source>
+        <translation type="unfinished">Inskriv URL:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
-        <source>&amp;Save...</source>
-        <comment>File menu</comment>
-        <translation>&amp;Spara...</translation>
+        <location line="+23"/>
+        <source>HTML</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Spara</translation>
+        <location line="+1"/>
+        <source>Text</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Text</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
-        <source>Save &amp;As...</source>
-        <comment>File menu</comment>
-        <translation>Spara &amp;som...</translation>
+        <location line="+1"/>
+        <source>Spreadsheet</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Visuell kalkyl</translation>
     </message>
     <message>
-        <source>Save &amp;As</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Spara &amp;som</translation>
+        <location line="+1"/>
+        <source>Textdocument</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Textdokument</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
-        <source>Import</source>
-        <comment>File menu</comment>
-        <translation>Importera</translation>
+        <location line="+1"/>
+        <source>Images</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">Bilder</translation>
     </message>
     <message>
-        <source>Import %1</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">Importera %1</translation>
+        <location line="+4"/>
+        <source>Set URL to a local file</source>
+        <translation type="unfinished">Sätt URL tlii lokal fil</translation>
     </message>
     <message>
-        <source>KDE bookmarks</source>
-        <translation type="obsolete">KDE bokmärken</translation>
+        <location line="+125"/>
+        <source>Couldn&apos;t open map %1</source>
+        <translation>Kunde inte öppna kartan %1</translation>
     </message>
     <message>
-        <source>Firefox Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Firefox bokmärken</translation>
+        <location line="-2216"/>
+        <source>Take care!</source>
+        <comment>Standardflag</comment>
+        <translation>Var rädd om...!</translation>
     </message>
     <message>
-        <source>Import %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Importera %1</translation>
+        <location line="+5"/>
+        <source>Really?</source>
+        <comment>Standardflag</comment>
+        <translation>Säkert?</translation>
     </message>
     <message>
-        <source>Import Dir%1</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Importera mapp%1</translation>
+        <location line="-24"/>
+        <source>This won&apos;t work!</source>
+        <comment>Standardflag</comment>
+        <translation>Det ska inte fungera!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
-        <source>Export</source>
-        <comment>File menu</comment>
-        <translation>Exportera</translation>
+        <location line="+38"/>
+        <source>Good</source>
+        <comment>Standardflag</comment>
+        <translation>Bra</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
-        <source>Image%1</source>
-        <comment>File export menu</comment>
-        <translation>Bild%1</translation>
+        <location line="+4"/>
+        <source>Bad</source>
+        <comment>Standardflag</comment>
+        <translation>Dåligt</translation>
     </message>
     <message>
-        <source>Export map as image</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportera karta som en bild</translation>
+        <location line="+48"/>
+        <source>Time critical</source>
+        <comment>Standardflag</comment>
+        <translation>Tidkritiskt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
-        <source>PDF%1</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="-58"/>
+        <source>Idea!</source>
+        <comment>Standardflag</comment>
+        <translation>Idé!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
-        <source>SVG%1</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+25"/>
+        <source>Important</source>
+        <comment>Standardflag</comment>
+        <translation>Viktigt</translation>
     </message>
     <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportera som Open Document Format (Open Office) </translation>
+        <location line="+5"/>
+        <source>Unimportant</source>
+        <comment>Standardflag</comment>
+        <translation>Inte viktigt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
-        <source>Repeat last export (%1)</source>
-        <translation type="unfinished"></translation>
+        <location line="+15"/>
+        <source>I like this</source>
+        <comment>Standardflag</comment>
+        <translation>Jag tycker om det här</translation>
     </message>
     <message>
-        <source>Export as %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">Exportera som %1</translation>
+        <location line="+3"/>
+        <source>I do not like this</source>
+        <comment>Standardflag</comment>
+        <translation>Jag tycker inte om det här</translation>
     </message>
     <message>
-        <source> webpage (XHTML)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete"> websidan (XHTML)</translation>
+        <location line="-26"/>
+        <source>Dangerous</source>
+        <comment>Standardflag</comment>
+        <translation>Farligt</translation>
     </message>
     <message>
-        <source>Export as %1</source>
-        <translation type="obsolete">Exportera som %1</translation>
+        <location line="+30"/>
+        <source>This will help</source>
+        <comment>Standardflag</comment>
+        <translation>Den här ska hjälp</translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">KDE bokmärken</translation>
+        <location line="+1554"/>
+        <location line="+54"/>
+        <location line="+1"/>
+        <source>Import</source>
+        <translation>Importera</translation>
     </message>
     <message>
-        <source>Print</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Skriv ut</translation>
+        <location line="-3186"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
+        <source>(still experimental)</source>
+        <translation type="unfinished">(fortfarande experimentell)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
-        <source>&amp;Close Map</source>
-        <comment>File menu</comment>
-        <translation>&amp;Stäng kartan</translation>
+        <location line="-3237"/>
+        <source>&amp;Print</source>
+        <translation>&amp;Skriv ut</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
-        <source>E&amp;xit</source>
-        <comment>File menu</comment>
-        <translation>A&amp;vsluta</translation>
+        <location line="+3168"/>
+        <location line="+68"/>
+        <source>Export to</source>
+        <translation>Exportera till</translation>
     </message>
     <message>
-        <source>&amp;Actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="obsolete">&amp;Aktivitet verktygsrad</translation>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
+        <source>Warning</source>
+        <translation>Varning</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Redigera</translation>
+        <location line="-2733"/>
+        <location line="+2345"/>
+        <source>Couldn&apos;t find a viewer to open %1.
+</source>
+        <translation>Kunde inte hittas en visare att öppna %1.
+</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Ångra</translation>
+        <location line="-2344"/>
+        <location line="+2345"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>Använd Inställningar-&gt;</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Göra om</translation>
+        <location line="-2344"/>
+        <location line="+1260"/>
+        <source>Set application to open an URL</source>
+        <translation>Sätt program att öppna URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Kopiera</translation>
+        <location line="-12"/>
+        <location line="+1097"/>
+        <source>Set application to open PDF files</source>
+        <translation>Sätt program att öppna PDF-filer</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation>&amp;Klip ut</translation>
+        <location line="-4311"/>
+        <source>Oh no!</source>
+        <comment>Standardflag</comment>
+        <translation>Nej men inte!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation>Klistra &amp;in</translation>
+        <location line="-571"/>
+        <source>Formatting</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Redigera rubrik</translation>
+        <location line="+608"/>
+        <source>Call...</source>
+        <comment>Standardflag</comment>
+        <translation>Ringa...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
-        <source>Delete Selection</source>
+        <location line="-20"/>
+        <source>Very important!</source>
+        <comment>Standardflag</comment>
+        <translation>Jätte viktigt!</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Very unimportant!</source>
+        <comment>Standardflag</comment>
+        <translation>Inte viktigt!</translation>
+    </message>
+    <message>
+        <location line="+24"/>
+        <source>Rose</source>
+        <comment>Standardflag</comment>
+        <translation>Rosa</translation>
+    </message>
+    <message>
+        <location line="-3"/>
+        <source>Surprise!</source>
+        <comment>Standardflag</comment>
+        <translation>Överraskning!</translation>
+    </message>
+    <message>
+        <location line="-64"/>
+        <source>Info</source>
+        <comment>Standardflag</comment>
+        <translation>Info</translation>
+    </message>
+    <message>
+        <location line="+1605"/>
+        <source>Firefox Bookmarks</source>
+        <translation type="unfinished">Firefox bokmärken</translation>
+    </message>
+    <message>
+        <location line="-3184"/>
+        <source>&amp;Open...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Öppna...</translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <source>Open Recent</source>
+        <comment>File menu</comment>
+        <translation>Senaste dokument</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>&amp;Save...</source>
+        <comment>File menu</comment>
+        <translation>&amp;Spara...</translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Save &amp;As...</source>
+        <comment>File menu</comment>
+        <translation>Spara &amp;som...</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Import</source>
+        <comment>File menu</comment>
+        <translation>Importera</translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Export</source>
+        <comment>File menu</comment>
+        <translation>Exportera</translation>
+    </message>
+    <message>
+        <location line="+56"/>
+        <source>Image%1</source>
+        <comment>File export menu</comment>
+        <translation>Bild%1</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>PDF%1</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>SVG%1</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-63"/>
+        <source>Repeat last export (%1)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+118"/>
+        <source>&amp;Close Map</source>
+        <comment>File menu</comment>
+        <translation>&amp;Stäng kartan</translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>E&amp;xit</source>
+        <comment>File menu</comment>
+        <translation>A&amp;vsluta</translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <source>&amp;Undo</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Ångra</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>&amp;Redo</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Göra om</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>&amp;Copy</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Kopiera</translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Cu&amp;t</source>
+        <comment>Edit menu</comment>
+        <translation>&amp;Klip ut</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>&amp;Paste</source>
+        <comment>Edit menu</comment>
+        <translation>Klistra &amp;in</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location line="+10"/>
+        <source>Delete Selection</source>
         <comment>Edit menu</comment>
         <translation>Ta bort selektion</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
+        <location line="+33"/>
         <source>Add branch as child</source>
         <comment>Edit menu</comment>
         <translation>Lägg till gren som ett barn</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
+        <location line="+9"/>
         <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
+        <location line="+10"/>
+        <location line="+10"/>
         <source>Add branch above</source>
         <comment>Edit menu</comment>
         <translation>Lägg till gren ovanför</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
+        <location line="+10"/>
+        <location line="+9"/>
         <source>Add branch below</source>
         <comment>Edit menu</comment>
         <translation>Lägg till gren inunder</translation>
     </message>
     <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Längre fram</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Längre bak</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
+        <location line="+91"/>
         <source>Scroll branch</source>
         <comment>Edit menu</comment>
         <translation>Rulla gren</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
+        <location line="+544"/>
+        <location line="+8"/>
         <source>Find...</source>
         <comment>Edit menu</comment>
         <translation>Sök...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
+        <location line="-462"/>
         <source>Open URL</source>
         <comment>Edit menu</comment>
         <translation>Öppna URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
+        <location line="+9"/>
         <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
         <translation>Öppna URL i ny flick</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
+        <location line="+18"/>
         <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
         <translation>Öppna alla URLs i subträd</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
+        <location line="+17"/>
         <source>Edit URL...</source>
         <comment>Edit menu</comment>
         <translation>Redigera URL...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
+        <location line="+18"/>
         <source>Use heading for URL</source>
         <comment>Edit menu</comment>
         <translation>Använd rubrik för URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
+        <location line="+33"/>
         <source>Open linked map</source>
         <comment>Edit menu</comment>
         <translation>Öppna linkad karta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
+        <location line="+17"/>
         <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
         <translation>Öppna alla vym länkar i subträd</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
+        <location line="+9"/>
         <source>Edit vym link...</source>
         <comment>Edit menu</comment>
         <translation>Redigera vym länk...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
+        <location line="+9"/>
         <source>Delete vym link</source>
         <comment>Edit menu</comment>
         <translation>Ta bort vym länk</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
+        <location line="+9"/>
         <source>Hide in exports</source>
         <comment>Edit menu</comment>
         <translation>Gömma i exporteringar</translation>
     </message>
     <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Redigera kartainfo...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
+        <location line="+158"/>
         <source>Add map (insert)</source>
         <comment>Edit menu</comment>
         <translation>Lägg till karta (i nuvarande)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
+        <location line="+7"/>
         <source>Add map (replace)</source>
         <comment>Edit menu</comment>
         <translation>Lägg till karta (ersätt)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
+        <location line="+7"/>
         <source>Save selection</source>
         <comment>Edit menu</comment>
         <translation>Spara selektion</translation>
     </message>
     <message>
-        <source>Remove only branch </source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Ta bort bara gren </translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Ta bort barn</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Välj övre gren</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Välj lägre gren</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Välj vänstra gren</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Välj barngren</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Välj första gren</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Välj sista gren</translation>
-    </message>
-    <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Lägg till bild...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
+        <location line="+169"/>
         <source>F&amp;ormat</source>
         <comment>Format menu</comment>
         <translation>F&amp;ormat</translation>
     </message>
     <message>
-        <source>Format Actions</source>
-        <comment>Format Toolbar name</comment>
-        <translation type="obsolete">Format aktiviteter</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
+        <location line="+7"/>
         <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
         <translation>Väl&amp;j färg</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
+        <location line="+10"/>
         <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
         <translation>Färga &amp;gren</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
+        <location line="+10"/>
         <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
         <translation>Färga sub&amp;träd</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
+        <location line="+53"/>
         <source>Hide link if object is not selected</source>
         <comment>Branch attribute</comment>
         <translation>Gömma länk om objekt är inte valt</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
+        <location line="+6"/>
         <source>&amp;Use color of heading for link</source>
         <comment>Branch attribute</comment>
         <translation>&amp;Använd färg av rubrik för länk</translation>
     </message>
     <message>
-        <source>View Actions</source>
-        <comment>View Toolbar name</comment>
-        <translation type="obsolete">Visa aktiviteter</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
+        <location line="+89"/>
         <source>reset Zoom</source>
         <comment>View action</comment>
         <translation>Normal zoom</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
+        <location line="-37"/>
         <source>Zoom in</source>
         <comment>View action</comment>
         <translation>Zooma in</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
+        <location line="+9"/>
         <source>Zoom out</source>
         <comment>View action</comment>
         <translation>Zooma ut</translation>
     </message>
     <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Visa anteckningsredigerare</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="obsolete">Sätt när man användar modifierar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>Använd modifierare att färga grenar</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <comment>Mode modifier</comment>
-        <translation type="obsolete">Använd modifierare att kopiera</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
+        <location line="+249"/>
         <source>Use modifier to draw xLinks</source>
         <comment>Mode modifier</comment>
         <translation>Använd modifierare add rita xLänkar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
+        <location line="+439"/>
         <source>Set application to open pdf files</source>
         <comment>Settings action</comment>
         <translation>Sätt program att öppna pdf-filer</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
+        <location line="+7"/>
         <source>Set application to open external links</source>
         <comment>Settings action</comment>
         <translation>Sätt program att öppna externa länkar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>Redigera gren efter tillläggning</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
+        <location line="+67"/>
         <source>Select branch after adding it</source>
         <comment>Settings action</comment>
         <translation>Väl gren efter tillläggning</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
+        <location line="+9"/>
         <source>Select existing heading</source>
         <comment>Settings action</comment>
         <translation>Välj existering rubrik</translation>
     </message>
     <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">Ta bort nyckel</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
+        <location line="+7"/>
         <source>Exclusive flags</source>
         <comment>Settings action</comment>
         <translation>Exklusiva flaggor</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
+        <location line="+7"/>
         <source>Use hide flags</source>
         <comment>Settings action</comment>
         <translation>Använd gömma flaggor</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
+        <location line="+78"/>
         <source>&amp;Help</source>
         <comment>Help menubar entry</comment>
         <translation>&amp;Hjälp</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
+        <location line="+3"/>
         <source>Open VYM Documentation (pdf) </source>
         <comment>Help action</comment>
         <translation>Öppna VYM dokumentation (pdf) </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
+        <location line="+38"/>
         <source>About VYM</source>
         <comment>Help action</comment>
         <translation>Om VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
+        <location line="-4"/>
         <source>About QT</source>
         <comment>Help action</comment>
         <translation>Om QT</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
+        <location line="+34"/>
         <source>Remove</source>
         <comment>Context menu name</comment>
         <translation>Ta bort</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
+        <location line="+61"/>
         <source>Edit XLink</source>
         <comment>Context menu name</comment>
         <translation>Redigera xlänk</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
+        <location line="+11"/>
         <source>Follow XLink</source>
         <comment>Context menu name</comment>
         <translation type="unfinished">Följa xLänk</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
+        <location line="+6"/>
         <source>Save image</source>
         <comment>Context action</comment>
         <translation>Spara bild</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="971"/>
+        <location line="-2202"/>
         <source>&amp;New map</source>
         <comment>File menu</comment>
         <translation>&amp;Ny karta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="978"/>
+        <location line="+9"/>
         <source>&amp;Copy to new map</source>
         <comment>File menu</comment>
         <translation>&amp;Kopiera till ny karta</translation>
     </message>
     <message>
-        <source>Copy selection to mapcenter of a new map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">Kopiera selektion till kartacenter av ny karta</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
+        <location line="+314"/>
         <source>Add mapcenter</source>
         <comment>Canvas context menu</comment>
         <translation>Lägg till kartacenter</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
+        <location line="+129"/>
         <source>Sort children</source>
         <comment>Edit menu</comment>
         <translation>Ställa barn i ordning</translation>
     </message>
     <message>
-        <source>Unscroll childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">Rulla  barn öppen</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches in selected subtree</source>
-        <translation type="obsolete">Rulla öppen alla rullad grenar i utvald subträd</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
+        <location line="+164"/>
         <source>Edit local URL...</source>
         <comment>Edit menu</comment>
         <translation>Redigera lokal URL...</translation>
     </message>
     <message>
-        <source>Edit local URL</source>
-        <translation type="obsolete">Redigera lokal URL</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Skapa URL till Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <translation type="obsolete">Skapa URL till Novell Bugzilla</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">Skapa URL till Novell FATE</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <translation type="obsolete">Skapa URL till Novell FATE</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
+        <location line="+315"/>
         <source>Property window</source>
         <comment>Dialog to edit properties of selection</comment>
         <translation>Egenskaper fönstret</translation>
     </message>
     <message>
-        <source>Set properties for selection</source>
-        <translation type="obsolete">Sätt egenskaper för selektion</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
+        <location line="+168"/>
         <source>Linkstyle Curve</source>
         <translation>Länkstil kurva</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
+        <location line="+14"/>
         <source>Linkstyle Thick Curve</source>
         <translation>Länkstil tjock kurva</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
+        <location line="+25"/>
         <source>Set &amp;Link Color</source>
         <translation>Sätt &amp;länkfärg</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
+        <location line="+5"/>
         <source>Set &amp;Selection Color</source>
         <translation>Sätt &amp;selektion färg</translation>
     </message>
     <message>
-        <source>Set Selection Color</source>
-        <translation type="obsolete">Sätt selektion färg</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
+        <location line="+10"/>
         <source>Set &amp;Background image</source>
         <translation>Sätt &amp;bakgrundsbild</translation>
     </message>
     <message>
-        <source>Set Background image</source>
-        <translation type="obsolete">Sätt bakgrundsbild</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <comment>View action</comment>
-        <translation type="obsolete">Visa selektion</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <translation type="obsolete">Visa selektion</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
+        <location line="+166"/>
         <source>History Window</source>
         <comment>View action</comment>
         <translation>Historik fönstret</translation>
     </message>
     <message>
-        <source>Show History Window</source>
-        <translation type="obsolete">Visa historik fönstret</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
+        <location line="+14"/>
         <source>Antialiasing</source>
         <comment>View action</comment>
         <translation>Kantutjämning</translation>
     </message>
     <message>
-        <source>Antialiasing</source>
-        <translation type="obsolete">Kantutjämning</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
+        <location line="+7"/>
         <source>Smooth pixmap transformations</source>
         <comment>View action</comment>
         <translation>Mjuk pixmap -ändringar</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
+        <location line="+10"/>
         <source>Next Map</source>
         <comment>View action</comment>
         <translation>Följande karta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
+        <location line="+7"/>
         <source>Previous Map</source>
         <comment>View action</comment>
         <translation>Förra karta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
+        <location line="+52"/>
         <source>Modifier modes</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
+        <location line="+101"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
         <source>Note</source>
         <comment>SystemFlag</comment>
         <translation>Anteckning</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>URL till dokument </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
+        <location line="+9"/>
         <source>Link to another vym map</source>
         <comment>SystemFlag</comment>
         <translation>Länk till andra vym-karta</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
+        <location line="+3"/>
         <source>subtree is scrolled</source>
         <comment>SystemFlag</comment>
         <translation>Subträd är rullad</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
+        <location line="+4"/>
         <source>subtree is temporary scrolled</source>
         <comment>SystemFlag</comment>
         <translation>Subträd är temporält rullad</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
+        <location line="+3"/>
         <source>Hide object in exported maps</source>
         <comment>SystemFlag</comment>
         <translation>Gömma objekt i exporterad kartor</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
+        <location line="+42"/>
         <source>I just love...</source>
         <comment>Standardflag</comment>
         <translation>Jag bara älskar...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Viktigt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Prioritet</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Föregående</translation>
-    </message>
-    <message>
-        <source>Forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">Vidare</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Titta här</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Farlig</translation>
-    </message>
-    <message>
-        <source>Don&apos;t forget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">Glöm inte</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Flagga</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Hemma</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Telefon</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Musik</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Brevlåda</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Lösenord</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Stanna</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Magiskt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Ska vara diskuterad</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Påminnelse</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Utmärkt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Söt</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
+        <location line="+263"/>
         <source>Check for release notes and updates</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
+        <location line="+27"/>
         <source>Set application to zip/unzip files</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
+        <location line="+22"/>
         <source>Set path for macros</source>
         <comment>Settings action</comment>
         <translation>Sätt stig för macros</translation>
     </message>
     <message>
-        <source>Set path for macros</source>
-        <translation type="obsolete">Sätt stig för macros</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
+        <location line="+4"/>
         <source>Set number of undo levels</source>
         <comment>Settings action</comment>
         <translation>Sätt antal av ångranivåer</translation>
     </message>
     <message>
-        <source>Set number of undo levels</source>
-        <translation type="obsolete">Sätt antal av ångranivåer</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
+        <location line="+7"/>
         <source>Autosave</source>
         <comment>Settings action</comment>
         <translation>Automatsparning</translation>
     </message>
     <message>
-        <source>Autosave</source>
-        <translation type="obsolete">Automatsparning</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
+        <location line="+6"/>
         <source>Autosave time</source>
         <comment>Settings action</comment>
         <translation>Automatsparnings interval</translation>
     </message>
     <message>
-        <source>Autosave time</source>
-        <translation type="obsolete">Automatsparnings interval</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
+        <location line="+12"/>
         <source>Write backup file on save</source>
         <comment>Settings action</comment>
         <translation>Skriva säkerhetskopiafil när man sparar</translation>
     </message>
     <message>
-        <source>Write backup file on save</source>
-        <translation type="obsolete">Skriva säkerhetskopiafil när man sparar</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
+        <location line="+65"/>
         <source>Animation</source>
         <comment>Settings action</comment>
         <translation>Animation</translation>
     </message>
     <message>
-        <source>Animation</source>
-        <translation type="obsolete">Animation</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
-        <source>Open VYM example maps </source>
-        <comment>Help action</comment>
-        <translation>Öppna VYM exempel-kartor </translation>
-    </message>
-    <message>
-        <source>Open VYM example maps </source>
-        <translation type="obsolete">Öppna VYM exempel-kartor </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
-        <source>References (URLs, vymLinks, ...)</source>
-        <comment>Context menu name</comment>
-        <translation>Referenser (URLs, vymLinks, ...)</translation>
-    </message>
-    <message>
-        <source>&amp;%1 %2</source>
-        <translation type="obsolete">&amp;%1 %2</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation>Öppna Freemind karta</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <source>Export as CSV</source>
-        <translation>Exportera som CSV</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation type="unfinished">Länk till en annan karta</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
-        <source>Couldn&apos;t set sleep time to %1.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">%1 saker på mapp
-</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
-        <source>branches</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
-        <source>notes</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
-        <source>images</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
-        <source>slides</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
-        <source>xLinks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation>Mappen med vym macros:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
-        <source>Number of undo/redo levels:</source>
-        <translation>Antal av ångra/gör om nivåer:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
-        <translation>Inställningar har förändrats. Följande kartan öppnad ska har &quot;%1&quot; ångra/göra om nivår</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
-        <source>Number of seconds before autosave:</source>
-        <translation>Sekunder förr automatsparning:</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
-        <source>Set author for new maps (used in lockfile)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
-        <source>Number of parents shown in find results:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
-        <source>Number of parents shown for a task:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
-        <source>(readonly)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
-        <source>History for %1</source>
-        <comment>Window Caption</comment>
-        <translation>Historik för %1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
-        <source>Export in last used format (%1) to: %2</source>
-        <comment>status tip</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
-        <translation>Kunde inte hittas dokumentation %1 i:(new line)%2</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
-        <source>Load vym example map</source>
-        <translation>Öppna VYM exempel-karta</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="obsolete">Kunde inte hitta en macro på  %1.
-</translation>
-    </message>
-    <message>
-        <source>Set directory for vym macros</source>
-        <translation type="obsolete">Sätt mapp för vym macros</translation>
-    </message>
-</context>
-<context>
-    <name>MapEditor</name>
-    <message>
-        <source>Critical Parse Error</source>
-        <translation type="obsolete">Kritisk parse fel</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">Överskriv</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
-    </message>
-    <message>
-        <source>Critical Export Error</source>
-        <translation type="obsolete">Kritiskt export fel</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">Kritiskt fel</translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Inskriv URL:</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <translation type="obsolete">Bilder</translation>
-    </message>
-    <message>
-        <source>Critical Import Error</source>
-        <translation type="obsolete">Kritisk import fel</translation>
-    </message>
-    <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Filen %1 redan finns.
-Vill du överskriva den?</translation>
-    </message>
-    <message>
-        <source>MapEditor::exportXML couldn&apos;t open %1</source>
-        <translation type="obsolete">MapEditor::exportXML kunde inte öppna %1</translation>
-    </message>
-    <message>
-        <source>Cannot find the directory %1</source>
-        <translation type="obsolete">Kann inte hitta register %1</translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Länk till en annan karta</translation>
-    </message>
-    <message>
-        <source>Load image</source>
-        <translation type="obsolete">Ladda en bild</translation>
-    </message>
-    <message>
-        <source>Choose directory structure to import</source>
-        <translation type="obsolete">Välj registerstruktur att importera</translation>
-    </message>
-    <message>
-        <source>unnamed</source>
-        <translation type="obsolete">namnlös</translation>
-    </message>
-    <message>
-        <source>Save image</source>
-        <translation type="obsolete">Spara bild</translation>
-    </message>
-    <message>
-        <source>Critical Parse Error while reading %1</source>
-        <translation type="obsolete">Kritisk XXX fel medan läser %1</translation>
-    </message>
-    <message>
-        <source>Could not read %1</source>
-        <translation type="obsolete">Kunnde inte läsa %1</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">Varning</translation>
+        <location line="+53"/>
+        <source>Open VYM example maps </source>
+        <comment>Help action</comment>
+        <translation>Öppna VYM exempel-kartor </translation>
     </message>
     <message>
-        <source>Can&apos;t get color of heading,
-there&apos;s no branch selected</source>
-        <translation type="obsolete">Kann inte hämta färg av rubrik,
-det finns ingen gren valt</translation>
+        <location line="+102"/>
+        <source>References (URLs, vymLinks, ...)</source>
+        <comment>Context menu name</comment>
+        <translation>Referenser (URLs, vymLinks, ...)</translation>
     </message>
     <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">Kritisk XX fel (kato joku aikasempi...)</translation>
+        <location line="+1159"/>
+        <source>Export as CSV</source>
+        <translation>Exportera som CSV</translation>
     </message>
     <message>
-        <source>Couldn&apos;t create temporary directory before load
+        <location line="+651"/>
+        <source>Couldn&apos;t set sleep time to %1.
 </source>
-        <translation type="obsolete">Kunnde inte skapa tillfälligt register förrän XXX kas aik</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
+        <location line="+28"/>
+        <source>%1 items on map
 </source>
-        <translation type="obsolete">Kunnde inte hitta en karta (*.xml) in i .vym arkivet.
+        <comment>Info about map</comment>
+        <translation type="unfinished">%1 saker på mapp
 </translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">Kartan %1
-använde inte tryckt vym fil format.
-Att skriva det upptryckt ska också skriva bilder 
-och flaggor och så kan överskriva filer in i givit register
-
-Vill du skriva kartan</translation>
-    </message>
-    <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">tryckt (vym huvudsaklig)</translation>
-    </message>
-    <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">upptryckt</translation>
-    </message>
-    <message>
-        <source>Save Error</source>
-        <translation type="obsolete">Sparningsfel</translation>
+        <location line="+21"/>
+        <source>branches</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1
-could not be removed before saving</source>
-        <translation type="obsolete">%1
-kunnde inte att vara bort tagit förrän sparning ?x!0000</translation>
+        <location line="+7"/>
+        <source>notes</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1
-could not be renamed before saving</source>
-        <translation type="obsolete">%1
-kunnde inte att vara nämnad igen förrän sparn</translation>
+        <location line="+1"/>
+        <source>images</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">Kunnde inte skapa tillfälligt register förrän sparning
-</translation>
+        <location line="+3"/>
+        <source>slides</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">Export karta som bild</translation>
+        <location line="+2"/>
+        <source>xLinks</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">Export XML till register</translation>
+        <location line="+847"/>
+        <source>Number of undo/redo levels:</source>
+        <translation>Antal av ångra/gör om nivåer:</translation>
     </message>
     <message>
-        <source>Autosave disabled during undo.</source>
-        <translation type="obsolete">Automatisk sparning avstängd under ångra.</translation>
+        <location line="+5"/>
+        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <translation>Inställningar har förändrats. Följande kartan öppnad ska har &quot;%1&quot; ångra/göra om nivår</translation>
     </message>
     <message>
-        <source>Load background image</source>
-        <translation type="obsolete">Ladda bakgrund bild</translation>
+        <location line="+40"/>
+        <source>Number of seconds before autosave:</source>
+        <translation>Sekunder förr automatsparning:</translation>
     </message>
     <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Text</translation>
+        <location line="+11"/>
+        <source>Set author for new maps (used in lockfile)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Visuell kalkyl</translation>
+        <location line="+3"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Textdokument</translation>
+        <location line="+42"/>
+        <source>Number of parents shown in find results:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Bilder</translation>
+        <location line="+11"/>
+        <source>Number of parents shown for a task:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">Sätt URL tlii lokal fil</translation>
+        <location line="-2404"/>
+        <source>(readonly)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="obsolete">%1 saker på mapp
-</translation>
+        <location line="+2857"/>
+        <source>History for %1</source>
+        <comment>Window Caption</comment>
+        <translation>Historik för %1</translation>
     </message>
     <message>
-        <source>The file of the map  on disk has changed:
-
-   %1
-
-Do you want to reload that map with the new file?</source>
-        <translation type="obsolete">Filen av kartan  på skiva har förändrats
-
-   %1
-
-Vill du ha äterladda kartan med ny fil?</translation>
+        <location line="+23"/>
+        <source>Export in last used format (%1) to: %2</source>
+        <comment>status tip</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reload</source>
-        <translation type="obsolete">Återladda</translation>
+        <location line="+441"/>
+        <source>Couldn&apos;t find the documentation %1 in:
+%2</source>
+        <translation>Kunde inte hittas dokumentation %1 i:(new line)%2</translation>
     </message>
     <message>
-        <source>Ignore</source>
-        <translation type="obsolete">Passera</translation>
+        <location line="+31"/>
+        <source>Load vym example map</source>
+        <translation>Öppna VYM exempel-karta</translation>
     </message>
+</context>
+<context>
+    <name>MapEditor</name>
     <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation type="unfinished">Redigera rubrik</translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>MapEditor</comment>
-        <translation type="obsolete">Spara</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Kopiera</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Ångra</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">&amp;Göra om</translation>
-    </message>
-    <message>
-        <location filename="../mapeditor.cpp" line="510"/>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>Process</name>
+    <name>NoteEditor</name>
     <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 kunde inte avsluta normalt</translation>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
+        <source>Note Editor</source>
+        <comment>Name of editor shown as window title</comment>
+        <translation type="unfinished">Anteknings redigerare</translation>
     </message>
 </context>
 <context>
     <name>QObject</name>
     <message>
-        <source>This is not an image.</source>
-        <translation type="obsolete">Den här är inte en bild.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation type="unfinished">Kritisk export fel</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation type="unfinished">Kunde inte skriva %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location filename="../src/export-base.cpp" line="+124"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-8"/>
         <source>Export as CSV</source>
         <translation type="unfinished">Exportera som CSV</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Warning</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Varning</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">Kann inte öppna %1</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">Kann inte öppna %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="-101"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
         <source>Could not export as ASCII to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location filename="../src/export-csv.cpp" line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location filename="../src/export-html.cpp" line="-367"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+190"/>
         <source>Could not find stylesheet %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation type="unfinished">Fel</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -3880,232 +2977,194 @@ Vill du ha äterladda kartan med ny fil?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation type="unfinished">Export misslyckades.</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation type="unfinished">Inspektera &quot;%1&quot; i
 %2</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation type="unfinished">Kunnde inte läsa %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation type="unfinished">Kritisk fel</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation type="unfinished">Kunde inte börja zip till koncentrerat data.</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation type="unfinished">zip avslutade inte normalt</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation type="unfinished">Kunde inte börja unzip för att xxxx</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation type="unfinished">unzip avslutade inte normalt</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation type="unfinished">Kunde inte börja %1</translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished">%1 kunde inte avsluta normalt</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">Filen %1 finns redan.
-Vill du överskriva den?</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="90"/>
+        <location line="-389"/>
         <source>Overwrite</source>
         <translation>Överskriva</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="91"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>Avbryt</translation>
     </message>
     <message>
-        <source>Sorry, no preview for
-multiple selected files.</source>
-        <translation type="obsolete">Förlåt, ingen förhansvisning för
-multipel valt filer.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation type="unfinished">Exportering %1 bokmärke ska överskriva
-din nuvarande bokmärke fil.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation type="unfinished">Varning: Överskrivning %1 bokmärken</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>Varning</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation type="unfinished">Kunde inte hitta script %1
-att avisera bläddrarna av förändrad bokmärken.</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation type="unfinished">Fel</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation type="unfinished">kunde inte tillgång tillfälligt register
 </translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation type="unfinished">Export som ASCII</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation type="unfinished">(fortfarande experimentell)</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -4113,350 +3172,331 @@ Do you risk to overwrite its contents?</source>
 Ska du äventyra att överskriva innehållet av det?</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">Kunnde inte öppna %1.
-</translation>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
+</source>
+        <comment>Macros::pathExists</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
+        <translation type="unfinished">Sätt mapp för vym macros</translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="unfinished">Kunde inte hitta en macro på  %1.
-</translation>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
+ </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
-        <translation type="unfinished">Sätt mapp för vym macros</translation>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
-        <source>Form</source>
-        <translation type="unfinished">Formulär</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
-        <source>Save to selected slide</source>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
-        <source>Run</source>
-        <translation type="unfinished">Kör</translation>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="131"/>
-        <source>Load</source>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
-        <source>Save</source>
-        <translation type="unfinished">Spara</translation>
+        <location filename="../src/mainwindow.cpp" line="-3021"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
-        <source>Warning</source>
-        <translation type="unfinished">Varning</translation>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
-        <source>Slide</source>
-        <comment>Mode in scriptEditor</comment>
-        <translation type="unfinished"></translation>
+        <source>Form</source>
+        <translation type="obsolete">Formulär</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
-        <source>Macro</source>
-        <comment>Mode in scriptEditor</comment>
-        <translation type="unfinished"></translation>
+        <source>Reload</source>
+        <translation type="obsolete">Återladda</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation type="unfinished">Spara</translation>
+        <source>Save as</source>
+        <translation type="obsolete">Spara som</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <source>Couldn&apos;t get model to save script into slide!</source>
-        <translation type="unfinished"></translation>
+        <source>Run</source>
+        <translation type="obsolete">Kör</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
-        <source>Couldn&apos;t find slide to save script into slide!</source>
-        <translation type="unfinished"></translation>
+        <source>Save</source>
+        <translation type="obsolete">Spara</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
-        <source>Save script</source>
-        <translation type="unfinished">Spara script</translation>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
+        <source>Warning</source>
+        <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="155"/>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
+        <location line="-42"/>
+        <source>Slide</source>
+        <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
-        <source>Overwrite</source>
+        <location line="+1"/>
+        <source>Macro</source>
+        <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="161"/>
-        <source>Cancel</source>
-        <translation type="unfinished">Avbryt</translation>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="184"/>
-        <source>Load script</source>
-        <translation type="unfinished">Ladda script</translation>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation type="unfinished">Fel</translation>
+        <location line="+31"/>
+        <source>Couldn&apos;t get model to save script into slide!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
+        <location line="+7"/>
+        <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ShowTextDialog</name>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
-        <source>Dialog</source>
-        <translation>Dialog</translation>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="50"/>
-        <source>Close</source>
-        <translation>Stäng</translation>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>SimpleScriptEditor</name>
     <message>
+        <location line="+14"/>
         <source>Save script</source>
-        <translation type="obsolete">Spara script</translation>
+        <translation type="unfinished">Spara script</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
         <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">Filen %1
-redan finns.
-Vill du överskriva det?</translation>
+        <translation type="unfinished">Filen %1
+finns redan.
+Skall den skrivas över?</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Overwrite</source>
-        <translation type="obsolete">Överskriva</translation>
+        <translation type="unfinished">Överskriva</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cancel</source>
-        <translation type="obsolete">Avbryt</translation>
+        <translation type="unfinished">Avbryt</translation>
     </message>
     <message>
+        <location line="-58"/>
         <source>Load script</source>
-        <translation type="obsolete">Ladda script</translation>
-    </message>
-    <message>
-        <source>Error</source>
-        <translation type="obsolete">Fel</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">Kunde inte öppna %1.
-</translation>
-    </message>
-    <message>
-        <source>Simple Script Editor</source>
-        <translation type="obsolete">Enelt script redaktör</translation>
-    </message>
-    <message>
-        <source>Save as</source>
-        <translation type="obsolete">Spara som</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">Spara</translation>
-    </message>
-    <message>
-        <source>Qt::CTRL + Qt::Key_S</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_S</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <translation type="obsolete">Öppna</translation>
-    </message>
-    <message>
-        <source>Qt::CTRL +Qt::Key_O</source>
-        <translation type="obsolete">Qt::CTRL +Qt::Key_O</translation>
-    </message>
-    <message>
-        <source>Run</source>
-        <translation type="obsolete">Kör</translation>
+        <translation type="unfinished">Ladda script</translation>
     </message>
+</context>
+<context>
+    <name>ShowTextDialog</name>
     <message>
-        <source>Qt::CTRL + Qt::Key_R</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_R</translation>
+        <source>Dialog</source>
+        <translation type="vanished">Dialog</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation type="obsolete">Stäng</translation>
+        <translation type="vanished">Stäng</translation>
     </message>
 </context>
 <context>
     <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">Redigera rubrik</translation>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
@@ -4465,348 +3505,257 @@ Vill du överskriva det?</translation>
 <context>
     <name>TextEditor</name>
     <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation type="unfinished">&amp;Importera...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation type="unfinished">&amp;Exportera...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation type="unfinished">Export &amp;Som... (HTML)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation type="unfinished">Export &amp;Som...(ASCII)</translation>
     </message>
     <message>
-        <source>Print Note</source>
-        <translation type="obsolete">Skriva ut anteckning</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation type="unfinished">&amp;Skriva ut...</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="obsolete">&amp;Redigera</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation type="unfinished">&amp;Ångra</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation type="unfinished">&amp;Göra om</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation type="unfinished">Val och kopiera &amp;allt</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation type="unfinished">&amp;Kopiera</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation type="unfinished">&amp;Klipp</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation type="unfinished">&amp;Infoga</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation type="unfinished">&amp;Ta bort alla</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="-45"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+6"/>
         <source>&amp;Font hint</source>
         <translation type="unfinished">&amp;Font råd</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation type="unfinished">&amp;Färg...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation type="unfinished">&amp;Fet</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation type="unfinished">&amp;Kursiv</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation type="unfinished">&amp;Understruken</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation type="unfinished">&amp;Vänsterjustera</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation type="unfinished">C&amp;entrera</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation type="unfinished">&amp;Högerjustera</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation type="unfinished">&amp;Marginaljustera</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation type="unfinished">&amp;Inställningar</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="543"/>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation type="unfinished">Sätt &amp;fastställd font</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation type="unfinished">Sätt &amp;varierande font</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation type="unfinished">&amp;fastställd font är antagande</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
+        <location line="+198"/>
         <source>Export Note to single file</source>
         <translation type="unfinished">Exportera anteckning till en fil</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation type="unfinished">Överskriva</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>Avbryt</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation type="unfinished">Exportera anteckning till en fil (ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
+        <location line="+45"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation type="unfinished">Skriv ut</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="-385"/>
         <source>Subs&amp;cript</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
+        <location line="+10"/>
+        <source>Su&amp;perscript</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="498"/>
-        <source>Su&amp;perscript</source>
+        <location line="+65"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="+10"/>
         <source>Note Editor</source>
         <translation type="unfinished">Anteknings redigerare</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="-186"/>
         <source>F&amp;ormat</source>
         <translation type="unfinished">F&amp;ormat</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="-67"/>
         <source>Edit Actions</source>
         <translation type="unfinished">Redigera aktiviteter</translation>
     </message>
     <message>
-        <source>Format Actions</source>
-        <translation type="obsolete">Format aktiviteter</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="-59"/>
         <source>Note Actions</source>
         <translation type="unfinished">Antecknings aktiviteter</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location line="-244"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation type="unfinished">Färdig</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation type="unfinished">Ingen filnamn ledig för den här antekning</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">Antecknings redigerare</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+85"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation type="unfinished">&amp;Anteckning</translation>
     </message>
     <message>
-        <source>Import</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Importera</translation>
-    </message>
-    <message>
-        <source>Export Note (HTML)</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">Exportera anteckning (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <comment>Status tip for Note Menu</comment>
-        <translation type="obsolete">Exportera anteckning som (HTML) </translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Exportera anteckning som (ASCII) </translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Skriv ut anteckning</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Ångra</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Gör om</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Välj och kopiera all</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Kopiera</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Klipp ut</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Klistra in</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Ta bort all</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Font tips för den hela texten</translation>
-    </message>
-    <message>
-        <source>Set fixed font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Sätt fastställd font</translation>
-    </message>
-    <message>
-        <source>Set variable font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Sätt varierande font</translation>
-    </message>
-    <message>
-        <source>Used fixed font by default</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">Använt fixattuu fonttii som förmodan</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+494"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -4816,7 +3765,7 @@ finns redan.
 Skall den skrivas över?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation type="unfinished">Kunde inte exportera anteckning </translation>
@@ -4825,13 +3774,13 @@ Skall den skrivas över?</translation>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
@@ -4840,144 +3789,139 @@ Skall den skrivas över?</translation>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation type="unfinished">namnlös</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation type="unfinished">Kritisk parse fel</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation type="unfinished">Kritisk XX fel (kato joku aikasempi...)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation type="unfinished">Kunnde inte skapa tillfälligt register förrän XXX kas aik</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation type="unfinished">Kunnde inte hitta en karta (*.xml) in i .vym arkivet.
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+325"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="unfinished">Kartan %1
-använde inte tryckt vym fil format.
-Att skriva det upptryckt ska också skriva bilder 
-och flaggor och så kan överskriva filer in i givit register
-
-Vill du skriva kartan</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
+        <location line="-365"/>
         <source>compressed (vym default)</source>
         <translation type="unfinished">tryckt (vym huvudsaklig)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation type="unfinished">upptryckt</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation type="unfinished">Avbryt</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation type="unfinished">Sparningsfel</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation type="unfinished">%1
 kunnde inte att vara bort tagit förrän sparning ?x!0000</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation type="unfinished">%1
 kunnde inte att vara nämnad igen förrän sparn</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation type="unfinished">Kunnde inte skapa tillfälligt register förrän sparning
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation type="unfinished">Bilder</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation type="unfinished">Ladda en bild</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation type="unfinished">Spara bild</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation type="unfinished">Filen %1
@@ -4985,45 +3929,39 @@ redan finns.
 Vill du överskriva det? {1 ?}</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Överskriva</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Kritisk fel</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation type="unfinished">Kritisk import fel</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation type="unfinished">Kann inte hitta register %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation type="unfinished">Välj registerstruktur att importera</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -5032,30 +3970,42 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="+3052"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-3104"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -5068,146 +4018,93 @@ Do you want to reload that map with the new file?</source>
 Vill du ha äterladda kartan med ny fil?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation type="unfinished">Återladda</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation type="unfinished">Passera</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation type="unfinished">Varning</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation type="unfinished">Automatisk sparning avstängd under ångra.</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation type="unfinished">Anteckning</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation type="unfinished">Ny karta</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">Inskriv URL:</translation>
-    </message>
-    <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Text</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Visuell kalkyl</translation>
-    </message>
-    <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Textdokument</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">Bilder</translation>
-    </message>
-    <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">Sätt URL tlii lokal fil</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">Länk till en annan karta</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+1273"/>
         <source>Export map as image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation type="unfinished">Export XML till register</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">Exportera som LaTeX</translation>
+        <translation type="unfinished">Kritisk export fel</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation type="unfinished">(fortfarande experimentell)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="-531"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+900"/>
         <source>Load background image</source>
         <translation type="unfinished">Ladda bakgrund bild</translation>
     </message>
@@ -5215,18 +4112,18 @@ Vill du ha äterladda kartan med ny fil?</translation>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Kritisk fel</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Kunde inte börja %1</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished">%1 kunde inte avsluta normalt</translation>
     </message>
@@ -5234,13 +4131,13 @@ Vill du ha äterladda kartan med ny fil?</translation>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
@@ -5249,39 +4146,79 @@ Vill du ha äterladda kartan med ny fil?</translation>
 <context>
     <name>WarningDialog</name>
     <message>
-        <source>VYM - Warning : Foo...</source>
-        <translation type="obsolete">VYM - Varning : Foo...</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">Dialog</translation>
+        <translation type="obsolete">Dialog</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="91"/>
         <source>showAgainBox</source>
-        <translation type="unfinished">visaIgenBox</translation>
+        <translation type="obsolete">visaIgenBox</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation>Avbryt</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation type="unfinished">Ok</translation>
+        <translation type="obsolete">Ok</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation type="unfinished">Fortsätta</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation type="unfinished">Visa det här meddelandet igen</translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">Varning</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">Stäng</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
index 3e313a09806242ba03359b5f1121cc8dffd5dc50..3024a9e554b8a677d4994a5acd36fe47e6a9176e 100644 (file)
@@ -4,19 +4,19 @@
 <context>
     <name>AboutDialog</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="106"/>
+        <location filename="../src/aboutdialog.cpp" line="+136"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="221"/>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="226"/>
+        <location line="+5"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation>确定</translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+21"/>
         <source>Please use Settings-&gt;</source>
         <translation>请使用 &quot;设置&quot;-&gt;</translation>
     </message>
     <message>
-        <source>Set application to open an URL</source>
-        <translation type="obsolete">设置用于打开 URL 的应用程序</translation>
-    </message>
-    <message>
-        <location filename="../aboutdialog.cpp" line="246"/>
+        <location line="-3"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="247"/>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
 </translation>
     </message>
     <message>
-        <location filename="../aboutdialog.cpp" line="248"/>
+        <location line="+3"/>
         <source>Set application to open an URL...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>Attribute Dialog</name>
-    <message>
-        <source>AttributeDialog - Edit definitions</source>
-        <translation type="obsolete">属性对话框 - 编辑定义</translation>
-    </message>
-    <message>
-        <source>AttributeDialog - Edit %1</source>
-        <translation type="obsolete">属性对话框 - 编辑 %1</translation>
-    </message>
-</context>
 <context>
     <name>AttributeDialog</name>
     <message>
         <translation type="obsolete">关闭</translation>
     </message>
 </context>
-<context>
-    <name>AttributeWidget</name>
-    <message>
-        <source>Form</source>
-        <translation type="obsolete">表单</translation>
-    </message>
-</context>
 <context>
     <name>BranchPropertyEditor</name>
     <message>
-        <location filename="../branchpropeditor.ui" line="20"/>
         <source>Branch Property Editor</source>
-        <translation type="unfinished">分支属性编辑器</translation>
+        <translation type="obsolete">分支属性编辑器</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="30"/>
         <source>Frame</source>
-        <translation type="unfinished">边框</translation>
+        <translation type="obsolete">边框</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="51"/>
         <source>Geometry</source>
-        <translation type="unfinished">几何</translation>
+        <translation type="obsolete">几何</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="64"/>
         <source>No Frame</source>
-        <translation type="unfinished">无边框</translation>
+        <translation type="obsolete">无边框</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="69"/>
         <source>Rectangle</source>
-        <translation type="unfinished">矩形</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="74"/>
-        <source>Rounded Rectangle</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">矩形</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="79"/>
         <source>Ellipse</source>
-        <translation type="unfinished">椭圆</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="84"/>
-        <source>Cloud</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">椭圆</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="105"/>
         <source>Padding</source>
-        <translation type="unfinished">填充</translation>
+        <translation type="obsolete">填充</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="112"/>
         <source>Borderline width</source>
-        <translation type="unfinished">边缘宽度</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="136"/>
-        <source>Include children</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">边缘宽度</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="169"/>
         <source>Colors</source>
-        <translation type="unfinished">颜色</translation>
+        <translation type="obsolete">颜色</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="209"/>
         <source>Borderline color</source>
-        <translation type="unfinished">边缘颜色</translation>
+        <translation type="obsolete">边缘颜色</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="232"/>
         <source>Background color</source>
-        <translation type="unfinished">背景颜色</translation>
+        <translation type="obsolete">背景颜色</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="261"/>
         <source>Layout</source>
-        <translation type="unfinished">布局</translation>
+        <translation type="obsolete">布局</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="269"/>
         <source>Include images horizontally</source>
-        <translation type="unfinished">在水平方向包含图象</translation>
+        <translation type="obsolete">在水平方向包含图象</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="276"/>
         <source>Include images vertically</source>
-        <translation type="unfinished">在垂直方向包含图象</translation>
-    </message>
-    <message>
-        <location filename="../branchpropeditor.ui" line="283"/>
-        <source>Free positioning of children (experimental!)</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">在垂直方向包含图象</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="306"/>
         <source>Link</source>
-        <translation type="unfinished">链接</translation>
+        <translation type="obsolete">链接</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="312"/>
         <source>Hide link if unselected</source>
-        <translation type="unfinished">未选中时隐藏链接</translation>
+        <translation type="obsolete">未选中时隐藏链接</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="333"/>
         <source>Attributes</source>
-        <translation type="unfinished">属性</translation>
+        <translation type="obsolete">属性</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="359"/>
         <source>+</source>
-        <translation type="unfinished">+</translation>
+        <translation type="obsolete">+</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.ui" line="366"/>
         <source>-</source>
-        <translation type="unfinished">-</translation>
+        <translation type="obsolete">-</translation>
     </message>
     <message>
-        <location filename="../branchpropeditor.cpp" line="19"/>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
         <source>Property Editor</source>
         <comment>Window caption</comment>
         <translation type="unfinished">属性编辑器</translation>
     </message>
-</context>
-<context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">属性编辑器</translation>
-    </message>
     <message>
+        <location line="+22"/>
         <source>Name</source>
         <comment>Branchprop window: Attribute name</comment>
-        <translation type="obsolete">名</translation>
+        <translation type="unfinished">名</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Value</source>
         <comment>Branchprop window: Attribute value</comment>
-        <translation type="obsolete">值</translation>
+        <translation type="unfinished">值</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Type</source>
         <comment>Branchprop window: Attribute type</comment>
-        <translation type="obsolete">类型</translation>
-    </message>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation type="obsolete">分支属性编辑器</translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation type="obsolete">边框</translation>
-    </message>
-    <message>
-        <source>Geometry</source>
-        <translation type="obsolete">几何</translation>
+        <translation type="unfinished">类型</translation>
     </message>
     <message>
-        <source>No Frame</source>
-        <translation type="obsolete">无边框</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">矩形</translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation type="obsolete">椭圆</translation>
-    </message>
-    <message>
-        <source>Padding</source>
-        <translation type="obsolete">填充</translation>
-    </message>
-    <message>
-        <source>Borderline width</source>
-        <translation type="obsolete">边缘宽度</translation>
-    </message>
-    <message>
-        <source>Colors</source>
-        <translation type="obsolete">颜色</translation>
-    </message>
-    <message>
-        <source>Borderline color</source>
-        <translation type="obsolete">边缘颜色</translation>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Background color</source>
-        <translation type="obsolete">背景颜色</translation>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Layout</source>
-        <translation type="obsolete">布局</translation>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">在水平方向包含图象</translation>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">在垂直方向包含图象</translation>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <source>Link</source>
-        <translation type="obsolete">链接</translation>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <source>Hide link if unselected</source>
-        <translation type="obsolete">未选中时隐藏链接</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">对话框</translation>
     </message>
     <message>
-        <source>Attributes</source>
-        <translation type="obsolete">属性</translation>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>CredentialsDialog</name>
     <message>
-        <source>+</source>
-        <translation type="obsolete">+</translation>
+        <source>Dialog</source>
+        <translation type="obsolete">对话框</translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <source>-</source>
-        <translation type="obsolete">-</translation>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">关闭</translation>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
-        <location filename="../downloadagent.cpp" line="191"/>
-        <location filename="../downloadagent.cpp" line="195"/>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
 <context>
     <name>EditXLinkDialog</name>
     <message>
-        <location filename="../editxlinkdialog.ui" line="20"/>
         <source>Edit XLink</source>
-        <translation>编辑 XLink</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="40"/>
-        <source>Arrow begin:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">编辑 XLink</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="63"/>
         <source>XLink width:</source>
-        <translation>XLink 宽度:</translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="79"/>
-        <source>Use color of heading</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="177"/>
-        <source>Line style:</source>
-        <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">XLink 宽度:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="190"/>
-        <source>Arrow end:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../editxlinkdialog.ui" line="253"/>
         <source>Close</source>
-        <translation type="unfinished">关闭</translation>
-    </message>
-    <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">设为与标题颜色相同</translation>
+        <translation type="obsolete">关闭</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="109"/>
         <source>XLink color:</source>
-        <translation>XLink 颜色:</translation>
+        <translation type="vanished">XLink 颜色:</translation>
     </message>
     <message>
-        <location filename="../editxlinkdialog.ui" line="151"/>
         <source>Use as default:</source>
-        <translation>设为默认:</translation>
-    </message>
-    <message>
-        <source>Quit and delete XLink</source>
-        <translation type="obsolete">退出并删除 XLink</translation>
-    </message>
-    <message>
-        <source>Ok</source>
-        <translation type="obsolete">确定</translation>
+        <translation type="vanished">设为默认:</translation>
     </message>
 </context>
 <context>
-    <name>ExportHTMLDialog</name>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="26"/>
-        <source>Export HTML</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="61"/>
-        <source>Export to directory:</source>
-        <translation type="unfinished">导出至目录:</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="90"/>
-        <location filename="../exporthtmldialog.ui" line="267"/>
-        <location filename="../exporthtmldialog.ui" line="280"/>
-        <location filename="../exporthtmldialog.ui" line="353"/>
-        <source>Browse</source>
-        <translation type="unfinished">浏览</translation>
-    </message>
+    <name>ExportConfluenceDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="117"/>
         <source>Options</source>
-        <translation type="unfinished">选项</translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="138"/>
-        <source>Image of map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exporthtmldialog.ui" line="145"/>
-        <source>Include images</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">选项</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="152"/>
-        <source>Table of contents</source>
-        <translation type="unfinished"></translation>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">标题含有颜色</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="159"/>
-        <source>Task flags</source>
-        <translation type="unfinished"></translation>
+        <source>Save settings in map</source>
+        <translation type="obsolete">在该导图中保存设置</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="166"/>
-        <source>General flags</source>
-        <translation type="unfinished"></translation>
+        <source>Cancel</source>
+        <translation type="obsolete">取消</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="173"/>
-        <source>Number sections</source>
-        <translation type="unfinished"></translation>
+        <source>Export</source>
+        <translation type="obsolete">导出</translation>
     </message>
+</context>
+<context>
+    <name>ExportHTMLDialog</name>
     <message>
-        <location filename="../exporthtmldialog.ui" line="231"/>
-        <source>Copy CSS from </source>
-        <translation type="unfinished"></translation>
+        <source>Export to directory:</source>
+        <translation type="obsolete">导出至目录:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="251"/>
-        <source>Use CSS from</source>
-        <translation type="unfinished"></translation>
+        <source>Browse</source>
+        <translation type="obsolete">浏览</translation>
     </message>
     <message>
-        <source>Include image</source>
-        <translation type="obsolete">包含图象</translation>
+        <source>Options</source>
+        <translation type="obsolete">选项</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="186"/>
         <source>Colored headings in text</source>
-        <translation type="unfinished">标题含有颜色</translation>
+        <translation type="obsolete">标题含有颜色</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="199"/>
         <source>Save settings in map</source>
-        <translation type="unfinished">在该导图中保存设置</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">显示外部脚本输出</translation>
+        <translation type="obsolete">在该导图中保存设置</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="216"/>
         <source>Stylesheets</source>
-        <translation type="unfinished">样式表</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
+        <translation type="obsolete">样式表</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="297"/>
         <source>Scripts</source>
-        <translation type="unfinished">脚本</translation>
+        <translation type="obsolete">脚本</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="327"/>
         <source>After Export:</source>
-        <translation type="unfinished">导出后:</translation>
+        <translation type="obsolete">导出后:</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="382"/>
         <source>Cancel</source>
-        <translation type="unfinished">取消</translation>
+        <translation type="obsolete">取消</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.ui" line="389"/>
         <source>Export</source>
-        <translation type="unfinished">导出</translation>
+        <translation type="obsolete">导出</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="99"/>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -511,7 +359,7 @@ want to allow this in your system!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exporthtmldialog.cpp" line="123"/>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation type="unfinished">VYM - 导出 HTML 至目录</translation>
     </message>
@@ -550,10 +398,6 @@ want to allow this in your system!</source>
         <source>Save settings in map</source>
         <translation type="obsolete">在该导图中保存设置</translation>
     </message>
-    <message>
-        <source>showWarnings e.g. if directory is not empty</source>
-        <translation type="obsolete">显示警告,例如当目录非空时</translation>
-    </message>
     <message>
         <source>Stylesheets</source>
         <translation type="obsolete">样式表</translation>
@@ -586,64 +430,6 @@ want to allow this in your system!</source>
         <source>Cancel</source>
         <translation type="obsolete">取消</translation>
     </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">警告</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">该导图保存的设置中需要执行脚本:
-
-%1
-
-请检查您是否真的想要允许此事
-发生在您的系统上!</translation>
-    </message>
-    <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation type="obsolete">VYM - 导出 HTML 至目录</translation>
-    </message>
-    <message>
-        <source>VYM - Path to CSS file</source>
-        <translation type="obsolete">VYM - CSS 文件路径</translation>
-    </message>
-    <message>
-        <source>VYM - Path to XSL file</source>
-        <translation type="obsolete">VYM - XSL 文件路径</translation>
-    </message>
-    <message>
-        <source>VYM - Path to pre export script</source>
-        <translation type="obsolete">VYM - 预导出脚本路径</translation>
-    </message>
-    <message>
-        <source>VYM - Path to post export script</source>
-        <translation type="obsolete">VYM - 导出后脚本路径</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">无法打开 %1</translation>
-    </message>
-    <message>
-        <source>Could not write %1</source>
-        <translation type="obsolete">无法写入 %1</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">严重错误</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">无法启动 %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 未正常退出</translation>
-    </message>
     <message>
         <source>show warnings of xslt processor</source>
         <translation type="obsolete">显示 XSLT 处理器的警告</translation>
@@ -652,176 +438,146 @@ want to allow this in your system!</source>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
-        <location filename="../extrainfodialog.ui" line="15"/>
         <source>VYM - Info</source>
-        <translation>VYM - 信息</translation>
+        <translation type="vanished">VYM - 信息</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="36"/>
         <source>Map:</source>
-        <translation>导图名称:</translation>
-    </message>
-    <message>
-        <location filename="../extrainfodialog.ui" line="53"/>
-        <source>Title:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">导图名称:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="63"/>
         <source>Author:</source>
-        <translation>作者:</translation>
+        <translation type="vanished">作者:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="86"/>
         <source>Comment:</source>
-        <translation>注释:</translation>
+        <translation type="vanished">注释:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="96"/>
         <source>Statistics:</source>
-        <translation>统计:</translation>
+        <translation type="vanished">统计:</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="139"/>
         <source>Cancel</source>
-        <translation>取消</translation>
+        <translation type="vanished">取消</translation>
     </message>
     <message>
-        <location filename="../extrainfodialog.ui" line="146"/>
         <source>Close</source>
-        <translation>关闭</translation>
+        <translation type="vanished">关闭</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
-        <location filename="../findwidget.cpp" line="25"/>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>FindWindow</name>
-    <message>
-        <source>Clear</source>
-        <translation type="obsolete">清除</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">取消</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">查找</translation>
-    </message>
-    <message>
-        <source>Find Text</source>
-        <translation type="obsolete">查找文本</translation>
-    </message>
-    <message>
-        <source>Text to find:</source>
-        <translation type="obsolete">请输入要查找的文本:</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="vanished">新建导图</translation>
-    </message>
-</context>
 <context>
     <name>HeadingEditor</name>
     <message>
-        <location filename="../headingeditor.cpp" line="9"/>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
     <message>
-        <location filename="../historywindow.ui" line="13"/>
         <source>Dialog</source>
-        <translation>对话框</translation>
+        <translation type="vanished">对话框</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="50"/>
         <source>Redo</source>
-        <translation>重做</translation>
-    </message>
-    <message>
-        <source>New Row</source>
-        <translation type="obsolete">新行</translation>
+        <translation type="vanished">重做</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="72"/>
         <source>Time</source>
-        <translation>时间</translation>
+        <translation type="vanished">时间</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="77"/>
         <source>Comment</source>
-        <translation>注释</translation>
+        <translation type="vanished">注释</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="85"/>
         <source>Undo</source>
-        <translation>撤销</translation>
+        <translation type="vanished">撤销</translation>
     </message>
     <message>
-        <location filename="../historywindow.ui" line="122"/>
-        <source>Close</source>
-        <translation>关闭</translation>
-    </message>
-    <message>
-        <location filename="../historywindow.cpp" line="17"/>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation>动作</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="20"/>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation>注释</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="23"/>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation>撤销动作</translation>
     </message>
     <message>
-        <location filename="../historywindow.cpp" line="125"/>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation>当前状态</translation>
     </message>
 </context>
 <context>
-    <name>LineEditDialog</name>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">警告</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
     <message>
-        <location filename="../lineeditdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">对话框</translation>
+        <translation type="obsolete">对话框</translation>
+    </message>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">添加</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="26"/>
-        <source>TextLabel</source>
+        <source>Remove</source>
+        <translation type="obsolete">删除</translation>
+    </message>
+    <message>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
+    <message>
+        <source>Dialog</source>
+        <translation type="obsolete">对话框</translation>
+    </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="89"/>
-        <location filename="../lineeditdialog.cpp" line="17"/>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation type="unfinished">取消</translation>
     </message>
     <message>
-        <location filename="../lineeditdialog.ui" line="99"/>
-        <location filename="../lineeditdialog.cpp" line="9"/>
+        <location line="-7"/>
         <source>Ok</source>
         <translation type="unfinished">确定</translation>
     </message>
@@ -829,19 +585,16 @@ want to allow this in your system!</source>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <location filename="../lockedfiledialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">对话框</translation>
+        <translation type="obsolete">对话框</translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="116"/>
-        <location filename="../lockedfiledialog.cpp" line="7"/>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../lockedfiledialog.ui" line="123"/>
-        <location filename="../lockedfiledialog.cpp" line="6"/>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -849,3323 +602,2382 @@ want to allow this in your system!</source>
 <context>
     <name>Main</name>
     <message>
-        <source>Close Map</source>
-        <translation type="obsolete">关闭导图</translation>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
+        <source>Linkstyle Line</source>
+        <translation>直线链接样式</translation>
     </message>
     <message>
-        <source>Undo</source>
-        <translation type="obsolete">撤销</translation>
+        <location line="+14"/>
+        <source>Linkstyle Thick Line</source>
+        <translation>粗直线链接样式</translation>
     </message>
     <message>
-        <source>Copy</source>
-        <translation type="obsolete">复制</translation>
+        <location line="+42"/>
+        <source>Set &amp;Background Color</source>
+        <translation>设置背景颜色(&amp;B)</translation>
     </message>
     <message>
-        <source>Cut</source>
-        <translation type="obsolete">剪切</translation>
+        <location line="+14"/>
+        <source>&amp;View</source>
+        <translation>查看(&amp;V)</translation>
     </message>
     <message>
-        <source>Paste</source>
-        <translation type="obsolete">粘贴</translation>
+        <location line="+1867"/>
+        <source>Overwrite</source>
+        <translation>覆盖</translation>
     </message>
     <message>
-        <source>Move branch up</source>
-        <translation type="obsolete">上移分支</translation>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
+        <source>Cancel</source>
+        <translation>取消</translation>
     </message>
     <message>
-        <source>Move branch down</source>
-        <translation type="obsolete">下移分支</translation>
+        <location line="-432"/>
+        <source>Open anyway</source>
+        <translation>继续打开</translation>
     </message>
     <message>
-        <source>Scroll branch</source>
-        <translation type="obsolete">卷起分支</translation>
+        <location line="+73"/>
+        <source>Create</source>
+        <translation>新建</translation>
     </message>
     <message>
-        <source>Unscroll all</source>
-        <translation type="obsolete">展开全部</translation>
+        <location line="+86"/>
+        <source>Load vym map</source>
+        <translation>载入 vym 导图</translation>
     </message>
     <message>
-        <source>Find</source>
-        <translation type="obsolete">查找</translation>
+        <location line="+6"/>
+        <source>Import: Add vym map to selection</source>
+        <translation>导入:将 vym 导图添加至选中项</translation>
     </message>
     <message>
-        <source>Open URL</source>
-        <translation type="obsolete">打开 URL</translation>
+        <location line="+4"/>
+        <source>Import: Replace selection with vym map</source>
+        <translation>导入:将选中项替换为 vym 导图</translation>
     </message>
     <message>
-        <source>Edit URL</source>
-        <translation type="obsolete">编辑 URL</translation>
+        <location line="+613"/>
+        <source>Save modified map before closing it</source>
+        <translation>关闭前保存已修改的导图</translation>
     </message>
     <message>
-        <source>Use heading of selected branch as URL</source>
-        <translation type="obsolete">使用当前选定分支的标题作为 URL</translation>
+        <location line="+1"/>
+        <source>Discard changes</source>
+        <translation>丢弃修改</translation>
     </message>
     <message>
-        <source>Create URL to Bugzilla</source>
-        <translation type="obsolete">创建至 Bugzilla 的 URL</translation>
+        <location line="+1411"/>
+        <source>VYM -Information:</source>
+        <translation>VYM - 信息:</translation>
     </message>
     <message>
-        <source>Jump to another vym map, if needed load it first</source>
-        <translation type="obsolete">跳至另一 vym 导图,如有需要则预先载入</translation>
+        <location line="-2265"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
+        <source>Critical Error</source>
+        <translation>严重错误</translation>
     </message>
     <message>
-        <source>Edit link to another vym map</source>
-        <translation type="obsolete">编辑至另一 vym 导图的链接</translation>
+        <location line="+2109"/>
+        <source>Critcal error</source>
+        <translation>严重错误</translation>
     </message>
     <message>
-        <source>Delete link to another vym map</source>
-        <translation type="obsolete">删除至另一 vym 导图的链接</translation>
+        <location line="-3798"/>
+        <source>Add</source>
+        <translation>添加</translation>
     </message>
     <message>
-        <source>Edit Map Info</source>
-        <translation type="obsolete">编辑导图信息</translation>
+        <location line="+571"/>
+        <source>The map %1
+is already opened.Opening the same map in multiple editors may lead 
+to confusion when finishing working with vym.Do you want to</source>
+        <translation>导图 %1
+已打开。当使用 vym 完成工作时,在多个编辑器中打开同一导图
+可能会导致混乱。您希望</translation>
     </message>
     <message>
-        <source>edit Heading</source>
-        <translation type="obsolete">编辑标题</translation>
+        <location line="+75"/>
+        <source>This map does not exist:
+  %1
+Do you want to create a new one?</source>
+        <translation>该导图不存在:
+       %1
+您希望新建一个吗?</translation>
     </message>
     <message>
-        <source>Delete Selection</source>
-        <translation type="obsolete">删除选中项</translation>
+        <location line="+224"/>
+        <source>Saved  %1</source>
+        <translation>已保存 %1</translation>
     </message>
     <message>
-        <source>Add a branch as child of selection</source>
-        <translation type="obsolete">为选中项添加子分支</translation>
+        <location line="+4"/>
+        <source>Couldn&apos;t save </source>
+        <translation>无法保存      </translation>
     </message>
     <message>
-        <source>Add a branch above selection</source>
-        <translation type="obsolete">在选中项上方添加分支</translation>
+        <location line="+39"/>
+        <location line="+92"/>
+        <source>The file %1
+exists already. Do you want to</source>
+        <translation>文件 %1
+已存在。您希望</translation>
     </message>
     <message>
-        <source>Add a branch below selection</source>
-        <translation type="obsolete">在选中项下方添加分支</translation>
+        <location line="+351"/>
+        <source>The map %1 has been modified but not saved yet. Do you want to</source>
+        <translation>导图 %1 已更改但尚未保存。您希望</translation>
     </message>
     <message>
-        <source>Add map at selection</source>
-        <translation type="obsolete">在选中处添加导图</translation>
+        <location line="+334"/>
+        <source>Couldn&apos;t open map %1</source>
+        <translation>无法打开导图 %1</translation>
     </message>
     <message>
-        <source>Replace selection with map</source>
-        <translation type="obsolete">用导图替换选中项</translation>
+        <location line="-2216"/>
+        <source>Take care!</source>
+        <comment>Standardflag</comment>
+        <translation>当心!</translation>
     </message>
     <message>
-        <source>Save selection</source>
-        <translation type="obsolete">保存选中项</translation>
+        <location line="+5"/>
+        <source>Really?</source>
+        <comment>Standardflag</comment>
+        <translation>真的?</translation>
     </message>
     <message>
-        <source>Select upper branch</source>
-        <translation type="obsolete">选择上方分支</translation>
+        <location line="-24"/>
+        <source>This won&apos;t work!</source>
+        <comment>Standardflag</comment>
+        <translation>这样不行的!</translation>
     </message>
     <message>
-        <source>Select lower branch</source>
-        <translation type="obsolete">选择下方分支</translation>
+        <location line="+38"/>
+        <source>Good</source>
+        <comment>Standardflag</comment>
+        <translation>好的</translation>
     </message>
     <message>
-        <source>Select left branch</source>
-        <translation type="obsolete">选择左方分支</translation>
+        <location line="+4"/>
+        <source>Bad</source>
+        <comment>Standardflag</comment>
+        <translation>坏的</translation>
     </message>
     <message>
-        <source>Select right branch</source>
-        <translation type="obsolete">选择右方分支</translation>
+        <location line="+48"/>
+        <source>Time critical</source>
+        <comment>Standardflag</comment>
+        <translation>时间紧迫</translation>
     </message>
     <message>
-        <source>Select first branch</source>
-        <translation type="obsolete">选择第一个分支</translation>
+        <location line="-58"/>
+        <source>Idea!</source>
+        <comment>Standardflag</comment>
+        <translation>想法!</translation>
     </message>
     <message>
-        <source>Select last branch</source>
-        <translation type="obsolete">选择最后一个分支</translation>
+        <location line="+25"/>
+        <source>Important</source>
+        <comment>Standardflag</comment>
+        <translation>重要</translation>
     </message>
     <message>
-        <source>Add Image</source>
-        <translation type="obsolete">添加图象</translation>
+        <location line="+5"/>
+        <source>Unimportant</source>
+        <comment>Standardflag</comment>
+        <translation>不重要</translation>
     </message>
     <message>
-        <source>Set Color</source>
-        <translation type="obsolete">设置颜色</translation>
+        <location line="+15"/>
+        <source>I like this</source>
+        <comment>Standardflag</comment>
+        <translation>我喜欢</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1883"/>
-        <source>Set &amp;Color</source>
-        <translation>设置颜色(&amp;C)</translation>
+        <location line="+3"/>
+        <source>I do not like this</source>
+        <comment>Standardflag</comment>
+        <translation>我不喜欢</translation>
     </message>
     <message>
-        <source>Pick color
-Hint: You can pick a color from another branch and color using CTRL+Left Button</source>
-        <translation type="obsolete">选取颜色
-提示:您可以使用 CTRL+鼠标左键 从其他分支和颜色里选取颜色</translation>
+        <location line="-26"/>
+        <source>Dangerous</source>
+        <comment>Standardflag</comment>
+        <translation>危险</translation>
     </message>
     <message>
-        <source>Color branch</source>
-        <translation type="obsolete">着色该分支</translation>
+        <location line="+30"/>
+        <source>This will help</source>
+        <comment>Standardflag</comment>
+        <translation>这会起到帮助的</translation>
     </message>
     <message>
-        <source>Color Subtree</source>
-        <translation type="obsolete">着色子树</translation>
+        <location line="+1554"/>
+        <location line="+54"/>
+        <location line="+1"/>
+        <source>Import</source>
+        <translation>导入</translation>
     </message>
     <message>
-        <source>Line</source>
-        <translation type="obsolete">直线</translation>
+        <location line="-3186"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
+        <source>(still experimental)</source>
+        <translation>(仍处于试验阶段)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1928"/>
-        <source>Linkstyle Line</source>
-        <translation>直线链接样式</translation>
+        <location line="-3237"/>
+        <source>&amp;Print</source>
+        <translation>打印(&amp;P)</translation>
     </message>
     <message>
-        <source>Linkstyle Parabel</source>
-        <translation type="obsolete">抛物线链接样式</translation>
+        <location line="+3168"/>
+        <location line="+68"/>
+        <source>Export to</source>
+        <translation>导出至</translation>
     </message>
     <message>
-        <source>PolyLine</source>
-        <translation type="obsolete">多股直线</translation>
+        <location line="-4224"/>
+        <source>Search results list</source>
+        <comment>FindResultWidget</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1942"/>
-        <source>Linkstyle Thick Line</source>
-        <translation>粗直线链接样式</translation>
+        <location line="+3108"/>
+        <source>File actions toolbar</source>
+        <comment>Toolbar for file actions</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>PolyParabel</source>
-        <translation type="obsolete">多股抛物线</translation>
+        <location line="+19"/>
+        <source>Edit actions toolbar</source>
+        <comment>Toolbar name</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Linkstyle Thick Parabel</source>
-        <translation type="obsolete">粗抛物线链接样式</translation>
+        <location line="-3065"/>
+        <source>Task list</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>No Frame</source>
-        <translation type="obsolete">无边框</translation>
+        <location line="-51"/>
+        <source>Script Editor</source>
+        <comment>ScriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">矩形</translation>
+        <location line="-49"/>
+        <source>Main window</source>
+        <comment>Shortcut group</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use same color for links and headings</source>
-        <translation type="obsolete">对链接和标题使用相同颜色</translation>
+        <location line="+1"/>
+        <source>Map Editors</source>
+        <comment>Shortcut group</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set Link Color</source>
-        <translation type="obsolete">设置链接颜色</translation>
+        <location line="+1"/>
+        <source>Text Editors</source>
+        <comment>Shortcut group</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set Background Color</source>
-        <translation type="obsolete">设置背景颜色</translation>
+        <location line="+830"/>
+        <source>&amp;Map</source>
+        <comment>Menu for file actions</comment>
+        <translation type="unfinished">导图(&amp;M)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1981"/>
-        <source>Set &amp;Background Color</source>
-        <translation>设置背景颜色(&amp;B)</translation>
+        <location line="+28"/>
+        <source>&amp;Restore last session</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1995"/>
-        <source>&amp;View</source>
-        <translation>查看(&amp;V)</translation>
+        <location line="+288"/>
+        <source>Add attribute</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Zoom reset</source>
-        <translation type="obsolete">正常大小</translation>
+        <location line="+131"/>
+        <source>&amp;Detach</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Zoom in</source>
-        <translation type="obsolete">放大</translation>
+        <location line="+1"/>
+        <source>Detach branch and use as mapcenter</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Zoom out</source>
-        <translation type="obsolete">缩小</translation>
+        <location line="+19"/>
+        <source>Sort children backwards</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Next Window</source>
-        <translation type="obsolete">下一窗口(&amp;N)</translation>
+        <location line="+81"/>
+        <source>Expand all branches</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Previous Window</source>
-        <translation type="obsolete">上一窗口(&amp;P)</translation>
+        <location line="+8"/>
+        <source>Expand one level</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use modifier to color branches</source>
-        <translation type="obsolete">使用修饰键着色分支</translation>
+        <location line="-33"/>
+        <source>Collapse one level</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">设置(&amp;S)</translation>
+        <location line="+13"/>
+        <source>Collapse unselected levels</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set application to open pdf files</source>
-        <translation type="obsolete">设置用于打开 pdf 文件的应用程序</translation>
+        <location line="-47"/>
+        <source>Unscroll children</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit branch after adding it</source>
-        <translation type="obsolete">添加分支后编辑该分支</translation>
+        <location line="-304"/>
+        <source>Properties</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Select branch after adding it</source>
-        <translation type="obsolete">添加分支后选中该分支</translation>
+        <location line="+210"/>
+        <source>Move branch up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">上移分支</translation>
     </message>
     <message>
-        <source>Select heading before editing</source>
-        <translation type="obsolete">在编辑前选中标题文本</translation>
+        <location line="+13"/>
+        <source>Move branch down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished">下移分支</translation>
     </message>
     <message>
-        <source>&amp;Test</source>
-        <translation type="obsolete">测试(&amp;T)</translation>
+        <location line="+13"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Open VYM Documentation (pdf)</source>
-        <translation type="obsolete">打开 VYM 文档(pdf)</translation>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Information about QT toolkit</source>
-        <translation type="obsolete">关于 QT 工具包的信息</translation>
+        <location line="+60"/>
+        <source>Grow selection</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3460"/>
-        <source>Overwrite</source>
-        <translation>覆盖</translation>
+        <location line="+9"/>
+        <source>Shrink selection</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3188"/>
-        <location filename="../mainwindow.cpp" line="3235"/>
-        <location filename="../mainwindow.cpp" line="3461"/>
-        <source>Cancel</source>
-        <translation>取消</translation>
+        <location line="+9"/>
+        <source>Reset selection size</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3187"/>
-        <source>Open anyway</source>
-        <translation>继续打开</translation>
+        <location line="+54"/>
+        <source>References Context menu</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3234"/>
-        <source>Create</source>
-        <translation>新建</translation>
+        <location line="+74"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">严重载入错误</translation>
+        <location line="+20"/>
+        <source>vymlinks - linking maps</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">无法在 .vym 存档中找到导图(*.xml)。
-</translation>
+        <location line="+44"/>
+        <source>Exports</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3303"/>
-        <source>Load vym map</source>
-        <translation>载入 vym 导图</translation>
+        <location line="+13"/>
+        <source>Tasks</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3306"/>
-        <source>Import: Add vym map to selection</source>
-        <translation>导入:将 vym 导图添加至选中项</translation>
+        <location line="+1"/>
+        <source>Toggle task</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3309"/>
-        <source>Import: Replace selection with vym map</source>
-        <translation>导入:将选中项替换为 vym 导图</translation>
+        <location line="+12"/>
+        <source>Cycle task status</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">保存错误</translation>
+        <location line="+21"/>
+        <source>Reset sleep</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>
-could not be removed before saving</source>
-        <translation type="obsolete">
-无法在保存前删除</translation>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <source>Sleep %1 days</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">压缩(vym 默认)</translation>
+        <location line="-55"/>
+        <source>Sleep %1 day</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">未压缩</translation>
+        <location line="+66"/>
+        <location line="+11"/>
+        <source>Sleep %1 weeks</source>
+        <comment>Task sleep</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">导出 XML 至目录</translation>
+        <location line="+32"/>
+        <source>Removing parts of a map</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3775"/>
-        <source>Save modified map before closing it</source>
-        <translation>关闭前保存已修改的导图</translation>
+        <location line="+24"/>
+        <source>Various</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3776"/>
-        <source>Discard changes</source>
-        <translation>丢弃修改</translation>
+        <location line="+12"/>
+        <source>Map properties...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>This map is not saved yet. Do you want to</source>
-        <translation type="obsolete">该导图尚未保存。您希望</translation>
+        <location line="+30"/>
+        <source>Selections</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save map</source>
-        <translation type="obsolete">保存导图</translation>
+        <location line="+1"/>
+        <source>Select</source>
+        <comment>Select menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5045"/>
-        <source>VYM -Information:</source>
-        <translation>VYM - 信息:</translation>
+        <location line="+3"/>
+        <source>Toggle target...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <location filename="../mainwindow.cpp" line="4130"/>
-        <source>Critical Error</source>
-        <translation>严重错误</translation>
+        <location line="+10"/>
+        <source>Goto target...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5787"/>
-        <source>Critcal error</source>
-        <translation>严重错误</translation>
+        <location line="+9"/>
+        <source>Move to target...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find the documentation
-vym.pdf in various places.</source>
-        <translation type="obsolete">无法在任何位置找到文档 vym.pdf。</translation>
+        <location line="+39"/>
+        <source>Unselect all</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add a branch by inserting and making selection its child</source>
-        <translation type="obsolete">添加分支并使选中项成为其子分支</translation>
+        <location line="+8"/>
+        <source>Search functions</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove only branch and keep its childs</source>
-        <translation type="obsolete">仅删除该分支但保留其子分支</translation>
+        <location line="+16"/>
+        <source>Find duplicate URLs</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Remove childs of branch</source>
-        <translation type="obsolete">删除该分支的子分支</translation>
+        <location line="+216"/>
+        <source>Note editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use modifier to copy</source>
-        <translation type="obsolete">使用修饰键复制</translation>
+        <location line="+12"/>
+        <source>Heading editor</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2723"/>
-        <source>Add</source>
-        <translation>添加</translation>
+        <location line="+218"/>
+        <source>Images</source>
+        <translation type="unfinished">图象</translation>
     </message>
     <message>
-        <source>Use modifier to draw xLinks</source>
-        <translation type="obsolete">使用修饰键绘制 xLinks</translation>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use exclusive flags in flag toolbars</source>
-        <translation type="obsolete">使标记工具栏中的标记互斥</translation>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set application to open external links</source>
-        <translation type="obsolete">设置用于打开外部链接的应用程序</translation>
+        <location line="+539"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Delete key for deleting branches</source>
-        <translation type="obsolete">使用删除键删除分支</translation>
+        <location line="+308"/>
+        <source>Select color (Press Shift for more options)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3179"/>
-        <source>The map %1
-is already opened.Opening the same map in multiple editors may lead 
-to confusion when finishing working with vym.Do you want to</source>
-        <translation>导图 %1
-已打开。当使用 vym 完成工作时,在多个编辑器中打开同一导图
-可能会导致混乱。您希望</translation>
+        <location line="+60"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3228"/>
-        <source>This map does not exist:
-  %1
-Do you want to create a new one?</source>
-        <translation>该导图不存在:
-       %1
-您希望新建一个吗?</translation>
+        <location line="-838"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">导图 %1
-未使用 vym 压缩文件格式。
-如果写入的话,图象与标记都会写入,这可能导致
-指定目录中的文件被覆盖。
-
-您希望写入导图吗</translation>
+        <location line="-1554"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3413"/>
-        <source>Saved  %1</source>
-        <translation>已保存 %1</translation>
+        <location line="+44"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Firefox 书签</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3417"/>
-        <source>Couldn&apos;t save </source>
-        <translation>无法保存      </translation>
+        <location line="+635"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3455"/>
-        <source>The file %1
-exists already. Do you want to</source>
-        <translation>文件 %1
-已存在。您希望</translation>
+        <location line="+645"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3770"/>
-        <source>The map %1 has been modified but not saved yet. Do you want to</source>
-        <translation>导图 %1 已更改但尚未保存。您希望</translation>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4131"/>
-        <source>Couldn&apos;t open map %1</source>
-        <translation>无法打开导图 %1</translation>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Exit</source>
-        <translation type="obsolete">退出</translation>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translation type="obsolete">重做</translation>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create URL to FATE</source>
-        <translation type="obsolete">创建至 FATE 的 URL</translation>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Include top and bottom position of images into branch</source>
-        <translation type="obsolete">将图象上下位置包括进分支</translation>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Include left and right position of images into branch</source>
-        <translation type="obsolete">将图象左右位置包括进分支</translation>
+        <location line="+205"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">重要</translation>
     </message>
     <message>
-        <source>Hide link</source>
-        <translation type="obsolete">隐藏链接</translation>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">返回</translation>
     </message>
     <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">注解</translation>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">前进</translation>
     </message>
     <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">WWW 文档(外部)</translation>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">看这里</translation>
     </message>
     <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">至另一 vym 导图的链接</translation>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">危险</translation>
     </message>
     <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">子树已卷起</translation>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">不要忘记</translation>
     </message>
     <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">子树暂时卷起</translation>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">标记</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2291"/>
-        <source>Take care!</source>
-        <comment>Standardflag</comment>
-        <translation>当心!</translation>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">家</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2295"/>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation>真的?</translation>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">电话</translation>
     </message>
     <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">ok!</translation>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">音乐</translation>
     </message>
     <message>
-        <source>Not ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">不 ok!</translation>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">邮箱</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2274"/>
-        <source>This won&apos;t work!</source>
-        <comment>Standardflag</comment>
-        <translation>这样不行的!</translation>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2299"/>
-        <source>Good</source>
-        <comment>Standardflag</comment>
-        <translation>好的</translation>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">密码</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2303"/>
-        <source>Bad</source>
-        <comment>Standardflag</comment>
-        <translation>坏的</translation>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">将要改进</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2312"/>
-        <source>Time critical</source>
-        <comment>Standardflag</comment>
-        <translation>时间紧迫</translation>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">停止</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2318"/>
-        <source>Idea!</source>
-        <comment>Standardflag</comment>
-        <translation>想法!</translation>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">神奇</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2322"/>
-        <source>Important</source>
-        <comment>Standardflag</comment>
-        <translation>重要</translation>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">将要讨论</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2326"/>
-        <source>Unimportant</source>
-        <comment>Standardflag</comment>
-        <translation>不重要</translation>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">提醒</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2339"/>
-        <source>I like this</source>
-        <comment>Standardflag</comment>
-        <translation>我喜欢</translation>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">优异</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2343"/>
-        <source>I do not like this</source>
-        <comment>Standardflag</comment>
-        <translation>我不喜欢</translation>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">Linux</translation>
     </message>
     <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">我就是爱……        </translation>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">甜蜜</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2356"/>
-        <source>Dangerous</source>
-        <comment>Standardflag</comment>
-        <translation>危险</translation>
+        <location line="+137"/>
+        <source>Set author for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2364"/>
-        <source>This will help</source>
-        <comment>Standardflag</comment>
-        <translation>这会起到帮助的</translation>
+        <location line="+25"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>About VYM</source>
-        <translation type="obsolete">关于 VYM</translation>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <location filename="../mainwindow.cpp" line="3596"/>
-        <source>Import</source>
-        <translation>导入</translation>
+        <location line="+82"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <translation type="obsolete">KDE 书签</translation>
+        <location line="+8"/>
+        <source>Number of visible parents in task editor</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export as ASCII</source>
-        <translation type="obsolete">导出为 ASCII</translation>
+        <location line="+7"/>
+        <source>Number of visible parents in find results window</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <location filename="../mainwindow.cpp" line="1087"/>
-        <location filename="../mainwindow.cpp" line="1091"/>
-        <location filename="../mainwindow.cpp" line="1095"/>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <source>(still experimental)</source>
-        <translation>(仍处于试验阶段)</translation>
+        <location line="+4155"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">导出为 LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1110"/>
-        <source>&amp;Print</source>
-        <translation>打印(&amp;P)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3707"/>
-        <location filename="../mainwindow.cpp" line="3724"/>
-        <source>Export to</source>
-        <translation>导出至</translation>
-    </message>
-    <message>
-        <source>Hide object in exports</source>
-        <translation type="obsolete">导出时隐藏对象</translation>
+        <location line="-5574"/>
+        <source>Open all URLs in subtree (including scrolled branches)</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hide object in exported maps</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">导出时将被隐藏的对象</translation>
+        <location line="+17"/>
+        <source>Extract URLs from note</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use hide flag during exports </source>
-        <translation type="obsolete">不导出标有隐藏标记的对象      </translation>
+        <location line="+308"/>
+        <source>Add timestamp</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Open URL in new tab</source>
-        <translation type="obsolete">在新标签页打开 URL</translation>
+        <location line="-11"/>
+        <source>Remove children</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="238"/>
-        <source>Note Editor</source>
-        <translation type="unfinished">注解编辑器</translation>
+        <location line="+333"/>
+        <source>Center on selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="245"/>
-        <source>Heading Editor</source>
+        <location line="+1195"/>
+        <source>Editors toolbar</source>
+        <comment>Editor Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="260"/>
-        <source>Search results list</source>
-        <comment>FindResultWidget</comment>
+        <location line="+12"/>
+        <source>Modifier modes toolbar</source>
+        <comment>Modifier Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Map</source>
-        <comment>Toolbar for file actions</comment>
-        <translation type="obsolete">导图(&amp;M)</translation>
+        <location line="-3208"/>
+        <source>Property Editor</source>
+        <comment>PropertyEditor</comment>
+        <translation type="unfinished">属性编辑器</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2913"/>
-        <source>File actions toolbar</source>
-        <comment>Toolbar for file actions</comment>
+        <location line="-6"/>
+        <source>Script output window</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2931"/>
-        <source>Edit actions toolbar</source>
-        <comment>Toolbar name</comment>
+        <location line="+14"/>
+        <source>History window</source>
+        <comment>HistoryWidget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="252"/>
-        <source>Script Editor</source>
+        <location line="+815"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="314"/>
-        <source>Task list</source>
-        <comment>TaskEditor</comment>
+        <location line="+23"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="273"/>
-        <source>Script Editor</source>
-        <comment>ScriptEditor</comment>
+        <location line="+17"/>
+        <source>Webpage (HTML)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="218"/>
-        <source>Main window</source>
-        <comment>Shortcut group</comment>
+        <location line="+5"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="219"/>
-        <source>Map Editors</source>
-        <comment>Shortcut group</comment>
+        <location line="+16"/>
+        <source>Text (ASCII)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="220"/>
-        <source>Text Editors</source>
-        <comment>Shortcut group</comment>
+        <location line="+5"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="967"/>
-        <source>&amp;Map</source>
-        <comment>Menu for file actions</comment>
-        <translation type="unfinished">导图(&amp;M)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="992"/>
-        <source>&amp;Restore last session</source>
-        <comment>Edit menu</comment>
+        <location line="+7"/>
+        <source>Text with tasks</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1208"/>
-        <source>Add attribute</source>
+        <location line="+7"/>
+        <source>Text (A&amp;O report)...</source>
+        <comment>Export format</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1316"/>
-        <source>&amp;Detach</source>
-        <comment>Context menu</comment>
+        <location line="+30"/>
+        <source>CSV...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1317"/>
-        <source>Detach branch and use as mapcenter</source>
-        <comment>Context menu</comment>
+        <location line="+69"/>
+        <source>E&amp;dit</source>
+        <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1334"/>
-        <source>Sort children backwards</source>
+        <location line="+417"/>
+        <source>Get page name from Confluence</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1411"/>
-        <source>Expand all branches</source>
+        <location line="+23"/>
+        <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1419"/>
-        <source>Expand one level</source>
+        <location line="+254"/>
+        <source>Add image...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1389"/>
-        <source>Collapse one level</source>
+        <location line="+56"/>
+        <source>Goto linked map...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1400"/>
-        <source>Collapse unselected levels</source>
+        <location line="+9"/>
+        <source>Select previous</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1355"/>
-        <source>Unscroll children</source>
+        <location line="+10"/>
+        <source>Select next</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1083"/>
-        <source>Spreadsheet</source>
-        <translation type="unfinished">电子表格</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1101"/>
-        <source>Properties</source>
+        <location line="+84"/>
+        <source>Select default font</source>
+        <comment>Branch attribute</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1290"/>
-        <source>Move branch up</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">上移分支</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1303"/>
-        <source>Move branch down</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished">下移分支</translation>
+        <location line="+83"/>
+        <source>Toolbars</source>
+        <comment>Toolbars overview in view menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1360"/>
-        <source>Grow selection</source>
-        <comment>Edit menu</comment>
+        <location line="+8"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1369"/>
-        <source>Shrink selection</source>
-        <comment>Edit menu</comment>
+        <location line="+28"/>
+        <source>Rotate counterclockwise</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1378"/>
-        <source>Reset selection size</source>
-        <comment>Edit menu</comment>
+        <location line="+9"/>
+        <source>Rotate rclockwise</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1429"/>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
+        <location line="+64"/>
+        <source>Tree editor</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1498"/>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
+        <location line="+9"/>
+        <source>Task editor</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1499"/>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
+        <location line="+11"/>
+        <source>Slide editor</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1510"/>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
+        <location line="+9"/>
+        <source>Script editor</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1519"/>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
+        <location line="+8"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1528"/>
-        <source>SUSE Fate tool handling</source>
-        <comment>Shortcuts</comment>
+        <location line="+54"/>
+        <source>Next slide</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1529"/>
-        <source>Create URL to SUSE FATE tool</source>
-        <comment>Edit menu</comment>
+        <location line="+7"/>
+        <source>Previous slide</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1537"/>
-        <source>vymlinks - linking maps</source>
-        <comment>Shortcuts</comment>
+        <location line="+175"/>
+        <source>Map target</source>
+        <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1574"/>
-        <source>Exports</source>
-        <comment>Shortcuts</comment>
+        <location line="+865"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1586"/>
-        <source>Tasks</source>
-        <comment>Shortcuts</comment>
+        <location line="+34"/>
+        <source>Standard Flags toolbar</source>
+        <comment>Standard Flag Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1587"/>
-        <source>Toggle task</source>
-        <comment>Edit menu</comment>
+        <location line="-874"/>
+        <source>Status - ok,done</source>
+        <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1598"/>
-        <source>Cycle task status</source>
-        <comment>Edit menu</comment>
+        <location line="-335"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1609"/>
-        <source>Reset sleep</source>
-        <comment>Task sleep</comment>
+        <location line="+339"/>
+        <source>Status - work in progress</source>
+        <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1620"/>
-        <location filename="../mainwindow.cpp" line="1643"/>
-        <location filename="../mainwindow.cpp" line="1654"/>
-        <location filename="../mainwindow.cpp" line="1665"/>
-        <location filename="../mainwindow.cpp" line="1676"/>
-        <source>Sleep %1 days</source>
-        <comment>Task sleep</comment>
+        <location line="+5"/>
+        <source>Status - missing, not started</source>
+        <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1632"/>
-        <source>Sleep %1 day</source>
-        <comment>Task sleep</comment>
+        <location line="+328"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1687"/>
-        <location filename="../mainwindow.cpp" line="1698"/>
-        <source>Sleep %1 weeks</source>
-        <comment>Task sleep</comment>
+        <location line="+106"/>
+        <source>Automatic layout</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1730"/>
-        <source>Removing parts of a map</source>
-        <comment>Shortcuts</comment>
+        <location line="+11"/>
+        <source>Test</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1753"/>
-        <source>Various</source>
-        <comment>Shortcuts</comment>
+        <location line="+49"/>
+        <source>Show keyboard shortcuts</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1765"/>
-        <source>Map properties...</source>
-        <comment>Edit menu</comment>
+        <location line="+4"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1771"/>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
+        <location line="+8"/>
+        <source>Debug info</source>
+        <comment>Option to show debugging info</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1792"/>
-        <source>Selections</source>
-        <comment>Shortcuts</comment>
+        <location line="+56"/>
+        <source>Tasks</source>
+        <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1793"/>
-        <source>Select</source>
-        <comment>Select menu</comment>
+        <location line="+40"/>
+        <source>XLinks</source>
+        <comment>Menu for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1795"/>
-        <source>Toggle target...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Follow XLink</source>
+        <comment>Context menu</comment>
+        <translation type="unfinished">跟随 XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1804"/>
-        <source>Goto target...</source>
-        <comment>Edit menu</comment>
+        <location line="+130"/>
+        <source>Undo and clipboard toolbar</source>
+        <comment>Toolbar for redo/undo and clipboard</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1812"/>
-        <source>Move to target...</source>
-        <comment>Edit menu</comment>
+        <location line="+29"/>
+        <source>Selection toolbar</source>
+        <comment>Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1840"/>
-        <source>Unselect all</source>
-        <comment>Edit menu</comment>
+        <location line="+9"/>
+        <source>URLs and vymLinks toolbar</source>
+        <comment>Toolbar for URLs and vymlinks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1848"/>
-        <source>Search functions</source>
-        <comment>Shortcuts</comment>
+        <location line="+6"/>
+        <source>Colors toolbar</source>
+        <comment>Colors toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1864"/>
-        <source>Find duplicate URLs</source>
-        <comment>Edit menu</comment>
+        <location line="+442"/>
+        <source>Loading: %1</source>
+        <comment>Progress dialog while loading maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2053"/>
-        <source>Note editor</source>
-        <comment>View action</comment>
+        <location line="+60"/>
+        <source>or</source>
+        <comment>File Dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2064"/>
-        <source>Heading editor</source>
-        <comment>View action</comment>
+        <location line="+143"/>
+        <source>Save map as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2525"/>
-        <source>Set author for new maps</source>
-        <comment>Settings action</comment>
+        <location line="+8"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2613"/>
-        <source>Number of visible parents in task editor</source>
-        <comment>Settings action</comment>
+        <location line="+46"/>
+        <location line="+82"/>
+        <source>Couldn&apos;t save %1,
+because of existing lockfile:
+
+%2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2618"/>
-        <source>Number of visible parents in find results window</source>
-        <comment>Settings action</comment>
+        <location line="-45"/>
+        <source>Save map as new default map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Info</source>
-        <translation type="obsolete">信息</translation>
+        <location line="+9"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
+        <source>Warning</source>
+        <translation>警告</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1446"/>
-        <source>Open all URLs in subtree (including scrolled branches)</source>
-        <comment>Edit menu</comment>
+        <location line="-3204"/>
+        <source>You have no permissions to write to </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1461"/>
-        <source>Extract URLs from note</source>
-        <comment>Edit menu</comment>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1754"/>
-        <source>Add timestamp</source>
-        <comment>Edit menu</comment>
+        <location line="+81"/>
+        <source>Import Firefox Bookmarks into new map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1743"/>
-        <source>Remove children</source>
-        <comment>Edit menu</comment>
+        <location line="+26"/>
+        <source>Open Freemind map</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2972"/>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
+        <location line="+150"/>
+        <source>Couldn&apos;t find configuration for export to LibreOffice
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2042"/>
-        <source>Center on selection</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+201"/>
+        <location line="+2345"/>
+        <source>Couldn&apos;t find a viewer to open %1.
+</source>
+        <translation>无法找到阅读器以打开 %1。
+</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2982"/>
-        <source>Editors toolbar</source>
-        <comment>Editor Toolbar name</comment>
-        <translation type="unfinished"></translation>
+        <location line="-2344"/>
+        <location line="+2345"/>
+        <source>Please use Settings-&gt;</source>
+        <translation>请使用 &quot;设置&quot;-&gt;</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2994"/>
-        <source>Modifier modes toolbar</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="unfinished"></translation>
+        <location line="-2344"/>
+        <location line="+1260"/>
+        <source>Set application to open an URL</source>
+        <translation>设置用于打开 URL 的应用程序</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="280"/>
-        <source>Property Editor</source>
-        <comment>PropertyEditor</comment>
-        <translation type="unfinished">属性编辑器</translation>
+        <location line="-1197"/>
+        <source>Enter URL:</source>
+        <translation type="unfinished">请输入 URL:</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="287"/>
-        <source>History window</source>
-        <comment>HistoryWidget</comment>
+        <location line="+23"/>
+        <source>HTML</source>
+        <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1047"/>
-        <source>Webpage (HTML)...</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Text</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">文本</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1051"/>
-        <source>Text (ASCII)...</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Spreadsheet</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">电子表格</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1055"/>
-        <source>Text with tasks</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Textdocument</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">文本文档</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1059"/>
-        <source>Text (A&amp;O report)...</source>
-        <comment>Export format</comment>
-        <translation type="unfinished"></translation>
+        <location line="+1"/>
+        <source>Images</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished">图象</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1135"/>
-        <source>E&amp;dit</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+4"/>
+        <source>Set URL to a local file</source>
+        <translation type="unfinished">设置到本地文档的 URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1545"/>
-        <source>Open linked map in background tab</source>
-        <comment>Edit menu</comment>
+        <location line="+296"/>
+        <source>Couldn&apos;t set sleep time to %1.
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1820"/>
-        <source>Select previous</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
+        <location line="+28"/>
+        <source>%1 items on map
+</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished">在导图上的 %1 条目</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1830"/>
-        <source>Select next</source>
-        <comment>Edit menu</comment>
+        <location line="+21"/>
+        <source>branches</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1918"/>
-        <source>Select default font</source>
-        <comment>Branch attribute</comment>
+        <location line="+7"/>
+        <source>notes</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1996"/>
-        <source>Toolbars</source>
-        <comment>Toolbars overview in view menu</comment>
+        <location line="+1"/>
+        <source>images</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2018"/>
-        <source>Rotate counterclockwise</source>
-        <comment>View action</comment>
+        <location line="+3"/>
+        <source>slides</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2026"/>
-        <source>Rotate rclockwise</source>
-        <comment>View action</comment>
+        <location line="+2"/>
+        <source>xLinks</source>
+        <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2076"/>
-        <source>Tree editor</source>
-        <comment>View action</comment>
+        <location line="+673"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2084"/>
-        <source>Task editor</source>
-        <comment>View action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+123"/>
+        <location line="+1097"/>
+        <source>Set application to open PDF files</source>
+        <translation>设置用于打开 pdf 文件的应用程序</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2094"/>
-        <source>Slide editor</source>
-        <comment>View action</comment>
+        <location line="-1060"/>
+        <source>Load vym script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2102"/>
-        <source>Script editor</source>
-        <comment>View action</comment>
+        <location line="+106"/>
+        <source>Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2153"/>
-        <source>Next slide</source>
-        <comment>View action</comment>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2160"/>
-        <source>Previous slide</source>
-        <comment>View action</comment>
+        <location line="+51"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2242"/>
-        <location filename="../mainwindow.cpp" line="2245"/>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
+        <location line="+1086"/>
+        <source>Please allow vym to download release notes!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2248"/>
-        <source>Map target</source>
-        <comment>SystemFlag</comment>
+        <location line="+62"/>
+        <source>Allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2265"/>
-        <source>Standard Flags toolbar</source>
-        <comment>Standard Flag Toolbar</comment>
+        <location line="+1"/>
+        <source>Do not allow</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2279"/>
-        <source>Status - ok,done</source>
-        <comment>Standardflag</comment>
+        <location line="+5"/>
+        <source>Thank you for enabling downloads!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2283"/>
-        <source>Status - work in progress</source>
-        <comment>Standardflag</comment>
+        <location line="+9"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2287"/>
-        <source>Status - missing, not started</source>
-        <comment>Standardflag</comment>
+        <location line="+24"/>
+        <source>Update information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2385"/>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+4"/>
+        <source>vym is up to date.</source>
+        <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2397"/>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
+        <location line="+48"/>
+        <source>Checking for updates...</source>
+        <comment>MainWindow</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2630"/>
-        <source>Automatic layout</source>
-        <comment>Settings action</comment>
+        <location line="+30"/>
+        <source>Please allow vym to check for updates!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2641"/>
-        <source>Test</source>
-        <translation type="unfinished"></translation>
+        <location line="-4698"/>
+        <source>Oh no!</source>
+        <comment>Standardflag</comment>
+        <translation>哦不!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2694"/>
-        <source>Show keyboard shortcuts</source>
-        <comment>Help action</comment>
+        <location line="-2555"/>
+        <source>Main window</source>
+        <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2698"/>
-        <source>Debug info</source>
-        <comment>Option to show debugging info</comment>
-        <translation type="unfinished"></translation>
+        <location line="+996"/>
+        <source>Firefox Bookmarks</source>
+        <comment>Import filters</comment>
+        <translation type="unfinished">Firefox 书签</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2755"/>
-        <source>Tasks</source>
-        <comment>Context menu</comment>
+        <location line="+827"/>
+        <source>Remove only branch and keep its children </source>
+        <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2796"/>
-        <source>XLinks</source>
-        <comment>Menu for file actions</comment>
+        <location line="+161"/>
+        <source>Formatting</source>
+        <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2803"/>
-        <source>Follow XLink</source>
-        <comment>Context menu</comment>
-        <translation type="unfinished">跟随 XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2922"/>
-        <source>Undo and clipboard toolbar</source>
-        <comment>Toolbar for redo/undo and clipboard</comment>
+        <location line="+120"/>
+        <source>Views</source>
+        <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2948"/>
-        <source>Selection toolbar</source>
-        <comment>Toolbar name</comment>
+        <location line="+244"/>
+        <source>Modifier modes</source>
+        <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2956"/>
-        <source>URLs and vymLinks toolbar</source>
-        <comment>Toolbar for URLs and vymlinks</comment>
-        <translation type="unfinished"></translation>
+        <location line="+244"/>
+        <source>Call...</source>
+        <comment>Standardflag</comment>
+        <translation>打电话……</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2964"/>
-        <source>Colors toolbar</source>
-        <comment>Colors toolbar name</comment>
-        <translation type="unfinished"></translation>
+        <location line="-20"/>
+        <source>Very important!</source>
+        <comment>Standardflag</comment>
+        <translation>非常重要!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3126"/>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation type="unfinished">未命名</translation>
+        <location line="+5"/>
+        <source>Very unimportant!</source>
+        <comment>Standardflag</comment>
+        <translation>非常不重要!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3264"/>
-        <source>Loading: %1</source>
-        <comment>Progress dialog while loading maps</comment>
-        <translation type="unfinished"></translation>
+        <location line="+24"/>
+        <source>Rose</source>
+        <comment>Standardflag</comment>
+        <translation>玫瑰</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3314"/>
-        <source>or</source>
-        <comment>File Dialog</comment>
-        <translation type="unfinished"></translation>
+        <location line="-3"/>
+        <source>Surprise!</source>
+        <comment>Standardflag</comment>
+        <translation>惊喜!</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3444"/>
-        <source>Save map as</source>
-        <translation type="unfinished"></translation>
+        <location line="-64"/>
+        <source>Info</source>
+        <comment>Standardflag</comment>
+        <translation>信息</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3497"/>
-        <source>Couldn&apos;t save %1,
-because of existing lockfile:
-
-%2</source>
-        <translation type="unfinished"></translation>
+        <location line="+1605"/>
+        <source>Firefox Bookmarks</source>
+        <translation type="unfinished">Firefox 书签</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3503"/>
-        <source>Couldn&apos;t save %1</source>
-        <translation type="unfinished"></translation>
+        <location line="-3184"/>
+        <source>&amp;Open...</source>
+        <comment>File menu</comment>
+        <translation>打开(&amp;O)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3745"/>
-        <location filename="../mainwindow.cpp" line="3875"/>
-        <location filename="../mainwindow.cpp" line="3918"/>
-        <location filename="../mainwindow.cpp" line="4260"/>
-        <location filename="../mainwindow.cpp" line="5800"/>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Warning</source>
-        <translation>警告</translation>
+        <location line="+16"/>
+        <source>Open Recent</source>
+        <comment>File menu</comment>
+        <translation>最近打开的文件</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3746"/>
-        <source>Couldn&apos;t find configuration for export to LibreOffice
-</source>
-        <translation type="unfinished"></translation>
+        <location line="+3"/>
+        <source>&amp;Save...</source>
+        <comment>File menu</comment>
+        <translation>保存(&amp;S)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3876"/>
-        <location filename="../mainwindow.cpp" line="5801"/>
-        <source>Couldn&apos;t find a viewer to open %1.
-</source>
-        <translation>无法找到阅读器以打开 %1。
-</translation>
+        <location line="+9"/>
+        <source>Save &amp;As...</source>
+        <comment>File menu</comment>
+        <translation>另存为(&amp;A)...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Please use Settings-&gt;</source>
-        <translation>请使用 &quot;设置&quot;-&gt;</translation>
+        <location line="+11"/>
+        <source>Import</source>
+        <comment>File menu</comment>
+        <translation>导入</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3877"/>
-        <location filename="../mainwindow.cpp" line="4981"/>
-        <source>Set application to open an URL</source>
-        <translation>设置用于打开 URL 的应用程序</translation>
+        <location line="+23"/>
+        <source>Export</source>
+        <comment>File menu</comment>
+        <translation>导出</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3919"/>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>无法在 %2 中启动 %1 以打开一个新标签。</translation>
+        <location line="+56"/>
+        <source>Image%1</source>
+        <comment>File export menu</comment>
+        <translation>图象%1</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3994"/>
-        <source>Enter URL:</source>
-        <translation type="unfinished">请输入 URL:</translation>
+        <location line="+5"/>
+        <source>PDF%1</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4017"/>
-        <source>HTML</source>
-        <comment>Filedialog</comment>
+        <location line="+5"/>
+        <source>SVG%1</source>
+        <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4018"/>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">文本</translation>
+        <location line="-63"/>
+        <source>Repeat last export (%1)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4019"/>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">电子表格</translation>
+        <location line="+118"/>
+        <source>&amp;Close Map</source>
+        <comment>File menu</comment>
+        <translation>关闭导图(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="4020"/>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">文本文档</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4021"/>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="unfinished">图象</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4025"/>
-        <source>Set URL to a local file</source>
-        <translation type="unfinished">设置到本地文档的 URL</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4183"/>
-        <location filename="../mainwindow.cpp" line="4185"/>
-        <source>Link to another map</source>
-        <translation type="unfinished">至另一导图的链接</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4244"/>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4261"/>
-        <source>Couldn&apos;t set sleep time to %1.
-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4286"/>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished">在导图上的 %1 条目</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4304"/>
-        <source>branches</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4305"/>
-        <source>notes</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4306"/>
-        <source>images</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4307"/>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4308"/>
-        <source>slides</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4309"/>
-        <source>xLinks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="4967"/>
-        <location filename="../mainwindow.cpp" line="5802"/>
-        <source>Set application to open PDF files</source>
-        <translation>设置用于打开 pdf 文件的应用程序</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5947"/>
-        <source>Please allow vym to download release notes!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5968"/>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5997"/>
-        <source>Allow</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="5998"/>
-        <source>Do not allow</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6004"/>
-        <source>Thank you for enabling downloads!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6027"/>
-        <source>Update information</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6033"/>
-        <source>vym is up to date.</source>
-        <comment>MainWindow</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6084"/>
-        <source>Checking for updates...</source>
-        <comment>MainWindow</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="6112"/>
-        <source>Please allow vym to check for updates!</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2307"/>
-        <source>Oh no!</source>
-        <comment>Standardflag</comment>
-        <translation>哦不!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="124"/>
-        <source>Main window</source>
-        <comment>Shortcut scope</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1021"/>
-        <source>Firefox Bookmarks</source>
-        <comment>Import filters</comment>
-        <translation type="unfinished">Firefox 书签</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1034"/>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation type="unfinished">导入目录%1</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1733"/>
-        <source>Remove only branch and keep its children </source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1878"/>
-        <source>Formatting</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1997"/>
-        <source>Views</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2174"/>
-        <source>Modifier modes</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2315"/>
-        <source>Call...</source>
-        <comment>Standardflag</comment>
-        <translation>打电话……</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2330"/>
-        <source>Very important!</source>
-        <comment>Standardflag</comment>
-        <translation>非常重要!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2334"/>
-        <source>Very unimportant!</source>
-        <comment>Standardflag</comment>
-        <translation>非常不重要!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2347"/>
-        <source>Rose</source>
-        <comment>Standardflag</comment>
-        <translation>玫瑰</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2353"/>
-        <source>Surprise!</source>
-        <comment>Standardflag</comment>
-        <translation>惊喜!</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2360"/>
-        <source>Info</source>
-        <comment>Standardflag</comment>
-        <translation>信息</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <translation type="obsolete">Firefox 书签</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <translation type="obsolete">显示注解编辑器</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <translation type="obsolete">显示历史窗口</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="3533"/>
-        <location filename="../mainwindow.cpp" line="3536"/>
-        <source>Bookmarks</source>
-        <translation>书签</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">无法启动 %1 以打开一个新标签。</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">将导图导出为图象</translation>
-    </message>
-    <message>
-        <source>Standard Flags</source>
-        <comment>Standard Flag Toolbar</comment>
-        <translation type="obsolete">标记工具栏</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">无法找到配置以导出成 OpenOffice.org
-</translation>
-    </message>
-    <message>
-        <source>No matches found for &quot;%1&quot;</source>
-        <translation type="obsolete">无法为 &quot;%1&quot; 找到匹配</translation>
-    </message>
-    <message>
-        <source>&amp;Map</source>
-        <translation type="obsolete">导图(&amp;M)</translation>
-    </message>
-    <message>
-        <source>Open all URLs in subtree</source>
-        <translation type="obsolete">打开子树中的所有 URL</translation>
-    </message>
-    <message>
-        <source>Open all vym links in subtree</source>
-        <translation type="obsolete">打开子树中的所有链接</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation type="obsolete">无法在载入前创建临时目录
-</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">无法在保存前创建临时目录</translation>
-    </message>
-    <message>
-        <source>Sorry, currently only Konqueror and Mozilla support tabbed browsing.</source>
-        <translation type="obsolete">对不起,当前只有 Konqueror 和 Mozilla 支持标签浏览。</translation>
-    </message>
-    <message>
-        <source>&amp;New...</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">新建(&amp;N)...</translation>
-    </message>
-    <message>
-        <source>New map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">新建导图</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="985"/>
-        <source>&amp;Open...</source>
-        <comment>File menu</comment>
-        <translation>打开(&amp;O)...</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">打开</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1000"/>
-        <source>Open Recent</source>
-        <comment>File menu</comment>
-        <translation>最近打开的文件</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1003"/>
-        <source>&amp;Save...</source>
-        <comment>File menu</comment>
-        <translation>保存(&amp;S)...</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">保存</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1011"/>
-        <source>Save &amp;As...</source>
-        <comment>File menu</comment>
-        <translation>另存为(&amp;A)...</translation>
-    </message>
-    <message>
-        <source>Save &amp;As</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">另存为(&amp;A)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1017"/>
-        <source>Import</source>
-        <comment>File menu</comment>
-        <translation>导入</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">导入 %1</translation>
-    </message>
-    <message>
-        <source>KDE bookmarks</source>
-        <translation type="obsolete">KDE 书签</translation>
-    </message>
-    <message>
-        <source>Firefox Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Firefox 书签</translation>
-    </message>
-    <message>
-        <source>Import %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">导入 %1</translation>
-    </message>
-    <message>
-        <source>Import Dir%1</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">导入目录%1</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">导入目录结构(仍处于试验阶段)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1038"/>
-        <source>Export</source>
-        <comment>File menu</comment>
-        <translation>导出</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1063"/>
-        <source>Image%1</source>
-        <comment>File export menu</comment>
-        <translation>图象%1</translation>
-    </message>
-    <message>
-        <source>Export map as image</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">将导图导出为图象</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1067"/>
-        <source>PDF%1</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1071"/>
-        <source>SVG%1</source>
-        <comment>File export menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">导出为用于 OpenOffice.org 等的 ODF(Open Document Format) 格式    </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1040"/>
-        <source>Repeat last export (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">导出为 %1</translation>
-    </message>
-    <message>
-        <source> webpage (XHTML)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">  网页(XHTML)</translation>
-    </message>
-    <message>
-        <source>Export as %1</source>
-        <translation type="obsolete">导出为 %1</translation>
-    </message>
-    <message>
-        <source>KDE Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">KDE 书签</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">打印</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1118"/>
-        <source>&amp;Close Map</source>
-        <comment>File menu</comment>
-        <translation>关闭导图(&amp;C)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1124"/>
-        <source>E&amp;xit</source>
-        <comment>File menu</comment>
-        <translation>退出(&amp;X)</translation>
-    </message>
-    <message>
-        <source>&amp;Actions toolbar</source>
-        <comment>Toolbar name</comment>
-        <translation type="obsolete">动作工具栏(&amp;A)</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">编辑(&amp;E)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1139"/>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation>撤销(&amp;U)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1150"/>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation>重做(&amp;R)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1161"/>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation>复制(&amp;C)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1172"/>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation>剪切(&amp;T)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1185"/>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation>粘贴(&amp;P)</translation>
-    </message>
-    <message>
-        <source>Edit heading</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">编辑标题</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1197"/>
-        <source>Delete Selection</source>
-        <comment>Edit menu</comment>
-        <translation>删除选中项</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1232"/>
-        <source>Add branch as child</source>
-        <comment>Edit menu</comment>
-        <translation>添加子分支</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1242"/>
-        <source>Add branch (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>添加父分支</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1252"/>
-        <location filename="../mainwindow.cpp" line="1262"/>
-        <source>Add branch above</source>
-        <comment>Edit menu</comment>
-        <translation>在上方添加分支</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1272"/>
-        <location filename="../mainwindow.cpp" line="1281"/>
-        <source>Add branch below</source>
-        <comment>Edit menu</comment>
-        <translation>在下方添加分支</translation>
-    </message>
-    <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">上移</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">下移</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1343"/>
-        <source>Scroll branch</source>
-        <comment>Edit menu</comment>
-        <translation>卷起分支</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">展开所有卷起的分支</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1849"/>
-        <location filename="../mainwindow.cpp" line="1857"/>
-        <source>Find...</source>
-        <comment>Edit menu</comment>
-        <translation>查找...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1430"/>
-        <source>Open URL</source>
-        <comment>Edit menu</comment>
-        <translation>打开 URL</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1438"/>
-        <source>Open URL in new tab</source>
-        <comment>Edit menu</comment>
-        <translation>在新标签页打开 URL</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1454"/>
-        <source>Open all URLs in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>打开子树中的所有 URL</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1470"/>
-        <source>Edit URL...</source>
-        <comment>Edit menu</comment>
-        <translation>编辑 URL...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1488"/>
-        <source>Use heading for URL</source>
-        <comment>Edit menu</comment>
-        <translation>将标题作为 URL</translation>
-    </message>
-    <message>
-        <source>Create URL to Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">创建至 Bugzilla 的 URL</translation>
-    </message>
-    <message>
-        <source>Create URL to FATE</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">创建至 FATE 的 URL</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1538"/>
-        <source>Open linked map</source>
-        <comment>Edit menu</comment>
-        <translation>打开链接的导图</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1552"/>
-        <source>Open all vym links in subtree</source>
-        <comment>Edit menu</comment>
-        <translation>打开子树中的所有链接</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1560"/>
-        <source>Edit vym link...</source>
-        <comment>Edit menu</comment>
-        <translation>编辑 vym 链接...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1567"/>
-        <source>Delete vym link</source>
-        <comment>Edit menu</comment>
-        <translation>删除 vym 链接...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1575"/>
-        <source>Hide in exports</source>
-        <comment>Edit menu</comment>
-        <translation>导出时隐藏</translation>
-    </message>
-    <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">编辑导图信息...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1710"/>
-        <source>Add map (insert)</source>
-        <comment>Edit menu</comment>
-        <translation>添加导图(插入)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1717"/>
-        <source>Add map (replace)</source>
-        <comment>Edit menu</comment>
-        <translation>添加导图(替换)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1724"/>
-        <source>Save selection</source>
-        <comment>Edit menu</comment>
-        <translation>保存选中项</translation>
-    </message>
-    <message>
-        <source>Remove only branch </source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">仅删除该分支</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">删除子分支</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">选择上方分支</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">选择下方分支</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">选择左方分支</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">选择子分支</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">选择第一个分支</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">选择最后一个分支</translation>
-    </message>
-    <message>
-        <source>Add Image...</source>
-        <comment>Edit menu</comment>
-        <translation type="vanished">添加图象...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1876"/>
-        <source>F&amp;ormat</source>
-        <comment>Format menu</comment>
-        <translation>格式(&amp;O)</translation>
-    </message>
-    <message>
-        <source>Format Actions</source>
-        <comment>Format Toolbar name</comment>
-        <translation type="obsolete">格式工具栏</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1889"/>
-        <source>Pic&amp;k color</source>
-        <comment>Edit menu</comment>
-        <translation>选取颜色(&amp;K)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1898"/>
-        <source>Color &amp;branch</source>
-        <comment>Edit menu</comment>
-        <translation>着色该分支(&amp;B)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1907"/>
-        <source>Color sub&amp;tree</source>
-        <comment>Edit menu</comment>
-        <translation>着色子树(&amp;T)</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">无边框</translation>
-    </message>
-    <message>
-        <source>RectangleBranch attribute</source>
-        <translation type="obsolete">举行分支属性</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">在垂直方向包含图象</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <comment>Branch attribute</comment>
-        <translation type="obsolete">在水平方向包含图象</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1958"/>
-        <source>Hide link if object is not selected</source>
-        <comment>Branch attribute</comment>
-        <translation>当对象未选中时隐藏链接</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1964"/>
-        <source>&amp;Use color of heading for link</source>
-        <comment>Branch attribute</comment>
-        <translation>让链接使用标题的颜色(&amp;U)</translation>
-    </message>
-    <message>
-        <source>View Actions</source>
-        <comment>View Toolbar name</comment>
-        <translation type="obsolete">查看工具栏</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2034"/>
-        <source>reset Zoom</source>
-        <comment>View action</comment>
-        <translation>正常大小</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2002"/>
-        <source>Zoom in</source>
-        <comment>View action</comment>
-        <translation>放大</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2010"/>
-        <source>Zoom out</source>
-        <comment>View action</comment>
-        <translation>缩小</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">显示注解编辑器</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">显示历史窗口</translation>
-    </message>
-    <message>
-        <source>Next Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">下一窗口</translation>
-    </message>
-    <message>
-        <source>Previous Window</source>
-        <comment>View action</comment>
-        <translation type="obsolete">上一窗口</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <comment>Modifier Toolbar name</comment>
-        <translation type="obsolete">修饰键模式工具栏</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2178"/>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation>使用修饰键着色分支</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <comment>Mode modifier</comment>
-        <translation type="obsolete">使用修饰键复制</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2194"/>
-        <source>Use modifier to draw xLinks</source>
-        <comment>Mode modifier</comment>
-        <translation>使用修饰键绘制 xLinks</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2531"/>
-        <source>Set application to open pdf files</source>
-        <comment>Settings action</comment>
-        <translation>设置用于打开 pdf 文件的应用程序</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2535"/>
-        <source>Set application to open external links</source>
-        <comment>Settings action</comment>
-        <translation>设置用于打开外部链接的应用程序</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2581"/>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>添加分支后编辑该分支</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2587"/>
-        <source>Select branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation>添加分支后选中该分支</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2593"/>
-        <source>Select existing heading</source>
-        <comment>Settings action</comment>
-        <translation>选中已存在的标题文本</translation>
-    </message>
-    <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">删除键</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2599"/>
-        <source>Exclusive flags</source>
-        <comment>Settings action</comment>
-        <translation>互斥标记</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2605"/>
-        <source>Use hide flags</source>
-        <comment>Settings action</comment>
-        <translation>使用隐藏标记</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2673"/>
-        <source>&amp;Help</source>
-        <comment>Help menubar entry</comment>
-        <translation>帮助(&amp;H)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2676"/>
-        <source>Open VYM Documentation (pdf) </source>
-        <comment>Help action</comment>
-        <translation>打开 VYM 文档(pdf)    </translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2685"/>
-        <source>Download and show release notes</source>
-        <comment>Help action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2689"/>
-        <source>Check, if updates are available</source>
-        <comment>Help action</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2702"/>
-        <source>About VYM</source>
-        <comment>Help action</comment>
-        <translation>关于 VYM</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2706"/>
-        <source>About QT</source>
-        <comment>Help action</comment>
-        <translation>关于 QT</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2735"/>
-        <source>Remove</source>
-        <comment>Context menu name</comment>
-        <translation>删除</translation>
-    </message>
-    <message>
-        <source>URLs and vymLinks</source>
-        <comment>Context menu name</comment>
-        <translation type="obsolete">URL 以及 vym链接</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2798"/>
-        <source>Edit XLink</source>
-        <comment>Context menu name</comment>
-        <translation>编辑 XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2809"/>
-        <source>Follow XLink</source>
-        <comment>Context menu name</comment>
-        <translation type="unfinished">跟随 XLink</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2818"/>
-        <source>Save image</source>
-        <comment>Context action</comment>
-        <translation>保存图象</translation>
-    </message>
-    <message>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <comment>write directory</comment>
-        <translation type="obsolete">目录 %1 非空。
-您希望冒险覆盖其内容吗?</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="971"/>
-        <source>&amp;New map</source>
-        <comment>File menu</comment>
-        <translation>新建导图(&amp;N)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="978"/>
-        <source>&amp;Copy to new map</source>
+        <location line="+7"/>
+        <source>E&amp;xit</source>
         <comment>File menu</comment>
-        <translation>复制到新导图(&amp;C)</translation>
-    </message>
-    <message>
-        <source>Copy selection to mapcenter of a new map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">复制选区到新导图的图心</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1221"/>
-        <source>Add mapcenter</source>
-        <comment>Canvas context menu</comment>
-        <translation>添加图心</translation>
+        <translation>退出(&amp;X)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1325"/>
-        <source>Sort children</source>
+        <location line="+26"/>
+        <source>&amp;Undo</source>
         <comment>Edit menu</comment>
-        <translation>子分支排序</translation>
+        <translation>撤销(&amp;U)</translation>
     </message>
     <message>
-        <source>Unscroll childs</source>
+        <location line="+11"/>
+        <source>&amp;Redo</source>
         <comment>Edit menu</comment>
-        <translation type="obsolete">展开子分支</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches in selected subtree</source>
-        <translation type="obsolete">在选择子树里展开所有卷起的分支</translation>
+        <translation>重做(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="1479"/>
-        <source>Edit local URL...</source>
+        <location line="+11"/>
+        <source>&amp;Copy</source>
         <comment>Edit menu</comment>
-        <translation>编辑本地 URL...</translation>
-    </message>
-    <message>
-        <source>Edit local URL</source>
-        <translation type="obsolete">编辑本地 URL</translation>
+        <translation>复制(&amp;C)</translation>
     </message>
     <message>
-        <source>Create URL to Novell Bugzilla</source>
+        <location line="+11"/>
+        <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
-        <translation type="vanished">创建至 Novell Bugzilla 的 URL</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell Bugzilla</source>
-        <translation type="obsolete">创建至 Novell Bugzilla 的 URL</translation>
+        <translation>剪切(&amp;T)</translation>
     </message>
     <message>
-        <source>Create URL to Novell FATE</source>
+        <location line="+13"/>
+        <source>&amp;Paste</source>
         <comment>Edit menu</comment>
-        <translation type="vanished">创建至 Novell FATE 的 URL</translation>
-    </message>
-    <message>
-        <source>Create URL to Novell FATE</source>
-        <translation type="obsolete">创建至 Novell FATE 的 URL</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1779"/>
-        <source>Property window</source>
-        <comment>Dialog to edit properties of selection</comment>
-        <translation>属性窗口</translation>
-    </message>
-    <message>
-        <source>Set properties for selection</source>
-        <translation type="obsolete">设置选区属性</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1935"/>
-        <source>Linkstyle Curve</source>
-        <translation>曲线链接样式</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1949"/>
-        <source>Linkstyle Thick Curve</source>
-        <translation>粗曲线链接样式</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1971"/>
-        <source>Set &amp;Link Color</source>
-        <translation>设置链接颜色(&amp;L)</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1976"/>
-        <source>Set &amp;Selection Color</source>
-        <translation>设置选区颜色(&amp;S)</translation>
-    </message>
-    <message>
-        <source>Set Selection Color</source>
-        <translation type="obsolete">设置选区颜色</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="1986"/>
-        <source>Set &amp;Background image</source>
-        <translation>设置背景图像(&amp;B)</translation>
-    </message>
-    <message>
-        <source>Set Background image</source>
-        <translation type="obsolete">设置背景图像</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <comment>View action</comment>
-        <translation type="obsolete">显示选区</translation>
-    </message>
-    <message>
-        <source>Show selection</source>
-        <translation type="obsolete">显示选区</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2110"/>
-        <source>History Window</source>
-        <comment>View action</comment>
-        <translation>历史窗口</translation>
-    </message>
-    <message>
-        <source>Show History Window</source>
-        <translation type="obsolete">显示历史窗口</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2124"/>
-        <source>Antialiasing</source>
-        <comment>View action</comment>
-        <translation>反锯齿</translation>
-    </message>
-    <message>
-        <source>Antialiasing</source>
-        <translation type="obsolete">反锯齿</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2131"/>
-        <source>Smooth pixmap transformations</source>
-        <comment>View action</comment>
-        <translation>平滑位图变形</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2139"/>
-        <source>Next Map</source>
-        <comment>View action</comment>
-        <translation>下一导图</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2146"/>
-        <source>Previous Map</source>
-        <comment>View action</comment>
-        <translation>上一导图</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2213"/>
-        <location filename="../mainwindow.cpp" line="2216"/>
-        <location filename="../mainwindow.cpp" line="2219"/>
-        <location filename="../mainwindow.cpp" line="2223"/>
-        <location filename="../mainwindow.cpp" line="2226"/>
-        <location filename="../mainwindow.cpp" line="2229"/>
-        <location filename="../mainwindow.cpp" line="2233"/>
-        <location filename="../mainwindow.cpp" line="2236"/>
-        <source>Note</source>
-        <comment>SystemFlag</comment>
-        <translation>注解</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2239"/>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation>到文档的 URL</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2251"/>
-        <source>Link to another vym map</source>
-        <comment>SystemFlag</comment>
-        <translation>至另一 vym 导图的链接</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2254"/>
-        <source>subtree is scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>子树已卷起</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2257"/>
-        <source>subtree is temporary scrolled</source>
-        <comment>SystemFlag</comment>
-        <translation>子树暂时卷起</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2260"/>
-        <source>Hide object in exported maps</source>
-        <comment>SystemFlag</comment>
-        <translation>导出时将被隐藏的对象</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2350"/>
-        <source>I just love...</source>
-        <comment>Standardflag</comment>
-        <translation>我只是喜欢 ...</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2369"/>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation>重要</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2376"/>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation>优先级</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2381"/>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation>返回</translation>
-    </message>
-    <message>
-        <source>Forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">前进</translation>
-    </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2389"/>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation>看这里</translation>
+        <translation>粘贴(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2393"/>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation>危险</translation>
+        <location line="+13"/>
+        <location line="+10"/>
+        <source>Delete Selection</source>
+        <comment>Edit menu</comment>
+        <translation>删除选中项</translation>
     </message>
     <message>
-        <source>Don&apos;t forget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="obsolete">不要忘记</translation>
+        <location line="+33"/>
+        <source>Add branch as child</source>
+        <comment>Edit menu</comment>
+        <translation>添加子分支</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2401"/>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation>æ \87è®°</translation>
+        <location line="+9"/>
+        <source>Add branch (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>æ·»å\8a ç\88¶å\88\86æ\94¯</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2406"/>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation>家</translation>
+        <location line="+10"/>
+        <location line="+10"/>
+        <source>Add branch above</source>
+        <comment>Edit menu</comment>
+        <translation>在上方添加分支</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2410"/>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation>电话</translation>
+        <location line="+10"/>
+        <location line="+9"/>
+        <source>Add branch below</source>
+        <comment>Edit menu</comment>
+        <translation>在下方添加分支</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2414"/>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation>音乐</translation>
+        <location line="+91"/>
+        <source>Scroll branch</source>
+        <comment>Edit menu</comment>
+        <translation>卷起分支</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2418"/>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation>邮箱</translation>
+        <location line="+544"/>
+        <location line="+8"/>
+        <source>Find...</source>
+        <comment>Edit menu</comment>
+        <translation>查找...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2422"/>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Maix</translation>
+        <location line="-462"/>
+        <source>Open URL</source>
+        <comment>Edit menu</comment>
+        <translation>打开 URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2426"/>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation>å¯\86ç \81</translation>
+        <location line="+9"/>
+        <source>Open URL in new tab</source>
+        <comment>Edit menu</comment>
+        <translation>å\9c¨æ\96°æ \87签页æ\89\93å¼\80 URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2430"/>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation>将要改进</translation>
+        <location line="+18"/>
+        <source>Open all URLs in subtree</source>
+        <comment>Edit menu</comment>
+        <translation>打开子树中的所有 URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2434"/>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation>停止</translation>
+        <location line="+17"/>
+        <source>Edit URL...</source>
+        <comment>Edit menu</comment>
+        <translation>编辑 URL...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2438"/>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation>神奇</translation>
+        <location line="+18"/>
+        <source>Use heading for URL</source>
+        <comment>Edit menu</comment>
+        <translation>将标题作为 URL</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2442"/>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation>将要讨论</translation>
+        <location line="+33"/>
+        <source>Open linked map</source>
+        <comment>Edit menu</comment>
+        <translation>打开链接的导图</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2446"/>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation>æ\8f\90é\86\92</translation>
+        <location line="+17"/>
+        <source>Open all vym links in subtree</source>
+        <comment>Edit menu</comment>
+        <translation>æ\89\93å¼\80å­\90æ \91中ç\9a\84æ\89\80æ\9c\89é\93¾æ\8e¥</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2450"/>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation>优异</translation>
+        <location line="+9"/>
+        <source>Edit vym link...</source>
+        <comment>Edit menu</comment>
+        <translation>编辑 vym 链接...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2454"/>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation>Linux</translation>
+        <location line="+9"/>
+        <source>Delete vym link</source>
+        <comment>Edit menu</comment>
+        <translation>删除 vym 链接...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2458"/>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation>甜蜜</translation>
+        <location line="+9"/>
+        <source>Hide in exports</source>
+        <comment>Edit menu</comment>
+        <translation>导出时隐藏</translation>
     </message>
-    <message>
-        <location filename="../mainwindow.cpp" line="2514"/>
-        <source>Settings</source>
-        <translation type="unfinished"></translation>
+    <message>
+        <location line="+158"/>
+        <source>Add map (insert)</source>
+        <comment>Edit menu</comment>
+        <translation>添加导图(插入)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2518"/>
-        <source>Check for release notes and updates</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Add map (replace)</source>
+        <comment>Edit menu</comment>
+        <translation>添加导图(替换)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2539"/>
-        <source>Set application to zip/unzip files</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished"></translation>
+        <location line="+7"/>
+        <source>Save selection</source>
+        <comment>Edit menu</comment>
+        <translation>保存选中项</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2543"/>
-        <source>Set path for macros</source>
-        <comment>Settings action</comment>
-        <translation>设置宏路径</translation>
+        <location line="+169"/>
+        <source>F&amp;ormat</source>
+        <comment>Format menu</comment>
+        <translation>格式(&amp;O)</translation>
     </message>
     <message>
-        <source>Set path for macros</source>
-        <translation type="obsolete">设置宏路径</translation>
+        <location line="+7"/>
+        <source>Pic&amp;k color</source>
+        <comment>Edit menu</comment>
+        <translation>选取颜色(&amp;K)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2547"/>
-        <source>Set number of undo levels</source>
-        <comment>Settings action</comment>
-        <translation>设置 undo 级</translation>
+        <location line="+10"/>
+        <source>Color &amp;branch</source>
+        <comment>Edit menu</comment>
+        <translation>着色该分支(&amp;B)</translation>
     </message>
     <message>
-        <source>Set number of undo levels</source>
-        <translation type="obsolete">设置 undo 级</translation>
+        <location line="+10"/>
+        <source>Color sub&amp;tree</source>
+        <comment>Edit menu</comment>
+        <translation>着色子树(&amp;T)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2553"/>
-        <source>Autosave</source>
-        <comment>Settings action</comment>
-        <translation>自动保存</translation>
+        <location line="+53"/>
+        <source>Hide link if object is not selected</source>
+        <comment>Branch attribute</comment>
+        <translation>当对象未选中时隐藏链接</translation>
     </message>
     <message>
-        <source>Autosave</source>
-        <translation type="obsolete">自动保存</translation>
+        <location line="+6"/>
+        <source>&amp;Use color of heading for link</source>
+        <comment>Branch attribute</comment>
+        <translation>让链接使用标题的颜色(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2559"/>
-        <source>Autosave time</source>
-        <comment>Settings action</comment>
-        <translation>自动保存时间</translation>
+        <location line="+89"/>
+        <source>reset Zoom</source>
+        <comment>View action</comment>
+        <translation>正常大小</translation>
     </message>
     <message>
-        <source>Autosave time</source>
-        <translation type="obsolete">自动保存时间</translation>
+        <location line="-37"/>
+        <source>Zoom in</source>
+        <comment>View action</comment>
+        <translation>放大</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2572"/>
-        <source>Write backup file on save</source>
-        <comment>Settings action</comment>
-        <translation>保存时备份</translation>
+        <location line="+9"/>
+        <source>Zoom out</source>
+        <comment>View action</comment>
+        <translation>缩小</translation>
     </message>
     <message>
-        <source>Write backup file on save</source>
-        <translation type="obsolete">保存时备份</translation>
+        <location line="+249"/>
+        <source>Use modifier to draw xLinks</source>
+        <comment>Mode modifier</comment>
+        <translation>使用修饰键绘制 xLinks</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2623"/>
-        <source>Animation</source>
+        <location line="+439"/>
+        <source>Set application to open pdf files</source>
         <comment>Settings action</comment>
-        <translation>动画</translation>
+        <translation>设置用于打开 pdf 文件的应用程序</translation>
     </message>
     <message>
-        <source>Animation</source>
-        <translation type="obsolete">动画</translation>
+        <location line="+7"/>
+        <source>Set application to open external links</source>
+        <comment>Settings action</comment>
+        <translation>设置用于打开外部链接的应用程序</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2680"/>
-        <source>Open VYM example maps </source>
-        <comment>Help action</comment>
-        <translation>æ\89\93å¼\80  VYM ç\9a\84ä¾\8bå­\90导å\9b¾</translation>
+        <location line="+67"/>
+        <source>Select branch after adding it</source>
+        <comment>Settings action</comment>
+        <translation>æ·»å\8a å\88\86æ\94¯å\90\8eé\80\89中该å\88\86æ\94¯</translation>
     </message>
     <message>
-        <source>Open VYM example maps </source>
-        <translation type="obsolete">打开  VYM 的例子导图</translation>
+        <location line="+9"/>
+        <source>Select existing heading</source>
+        <comment>Settings action</comment>
+        <translation>选中已存在的标题文本</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="2772"/>
-        <source>References (URLs, vymLinks, ...)</source>
-        <comment>Context menu name</comment>
-        <translation>引用 (URL, vym链接...)</translation>
+        <location line="+7"/>
+        <source>Exclusive flags</source>
+        <comment>Settings action</comment>
+        <translation>互斥标记</translation>
     </message>
     <message>
-        <source>&amp;%1 %2</source>
-        <translation type="obsolete">&amp;%1 %2</translation>
+        <location line="+7"/>
+        <source>Use hide flags</source>
+        <comment>Settings action</comment>
+        <translation>使用隐藏标记</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3563"/>
-        <source>Load Freemind map</source>
-        <translation>导入 Freemid 导图</translation>
+        <location line="+78"/>
+        <source>&amp;Help</source>
+        <comment>Help menubar entry</comment>
+        <translation>帮助(&amp;H)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3678"/>
-        <source>Export as CSV</source>
-        <translation>导出为 CSV</translation>
+        <location line="+3"/>
+        <source>Open VYM Documentation (pdf) </source>
+        <comment>Help action</comment>
+        <translation>打开 VYM 文档(pdf)    </translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5000"/>
-        <location filename="../mainwindow.cpp" line="5010"/>
-        <source>Set application to zip/unzip files</source>
+        <location line="+9"/>
+        <source>Download and show release notes</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5028"/>
-        <source>Directory with vym macros:</source>
-        <translation>vym宏的目录:</translation>
-    </message>
-    <message>
-        <source>QInputDialog::getInteger()</source>
-        <translation type="obsolete">QInputDialog::getInteger()</translation>
+        <location line="+4"/>
+        <source>Check, if updates are available</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5041"/>
-        <source>Number of undo/redo levels:</source>
-        <translation>撤消级别 :</translation>
+        <location line="+25"/>
+        <source>About VYM</source>
+        <comment>Help action</comment>
+        <translation>关于 VYM</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5046"/>
-        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
-        <translation>设置已更改。下一个导图将有 %1 个撤消级别</translation>
+        <location line="-4"/>
+        <source>About QT</source>
+        <comment>Help action</comment>
+        <translation>关于 QT</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5066"/>
-        <source>Number of seconds before autosave:</source>
-        <translation>自动保存的秒数:</translation>
+        <location line="+34"/>
+        <source>Remove</source>
+        <comment>Context menu name</comment>
+        <translation>删除</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5076"/>
-        <source>Set author for new maps (used in lockfile)</source>
-        <translation type="unfinished"></translation>
+        <location line="+61"/>
+        <source>Edit XLink</source>
+        <comment>Context menu name</comment>
+        <translation>编辑 XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5077"/>
-        <source>unknown user</source>
-        <comment>default name for map author in settings</comment>
-        <translation type="unfinished"></translation>
+        <location line="+11"/>
+        <source>Follow XLink</source>
+        <comment>Context menu name</comment>
+        <translation type="unfinished">跟随 XLink</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5088"/>
-        <source>Number of parents shown in find results:</source>
-        <translation type="unfinished"></translation>
+        <location line="+6"/>
+        <source>Save image</source>
+        <comment>Context action</comment>
+        <translation>保存图象</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5098"/>
-        <source>Number of parents shown for a task:</source>
-        <translation type="unfinished"></translation>
+        <location line="-2202"/>
+        <source>&amp;New map</source>
+        <comment>File menu</comment>
+        <translation>新建导图(&amp;N)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="3092"/>
-        <source>(readonly)</source>
-        <translation type="unfinished"></translation>
+        <location line="+9"/>
+        <source>&amp;Copy to new map</source>
+        <comment>File menu</comment>
+        <translation>复制到新导图(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5433"/>
-        <source>History for %1</source>
-        <comment>Window Caption</comment>
-        <translation>%1 的历史</translation>
+        <location line="+314"/>
+        <source>Add mapcenter</source>
+        <comment>Canvas context menu</comment>
+        <translation>添加图心</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5456"/>
-        <source>Export in last used format (%1) to: %2</source>
-        <comment>status tip</comment>
-        <translation type="unfinished"></translation>
+        <location line="+129"/>
+        <source>Sort children</source>
+        <comment>Edit menu</comment>
+        <translation>子分支排序</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5788"/>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
-        <translation>在:
-%2 中找不到%1 的文档 </translation>
+        <location line="+164"/>
+        <source>Edit local URL...</source>
+        <comment>Edit menu</comment>
+        <translation>编辑本地 URL...</translation>
     </message>
     <message>
-        <location filename="../mainwindow.cpp" line="5816"/>
-        <source>Load vym example map</source>
-        <translation>载入 vym 例子导图</translation>
+        <location line="+315"/>
+        <source>Property window</source>
+        <comment>Dialog to edit properties of selection</comment>
+        <translation>属性窗口</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="obsolete">在 %1 不能找到宏
-</translation>
+        <location line="+168"/>
+        <source>Linkstyle Curve</source>
+        <translation>曲线链接样式</translation>
     </message>
     <message>
-        <source>Set directory for vym macros</source>
-        <translation type="obsolete">设置宏目录</translation>
+        <location line="+14"/>
+        <source>Linkstyle Thick Curve</source>
+        <translation>粗曲线链接样式</translation>
     </message>
-</context>
-<context>
-    <name>MapEditor</name>
     <message>
-        <source>Critical Parse Error</source>
-        <translation type="obsolete">严重解析错误</translation>
+        <location line="+25"/>
+        <source>Set &amp;Link Color</source>
+        <translation>设置链接颜色(&amp;L)</translation>
     </message>
     <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">覆盖</translation>
+        <location line="+5"/>
+        <source>Set &amp;Selection Color</source>
+        <translation>设置选区颜色(&amp;S)</translation>
     </message>
     <message>
-        <source>Cancel</source>
-        <translation type="obsolete">取消</translation>
+        <location line="+10"/>
+        <source>Set &amp;Background image</source>
+        <translation>设置背景图像(&amp;B)</translation>
     </message>
     <message>
-        <source>Critical Export Error</source>
-        <translation type="obsolete">严重导出错误</translation>
+        <location line="+166"/>
+        <source>History Window</source>
+        <comment>View action</comment>
+        <translation>历史窗口</translation>
     </message>
     <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">严重错误</translation>
+        <location line="+14"/>
+        <source>Antialiasing</source>
+        <comment>View action</comment>
+        <translation>反锯齿</translation>
     </message>
     <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">请输入 URL:</translation>
+        <location line="+7"/>
+        <source>Smooth pixmap transformations</source>
+        <comment>View action</comment>
+        <translation>平滑位图变形</translation>
     </message>
     <message>
-        <source>vym map</source>
-        <translation type="obsolete">vym 导图</translation>
+        <location line="+10"/>
+        <source>Next Map</source>
+        <comment>View action</comment>
+        <translation>下一导图</translation>
     </message>
     <message>
-        <source>Images</source>
-        <translation type="obsolete">图象</translation>
+        <location line="+7"/>
+        <source>Previous Map</source>
+        <comment>View action</comment>
+        <translation>上一导图</translation>
     </message>
     <message>
-        <source>Critical Import Error</source>
-        <translation type="obsolete">严重导入错误</translation>
+        <location line="+153"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <source>Note</source>
+        <comment>SystemFlag</comment>
+        <translation>注解</translation>
     </message>
     <message>
-        <source>New Map</source>
-        <comment>Heading of mapcenter in new map</comment>
-        <translation type="obsolete">新建导图</translation>
+        <location line="+9"/>
+        <source>Link to another vym map</source>
+        <comment>SystemFlag</comment>
+        <translation>至另一 vym 导图的链接</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">文件 %1 已存在。
-您希望覆盖它吗?</translation>
+        <location line="+3"/>
+        <source>subtree is scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>子树已卷起</translation>
     </message>
     <message>
-        <source>MapEditor::exportXML couldn&apos;t open %1</source>
-        <translation type="obsolete">导图编辑器:导出 XML 无法打开 %1</translation>
+        <location line="+4"/>
+        <source>subtree is temporary scrolled</source>
+        <comment>SystemFlag</comment>
+        <translation>子树暂时卷起</translation>
     </message>
     <message>
-        <source>Cannot find the directory %1</source>
-        <translation type="obsolete">无法找到目录 %1</translation>
+        <location line="+3"/>
+        <source>Hide object in exported maps</source>
+        <comment>SystemFlag</comment>
+        <translation>导出时将被隐藏的对象</translation>
     </message>
     <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">至另一导图的链接</translation>
+        <location line="+42"/>
+        <source>I just love...</source>
+        <comment>Standardflag</comment>
+        <translation>我只是喜欢 ...</translation>
     </message>
     <message>
-        <source>Load image</source>
-        <translation type="obsolete">载入图象</translation>
+        <location line="+258"/>
+        <source>Settings</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose directory structure to import</source>
-        <translation type="obsolete">请选择要导入的目录结构</translation>
+        <location line="+5"/>
+        <source>Check for release notes and updates</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>unnamed</source>
-        <translation type="obsolete">未命名</translation>
+        <location line="+27"/>
+        <source>Set application to zip/unzip files</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>History for </source>
-        <translation type="obsolete">历史    </translation>
+        <location line="+22"/>
+        <source>Set path for macros</source>
+        <comment>Settings action</comment>
+        <translation>设置宏路径</translation>
     </message>
     <message>
-        <source>Save image</source>
-        <translation type="obsolete">保存图象</translation>
+        <location line="+4"/>
+        <source>Set number of undo levels</source>
+        <comment>Settings action</comment>
+        <translation>设置 undo 级</translation>
     </message>
     <message>
-        <source>Critical Parse Error while reading %1</source>
-        <translation type="obsolete">试图读取 %1 时发生严重解析错误</translation>
+        <location line="+7"/>
+        <source>Autosave</source>
+        <comment>Settings action</comment>
+        <translation>自动保存</translation>
     </message>
     <message>
-        <source>Could not read %1</source>
-        <translation type="obsolete">无法读取 %1</translation>
+        <location line="+6"/>
+        <source>Autosave time</source>
+        <comment>Settings action</comment>
+        <translation>自动保存时间</translation>
     </message>
     <message>
-        <source>Warning</source>
-        <translation type="obsolete">警告</translation>
+        <location line="+12"/>
+        <source>Write backup file on save</source>
+        <comment>Settings action</comment>
+        <translation>保存时备份</translation>
     </message>
     <message>
-        <source>Can&apos;t get color of heading,
-there&apos;s no branch selected</source>
-        <translation type="obsolete">无法取得标题颜色,
-未选中任何分支</translation>
+        <location line="+65"/>
+        <source>Animation</source>
+        <comment>Settings action</comment>
+        <translation>动画</translation>
     </message>
     <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">严重载入错误</translation>
+        <location line="+53"/>
+        <source>Open VYM example maps </source>
+        <comment>Help action</comment>
+        <translation>打开  VYM 的例子导图</translation>
     </message>
     <message>
-        <source>Couldn&apos;t create temporary directory before load
-</source>
-        <translation type="obsolete">无法在载入前创建临时目录
-</translation>
+        <location line="+102"/>
+        <source>References (URLs, vymLinks, ...)</source>
+        <comment>Context menu name</comment>
+        <translation>引用 (URL, vym链接...)</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">无法在 .vym 存档中找到导图(*.xml)。
-</translation>
+        <location line="+1159"/>
+        <source>Export as CSV</source>
+        <translation>导出为 CSV</translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">导图 %1
-未使用 vym 压缩文件格式。
-如果写入的话,图象与标记都会写入,这可能导致
-指定目录中的文件被覆盖。
-
-您希望写入导图吗</translation>
+        <location line="+1560"/>
+        <source>Number of undo/redo levels:</source>
+        <translation>撤消级别 :</translation>
     </message>
     <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">压缩(vym 默认)</translation>
+        <location line="+5"/>
+        <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
+        <translation>设置已更改。下一个导图将有 %1 个撤消级别</translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">未压缩</translation>
+        <location line="+40"/>
+        <source>Number of seconds before autosave:</source>
+        <translation>自动保存的秒数:</translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">保存错误</translation>
+        <location line="+11"/>
+        <source>Set author for new maps (used in lockfile)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1
-could not be removed before saving</source>
-        <translation type="obsolete">%1
-在保存时不能移除</translation>
+        <location line="+3"/>
+        <source>unknown user</source>
+        <comment>default name for map author in settings</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1
-could not be renamed before saving</source>
-        <translation type="obsolete">%1
-在保存时不能重命名</translation>
+        <location line="+42"/>
+        <source>Number of parents shown in find results:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t create temporary directory before save
-</source>
-        <translation type="obsolete">无法在保存前创建临时目录</translation>
+        <location line="+11"/>
+        <source>Number of parents shown for a task:</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export map as image</source>
-        <translation type="obsolete">将导图导出为图象</translation>
+        <location line="-2404"/>
+        <source>(readonly)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">导出 XML 至目录</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Autosave disabled during undo.</source>
-        <translation type="obsolete">在撤消时禁用自动保存。</translation>
+        <location line="+450"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Load background image</source>
-        <translation type="obsolete">载入背景图像</translation>
+        <location line="+81"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">文本</translation>
+        <location line="+693"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">至另一 vym 导图的链接</translation>
     </message>
     <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">电子表格</translation>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">文本文档</translation>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">图象</translation>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">设置到本地文档的 URL</translation>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>%1 items on map
-</source>
-        <comment>Info about map</comment>
-        <translation type="obsolete">在导图上的 %1 条目</translation>
+        <location line="+1419"/>
+        <source>History for %1</source>
+        <comment>Window Caption</comment>
+        <translation>%1 的历史</translation>
     </message>
     <message>
-        <source>The file of the map  on disk has changed:
-
-   %1
-
-Do you want to reload that map with the new file?</source>
-        <translation type="obsolete">在磁盘上的导图文件发生了更改:
-
-%1
-
-您想要从新文件中重新载入吗?</translation>
+        <location line="+23"/>
+        <source>Export in last used format (%1) to: %2</source>
+        <comment>status tip</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Reload</source>
-        <translation type="obsolete">重新载入</translation>
+        <location line="+441"/>
+        <source>Couldn&apos;t find the documentation %1 in:
+%2</source>
+        <translation>在:
+%2 中找不到%1 的文档 </translation>
     </message>
     <message>
-        <source>Ignore</source>
-        <translation type="obsolete">忽略</translation>
+        <location line="+31"/>
+        <source>Load vym example map</source>
+        <translation>载入 vym 例子导图</translation>
     </message>
+</context>
+<context>
+    <name>MapEditor</name>
     <message>
-        <location filename="../mapeditor.cpp" line="43"/>
+        <location filename="../src/mapeditor.cpp" line="+45"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="111"/>
-        <location filename="../mapeditor.cpp" line="116"/>
+        <location line="+80"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation type="unfinished">编辑标题</translation>
     </message>
     <message>
-        <source>Save</source>
+        <location line="+446"/>
+        <source>Print vym map</source>
         <comment>MapEditor</comment>
-        <translation type="obsolete">保存</translation>
-    </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">剪切(&amp;T)</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">复制(&amp;C)</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">撤销(&amp;U)</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">重做(&amp;R)</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">粘贴(&amp;P)</translation>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../mapeditor.cpp" line="510"/>
-        <source>Print vym map</source>
-        <comment>MapEditor</comment>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
-        <location filename="../noteeditor.cpp" line="13"/>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished">注解编辑器</translation>
     </message>
 </context>
-<context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">严重错误</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">无法启动 %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 未正常退出</translation>
-    </message>
-</context>
 <context>
     <name>QObject</name>
     <message>
-        <source>This is not an image.</source>
-        <translation type="obsolete">这不是图象。</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="235"/>
-        <location filename="../exports.cpp" line="381"/>
-        <location filename="../exports.cpp" line="511"/>
-        <location filename="../exports.cpp" line="954"/>
-        <location filename="../exports.cpp" line="1048"/>
-        <location filename="../exports.cpp" line="1128"/>
-        <location filename="../exports.cpp" line="1236"/>
-        <location filename="../exports.cpp" line="1308"/>
-        <location filename="../exports.cpp" line="1333"/>
-        <location filename="../exports.cpp" line="1343"/>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location filename="../src/export-ao.cpp" line="+14"/>
+        <source>Export as AO report</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>严重导出错误</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="956"/>
-        <location filename="../exports.cpp" line="1308"/>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation>无法写入 %1</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="147"/>
+        <location filename="../src/export-base.cpp" line="+124"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="146"/>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="503"/>
+        <location filename="../src/export-csv.cpp" line="-8"/>
         <source>Export as CSV</source>
         <translation type="unfinished">导出为 CSV</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="837"/>
+        <location filename="../src/export-confluence.cpp" line="-59"/>
+        <location filename="../src/export-html.cpp" line="-93"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="893"/>
+        <location filename="../src/export-html.cpp" line="+54"/>
         <source>Export aborted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Warning</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">警告</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">无法打开 %1</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">无法打开 %1</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="934"/>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="935"/>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="909"/>
-        <location filename="../exports.cpp" line="933"/>
-        <location filename="../exports.cpp" line="944"/>
+        <location line="-101"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="235"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
         <source>Could not export as AO to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="381"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
         <source>Could not export as ASCII to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="511"/>
+        <location filename="../src/export-csv.cpp" line="+9"/>
         <source>Could not export as CSV to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="910"/>
+        <location filename="../src/export-html.cpp" line="-367"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+190"/>
         <source>Could not find stylesheet %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="920"/>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation type="unfinished">错误</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="921"/>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -4173,230 +2985,194 @@ Do you want to reload that map with the new file?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="945"/>
-        <source>Could not copy %1 to %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="955"/>
+        <location filename="../src/export-confluence.cpp" line="+58"/>
+        <location filename="../src/export-html.cpp" line="+12"/>
         <source>Trying to save HTML file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="236"/>
-        <location filename="../exports.cpp" line="382"/>
-        <location filename="../exports.cpp" line="512"/>
-        <location filename="../exports.cpp" line="957"/>
-        <location filename="../exports.cpp" line="1049"/>
-        <location filename="../exports.cpp" line="1130"/>
-        <location filename="../exports.cpp" line="1309"/>
+        <location filename="../src/export-ao.cpp" line="+1"/>
+        <location filename="../src/export-ascii.cpp" line="+1"/>
+        <location filename="../src/export-csv.cpp" line="+1"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>导出失败。</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1048"/>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
         <source>Could not export as OrgMode to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1129"/>
+        <location filename="../src/export-latex.cpp" line="-1"/>
         <source>Could not export as LaTeX to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1189"/>
+        <location filename="../src/export-impress.cpp" line="-116"/>
         <source>Export as LibreOffice Impress presentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1236"/>
+        <location line="+42"/>
         <source>No objects in map!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1333"/>
+        <location line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1343"/>
+        <location line="+12"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>在 %2 中检查
 &quot;%1&quot;</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="1362"/>
-        <location filename="../exports.cpp" line="1369"/>
-        <location filename="../exports.cpp" line="1376"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>无法读取 %1</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="257"/>
-        <location filename="../file.cpp" line="272"/>
-        <location filename="../file.cpp" line="296"/>
-        <location filename="../file.cpp" line="305"/>
-        <location filename="../file.cpp" line="313"/>
-        <location filename="../file.cpp" line="323"/>
-        <location filename="../file.cpp" line="332"/>
-        <location filename="../file.cpp" line="340"/>
-        <location filename="../file.cpp" line="347"/>
-        <location filename="../file.cpp" line="356"/>
-        <location filename="../file.cpp" line="377"/>
-        <location filename="../file.cpp" line="400"/>
-        <location filename="../file.cpp" line="410"/>
-        <location filename="../file.cpp" line="423"/>
-        <location filename="../main.cpp" line="411"/>
-        <location filename="../xsltproc.cpp" line="78"/>
-        <location filename="../xsltproc.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>严重错误</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="258"/>
+        <location line="-200"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="273"/>
-        <location filename="../file.cpp" line="378"/>
-        <source>Couldn&apos;t start tool to decompress data.</source>
+        <location line="+22"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="297"/>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>无法启动 zip 以压缩数据。</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="306"/>
+        <location line="-50"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>zip 未正常退出</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="324"/>
+        <location line="+18"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="333"/>
+        <location line="+9"/>
         <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="341"/>
+        <location line="+10"/>
         <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="348"/>
+        <location line="+9"/>
         <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="357"/>
+        <location line="+13"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="401"/>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>无法启动 unzip 以解压数据。</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="411"/>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>unzip 未正常退出</translation>
+        <location line="+32"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="79"/>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation>无法启动 %1</translation>
     </message>
     <message>
-        <location filename="../xsltproc.cpp" line="85"/>
+        <location filename="../src/file.cpp" line="+11"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 未正常退出</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">文件 %1 已存在。您希望覆盖它吗?</translation>
-    </message>
-    <message>
-        <location filename="../file.cpp" line="90"/>
+        <location line="-389"/>
         <source>Overwrite</source>
         <translation>覆盖</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="91"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
     <message>
-        <source>Sorry, no preview for
-multiple selected files.</source>
-        <translation type="obsolete">对不起,无法预览
-多个选中文件。</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="560"/>
-        <location filename="../exports.cpp" line="590"/>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>导出 %1 书签将覆盖您现有的书签。</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="561"/>
-        <location filename="../exports.cpp" line="591"/>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>警告:正在覆盖 %1 书签</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="579"/>
-        <location filename="../macros.cpp" line="39"/>
-        <location filename="../main.cpp" line="377"/>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="580"/>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>无法找到脚本 %1
-以提醒浏览器书签已更改。</translation>
-    </message>
-    <message>
-        <location filename="../exports.cpp" line="56"/>
-        <location filename="../imports.cpp" line="18"/>
-        <location filename="../main.cpp" line="475"/>
-        <location filename="../scripteditor.cpp" line="77"/>
-        <location filename="../scripteditor.cpp" line="96"/>
+        <location filename="../src/export-base.cpp" line="-59"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation>错误</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="57"/>
-        <location filename="../imports.cpp" line="19"/>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation>无法访问临时目录
 </translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
-        <location filename="../exports.cpp" line="373"/>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation>导出为 ASCII</translation>
     </message>
     <message>
-        <location filename="../exports.cpp" line="223"/>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation>(仍处于试验阶段)</translation>
     </message>
     <message>
-        <location filename="../file.cpp" line="84"/>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -4404,356 +3180,330 @@ Do you risk to overwrite its contents?</source>
 您希望冒险覆盖其内容吗?</translation>
     </message>
     <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">不能打开 %1.
-</translation>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
+        <source>Warning: Version Problem</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3792"/>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+1"/>
+        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3797"/>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="3800"/>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
+</source>
+        <comment>Macros::pathExists</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">注解编辑器</translation>
+        <location line="+1"/>
+        <source>Please use Settings-&gt;</source>
+        <translation type="unfinished">请使用 &quot;设置&quot;-&gt;</translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="412"/>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
+        <location line="+1"/>
+        <source>Set directory for vym macros</source>
+        <translation type="unfinished">设置宏目录</translation>
+    </message>
+    <message>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../main.cpp" line="476"/>
-        <location filename="../scripteditor.cpp" line="78"/>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="80"/>
-        <source>Warning: Version Problem</source>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../xml-vym.cpp" line="81"/>
-        <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
+ </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="40"/>
-        <source>Couldn&apos;t find a macro at  %1.
-</source>
-        <translation type="unfinished">在 %1 不能找到宏
-</translation>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Please use Settings-&gt;</source>
-        <translation type="unfinished">请使用 &quot;设置&quot;-&gt;</translation>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../macros.cpp" line="41"/>
-        <source>Set directory for vym macros</source>
-        <translation type="unfinished">设置宏目录</translation>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="96"/>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
     <message>
-        <location filename="../scripteditor.ui" line="14"/>
-        <source>Form</source>
-        <translation type="unfinished">表单</translation>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="49"/>
-        <source>Tab 1</source>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="55"/>
-        <source>Save to selected slide</source>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="91"/>
-        <location filename="../scripteditor.ui" line="145"/>
-        <source>Run</source>
-        <translation type="unfinished">运行</translation>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="105"/>
-        <source>Tab 2</source>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="121"/>
-        <source>Current key:</source>
+        <location filename="../src/mainwindow.cpp" line="-3021"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
+</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.ui" line="131"/>
-        <source>Load</source>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
+    <message>
+        <source>Form</source>
+        <translation type="obsolete">表单</translation>
+    </message>
+    <message>
+        <source>Reload</source>
+        <translation type="obsolete">重新载入</translation>
+    </message>
+    <message>
+        <source>Save as</source>
+        <translation type="obsolete">另存为</translation>
+    </message>
+    <message>
+        <source>Run</source>
+        <translation type="obsolete">运行</translation>
+    </message>
     <message>
-        <location filename="../scripteditor.ui" line="138"/>
         <source>Save</source>
-        <translation type="unfinished">保存</translation>
+        <translation type="obsolete">保存</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="45"/>
+        <location line="-42"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="46"/>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="65"/>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation type="unfinished">保存</translation>
+        <location line="+1"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="111"/>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+31"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="117"/>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="143"/>
+        <location line="+34"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
         <source>Save script</source>
         <translation type="unfinished">保存脚本</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="155"/>
+        <location line="+9"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
         <comment>dialog &apos;save as&apos;</comment>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">文件 %1 已存在。
+您希望覆盖它吗?</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="160"/>
+        <location line="+5"/>
         <source>Overwrite</source>
         <translation type="unfinished">覆盖</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="161"/>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation type="unfinished">取消</translation>
     </message>
     <message>
-        <location filename="../scripteditor.cpp" line="184"/>
+        <location line="-58"/>
         <source>Load script</source>
         <translation type="unfinished">加载脚本</translation>
     </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="194"/>
-        <source>Error</source>
-        <translation type="unfinished">错误</translation>
-    </message>
-    <message>
-        <location filename="../scripteditor.cpp" line="195"/>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="unfinished">不能打开 %1.
-</translation>
-    </message>
 </context>
 <context>
     <name>ShowTextDialog</name>
     <message>
-        <location filename="../showtextdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation>对话框</translation>
+        <translation type="vanished">对话框</translation>
     </message>
     <message>
-        <location filename="../showtextdialog.ui" line="50"/>
         <source>Close</source>
-        <translation>关闭</translation>
+        <translation type="vanished">关闭</translation>
     </message>
 </context>
 <context>
-    <name>SimpleScriptEditor</name>
-    <message>
-        <source>Save script</source>
-        <translation type="obsolete">保存脚本</translation>
-    </message>
-    <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">文件 %1 
-已存在。
-您希望覆盖它吗?</translation>
-    </message>
-    <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">覆盖</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">取消</translation>
-    </message>
-    <message>
-        <source>Load script</source>
-        <translation type="obsolete">加载脚本</translation>
-    </message>
-    <message>
-        <source>Error</source>
-        <translation type="obsolete">错误</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open %1.
-</source>
-        <translation type="obsolete">不能打开 %1.
-</translation>
-    </message>
-    <message>
-        <source>Simple Script Editor</source>
-        <translation type="obsolete">简单脚本编辑器</translation>
-    </message>
-    <message>
-        <source>Save as</source>
-        <translation type="obsolete">另存为</translation>
-    </message>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">保存</translation>
-    </message>
-    <message>
-        <source>Qt::CTRL + Qt::Key_S</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_S</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <translation type="obsolete">打开</translation>
-    </message>
-    <message>
-        <source>Qt::CTRL +Qt::Key_O</source>
-        <translation type="obsolete">Qt::CTRL +Qt::Key_O</translation>
-    </message>
-    <message>
-        <source>Run</source>
-        <translation type="obsolete">运行</translation>
-    </message>
+    <name>TaskEditor</name>
     <message>
-        <source>Qt::CTRL + Qt::Key_R</source>
-        <translation type="obsolete">Qt::CTRL + Qt::Key_R</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">关闭</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TaskEditor</name>
     <message>
-        <location filename="../taskeditor.cpp" line="38"/>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="45"/>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="52"/>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskeditor.cpp" line="68"/>
-        <location filename="../taskeditor.cpp" line="73"/>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">编辑标题</translation>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
-        <location filename="../taskmodel.cpp" line="127"/>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="129"/>
+        <location line="+2"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="131"/>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="133"/>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="135"/>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="137"/>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../taskmodel.cpp" line="139"/>
+        <location line="+2"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
@@ -4762,348 +3512,257 @@ Do you want to overwrite it?</source>
 <context>
     <name>TextEditor</name>
     <message>
-        <location filename="../texteditor.cpp" line="273"/>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation>导入(&amp;I)...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="283"/>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>导出(&amp;E)...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="293"/>
+        <location line="+10"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>导出为(&amp;A)... (HTML)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="298"/>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>导出为(&amp;A)... (ASCII)</translation>
     </message>
     <message>
-        <source>Print Note</source>
-        <translation type="obsolete">打印注解</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="308"/>
+        <location line="+10"/>
         <source>&amp;Print...</source>
         <translation>打印(&amp;P)...</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">编辑(&amp;E)</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="332"/>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation>撤销(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="341"/>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>重做(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="351"/>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>选择并复制全部(&amp;A)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="359"/>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>复制(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="368"/>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>剪切(&amp;T)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="377"/>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>粘贴(&amp;P)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="316"/>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation>删除全部(&amp;D)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="271"/>
-        <location filename="../texteditor.cpp" line="325"/>
-        <location filename="../texteditor.cpp" line="389"/>
+        <location line="-45"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="329"/>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="390"/>
+        <location line="+62"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="396"/>
+        <location line="+6"/>
         <source>&amp;Font hint</source>
         <translation>字体微调(&amp;F)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="407"/>
+        <location line="+12"/>
         <source>&amp;Richtext</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="417"/>
+        <location line="+10"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="443"/>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="448"/>
+        <location line="+5"/>
         <source>&amp;Color...</source>
         <translation>颜色(&amp;C)...</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="454"/>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>粗体(&amp;B)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="464"/>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>斜体(&amp;I)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="474"/>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>下划线(&amp;U)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="512"/>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation>左对齐(&amp;L)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="518"/>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>居中(&amp;E)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="524"/>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>右对齐(&amp;R)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="530"/>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>两端对齐(&amp;J)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="540"/>
+        <location line="+10"/>
         <source>&amp;Settings</source>
         <translation>设置(&amp;S)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="543"/>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation>设置等宽字体(&amp;F)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="548"/>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>设置非等宽字体(&amp;V)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="553"/>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>默认使用等宽字体(&amp;F)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="704"/>
+        <location line="+198"/>
         <source>Export Note to single file</source>
         <translation>导出注解至文件</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="724"/>
-        <location filename="../texteditor.cpp" line="800"/>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>覆盖</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="725"/>
-        <location filename="../texteditor.cpp" line="801"/>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="785"/>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>导出注解至文件(ASCII)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="828"/>
+        <location line="+45"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation type="unfinished">打印</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="488"/>
+        <location line="-385"/>
         <source>Subs&amp;cript</source>
         <translation>下标(&amp;C)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="49"/>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
+        <location line="+10"/>
+        <source>Su&amp;perscript</source>
+        <translation>上标(&amp;P)</translation>
+    </message>
+    <message>
+        <location line="+65"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="498"/>
-        <source>Su&amp;perscript</source>
-        <translation>上标(&amp;P)</translation>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="566"/>
+        <location line="+10"/>
         <source>Note Editor</source>
         <translation>注解编辑器</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="392"/>
+        <location line="-186"/>
         <source>F&amp;ormat</source>
         <translation>格式(&amp;O)</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="326"/>
+        <location line="-67"/>
         <source>Edit Actions</source>
         <translation>编辑工具栏</translation>
     </message>
     <message>
-        <source>Format Actions</source>
-        <translation type="obsolete">格式工具栏</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="267"/>
+        <location line="-59"/>
         <source>Note Actions</source>
         <translation>注解</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="48"/>
+        <location line="-244"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation>就绪</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="174"/>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation>该注解无可用文件名</translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Window caption</comment>
-        <translation type="obsolete">注解编辑器</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="269"/>
+        <location line="+85"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation>注解(&amp;N)</translation>
     </message>
     <message>
-        <source>Import</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">导入</translation>
-    </message>
-    <message>
-        <source>Export Note (HTML)</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">导出注解(HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <comment>Status tip for Note Menu</comment>
-        <translation type="obsolete">导出注解为 (HTML)    </translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">导出注解为 (ASCII)   </translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">打印注解</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">撤销</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">重做</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">选择并复制全部</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">复制</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">剪切</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">粘贴</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">删除全部</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">切换全文字体微调状态</translation>
-    </message>
-    <message>
-        <source>Set fixed font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">设置等宽字体</translation>
-    </message>
-    <message>
-        <source>Set variable font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">设置非等宽字体</translation>
-    </message>
-    <message>
-        <source>Used fixed font by default</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">默认使用等宽字体</translation>
-    </message>
-    <message>
-        <location filename="../texteditor.cpp" line="719"/>
-        <location filename="../texteditor.cpp" line="795"/>
+        <location line="+494"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -5112,7 +3771,7 @@ Do you want to overwrite it?</source>
 您希望覆盖它吗?</translation>
     </message>
     <message>
-        <location filename="../texteditor.cpp" line="743"/>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation>无法导出注解        </translation>
@@ -5121,13 +3780,13 @@ Do you want to overwrite it?</source>
 <context>
     <name>TreeEditor</name>
     <message>
-        <location filename="../treeeditor.cpp" line="27"/>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../treeeditor.cpp" line="33"/>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
@@ -5136,189 +3795,178 @@ Do you want to overwrite it?</source>
 <context>
     <name>VymModel</name>
     <message>
-        <location filename="../vymmodel.cpp" line="126"/>
+        <location filename="../src/vymmodel.cpp" line="-3958"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="149"/>
+        <location line="+25"/>
         <source>unnamed</source>
         <translation type="unfinished">未命名</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="445"/>
-        <location filename="../vymmodel.cpp" line="481"/>
-        <location filename="../vymmodel.cpp" line="566"/>
-        <location filename="../vymmodel.cpp" line="622"/>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation type="unfinished">严重解析错误</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="501"/>
-        <location filename="../vymmodel.cpp" line="551"/>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation type="unfinished">严重载入错误</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="502"/>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation type="unfinished">无法在载入前创建临时目录
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="552"/>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation type="unfinished">无法在 .vym 存档中找到导图(*.xml)。
 </translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="980"/>
+        <location line="+122"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+325"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1003"/>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="671"/>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="unfinished">导图 %1
-未使用 vym 压缩文件格式。
-如果写入的话,图象与标记都会写入,这可能导致
-指定目录中的文件被覆盖。
-
-您希望写入导图吗</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="679"/>
+        <location line="-365"/>
         <source>compressed (vym default)</source>
         <translation type="unfinished">压缩(vym 默认)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="680"/>
-        <source>uncompressed</source>
-        <translation type="unfinished">未压缩</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="681"/>
-        <location filename="../vymmodel.cpp" line="864"/>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation type="unfinished">取消</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="710"/>
-        <location filename="../vymmodel.cpp" line="715"/>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation type="unfinished">保存错误</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="711"/>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation type="unfinished">%1
 在保存时不能移除</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="716"/>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation type="unfinished">%1
 在保存时不能重命名</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="728"/>
+        <location line="+13"/>
         <source>Critical Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="729"/>
+        <location line="+1"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation type="unfinished">无法在保存前创建临时目录</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
-        <location filename="../vymmodel.cpp" line="5783"/>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation type="unfinished">图象</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="787"/>
-        <location filename="../vymmodel.cpp" line="840"/>
+        <location line="-4276"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="792"/>
+        <location line="-56"/>
         <source>Load image</source>
         <translation type="unfinished">载入图象</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="844"/>
+        <location line="+59"/>
         <source>Save image</source>
         <translation type="unfinished">保存图象</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="856"/>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation type="unfinished">文件 %1 已存在。
 您希望覆盖它吗? {1 ?}</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="863"/>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation type="unfinished">覆盖</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <location filename="../vymmodel.cpp" line="880"/>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+13"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation type="unfinished">严重错误</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="878"/>
-        <source>Unsupported format in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="880"/>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+28"/>
         <source>Critical Import Error</source>
         <translation type="unfinished">严重导入错误</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="910"/>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation type="unfinished">无法找到目录 %1</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="962"/>
-        <location filename="../vymmodel.cpp" line="965"/>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation type="unfinished">请选择要导入的目录结构</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="999"/>
+        <location line="+55"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -5327,30 +3975,42 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1008"/>
+        <location line="+3052"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-3104"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1014"/>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1021"/>
+        <location line="+14"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1024"/>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1116"/>
+        <location line="+104"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -5363,146 +4023,93 @@ Do you want to reload that map with the new file?</source>
 您想要从新文件中重新载入吗?</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1123"/>
+        <location line="+8"/>
         <source>Reload</source>
         <translation type="unfinished">重新载入</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1124"/>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation type="unfinished">忽略</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1013"/>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <location filename="../vymmodel.cpp" line="5148"/>
+        <location line="-131"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="1239"/>
-        <source>Redo failed:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="1274"/>
+        <location line="-2684"/>
         <source>Autosave disabled during undo.</source>
         <translation type="unfinished">在撤消时禁用自动保存。</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2001"/>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation type="unfinished">注解</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="2725"/>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="2958"/>
+        <location line="+1026"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation type="unfinished">新建导图</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5148"/>
-        <source>Script aborted:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">请输入 URL:</translation>
-    </message>
-    <message>
-        <source>Text</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">文本</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">电子表格</translation>
-    </message>
-    <message>
-        <source>Textdocument</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">文本文档</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">图象</translation>
-    </message>
-    <message>
-        <source>Set URL to a local file</source>
-        <translation type="obsolete">设置到本地文档的 URL</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="3822"/>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">至另一导图的链接</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5185"/>
+        <location line="+1273"/>
         <source>Export map as image</source>
         <translation type="unfinished">将导图导出为图象</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5200"/>
+        <location line="+19"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5225"/>
+        <location line="+24"/>
         <source>Export map as PDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5280"/>
+        <location line="+55"/>
         <source>Export map as SVG</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5314"/>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5321"/>
+        <location line="+7"/>
         <source>Export XML to directory</source>
         <translation type="unfinished">导出 XML 至目录</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5367"/>
+        <location line="+47"/>
         <source>Critical Export Error</source>
         <translation type="unfinished">严重导出错误</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">导出为 LaTeX</translation>
-    </message>
-    <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="+84"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation type="unfinished">(仍处于试验阶段)</translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5449"/>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymmodel.cpp" line="5786"/>
+        <location line="-531"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+900"/>
         <source>Load background image</source>
         <translation type="unfinished">载入背景图像</translation>
     </message>
@@ -5510,18 +4117,18 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymProcess</name>
     <message>
-        <location filename="../vymprocess.cpp" line="43"/>
-        <location filename="../vymprocess.cpp" line="48"/>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation type="unfinished">严重错误</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="44"/>
+        <location line="-4"/>
         <source>Could not start %1</source>
         <translation type="unfinished">无法启动 %1</translation>
     </message>
     <message>
-        <location filename="../vymprocess.cpp" line="49"/>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished">%1 未正常退出</translation>
     </message>
@@ -5529,13 +4136,13 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>VymView</name>
     <message>
-        <location filename="../vymview.cpp" line="34"/>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../vymview.cpp" line="52"/>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
@@ -5544,39 +4151,79 @@ Do you want to reload that map with the new file?</source>
 <context>
     <name>WarningDialog</name>
     <message>
-        <source>VYM - Warning : Foo...</source>
-        <translation type="obsolete">VYM - 警告:Foo...</translation>
-    </message>
-    <message>
-        <location filename="../warningdialog.ui" line="14"/>
         <source>Dialog</source>
-        <translation type="unfinished">对话框</translation>
+        <translation type="obsolete">对话框</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="91"/>
         <source>showAgainBox</source>
-        <translation>再次提醒</translation>
+        <translation type="vanished">再次提醒</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="117"/>
-        <location filename="../warningdialog.cpp" line="45"/>
+        <location filename="../src/warningdialog.cpp" line="+51"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
     <message>
-        <location filename="../warningdialog.ui" line="124"/>
         <source>Ok</source>
-        <translation>确定</translation>
+        <translation type="vanished">确定</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="10"/>
+        <location line="-41"/>
         <source>Proceed</source>
         <translation>进行</translation>
     </message>
     <message>
-        <location filename="../warningdialog.cpp" line="12"/>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation>再次显示这条消息</translation>
     </message>
+    <message>
+        <location line="+4"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">警告</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">关闭</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 </TS>
index 04ef44598821395ca488ede2d95e11155f541406..ed2035eef75cfcd87a999773e3eab8eb1dd7b3f2 100644 (file)
@@ -1,23 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
-<TS version="2.1">
+<TS version="2.1" language="zh_TW">
 <context>
     <name>AboutDialog</name>
     <message>
-        <source>Ok</source>
-        <translation type="obsolete">確定</translation>
-    </message>
-    <message>
+        <location filename="../src/aboutdialog.cpp" line="+491"/>
         <source>Ok</source>
         <comment>Ok Button</comment>
         <translation type="unfinished">確定</translation>
     </message>
     <message>
+        <location line="-355"/>
         <source>Credits</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+350"/>
         <source>License</source>
         <comment>Help-&gt;About vym dialog</comment>
         <translation type="unfinished"></translation>
 <context>
     <name>AboutTextBrowser</name>
     <message>
+        <location line="+23"/>
         <source>Warning</source>
         <comment>About window</comment>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <comment>About window</comment>
         <translation type="unfinished">找不到檢視器以開啟 %1。</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Please use Settings-&gt;</source>
         <translation type="unfinished">請使用 設定值-&gt;</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Set application to open an URL...</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>BranchPropertyEditor</name>
-    <message>
-        <source>Branch Property Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Frame</source>
-        <translation type="unfinished"></translation>
-    </message>
+    <name>AttributeDialog</name>
     <message>
-        <source>Geometry</source>
-        <translation type="unfinished"></translation>
+        <source>Close</source>
+        <translation type="obsolete">關閉</translation>
     </message>
+</context>
+<context>
+    <name>BranchPropertyEditor</name>
     <message>
         <source>No Frame</source>
-        <translation type="unfinished">無圖框</translation>
+        <translation type="obsolete">無圖框</translation>
     </message>
     <message>
         <source>Rectangle</source>
-        <translation type="unfinished">矩形</translation>
-    </message>
-    <message>
-        <source>Rounded Rectangle</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Ellipse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Cloud</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">矩形</translation>
     </message>
     <message>
-        <source>Padding</source>
-        <translation type="unfinished"></translation>
+        <source>Include images horizontally</source>
+        <translation type="obsolete">水平地含入圖像</translation>
     </message>
     <message>
-        <source>Borderline width</source>
-        <translation type="unfinished"></translation>
+        <source>Include images vertically</source>
+        <translation type="obsolete">垂直地含入圖像</translation>
     </message>
     <message>
-        <source>Include children</source>
+        <location filename="../src/branchpropeditor.cpp" line="+21"/>
+        <source>Property Editor</source>
+        <comment>Window caption</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Colors</source>
+        <location line="+22"/>
+        <source>Name</source>
+        <comment>Branchprop window: Attribute name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Borderline color</source>
+        <location line="+3"/>
+        <source>Value</source>
+        <comment>Branchprop window: Attribute value</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Background color</source>
+        <location line="+3"/>
+        <source>Type</source>
+        <comment>Branchprop window: Attribute type</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Layout</source>
+        <location line="+128"/>
+        <location line="+6"/>
+        <source>%1 days ago</source>
+        <comment>task related times</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Include images horizontally</source>
-        <translation type="unfinished">水平地含入圖像</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <translation type="unfinished">垂直地含入圖像</translation>
-    </message>
-    <message>
-        <source>Link</source>
+        <location line="+12"/>
+        <source>sleeping %1 days</source>
+        <comment>task related times</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Hide link if unselected</source>
+        <location line="+3"/>
+        <source>Task is awake</source>
+        <comment>task related times</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceAgent</name>
     <message>
-        <source>Attributes</source>
-        <translation type="unfinished"></translation>
+        <location filename="../src/confluence-agent.cpp" line="+562"/>
+        <location line="+6"/>
+        <source>Warning</source>
+        <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <source>+</source>
+        <location line="-5"/>
+        <source>Authentication problem when contacting Confluence</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceSettingsDialog</name>
     <message>
-        <source>-</source>
+        <location filename="../src/confluence-settings-dialog.cpp" line="+12"/>
+        <source>Confluence settings</source>
+        <comment>Confluence settings dialog title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ConfluenceUserDialog</name>
     <message>
-        <source>Property Editor</source>
-        <comment>Window caption</comment>
+        <location filename="../src/confluence-userdialog.cpp" line="+13"/>
+        <source>Find Confluence user</source>
+        <comment>dialog window title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>DarkThemeSettingsDialog</name>
     <message>
-        <source>Free positioning of children (experimental!)</source>
+        <location filename="../src/darktheme-settings-dialog.cpp" line="+13"/>
+        <source>DarkThemeSettingsDialog dialog</source>
+        <comment>dialog window title</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>BranchPropertyWindow</name>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">無圖框</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">矩形</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">水平地含入圖像</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">垂直地含入圖像</translation>
-    </message>
+    <name>DefaultMapSettingsDialog</name>
     <message>
-        <source>Close</source>
-        <translation type="obsolete">關閉</translation>
+        <location filename="../src/default-map-settings-dialog.cpp" line="+58"/>
+        <source>Set vym default map to be loaded on startup</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>DownloadAgent</name>
     <message>
+        <location filename="../src/download-agent.cpp" line="+188"/>
+        <location line="+4"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <name>EditXLinkDialog</name>
     <message>
         <source>Edit XLink</source>
-        <translation>編輯 XLink</translation>
+        <translation type="vanished">編輯 XLink</translation>
     </message>
     <message>
         <source>XLink width:</source>
-        <translation>XLink 寬度:</translation>
-    </message>
-    <message>
-        <source>Set color of heading</source>
-        <translation type="obsolete">設定標頭的顏色</translation>
+        <translation type="vanished">XLink 寬度:</translation>
     </message>
     <message>
         <source>XLink color:</source>
-        <translation>XLink 顏色:</translation>
+        <translation type="vanished">XLink 顏色:</translation>
     </message>
     <message>
         <source>Use as default:</source>
-        <translation>做為預設:</translation>
-    </message>
-    <message>
-        <source>Delete XLink</source>
-        <translation type="obsolete">刪除 XLink</translation>
+        <translation type="vanished">做為預設:</translation>
     </message>
     <message>
-        <source>Ok</source>
-        <translation type="obsolete">確定</translation>
+        <source>Close</source>
+        <translation type="obsolete">關閉</translation>
     </message>
+</context>
+<context>
+    <name>ExportConfluenceDialog</name>
     <message>
-        <source>Use color of heading</source>
-        <translation type="unfinished"></translation>
+        <source>Options</source>
+        <translation type="obsolete">選項</translation>
     </message>
     <message>
-        <source>Line style:</source>
-        <extracomment>Linestyle in Edit XLink dialog</extracomment>
-        <translation type="unfinished"></translation>
+        <source>Colored headings in text</source>
+        <translation type="obsolete">文字中著色的標頭</translation>
     </message>
     <message>
-        <source>Arrow begin:</source>
-        <translation type="unfinished"></translation>
+        <source>Save settings in map</source>
+        <translation type="obsolete">在圖中儲存設定值</translation>
     </message>
     <message>
-        <source>Arrow end:</source>
-        <translation type="unfinished"></translation>
+        <source>Cancel</source>
+        <translation type="obsolete">取消</translation>
     </message>
     <message>
-        <source>Close</source>
-        <translation type="unfinished">關閉</translation>
+        <source>Export</source>
+        <translation type="obsolete">匯出</translation>
     </message>
 </context>
 <context>
     <name>ExportHTMLDialog</name>
-    <message>
-        <source>Export HTML</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source>Export to directory:</source>
-        <translation type="unfinished">匯出至目錄:</translation>
+        <translation type="obsolete">匯出至目錄:</translation>
     </message>
     <message>
         <source>Browse</source>
-        <translation type="unfinished">瀏覽</translation>
+        <translation type="obsolete">瀏覽</translation>
     </message>
     <message>
         <source>Options</source>
-        <translation type="unfinished">選項</translation>
-    </message>
-    <message>
-        <source>Include image</source>
-        <translation type="obsolete">包含圖像</translation>
+        <translation type="obsolete">選項</translation>
     </message>
     <message>
         <source>Colored headings in text</source>
-        <translation type="unfinished">文字中著色的標頭</translation>
+        <translation type="obsolete">文字中著色的標頭</translation>
     </message>
     <message>
         <source>Save settings in map</source>
-        <translation type="unfinished">在圖中儲存設定值</translation>
-    </message>
-    <message>
-        <source>show output of external scripts</source>
-        <translation type="obsolete">顯示外部命令稿的輸出</translation>
+        <translation type="obsolete">在圖中儲存設定值</translation>
     </message>
     <message>
         <source>Stylesheets</source>
-        <translation type="unfinished">樣式表</translation>
-    </message>
-    <message>
-        <source>CSS:</source>
-        <translation type="obsolete">CSS:</translation>
+        <translation type="obsolete">樣式表</translation>
     </message>
     <message>
         <source>Scripts</source>
-        <translation type="unfinished">命令稿</translation>
+        <translation type="obsolete">命令稿</translation>
     </message>
     <message>
         <source>After Export:</source>
-        <translation type="unfinished">匯出之後:</translation>
+        <translation type="obsolete">匯出之後:</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation type="unfinished">取消</translation>
+        <translation type="obsolete">取消</translation>
     </message>
     <message>
         <source>Export</source>
-        <translation type="unfinished">匯出</translation>
+        <translation type="obsolete">匯出</translation>
     </message>
     <message>
+        <location filename="../src/export-html-dialog.cpp" line="+130"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>The settings saved in the map would like to run script:
 
 %1
@@ -299,41 +279,10 @@ want to allow this in your system!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>VYM - Export HTML to directory</source>
         <translation type="unfinished">VYM - 匯出 HTML 到目錄</translation>
     </message>
-    <message>
-        <source>Image of map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Table of contents</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Task flags</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>General flags</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Number sections</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Copy CSS from </source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Use CSS from</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Include images</source>
-        <translation type="unfinished"></translation>
-    </message>
 </context>
 <context>
     <name>ExportXHTMLDialog</name>
@@ -365,14 +314,6 @@ want to allow this in your system!</source>
         <source>Cancel</source>
         <translation type="obsolete">取消</translation>
     </message>
-    <message>
-        <source>VYM - Export HTML to directory</source>
-        <translation type="obsolete">VYM - 匯出 HTML 到目錄</translation>
-    </message>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">嚴重錯誤</translation>
-    </message>
     <message>
         <source>Export to directory:</source>
         <translation type="obsolete">匯出至目錄:</translation>
@@ -381,10 +322,6 @@ want to allow this in your system!</source>
         <source>Colored headings in text</source>
         <translation type="obsolete">文字中著色的標頭</translation>
     </message>
-    <message>
-        <source>showWarnings e.g. if directory is not empty</source>
-        <translation type="obsolete">showWarnings 例如:如果目錄並非為空</translation>
-    </message>
     <message>
         <source>Stylesheets</source>
         <translation type="obsolete">樣式表</translation>
@@ -397,18 +334,6 @@ want to allow this in your system!</source>
         <source>XSL:</source>
         <translation type="obsolete">XSL:</translation>
     </message>
-    <message>
-        <source>VYM - Path to CSS file</source>
-        <translation type="obsolete">VYM - 到 CSS 檔案的路徑</translation>
-    </message>
-    <message>
-        <source>VYM - Path to XSL file</source>
-        <translation type="obsolete">VYM - 到 XSL 檔案的路徑</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <translation type="obsolete">警告</translation>
-    </message>
     <message>
         <source>Save settings in map</source>
         <translation type="obsolete">在圖中儲存設定值</translation>
@@ -425,183 +350,130 @@ want to allow this in your system!</source>
         <source>After Export:</source>
         <translation type="obsolete">匯出之後:</translation>
     </message>
-    <message>
-        <source>VYM - Path to pre export script</source>
-        <translation type="obsolete">VYM - 到匯出前命令稿的路徑</translation>
-    </message>
-    <message>
-        <source>VYM - Path to post export script</source>
-        <translation type="obsolete">VYM - 到匯出後命令稿的路徑</translation>
-    </message>
-    <message>
-        <source>The settings saved in the map would like to run scripts:
-
-%1
-
-Please check, if you really
-want to allow this in your system!</source>
-        <translation type="obsolete">在圖中儲存的設定值想要執行命令稿:
-
-%1
-
-請檢查一下,是否真的允許在您的系統中如此做!</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">無法開啟 %1</translation>
-    </message>
-    <message>
-        <source>Could not write %1</source>
-        <translation type="obsolete">無法寫入 %1</translation>
-    </message>
-    <message>
-        <source>Could not start %1</source>
-        <translation type="obsolete">無法開啟 %1</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 並未正常離開</translation>
-    </message>
 </context>
 <context>
     <name>ExtraInfoDialog</name>
     <message>
         <source>VYM - Info</source>
-        <translation>VYM - 資訊</translation>
+        <translation type="vanished">VYM - 資訊</translation>
     </message>
     <message>
         <source>Map:</source>
-        <translation>圖譜:</translation>
+        <translation type="vanished">圖譜:</translation>
     </message>
     <message>
         <source>Author:</source>
-        <translation>作者:</translation>
+        <translation type="vanished">作者:</translation>
     </message>
     <message>
         <source>Comment:</source>
-        <translation>註釋:</translation>
+        <translation type="vanished">註釋:</translation>
     </message>
     <message>
         <source>Statistics:</source>
-        <translation>統計:</translation>
+        <translation type="vanished">統計:</translation>
     </message>
     <message>
         <source>Cancel</source>
-        <translation>取消</translation>
+        <translation type="vanished">取消</translation>
     </message>
     <message>
         <source>Close</source>
-        <translation>關閉</translation>
-    </message>
-    <message>
-        <source>Title:</source>
-        <translation type="unfinished"></translation>
+        <translation type="vanished">關閉</translation>
     </message>
 </context>
 <context>
     <name>FindWidget</name>
     <message>
+        <location filename="../src/findwidget.cpp" line="+24"/>
         <source>Find:</source>
         <comment>FindWidget</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>FindWindow</name>
-    <message>
-        <source>Clear</source>
-        <translation type="obsolete">清空</translation>
-    </message>
-    <message>
-        <source>Cancel</source>
-        <translation type="obsolete">取消</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">尋找</translation>
-    </message>
-    <message>
-        <source>Find Text</source>
-        <translation type="obsolete">尋找文字</translation>
-    </message>
-</context>
-<context>
-    <name>Heading of mapcenter in new map</name>
-    <message>
-        <source>New map</source>
-        <translation type="obsolete">新圖譜</translation>
-    </message>
-</context>
 <context>
     <name>HeadingEditor</name>
     <message>
+        <location filename="../src/headingeditor.cpp" line="+9"/>
         <source>Heading Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>HistoryWindow</name>
-    <message>
-        <source>Dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
     <message>
         <source>Redo</source>
-        <translation type="unfinished">重做</translation>
-    </message>
-    <message>
-        <source>Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Comment</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">重做</translation>
     </message>
     <message>
         <source>Undo</source>
-        <translation type="unfinished">復原</translation>
-    </message>
-    <message>
-        <source>Close</source>
-        <translation type="unfinished">關閉</translation>
+        <translation type="obsolete">復原</translation>
     </message>
     <message>
+        <location filename="../src/historywindow.cpp" line="+16"/>
         <source>Action</source>
         <comment>Table with actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Comment</source>
         <comment>Table with actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Undo action</source>
         <comment>Table with actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+123"/>
         <source>Current state</source>
         <comment>Current bar in history hwindow</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>LineEditDialog</name>
+    <name>JiraAgent</name>
+    <message>
+        <location filename="../src/jira-agent.cpp" line="+247"/>
+        <source>Warning</source>
+        <translation type="unfinished">警告</translation>
+    </message>
     <message>
-        <source>Dialog</source>
+        <location line="+1"/>
+        <source>Authentication problem when contacting JIRA</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>JiraSettingsDialog</name>
+    <message>
+        <source>Add</source>
+        <translation type="obsolete">加入</translation>
+    </message>
+    <message>
+        <source>Remove</source>
+        <translation type="obsolete">移除</translation>
+    </message>
     <message>
-        <source>TextLabel</source>
+        <location filename="../src/jira-settings-dialog.cpp" line="+14"/>
+        <source>Jira settings</source>
+        <comment>Jira settings dialog title</comment>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>LineEditDialog</name>
     <message>
+        <location filename="../src/lineeditdialog.cpp" line="+16"/>
         <source>Cancel</source>
         <translation type="unfinished">取消</translation>
     </message>
     <message>
+        <location line="-7"/>
         <source>Ok</source>
         <translation type="unfinished">確定</translation>
     </message>
@@ -609,14 +481,12 @@ want to allow this in your system!</source>
 <context>
     <name>LockedFileDialog</name>
     <message>
-        <source>Dialog</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location filename="../src/lockedfiledialog.cpp" line="+7"/>
         <source>Delete lockfile</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-1"/>
         <source>Open readonly</source>
         <translation type="unfinished"></translation>
     </message>
@@ -624,683 +494,112 @@ want to allow this in your system!</source>
 <context>
     <name>Main</name>
     <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">檔案(&amp;F)</translation>
+        <location filename="../src/mainwindow.cpp" line="+2179"/>
+        <source>Linkstyle Line</source>
+        <translation>連結樣式 直線</translation>
     </message>
     <message>
-        <source>&amp;New...</source>
-        <translation type="obsolete">新增(&amp;N)…</translation>
+        <location line="+14"/>
+        <source>Linkstyle Thick Line</source>
+        <translation>連結樣式 粗線</translation>
     </message>
     <message>
-        <source>&amp;Open...</source>
-        <translation type="obsolete">開啟(&amp;O)…</translation>
+        <location line="+42"/>
+        <source>Set &amp;Background Color</source>
+        <translation>設定背景顏色(&amp;B)</translation>
     </message>
     <message>
-        <source>Save</source>
-        <translation type="obsolete">儲存</translation>
-    </message>
-    <message>
-        <source>&amp;Save...</source>
-        <translation type="obsolete">儲存(&amp;S)…</translation>
-    </message>
-    <message>
-        <source>Save &amp;As...</source>
-        <translation type="obsolete">另存新檔(&amp;A)…</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <translation type="obsolete">匯入目錄結構 (實驗性質)</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <translation type="obsolete">列印</translation>
-    </message>
-    <message>
-        <source>Close Map</source>
-        <translation type="obsolete">關閉圖譜</translation>
-    </message>
-    <message>
-        <source>&amp;Close Map</source>
-        <translation type="obsolete">關閉圖譜(&amp;C)</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <translation type="obsolete">編輯(&amp;E)</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">復原</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <translation type="obsolete">復原(&amp;U)</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <translation type="obsolete">複製</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <translation type="obsolete">複製(&amp;C)</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <translation type="obsolete">剪下</translation>
-    </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <translation type="obsolete">剪下(&amp;T)</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <translation type="obsolete">貼上</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <translation type="obsolete">貼上(&amp;P)</translation>
-    </message>
-    <message>
-        <source>Move branch up</source>
-        <translation type="obsolete">向上移動分支</translation>
-    </message>
-    <message>
-        <source>Move up</source>
-        <translation type="obsolete">向上移動</translation>
-    </message>
-    <message>
-        <source>Move branch down</source>
-        <translation type="obsolete">向下移動分支</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <translation type="obsolete">向下移動</translation>
-    </message>
-    <message>
-        <source>Scroll branch</source>
-        <translation type="obsolete">捲曲分支</translation>
-    </message>
-    <message>
-        <source>Unscroll all</source>
-        <translation type="obsolete">復原所有捲曲</translation>
-    </message>
-    <message>
-        <source>Unscroll all scrolled branches</source>
-        <translation type="obsolete">復原所有已捲曲的分支</translation>
-    </message>
-    <message>
-        <source>Find</source>
-        <translation type="obsolete">尋找</translation>
-    </message>
-    <message>
-        <source>Find...</source>
-        <translation type="obsolete">尋找…</translation>
-    </message>
-    <message>
-        <source>Open URL</source>
-        <translation type="obsolete">開啟 URL</translation>
-    </message>
-    <message>
-        <source>Edit URL</source>
-        <translation type="obsolete">編輯 URL</translation>
-    </message>
-    <message>
-        <source>Edit URL...</source>
-        <translation type="obsolete">編輯 URL…</translation>
-    </message>
-    <message>
-        <source>Use heading of selected branch as URL</source>
-        <translation type="obsolete">使用已選取分支的標頭做為 URL</translation>
-    </message>
-    <message>
-        <source>Use heading for URL</source>
-        <translation type="obsolete">使用標頭做為 URL</translation>
-    </message>
-    <message>
-        <source>Jump to another vym map, if needed load it first</source>
-        <translation type="obsolete">跳到另外的 vym 圖譜,如果有需要就先載入它</translation>
-    </message>
-    <message>
-        <source>Jump to map</source>
-        <translation type="obsolete">跳到圖譜</translation>
-    </message>
-    <message>
-        <source>Edit link to another vym map</source>
-        <translation type="obsolete">編輯到另外 vym 圖譜的連結</translation>
-    </message>
-    <message>
-        <source>edit Heading</source>
-        <translation type="obsolete">編輯標頭</translation>
-    </message>
-    <message>
-        <source>Edit heading</source>
-        <translation type="obsolete">編輯標頭</translation>
-    </message>
-    <message>
-        <source>Delete Selection</source>
-        <translation type="obsolete">刪除選擇</translation>
-    </message>
-    <message>
-        <source>Add a branch as child of selection</source>
-        <translation type="obsolete">加入分支做為所選子項</translation>
-    </message>
-    <message>
-        <source>Add branch as child</source>
-        <translation type="obsolete">加入分支做為子項</translation>
-    </message>
-    <message>
-        <source>Add a branch above selection</source>
-        <translation type="obsolete">在所選之上加入分支</translation>
-    </message>
-    <message>
-        <source>Add branch above</source>
-        <translation type="obsolete">在上方加入分支</translation>
-    </message>
-    <message>
-        <source>Add a branch below selection</source>
-        <translation type="obsolete">在所選之下加入分支</translation>
-    </message>
-    <message>
-        <source>Add branch below</source>
-        <translation type="obsolete">在下方加入分支</translation>
-    </message>
-    <message>
-        <source>Select upper branch</source>
-        <translation type="obsolete">選取上層分支</translation>
-    </message>
-    <message>
-        <source>Select lower branch</source>
-        <translation type="obsolete">選取下層分支</translation>
-    </message>
-    <message>
-        <source>Select left branch</source>
-        <translation type="obsolete">選取左側分支</translation>
-    </message>
-    <message>
-        <source>Select right branch</source>
-        <translation type="obsolete">選取右側分支</translation>
-    </message>
-    <message>
-        <source>Select child branch</source>
-        <translation type="obsolete">選取子分支</translation>
-    </message>
-    <message>
-        <source>Select first branch</source>
-        <translation type="obsolete">選取首項分支</translation>
-    </message>
-    <message>
-        <source>Select last branch</source>
-        <translation type="obsolete">選取末項分支</translation>
-    </message>
-    <message>
-        <source>Add Image</source>
-        <translation type="obsolete">加入圖像</translation>
-    </message>
-    <message>
-        <source>Set Color</source>
-        <translation type="obsolete">設定顏色</translation>
-    </message>
-    <message>
-        <source>Set &amp;Color</source>
-        <translation>設定顏色(&amp;C)</translation>
-    </message>
-    <message>
-        <source>Pick color
-Hint: You can pick a color from another branch and color using CTRL+Left Button</source>
-        <translation type="obsolete">揀取顏色
-提示:您可以使用 CTRL+Left 按鈕,從另外的分支和顏色去揀取顏色</translation>
-    </message>
-    <message>
-        <source>Pic&amp;k color</source>
-        <translation type="obsolete">揀取顏色(&amp;K)</translation>
-    </message>
-    <message>
-        <source>Color branch</source>
-        <translation type="obsolete">顏色分支</translation>
-    </message>
-    <message>
-        <source>Color &amp;branch</source>
-        <translation type="obsolete">顏色分支(&amp;B)</translation>
-    </message>
-    <message>
-        <source>Color Subtree</source>
-        <translation type="obsolete">顏色子樹</translation>
-    </message>
-    <message>
-        <source>Color sub&amp;tree</source>
-        <translation type="obsolete">顏色子樹(&amp;T)</translation>
-    </message>
-    <message>
-        <source>Line</source>
-        <translation type="obsolete">直線</translation>
-    </message>
-    <message>
-        <source>Linkstyle Line</source>
-        <translation>連結樣式 直線</translation>
-    </message>
-    <message>
-        <source>Linkstyle Parabel</source>
-        <translation type="obsolete">連結樣式 拋物線</translation>
-    </message>
-    <message>
-        <source>PolyLine</source>
-        <translation type="obsolete">多重直線</translation>
-    </message>
-    <message>
-        <source>Linkstyle Thick Line</source>
-        <translation>連結樣式 粗線</translation>
-    </message>
-    <message>
-        <source>PolyParabel</source>
-        <translation type="obsolete">多重拋物線</translation>
-    </message>
-    <message>
-        <source>Linkstyle Thick Parabel</source>
-        <translation type="obsolete">連結樣式 粗拋物線</translation>
-    </message>
-    <message>
-        <source>No Frame</source>
-        <translation type="obsolete">無圖框</translation>
-    </message>
-    <message>
-        <source>Rectangle</source>
-        <translation type="obsolete">矩形</translation>
-    </message>
-    <message>
-        <source>Use same color for links and headings</source>
-        <translation type="obsolete">使用相同顏色做為連結和標頭</translation>
-    </message>
-    <message>
-        <source>&amp;Use color of heading for link</source>
-        <translation type="obsolete">使用標頭的顏色做為連結(&amp;U)</translation>
-    </message>
-    <message>
-        <source>Set Link Color</source>
-        <translation type="obsolete">設定連結顏色</translation>
-    </message>
-    <message>
-        <source>Set &amp;Link Color...</source>
-        <translation type="obsolete">設定連結顏色(&amp;L)…</translation>
-    </message>
-    <message>
-        <source>Set Background Color</source>
-        <translation type="obsolete">設定背景顏色</translation>
-    </message>
-    <message>
-        <source>Set &amp;Background Color</source>
-        <translation>設定背景顏色(&amp;B)</translation>
-    </message>
-    <message>
-        <source>&amp;View</source>
-        <translation>檢視(&amp;V)</translation>
-    </message>
-    <message>
-        <source>Zoom reset</source>
-        <translation type="obsolete">重置縮放</translation>
-    </message>
-    <message>
-        <source>reset Zoom</source>
-        <translation type="obsolete">重置縮放</translation>
-    </message>
-    <message>
-        <source>Zoom in</source>
-        <translation type="obsolete">放大</translation>
-    </message>
-    <message>
-        <source>Zoom out</source>
-        <translation type="obsolete">縮小</translation>
-    </message>
-    <message>
-        <source>&amp;Next Window</source>
-        <translation type="obsolete">下一個視窗(&amp;N)</translation>
-    </message>
-    <message>
-        <source>Next Window</source>
-        <translation type="obsolete">下一個視窗</translation>
-    </message>
-    <message>
-        <source>&amp;Previous Window</source>
-        <translation type="obsolete">前一個視窗(&amp;P)</translation>
-    </message>
-    <message>
-        <source>Previous Window</source>
-        <translation type="obsolete">前一個視窗</translation>
-    </message>
-    <message>
-        <source>&amp;Settings</source>
-        <translation type="obsolete">設定值(&amp;S)</translation>
-    </message>
-    <message>
-        <source>Set application to open pdf files</source>
-        <translation type="obsolete">設定開啟 pdf 檔案的應用程式</translation>
+        <location line="+14"/>
+        <source>&amp;View</source>
+        <translation>檢視(&amp;V)</translation>
     </message>
     <message>
+        <location line="+2420"/>
+        <location line="+1260"/>
         <source>Set application to open an URL</source>
         <translation>設定開啟 URL 的應用程式</translation>
     </message>
     <message>
-        <source>Edit branch after adding it</source>
-        <translation type="obsolete">加入分支之後編輯它</translation>
-    </message>
-    <message>
-        <source>Select branch after adding it</source>
-        <translation type="obsolete">加入分支之後選取它</translation>
-    </message>
-    <message>
-        <source>Select heading before editing</source>
-        <translation type="obsolete">編輯標頭之前選取它</translation>
-    </message>
-    <message>
-        <source>Select existing heading</source>
-        <translation type="obsolete">選取現有標頭</translation>
-    </message>
-    <message>
-        <source>&amp;Test</source>
-        <translation type="obsolete">測試(&amp;T)</translation>
-    </message>
-    <message>
-        <source>test flag</source>
-        <translation type="obsolete">測試旗標</translation>
-    </message>
-    <message>
-        <source>&amp;Help</source>
-        <translation type="obsolete">求助(&amp;H)</translation>
-    </message>
-    <message>
-        <source>Open VYM Documentation (pdf)</source>
-        <translation type="obsolete">開啟 VYM 文件 (pdf)</translation>
-    </message>
-    <message>
-        <source>About VYM</source>
-        <translation type="obsolete">關於 VYM</translation>
-    </message>
-    <message>
-        <source>Information about QT toolkit</source>
-        <translation type="obsolete">關於 QT 工具組的資訊</translation>
-    </message>
-    <message>
-        <source>About QT</source>
-        <translation type="obsolete">關於 QT</translation>
-    </message>
-    <message>
-        <source>Save image</source>
-        <translation type="obsolete">儲存圖像</translation>
-    </message>
-    <message>
+        <location line="-1813"/>
         <source>Overwrite</source>
         <translation>覆寫</translation>
     </message>
     <message>
+        <location line="-337"/>
+        <location line="+73"/>
+        <location line="+265"/>
+        <location line="+93"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
     <message>
+        <location line="-138"/>
         <source>Couldn&apos;t save </source>
         <translation>無法儲存 </translation>
     </message>
     <message>
+        <location line="+488"/>
         <source>Save modified map before closing it</source>
         <translation>關閉已修改圖譜之前儲存它</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Discard changes</source>
         <translation>捨棄變更</translation>
     </message>
     <message>
-        <source>This map is not saved yet. Do you want to</source>
-        <translation type="obsolete">此圖譜尚未儲存。您想要</translation>
-    </message>
-    <message>
-        <source>Save map</source>
-        <translation type="obsolete">儲存圖譜</translation>
-    </message>
-    <message>
+        <location line="-854"/>
+        <location line="+395"/>
+        <location line="+46"/>
+        <location line="+9"/>
+        <location line="+73"/>
+        <location line="+8"/>
+        <location line="+649"/>
         <source>Critical Error</source>
         <translation>嚴重錯誤</translation>
     </message>
     <message>
-        <source>Save &amp;As</source>
-        <translation type="obsolete">另存新檔(&amp;A)</translation>
-    </message>
-    <message>
-        <source>Open Recent</source>
-        <translation type="obsolete">開啟最近使用</translation>
-    </message>
-    <message>
-        <source>Export</source>
-        <translation type="obsolete">匯出</translation>
-    </message>
-    <message>
-        <source>Edit Map Info</source>
-        <translation type="obsolete">編輯圖譜資訊</translation>
-    </message>
-    <message>
-        <source>Edit Map Info...</source>
-        <translation type="obsolete">編輯圖譜資訊…</translation>
-    </message>
-    <message>
+        <location line="-1109"/>
         <source>Open anyway</source>
         <translation>無論如何都開啟</translation>
     </message>
     <message>
-        <source>Export XML to directory</source>
-        <translation type="obsolete">匯出 XML 到目錄</translation>
-    </message>
-    <message>
+        <location line="+3218"/>
         <source>Critcal error</source>
         <translation>嚴重錯誤</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find the documentation
-vym.pdf in various places.</source>
-        <translation type="obsolete">在各處都找不到文件 vym.pdf。</translation>
-    </message>
-    <message>
+        <location line="-3145"/>
         <source>Create</source>
         <translation>建立</translation>
     </message>
     <message>
-        <source>Create URL to Bugzilla</source>
-        <translation type="obsolete">建立到 Bugzilla 的 URL</translation>
-    </message>
-    <message>
-        <source>Delete link to another vym map</source>
-        <translation type="obsolete">刪除到另外 vym 圖譜的連結</translation>
-    </message>
-    <message>
-        <source>Edit vym link</source>
-        <translation type="obsolete">編輯 vym 連結</translation>
-    </message>
-    <message>
-        <source>Edit vym link...</source>
-        <translation type="obsolete">編輯 vym 連結…</translation>
-    </message>
-    <message>
-        <source>Delete vym link</source>
-        <translation type="obsolete">刪除 vym 連結</translation>
-    </message>
-    <message>
-        <source>Critical Load Error</source>
-        <translation type="obsolete">嚴重的載入錯誤</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a map (*.xml) in .vym archive.
-</source>
-        <translation type="obsolete">在 .vym 檔案夾中找不到圖譜 (*.xml)。</translation>
-    </message>
-    <message>
+        <location line="+2121"/>
         <source>VYM -Information:</source>
         <translation>VYM - 資訊:</translation>
     </message>
     <message>
-        <source>compressed (vym default)</source>
-        <translation type="obsolete">已壓縮 (vym 預設)</translation>
-    </message>
-    <message>
-        <source>uncompressed</source>
-        <translation type="obsolete">未壓縮</translation>
-    </message>
-    <message>
-        <source>Add map at selection</source>
-        <translation type="obsolete">於所選處加入圖譜</translation>
-    </message>
-    <message>
-        <source>Replace selection with map</source>
-        <translation type="obsolete">以圖譜置換所選</translation>
-    </message>
-    <message>
-        <source>Save selection</source>
-        <translation type="obsolete">儲存所選</translation>
-    </message>
-    <message>
+        <location line="-2035"/>
         <source>Load vym map</source>
         <translation>載入 vym 圖譜</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Import: Add vym map to selection</source>
         <translation>匯入:加入 vym 圖譜到所選</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Import: Replace selection with vym map</source>
         <translation>匯入:以 vym 圖譜置換所選</translation>
     </message>
     <message>
-        <source>Save Error</source>
-        <translation type="obsolete">儲存錯誤</translation>
-    </message>
-    <message>
-        <source>
-could not be removed before saving</source>
-        <translation type="obsolete">儲存之前無法移除</translation>
-    </message>
-    <message>
-        <source>Use modifier to color branches</source>
-        <translation type="obsolete">於顏色分支使用修飾鍵</translation>
-    </message>
-    <message>
-        <source>New map</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">新圖譜</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">開啟</translation>
-    </message>
-    <message>
-        <source>File Actions</source>
-        <translation type="obsolete">檔案動作</translation>
-    </message>
-    <message>
-        <source>Edit Actions</source>
-        <translation type="obsolete">編輯動作</translation>
-    </message>
-    <message>
-        <source>View Actions</source>
-        <translation type="obsolete">檢視動作</translation>
-    </message>
-    <message>
-        <source>Modes when using modifiers</source>
-        <translation type="obsolete">使用修飾鍵時模式</translation>
-    </message>
-    <message>
-        <source>Standard Flags</source>
-        <translation type="obsolete">標準旗標</translation>
-    </message>
-    <message>
-        <source>Add a branch by inserting and making selection its child</source>
-        <translation type="obsolete">藉由插入加入分支並選擇它的子項</translation>
-    </message>
-    <message>
-        <source>Add branch (insert)</source>
-        <translation type="obsolete">加入分支 (插入)</translation>
-    </message>
-    <message>
-        <source>Remove only branch and keep its childs</source>
-        <translation type="obsolete">只移除分支並保持它的子項</translation>
-    </message>
-    <message>
-        <source>Remove only branch </source>
-        <translation type="obsolete">只移除分支 </translation>
-    </message>
-    <message>
-        <source>Remove childs of branch</source>
-        <translation type="obsolete">移除分支的子項</translation>
-    </message>
-    <message>
-        <source>Remove childs</source>
-        <translation type="obsolete">移除子項</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <translation type="obsolete">使用修飾鍵去複製</translation>
-    </message>
-    <message>
+        <location line="-749"/>
         <source>Add</source>
         <translation>加入</translation>
     </message>
     <message>
-        <source>Remove</source>
-        <translation type="obsolete">移除</translation>
-    </message>
-    <message>
-        <source>Edit XLink</source>
-        <translation type="obsolete">編輯 XLink</translation>
-    </message>
-    <message>
-        <source>Goto XLink</source>
-        <translation type="obsolete">前往 XLink</translation>
-    </message>
-    <message>
-        <source>No xLink available</source>
-        <translation type="obsolete">沒有可用的 xLink</translation>
-    </message>
-    <message>
-        <source>Use modifier to draw xLinks</source>
-        <translation type="obsolete">使用修飾鍵去繪製 xLinks</translation>
-    </message>
-    <message>
-        <source>Use exclusive flags in flag toolbars</source>
-        <translation type="obsolete">在旗標工具列中使用互斥旗標</translation>
-    </message>
-    <message>
-        <source>Set application to open external links</source>
-        <translation type="obsolete">設定開啟外部連結的應用程式</translation>
-    </message>
-    <message>
-        <source>Pasting into new branch</source>
-        <translation type="obsolete">貼入新分支中</translation>
-    </message>
-    <message>
-        <source>pasting into new branch</source>
-        <translation type="obsolete">貼入新分支中</translation>
-    </message>
-    <message>
-        <source>Delete key for deleting branches</source>
-        <translation type="obsolete">用於刪除分支的刪除鍵</translation>
-    </message>
-    <message>
-        <source>Delete key</source>
-        <translation type="obsolete">刪除鍵</translation>
-    </message>
-    <message>
-        <source>Exclusive flags</source>
-        <translation type="obsolete">互斥旗標</translation>
-    </message>
-    <message>
-        <source>The directory %1 is not empty.
-Do you risk to overwrite its contents?</source>
-        <translation type="obsolete">目錄 %1 並未清空。
-您要冒險覆寫它的內容嗎?</translation>
-    </message>
-    <message>
-        <source>The map %1
-is already opened.Opening the same map in multiple editors may lead
- to confusion when finishing working with vym.Do you want to</source>
-        <translation type="obsolete">圖譜 %1
-已經開啟。在多個編輯器中開啟相同圖譜,
-也許會在 vym 完成工作時造成困惑。您想要</translation>
-    </message>
-    <message>
+        <location line="+646"/>
         <source>This map does not exist:
   %1
 Do you want to create a new one?</source>
@@ -1309,1644 +608,1446 @@ Do you want to create a new one?</source>
 您要建立一個新的嗎?</translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="obsolete">圖譜 %1
-並未使用壓縮過的 vym 檔案格式。
-以未壓縮的方式寫入它將會寫入圖像和旗標,
-因而也許會覆寫給定目錄中的檔案。
-
-您要寫入圖譜</translation>
-    </message>
-    <message>
+        <location line="+224"/>
         <source>Saved  %1</source>
         <translation>已儲存  %1</translation>
     </message>
     <message>
+        <location line="+43"/>
+        <location line="+92"/>
         <source>The file %1
 exists already. Do you want to</source>
         <translation>檔案 %1
 已經存在。您想要</translation>
     </message>
     <message>
+        <location line="+351"/>
         <source>The map %1 has been modified but not saved yet. Do you want to</source>
         <translation>圖譜 %1 已被修改但尚未儲存。您想要</translation>
     </message>
     <message>
+        <location line="+334"/>
         <source>Couldn&apos;t open map %1</source>
         <translation>無法開啟圖譜 %1</translation>
     </message>
     <message>
-        <source>Set application to open pdf files  ...</source>
-        <translation type="obsolete">設定開啟 pdf 檔案的應用程式…</translation>
-    </message>
-    <message>
-        <source>Set application to open external links...</source>
-        <translation type="obsolete">設定開啟外部連結的應用程式…</translation>
-    </message>
-    <message>
-        <source>Exit</source>
-        <translation type="obsolete">離開</translation>
-    </message>
-    <message>
-        <source>E&amp;xit</source>
-        <translation type="obsolete">離開(&amp;X)</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <translation type="obsolete">重做</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <translation type="obsolete">重做(&amp;R)</translation>
-    </message>
-    <message>
-        <source>Create URL to FATE</source>
-        <translation type="obsolete">建立到 FATE 的 URL</translation>
-    </message>
-    <message>
-        <source>Include top and bottom position of images into branch</source>
-        <translation type="obsolete">在分支中含入圖像頂部和底部的位置</translation>
-    </message>
-    <message>
-        <source>Include images vertically</source>
-        <translation type="obsolete">垂直地含入圖像</translation>
-    </message>
-    <message>
-        <source>Include left and right position of images into branch</source>
-        <translation type="obsolete">在分支中含入圖像的左右位置</translation>
-    </message>
-    <message>
-        <source>Include images horizontally</source>
-        <translation type="obsolete">水平地含入圖像</translation>
-    </message>
-    <message>
-        <source>Hide link</source>
-        <translation type="obsolete">隱藏連結</translation>
-    </message>
-    <message>
-        <source>Hide link if object is not selected</source>
-        <translation type="obsolete">如果物件並未選取就隱藏連結</translation>
-    </message>
-    <message>
-        <source>Note</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">註記</translation>
-    </message>
-    <message>
-        <source>WWW Document (external)</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">WWW 文件 (外部)</translation>
-    </message>
-    <message>
-        <source>Link to another vym map</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">連結到另外的 vym 圖譜</translation>
-    </message>
-    <message>
-        <source>subtree is scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">子樹已捲曲</translation>
-    </message>
-    <message>
-        <source>subtree is temporary scrolled</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">子樹為暫時捲曲</translation>
-    </message>
-    <message>
+        <location line="-2216"/>
         <source>Take care!</source>
         <comment>Standardflag</comment>
-        <translation>注意!</translation>
-    </message>
-    <message>
-        <source>Really?</source>
-        <comment>Standardflag</comment>
-        <translation>真的?</translation>
-    </message>
-    <message>
-        <source>ok!</source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">確定!</translation>
+        <translation>注意!</translation>
     </message>
     <message>
-        <source>Not ok!</source>
+        <location line="+5"/>
+        <source>Really?</source>
         <comment>Standardflag</comment>
-        <translation type="obsolete">未定!</translation>
+        <translation>真的?</translation>
     </message>
     <message>
+        <location line="-24"/>
         <source>This won&apos;t work!</source>
         <comment>Standardflag</comment>
         <translation>這不可行!</translation>
     </message>
     <message>
+        <location line="+38"/>
         <source>Good</source>
         <comment>Standardflag</comment>
         <translation>良好</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Bad</source>
         <comment>Standardflag</comment>
         <translation>不好</translation>
     </message>
     <message>
+        <location line="+48"/>
         <source>Time critical</source>
         <comment>Standardflag</comment>
         <translation>關鍵時間</translation>
     </message>
     <message>
+        <location line="-58"/>
         <source>Idea!</source>
         <comment>Standardflag</comment>
         <translation>點子!</translation>
     </message>
     <message>
+        <location line="+25"/>
         <source>Important</source>
         <comment>Standardflag</comment>
         <translation>重要</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Unimportant</source>
         <comment>Standardflag</comment>
         <translation>不重要</translation>
     </message>
     <message>
+        <location line="+15"/>
         <source>I like this</source>
         <comment>Standardflag</comment>
         <translation>我喜歡</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>I do not like this</source>
         <comment>Standardflag</comment>
         <translation>我不喜歡</translation>
     </message>
     <message>
-        <source>I just love... </source>
-        <comment>Standardflag</comment>
-        <translation type="obsolete">我就是喜愛…</translation>
-    </message>
-    <message>
+        <location line="-26"/>
         <source>Dangerous</source>
         <comment>Standardflag</comment>
         <translation>危險</translation>
     </message>
     <message>
+        <location line="+30"/>
         <source>This will help</source>
         <comment>Standardflag</comment>
         <translation>會有用處</translation>
     </message>
     <message>
-        <source>Call test function</source>
-        <translation type="obsolete">呼叫測試功能</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t save %1</source>
-        <translation type="unfinished">無法儲存 %1</translation>
-    </message>
-    <message>
+        <location line="+1554"/>
+        <location line="+54"/>
+        <location line="+1"/>
         <source>Import</source>
         <translation>匯入</translation>
     </message>
     <message>
-        <source>KDE Bookmarks</source>
-        <translation type="obsolete">KDE 書籤</translation>
-    </message>
-    <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <translation type="obsolete">匯出例如在 OpenOffice.org 使用的開放文件格式</translation>
-    </message>
-    <message>
-        <source>Export as ASCII</source>
-        <translation type="obsolete">匯出為 ASCII</translation>
-    </message>
-    <message>
+        <location line="-3186"/>
+        <location line="+22"/>
+        <location line="+8"/>
+        <location line="+13"/>
+        <location line="+7"/>
+        <location line="+36"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+5"/>
+        <location line="+999"/>
+        <location line="+2149"/>
+        <location line="+105"/>
         <source>(still experimental)</source>
         <translation>(仍然是實驗性質)</translation>
     </message>
     <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">匯出為 LaTeX</translation>
-    </message>
-    <message>
+        <location line="-3237"/>
         <source>&amp;Print</source>
         <translation>列印(&amp;P)</translation>
     </message>
     <message>
-        <source>Add map (insert)</source>
-        <translation type="obsolete">加入圖譜 (插入)</translation>
-    </message>
-    <message>
-        <source>Add map (replace)</source>
-        <translation type="obsolete">加入圖譜 (置換)</translation>
-    </message>
-    <message>
-        <source>Export as</source>
-        <translation type="obsolete">匯出為</translation>
-    </message>
-    <message>
+        <location line="+3168"/>
+        <location line="+68"/>
         <source>Export to</source>
         <translation>匯出至</translation>
     </message>
     <message>
-        <source>Hide object in exports</source>
-        <translation type="obsolete">在匯出中隱藏物件</translation>
-    </message>
-    <message>
-        <source>Hide in exports</source>
-        <translation type="obsolete">隱藏在匯出中</translation>
-    </message>
-    <message>
-        <source>Hide object in exported maps</source>
-        <comment>Systemflag</comment>
-        <translation type="obsolete">在匯出的圖譜中隱藏物件</translation>
-    </message>
-    <message>
-        <source>Use hide flag during exports </source>
-        <translation type="obsolete">在匯出期間使用隱藏旗標 </translation>
-    </message>
-    <message>
-        <source>Use hide flags</source>
-        <translation type="obsolete">使用隱藏旗標</translation>
-    </message>
-    <message>
-        <source>Open URL in new tab</source>
-        <translation type="obsolete">在新頁標中開啟 URL</translation>
-    </message>
-    <message>
+        <location line="-318"/>
+        <location line="+270"/>
+        <location line="+201"/>
+        <location line="+392"/>
+        <location line="+1053"/>
+        <location line="+20"/>
+        <location line="+880"/>
+        <location line="+206"/>
+        <location line="+183"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
+        <location line="-2733"/>
+        <location line="+2345"/>
         <source>Couldn&apos;t find a viewer to open %1.
 </source>
         <translation>找不到檢視器以開啟 %1。</translation>
     </message>
     <message>
+        <location line="-2344"/>
+        <location line="+2345"/>
         <source>Please use Settings-&gt;</source>
         <translation>請使用 設定值-&gt;</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start %1 to open a new tab in %2.</source>
-        <translation>無法啟動 %1 以在 %2 中開啟新的頁標。</translation>
-    </message>
-    <message>
+        <location line="-1096"/>
+        <location line="+1097"/>
         <source>Set application to open PDF files</source>
         <translation>設定開啟 PDF 檔案的應用程式</translation>
     </message>
     <message>
+        <location line="-4311"/>
         <source>Oh no!</source>
         <comment>Standardflag</comment>
         <translation>噢,不要!</translation>
     </message>
     <message>
+        <location line="+37"/>
         <source>Call...</source>
         <comment>Standardflag</comment>
         <translation>呼叫…</translation>
     </message>
     <message>
+        <location line="-20"/>
         <source>Very important!</source>
         <comment>Standardflag</comment>
         <translation>很重要!</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Very unimportant!</source>
         <comment>Standardflag</comment>
         <translation>很不重要!</translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Rose</source>
         <comment>Standardflag</comment>
         <translation>玫瑰</translation>
     </message>
     <message>
+        <location line="-3"/>
         <source>Surprise!</source>
         <comment>Standardflag</comment>
         <translation>驚喜!</translation>
     </message>
     <message>
+        <location line="-64"/>
         <source>Info</source>
         <comment>Standardflag</comment>
         <translation>資訊</translation>
     </message>
     <message>
+        <location line="+1605"/>
         <source>Firefox Bookmarks</source>
-        <translation type="obsolete">Firefox 書籤</translation>
-    </message>
-    <message>
-        <source>F&amp;ormat</source>
-        <translation type="obsolete">格式(&amp;O)</translation>
-    </message>
-    <message>
-        <source>Show Note Editor</source>
-        <translation type="obsolete">顯示註記編輯器</translation>
-    </message>
-    <message>
-        <source>Show history window</source>
-        <translation type="obsolete">顯示歷史視窗</translation>
-    </message>
-    <message>
-        <source>Bookmarks</source>
-        <translation>書籤</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t start %1 to open a new tab</source>
-        <translation type="obsolete">無法啟動 %1 去開啟新的頁標</translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find configuration for export to Open Office
-</source>
-        <translation type="vanished">找不到用於匯出至 OpenOffice.org 的配置</translation>
-    </message>
-    <message>
-        <source>No matches found for &quot;%1&quot;</source>
-        <translation type="obsolete">找不到與「%1」相符者</translation>
-    </message>
-    <message>
-        <source>Note Editor</source>
-        <translation type="unfinished">註記編輯器</translation>
-    </message>
-    <message>
-        <source>Heading Editor</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Firefox 書籤</translation>
     </message>
     <message>
+        <location line="-3998"/>
         <source>Search results list</source>
         <comment>FindResultWidget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+3108"/>
         <source>File actions toolbar</source>
         <comment>Toolbar for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-2310"/>
         <source>&amp;New map</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New map</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">新圖譜</translation>
-    </message>
-    <message>
+        <location line="+9"/>
         <source>&amp;Copy to new map</source>
         <comment>File menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>&amp;Open...</source>
         <comment>File menu</comment>
         <translation type="unfinished">開啟(&amp;O)…</translation>
     </message>
     <message>
-        <source>Open</source>
-        <comment>Status tip File menu</comment>
-        <translation type="obsolete">開啟</translation>
-    </message>
-    <message>
+        <location line="+16"/>
         <source>Open Recent</source>
         <comment>File menu</comment>
         <translation type="unfinished">開啟最近使用</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>&amp;Save...</source>
         <comment>File menu</comment>
         <translation type="unfinished">儲存(&amp;S)…</translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">儲存</translation>
-    </message>
-    <message>
+        <location line="+9"/>
         <source>Save &amp;As...</source>
         <comment>File menu</comment>
         <translation type="unfinished">另存新檔(&amp;A)…</translation>
     </message>
     <message>
-        <source>Save &amp;As</source>
-        <comment>Status tip file menu</comment>
-        <translation type="obsolete">另存新檔(&amp;A)</translation>
-    </message>
-    <message>
+        <location line="+11"/>
         <source>Import</source>
         <comment>File menu</comment>
         <translation type="unfinished">匯入</translation>
     </message>
     <message>
-        <source>Firefox Bookmarks</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">Firefox 書籤</translation>
-    </message>
-    <message>
-        <source>Import directory structure (experimental)</source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">匯入目錄結構 (實驗性質)</translation>
-    </message>
-    <message>
+        <location line="+23"/>
         <source>Export</source>
         <comment>File menu</comment>
         <translation type="unfinished">匯出</translation>
     </message>
     <message>
+        <location line="+56"/>
         <source>Image%1</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export in Open Document Format used e.g. in Open Office </source>
-        <comment>status tip file menu</comment>
-        <translation type="obsolete">匯出例如在 OpenOffice.org 使用的開放文件格式</translation>
-    </message>
-    <message>
-        <source>Print</source>
-        <comment>File menu</comment>
-        <translation type="obsolete">列印</translation>
-    </message>
-    <message>
+        <location line="+65"/>
         <source>&amp;Close Map</source>
         <comment>File menu</comment>
         <translation type="unfinished">關閉圖譜(&amp;C)</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>E&amp;xit</source>
         <comment>File menu</comment>
         <translation type="unfinished">離開(&amp;X)</translation>
     </message>
     <message>
+        <location line="+2123"/>
         <source>Edit actions toolbar</source>
         <comment>Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">編輯(&amp;E)</translation>
-    </message>
-    <message>
+        <location line="-2097"/>
         <source>&amp;Undo</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">復原(&amp;U)</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>&amp;Redo</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">重做(&amp;R)</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>&amp;Copy</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">複製(&amp;C)</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Cu&amp;t</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">剪下(&amp;T)</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>&amp;Paste</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">貼上(&amp;P)</translation>
     </message>
     <message>
+        <location line="+13"/>
+        <location line="+10"/>
         <source>Delete Selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">刪除選擇</translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Add attribute</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Add mapcenter</source>
         <comment>Canvas context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Add branch as child</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">加入分支做為子項</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Add branch (insert)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">加入分支 (插入)</translation>
     </message>
     <message>
+        <location line="+10"/>
+        <location line="+10"/>
         <source>Add branch above</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">在上方加入分支</translation>
     </message>
     <message>
+        <location line="+10"/>
+        <location line="+9"/>
         <source>Add branch below</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">在下方加入分支</translation>
     </message>
     <message>
-        <source>Move up</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">向上移動</translation>
-    </message>
-    <message>
-        <source>Move down</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">向下移動</translation>
-    </message>
-    <message>
+        <location line="+61"/>
         <source>&amp;Detach</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Detach branch and use as mapcenter</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Sort children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Sort children backwards</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Scroll branch</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">捲曲分支</translation>
     </message>
     <message>
+        <location line="+71"/>
         <source>Expand all branches</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Expand one level</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-33"/>
         <source>Collapse one level</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Collapse unselected levels</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-47"/>
         <source>Unscroll children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+532"/>
+        <location line="+8"/>
         <source>Find...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">尋找…</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Find duplicate URLs</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-469"/>
         <source>Open URL</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">開啟 URL</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Open URL in new tab</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">在新頁標中開啟 URL</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Open all URLs in subtree (including scrolled branches)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Open all URLs in subtree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+17"/>
         <source>Edit URL...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">編輯 URL…</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Edit local URL...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Use heading for URL</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">使用標頭做為 URL</translation>
     </message>
     <message>
+        <location line="+33"/>
         <source>Open linked map</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+17"/>
         <source>Open all vym links in subtree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Edit vym link...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">編輯 vym 連結…</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Delete vym link</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">刪除 vym 連結</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Hide in exports</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">隱藏在匯出中</translation>
     </message>
     <message>
+        <location line="+203"/>
         <source>Add timestamp</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit Map Info...</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">編輯圖譜資訊…</translation>
-    </message>
-    <message>
+        <location line="-45"/>
         <source>Add map (insert)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">加入圖譜 (插入)</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Add map (replace)</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">加入圖譜 (置換)</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Save selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">儲存所選</translation>
     </message>
     <message>
-        <source>Remove only branch </source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">只移除分支 </translation>
-    </message>
-    <message>
+        <location line="+20"/>
         <source>Remove children</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+37"/>
         <source>Property window</source>
         <comment>Dialog to edit properties of selection</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+112"/>
         <source>F&amp;ormat</source>
         <comment>Format menu</comment>
         <translation type="unfinished">格式(&amp;O)</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Pic&amp;k color</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">揀取顏色(&amp;K)</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Color &amp;branch</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">顏色分支(&amp;B)</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Color sub&amp;tree</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">顏色子樹(&amp;T)</translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>Linkstyle Curve</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Linkstyle Thick Curve</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Hide link if object is not selected</source>
         <comment>Branch attribute</comment>
         <translation type="unfinished">如果物件並未選取就隱藏連結</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&amp;Use color of heading for link</source>
         <comment>Branch attribute</comment>
         <translation type="unfinished">使用標頭的顏色做為連結(&amp;U)</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Set &amp;Link Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Set &amp;Selection Color</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Set &amp;Background image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Zoom toolbar</source>
-        <comment>View Toolbar name</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+28"/>
         <source>Zoom in</source>
         <comment>View action</comment>
         <translation type="unfinished">放大</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Zoom out</source>
         <comment>View action</comment>
         <translation type="unfinished">縮小</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>reset Zoom</source>
         <comment>View action</comment>
         <translation type="unfinished">重置縮放</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Center on selection</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1195"/>
         <source>Editors toolbar</source>
         <comment>Editor Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Show Note Editor</source>
-        <comment>View action</comment>
-        <translation type="obsolete">顯示註記編輯器</translation>
-    </message>
-    <message>
+        <location line="-1103"/>
         <source>History Window</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Antialiasing</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Smooth pixmap transformations</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Next Map</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Previous Map</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1077"/>
         <source>Modifier modes toolbar</source>
         <comment>Modifier Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Use modifier to color branches</source>
-        <comment>Mode modifier</comment>
-        <translation type="unfinished">於顏色分支使用修飾鍵</translation>
-    </message>
-    <message>
-        <source>Use modifier to copy</source>
-        <comment>Mode modifier</comment>
-        <translation type="obsolete">使用修飾鍵去複製</translation>
-    </message>
-    <message>
+        <location line="-995"/>
         <source>Use modifier to draw xLinks</source>
         <comment>Mode modifier</comment>
         <translation type="unfinished">使用修飾鍵去繪製 xLinks</translation>
     </message>
     <message>
+        <location line="+71"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
+        <location line="+4"/>
+        <location line="+5"/>
+        <location line="+4"/>
         <source>Note</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished">註記</translation>
     </message>
     <message>
-        <source>URL to Document </source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>URL to Bugzilla </source>
-        <comment>SystemFlag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+9"/>
         <source>Link to another vym map</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished">連結到另外的 vym 圖譜</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>subtree is scrolled</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished">子樹已捲曲</translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>subtree is temporary scrolled</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished">子樹為暫時捲曲</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Hide object in exported maps</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished">在匯出的圖譜中隱藏物件</translation>
     </message>
     <message>
+        <location line="+886"/>
         <source>Standard Flags toolbar</source>
         <comment>Standard Flag Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-874"/>
         <source>Status - ok,done</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Status - work in progress</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Status - missing, not started</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>I just love...</source>
         <comment>Standardflag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Important</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">重要</translation>
-    </message>
-    <message>
-        <source>Priority</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Back</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>forward</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Look here</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Dangerous</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished">危險</translation>
-    </message>
-    <message>
-        <source>Don&apos;t flagrget</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Flag</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Home</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Telephone</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Music</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Mailbox</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Maix</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Password</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>To be improved</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Stop</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Magic</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>To be discussed</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Reminder</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Excellent</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Linux</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Sweet</source>
-        <comment>Freemind-Flag</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+277"/>
         <source>Set application to open pdf files</source>
         <comment>Settings action</comment>
         <translation type="unfinished">設定開啟 pdf 檔案的應用程式</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Set application to open external links</source>
         <comment>Settings action</comment>
         <translation type="unfinished">設定開啟外部連結的應用程式</translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>Set path for macros</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Set number of undo levels</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Autosave</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Autosave time</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>Write backup file on save</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit branch after adding it</source>
-        <comment>Settings action</comment>
-        <translation type="unfinished">加入分支之後編輯它</translation>
-    </message>
-    <message>
+        <location line="+10"/>
         <source>Select branch after adding it</source>
         <comment>Settings action</comment>
         <translation type="unfinished">加入分支之後選取它</translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Select existing heading</source>
         <comment>Settings action</comment>
         <translation type="unfinished">選取現有標頭</translation>
     </message>
     <message>
-        <source>Delete key</source>
-        <comment>Settings action</comment>
-        <translation type="obsolete">刪除鍵</translation>
-    </message>
-    <message>
+        <location line="+7"/>
         <source>Exclusive flags</source>
         <comment>Settings action</comment>
         <translation type="unfinished">互斥旗標</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Use hide flags</source>
         <comment>Settings action</comment>
         <translation type="unfinished">使用隱藏旗標</translation>
     </message>
     <message>
+        <location line="+32"/>
         <source>Animation</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Automatic layout</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Test</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>&amp;Help</source>
         <comment>Help menubar entry</comment>
         <translation type="unfinished">求助(&amp;H)</translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Open VYM Documentation (pdf) </source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Open VYM example maps </source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+34"/>
         <source>About VYM</source>
         <comment>Help action</comment>
         <translation type="unfinished">關於 VYM</translation>
     </message>
     <message>
+        <location line="-4"/>
         <source>About QT</source>
         <comment>Help action</comment>
         <translation type="unfinished">關於 QT</translation>
     </message>
     <message>
+        <location line="+34"/>
         <source>Remove</source>
         <comment>Context menu name</comment>
         <translation type="unfinished">移除</translation>
     </message>
     <message>
+        <location line="+38"/>
         <source>References (URLs, vymLinks, ...)</source>
         <comment>Context menu name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+23"/>
         <source>Edit XLink</source>
         <comment>Context menu name</comment>
         <translation type="unfinished">編輯 XLink</translation>
     </message>
     <message>
+        <location line="+17"/>
         <source>Save image</source>
         <comment>Context action</comment>
         <translation type="unfinished">儲存圖像</translation>
     </message>
     <message>
-        <source>unnamed</source>
-        <comment>MainWindow: name for new and empty file</comment>
-        <translation type="unfinished">未命名</translation>
-    </message>
-    <message>
+        <location line="+480"/>
         <source>The map %1
 is already opened.Opening the same map in multiple editors may lead 
 to confusion when finishing working with vym.Do you want to</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-2543"/>
         <source>PDF%1</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>SVG%1</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-63"/>
         <source>Repeat last export (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+409"/>
         <source>Grow selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Shrink selection</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Reset selection size</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+442"/>
         <source>Toggle target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Goto target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Move to target...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-372"/>
         <source>Extract URLs from note</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+949"/>
         <source>Map target</source>
         <comment>SystemFlag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+643"/>
         <source>Follow XLink</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Follow XLink</source>
         <comment>Context menu name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-2139"/>
         <source>Firefox Bookmarks</source>
         <comment>Import filters</comment>
         <translation type="unfinished">Firefox 書籤</translation>
     </message>
     <message>
-        <source>Import Dir%1</source>
-        <comment>Import Filters</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+827"/>
         <source>Remove only branch and keep its children </source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1921"/>
         <source>Loading: %1</source>
         <comment>Progress dialog while loading maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-2577"/>
         <source>E&amp;dit</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+853"/>
         <source>Select default font</source>
         <comment>Branch attribute</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+83"/>
         <source>Toolbars</source>
         <comment>Toolbars overview in view menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1155"/>
         <source>Undo and clipboard toolbar</source>
         <comment>Toolbar for redo/undo and clipboard</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+38"/>
         <source>URLs and vymLinks toolbar</source>
         <comment>Toolbar for URLs and vymlinks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Colors toolbar</source>
         <comment>Colors toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1282"/>
         <source>Enter URL:</source>
         <translation type="unfinished">輸入 URL:</translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>Images</source>
         <comment>Filedialog</comment>
         <translation type="unfinished">圖像</translation>
     </message>
     <message>
-        <source>Link to another map</source>
-        <translation type="unfinished">連結到另外的圖譜</translation>
-    </message>
-    <message>
+        <location line="-2685"/>
         <source>Select previous</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Select next</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1351"/>
         <source>Selection toolbar</source>
         <comment>Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Script Editor</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="-3084"/>
         <source>Task list</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-51"/>
         <source>Script Editor</source>
         <comment>ScriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1501"/>
         <source>Toggle task</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>Cycle task status</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>Reset sleep</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+12"/>
+        <location line="+23"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
+        <location line="+11"/>
         <source>Sleep %1 days</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-55"/>
         <source>Sleep %1 day</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+66"/>
+        <location line="+11"/>
         <source>Sleep %1 weeks</source>
         <comment>Task sleep</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+99"/>
         <source>Select</source>
         <comment>Select menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+61"/>
         <source>Unselect all</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+192"/>
         <source>Rotate counterclockwise</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Rotate rclockwise</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+64"/>
         <source>Tree editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Task editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Slide editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
         <source>Script editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+557"/>
         <source>Settings</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+215"/>
         <source>Show keyboard shortcuts</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+68"/>
         <source>Tasks</source>
         <comment>Context menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+723"/>
         <source>or</source>
         <comment>File Dialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+143"/>
         <source>Save map as</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-3782"/>
         <source>Property Editor</source>
         <comment>PropertyEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>History window</source>
         <comment>HistoryWidget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1434"/>
         <source>Open linked map in background tab</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+696"/>
         <source>Next slide</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Previous slide</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-2310"/>
         <source>Main window</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+103"/>
         <source>Main window</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Map Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Text Editors</source>
         <comment>Shortcut group</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+830"/>
         <source>&amp;Map</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>&amp;Restore last session</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>References Context menu</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Bugzilla handling</source>
-        <comment>Shortcuts</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Create URL to SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Get data from SUSE Bugzilla</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Get data from SUSE Bugzilla for subtree</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>SUSE Fate tool handling</source>
+        <location line="+538"/>
+        <source>References Context menu</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Create URL to SUSE FATE tool</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+94"/>
         <source>vymlinks - linking maps</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+44"/>
         <source>Exports</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Tasks</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+167"/>
         <source>Removing parts of a map</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+24"/>
         <source>Various</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Add   ...</source>
-        <comment>Edit menu</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+42"/>
         <source>Selections</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+70"/>
         <source>Search functions</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+29"/>
         <source>Formatting</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+120"/>
         <source>Views</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+244"/>
         <source>Modifier modes</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+455"/>
         <source>Check for release notes and updates</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+27"/>
         <source>Set application to zip/unzip files</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+174"/>
         <source>Download and show release notes</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Check, if updates are available</source>
         <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+113"/>
         <source>XLinks</source>
         <comment>Menu for file actions</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Info</source>
-        <translation type="obsolete">資訊</translation>
-    </message>
-    <message>
-        <source>Spreadsheet</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="-2001"/>
         <source>Properties</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+210"/>
         <source>Move branch up</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">向上移動分支</translation>
     </message>
     <message>
+        <location line="+13"/>
         <source>Move branch down</source>
         <comment>Edit menu</comment>
         <translation type="unfinished">向下移動分支</translation>
     </message>
     <message>
+        <location line="+512"/>
         <source>Map properties...</source>
         <comment>Edit menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+332"/>
         <source>Note editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>Heading editor</source>
         <comment>View action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+611"/>
         <source>Set author for new maps</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+121"/>
         <source>Number of visible parents in task editor</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Number of visible parents in find results window</source>
         <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-1910"/>
         <source>Webpage (HTML)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>Text (ASCII)...</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+12"/>
         <source>Text with tasks</source>
         <comment>File export menu</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Text (A&amp;O report)...</source>
         <comment>Export format</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1779"/>
+        <source>Set path for new maps</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+178"/>
         <source>Debug info</source>
         <comment>Option to show debugging info</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+976"/>
+        <location line="+82"/>
         <source>Couldn&apos;t save %1,
 because of existing lockfile:
 
@@ -2954,513 +2055,871 @@ because of existing lockfile:
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Load Freemind map</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+177"/>
         <source>Export as CSV</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+58"/>
         <source>Couldn&apos;t find configuration for export to LibreOffice
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+289"/>
         <source>HTML</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Text</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Spreadsheet</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Textdocument</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Set URL to a local file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]</source>
-        <comment>task sleep time dialog</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+296"/>
         <source>Couldn&apos;t set sleep time to %1.
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>%1 items on map
 </source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+21"/>
         <source>branches</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>notes</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>images</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>tasks</source>
-        <comment>Info about map</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+3"/>
         <source>slides</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>xLinks</source>
         <comment>Info about map</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set application to zip/unzip files</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Directory with vym macros:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+847"/>
         <source>Number of undo/redo levels:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>Settings have been changed. The next map opened will have &quot;%1&quot; undo/redo levels</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+40"/>
         <source>Number of seconds before autosave:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Set author for new maps (used in lockfile)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+42"/>
         <source>Number of parents shown in find results:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+11"/>
         <source>Number of parents shown for a task:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>(readonly)</source>
+        <location line="-2404"/>
+        <source>(readonly)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2857"/>
+        <source>History for %1</source>
+        <comment>Window Caption</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Export in last used format (%1) to: %2</source>
+        <comment>status tip</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+441"/>
+        <source>Couldn&apos;t find the documentation %1 in:
+%2</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+31"/>
+        <source>Load vym example map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+190"/>
+        <source>Please allow vym to download release notes!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <source>Allow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Do not allow</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Thank you for enabling downloads!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Update information</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>vym is up to date.</source>
+        <comment>MainWindow</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+48"/>
+        <source>Checking for updates...</source>
+        <comment>MainWindow</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+30"/>
+        <source>Please allow vym to check for updates!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="-7094"/>
+        <source>Script output window</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+829"/>
+        <source>Save as default map</source>
+        <comment>File menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>(experimental)</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+14"/>
+        <source>Import Dir...</source>
+        <comment>Import Filters</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Confluence (HTML)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Firefox Bookmarks</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished">Firefox 書籤</translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Text (Markdown)...</source>
+        <comment>File export menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+44"/>
+        <source>CSV...</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+258"/>
+        <source>Move branch diagonally up</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+13"/>
+        <source>Move branch diagonally down</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+206"/>
+        <source>Get data from JIRA for subtree</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Get page name from Confluence</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+92"/>
+        <source>Reset delta priority for visible tasks</source>
+        <comment>Reset delta</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+185"/>
+        <source>Add image...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+56"/>
+        <source>Goto linked map...</source>
+        <comment>Edit menu</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+194"/>
+        <source>Toggle Presentation mode</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+64"/>
+        <source>Fit view to selection</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+74"/>
+        <source>Script output window</source>
+        <comment>View action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+72"/>
+        <source>&amp;Connect</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Connect</source>
+        <comment>Shortcuts</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Get Confluence user data</source>
+        <comment>Connect action</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+29"/>
+        <source>Use modifier to select and reorder objects</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>Format painter: pick color from another branch and apply</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+22"/>
+        <source>Use modifier to move branches without linking</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Use modifier to move view without selecting</source>
+        <comment>Mode modifier</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+17"/>
+        <source>Images</source>
+        <translation type="unfinished">圖像</translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>All</source>
+        <comment>Filedialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+63"/>
+        <source>URL</source>
+        <comment>SystemFlag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+69"/>
+        <source>Hm...</source>
+        <comment>Standardflag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+54"/>
+        <location line="+6"/>
+        <source>Important</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">重要</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Back</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Forward</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Look here</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Dangerous</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished">危險</translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Don&apos;t forget</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Flag</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Home</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Telephone</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Music</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mailbox</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Mail</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Password</source>
+        <comment>Freemind flag</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>To be improved</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>History for %1</source>
-        <comment>Window Caption</comment>
+        <location line="+3"/>
+        <source>Stop</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export in last used format (%1) to: %2</source>
-        <comment>status tip</comment>
+        <location line="+3"/>
+        <source>Magic</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find the documentation %1 in:
-%2</source>
+        <location line="+3"/>
+        <source>To be discussed</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Load vym example map</source>
+        <location line="+3"/>
+        <source>Reminder</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please allow vym to download release notes!</source>
+        <location line="+3"/>
+        <source>Excellent</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send vym version and platform name and the ID  (e.g. &quot;Windows&quot; or &quot;Linux&quot;) back to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <location line="+3"/>
+        <source>Linux</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Allow</source>
+        <location line="+3"/>
+        <source>Sweet</source>
+        <comment>Freemind flag</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Do not allow</source>
+        <location line="+162"/>
+        <source>Confluence Credentials</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Thank you for enabling downloads!</source>
+        <location line="+6"/>
+        <source>JIRA Credentials</source>
+        <comment>Settings action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Update information</source>
+        <location line="+176"/>
+        <source>Show keyboard macros</source>
+        <comment>Help action</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>vym is up to date.</source>
-        <comment>MainWindow</comment>
+        <location line="+312"/>
+        <source>Select color (Press Shift for more options)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Checking for updates...</source>
-        <comment>MainWindow</comment>
+        <location line="+21"/>
+        <source>View toolbar</source>
+        <comment>View Toolbar name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Please allow vym to check for updates!</source>
+        <location line="+39"/>
+        <source>User Flags toolbar</source>
+        <comment>user Flags Toolbar</comment>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>MapEditor</name>
     <message>
-        <source>Critical Parse Error</source>
-        <translation type="obsolete">嚴重的解析錯誤</translation>
+        <location line="+171"/>
+        <source>Couldn&apos;t load default map:
+
+%1
+
+vym will create an empty map now.</source>
+        <comment>Mainwindow: Failed to load default map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">覆寫</translation>
+        <location line="+395"/>
+        <source>Couldn&apos;t save %1,
+because file exists and cannot be changed.</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cancel</source>
-        <translation type="obsolete">取消</translation>
+        <location line="+55"/>
+        <source>Saving the map failed:
+Couldn&apos;t rename map to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Export Error</source>
-        <translation type="obsolete">嚴重的匯出錯誤</translation>
+        <location line="+28"/>
+        <source>Save map as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">嚴重錯誤</translation>
+        <location line="+10"/>
+        <source>You have no permissions to write to </source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">輸入 URL:</translation>
+        <location line="+13"/>
+        <source>Overwrite as new default map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>vym map</source>
-        <translation type="obsolete">vym 圖譜</translation>
+        <location line="+30"/>
+        <source>Couldn&apos;t save as default, failed to rename to
+%1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Images</source>
-        <translation type="obsolete">圖像</translation>
+        <location line="+51"/>
+        <source>Import Firefox Bookmarks into new map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>vym - save image as</source>
-        <translation type="obsolete">vym - 儲存圖像為</translation>
+        <location line="+26"/>
+        <source>Open Freemind map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Critical Import Error</source>
-        <translation type="obsolete">嚴重的匯入錯誤</translation>
+        <location line="+616"/>
+        <source>Link to another vym map</source>
+        <translation type="unfinished">連結到另外的 vym 圖譜</translation>
     </message>
     <message>
-        <source>Critical Parse Error by reading backupFile</source>
-        <translation type="obsolete">讀取備份檔時嚴重的解析錯誤</translation>
+        <location line="+2"/>
+        <source>Set as link to vym map</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New Map</source>
-        <comment>Heading of mapcenter in new map</comment>
-        <translation type="obsolete">新圖譜</translation>
+        <location line="+105"/>
+        <source>Enter sleep time (number of days, hours with &apos;h&apos; or date YYYY-MM-DD or DD.MM[.YYYY]</source>
+        <comment>task sleep time dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">檔案 %1 已經存在。您要覆寫它嗎?</translation>
+        <location line="+72"/>
+        <source>tasks total</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>MapEditor::exportXML couldn&apos;t open %1</source>
-        <translation type="obsolete">MapEditor::exportXML 無法開啟 %1</translation>
+        <location line="+3"/>
+        <source>tasks in map</source>
+        <comment>Info about map</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Temporary directory %1 used for undo is gone. 
-I will create a new one, but at the moment no undo is available.
-Maybe you want to reload your original data.
-
-Sorry for any inconveniences.</source>
-        <translation type="obsolete">用於復原的暫存目錄 %1 已經不見。
-我將建立一個新的,但是目前沒有任何復原可用。
-您也許想要重新載入原來的資料。
-
-造成您的困擾請多多包涵。</translation>
+        <location line="+680"/>
+        <source>Color of selection box</source>
+        <comment>Mainwindow</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cannot find the directory %1</source>
-        <translation type="obsolete">找不到目錄 %1</translation>
+        <location line="+160"/>
+        <source>Load vym script</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">連結到另外的圖譜</translation>
+        <location line="+158"/>
+        <location line="+20"/>
+        <source>No SSL support available for this build of vym</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Load image</source>
-        <translation type="obsolete">載入圖像</translation>
+        <location line="-3061"/>
+        <source>Dark theme</source>
+        <comment>Settings action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save image as %1</source>
-        <translation type="obsolete">儲存圖像為 %1</translation>
+        <location line="+98"/>
+        <source>Show scripting commands</source>
+        <comment>Help action</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Choose directory structure to import</source>
-        <translation type="obsolete">選擇目錄結構以匯入</translation>
+        <location line="+2891"/>
+        <source>Information</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>unnamed</source>
-        <translation type="obsolete">未命名</translation>
+        <location line="+1"/>
+        <source>Restart vym to apply the changed dark theme setting</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Warning</source>
-        <translation type="obsolete">警告</translation>
+        <location line="+1180"/>
+        <source>&lt;html&gt;&lt;h3&gt;Do you allow vym to check online for updates or release notes?&lt;/h3&gt;If you allow, vym will &lt;ul&gt;&lt;li&gt;check once for release notes&lt;/li&gt;&lt;li&gt;check regulary for updates and notify you in case you should update, e.g. if there are important bug fixes available&lt;/li&gt;&lt;li&gt;receive a cookie with a random ID and send some anonymous data, like:&lt;ul&gt;&lt;li&gt;vym version&lt;/li&gt;&lt;li&gt;platform name and the ID (e.g. &quot;Windows&quot; or &quot;Linux&quot;)&lt;/li&gt;&lt;li&gt;if you are using dark theme&lt;/li&gt;&lt;/ul&gt;This data is sent to me, Uwe Drechsel.&lt;p&gt;As vym developer I am motivated to see many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each of the systems requires a lot of my (spare) time.&lt;/p&gt; &lt;p&gt;No other data than above will be sent, especially no private data will be collected or sent.(Check the source code, if you don&apos;t believe.)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;If you do not allow, &lt;ul&gt;&lt;li&gt;nothing will be downloaded and especially I will &lt;b&gt;not be motivated&lt;/b&gt; to spend some more thousands of hours on developing a free software tool.&lt;/ul&gt;Please allow vym to check for updates :-)</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation type="obsolete">找不到命令稿 %1
-以在瀏覽器中註記變更的書籤。</translation>
+        <location line="+54"/>
+        <source>That&apos;s ok, though I would be happy to see many users working with vym and also on which platforms.</source>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>MapEditor</name>
     <message>
+        <location filename="../src/mapeditor.cpp" line="+125"/>
+        <location line="+5"/>
         <source>Edit heading</source>
         <comment>MapEditor</comment>
         <translation type="unfinished">編輯標頭</translation>
     </message>
     <message>
+        <location line="+446"/>
         <source>Print vym map</source>
         <comment>MapEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>MapEditor</comment>
-        <translation type="obsolete">儲存</translation>
+        <location line="+1669"/>
+        <source>%1 items selected</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-2200"/>
         <source>Map Editor</source>
         <comment>Shortcut scope</comment>
         <translation type="unfinished"></translation>
     </message>
-    <message>
-        <source>Cu&amp;t</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">剪下(&amp;T)</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">複製(&amp;C)</translation>
-    </message>
-    <message>
-        <source>&amp;Undo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">復原(&amp;U)</translation>
-    </message>
-    <message>
-        <source>&amp;Redo</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">重做(&amp;R)</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <comment>Edit menu</comment>
-        <translation type="obsolete">貼上(&amp;P)</translation>
-    </message>
 </context>
 <context>
     <name>NoteEditor</name>
     <message>
+        <location filename="../src/noteeditor.cpp" line="+13"/>
         <source>Note Editor</source>
-        <comment>Window caption</comment>
+        <comment>Name of editor shown as window title</comment>
         <translation type="unfinished">註記編輯器</translation>
     </message>
 </context>
-<context>
-    <name>Process</name>
-    <message>
-        <source>Critical Error</source>
-        <translation type="obsolete">嚴重錯誤</translation>
-    </message>
-    <message>
-        <source>%1 didn&apos;t exit normally</source>
-        <translation type="obsolete">%1 並未正常離開</translation>
-    </message>
-</context>
 <context>
     <name>QObject</name>
     <message>
-        <source>This is not an image.</source>
-        <translation type="obsolete">這並非圖像。</translation>
-    </message>
-    <message>
+        <location filename="../src/export-ao.cpp" line="+27"/>
+        <location filename="../src/export-ascii.cpp" line="+21"/>
+        <location filename="../src/export-confluence.cpp" line="+355"/>
+        <location filename="../src/export-csv.cpp" line="+21"/>
+        <location filename="../src/export-firefox.cpp" line="+68"/>
+        <location filename="../src/export-html.cpp" line="+350"/>
+        <location filename="../src/export-impress.cpp" line="+55"/>
+        <location line="+73"/>
+        <location line="+34"/>
+        <location line="+12"/>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
+        <location filename="../src/export-latex.cpp" line="+52"/>
+        <location filename="../src/export-markdown.cpp" line="+21"/>
+        <location filename="../src/export-orgmode.cpp" line="+22"/>
         <source>Critical Export Error</source>
         <translation>重要匯出錯誤</translation>
     </message>
     <message>
+        <location filename="../src/export-confluence.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+2"/>
+        <location filename="../src/export-impress.cpp" line="-83"/>
         <source>Could not write %1</source>
         <translation>無法寫入 %1</translation>
     </message>
     <message>
+        <location filename="../src/export-ao.cpp" line="+2"/>
+        <location filename="../src/export-ascii.cpp" line="+2"/>
+        <location filename="../src/export-csv.cpp" line="+2"/>
+        <location filename="../src/export-firefox.cpp" line="+2"/>
+        <location filename="../src/export-html.cpp" line="+1"/>
+        <location filename="../src/export-impress.cpp" line="+1"/>
+        <location filename="../src/export-latex.cpp" line="+2"/>
+        <location filename="../src/export-markdown.cpp" line="+2"/>
+        <location filename="../src/export-orgmode.cpp" line="+2"/>
         <source>Export failed.</source>
         <translation>匯出失敗。</translation>
     </message>
     <message>
+        <location filename="../src/export-impress.cpp" line="+45"/>
         <source>Check &quot;%1&quot; in
 %2</source>
         <translation>在 %2 中檢查「%1」</translation>
     </message>
     <message>
+        <location line="+21"/>
+        <location line="+8"/>
+        <location line="+9"/>
         <source>Could not read %1</source>
         <translation>無法讀取 %1</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="+282"/>
+        <location line="+22"/>
+        <location line="+14"/>
+        <location line="+50"/>
+        <location line="+13"/>
+        <location line="+8"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+10"/>
+        <location line="+9"/>
+        <location line="+13"/>
+        <location line="+32"/>
+        <location line="+11"/>
+        <location filename="../src/main.cpp" line="+449"/>
+        <location line="+8"/>
+        <location filename="../src/xsltproc.cpp" line="+62"/>
+        <location line="+6"/>
         <source>Critical Error</source>
         <translation>嚴重錯誤</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start zip to compress data.</source>
-        <translation>無法啟動 zip 去壓縮資料。</translation>
-    </message>
-    <message>
+        <location line="-164"/>
+        <location line="+63"/>
         <source>zip didn&apos;t exit normally</source>
         <translation>zip 並未正常離開</translation>
     </message>
     <message>
-        <source>Couldn&apos;t start unzip to decompress data.</source>
-        <translation>無法啟動 unzip 去解壓縮資料。</translation>
-    </message>
-    <message>
-        <source>unzip didn&apos;t exit normally</source>
-        <translation>unzip 並未正常離開</translation>
-    </message>
-    <message>
+        <location filename="../src/xsltproc.cpp" line="-5"/>
         <source>Could not start %1</source>
         <translation>無法啟動 %1</translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="+102"/>
+        <location filename="../src/xsltproc.cpp" line="+6"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation>%1 並未正常離開</translation>
     </message>
     <message>
-        <source>The file %1 exists already.
-Do you want to overwrite it?</source>
-        <translation type="obsolete">檔案 %1 已經存在。
-您要覆寫它嗎?</translation>
-    </message>
-    <message>
+        <location line="-389"/>
         <source>Overwrite</source>
         <translation>覆寫</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
     <message>
-        <source>Sorry, no preview for
-multiple selected files.</source>
-        <translation type="obsolete">抱歉,無法預覽多個已選檔案。</translation>
-    </message>
-    <message>
-        <source>Exporting the %1 bookmarks will overwrite
-your existing bookmarks file.</source>
-        <translation>匯出 %1 書籤將會覆寫
-您的現有書籤檔案。</translation>
-    </message>
-    <message>
-        <source>Warning: Overwriting %1 bookmarks</source>
-        <translation>警告:正在覆寫 %1 項書籤</translation>
-    </message>
-    <message>
+        <location filename="../src/macros.cpp" line="+46"/>
         <source>Warning</source>
         <translation>警告</translation>
     </message>
     <message>
-        <source>Couldn&apos;t find script %1
-to notifiy Browsers of changed bookmarks.</source>
-        <translation>找不到命令稿 %1
-去在瀏覽器中註記變更的書籤。</translation>
-    </message>
-    <message>
+        <location filename="../src/export-base.cpp" line="+63"/>
+        <location filename="../src/file.cpp" line="+238"/>
+        <location line="+11"/>
+        <location line="+154"/>
+        <location line="+10"/>
+        <location filename="../src/imports.cpp" line="+41"/>
+        <location filename="../src/main.cpp" line="+62"/>
+        <location line="+15"/>
+        <location filename="../src/scripteditor.cpp" line="+148"/>
+        <location line="+26"/>
+        <location line="+17"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
+        <location filename="../src/imports.cpp" line="+1"/>
         <source>Couldn&apos;t access temporary directory
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+60"/>
         <source>Exporting to %1 will overwrite the existing file:
 %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-2"/>
         <source>Warning: Overwriting file</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/export-ascii.cpp" line="-10"/>
         <source>Export as ASCII</source>
         <translation type="unfinished">匯出為 ASCII</translation>
     </message>
     <message>
+        <location filename="../src/export-ao.cpp" line="-14"/>
         <source>(still experimental)</source>
         <translation type="unfinished">(仍然是實驗性質)</translation>
     </message>
     <message>
+        <location filename="../src/export-html.cpp" line="-40"/>
         <source>Export aborted.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Warning</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">警告</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <comment>ExportHTML</comment>
-        <translation type="obsolete">無法開啟 %1</translation>
-    </message>
-    <message>
-        <source>Could not open %1</source>
-        <translation type="obsolete">無法開啟 %1</translation>
-    </message>
-    <message>
+        <location line="+114"/>
         <source>Trying to create directory for flags:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Could not create %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/export-confluence.cpp" line="-1"/>
+        <location filename="../src/export-html.cpp" line="-77"/>
         <source>Trying to save HTML file:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/export-impress.cpp" line="-157"/>
         <source>No objects in map!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="-422"/>
         <source>The directory %1 is not empty.
 Do you risk to overwrite its contents?</source>
         <comment>write directory</comment>
@@ -3468,75 +2927,71 @@ Do you risk to overwrite its contents?</source>
 您要冒險覆寫它的內容嗎?</translation>
     </message>
     <message>
-        <source>No Bugzilla client found.  For openSUSE you can install by (running as root):
-
-</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Alternatively you can also add the repository
-and install the perl module for Bugzilla access using YaST</source>
-        <comment>VymModel, how to install Bugzilla client module</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Warning: Couldn&apos;t find Bugzilla client</source>
-        <comment>VymModel</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t open &quot;%1&quot;
-%2.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location filename="../src/export-impress.cpp" line="+107"/>
         <source>Couldn&apos;t read settings from &quot;%1&quot;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/file.cpp" line="+196"/>
         <source>Couldn&apos;t move existing file out of the way before saving.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+117"/>
         <source>Couldn&apos;t rename %1 back to %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+41"/>
         <source>Saved %1, but couldn&apos;t remove %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/xml-vym.cpp" line="+77"/>
         <source>Warning: Version Problem</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>&lt;h3&gt;Map is newer than VYM&lt;/h3&gt;&lt;p&gt;The map you are just trying to load was saved using vym %1. The version of this vym is %2. If you run into problems after pressing the ok-button below, updating vym should help.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+9"/>
+        <source>&lt;p&gt;The map will be opened readonly, because not all information from new maps can be saved with this version of vym. Please be careful!</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/export-csv.cpp" line="-10"/>
         <source>Export as CSV</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/export-confluence.cpp" line="-58"/>
+        <location filename="../src/export-html.cpp" line="-92"/>
         <source>Contents:</source>
         <comment>Used in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../src/export-html.cpp" line="+68"/>
+        <location line="+99"/>
         <source>Critical</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-98"/>
         <source>Could not find stylesheet %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Error</source>
         <comment>ExportHTML</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Could not copy
 %1 to
 %2</source>
@@ -3544,632 +2999,588 @@ and install the perl module for Bugzilla access using YaST</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Could not copy %1 to %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Couldn&apos;t find a macro at  %1.
+        <location filename="../src/macros.cpp" line="+1"/>
+        <source>Couldn&apos;t find macros at  %1.
 </source>
+        <comment>Macros::pathExists</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Please use Settings-&gt;</source>
         <translation type="unfinished">請使用 設定值-&gt;</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Set directory for vym macros</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t save &quot;%1&quot;</source>
+        <location filename="../src/export-ao.cpp" line="+13"/>
+        <source>Could not export as AO to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t start tool to decompress data.</source>
+        <location filename="../src/export-ascii.cpp" line="+9"/>
+        <source>Could not export as ASCII to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Note Editor</source>
-        <comment>Shortcut group</comment>
-        <translation type="obsolete">註記編輯器</translation>
+        <location filename="../src/export-csv.cpp" line="+9"/>
+        <source>Could not export as CSV to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t find tool to unzip data. Please download and install 7z and set path in Settings menu:
- </source>
+        <location filename="../src/export-orgmode.cpp" line="-1"/>
       <source>Could not export as OrgMode to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Could not export as AO to %1</source>
+        <location filename="../src/export-latex.cpp" line="-1"/>
+        <source>Could not export as LaTeX to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Could not export as ASCII to %1</source>
+        <location filename="../src/export-impress.cpp" line="-149"/>
+        <source>Export as LibreOffice Impress presentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Could not export as CSV to %1</source>
+        <location filename="../src/file.cpp" line="-32"/>
+        <source>Couldn&apos;t remove target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Could not export as OrgMode to %1</source>
+        <location line="+10"/>
+        <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Could not export as LaTeX to %1</source>
+        <location line="+9"/>
+        <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Export as LibreOffice Impress presentation</source>
+        <location filename="../src/export-ao.cpp" line="-14"/>
+        <source>Export as AO report</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t remove target of old symbolic link %1</source>
+        <location filename="../src/export-firefox.cpp" line="-55"/>
+        <source>Export as Firefox bookmarks</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t rename output to target of old symbolic link %1</source>
+        <location line="+54"/>
+        <source>Could not export as Firefox bookmarks to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t link from %1 to target of old symbolic link %2</source>
+        <location filename="../src/export-html.cpp" line="-280"/>
+        <location line="+20"/>
+        <source>Flag: %1</source>
+        <comment>Alt tag in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ScriptEditor</name>
     <message>
-        <source>Form</source>
+        <location line="+19"/>
+        <source>Flag: url</source>
+        <comment>Alt tag in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Run</source>
+        <location line="+40"/>
+        <source>Image: %1</source>
+        <comment>Alt tag in HTML export</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Warning</source>
-        <translation type="unfinished">警告</translation>
+        <location filename="../src/export-markdown.cpp" line="-10"/>
+        <source>Export as Markdown</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save script</source>
+        <location line="+9"/>
+        <source>Could not export as Markdown to %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation type="unfinished">檔案 %1 已經存在。
-您要覆寫它嗎? {1
-?}</translation>
+        <location filename="../src/file.cpp" line="-123"/>
+        <location line="+64"/>
+        <source>Couldn&apos;t start %1 tool to compress data!
+The map could not be saved, please check if backup file is available or export as XML file!</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Overwrite</source>
-        <translation type="unfinished">覆寫</translation>
+        <location line="+104"/>
+        <source>Couldn&apos;t start %1 tool to decompress data!
+</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cancel</source>
-        <translation type="unfinished">取消</translation>
+        <location filename="../src/imports.cpp" line="+26"/>
+        <source>Import Firefox bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Load script</source>
+        <location line="+2"/>
+        <source>Loading bookmarks:</source>
+        <comment>Progress dialog while importing bookmarks</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Error</source>
+        <location line="+26"/>
+        <source>Imported %1 bookmarks</source>
+        <comment>Import dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/main.cpp" line="-84"/>
+        <source>Couldn&apos;t find tool to unzip data,or your Windows version is older than Windows 10.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Couldn&apos;t find tool to zip/unzip data. Please install on your platform and setpath in Settings menu:
+ </source>
+        <comment>zip tool missing on Linux/Mac platform</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+62"/>
+        <location line="+15"/>
+        <source>Couldn&apos;t open &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Couldn&apos;t open %1.
+        <location filename="../src/mainwindow.cpp" line="-3288"/>
+        <source>Existing lockfiles have been ignored for the maps listed below. Please check, if the maps might be openend in another instance of vym:
+
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Tab 1</source>
+        <location filename="../src/scripteditor.cpp" line="-42"/>
+        <source>Couldn&apos;t write macros to &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+27"/>
+        <source>Couldn&apos;t read script from &quot;%1&quot;
+.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+16"/>
+        <source>Couldn&apos;t write script to &quot;%1&quot;
+.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save to selected slide</source>
+        <location filename="../src/vymmodel.cpp" line="+4099"/>
+        <source>JIRA agent not setup.</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ScriptEditor</name>
+    <message>
+        <location filename="../src/scripteditor.cpp" line="-88"/>
+        <location line="+7"/>
+        <source>Warning</source>
+        <translation type="unfinished">警告</translation>
+    </message>
     <message>
-        <source>Tab 2</source>
+        <location line="+92"/>
+        <source>Save script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Current key:</source>
-        <translation type="unfinished"></translation>
+        <location line="+9"/>
+        <source>The file %1
+exists already.
+Do you want to overwrite it?</source>
+        <comment>dialog &apos;save as&apos;</comment>
+        <translation type="unfinished">檔案 %1 已經存在。
+您要覆寫它嗎? {1
+?}</translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Overwrite</source>
+        <translation type="unfinished">覆寫</translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>Cancel</source>
+        <translation type="unfinished">取消</translation>
     </message>
     <message>
-        <source>Load</source>
+        <location line="-58"/>
+        <source>Load script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <source>Save</source>
-        <translation type="unfinished">儲存</translation>
+        <translation type="obsolete">儲存</translation>
     </message>
     <message>
+        <location line="-91"/>
         <source>Slide</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Macro</source>
         <comment>Mode in scriptEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Save</source>
-        <comment>ScriptEditor</comment>
-        <translation type="unfinished">儲存</translation>
-    </message>
-    <message>
+        <location line="+35"/>
         <source>Couldn&apos;t get model to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>Couldn&apos;t find slide to save script into slide!</source>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>ShowTextDialog</name>
     <message>
-        <source>VYM - Info</source>
-        <translation type="obsolete">VYM - 資訊</translation>
+        <location line="-41"/>
+        <source>Script</source>
+        <comment>Mode in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Close</source>
-        <translation>關閉</translation>
+        <location line="+3"/>
+        <source>No script selected</source>
+        <comment>scriptname in scriptEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>History of %1</source>
-        <translation type="obsolete">%1 的歷史記錄</translation>
+        <location line="+72"/>
+        <source>Macros saved to %1</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Dialog</source>
+        <location line="+43"/>
+        <source>Script saved to %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
-    <name>SimpleScriptEditor</name>
-    <message>
-        <source>Save</source>
-        <translation type="obsolete">儲存</translation>
-    </message>
-    <message>
-        <source>Open</source>
-        <translation type="obsolete">開啟</translation>
-    </message>
+    <name>ShowTextDialog</name>
     <message>
         <source>Close</source>
-        <translation type="obsolete">關閉</translation>
-    </message>
-    <message>
-        <source>The file %1
-exists already.
-Do you want to overwrite it?</source>
-        <comment>dialog &apos;save as&apos;</comment>
-        <translation type="obsolete">檔案 %1 已經存在。
-您要覆寫它嗎? {1
-?}</translation>
+        <translation type="vanished">關閉</translation>
     </message>
+</context>
+<context>
+    <name>TaskEditor</name>
     <message>
-        <source>Overwrite</source>
-        <translation type="obsolete">覆寫</translation>
+        <location filename="../src/taskeditor.cpp" line="+46"/>
+        <source>Show only tasks from current map</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Cancel</source>
-        <translation type="obsolete">取消</translation>
+        <location line="+10"/>
+        <source>Show only active tasks</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TaskEditor</name>
     <message>
-        <source>Current map</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only new tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Active tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+9"/>
+        <source>Show only blocker tasks</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Edit heading</source>
-        <comment>TaskEditor</comment>
-        <translation type="unfinished">編輯標頭</translation>
+        <location line="+9"/>
+        <location line="+10"/>
+        <source>Show only tasks marked with this arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>New tasks</source>
-        <comment>TaskEditor</comment>
+        <location line="+10"/>
+        <source>Show only tasks marked without any arrow-up flag</source>
+        <comment>Filters in task Editor</comment>
         <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
     <name>TaskModel</name>
     <message>
+        <location filename="../src/taskmodel.cpp" line="+208"/>
         <source>Prio</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Status</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Age total</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Age mod.</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Sleep</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Map</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+4"/>
         <source>Task</source>
         <comment>TaskEditor</comment>
         <translation type="unfinished"></translation>
     </message>
-</context>
-<context>
-    <name>TextEditor</name>
     <message>
-        <source>&amp;File</source>
-        <translation type="obsolete">檔案(&amp;F)</translation>
+        <location line="-14"/>
+        <source>Delta</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Import</source>
-        <translation type="obsolete">匯入</translation>
+        <location line="+12"/>
+        <source>Flags</source>
+        <comment>TaskEditor</comment>
+        <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>TextEditor</name>
     <message>
+        <location filename="../src/texteditor.cpp" line="+301"/>
         <source>&amp;Import...</source>
         <translation>匯入(&amp;I)…</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>&amp;Export...</source>
         <translation>匯出(&amp;E)…</translation>
     </message>
     <message>
-        <source>Print Note</source>
-        <translation type="obsolete">列印註記</translation>
-    </message>
-    <message>
+        <location line="+25"/>
         <source>&amp;Print...</source>
         <translation>列印(&amp;P)…</translation>
     </message>
     <message>
-        <source>&amp;Edit</source>
-        <translation type="vanished">編輯(&amp;E)</translation>
-    </message>
-    <message>
-        <source>Undo</source>
-        <translation type="obsolete">復原</translation>
-    </message>
-    <message>
+        <location line="+24"/>
         <source>&amp;Undo</source>
         <translation>復原(&amp;U)</translation>
     </message>
     <message>
-        <source>Redo</source>
-        <translation type="obsolete">重做</translation>
-    </message>
-    <message>
+        <location line="+9"/>
         <source>&amp;Redo</source>
         <translation>重做(&amp;R)</translation>
     </message>
     <message>
-        <source>Select and copy all</source>
-        <translation type="obsolete">全部選取並複製</translation>
-    </message>
-    <message>
+        <location line="+10"/>
         <source>Select and copy &amp;all</source>
         <translation>全部選取並複製(&amp;A)</translation>
     </message>
     <message>
-        <source>Copy</source>
-        <translation type="obsolete">複製</translation>
-    </message>
-    <message>
+        <location line="+8"/>
         <source>&amp;Copy</source>
         <translation>複製(&amp;C)</translation>
     </message>
     <message>
-        <source>Cut</source>
-        <translation type="obsolete">剪下</translation>
-    </message>
-    <message>
+        <location line="+9"/>
         <source>Cu&amp;t</source>
         <translation>剪下(&amp;T)</translation>
     </message>
     <message>
-        <source>Paste</source>
-        <translation type="obsolete">貼上</translation>
-    </message>
-    <message>
+        <location line="+9"/>
         <source>&amp;Paste</source>
         <translation>貼上(&amp;P)</translation>
     </message>
     <message>
-        <source>Delete all</source>
-        <translation type="obsolete">刪除全部</translation>
-    </message>
-    <message>
+        <location line="-61"/>
         <source>&amp;Delete All</source>
         <translation>刪除全部(&amp;D)</translation>
     </message>
     <message>
+        <location line="+226"/>
         <source>&amp;Settings</source>
         <translation>設定值(&amp;S)</translation>
     </message>
     <message>
-        <source>Set fixed font</source>
-        <translation type="obsolete">設定定寬字型</translation>
-    </message>
-    <message>
+        <location line="+3"/>
         <source>Set &amp;fixed font</source>
         <translation>設定定寬字型(&amp;F)</translation>
     </message>
     <message>
-        <source>Set variable font</source>
-        <translation type="obsolete">設定變寬字型</translation>
-    </message>
-    <message>
+        <location line="+5"/>
         <source>Set &amp;variable font</source>
         <translation>設定變寬字型(&amp;V)</translation>
     </message>
     <message>
-        <source>Used fixed font by default</source>
-        <translation type="obsolete">預設使用的定寬字型</translation>
-    </message>
-    <message>
+        <location line="+5"/>
         <source>&amp;fixed font is default</source>
         <translation>定寬字型為預設(&amp;F)</translation>
     </message>
     <message>
-        <source>Export Note (HTML)</source>
-        <translation type="obsolete">匯出註記 (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <translation type="obsolete">匯出註記為 (HTML) </translation>
-    </message>
-    <message>
+        <location line="-262"/>
         <source>Export &amp;As... (HTML)</source>
         <translation>匯出為(HTML)(&amp;A)…</translation>
     </message>
     <message>
-        <source>Export Note As (ASCII) </source>
-        <translation type="obsolete">匯出註記為 (ASCII) </translation>
-    </message>
-    <message>
+        <location line="+5"/>
         <source>Export &amp;As...(ASCII)</source>
         <translation>匯出為(ASCII)(&amp;A)…</translation>
     </message>
     <message>
+        <location line="+151"/>
         <source>&amp;Color...</source>
         <translation>顏色(&amp;C)…</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&amp;Bold</source>
         <translation>粗體(&amp;B)</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>&amp;Italic</source>
         <translation>斜體(&amp;I)</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>&amp;Underline</source>
         <translation>底線(&amp;U)</translation>
     </message>
     <message>
+        <location line="+39"/>
         <source>&amp;Left</source>
         <translation>靠左(&amp;L)</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>C&amp;enter</source>
         <translation>置中(&amp;E)</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&amp;Right</source>
         <translation>靠右(&amp;R)</translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>&amp;Justify</source>
         <translation>對齊(&amp;J)</translation>
     </message>
     <message>
+        <location line="+221"/>
         <source>Export Note to single file</source>
         <translation>匯出註記到單一檔案</translation>
     </message>
     <message>
-        <source>The file </source>
-        <translation type="obsolete">檔案 </translation>
-    </message>
-    <message>
-        <source> exists already. Do you want to overwrite it?</source>
-        <translation type="obsolete"> 已經存在。您要覆寫它嗎?</translation>
-    </message>
-    <message>
+        <location line="+15"/>
+        <location line="+76"/>
         <source>Overwrite</source>
         <translation>覆寫</translation>
     </message>
     <message>
+        <location line="-75"/>
+        <location line="+76"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
     <message>
-        <source>Couldn&apos;t export note </source>
-        <translation type="obsolete">無法匯出註記 </translation>
-    </message>
-    <message>
+        <location line="-16"/>
         <source>Export Note to single file (ASCII)</source>
         <translation>匯出註記到單一檔案 (ASCII)</translation>
     </message>
     <message>
-        <source>Convert paragraphs to linebreaks</source>
-        <translation type="obsolete">轉換段落為斷列</translation>
-    </message>
-    <message>
-        <source>&amp;Convert Paragraphs</source>
-        <translation type="obsolete">轉換段落(&amp;C)</translation>
-    </message>
-    <message>
-        <source>Join all lines of a paragraph</source>
-        <translation type="obsolete">聯結段落中所有的列</translation>
-    </message>
-    <message>
-        <source>&amp;Join lines</source>
-        <translation type="obsolete">聯結各列(&amp;J)</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <translation type="obsolete">切換整篇文字的字型修飾</translation>
-    </message>
-    <message>
+        <location line="-432"/>
         <source>&amp;Font hint</source>
         <translation>字型修飾(&amp;F)</translation>
     </message>
     <message>
+        <location line="+92"/>
         <source>Subs&amp;cript</source>
         <translation>下標(&amp;C)</translation>
     </message>
     <message>
+        <location line="+10"/>
         <source>Su&amp;perscript</source>
         <translation>上標(&amp;P)</translation>
     </message>
     <message>
+        <location line="+80"/>
         <source>Note Editor</source>
         <translation>註記編輯器</translation>
     </message>
     <message>
+        <location line="-186"/>
         <source>F&amp;ormat</source>
         <translation>格式(&amp;O)</translation>
     </message>
     <message>
+        <location line="-370"/>
         <source>Ready</source>
         <comment>Statusbar message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Text Editor</source>
-        <comment>Text Editor Window caption</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+161"/>
         <source>No filename available for this note.</source>
         <comment>Statusbar message</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+83"/>
         <source>Note Actions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>&amp;Note</source>
         <comment>Menubar</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Import</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">匯入</translation>
-    </message>
-    <message>
-        <source>Export Note (HTML)</source>
-        <comment>Status tip for Note menu</comment>
-        <translation type="obsolete">匯出註記 (HTML)</translation>
-    </message>
-    <message>
-        <source>Export Note As (HTML) </source>
-        <comment>Status tip for Note Menu</comment>
-        <translation type="obsolete">匯出註記為 (HTML) </translation>
-    </message>
-    <message>
-        <source>Export Note As (ASCII) </source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">匯出註記為 (ASCII) </translation>
-    </message>
-    <message>
-        <source>Print Note</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">列印註記</translation>
-    </message>
-    <message>
+        <location line="+57"/>
         <source>Edit Actions</source>
         <translation type="unfinished">編輯動作</translation>
     </message>
     <message>
-        <source>Undo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">復原</translation>
-    </message>
-    <message>
-        <source>Redo</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">重做</translation>
-    </message>
-    <message>
-        <source>Select and copy all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">全部選取並複製</translation>
-    </message>
-    <message>
-        <source>Copy</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">複製</translation>
-    </message>
-    <message>
-        <source>Cut</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">剪下</translation>
-    </message>
-    <message>
-        <source>Paste</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">貼上</translation>
-    </message>
-    <message>
-        <source>Delete all</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">刪除全部</translation>
-    </message>
-    <message>
-        <source>Toggle font hint for the whole text</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">切換整篇文字的字型修飾</translation>
-    </message>
-    <message>
+        <location line="+83"/>
         <source>&amp;Richtext</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Set fixed font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">設定定寬字型</translation>
-    </message>
-    <message>
-        <source>Set variable font</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">設定變寬字型</translation>
-    </message>
-    <message>
-        <source>Used fixed font by default</source>
-        <comment>Status tip for note menu</comment>
-        <translation type="obsolete">預設使用的定寬字型</translation>
-    </message>
-    <message>
+        <location line="+354"/>
+        <location line="+76"/>
         <source>The file %1
 exists already.
 Do you want to overwrite it?</source>
@@ -4179,48 +3590,71 @@ Do you want to overwrite it?</source>
 ?}</translation>
     </message>
     <message>
+        <location line="-51"/>
         <source>Couldn&apos;t export note </source>
         <comment>dialog &apos;save note as&apos;</comment>
         <translation type="unfinished">無法匯出註記 </translation>
     </message>
     <message>
+        <location line="+86"/>
         <source>Print</source>
         <comment>TextEditor</comment>
         <translation type="unfinished">列印</translation>
     </message>
     <message>
+        <location line="-483"/>
         <source>Font hints</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+28"/>
         <source>Fonts</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+25"/>
         <source>Format</source>
         <comment>toolbar in texteditor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-173"/>
+        <location line="+54"/>
+        <location line="+64"/>
         <source>Texteditor</source>
         <comment>Shortcuts</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-60"/>
         <source>Edi&amp;t</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+235"/>
+        <source>Set RichText default background color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Set RichText default font color</source>
+        <comment>TextEditor</comment>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>TreeEditor</name>
     <message>
+        <location filename="../src/treeeditor.cpp" line="+34"/>
         <source>Select upper object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+6"/>
         <source>Select lower object</source>
         <comment>Tree Editor</comment>
         <translation type="unfinished"></translation>
@@ -4229,85 +3663,90 @@ Do you want to overwrite it?</source>
 <context>
     <name>VymModel</name>
     <message>
+        <location filename="../src/vymmodel.cpp" line="-3933"/>
         <source>unnamed</source>
         <translation type="unfinished">未命名</translation>
     </message>
     <message>
+        <location line="+324"/>
+        <location line="+33"/>
+        <location line="+82"/>
+        <location line="+61"/>
         <source>Critical Parse Error</source>
         <translation type="unfinished">嚴重的解析錯誤</translation>
     </message>
     <message>
+        <location line="-124"/>
+        <location line="+48"/>
         <source>Critical Load Error</source>
         <translation type="unfinished">嚴重的載入錯誤</translation>
     </message>
     <message>
+        <location line="-47"/>
         <source>Couldn&apos;t create temporary directory before load
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+48"/>
         <source>Couldn&apos;t find a map (*.xml) in .vym archive.
 </source>
         <translation type="unfinished">在 .vym 檔案夾中找不到圖譜 (*.xml)。</translation>
     </message>
     <message>
-        <source>The map %1
-did not use the compressed vym file format.
-Writing it uncompressed will also write images 
-and flags and thus may overwrite files in the given directory
-
-Do you want to write the map</source>
-        <translation type="unfinished">圖譜 %1
-並未使用壓縮過的 vym 檔案格式。
-以未壓縮的方式寫入它將會寫入圖像和旗標,
-因而也許會覆寫給定目錄中的檔案。
-
-您要寫入圖譜</translation>
-    </message>
-    <message>
+        <location line="+131"/>
         <source>compressed (vym default)</source>
         <translation type="unfinished">已壓縮 (vym 預設)</translation>
     </message>
     <message>
-        <source>uncompressed</source>
-        <translation type="unfinished">未壓縮</translation>
-    </message>
-    <message>
+        <location line="+4"/>
+        <location line="+201"/>
         <source>Cancel</source>
         <translation type="unfinished">取消</translation>
     </message>
     <message>
+        <location line="-175"/>
+        <location line="+7"/>
         <source>Save Error</source>
         <translation type="unfinished">儲存錯誤</translation>
     </message>
     <message>
+        <location line="-6"/>
         <source>%1
 could not be removed before saving</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>%1
 could not be renamed before saving</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+14"/>
         <source>Couldn&apos;t create temporary directory before save
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+71"/>
+        <location line="+61"/>
+        <location line="+4218"/>
         <source>Images</source>
         <translation type="unfinished">圖像</translation>
     </message>
     <message>
+        <location line="-4272"/>
         <source>Load image</source>
         <translation type="unfinished">載入圖像</translation>
     </message>
     <message>
+        <location line="+59"/>
         <source>Save image</source>
         <translation type="unfinished">儲存圖像</translation>
     </message>
     <message>
+        <location line="+7"/>
         <source>The file %1 exists already.
 Do you want to overwrite it?</source>
         <translation type="unfinished">檔案 %1 已經存在。
@@ -4315,22 +3754,28 @@ Do you want to overwrite it?</source>
 ?} {1 ?}</translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Overwrite</source>
         <translation type="unfinished">覆寫</translation>
     </message>
     <message>
+        <location line="+42"/>
         <source>Critical Import Error</source>
         <translation type="unfinished">嚴重的匯入錯誤</translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Cannot find the directory %1</source>
         <translation type="unfinished">找不到目錄 %1</translation>
     </message>
     <message>
+        <location line="+50"/>
+        <location line="+4"/>
         <source>Choose directory structure to import</source>
         <translation type="unfinished">選擇目錄結構以匯入</translation>
     </message>
     <message>
+        <location line="+191"/>
         <source>The file of the map  on disk has changed:
 
    %1
@@ -4339,156 +3784,146 @@ Do you want to reload that map with the new file?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+8"/>
         <source>Reload</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+1"/>
         <source>Ignore</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+194"/>
         <source>Autosave disabled during undo.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+748"/>
         <source>Note</source>
         <comment>FindAll in VymModel</comment>
         <translation type="unfinished">註記</translation>
     </message>
     <message>
-        <source>Enter URL:</source>
-        <translation type="obsolete">輸入 URL:</translation>
-    </message>
-    <message>
-        <source>Images</source>
-        <comment>Filedialog</comment>
-        <translation type="obsolete">圖像</translation>
-    </message>
-    <message>
-        <source>Contacting Bugzilla...</source>
-        <comment>VymModel</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Link to another map</source>
-        <translation type="obsolete">連結到另外的圖譜</translation>
-    </message>
-    <message>
+        <location line="+2299"/>
         <source>Export map as image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+138"/>
         <source>Export XML to directory</source>
         <translation type="unfinished">匯出 XML 到目錄</translation>
     </message>
     <message>
+        <location line="+47"/>
         <source>Critical Export Error</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">重要匯出錯誤</translation>
     </message>
     <message>
+        <location line="+479"/>
         <source>Load background image</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-621"/>
         <source>Export map as PDF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-3568"/>
+        <location line="+3543"/>
         <source>Critical Error</source>
         <translation type="unfinished">嚴重錯誤</translation>
     </message>
     <message>
-        <source>Unsupported format in %1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="-3542"/>
         <source>Couldn&apos;t save %1</source>
         <translation type="unfinished">無法儲存 %1</translation>
     </message>
     <message>
+        <location line="+3543"/>
         <source>Couldn&apos;t save QImage %1 in format %2</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-3635"/>
+        <location line="+60"/>
         <source>All</source>
         <comment>Filedialog</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+184"/>
+        <location line="+3009"/>
         <source>Warning</source>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
-        <source>Redo failed:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Script aborted:
-%1</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <source>Export as LaTeX</source>
-        <translation type="obsolete">匯出為 LaTeX</translation>
-    </message>
-    <message>
+        <location line="+632"/>
+        <location line="+27"/>
         <source>(still experimental)</source>
         <translation type="unfinished">(仍然是實驗性質)</translation>
     </message>
     <message>
+        <location line="-28"/>
+        <location line="+27"/>
         <source>Export as csv</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-3986"/>
         <source>Critical Save Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+277"/>
         <source>unknown user</source>
         <comment>Default for lockfiles of maps</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+37"/>
         <source>Warning: Map already opended</source>
         <comment>VymModel</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Image</source>
-        <comment>Default name for new image</comment>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
+        <location line="+2104"/>
         <source>New map</source>
         <comment>New map</comment>
         <translation type="unfinished">新圖譜</translation>
     </message>
     <message>
+        <location line="+1371"/>
         <source>Export map as SVG</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+33"/>
         <source>Export map as XML</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-4454"/>
         <source>unknown user</source>
         <comment>default name for map author in settings</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+966"/>
         <source>Cannot create lockfile of map! It will be opened in readonly mode.
 
 </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+3"/>
         <source>Warning</source>
         <comment>VymModel</comment>
         <translation type="unfinished">警告</translation>
     </message>
     <message>
+        <location line="-32"/>
         <source>Map seems to be already opened in another vym instance!
 
  Map is locked by &quot;%1&quot; on &quot;%2&quot;
@@ -4497,25 +3932,64 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="-41"/>
         <source>Removed lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+56"/>
         <source>Couldn&apos;t remove lockfile for %1</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="-380"/>
+        <source>The map %1
+did not use the compressed vym file format.
+Writing it uncompressed will also write images 
+and flags and thus may overwrite files into the given directory
+
+Do you want to write the map</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+12"/>
+        <source>uncompressed, potentially overwrite existing data</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3405"/>
+        <source>Could not find Jira ticket pattern in %1</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Contacting Jira...</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+87"/>
+        <source>Received Jira data.</source>
+        <comment>VymModel</comment>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>VymProcess</name>
     <message>
+        <location filename="../src/vymprocess.cpp" line="+40"/>
+        <location line="+5"/>
         <source>Critical Error</source>
         <translation type="unfinished">嚴重錯誤</translation>
     </message>
     <message>
+        <location line="-4"/>
         <source>Could not start %1</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">無法啟動 %1</translation>
     </message>
     <message>
+        <location line="+5"/>
         <source>%1 didn&apos;t exit normally</source>
         <translation type="unfinished">%1 並未正常離開</translation>
     </message>
@@ -4523,11 +3997,13 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
 <context>
     <name>VymView</name>
     <message>
+        <location filename="../src/vymview.cpp" line="+34"/>
         <source>Tree Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location line="+19"/>
         <source>Slide Editor</source>
         <comment>Title of dockable editor widget</comment>
         <translation type="unfinished"></translation>
@@ -4535,36 +4011,75 @@ Please only delete the lockfile, if you are sure nobody else is currently workin
 </context>
 <context>
     <name>WarningDialog</name>
-    <message>
-        <source>VYM - Warning : Foo...</source>
-        <translation type="obsolete">VYM - 警告:Foo…</translation>
-    </message>
-    <message>
-        <source>textLabel</source>
-        <translation type="obsolete">textLabel</translation>
-    </message>
     <message>
         <source>showAgainBox</source>
-        <translation>showAgainBox</translation>
+        <translation type="vanished">showAgainBox</translation>
     </message>
     <message>
+        <location filename="../src/warningdialog.cpp" line="+10"/>
         <source>Proceed</source>
         <translation>繼續</translation>
     </message>
     <message>
+        <location line="+2"/>
         <source>Show this message again</source>
         <translation>再次顯示此訊息</translation>
     </message>
     <message>
+        <location line="+39"/>
         <source>Cancel</source>
         <translation>取消</translation>
     </message>
     <message>
         <source>Ok</source>
-        <translation>確定</translation>
+        <translation type="vanished">確定</translation>
+    </message>
+    <message>
+        <location line="-35"/>
+        <source>Warning</source>
+        <comment>Warning dialog default window name</comment>
+        <translation type="unfinished">警告</translation>
+    </message>
+</context>
+<context>
+    <name>ZipSettingsDialog</name>
+    <message>
+        <source>Close</source>
+        <translation type="obsolete">關閉</translation>
+    </message>
+    <message>
+        <location filename="../src/zip-settings-dialog.cpp" line="+22"/>
+        <source>zip settings</source>
+        <comment>dialog window title</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+9"/>
+        <source>Path to 7z.exe</source>
+        <comment>zip tool settings dialog</comment>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+33"/>
+        <source>Set path to 7z to zip/unzip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>Set path to zip files</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+23"/>
+        <source>Set path to unzip files</source>
+        <translation type="unfinished"></translation>
     </message>
     <message>
-        <source>Dialog</source>
+        <location line="+26"/>
+        <location line="+2"/>
+        <location line="+5"/>
+        <location line="+2"/>
+        <source>Status: %1</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
diff --git a/lineeditdialog.cpp b/lineeditdialog.cpp
deleted file mode 100644 (file)
index bc1460a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "lineeditdialog.h"
-#include "settings.h"
-
-extern Settings settings;
-
-LineEditDialog::LineEditDialog(QWidget* parent):QDialog (parent)
-{
-    ui.setupUi(this);
-    ui.okButton->setText(tr("Ok"));
-}
-
-void LineEditDialog::showCancelButton (bool b)
-{
-    if (b)
-    {
-       ui.cancelButton->show();
-       ui.cancelButton->setText(tr("Cancel"));
-    } else
-       ui.cancelButton->hide();
-}
-
-void LineEditDialog::setLabel (const QString &s)
-{
-    ui.label->setText(s);
-}
-
-void LineEditDialog::setCaption(const QString &s)
-{
-    QDialog::setWindowTitle("VYM - "+s);
-}
-
-void LineEditDialog::setText (const QString &s)
-{
-    ui.lineEdit->setText(s);
-    ui.lineEdit->selectAll();
-}
-
-QString LineEditDialog::getText ()
-{
-    return ui.lineEdit->text();
-}
-
diff --git a/lineeditdialog.h b/lineeditdialog.h
deleted file mode 100644 (file)
index 68c0d4f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef LINEEDITDIALOG_H
-#define LINEEDITDIALOG_H
-
-#include "ui_lineeditdialog.h"
-
-class LineEditDialog : public QDialog
-{
-    Q_OBJECT
-
-public:
-    LineEditDialog(QWidget* parent = 0);
-
-public slots:
-    virtual void showCancelButton( bool b );
-    virtual void setCaption( const QString & s );
-    virtual void setLabel( const QString & s );
-    virtual void setText( const QString & s );
-    virtual QString getText ();
-
-private:
-    void init();
-    Ui::LineEditDialog ui;
-
-};
-
-#endif // LINEEDITDIALOG_H
diff --git a/lineeditdialog.ui b/lineeditdialog.ui
deleted file mode 100644 (file)
index c799bce..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>LineEditDialog</class>
- <widget class="QDialog" name="LineEditDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>545</width>
-    <height>116</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Dialog</string>
-  </property>
-  <property name="accessibleName">
-   <string notr="true"/>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <item>
-    <widget class="QLabel" name="label">
-     <property name="accessibleName">
-      <string notr="true"/>
-     </property>
-     <property name="text">
-      <string>TextLabel</string>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QLineEdit" name="lineEdit">
-     <property name="accessibleName">
-      <string notr="true"/>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>26</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="leftMargin">
-      <number>0</number>
-     </property>
-     <property name="topMargin">
-      <number>0</number>
-     </property>
-     <property name="rightMargin">
-      <number>0</number>
-     </property>
-     <property name="bottomMargin">
-      <number>0</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>73</width>
-         <height>31</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="accessibleName">
-        <string/>
-       </property>
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-       <property name="autoDefault">
-        <bool>false</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>Ok</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>LineEditDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>539</x>
-     <y>87</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>272</x>
-     <y>127</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>clicked()</signal>
-   <receiver>LineEditDialog</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>490</x>
-     <y>87</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>219</x>
-     <y>223</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/linkablemapobj.cpp b/linkablemapobj.cpp
deleted file mode 100644 (file)
index 8e04271..0000000
+++ /dev/null
@@ -1,633 +0,0 @@
-#include <iostream>
-#include <math.h>
-#include <cstdlib>
-
-#include "linkablemapobj.h"
-#include "branchobj.h"
-#include "vymmodel.h"
-
-extern bool debug;
-
-/////////////////////////////////////////////////////////////////
-// LinkableMapObj
-/////////////////////////////////////////////////////////////////
-
-LinkableMapObj::LinkableMapObj(QGraphicsItem* parent, TreeItem *ti) :MapObj(parent,ti)
-{
-    //qDebug() << "Const LinkableMapObj this="<<this<<"  ti="<<ti<<"  treeItem="<<treeItem;
-    parObj=(LinkableMapObj*)parent; //FIXME-4 try to get rid of parObj and use parentItem() instead
-    init ();
-}
-
-LinkableMapObj::~LinkableMapObj()
-{
-    //qDebug()<< "Destructor LMO  this="<<this<<" style="<<style<<" l="<<l<<"  p="<<p<<"  segment="<<segment.count();
-    delLink();
-}
-
-void LinkableMapObj::init ()
-{
-    parObjTmpBuf=NULL;
-    tmpParent=false;
-    parPos=QPointF(0,0);
-    childRefPos=QPointF(0,0);
-    floatRefPos=QPointF(0,0);
-    link2ParPos=false;
-    l=NULL;
-    p=NULL;
-    orientation=UndefinedOrientation;
-    linkwidth=20;      
-    thickness_start=8;
-    style=UndefinedStyle;
-    linkpos=Bottom;
-    arcsegs=13;
-    
-// TODO instead of linkcolor pen.color() could be used all around
-    pen.setWidth (1);
-    pen.setColor (linkcolor);
-    pen.setCapStyle ( Qt::RoundCap );
-
-    useBottomline=false;
-    bottomline=NULL;
-
-    topPad=botPad=leftPad=rightPad=0;
-
-    repositionRequest=false;
-
-    // Rel Positions
-    relPos=QPointF(0,0);
-    useRelPos=false;
-}
-
-void LinkableMapObj::createBottomLine()
-{
-    bottomline=scene()->addLine(QLineF(1,1,1,1),pen);
-    bottomline->setZValue(dZ_LINK);
-}
-
-void LinkableMapObj::delLink()
-{
-    if (bottomline)
-    {
-       delete (bottomline);
-       bottomline=NULL;
-    }  
-    switch (style)
-    {
-       case Line:
-           delete (l);
-           break;
-       case Parabel:
-           while (!segment.isEmpty()) delete segment.takeFirst();
-           break;
-       case PolyLine:
-           delete (p);
-           break;
-       case PolyParabel:
-           delete (p);
-           break;
-       default:
-           break;
-    }      
-}
-
-void LinkableMapObj::copy (LinkableMapObj* other)
-{
-    MapObj::copy(other);
-    bboxTotal=other->bboxTotal;
-    setLinkStyle(other->style);
-    setLinkColor (other->linkcolor);
-    relPos=other->relPos;
-    treeItem=other->treeItem;
-}
-
-void LinkableMapObj::setParObj(LinkableMapObj* o)
-{
-    parObj=o;
-    setParentItem (parObj);
-}
-
-void LinkableMapObj::setParObjTmp(LinkableMapObj*,QPointF,int) 
-{
-}
-
-void LinkableMapObj::unsetParObjTmp()
-{
-}
-
-bool LinkableMapObj::hasParObjTmp()
-{
-    return tmpParent;
-}
-
-void LinkableMapObj::setUseRelPos (const bool &b)
-{
-    useRelPos=b;
-}
-
-bool LinkableMapObj::getUseRelPos ()
-{
-    return useRelPos;
-}
-
-void LinkableMapObj::setRelPos()
-{
-    if (parObj)
-       setRelPos (absPos - parObj->getChildRefPos() );
-    else
-       qWarning()<<"LMO::setRelPos parObj==0   this="<<this;
-}
-
-void LinkableMapObj::setRelPos(const QPointF &p)
-{
-    if (parObj)
-    {      
-       relPos=p;
-       useRelPos=true;
-       setOrientation();
-    }  else
-       qWarning()<<"LMO::setRelPos (p)  parObj==0   this="<<this;
-}
-
-QPointF LinkableMapObj::getRelPos()
-{
-    if (!parObj) 
-    {
-       qWarning()<<"LMO::getRelPos parObj==0   this="<<this;
-       return QPointF();
-    }
-    return relPos;
-}
-
-qreal LinkableMapObj::getTopPad()
-{
-    return topPad;
-}
-
-qreal LinkableMapObj::getLeftPad()
-{
-    return leftPad;
-}
-
-qreal LinkableMapObj::getRightPad()
-{
-    return rightPad;
-}
-
-LinkableMapObj::Style LinkableMapObj::getDefLinkStyle (TreeItem *parent)
-{
-    VymModel *model=treeItem->getModel();
-    if (!model)
-    {
-       qWarning ("LMO::getDefLinkStyle   model=NULL");
-       //return UndefinedStyle;
-    }
-    Style ls=model->getMapLinkStyle();
-    int depth=1+parent->depth();
-    if (depth==0) return UndefinedStyle;
-    switch (ls)
-    {
-       case Line: 
-           return ls;
-           break;
-       case Parabel:
-           return ls;
-           break;
-       case PolyLine:  
-           if (depth>1)
-               return Line;
-           else    
-               return ls;
-           break;
-       case PolyParabel:   
-           if (depth>1)
-               return Parabel;
-           else    
-               return ls;
-           break;
-       default: 
-           break;  
-    }  
-    return UndefinedStyle;
-}
-
-void LinkableMapObj::setLinkStyle(Style newstyle)
-{
-    //qDebug()<<"LMO::setLinkStyle s="<<newstyle;      //FIXME-4 called very often?!?!
-    //qDebug()<<"LMO::setLinkStyle s="<<newstyle<<" for "<<this<<" "<<treeItem->getHeading()<<"  parObj="<<parObj;
-    delLink();
-       
-    style=newstyle;
-
-    QGraphicsLineItem *cl;
-    switch (style)
-    {
-       case Line: 
-           l = scene()->addLine(QLineF(1,1,1,1),pen);
-           l->setZValue(dZ_LINK);
-           if (visible)
-               l->show();
-           else
-               l->hide();
-           createBottomLine();
-           break;
-       case Parabel:
-           for (int i=0;i<arcsegs;i++)
-           {
-               cl = scene()->addLine(QLineF(i*5,0,i*10,100),pen);
-               cl->setZValue(dZ_LINK);
-               if (visible)
-                   cl->show();
-               else
-                   cl->hide();
-               segment.append(cl);
-           }
-           pa0.resize (arcsegs+1);
-           createBottomLine();
-           break;
-       case PolyLine:  
-           p =scene()->addPolygon(QPolygonF(),pen,linkcolor);
-           p->setZValue(dZ_LINK);
-           if (visible)
-               p->show();
-           else
-               p->hide();
-           pa0.resize (3);
-           createBottomLine();
-           break;
-       case PolyParabel:       
-           p = scene()->addPolygon(QPolygonF(),pen,linkcolor);
-           p->setZValue(dZ_LINK);
-           if (visible)
-               p->show();
-           else
-               p->hide();
-           pa0.resize (arcsegs*2+2);
-           pa1.resize (arcsegs+1);
-           pa2.resize (arcsegs+1);
-           createBottomLine();
-           break;
-       default: 
-           break;      
-    }   
-}
-
-LinkableMapObj::Style LinkableMapObj::getLinkStyle()
-{
-    return style;
-}
-
-void LinkableMapObj::setLinkPos(Position lp)
-{
-    linkpos=lp;
-}
-
-LinkableMapObj::Position LinkableMapObj::getLinkPos()
-{
-    return linkpos;
-}
-
-void LinkableMapObj::setLinkColor()
-{
-    // Overloaded in BranchObj and children
-    // here only set default color
-    VymModel *model=treeItem->getModel();
-    if (model)
-       setLinkColor (model->getMapDefLinkColor());
-}
-
-void LinkableMapObj::setLinkColor(QColor col)
-{
-    linkcolor=col;
-    pen.setColor(col);
-    if (bottomline) bottomline->setPen( pen );
-    switch (style)
-    {
-       case Line:
-           l->setPen( pen);
-           break;  
-       case Parabel:   
-           for (int i=0; i<segment.size(); ++i)
-               segment.at(i)->setPen( pen);
-           break;
-       case PolyLine:
-           p->setBrush( QBrush(col));
-           p->setPen( pen);
-           break;
-       case PolyParabel:   
-           p->setBrush( QBrush(col));
-           p->setPen( pen);
-           break;
-       default:
-           break;
-    } 
-}
-
-QColor LinkableMapObj::getLinkColor()
-{
-    return linkcolor;
-}
-
-void LinkableMapObj::setVisibility (bool v)
-{
-    MapObj::setVisibility (v);
-    updateVisibility();
-}
-
-void LinkableMapObj::setOrientation()
-{
-    if (!parObj)
-    {
-        orientation = UndefinedOrientation;
-        return;
-    }
-
-    // calc orientation depending on position rel to parent
-    if (useRelPos)
-    {
-        if (relPos.x() < 0)
-            orientation = LeftOfCenter;
-        else
-            orientation = RightOfCenter;
-    }  else
-        // use the orientation of the parent:
-        orientation = parObj->getOrientation();
-}
-
-void LinkableMapObj::updateVisibility()
-{
-    bool visnow=visible;
-
-    // Hide links of unselected objects (if wanted)
-    if (((MapItem*)treeItem)->getHideLinkUnselected()
-       && !treeItem->getModel()->isSelected(treeItem) )
-       visnow=false;
-
-    if (visnow) 
-    {
-       if (bottomline)
-       {
-           if (useBottomline)
-               bottomline->show();
-           else        
-               bottomline->hide();
-       }
-
-       switch (style)
-       {
-           case Line:
-               if (l) l->show();
-               break;
-           case Parabel:   
-               for (int i=0; i<segment.size(); ++i)
-                   segment.at(i)->show();
-               break;  
-           case PolyLine:
-               if (p) 
-                   p->show();
-               else 
-                   qDebug()<< "LMO::updateVis p==0 (PolyLine)"; //FIXME-4
-               break;
-           case PolyParabel:   
-               if (p) 
-                   p->show();
-               else
-            qDebug()<< "LMO::updateVis p==0 (PolyParabel) "<<treeItem->getHeadingPlain(); //FIXME-4
-               break;
-           default:
-               break;
-       }
-    } else 
-    {
-       if (bottomline) bottomline->hide();
-       switch (style)
-       {
-           case Line:
-               if (l) l->hide();
-               break;
-           case Parabel:   
-               for (int i=0; i<segment.size(); ++i)
-                   segment.at(i)->hide();
-               break;  
-           case PolyLine:
-               if (p) p->hide();
-               break;
-           case PolyParabel:   
-               if (p) p->hide();
-               break;
-           default:
-               break;
-       }
-    }  
-}
-
-void LinkableMapObj::updateLinkGeometry()
-{
-    // needs:
-    // childRefPos of parent
-    // orient   of parent
-    // style
-    //
-    // sets:
-    // orientation
-    // childRefPos    (by calling setDockPos())
-    // parPos      (by calling setDockPos())
-    //  bottomlineY
-    // drawing of the link itself
-
-    // updateLinkGeometry is called from move, but called from constructor we don't
-    // have parents yet...
-
-    if (style == UndefinedStyle)
-    {
-        setDockPos();
-        return;
-    }
-
-    switch (linkpos)
-    {
-        case Middle:
-            bottomlineY = bbox.top() + bbox.height()/2;        // draw link to middle (of frame)
-            break;
-        case Bottom:
-            //bottomlineY = bbox.bottom()-1;  // draw link to bottom of box
-            bottomlineY = bbox.bottom()  - botPad;  
-            break;
-    }
-    
-    double p2x, p2y;                           // Set P2 Before setting
-    if (!link2ParPos)
-    {
-        p2x = QPointF( parObj->getChildRefPos() ).x();   // P1, we have to look at
-        p2y = QPointF( parObj->getChildRefPos() ).y();   // orientation
-    } else
-    {
-        p2x = QPointF( parObj->getParPos() ).x();
-        p2y = QPointF( parObj->getParPos() ).y();
-    }
-
-    setOrientation();
-    setDockPos(); // Call overloaded method
-
-    double p1x = parPos.x();  // Link is drawn from P1 to P2
-    double p1y = parPos.y();
-
-    double vx = p2x - p1x;    // V=P2-P1
-    double vy = p2y - p1y;
-
-    int z;
-    // Hack to z-move links to MapCenter (d==1) below MCOs frame (d==0) //FIXME-4 no longer used?
-    if (treeItem->depth()<2)
-        //z=(treeItem->depth() -2)*dZ_DEPTH + dZ_LINK;
-        z =- dZ_LINK;
-    else
-        z = dZ_LINK;
-
-    //qDebug()<<"LMO::updateGeo d="<<treeItem->depth()<<"  this="<<this<<"  "<<treeItem->getHeading();
-
-    // Draw the horizontal line below heading (from childRefPos to ParPos)
-    if (bottomline) 
-    {
-        bottomline->setLine (QLineF (childRefPos.x(), childRefPos.y(), p1x, p1y) );
-        bottomline->setZValue (z);
-    }
-
-    double a;  // angle
-    if (vx > -0.000001 && vx < 0.000001)
-        a = M_PI_2;
-    else
-        a = atan( vy / vx );
-    // "turning point" for drawing polygonal links
-    QPointF tp ( -qRound(sin (a) * thickness_start), qRound(cos (a) * thickness_start));
-    
-    // Draw the link
-    switch (style)
-    {
-    case Line:
-        l->setLine( QLine(qRound (parPos.x()),
-                          qRound(parPos.y()),
-                          qRound(p2x),
-                          qRound(p2y) ));
-        l->setZValue (z);
-        break;
-    case Parabel:
-        parabel (pa0, p1x,p1y,p2x,p2y);
-        for (int i=0; i<segment.size(); ++i)
-        {
-            segment.at(i)->setLine(QLineF( pa0.at(i).x(), pa0.at(i).y(), pa0.at(i + 1).x(),pa0.at(i + 1).y()));
-            segment.at(i)->setZValue (z);
-        }
-        break;
-    case PolyLine:
-        pa0.clear();
-        pa0 << QPointF (qRound(p2x + tp.x()), qRound(p2y + tp.y()));
-        pa0 << QPointF (qRound(p2x - tp.x()), qRound(p2y - tp.y()));
-        pa0 << QPointF (qRound (parPos.x()), qRound(parPos.y()) );
-        p->setPolygon(QPolygonF (pa0));
-        p->setZValue (z);
-        break;
-    case PolyParabel:
-        parabel (pa1, p1x,p1y,p2x+tp.x(),p2y+tp.y());
-        parabel (pa2, p1x,p1y,p2x-tp.x(),p2y-tp.y());
-        pa0.clear();
-        for (int i = 0; i <= arcsegs; i++)
-            pa0 << QPointF (pa1.at(i));
-        for (int i = 0; i<= arcsegs; i++)
-            pa0 << QPointF (pa2.at(arcsegs-i));
-        p->setPolygon(QPolygonF (pa0));
-        p->setZValue (z);
-        break;
-    default:
-        break;
-    }
-}
-    
-QPointF LinkableMapObj::getChildRefPos()
-{
-    return childRefPos;
-}
-
-QPointF LinkableMapObj::getFloatRefPos()
-{
-    return floatRefPos;
-}
-
-QPointF LinkableMapObj::getParPos()
-{
-    return parPos;
-}
-
-LinkableMapObj::Orientation LinkableMapObj::getOrientation()
-{
-    return orientation;
-}
-
-void LinkableMapObj::reposition()  // virtual
-{
-}
-
-void LinkableMapObj::requestReposition()   
-{
-    if (!repositionRequest)
-    {
-       // Pass on the request to parental objects, if this hasn't
-       // been done yet
-       repositionRequest=true;
-       if (parObj) parObj->requestReposition();
-    }
-}
-
-void LinkableMapObj::forceReposition()
-{
-    // Sometimes a reposition has to be done immediatly: For example
-    // if the note editor flag changes, there is no user event in mapeditor
-    // which could collect requests for a reposition.
-    // Then we have to call forceReposition()
-    // But no rule without exception: While loading a map or undoing it,
-    // we want to block expensive repositioning, but just do it once at
-    // the end, thus check first:
-
-    VymModel *model=treeItem->getModel();
-    if (model->isRepositionBlocked()) return;  
-    
-    // Pass on the request to parent objects, if this hasn't been done yet
-    if (parObj) 
-       parObj->forceReposition(); 
-    else 
-       reposition(); 
-}
-
-bool LinkableMapObj::repositionRequested()
-{
-    return repositionRequest;
-}
-
-void LinkableMapObj::parabel (QPolygonF &ya, qreal p1x, qreal p1y, qreal p2x, qreal p2y)
-
-{
-    qreal vx = p2x - p1x;    // V=P2-P1
-    qreal vy = p2y - p1y;
-
-    qreal dx;              // delta x during calculation of parabel
-    
-    qreal pnx;             // next point
-    qreal pny;
-    qreal m;
-
-    if (vx > -0.0001 && vx < 0.0001)
-       m = 0;
-    else    
-       m = (vy / (vx*vx));
-    dx = vx/(arcsegs);
-    ya.clear();
-    ya << QPointF (p1x,p1y);
-    for (int i=1; i <= arcsegs; i++)
-    {  
-       pnx = p1x + dx;
-       pny = m * (pnx - parPos.x()) * (pnx - parPos.x()) + parPos.y();
-       ya << QPointF (pnx, pny);
-       p1x = pnx;
-       p1y = pny;
-    }  
-}
-
diff --git a/linkablemapobj.h b/linkablemapobj.h
deleted file mode 100644 (file)
index 5189d04..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-#ifndef LINKABLEMAPOBJ_H
-#define LINKABLEMAPOBJ_H
-
-#include "animpoint.h"
-#include "vymnote.h"
-#include "headingobj.h"
-#include "flagrowobj.h"
-
-#define MAX_DEPTH 999
-
-class VymModel;
-class TreeItem;
-
-/*! \brief This class adds links to MapObj 
-
-The links are connecting the branches (BranchObj) and images (FloatImageObj) in the map.
-*/
-
-class LinkableMapObj:public MapObj {
-public:
-    /*! Orientation of an object depends on the position relative to the parent */
-    enum Orientation {
-        UndefinedOrientation,   //!< Undefined
-        LeftOfCenter,           //!< Object is left of center
-        RightOfCenter           //!< Object is right of center
-    };
-
-    /*! Various drawing styles for links */
-    enum Style {
-        UndefinedStyle,        //!< Undefined
-        Line,          //!< Straight line
-        Parabel,       //!< Parabel
-        PolyLine,      //!< Polygon (thick line)
-        PolyParabel    //!< Thick parabel
-    };
-
-    /*! Vertical position of link in object */
-    enum Position {
-        Middle, //!< Link is drawn in the middle of object
-        Bottom  //!< Link is drawn at bottom of object
-    };
-
-
-    /*! Hint if link should use the default link color or the color of heading */
-    enum ColorHint {
-        DefaultColor,  //!< Link uses the default color
-        HeadingColor   //!< Link uses the color of heading
-    };
-
-    LinkableMapObj ();
-    LinkableMapObj (QGraphicsItem*, TreeItem *ti=NULL);
-    virtual ~LinkableMapObj ();
-protected:
-    virtual void init ();
-    virtual void createBottomLine();
-public:
-    virtual void delLink();
-    virtual void copy (LinkableMapObj*);
-
-    void setChildObj (LinkableMapObj*);
-    virtual void setParObj (LinkableMapObj*);
-    virtual void setParObjTmp (LinkableMapObj*,QPointF,int);   // Only for moving Obj around
-    virtual void unsetParObjTmp();                     // reuse original ParObj
-    virtual bool hasParObjTmp();
-
-    virtual void setUseRelPos (const bool&);
-    virtual bool getUseRelPos();
-    virtual void setRelPos();              // set relPos to current parentPos
-    virtual void setRelPos(const QPointF&);
-    virtual QPointF getRelPos();
-
-    virtual qreal getTopPad();
-    virtual qreal getLeftPad();
-    virtual qreal getRightPad();
-    Style getDefLinkStyle(TreeItem *parent);
-    void setLinkStyle(Style);
-    Style getLinkStyle();
-
-    void setLinkPos (Position);
-    Position getLinkPos ();
-
-    virtual void setLinkColor();           // sets color according to colorhint, overloaded
-    virtual void setLinkColor(QColor);
-    QColor getLinkColor();
-    virtual void setVisibility (bool);
-    virtual void setOrientation();
-    virtual void updateVisibility();       //! hides/unhides link depending on selection
-
-    /*! update parPos, childRefPos
-    depending on pos
-    redraw link with given style */
-    virtual void updateLinkGeometry();
-
-    virtual void setDockPos()=0;           // sets childRefPos and parPos
-    QPointF getChildRefPos();              // returns pos where children dock
-    QPointF getFloatRefPos();              // returns pos where floats dock
-    QPointF getParPos();                    // returns pos where parents dock
-    Orientation getOrientation();          // get orientation
-
-    virtual void reposition();
-    virtual void requestReposition();      // do reposition after next user event
-    virtual void forceReposition();        // to force a reposition now (outside
-    // of mapeditor e.g. in noteeditor
-    virtual bool repositionRequested();
-
-    virtual void calcBBoxSizeWithChildren()=0;// calc size of  BBox including children recursivly
-
-protected:
-    void parabel(QPolygonF &, qreal, qreal, qreal, qreal);  // Create Parabel connecting two points
-
-    QPointF childRefPos;
-    QPointF floatRefPos;
-    QPointF parPos;
-    bool link2ParPos;              // While moving around, sometimes link to parent
-
-    Orientation orientation;
-    qreal linkwidth;               // width of a link
-    QRectF bboxTotal;              // bounding box including children
-
-    LinkableMapObj* parObj;
-    LinkableMapObj* parObjTmpBuf;   // temporary buffer the original parent
-    bool tmpParent;
-
-    int thickness_start;           // for StylePoly*
-    Style style;                   // Current style
-    Position linkpos;              // Link at bottom of object or middle of height
-    QColor linkcolor;               // Link color
-    QPen pen;
-    QGraphicsLineItem* l;           // line style
-    QGraphicsPolygonItem* p;       // poly styles
-    int arcsegs;                    // arc: number of segments
-    QList <QGraphicsLineItem*> segment; // a part of e.g. the parabel
-    QPolygonF pa0;                 // For drawing of PolyParabel and PolyLine
-    QPolygonF pa1;                 // For drawing of PolyParabel
-    QPolygonF pa2;                 // For drawing of PolyParabel
-
-    QGraphicsLineItem* bottomline;  // on bottom of BBox
-    bool useBottomline;                    //! Hint if bottomline should be used
-    qreal bottomlineY;              // vertical offset of dockpos to pos
-
-    bool repositionRequest;        //
-
-    qreal topPad, botPad,
-    leftPad, rightPad;          // padding within bbox
-
-    QPointF  relPos;               // position relative to childRefPos of parent
-    bool useRelPos;
-
-};
-#endif
diff --git a/lockedfiledialog.cpp b/lockedfiledialog.cpp
deleted file mode 100644 (file)
index 845eda5..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#include "lockedfiledialog.h"
-
-LockedFileDialog::LockedFileDialog(QWidget* parent):QDialog (parent)
-{
-    ui.setupUi(this);
-    ui.openReadonlyButton->setText(tr("Open readonly"));
-    ui.deleteLockfileButton->setText(tr("Delete lockfile"));
-}
-
-LockedFileDialog::Result LockedFileDialog::execDialog()
-{
-    // Really show dialog
-    if (QDialog::exec() == QDialog::Accepted)
-        return OpenReadonly;
-    else
-        return DeleteLockfile;
-}
-
-
-void LockedFileDialog::setText (const QString &s)
-{
-    ui.warningTE->setText(s);
-}
-
-void LockedFileDialog::setCaption(const QString &s)
-{
-    QDialog::setWindowTitle("VYM - "+s);
-}
diff --git a/lockedfiledialog.h b/lockedfiledialog.h
deleted file mode 100644 (file)
index e3fc233..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef LOCKEDFILEDIALOG_H
-#define LOCKEDFILEDIALOG_H
-
-#include "ui_lockedfiledialog.h"
-
-class LockedFileDialog : public QDialog
-{
-    Q_OBJECT
-
-public:
-    enum Result {OpenReadonly, DeleteLockfile};
-
-    LockedFileDialog(QWidget* parent = 0);
-    Result execDialog();
-
-public slots:
-    virtual void setText( const QString & s );
-    virtual void setCaption( const QString & s );
-
-private:
-    void init();
-    Ui::LockedFileDialog ui;
-};
-
-#endif 
diff --git a/lockedfiledialog.ui b/lockedfiledialog.ui
deleted file mode 100644 (file)
index e180756..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>LockedFileDialog</class>
- <widget class="QDialog" name="LockedFileDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>557</width>
-    <height>177</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Dialog</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <item>
-    <widget class="QTextEdit" name="warningTE">
-     <property name="palette">
-      <palette>
-       <active>
-        <colorrole role="Base">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>238</red>
-           <green>238</green>
-           <blue>238</blue>
-          </color>
-         </brush>
-        </colorrole>
-       </active>
-       <inactive>
-        <colorrole role="Base">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>238</red>
-           <green>238</green>
-           <blue>238</blue>
-          </color>
-         </brush>
-        </colorrole>
-       </inactive>
-       <disabled>
-        <colorrole role="Base">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>238</red>
-           <green>238</green>
-           <blue>238</blue>
-          </color>
-         </brush>
-        </colorrole>
-       </disabled>
-      </palette>
-     </property>
-     <property name="frameShape">
-      <enum>QFrame::NoFrame</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Plain</enum>
-     </property>
-     <property name="readOnly">
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>26</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="leftMargin">
-      <number>0</number>
-     </property>
-     <property name="topMargin">
-      <number>0</number>
-     </property>
-     <property name="rightMargin">
-      <number>0</number>
-     </property>
-     <property name="bottomMargin">
-      <number>0</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>73</width>
-         <height>31</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="deleteLockfileButton">
-       <property name="text">
-        <string>Delete lockfile</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="openReadonlyButton">
-       <property name="text">
-        <string>Open readonly</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>openReadonlyButton</sender>
-   <signal>pressed()</signal>
-   <receiver>LockedFileDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>518</x>
-     <y>234</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>272</x>
-     <y>127</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>deleteLockfileButton</sender>
-   <signal>pressed()</signal>
-   <receiver>LockedFileDialog</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>436</x>
-     <y>232</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>219</x>
-     <y>223</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/macros.cpp b/macros.cpp
deleted file mode 100644 (file)
index a615c78..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "macros.h"
-
-#include "settings.h"
-
-#include <QDir>
-#include <QTextStream>
-
-extern Settings settings;
-extern QDir vymBaseDir;
-extern QString macroPath;
-
-QString Macros::getPath (const int &i)
-{
-    QString pad;
-    int n=i;
-    if (i%13 <10)
-        pad="0";
-    else
-        pad="";
-
-    QString prefix;
-    if (i<13) 
-        prefix="";
-    else
-    {
-        prefix="s";
-        n=i-12;
-    }
-    return macroPath + QString("macro-%1%2%3.vys").arg(prefix).arg(pad).arg(n);
-}
-
-QString Macros::getMacro (const int &i)    
-{
-    QString fn=getPath(i);
-
-    QFile f (fn);
-    if ( !f.open( QIODevice::ReadOnly ) )
-    {
-        QObject::tr("Warning"),
-                QObject::tr("Couldn't find a macro at  %1.\n").arg(fn)+
-                QObject::tr("Please use Settings->")+QObject::tr("Set directory for vym macros");
-        return QString();
-    }
-
-    QTextStream ts( &f );
-    QString macro= ts.readAll();
-
-   return macro;
-}
diff --git a/macros.h b/macros.h
deleted file mode 100644 (file)
index fac3cac..0000000
--- a/macros.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef MACROS_H
-#define MACROS_H
-
-#include <QString>
-
-class Macros {
-public:
-    QString getPath (const int &i);
-    QString getMacro (const int &i);
-};
-#endif
diff --git a/macros/macro-01.vys b/macros/macro-01.vys
deleted file mode 100644 (file)
index f2e242f..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Macro F1
-colorSubtree ("#ff0000");
diff --git a/macros/macro-02.vys b/macros/macro-02.vys
deleted file mode 100644 (file)
index 9a904e6..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Macro F2
-colorSubtree ("#d95100");
diff --git a/macros/macro-03.vys b/macros/macro-03.vys
deleted file mode 100644 (file)
index 77514bd..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Macro F3 
-colorSubtree ("#009900");
diff --git a/macros/macro-04.vys b/macros/macro-04.vys
deleted file mode 100644 (file)
index 73f74c7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-#Macro F4
-colorSubtree ("#00aa7f");
diff --git a/macros/macro-05.vys b/macros/macro-05.vys
deleted file mode 100644 (file)
index 2ce00d9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Macro F5 
-colorSubtree ("#aa00ff");
diff --git a/macros/macro-06.vys b/macros/macro-06.vys
deleted file mode 100644 (file)
index 3f10db6..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Macro F6
-colorSubtree ("#c466ff");
diff --git a/macros/macro-07.vys b/macros/macro-07.vys
deleted file mode 100644 (file)
index 510ef44..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Macro F7
-colorSubtree ("#0000ff");
diff --git a/macros/macro-08.vys b/macros/macro-08.vys
deleted file mode 100644 (file)
index 62e88e8..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-# Macro F8
-colorSubtree ("#616147");
-toggleFlag ("clock");
diff --git a/macros/macro-09.vys b/macros/macro-09.vys
deleted file mode 100644 (file)
index d7a89d3..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Macro F9
-toggleFrameIncludeChildren();
diff --git a/macros/macro-10.vys b/macros/macro-10.vys
deleted file mode 100644 (file)
index 112b687..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Macro F10
-setFrameType ("NoFrame");
diff --git a/macros/macro-11.vys b/macros/macro-11.vys
deleted file mode 100644 (file)
index ab42974..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-# Macro F11
-setFrameType ("Ellipse");
diff --git a/macros/macro-12.vys b/macros/macro-12.vys
deleted file mode 100644 (file)
index bb5d279..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# Macro F12
-setFrameType ("RoundedRectangle");
-setFramePadding (10);
-setFrameIncludeChildren (true);
diff --git a/macros/macro-s01.vys b/macros/macro-s01.vys
deleted file mode 100644 (file)
index 212f8be..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-# Macro F1 + Shift
-toggleTask();
-toggleFlag("cross-red");
diff --git a/macros/macro-s02.vys b/macros/macro-s02.vys
deleted file mode 100644 (file)
index 34d759c..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F2 + Shift
diff --git a/macros/macro-s03.vys b/macros/macro-s03.vys
deleted file mode 100644 (file)
index 9c1f8b9..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F3 + Shift
diff --git a/macros/macro-s04.vys b/macros/macro-s04.vys
deleted file mode 100644 (file)
index 35287a1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F4 + Shift
diff --git a/macros/macro-s05.vys b/macros/macro-s05.vys
deleted file mode 100644 (file)
index e187e6f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F5 + Shift
diff --git a/macros/macro-s06.vys b/macros/macro-s06.vys
deleted file mode 100644 (file)
index 6403c87..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F6 + Shift
diff --git a/macros/macro-s07.vys b/macros/macro-s07.vys
deleted file mode 100644 (file)
index f194071..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F7 + Shift
diff --git a/macros/macro-s08.vys b/macros/macro-s08.vys
deleted file mode 100644 (file)
index fe7bf7e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F8 + Shift
diff --git a/macros/macro-s09.vys b/macros/macro-s09.vys
deleted file mode 100644 (file)
index a9b24bd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F9 + Shift
diff --git a/macros/macro-s10.vys b/macros/macro-s10.vys
deleted file mode 100644 (file)
index 59b514f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F10 + Shift
diff --git a/macros/macro-s11.vys b/macros/macro-s11.vys
deleted file mode 100644 (file)
index 305bf2a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F11 + Shift
diff --git a/macros/macro-s12.vys b/macros/macro-s12.vys
deleted file mode 100644 (file)
index 7b24e5e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-# Macro F12 + Shift
diff --git a/macros/macros.vys b/macros/macros.vys
new file mode 100644 (file)
index 0000000..77087a2
--- /dev/null
@@ -0,0 +1,339 @@
+// vim:syntax=javascript
+
+// Helper function to toggle frame
+function toggle_frame(map)
+{
+    if (map.getFrameType() == "NoFrame" ) {
+        map.setFrameType ("RoundedRectangle");
+    } else
+        map.setFrameType ("NoFrame");
+}
+function colorSubtreeWithQuickColor(n)
+{
+    map = vym.currentMap();
+    vym.selectQuickColor(n);
+    c = vym.currentColor();
+    map.colorSubtree (c);
+}
+
+// Macro F1: Color subtree red
+function macro_f1()
+{
+    colorSubtreeWithQuickColor(0);
+}
+
+// Macro F2: Color subtree orange
+function macro_f2()
+{
+    colorSubtreeWithQuickColor(1);
+
+    // Or if you prefer to edit the heading of a branch using "F2"-key,
+    // you can use below instead of above:
+    // vym.editHeading();
+}
+
+// Macro F3: Color subtree green
+function macro_f3()
+{
+    colorSubtreeWithQuickColor(2);
+}
+
+
+// Macro F4: Color subtree purple
+function macro_f4()
+{
+    colorSubtreeWithQuickColor(3);
+}
+
+// Macro F5: Color subtree blue
+function macro_f5()
+{
+    colorSubtreeWithQuickColor(4);
+}
+
+// Macro F6: Color subtree blue
+function macro_f6()
+{
+    colorSubtreeWithQuickColor(5);
+}
+
+// Macro F7: Color subtree black
+function macro_f7()
+{
+    colorSubtreeWithQuickColor(6);
+}
+
+// Macro F8: Color subtree dark gray
+function macro_f8()
+{
+    colorSubtreeWithQuickColor(7);
+}
+
+// Macro F9: Color subtree light gray
+function macro_f9()
+{
+    colorSubtreeWithQuickColor(8);
+}
+
+// Macro F10: Color subtree light white
+function macro_f10()
+{
+    colorSubtreeWithQuickColor(9);
+}
+
+// Macro F11: Repeat last command
+function macro_f11()
+{
+    map = vym.currentMap();
+    map.repeatLastCommand();
+}
+
+// Macro F12: toggle high prio task
+function macro_f12()
+{
+       // Assuming 3 states, which are cycled:
+       // 0 - nothing set
+       // 1 - high prio task with arrows
+       // 2 - done task without arrows, but green hook
+    map = vym.currentMap();
+    if (map.hasTask() ) {
+        // Switch to state 2 
+        map.toggleTask();
+        map.unsetFlagByName("2arrow-up");
+        map.unsetFlagByName("stopsign");
+        map.setFlagByName("hook-green");
+        map.colorBranch("#0000ff");
+    } else {
+        if (map.hasActiveFlag("hook-green")) {
+            // Switch to state 0
+            map.unsetFlagByName("hook-green");
+        } else {
+            // Switch to state 1
+            map.setFlagByName("2arrow-up");
+            map.toggleTask();
+        }
+    }
+}
+
+
+// Macro Shift + F1: Frame background light red
+function macro_shift_f1()
+{
+    map = vym.currentMap();
+    status = "Background off";
+    if (map.getFrameType() == "NoFrame") {
+        status = "Background light red";
+    }
+    toggle_frame ( map );
+    map.setFrameBrushColor("#ffb3b4");
+    statusMessage(status);
+}
+
+// Macro Shift + F2: Frame background light green
+function macro_shift_f2()
+{
+    map = vym.currentMap();
+    status = "Background off";
+    if (map.getFrameType() == "NoFrame") {
+        status = "Background light green";
+    }
+    toggle_frame ( map );
+    map.setFrameBrushColor("#bdffd6");
+    statusMessage(status);
+}
+
+// Macro Shift + F3: Frame background light yellow
+function macro_shift_f3()
+{
+    map = vym.currentMap();
+    status = "Background off";
+    if (map.getFrameType() == "NoFrame") {
+        status = "Background light yellow";
+    }
+    toggle_frame ( map );
+    map.setFrameBrushColor("#efefb3");
+    statusMessage(status);
+}
+
+// Macro Shift + F4: Frame background light blue
+function macro_shift_f4()
+{
+    map = vym.currentMap();
+    status = "Background off";
+    if (map.getFrameType() == "NoFrame") {
+        status = "Background light blue";
+    }
+    toggle_frame ( map );
+    map.setFrameBrushColor("#e2e6ff");
+    statusMessage(status);
+}
+
+// Macro Shift + F5: Frame background light grey
+function macro_shift_f5()
+{
+    map = vym.currentMap();
+    status = "Background off";
+    if (map.getFrameType() == "NoFrame") {
+        status = "Background light grey";
+    }
+    toggle_frame ( map );
+    map.setFrameBrushColor("#d6d6d6");
+    statusMessage(status);
+}
+
+// Macro Shift + F6: Frame background purple
+function macro_shift_f6()
+{
+    map = vym.currentMap();
+    status = "Background off";
+    if (map.getFrameType() == "NoFrame") {
+        status = "Background purple";
+    }
+    toggle_frame ( map );
+    map.setFrameBrushColor("#ffaaff");
+    statusMessage(status);
+}
+
+// Macro Shift + F7: Frame background white
+function macro_shift_f7()
+{
+    map = vym.currentMap();
+    status = "Background off";
+    if (map.getFrameType() == "NoFrame") {
+        status = "Background white";
+    }
+    toggle_frame ( map );
+    map.setFrameBrushColor("#ffffff");
+    statusMessage(status);
+}
+
+// Macro Shift + F8: Frame background black
+function macro_shift_f8()
+{
+    map = vym.currentMap();
+    status = "Background off";
+    if (map.getFrameType() == "NoFrame") {
+        status = "Background black";
+    }
+    toggle_frame ( map );
+    map.setFrameBrushColor("#000000");
+    statusMessage(status);
+}
+
+// Macro Shift + F9: Toggle frame to include children
+function macro_shift_f9()
+{
+    map = vym.currentMap();
+    map.toggleFrameIncludeChildren();
+}
+
+// Macro Shift + F10: 
+// Useful for timestamps created on last entry
+function macro_shift_f10()
+{   
+}
+
+// Macro Shift + F11: Replace "@..." by mutt aliases
+function macro_shift_f11()
+{
+       map     = vym.currentMap();
+       lines   = vym.loadFile("/home/uwe/.mutt/eb-aliases").split('\n');
+
+
+       if (map.getHeadingPlainText() == "parts") {
+               map.setHeadingPlainText("Participants");
+       }
+
+       map.initIterator("foobar");
+
+       while (map.nextIterator("foobar") ) {
+               heading = map.getHeadingPlainText();
+
+               // Search for "@alias" at beginning of heading
+               if (heading.search(/^@\w/) == 0) {
+                       alias_map = heading.replace(/@/,"");
+
+                       for(var i = 0;i < lines.length;i++){
+                               if (lines[i].search(/^alias/) == 0) {
+                                       if (lines[i].search(alias_map) == 6) {
+                                               name = lines[i].replace(/^.+?\"/, "");
+                                               name = name.replace(/\".+/, "");
+
+                                               email = lines[i].replace(/^.+?</, "");
+                                               email = email.replace(/>.*/, "");
+
+                                               map.setHeadingPlainText(name);
+                                       }
+                               }
+                       }
+               } else {
+                       print ("No alias found");
+        }
+       }
+}
+
+// Macro Shift + F12: Strip URLs from confluence and generate readable heading
+function macro_shift_f12()
+{
+    vym.clearConsole();
+    m1 = vym.currentMap();
+
+    if (vym.isConfluenceAgentAvailable() ) {
+        m1.setHeadingConfluencePageName();
+        statusMessage("Contacting Confluence...");
+        return;
+    } 
+
+    org = m1.getURL();
+
+    if (org.length == 0) {
+               // No URL yet
+               org = m1.getHeadingPlainText();
+               print ("No URL yet");
+               print ("org: " + org);
+               m1.setURL(org);
+       }
+    print ("Original:");
+    print (org);
+
+    s = org;
+
+    // Chop trailing "/"
+    if (s[s.length-1] == '/') {
+      s = s.slice(0, s.length - 1);
+    }
+
+    // Remove confluence parts
+    if (s.indexOf("infohub") != -1) {
+      print("Found infohub page");
+      if (s.indexOf("spaceKey") != -1) {
+        s = s.replace(/^.*spaceKey=/g, "");
+        s = s.replace(/(&title=)/g, ": ");
+      } else
+      {
+        s = s.replace(/^.*display\//g, "");
+        s = s.replace(/\//g, ": ");
+      }
+    } else // no infohub page
+    {
+      // remove path
+      s = s.replace(/^.*\//g, "");
+    }
+
+    print (s);
+
+    // Replace "+" and "-"
+    s = s.replace(/\+/g, " ");
+    s = s.replace(/%3A/g, "");
+    print ("After replacing:");
+    print (s);
+
+    // Write new header
+    m1.setHeadingPlainText(s);
+
+    if ( org == s ) {
+      statusMessage ("Heading not changed.");
+    } else {
+      statusMessage("Changed heading: " + org + " -> " + s);
+    }
+}
\ No newline at end of file
index 0aec4c3f24daa2214170a36e6d46554579e780d8..80ba1027dfdd573173a22735f10db9e2cb5618da 100644 (file)
@@ -1,5 +1,6 @@
-# Template for taking snapshots in slideeditor
+// Template for taking snapshots in slideeditor
 
-setMapZoom(CURRENT_ZOOM);
-setMapRotation(CURRENT_ANGLE);
-centerOnID(CURRENT_ID);
+map = vym.currentMap();
+map.setMapZoom(CURRENT_ZOOM);
+map.setMapRotation(CURRENT_ANGLE);
+map.centerOnID(CURRENT_ID);
diff --git a/main.cpp b/main.cpp
deleted file mode 100644 (file)
index e3fccfa..0000000
--- a/main.cpp
+++ /dev/null
@@ -1,509 +0,0 @@
-#include <QApplication>
-#include <QMessageBox>
-
-#include <cstdlib>
-#include <iostream>
-using namespace std;
-
-#include "command.h"
-#include "findwidget.h"
-#include "findresultwidget.h"
-#include "flagrow.h"
-#include "flagrowobj.h"
-#include "headingeditor.h"
-#include "macros.h"
-#include "mainwindow.h"
-#include "noteeditor.h"
-#include "options.h"
-#include "settings.h"
-#include "scripteditor.h"
-#include "shortcuts.h"
-#include "taskeditor.h"
-#include "taskmodel.h"
-#include "version.h"
-
-#if defined(VYM_DBUS)
-#include <sys/types.h>         // To retrieve PID for use in DBUS
-#endif
-
-#if defined(Q_OS_WIN32)
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#define getpid GetCurrentProcessId
-#else
-#include <unistd.h>
-#endif
-
-#if defined(VYM_DBUS)
-#include <QtDBus/QDBusConnection>
-#include <QtDBus/QDBusError>
-#endif
-
-QString vymName;
-QString vymVersion;
-QString vymHome;
-QString vymBuildDate;
-QString vymCodeName;
-QString vymInstanceName;
-QString vymPlatform;
-QString localeName;
-
-QTextStream vout(stdout);        // vymout - Testing for now. Flush after writing...
-
-bool bugzillaClientAvailable;  // openSUSE specific currently
-
-TaskModel     *taskModel;
-TaskEditor    *taskEditor;
-ScriptEditor  *scriptEditor;
-HeadingEditor *headingEditor;      
-NoteEditor    *noteEditor;     // used in Constr. of LinkableMapObj
-// initialized in mainwindow
-Main *mainWindow;              // used in BranchObj::select()          
-FindWidget *findWidget;
-FindResultWidget *findResultWidget;
-
-Macros macros;
-
-uint itemLastID=0;             // Unique ID for all items in all models
-
-QString tmpVymDir;             // All temp files go there, created in mainwindow
-QString clipboardDir;          // Clipboard used in all mapEditors
-QString clipboardFile;         // Clipboard used in all mapEditors
-QDir vymBaseDir;               // Containing all styles, scripts, images, ...
-QDir lastImageDir;
-QDir lastMapDir;
-QDir lastExportDir;
-#if defined(Q_OS_WIN32)
-QDir vymInstallDir;
-#endif
-QString iconPath;              // Pointing to icons used for toolbars
-QString flagsPath;             // Pointing to flags
-QString macroPath;              // Pointing to macros
-
-bool clipboardEmpty;           
-bool debug;             // global debugging flag
-bool testmode;                 // Used to disable saving of autosave setting
-FlagRow *systemFlagsMaster; 
-FlagRow *standardFlagsMaster;  
-
-Switchboard switchboard;
-
-Settings settings ("InSilmaril","vym"); // Organization, Application name
-QString zipToolPath;    // Platform dependant zip tool
-
-QList <Command*> modelCommands;
-
-Options options;
-ImageIO imageIO;
-
-int statusbarTime=10000;
-
-int warningCount=0;
-int criticalCount=0;
-int fatalCount=0;
-
-void msgHandler (QtMsgType type, const QMessageLogContext &context, const QString &msg)
-{
-    QByteArray localMsg = msg.toLocal8Bit();
-    switch (type)
-    {
-    case QtDebugMsg:
-        fprintf(stderr, "%s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
-        break;
-    case QtWarningMsg:
-        fprintf(stderr, "Warning: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
-        warningCount++;
-        break;
-    case QtCriticalMsg:
-        fprintf(stderr, "Critical: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
-        criticalCount++;
-        break;
-    case QtFatalMsg:
-        fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
-        fatalCount++;
-    default:
-        fprintf(stderr, "Info: %s (%s:%u, %s)\n", localMsg.constData(), context.file, context.line, context.function);
-    }
-}
-
-int main(int argc, char* argv[])
-{
-    QApplication app(argc,argv);
-
-    vymName=__VYM_NAME;
-    vymVersion=__VYM_VERSION;
-    vymBuildDate=__VYM_BUILD_DATE;
-    vymCodeName=__VYM_CODENAME;
-    vymHome=__VYM_HOME;
-
-    // Install our own handler for messages
-    qInstallMessageHandler(msgHandler);
-
-    // Testing for now
-    vout.setCodec("UTF-8");
-
-    // Reading and initializing options commandline options
-    options.add ("batch", Option::Switch, "b", "batch");
-    options.add ("commands", Option::Switch, "c", "commands");
-    options.add ("commandslatex", Option::Switch, "cl", "commandslatex");
-    options.add ("debug", Option::Switch, "d", "debug");
-    options.add ("help", Option::Switch, "h", "help");
-    options.add ("local", Option::Switch, "l", "local");
-    options.add ("locale", Option::String, "locale", "locale");
-    options.add ("name", Option::String, "n", "name");
-    options.add ("quit", Option::Switch, "q", "quit");
-    options.add ("run", Option::String, "r", "run");
-    options.add ("restore", Option::Switch, "R", "restore");
-    options.add ("shortcuts", Option::Switch, "s", "shortcuts");
-    options.add ("shortcutsLaTeX", Option::Switch, "sl", "shortcutsLaTeX");
-    options.add ("testmode", Option::Switch, "t", "testmode");
-    options.add ("version", Option::Switch, "v","version");
-    options.setHelpText (
-                "VYM - View Your Mind\n"
-                "--------------------\n\n"
-                "Information about vym can be found in vym.pdf,\n"
-                "which should be part of the vym package.\n"
-                "It is also available at the project homepage:\n\n"
-                "http://www.InSilmaril.de/vym\n\n"
-                "Usage: vym [OPTION]... [FILE]... \n"
-                "Open FILEs with vym\n\n"
-                "-b           batch       batch mode: hide windows\n"
-                "-c           commands   List all available commands\n"
-                "-d           debug       Show debugging output\n"
-                "-h           help        Show this help text\n"
-                "-l           local       Run with ressources in current directory\n"
-                "--locale     locale      Override system locale setting to select language\n"
-                "-n  STRING   name        Set name of instance for DBus access\n"
-                "-q           quit        Quit immediatly after start for benchmarking\n"
-                "-r  FILE     run         Run script\n"
-                "-R           restore     Restore last session\n"
-                "-s           shortcuts   Show Keyboard shortcuts on start\n"
-                "--sl         LaTeX       Show Keyboard shortcuts in LaTeX format on start\n"
-                "-t           testmode    Test mode, e.g. no autosave and changing of its setting\n"
-                "-v           version     Show vym version\n"
-                );
-
-    if (options.parse())
-    {
-        cout << endl << qPrintable( options.getHelpText())<<endl;
-        return 1;
-    }
-
-    if (options.isOn ("version"))
-    {
-        cout << "VYM - View Your Mind (c) 2004-"<< QDate::currentDate().year()<<" Uwe Drechsel "  << endl
-             <<"   Version: "<<__VYM_VERSION <<endl
-            <<"Build date: "<<__VYM_BUILD_DATE << endl
-           <<"  "<<__VYM_CODENAME<<endl;
-
-        return 0;
-    }
-    
-    // Update some configurations, which were moved in 2.4.0
-    // This code should be removed later, e.g. in 2.6.0...
-    QStringList settingsChanged;
-    settingsChanged  << "readerURL"
-                     << "readerPDF"
-                     << "autosave/use"
-                     << "autosave/ms"
-                     << "writeBackupFile"
-                     << "printerName"
-                     << "printerFormat"
-                     << "printerFileName";
-    foreach (QString s, settingsChanged)
-    {
-        if (settings.contains("/mainwindow/" + s))
-        {
-            settings.setValue("/system/" + s, settings.value("/mainwindow/" + s));
-            settings.remove  ("/mainwindow/" + s);
-        }
-    }
-
-    if (settings.contains( "/mainwindow/readerURL") )
-        settings.setValue( "/system/readerURL", settings.value( "/mainwindow/readerURL"));
-
-    taskModel = new TaskModel();
-
-    debug=options.isOn ("debug");
-    //debug=true;
-    testmode=options.isOn ("testmode");
-
-    QString pidString=QString ("%1").arg(getpid());
-    if (debug) qDebug()<< "vym PID="<<pidString;
-
-#if defined(VYM_DBUS)
-    // Register for DBUS
-    QDBusConnection dbusConnection=QDBusConnection::sessionBus();
-    if (!dbusConnection.registerService ("org.insilmaril.vym-"+pidString))
-    {
-        fprintf(stderr, "%s\n",
-                qPrintable(QDBusConnection::sessionBus().lastError().message()));
-        exit(1);
-    }
-#endif
-
-    if (options.isOn ("name"))
-        vymInstanceName=options.getArg ("name");
-    else
-        vymInstanceName=pidString;
-    
-    bool debugBuild=false;
-#ifdef QT_DEBUG
-    qDebug()<<"QT_DEBUG is set";
-    debugBuild=true;
-#endif
-
-    // Use /usr/share/vym or /usr/local/share/vym or . ?
-    // First try options
-    if (options.isOn ("local") || debugBuild)
-    {
-        vymBaseDir.setPath (vymBaseDir.currentPath());
-    } else
-        // then look for environment variable
-        if (getenv("VYMHOME")!=0)
-        {
-            vymBaseDir.setPath (getenv("VYMHOME"));
-        } else
-            // ok, let's find my way on my own
-        {
-#if defined (Q_OS_MACX)
-            // Executable is in vym.app/Contents/MacOS, so go up first:
-            vymBaseDir = QCoreApplication::applicationDirPath();
-            vymBaseDir.cdUp();
-            vymBaseDir.cd("Resources");
-#elif defined (Q_OS_WIN32)
-            QString basePath;
-
-            wchar_t wbuf[512];
-            if (GetModuleFileName(NULL, wbuf, 512))
-            {
-                QString mfn(QString::fromWCharArray(wbuf));
-                mfn.replace('\\', '/');
-                int i=mfn.lastIndexOf('/');
-                if (i<0)
-                {
-                    QMessageBox::critical(0,
-                        "Error",
-                        "Couldn't setup vymBasePath");
-                    return 0;
-                }
-                if (mfn.right(mfn.length() -i -1) != "vym.exe")
-                {
-                    QMessageBox::critical(0,
-                        "Error",
-                        "vym executable not known as vym.exe");
-                    return 0;
-                }
-                basePath=mfn.left(i);
-            }
-            if (basePath.isEmpty())
-                basePath = vymBaseDir.currentPath();
-
-            vymInstallDir.setPath(basePath);
-            vymBaseDir.setPath(basePath);
-#else
-            vymBaseDir.setPath ("/usr/share/vym");
-            if (!vymBaseDir.exists())
-            {
-                vymBaseDir.setPath ("/usr/local/share/vym");
-                if (!vymBaseDir.exists())
-                    vymBaseDir.setPath(vymBaseDir.currentPath() );
-            }
-#endif
-        }
-
-    // Platform specific settings
-    vymPlatform = QSysInfo::prettyProductName();
-
-#if defined(Q_OS_MACX)
-#elif defined(Q_OS_WIN32)
-    zipToolPath = settings.value("/system/zipToolPath", "c:\\Program Files\\7-Zip\\7z.exe").toString();
-#elif defined(Q_OS_LINUX)
-#else
-#endif
-    iconPath=vymBaseDir.path()+"/icons/";
-    flagsPath=vymBaseDir.path()+"/flags/";
-    macroPath=vymBaseDir.path() + "/macros/";
-
-    // Some directories
-    QDir useDir;
-    if (options.isOn ("local"))
-        useDir=QDir().current();
-    else
-        useDir=QDir().home();
-    lastImageDir=useDir;
-    lastMapDir=useDir;
-    lastExportDir=useDir;
-
-    if (options.isOn ("help"))
-    {
-        cout << qPrintable (options.getHelpText())<<endl;
-        return 0;
-    }
-
-    // Initialize translations
-    if (options.isOn ("locale"))
-    {
-        localeName = options.getArg ("locale");
-        if (debug) qDebug() << "Main:  using option for locale";
-    }
-    else
-    {
-#if defined(Q_OS_LINUX)
-        if (debug) qDebug() << "Main:  (OS Linux)   using $LANG for locale";
-        localeName = QProcessEnvironment::systemEnvironment().value("LANG","en");
-#else
-        if (debug) qDebug() << "Main:  (OS other)   using  QLocale::system().uiLanguages(  using for locale";
-        localeName = QLocale::system().uiLanguages().first();
-
-        if (localeName.contains("-"))
-        {
-            if (debug) qDebug() << "Main:  Replacing '-' with '_' in locale";
-            localeName.replace( "-", "_");
-        }
-#endif
-    }
-    
-    if (debug) 
-    {
-        qDebug() << "Main:     localName: " << localeName;
-        qDebug() << "Main:  translations: " << localeName, vymBaseDir.path() + "/lang";
-        qDebug() << "Main:   uiLanguages: " << QLocale::system().uiLanguages();
-        qDebug() << "Main:          LANG: " << QProcessEnvironment::systemEnvironment().value("LANG","foobar");
-    }
-  
-    QTranslator vymTranslator;
-    if (!vymTranslator.load( QString("vym.%1").arg( localeName ), vymBaseDir.path() + "/lang") )
-        QMessageBox::warning( 0, QObject::tr( "Warning" ),
-                               QString("Couldn't load translations for locale \"%1\" in\n%2")
-                               .arg(localeName)
-                               .arg(vymBaseDir.path() + "/lang") );
-    app.installTranslator( &vymTranslator );
-
-    // Initializing the master rows of flags
-    systemFlagsMaster=new FlagRow;
-    systemFlagsMaster->setName ("systemFlagsMaster");
-    standardFlagsMaster=new FlagRow;
-    standardFlagsMaster->setName ("standardFlagsMaster");
-
-    // Initialize editors
-    noteEditor = new NoteEditor("noteeditor");
-    noteEditor->setWindowIcon (QPixmap (":/vym-editor.png"));
-    headingEditor = new HeadingEditor("headingeditor");
-
-    // Check if there is a BugzillaClient
-    QFileInfo fi(vymBaseDir.path()+"/scripts/BugzillaClient.pm");
-    //bugzillaClientAvailable=fi.exists();
-    bugzillaClientAvailable=true;   //FIXME-3 add real check again
-
-    // Initialize mainwindow
-#if defined(Q_OS_WIN32)
-    Main m(0, Qt::Window | Qt::MSWindowsOwnDC);
-#else
-    Main m;
-#endif
-
-    // Check for zip tools (at least on windows...)
-#if defined(Q_OS_WIN32)
-    QFile zipTool(zipToolPath);
-    if (!zipTool.exists() )
-    {
-        QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                               QObject::tr("Couldn't find tool to unzip data. "
-                                           "Please download and install 7z and set "
-                                           "path in Settings menu:\n ") +
-                                           "http://www.7-zip.org/");
-         m.settingsZipTool();
-    }
-#endif
-
-    m.setWindowIcon (QPixmap (":/vym.png"));
-    m.fileNew();
-
-    if (options.isOn ("commands"))
-    {
-        cout << "Available commands:\n";
-        cout << "==================:\n";
-        foreach (Command* c, modelCommands)
-            cout << c->getDescription().toStdString() << endl;
-        return 0;
-    }
-
-    if (options.isOn ("commandslatex"))
-    {
-        foreach (Command* c, modelCommands)
-            cout << c->getDescriptionLaTeX().toStdString() << endl;
-        return 0;
-    }
-
-    if (options.isOn ("batch"))
-        m.hide();
-    else
-    {
-        // Paint Mainwindow first time
-        qApp->processEvents();
-        m.show();
-    }
-
-    // Show release notes, if not already done
-    m.checkReleaseNotes();
-
-    // Check for updates
-    m.checkUpdates();
-
-    if (options.isOn("shortcuts")) switchboard.printASCII();    //FIXME-3 global switchboard and exit after listing
-
-    m.loadCmdLine();
-
-    // For whatever reason tableView is not sorted initially
-    taskEditor->sort();
-
-    // Restore last session
-    if (options.isOn ("restore"))
-        m.fileRestoreSession();
-
-    // Run script
-    if (options.isOn ("run"))
-    {
-        QString script;
-        QString fn=options.getArg ("run");
-        if ( !fn.isEmpty() )
-        {
-            QFile f( fn );
-            if ( !f.open( QFile::ReadOnly|QFile::Text ) )
-            {
-                QString error (QObject::tr("Error"));
-                QString msg (QObject::tr("Couldn't open \"%1\"\n%2.").arg(fn).arg(f.errorString()));
-                if (options.isOn("batch"))
-                    qWarning ()<<error+": "+msg;
-                else QMessageBox::warning(0, error,msg);
-                return 0;
-            }
-
-            QTextStream in( &f );
-            script=in.readAll();
-            f.close();
-            m.executeEverywhere (script);
-            m.setScriptFile (fn);
-        }
-    }
-    
-    // For benchmarking we may want to quit instead of entering event loop
-    if (options.isOn ("quit")) return 0;
-
-    // Enable some last minute cleanup
-    QObject::connect( &app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()) );
-
-    app.exec();
-
-    // Cleanup
-    delete noteEditor;
-
-    int s = warningCount + criticalCount + fatalCount;
-    if ( s > 0 ) 
-        qDebug() << "vym exiting with:\n" << 
-        warningCount << " warning messages\n" << 
-        criticalCount<<" critical messages\n" <<
-        fatalCount<<" fatal messages";
-    return s;
-}
diff --git a/mainwindow.cpp b/mainwindow.cpp
deleted file mode 100644 (file)
index 7a53f53..0000000
+++ /dev/null
@@ -1,6159 +0,0 @@
-#include "mainwindow.h"
-
-#include <iostream>
-#include <typeinfo>
-
-#ifndef Q_OS_WIN
-#include <unistd.h>
-#endif
-
-#if defined(VYM_DBUS)
-#include "adaptorvym.h"
-#endif
-
-#include <QColorDialog>
-#include <QDockWidget>
-#include <QFontDialog>
-#include <QInputDialog>
-#include <QMenuBar>
-#include <QPrinter>
-#include <QStatusBar>
-#include <QTextStream>
-
-#include "aboutdialog.h"
-#include "branchpropeditor.h"
-#include "branchitem.h"
-#include "command.h"
-#include "downloadagent.h"
-#include "exportoofiledialog.h"
-#include "exports.h"
-#include "file.h"
-#include "findresultwidget.h"
-#include "findresultmodel.h"
-#include "flagrow.h"
-#include "headingeditor.h"
-#include "historywindow.h"
-#include "imports.h"
-#include "lineeditdialog.h"
-#include "macros.h"
-#include "mapeditor.h"
-#include "misc.h"
-#include "options.h"
-#include "vymprocess.h"
-#include "scripteditor.h"
-#include "settings.h"
-#include "shortcuts.h"
-#include "noteeditor.h"
-#include "task.h"
-#include "taskeditor.h"
-#include "taskmodel.h"
-#include "treeeditor.h"
-#include "version.h"
-#include "warningdialog.h"
-#include "xlinkitem.h"
-
-QPrinter *printer;
-
-//#include <modeltest.h>    
-
-#if defined(VYM_DBUS)
-#include <QDBusConnection>
-#endif
-
-extern NoteEditor    *noteEditor;
-extern HeadingEditor *headingEditor;
-extern ScriptEditor  *scriptEditor;
-extern Main *mainWindow;
-extern FindResultWidget *findResultWidget;  
-extern TaskEditor *taskEditor;
-extern TaskModel *taskModel;
-extern Macros macros;
-extern QString tmpVymDir;
-extern QString clipboardDir;
-extern QString clipboardFile;
-extern bool clipboardEmpty;
-extern int statusbarTime;
-extern FlagRow *standardFlagsMaster;   
-extern FlagRow *systemFlagsMaster;
-extern QString vymName;
-extern QString vymVersion;
-extern QString vymPlatform;
-extern QString vymBuildDate;
-extern QString localeName;
-extern bool debug;
-extern bool testmode;
-extern QTextStream vout;
-extern bool bugzillaClientAvailable;
-extern Switchboard switchboard;
-
-
-extern QList <Command*> modelCommands;
-
-QMenu* branchAddContextMenu;
-QMenu* branchContextMenu;
-QMenu* branchLinksContextMenu;
-QMenu* branchRemoveContextMenu;
-QMenu* branchXLinksContextMenuEdit;
-QMenu* branchXLinksContextMenuFollow;
-QMenu* canvasContextMenu;
-QMenu* floatimageContextMenu;
-QMenu* targetsContextMenu;
-QMenu* taskContextMenu;
-QMenu* fileLastMapsMenu;
-QMenu* fileImportMenu;
-QMenu* fileExportMenu;
-
-extern Settings settings;
-extern Options options;
-extern ImageIO imageIO;
-
-extern QDir vymBaseDir;
-extern QDir lastImageDir;
-extern QDir lastMapDir;
-#if defined(Q_OS_WIN32)
-extern QDir vymInstallDir;
-#endif
-extern QString zipToolPath;
-
-Main::Main(QWidget* parent, Qt::WindowFlags f) : QMainWindow(parent,f)
-{
-    mainWindow = this;
-
-    setWindowTitle ("VYM - View Your Mind");
-
-    shortcutScope = tr("Main window","Shortcut scope");
-
-    // Load window settings
-    #if defined(Q_OS_WIN32)
-    if (settings.value("/mainwindow/geometry/maximized", false).toBool())
-    {
-       setWindowState(Qt::WindowMaximized);
-    }
-    else
-    #endif
-    {
-       resize (settings.value("/mainwindow/geometry/size", QSize (1024,900)).toSize());
-       move   (settings.value("/mainwindow/geometry/pos",  QPoint(50,50)).toPoint());
-    }
-
-    // Sometimes we may need to remember old selections
-    prevSelection="";
-
-    // Default color
-    currentColor=Qt::black;
-
-    // Create unique temporary directory
-    bool ok;
-    tmpVymDir=makeTmpDir (ok,"vym");
-    if (!ok)
-    {
-       qWarning ("Mainwindow: Could not create temporary directory, failed to start vym");
-       exit (1);
-    }
-    if (debug) qDebug ()<<"tmpDir="<<tmpVymDir;
-
-    // Create direcctory for clipboard
-    clipboardDir=tmpVymDir+"/clipboard";
-    clipboardFile="map.xml";
-    QDir d(clipboardDir);
-    d.mkdir (clipboardDir);
-    makeSubDirs (clipboardDir);
-    clipboardEmpty=true;
-
-    // Remember PID of our friendly webbrowser
-    browserPID=new qint64;
-    *browserPID=0;
-
-    // Define commands in API (used globally)
-    setupAPI();
-
-    // Initialize some settings, which are platform dependant
-    QString p,s;
-
-       // application to open URLs
-       p="/system/readerURL";
-       #if defined(Q_OS_WIN)
-           // Assume that system has been set up so that
-           // Explorer automagically opens up the URL
-           // in the user's preferred browser.
-           s=settings.value (p,"explorer").toString();
-       #elif defined(Q_OS_MACX)
-           s=settings.value (p,"/usr/bin/open").toString();
-       #else
-           s=settings.value (p,"xdg-open").toString();
-       #endif
-       settings.setValue( p,s);
-
-       // application to open PDFs
-       p="/system/readerPDF";
-       #if defined(Q_OS_WIN)
-           s=settings.value (p,"explorer").toString();
-       #elif defined(Q_OS_MACX)
-           s=settings.value (p,"/usr/bin/open").toString();
-       #else
-           s=settings.value (p,"xdg-open").toString();
-       #endif
-       settings.setValue( p,s);
-
-    // width of xLinksMenu
-    xLinkMenuWidth=60;
-
-    // Create Layout
-    QWidget* centralWidget = new QWidget (this);
-    QVBoxLayout *layout=new QVBoxLayout (centralWidget);
-    setCentralWidget(centralWidget);   
-
-    // Create tab widget which holds the maps
-    tabWidget= new QTabWidget (centralWidget);
-    connect(tabWidget, SIGNAL( currentChanged( int  ) ), 
-            this, SLOT( editorChanged( ) ) );
-
-    // Allow closing of tabs (introduced in Qt 4.5)
-    tabWidget->setTabsClosable( true ); 
-    connect(tabWidget, SIGNAL(tabCloseRequested(int)), 
-            this, SLOT( fileCloseMap(int) ));
-
-    layout->addWidget (tabWidget);
-
-    switchboard.addGroup("MainWindow",tr("Main window","Shortcut group"));
-    switchboard.addGroup("MapEditor",tr("Map Editors","Shortcut group"));
-    switchboard.addGroup("TextEditor",tr("Text Editors","Shortcut group"));
-
-    // Setup actions
-    setupFileActions();
-    setupEditActions();
-    setupSelectActions();
-    setupFormatActions();
-    setupViewActions();
-    setupModeActions();
-    setupNetworkActions();
-    setupSettingsActions();
-    setupContextMenus();
-    setupMacros();
-    setupToolbars();
-    setupFlagActions();
-
-    // Dock widgets ///////////////////////////////////////////////
-    QDockWidget *dw;
-    dw = new QDockWidget ();
-    dw->setWidget (noteEditor);
-    dw->setObjectName ("NoteEditor");
-    dw->setWindowTitle(noteEditor->getEditorTitle() );
-    dw->hide();
-    noteEditorDW=dw;
-    addDockWidget (Qt::LeftDockWidgetArea,dw);
-
-    dw = new QDockWidget ();
-    dw->setWidget (headingEditor);
-    dw->setObjectName ("HeadingEditor");
-    dw->setWindowTitle(headingEditor->getEditorTitle() );
-    dw->hide();
-    headingEditorDW=dw;
-    addDockWidget (Qt::BottomDockWidgetArea,dw);
-
-    dw = new QDockWidget (tr("Script Editor"));
-    dw->setWidget (scriptEditor);
-    dw->setObjectName ("ScriptEditor");
-    dw->hide();
-    scriptEditorDW=dw;
-    addDockWidget (Qt::LeftDockWidgetArea,dw);
-
-    findResultWidget=new FindResultWidget ();
-    dw= new QDockWidget (tr ("Search results list","FindResultWidget"));
-    dw->setWidget (findResultWidget);
-    dw->setObjectName ("FindResultWidget");
-    dw->hide();        
-    addDockWidget (Qt::RightDockWidgetArea,dw);
-    connect (
-       findResultWidget, SIGNAL (noteSelected (QString, int)),
-       this, SLOT (selectInNoteEditor (QString, int)));
-    connect (
-       findResultWidget, SIGNAL (findPressed (QString) ), 
-       this, SLOT (editFindNext(QString) ) );
-
-    scriptEditor = new ScriptEditor(this);
-    dw= new QDockWidget (tr ("Script Editor","ScriptEditor"));
-    dw->setWidget (scriptEditor);
-    dw->setObjectName ("ScriptEditor");
-    dw->hide();        
-    addDockWidget (Qt::LeftDockWidgetArea,dw);
-
-    branchPropertyEditor = new BranchPropertyEditor();
-    dw = new QDockWidget (tr("Property Editor","PropertyEditor"));
-    dw->setWidget (branchPropertyEditor);
-    dw->setObjectName ("PropertyEditor");
-    dw->hide();
-    addDockWidget (Qt::LeftDockWidgetArea,dw);
-
-    historyWindow=new HistoryWindow();
-    dw = new QDockWidget (tr("History window","HistoryWidget"));
-    dw->setWidget (historyWindow);
-    dw->setObjectName ("HistoryWidget");
-    dw->hide();
-    addDockWidget (Qt::RightDockWidgetArea,dw);
-    connect (dw, SIGNAL (visibilityChanged(bool ) ), this, SLOT (updateActions()));
-
-    // Connect NoteEditor, so that we can update flags if text changes
-    connect (noteEditor, SIGNAL (textHasChanged() ), this, SLOT (updateNoteFlag()));
-    connect (noteEditor, SIGNAL (windowClosed() ), this, SLOT (updateActions()));
-
-    // Connect heading editor
-    connect (headingEditor, SIGNAL (textHasChanged() ), this, SLOT (updateHeading()));
-
-    connect( scriptEditor, SIGNAL( runScript ( QString ) ),  this, SLOT( execute( QString ) ) );
-
-    // Switch back  to MapEditor using Esc 
-    QAction* a = new QAction(this);
-    a->setShortcut (Qt::Key_Escape);
-    a->setShortcutContext (Qt::ApplicationShortcut);
-    a->setCheckable(false);
-    a->setEnabled (true);
-    addAction(a);
-    connect (a , SIGNAL (triggered() ), this, SLOT (setFocusMapEditor()));
-    
-    // Create TaskEditor after setting up above actions, allow cloning 
-    taskEditor = new TaskEditor ();
-    dw= new QDockWidget (tr ("Task list","TaskEditor"));
-    dw->setWidget (taskEditor);
-    dw->setObjectName ("TaskEditor");
-    dw->hide();
-    addDockWidget (Qt::TopDockWidgetArea,dw);
-    connect (dw, SIGNAL (visibilityChanged(bool ) ), this, SLOT (updateActions()));
-    //FIXME -0 connect (taskEditor, SIGNAL (focusReleased() ), this, SLOT (setFocusMapEditor()));
-
-    if (options.isOn("shortcutsLaTeX")) switchboard.printLaTeX();
-
-    if (settings.value( "/mainwindow/showTestMenu",false).toBool()) setupTestActions();
-    setupHelpActions();
-
-    // Status bar and progress bar there
-    statusBar();
-    progressMax=0;
-    progressCounter=0;
-    progressCounterTotal=0;
-
-    progressDialog.setAutoReset(false);
-    progressDialog.setAutoClose(false);
-    progressDialog.setMinimumWidth (600);
-    //progressDialog.setWindowModality (Qt::WindowModal);   // That forces mainwindo to update and slows down
-    progressDialog.setCancelButton (NULL);
-
-    restoreState (settings.value("/mainwindow/state",0).toByteArray());
-
-    // Global Printer
-    printer=new QPrinter (QPrinter::HighResolution );  
-
-    // Enable testmenu
-    //settings.setValue( "mainwindow/showTestMenu", true);
-    updateGeometry();
-
-#if defined(VYM_DBUS)
-    // Announce myself on DBUS
-    new AdaptorVym (this);    // Created and not deleted as documented in Qt
-    if (!QDBusConnection::sessionBus().registerObject ("/vym",this))
-       qWarning ("MainWindow: Couldn't register DBUS object!");
-#endif    
-
-}
-
-Main::~Main()
-{
-    // qDebug()<<"Destr Mainwindow"<<flush;
-
-    // Save Settings
-
-    if (!testmode) 
-    {
-       #if defined(Q_OS_WIN32)
-       settings.setValue ("/mainwindow/geometry/maximized", isMaximized());
-       #endif
-       settings.setValue ("/mainwindow/geometry/size", size());
-       settings.setValue ("/mainwindow/geometry/pos", pos());
-       settings.setValue ("/mainwindow/state",saveState(0));
-
-       settings.setValue ("/mainwindow/view/AntiAlias",actionViewToggleAntiAlias->isChecked());
-       settings.setValue ("/mainwindow/view/SmoothPixmapTransform",actionViewToggleSmoothPixmapTransform->isChecked());
-       settings.setValue( "/system/autosave/use",actionSettingsToggleAutosave->isChecked() );
-       settings.setValue ("/system/autosave/ms", settings.value("/system/autosave/ms",60000)); 
-       settings.setValue ("/mainwindow/autoLayout/use",actionSettingsToggleAutoLayout->isChecked() );
-       settings.setValue( "/mapeditor/editmode/autoSelectNewBranch",actionSettingsAutoSelectNewBranch->isChecked() );
-       settings.setValue( "/system/writeBackupFile",actionSettingsWriteBackupFile->isChecked() );
-
-       settings.setValue("/system/printerName",printer->printerName());
-       settings.setValue("/system/printerFormat",printer->outputFormat());
-       settings.setValue("/system/printerFileName",printer->outputFileName());
-       settings.setValue( "/mapeditor/editmode/autoSelectText",actionSettingsAutoSelectText->isChecked() );
-       settings.setValue( "/mapeditor/editmode/autoEditNewBranch",actionSettingsAutoEditNewBranch->isChecked() );
-       settings.setValue( "/mapeditor/editmode/useFlagGroups",actionSettingsUseFlagGroups->isChecked() );
-       settings.setValue( "/export/useHideExport",actionSettingsUseHideExport->isChecked() );
-       settings.setValue( "/system/version", vymVersion );
-       settings.setValue( "/system/builddate", vymBuildDate );
-    }
-    //
-    // call the destructors
-    delete noteEditorDW;
-    delete historyWindow;
-    delete branchPropertyEditor;
-
-    // Remove temporary directory
-    removeDir (QDir(tmpVymDir));
-}
-
-void Main::loadCmdLine()
-{
-    QStringList flist=options.getFileList();
-    QStringList::Iterator it=flist.begin();
-
-    initProgressCounter (flist.count());
-    while (it !=flist.end() )
-    {
-       FileType type=getMapType (*it);
-       fileLoad (*it, NewMap,type);
-       *it++;
-    }  
-    removeProgressCounter();
-}
-
-
-void Main::statusMessage(const QString &s)
-{
-    // Surpress messages while progressdialog during 
-    // load is active
-    statusBar()->showMessage( s,statusbarTime);
-}
-
-void Main::setProgressMaximum (int max)        {
-    if (progressCounter==0)
-    {
-       // Init range only on first time, when progressCounter still 0
-       // Normalize range to 1000
-       progressDialog.setRange (0,1000);
-       progressDialog.setValue (1);
-    }
-    progressCounter++; // Another map is loaded
-
-    progressMax=max*1000;
-    QApplication::processEvents();
-}
-
-void Main::addProgressValue (float v) 
-
-{
-    int progress_value= (v + progressCounter -1)*1000/progressCounterTotal;
-/*
-    qDebug() << "addVal v="<<v
-        <<"  cur="<<progressDialog.value()
-        <<"  pCounter="<<progressCounter
-        <<"  pCounterTotal="<<progressCounterTotal
-         <<"  newv="<< progress_value
-        ;
-        */
-
-    // Make sure the progress dialog shows, even if value == 0
-    if (progress_value < 1) progress_value = 1; 
-    progressDialog.setValue ( progress_value );
-    if (progress_value == 1) QApplication::processEvents();
-}
-
-void Main::initProgressCounter(uint n)
-{
-    progressCounterTotal=n;
-}
-
-void Main::removeProgressCounter()
-{
-    // Hide dialog again
-    progressCounter=0;
-    progressCounterTotal=0;
-    progressDialog.reset();
-    progressDialog.hide();
-}
-
-void Main::closeEvent (QCloseEvent* event)
-{
-    if (fileExitVYM())
-       event->ignore();
-    else       
-       event->accept();
-}
-
-// Define commands for models
-void Main::setupAPI()
-{
-    Command *c = new Command ("addBranch",Command::Branch);
-    c->addPar (Command::Int, true, "Index of new branch");
-    modelCommands.append(c);
-
-    c=new Command ("addBranchBefore",Command::Branch);
-    modelCommands.append(c);
-
-    c=new Command ("addMapCenter",Command::Any);
-    c->addPar (Command::Double,false, "Position x");
-    c->addPar (Command::Double,false, "Position y");
-    modelCommands.append(c);
-
-    c=new Command ("addMapInsert",Command::Any);
-    c->addPar (Command::String,false, "Filename of map to load");
-    c->addPar (Command::Int,true, "Index where map is inserted");
-    c->addPar (Command::Int,true, "Content filter");
-    modelCommands.append(c);
-
-    c=new Command ("addMapReplace",Command::Branch);
-    c->addPar (Command::String,false, "Filename of map to load");
-    modelCommands.append(c);
-
-    c=new Command ("addSlide",Command::Branch);
-    modelCommands.append(c);
-
-    c=new Command ("addXLink",Command::BranchLike);
-    c->addPar (Command::String, false, "Begin of XLink");
-    c->addPar (Command::String, false, "End of XLink");
-    c->addPar (Command::Int,    true, "Width of XLink");
-    c->addPar (Command::Color,  true, "Color of XLink");
-    c->addPar (Command::String, true, "Penstyle of XLink");
-    modelCommands.append(c);
-
-    c=new Command ("branchCount",Command::Any);
-    modelCommands.append(c);
-
-    c=new Command ("centerCount",Command::BranchLike);
-    modelCommands.append(c);
-
-    c=new Command ("centerOnID",Command::Any);
-    c->addPar (Command::String,false, "UUID of object to center on");
-    modelCommands.append(c);
-
-    c=new Command ("clearFlags",Command::BranchLike);
-    modelCommands.append(c);
-
-    c=new Command ("colorBranch",Command::Branch);
-    c->addPar (Command::Color,true, "New color");
-    modelCommands.append(c);
-
-    c=new Command ("colorSubtree",Command::Branch);
-    c->addPar (Command::Color,true, "New color");
-    modelCommands.append(c);
-
-    c=new Command ("copy",Command::BranchOrImage);
-    modelCommands.append(c);
-
-    c=new Command ("cut",Command::BranchOrImage);
-    modelCommands.append(c);
-
-    c=new Command ("cycleTask",Command::BranchOrImage);
-    c->addPar (Command::Bool,true, "True, if cycling in reverse order");
-    modelCommands.append(c);
-
-    c=new Command ("delete",Command::TreeItem);
-    modelCommands.append(c);
-
-    c=new Command ("deleteChildren",Command::Branch);
-    modelCommands.append(c);
-
-    c=new Command ("deleteKeepChildren",Command::Branch);
-    modelCommands.append(c);
-
-    c=new Command ("deleteSlide",Command::Any);
-    c->addPar (Command::Int,false,"Index of slide to delete");
-    modelCommands.append(c);
-
-    c=new Command ("exportAO",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    modelCommands.append(c);
-
-    c=new Command ("exportASCII",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    c->addPar (Command::Bool,false,"Flag, if tasks should be appended");
-    modelCommands.append(c);
-
-    c=new Command ("exportCSV",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    modelCommands.append(c);
-
-    c=new Command ("exportHTML",Command::Any);
-    c->addPar (Command::String,false,"Path used for export");
-    c->addPar (Command::String,false,"Filename for export");
-    modelCommands.append(c);
-
-    c=new Command ("exportImage",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    c->addPar (Command::String,true,"Image format");
-    modelCommands.append(c);
-
-    c=new Command ("exportImpress",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    c->addPar (Command::String,false,"Configuration file for export");
-    modelCommands.append(c);
-
-    c=new Command ("exportLast",Command::Any);
-    modelCommands.append(c);
-
-    c=new Command ("exportLaTeX",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    modelCommands.append(c);
-
-    c=new Command ("exportOrgMode",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    modelCommands.append(c);
-
-    modelCommands.append(c);
-
-    c=new Command ("exportPDF",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    modelCommands.append(c);
-
-    c=new Command ("exportPDF",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    modelCommands.append(c);
-
-    c=new Command ("exportSVG",Command::Any);
-    c->addPar (Command::String,false,"Filename for export");
-    modelCommands.append(c);
-
-    c=new Command ("exportXML",Command::Any);
-    c->addPar (Command::String,false,"Path used for export");
-    c->addPar (Command::String,false,"Filename for export");
-    modelCommands.append(c);
-
-    c=new Command ("getDestPath",Command::Any);
-    modelCommands.append(c);
-
-    c=new Command ("getFileDir",Command::Any);
-    modelCommands.append(c);
-
-    c=new Command ("getFrameType",Command::Branch);
-    modelCommands.append(c);
-
-    c=new Command ("getHeadingPlainText",Command::TreeItem);
-    modelCommands.append(c);
-
-    c=new Command ("getHeadingXML",Command::TreeItem);
-    modelCommands.append(c);
-
-    c=new Command ("getMapAuthor",Command::Any);
-    modelCommands.append(c);
-
-    c=new Command ("getMapComment",Command::Any);
-    modelCommands.append(c);
-
-    c=new Command ("getMapTitle",Command::Any);
-    modelCommands.append(c);
-
-    c=new Command ("getNotePlainText",Command::TreeItem);
-    modelCommands.append(c);
-
-    c=new Command ("getNoteXML",Command::TreeItem);
-    modelCommands.append(c);
-
-    c=new Command ("getSelectString",Command::TreeItem);
-    modelCommands.append(c);
-
-    c=new Command ("getTaskSleepDays",Command::Branch);
-    modelCommands.append(c);
-
-    c=new Command ("getURL",Command::TreeItem); 
-    modelCommands.append(c);
-
-    c=new Command ("getVymLink",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("getXLinkColor",Command::XLink);
-    modelCommands.append(c);
-
-    c=new Command ("getXLinkWidth",Command::XLink);
-    modelCommands.append(c);
-
-    c=new Command ("getXLinkPenStyle",Command::XLink);
-    modelCommands.append(c);
-
-    c=new Command ("getXLinkStyleBegin",Command::XLink);
-    modelCommands.append(c);
-
-    c=new Command ("getXLinkStyleEnd",Command::XLink);
-    modelCommands.append(c);
-
-    c=new Command ("hasActiveFlag",Command::TreeItem);
-    c->addPar (Command::String,false,"Name of flag");
-    modelCommands.append(c);
-
-    c=new Command ("hasNote",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("hasRichTextNote",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("hasTask",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("importDir",Command::Branch);
-    c->addPar (Command::String,false,"Directory name to import");
-    modelCommands.append(c);
-
-    c=new Command ("isScrolled",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("loadImage",Command::Branch); 
-    c->addPar (Command::String,false,"Filename of image");
-    modelCommands.append(c);
-
-    c=new Command ("loadNote",Command::Branch); 
-    c->addPar (Command::String,false,"Filename of note");
-    modelCommands.append(c);
-
-    c=new Command ("moveDown",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("moveUp",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("moveSlideDown",Command::Any); 
-    modelCommands.append(c);
-
-    c=new Command ("moveSlideUp",Command::Any); 
-    modelCommands.append(c);
-
-    c=new Command ("move",Command::BranchOrImage); 
-    c->addPar (Command::Double,false,"Position x");
-    c->addPar (Command::Double,false,"Position y");
-    modelCommands.append(c);
-
-    c=new Command ("moveRel",Command::BranchOrImage); 
-    c->addPar (Command::Double,false,"Position x");
-    c->addPar (Command::Double,false,"Position y");
-    modelCommands.append(c);
-
-    c=new Command ("nop",Command::Any); 
-    modelCommands.append(c);
-
-    c=new Command ("note2URLs",Command::Branch); 
-    modelCommands.append(c);
-
-    //internally required for undo/redo of changing VymText:
-    c=new Command ("parseVymText",Command::Branch);
-    c->addPar (Command::String,false,"parse XML of VymText, e.g for Heading or VymNote");
-    modelCommands.append(c);
-
-    c=new Command ("paste",Command::Branch);
-    modelCommands.append(c);
-
-    c=new Command ("redo",Command::Any); 
-    modelCommands.append(c);
-
-    c=new Command ("relinkTo",Command::TreeItem);   // FIXME different number of parameters for Image or Branch
-    c->addPar (Command::String,false,"Selection string of parent");
-    c->addPar (Command::Int,false,"Index position");
-    c->addPar (Command::Double,true,"Position x");
-    c->addPar (Command::Double,true,"Position y");
-    modelCommands.append(c);
-
-    c=new Command ("saveImage",Command::Image); 
-    c->addPar (Command::String,false,"Filename of image to save");
-    c->addPar (Command::String,false,"Format of image to save");
-    modelCommands.append(c);
-
-    c=new Command ("saveNote",Command::Branch); 
-    c->addPar (Command::String,false,"Filename of note to save");
-    modelCommands.append(c);
-
-    c=new Command ("scroll",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("select",Command::Any); 
-    c->addPar (Command::String,false,"Selection string");
-    modelCommands.append(c);
-
-    c=new Command ("selectID",Command::Any); 
-    c->addPar (Command::String,false,"Unique ID");
-    modelCommands.append(c);
-
-    c=new Command ("selectLastBranch",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("selectLastImage",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("selectLatestAdded",Command::Any); 
-    modelCommands.append(c);
-
-    c=new Command ("selectParent",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("setFlag",Command::TreeItem); 
-    c->addPar (Command::String,false,"Name of flag");
-    modelCommands.append(c);
-
-    c=new Command ("setTaskSleep",Command::Branch); 
-    c->addPar (Command::String,false,"Days to sleep");
-    modelCommands.append(c);
-
-    c=new Command ("setFrameIncludeChildren",Command::BranchOrImage); 
-    c->addPar (Command::Bool,false,"Include or don't include children in frame");
-    modelCommands.append(c);
-
-    c=new Command ("setFrameType",Command::BranchOrImage); 
-    c->addPar (Command::String,false,"Type of frame");
-    modelCommands.append(c);
-
-    c=new Command ("setFramePenColor",Command::BranchOrImage); 
-    c->addPar (Command::Color,false,"Color of frame border line");
-    modelCommands.append(c);
-
-    c=new Command ("setFrameBrushColor",Command::BranchOrImage); 
-    c->addPar (Command::Color,false,"Color of frame background");
-    modelCommands.append(c);
-
-    c=new Command ("setFramePadding",Command::BranchOrImage); 
-    c->addPar (Command::Int,false,"Padding around frame");
-    modelCommands.append(c);
-
-    c=new Command ("setFrameBorderWidth",Command::BranchOrImage); 
-    c->addPar (Command::Int,false,"Width of frame borderline");
-    modelCommands.append(c);
-
-    c=new Command ("setHeadingPlainText",Command::TreeItem); 
-    c->addPar (Command::String,false,"New heading");
-    modelCommands.append(c);
-
-    c=new Command ("setHideExport",Command::BranchOrImage); 
-    c->addPar (Command::Bool,false,"Set if item should be visible in export");
-    modelCommands.append(c);
-
-    c=new Command ("setIncludeImagesHorizontally",Command::Branch); 
-    c->addPar (Command::Bool,false,"Set if images should be included horizontally in parent branch");
-    modelCommands.append(c);
-
-    c=new Command ("setIncludeImagesVertically",Command::Branch); 
-    c->addPar (Command::Bool,false,"Set if images should be included vertically in parent branch");
-    modelCommands.append(c);
-
-    c=new Command ("setHideLinksUnselected",Command::BranchOrImage); 
-    c->addPar (Command::Bool,false,"Set if links of items should be visible for unselected items");
-    modelCommands.append(c);
-
-    c=new Command ("setMapAnimCurve",Command::Any); 
-    c->addPar (Command::Int,false,"EasingCurve used in animation in MapEditor");
-    modelCommands.append(c);
-
-    c=new Command ("setMapAuthor",Command::Any); 
-    c->addPar (Command::String,false,"");
-    modelCommands.append(c);
-
-    c=new Command ("setMapAnimDuration",Command::Any); 
-    c->addPar (Command::Int,false,"Duration of animation in MapEditor in milliseconds");
-    modelCommands.append(c);
-
-    c=new Command ("setMapBackgroundColor",Command::Any); 
-    c->addPar (Command::Color,false,"Color of map background");
-    modelCommands.append(c);
-
-    c=new Command ("setMapComment",Command::Any); 
-    c->addPar (Command::String,false,"");
-    modelCommands.append(c);
-
-    c=new Command ("setMapTitle",Command::Any); 
-    c->addPar (Command::String,false,"");
-    modelCommands.append(c);
-
-    c=new Command ("setMapDefLinkColor",Command::Any); 
-    c->addPar (Command::Color,false,"Default color of links");
-    modelCommands.append(c);
-
-    c=new Command ("setMapLinkStyle",Command::Any); 
-    c->addPar (Command::String,false,"Link style in map");
-    modelCommands.append(c);
-
-    c=new Command ("setMapRotation",Command::Any); 
-    c->addPar (Command::Double,false,"Rotation of map");
-    modelCommands.append(c);
-
-    c=new Command ("setMapTitle",Command::Any); 
-    c->addPar (Command::String,false,"");
-    modelCommands.append(c);
-
-    c=new Command ("setMapZoom",Command::Any); 
-    c->addPar (Command::Double,false,"Zoomfactor of map");
-    modelCommands.append(c);
-
-    c=new Command ("setNotePlainText",Command::Branch); 
-    c->addPar (Command::String,false,"Note of branch");
-    modelCommands.append(c);
-
-    c=new Command ("setScale",Command::Image); 
-    c->addPar (Command::Double,false,"Scale image x");
-    c->addPar (Command::Double,false,"Scale image y");
-    modelCommands.append(c);
-
-    c=new Command ("setSelectionColor",Command::Any); 
-    c->addPar (Command::Color,false,"Color of selection box");
-    modelCommands.append(c);
-
-    c=new Command ("setURL",Command::TreeItem); 
-    c->addPar (Command::String,false,"URL of TreeItem");
-    modelCommands.append(c);
-
-    c=new Command ("setVymLink",Command::Branch); 
-    c->addPar (Command::String,false,"Vymlink of branch");
-    modelCommands.append(c);
-
-    c=new Command ("setXLinkColor", Command::XLink); 
-    c->addPar (Command::String,false,"Color of xlink");
-    modelCommands.append(c);
-
-    c=new Command ("setXLinkLineStyle", Command::XLink); 
-    c->addPar (Command::String,false,"Style of xlink");
-    modelCommands.append(c);
-
-    c=new Command ("setXLinkStyleBegin", Command::XLink); 
-    c->addPar (Command::String,false,"Style of xlink begin");
-    modelCommands.append(c);
-
-    c=new Command ("setXLinkStyleEnd", Command::XLink); 
-    c->addPar (Command::String,false,"Style of xlink end");
-    modelCommands.append(c);
-
-    c=new Command ("setXLinkWidth", Command::XLink); 
-    c->addPar (Command::Int,false,"Width of xlink");
-    modelCommands.append(c);
-
-    c=new Command ("sleep",Command::Any); 
-    c->addPar (Command::Int,false,"Sleep (seconds)");
-    modelCommands.append(c);
-
-    c=new Command ("sortChildren",Command::Branch); 
-    c->addPar (Command::Bool,true,"Sort children of branch in revers order if set");
-    modelCommands.append(c);
-
-    c=new Command ("toggleFlag",Command::Branch); 
-    c->addPar (Command::String,false,"Name of flag to toggle");
-    modelCommands.append(c);
-
-    c=new Command ("toggleFrameIncludeChildren",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("toggleScroll",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("toggleTarget",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("toggleTask",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("undo",Command::Any); 
-    modelCommands.append(c);
-
-    c=new Command ("unscroll",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("unscrollChildren",Command::Branch); 
-    modelCommands.append(c);
-
-    c=new Command ("unselectAll",Command::Any); 
-    modelCommands.append(c);
-
-    c=new Command ("unsetFlag",Command::Branch); 
-    c->addPar (Command::String,false,"Name of flag to unset");
-    modelCommands.append(c);
-}
-
-void Main::cloneActionMapEditor( QAction *a, QKeySequence ks)
-{
-    a->setShortcut ( ks );
-    a->setShortcutContext ( Qt::WidgetShortcut );
-    mapEditorActions.append ( a );
-}
-
-// File Actions
-void Main::setupFileActions()
-{
-    QString tag = tr ("&Map","Menu for file actions");
-    QMenu *fileMenu = menuBar()->addMenu ( tag );
-
-    QAction *a;
-    a = new QAction(QPixmap( ":/filenew.png"), tr( "&New map","File menu" ),this);
-    switchboard.addSwitch ("fileMapNew", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileNew() ) );
-    cloneActionMapEditor( a, Qt::CTRL + Qt::Key_N);
-    fileMenu->addAction(a);
-    actionFileNew=a;
-
-    a = new QAction(QPixmap( ":/filenewcopy.png"), tr( "&Copy to new map","File menu" ),this);
-    switchboard.addSwitch ("fileMapNewCopy", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileNewCopy() ) );
-    cloneActionMapEditor( a, Qt::CTRL + Qt::SHIFT + Qt::Key_C);
-    fileMenu->addAction(a);
-    actionFileNewCopy=a;
-
-    a = new QAction( QPixmap( ":/fileopen.png"), tr( "&Open..." ,"File menu"),this);
-    switchboard.addSwitch ("fileMapOpen", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileLoad() ) );
-    cloneActionMapEditor( a, Qt::CTRL + Qt::Key_L);
-    fileMenu->addAction(a);
-    actionFileOpen=a;
-
-    a = new QAction(tr( "&Restore last session","Edit menu" ), this);
-    a->setShortcut (Qt::ALT + Qt::Key_R );
-    switchboard.addSwitch ("fileMapRestore", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileRestoreSession() ) );
-    fileMenu->addAction(a);
-    actionListFiles.append(a);   
-    actionCopy=a;
-
-    fileLastMapsMenu = fileMenu->addMenu (tr("Open Recent","File menu"));
-    fileMenu->addSeparator();
-
-    a = new QAction( QPixmap( ":/filesave.png"), tr( "&Save...","File menu" ), this);
-    switchboard.addSwitch ("fileMapSave", shortcutScope, a, tag);
-    cloneActionMapEditor( a, Qt::CTRL + Qt::Key_S);
-    fileMenu->addAction(a);
-    restrictedMapActions.append( a );
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileSave() ) );
-    actionFileSave=a;
-
-    a = new QAction( QPixmap(":/filesaveas.png"), tr( "Save &As...","File menu" ), this);
-    fileMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileSaveAs() ) );
-
-    fileMenu->addSeparator();
-
-    fileImportMenu = fileMenu->addMenu (tr("Import","File menu"));
-
-    if (settings.value( "/mainwindow/showTestMenu",false).toBool()) 
-    {
-        a = new QAction( QPixmap(), tr("Firefox Bookmarks","Import filters"),this);
-        connect( a, SIGNAL( triggered() ), this, SLOT( fileImportFirefoxBookmarks() ) );
-        fileImportMenu->addAction(a);
-    }
-
-    a = new QAction("Freemind...",this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileImportFreemind() ) );
-    fileImportMenu->addAction(a);
-
-    a = new QAction("Mind Manager...",this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileImportMM() ) );
-    fileImportMenu->addAction(a);
-
-    a = new QAction( tr( "Import Dir%1","Import Filters").arg("..." + tr("(still experimental)") ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileImportDir() ) );
-    fileImportMenu->addAction(a);
-
-    fileExportMenu = fileMenu->addMenu (tr("Export","File menu"));
-
-    a = new QAction( QPixmap(":/file-document-export.png"),tr("Repeat last export (%1)").arg("-"), this);
-    switchboard.addSwitch ("fileExportLast", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportLast() ) );
-    cloneActionMapEditor( a, Qt::ALT + Qt::Key_E );
-    fileExportMenu->addAction(a);
-    actionFileExportLast=a;
-
-    a = new QAction(  tr("Webpage (HTML)...","File export menu"),this );
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportHTML() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( tr("Text (ASCII)...","File export menu"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportASCII() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( tr("Text with tasks","File export menu") + " (ASCII)... "  + tr("(still experimental)"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportASCIITasks() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( tr("Text (A&O report)...","Export format"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportAO() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( tr("Image%1","File export menu").arg("..."), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportImage() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( tr("PDF%1","File export menu").arg("..."), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportPDF() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( tr("SVG%1","File export menu").arg("..."), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportSVG() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( "LibreOffice...", this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportImpress() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( "XML..." , this );
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportXML() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( tr("Spreadsheet") + " (CSV)... " + tr("(still experimental)"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportCSV() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( "Taskjuggler... " + tr("(still experimental)"), this );
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportTaskjuggler() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( "OrgMode... " + tr("(still experimental)"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportOrgMode() ) );
-    fileExportMenu->addAction(a);
-
-    a = new QAction( "LaTeX... " + tr("(still experimental)"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExportLaTeX() ) );
-    fileExportMenu->addAction(a);
-
-    fileMenu->addSeparator();
-
-    a = new QAction( tr( "Properties"), this);
-    switchboard.addSwitch ("editMapProperties", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editMapProperties() ) );
-    fileMenu->addAction(a);
-    actionListFiles.append (a);   
-    actionMapProperties = a;
-
-    fileMenu->addSeparator();
-
-    a = new QAction(QPixmap( ":/fileprint.png"), tr( "&Print")+QString("..."), this);
-    a->setShortcut ( Qt::CTRL + Qt::Key_P);
-    switchboard.addSwitch ("fileMapPrint", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( filePrint() ) );
-    fileMenu->addAction(a);
-    unrestrictedMapActions.append (a);
-    actionFilePrint=a;
-
-    a = new QAction( QPixmap(":/fileclose.png"), tr( "&Close Map","File menu" ), this);
-    a->setShortcut (Qt::CTRL + Qt::Key_W );     
-    switchboard.addSwitch ("fileMapClose", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileCloseMap() ) );
-    fileMenu->addAction(a);
-
-    a = new QAction(QPixmap(":/exit.png"), tr( "E&xit","File menu"), this);
-    a->setShortcut (Qt::CTRL + Qt::Key_Q );      
-    switchboard.addSwitch ("fileExit", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( fileExitVYM() ) );
-    fileMenu->addAction(a);
-}
-
-
-//Edit Actions
-void Main::setupEditActions()
-{
-    QString tag = tr("E&dit","Edit menu") ;
-    QMenu *editMenu = menuBar()->addMenu( tag );
-
-    QAction *a;
-    a = new QAction( QPixmap( ":/undo.png"), tr( "&Undo","Edit menu" ),this);
-    a->setShortcut (Qt::CTRL + Qt::Key_Z);
-    a->setShortcutContext (Qt::WidgetShortcut);
-    a->setEnabled (false);
-    editMenu->addAction(a);
-    mapEditorActions.append( a );
-    restrictedMapActions.append( a );
-    switchboard.addSwitch ("mapUndo", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editUndo() ) );
-    actionUndo=a;
-
-    a = new QAction( QPixmap( ":/redo.png"), tr( "&Redo","Edit menu" ), this); 
-    a->setShortcut (Qt::CTRL + Qt::Key_Y);
-    a->setShortcutContext (Qt::WidgetShortcut);
-    editMenu->addAction(a);
-    restrictedMapActions.append( a );
-    mapEditorActions.append( a );
-    switchboard.addSwitch ("mapRedo", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editRedo() ) );
-    actionRedo=a;
-
-    editMenu->addSeparator();
-    a = new QAction(QPixmap( ":/editcopy.png"), tr( "&Copy","Edit menu" ), this);
-    a->setShortcut (Qt::CTRL + Qt::Key_C );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    a->setEnabled (false);
-    editMenu->addAction(a);
-    unrestrictedMapActions.append ( a );
-    mapEditorActions.append( a );
-    switchboard.addSwitch ("mapCopy", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editCopy() ) );
-    actionCopy=a;
-
-    a = new QAction(QPixmap( ":/editcut.png" ), tr( "Cu&t","Edit menu" ), this);
-    a->setShortcut (Qt::CTRL + Qt::Key_X );
-    a->setEnabled (false);
-    a->setShortcutContext (Qt::WidgetShortcut);
-    editMenu->addAction(a);
-    restrictedMapActions.append( a );
-    mapEditorActions.append( a );
-    restrictedMapActions.append( a );
-    switchboard.addSwitch ("mapCut", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editCut() ) );
-    addAction (a);
-    actionCut=a;
-
-    a = new QAction(QPixmap( ":/editpaste.png"), tr( "&Paste","Edit menu" ),this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editPaste() ) );
-    a->setShortcut (Qt::CTRL + Qt::Key_V );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    a->setEnabled (false);
-    editMenu->addAction(a);
-    restrictedMapActions.append( a );
-    mapEditorActions.append( a );
-    switchboard.addSwitch ("mapPaste", shortcutScope, a, tag);
-    actionPaste=a;
-
-    // Shortcut to delete selection
-    a = new QAction( tr( "Delete Selection","Edit menu" ),this);
-    a->setShortcut ( Qt::Key_Delete);           
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapDelete", shortcutScope, a, tag);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editDeleteSelection() ) );
-    editMenu->addAction(a);
-    actionListItems.append (a);
-    actionDelete=a;
-
-    // Shortcut to add attribute
-    a= new QAction(tr( "Add attribute" ), this);
-    if (settings.value( "/mainwindow/showTestMenu",false).toBool() )
-    {
-       //a->setShortcut ( Qt::Key_Q);  
-       a->setShortcutContext (Qt::WindowShortcut);
-        switchboard.addSwitch ("mapAddAttribute", shortcutScope, a, tag);
-    }
-    connect( a, SIGNAL( triggered() ), this, SLOT( editAddAttribute() ) );
-    editMenu->addAction(a);
-    actionAddAttribute= a;
-
-
-    // Shortcut to add mapcenter
-    a= new QAction(QPixmap(":/newmapcenter.png"),tr( "Add mapcenter","Canvas context menu" ), this);
-    a->setShortcut ( Qt::Key_C);    
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapAddCenter", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editAddMapCenter() ) );
-    editMenu->addAction(a);
-    actionListFiles.append (a);
-    actionAddMapCenter = a;
-
-
-    // Shortcut to add branch
-    a = new QAction(QPixmap(":/newbranch.png"), tr( "Add branch as child","Edit menu" ), this);
-    switchboard.addSwitch ("mapEditNewBranch", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editNewBranch() ) );
-    cloneActionMapEditor( a, Qt::Key_A );
-    taskEditorActions.append( a );
-    actionListBranches.append(a);
-    actionAddBranch=a;
-
-
-    // Add branch by inserting it at selection
-    a = new QAction(tr( "Add branch (insert)","Edit menu" ),this);
-    a->setShortcut ( Qt::ALT + Qt::Key_A );     
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapEditAddBranchBefore", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editNewBranchBefore() ) );
-    editMenu->addAction(a);
-    actionListBranches.append(a);
-    actionAddBranchBefore=a;
-
-    // Add branch above
-    a = new QAction(tr( "Add branch above","Edit menu" ), this);
-    a->setShortcut (Qt::SHIFT+Qt::Key_Insert );          
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapEditAddBranchAbove", shortcutScope, a, tag);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editNewBranchAbove() ) );
-    a->setEnabled (false);
-    actionListBranches.append(a);
-    actionAddBranchAbove=a;
-
-    a = new QAction(tr( "Add branch above","Edit menu" ), this);
-    a->setShortcut (Qt::SHIFT+Qt::Key_A );      
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapEditAddBranchAboveAlt", shortcutScope, a, tag);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editNewBranchAbove() ) );
-    actionListBranches.append(a);
-    editMenu->addAction(a);
-
-    // Add branch below 
-    a = new QAction(tr( "Add branch below","Edit menu" ), this);
-    a->setShortcut (Qt::CTRL +Qt::Key_Insert );          
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapEditAddBranchBelow", shortcutScope, a, tag);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editNewBranchBelow() ) );
-    a->setEnabled (false);
-    actionListBranches.append(a);
-
-    a = new QAction(tr( "Add branch below","Edit menu" ), this);
-    a->setShortcut (Qt::CTRL +Qt::Key_A );      
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapEditAddBranchBelowAlt", shortcutScope, a, tag);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editNewBranchBelow() ) );
-    actionListBranches.append(a);
-    actionAddBranchBelow=a; 
-
-    a = new QAction(QPixmap(":/up.png" ), tr( "Move branch up","Edit menu" ), this);
-    a->setShortcut (Qt::Key_PageUp );          
-    a->setShortcutContext (Qt::WidgetShortcut);
-    //a->setEnabled (false);
-    mapEditorActions.append( a );
-    taskEditorActions.append( a );
-    restrictedMapActions.append( a );
-    actionListBranches.append (a);
-    editMenu->addAction(a);
-    switchboard.addSwitch ("mapEditMoveBranchUp", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editMoveUp() ) );
-    actionMoveUp=a;
-
-    a = new QAction( QPixmap( ":/down.png"), tr( "Move branch down","Edit menu" ),this);
-    a->setShortcut ( Qt::Key_PageDown );         
-    a->setShortcutContext (Qt::WidgetShortcut);
-    //a->setEnabled (false);
-    mapEditorActions.append( a );
-    taskEditorActions.append( a );
-    restrictedMapActions.append( a );
-    actionListBranches.append (a);
-    editMenu->addAction(a);
-    switchboard.addSwitch ("mapEditMoveBranchDown", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editMoveDown() ) );
-    actionMoveDown=a;
-
-    a = new QAction(QPixmap(), tr( "&Detach","Context menu" ),this);
-    a->setStatusTip ( tr( "Detach branch and use as mapcenter","Context menu" ) );
-    a->setShortcut ( Qt::Key_D );               
-    switchboard.addSwitch ("mapDetachBranch", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editDetach() ) );
-    editMenu->addAction(a);
-    actionListBranches.append (a);
-    actionDetach=a;
-
-    a = new QAction( QPixmap(":/editsort.png" ), tr( "Sort children","Edit menu" ), this );
-    a->setEnabled (true);
-    a->setShortcut ( Qt::Key_O );                
-    switchboard.addSwitch ("mapSortBranches", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editSortChildren() ) );
-    editMenu->addAction(a);
-    actionListBranches.append (a);
-    actionSortChildren=a;
-
-    a = new QAction( QPixmap(":/editsortback.png" ), tr( "Sort children backwards","Edit menu" ), this );
-    a->setEnabled (true);
-    a->setShortcut ( Qt::SHIFT + Qt::Key_O );          
-    switchboard.addSwitch ("mapSortBranchesReverse", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editSortBackChildren() ) );
-    editMenu->addAction(a);
-    actionListBranches.append (a);
-    actionSortBackChildren=a;  
-
-    a = new QAction( QPixmap(":/flag-scrolled-right.png"), tr( "Scroll branch","Edit menu" ), this);
-    a->setShortcut ( Qt::Key_S );                
-    switchboard.addSwitch ("mapToggleScroll", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editToggleScroll() ) );
-    editMenu->addAction(a);
-    actionListBranches.append (a);
-    a->setEnabled (false);
-    a->setCheckable(true);
-    addAction (a);
-    actionListBranches.append(a);
-    actionToggleScroll=a;
-
-    a = new QAction( tr( "Unscroll children","Edit menu" ), this);
-    editMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editUnscrollChildren() ) );
-    actionListBranches.append (a);
-
-    a = new QAction( tr( "Grow selection","Edit menu" ), this);
-    a->setShortcut ( Qt::CTRL + Qt::Key_Plus);   
-    switchboard.addSwitch ("mapGrowSelection", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editGrowSelectionSize() ) );
-    editMenu->addAction(a);
-    actionListBranches.append (a);
-    actionListItems.append (a);
-    actionGrowSelectionSize=a;
-
-    a = new QAction( tr( "Shrink selection","Edit menu" ), this);
-    a->setShortcut ( Qt::CTRL + Qt::Key_Minus);           
-    switchboard.addSwitch ("mapShrinkSelection", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editShrinkSelectionSize() ) );
-    editMenu->addAction(a);
-    actionListBranches.append (a);
-    actionListItems.append (a);
-    actionShrinkSelectionSize=a;
-
-    a = new QAction( tr( "Reset selection size","Edit menu" ), this);
-    a->setShortcut ( Qt::CTRL + Qt::Key_0);        
-    switchboard.addSwitch ("mapResetSelectionSize", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editResetSelectionSize() ) );
-    editMenu->addAction(a);
-    actionListBranches.append (a);
-    actionListItems.append (a);
-    actionResetSelectionSize=a;
-
-    editMenu->addSeparator();
-
-    a = new QAction( QPixmap(), "TE: " + tr( "Collapse one level","Edit menu" ), this);
-    a->setShortcut ( Qt::Key_Less + Qt::CTRL); 
-    switchboard.addSwitch ("mapCollapseOneLevel", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editCollapseOneLevel() ) );
-    editMenu->addAction(a);
-    a->setEnabled (false);
-    a->setCheckable(false);
-    actionListBranches.append(a);
-    addAction (a);
-    actionCollapseOneLevel=a;  
-
-    a = new QAction( QPixmap(), "TE: " + tr( "Collapse unselected levels","Edit menu" ), this);
-    a->setShortcut ( Qt::Key_Less);      
-    switchboard.addSwitch ("mapCollapseUnselectedLevels", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editCollapseUnselected() ) );
-    editMenu->addAction(a);
-    a->setEnabled (false);
-    a->setCheckable(false);
-    actionListBranches.append(a);
-    addAction (a);
-    actionCollapseUnselected=a;
-
-    a = new QAction( QPixmap(), tr( "Expand all branches","Edit menu" ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editExpandAll() ) );
-    actionExpandAll=a;
-    actionExpandAll->setEnabled (false);
-    actionExpandAll->setCheckable(false);
-    actionListBranches.append(actionExpandAll);
-    addAction (a);
-
-    a = new QAction( QPixmap(), tr( "Expand one level","Edit menu" ), this);
-    a->setShortcut ( Qt::Key_Greater );            
-    switchboard.addSwitch ("mapExpandOneLevel", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editExpandOneLevel() ) );
-    a->setEnabled (false);
-    a->setCheckable(false);
-    addAction (a);
-    actionListBranches.append(a);
-    actionExpandOneLevel=a;
-
-    tag = tr("References Context menu","Shortcuts");
-    a = new QAction( QPixmap(":/flag-url.png"), tr( "Open URL","Edit menu" ), this);
-    a->setShortcut (Qt::SHIFT + Qt::Key_U );
-    switchboard.addSwitch ("mapOpenUrl", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editOpenURL() ) );
-    actionListBranches.append (a);
-    actionOpenURL=a;
-
-    a = new QAction( tr( "Open URL in new tab","Edit menu" ), this);
-    //a->setShortcut (Qt::CTRL+Qt::Key_U );
-    switchboard.addSwitch ("mapOpenUrlTab", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editOpenURLTab() ) );
-    actionListBranches.append (a);
-    actionOpenURLTab=a;
-
-    a = new QAction( tr( "Open all URLs in subtree (including scrolled branches)","Edit menu" ), this);
-    a->setShortcut ( Qt::CTRL + Qt::Key_U );
-    switchboard.addSwitch ("mapOpenUrlsSubTree", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editOpenMultipleVisURLTabs() ) );
-    actionListBranches.append(a);
-    actionOpenMultipleVisURLTabs=a;
-
-    a = new QAction( tr( "Open all URLs in subtree","Edit menu" ), this);
-    switchboard.addSwitch ("mapOpenMultipleUrlTabs", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editOpenMultipleURLTabs() ) );
-    actionListBranches.append(a);
-    actionOpenMultipleURLTabs=a;
-
-    a = new QAction(QPixmap(), tr( "Extract URLs from note","Edit menu"), this);
-    a->setShortcut ( Qt::SHIFT + Qt::Key_N );
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapUrlsFromNote", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editNote2URLs() ) );
-    actionListBranches.append(a);
-    actionGetURLsFromNote=a;
-
-    a = new QAction(QPixmap(":/flag-urlnew.png"), tr( "Edit URL...","Edit menu"), this);
-    a->setShortcut ( Qt::Key_U );
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapEditURL", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editURL() ) );
-    actionListBranches.append(a);
-    actionURLNew=a;
-
-    a = new QAction(QPixmap(), tr( "Edit local URL...","Edit menu"), this);
-    //a->setShortcut (Qt::SHIFT +  Qt::Key_U );
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapEditLocalURL", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editLocalURL() ) );
-    actionListBranches.append(a);
-    actionLocalURL=a;
-
-    a = new QAction( tr( "Use heading for URL","Edit menu" ), this);
-    a->setShortcut ( Qt::ALT + Qt::Key_U );
-    a->setShortcutContext (Qt::ApplicationShortcut);
-    a->setEnabled (false);
-    switchboard.addSwitch ("mapHeading2URL", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editHeading2URL() ) );
-    actionListBranches.append(a);
-    actionHeading2URL=a;
-
-    tag = tr("Bugzilla handling","Shortcuts");
-    a = new QAction(tr( "Create URL to SUSE Bugzilla","Edit menu" ), this);
-    a->setEnabled (false);
-    actionListBranches.append(a);
-    a->setShortcut ( Qt::Key_B );
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapUseHeadingForURL", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editBugzilla2URL() ) );
-    actionListBranches.append(a);
-    actionBugzilla2URL=a;
-
-    a = new QAction(tr( "Get data from SUSE Bugzilla","Edit menu" ), this);
-    a->setShortcut ( Qt::Key_B + Qt::SHIFT);
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapUpdateFromBugzilla", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( getBugzillaData() ) );
-    actionListBranches.append(a);
-    actionGetBugzillaData=a;
-
-    a = new QAction(tr( "Get data from SUSE Bugzilla for subtree","Edit menu" ), this);
-    a->setShortcut ( Qt::Key_B + Qt::CTRL);
-    a->setShortcutContext (Qt::WindowShortcut);
-    switchboard.addSwitch ("mapUpdateSubTreeFromBugzilla", shortcutScope, a, tag);
-    addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( getBugzillaDataSubtree() ) );
-    actionListBranches.append(a);
-    actionGetBugzillaDataSubtree=a;
-
-    tag = tr("SUSE Fate tool handling","Shortcuts");
-    a = new QAction(tr( "Create URL to SUSE FATE tool","Edit menu" ), this);
-    a->setEnabled (false);
-    switchboard.addSwitch ("mapFate2URL", shortcutScope, a, tag);
-    actionListBranches.append(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editFATE2URL() ) );
-    actionListBranches.append(a);
-    actionFATE2URL=a;
-
-    tag = tr("vymlinks - linking maps","Shortcuts");
-    a = new QAction(QPixmap(":/flag-vymlink.png"), tr( "Open linked map","Edit menu" ), this);
-    a->setEnabled (false);
-    switchboard.addSwitch ("mapOpenVymLink", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editOpenVymLink() ) );
-    actionListBranches.append (a);
-    actionOpenVymLink=a;
-
-    a = new QAction(QPixmap(":/flag-vymlink.png"), tr( "Open linked map in background tab","Edit menu" ), this);
-    a->setEnabled (false);
-    switchboard.addSwitch ("mapOpenVymLink", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editOpenVymLinkBackground() ) );
-    actionListBranches.append (a);
-    actionOpenVymLinkBackground=a;
-
-    a = new QAction(QPixmap(), tr( "Open all vym links in subtree","Edit menu" ), this);
-    a->setEnabled (false);
-    switchboard.addSwitch ("mapOpenMultipleVymLinks", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editOpenMultipleVymLinks() ) );
-    actionListBranches.append(a);
-    actionOpenMultipleVymLinks=a;
-
-
-    a = new QAction(QPixmap(":/flag-vymlinknew.png"), tr( "Edit vym link...","Edit menu" ), this);
-    a->setEnabled (false);
-    switchboard.addSwitch ("mapEditVymLink", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editVymLink() ) );
-    actionListBranches.append(a);
-    actionEditVymLink=a;
-
-    a = new QAction(tr( "Delete vym link","Edit menu" ),this);
-    a->setEnabled (false);
-    switchboard.addSwitch ("mapDeleteVymLink", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editDeleteVymLink() ) );
-    actionListBranches.append(a);
-    actionDeleteVymLink=a;
-
-    tag = tr("Exports","Shortcuts");
-    a = new QAction(QPixmap(":/flag-hideexport.png"), tr( "Hide in exports","Edit menu" ), this);
-    a->setShortcut (Qt::Key_H );
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(true);
-    a->setEnabled (false);
-    addAction(a);
-    switchboard.addSwitch ("mapToggleHideExport", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editToggleHideExport() ) );
-    actionListItems.append (a);
-    actionToggleHideExport=a;
-
-    tag = tr("Tasks","Shortcuts");
-    a = new QAction(QPixmap(":/flag-task.png"), tr( "Toggle task","Edit menu" ), this);
-    a->setShortcut (Qt::Key_W + Qt::SHIFT);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(true);
-    a->setEnabled (false);
-    addAction(a);
-    switchboard.addSwitch ("mapToggleTask", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editToggleTask() ) );
-    actionListBranches.append (a);
-    actionToggleTask=a;
-
-    a = new QAction(QPixmap(), tr( "Cycle task status","Edit menu" ), this);
-    a->setShortcut (Qt::Key_W );
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    addAction(a);
-    switchboard.addSwitch ("mapCycleTaskStatus", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editCycleTaskStatus() ) );
-    actionListBranches.append (a);
-    actionCycleTaskStatus=a;
-
-    a = new QAction(QPixmap(), tr( "Reset sleep","Task sleep" ), this);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    a->setData (0);
-    addAction(a);
-    switchboard.addSwitch ("mapResetSleep", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editTaskSleepN() ) );
-    actionListBranches.append (a);
-    actionTaskSleep0=a;
-
-    a = new QAction(QPixmap(), tr( "Sleep %1 days","Task sleep" ).arg("n")+"...", this);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setShortcut (Qt::Key_Q + Qt::SHIFT);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    a->setData (-1);
-    addAction(a);
-    switchboard.addSwitch ("mapTaskSleepN", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editTaskSleepN() ) );
-    actionListBranches.append (a);
-    actionTaskSleepN=a;
-
-    a = new QAction(QPixmap(), tr( "Sleep %1 day","Task sleep" ).arg(1), this);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    a->setData (1);
-    addAction(a);
-    switchboard.addSwitch ("mapTaskSleep1", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editTaskSleepN() ) );
-    actionListBranches.append (a);
-    actionTaskSleep1=a;
-
-    a = new QAction(QPixmap(), tr( "Sleep %1 days","Task sleep" ).arg(2), this);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    a->setData (2);
-    addAction(a);
-    switchboard.addSwitch ("mapTaskSleep2", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editTaskSleepN() ) );
-    actionListBranches.append (a);
-    actionTaskSleep2=a;
-
-    a = new QAction(QPixmap(), tr( "Sleep %1 days","Task sleep" ).arg(3), this);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    a->setData (3);
-    addAction(a);
-    switchboard.addSwitch ("mapTaskSleep3", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editTaskSleepN() ) );
-    actionListBranches.append (a);
-    actionTaskSleep3=a;
-
-    a = new QAction(QPixmap(), tr( "Sleep %1 days","Task sleep" ).arg(5), this); 
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    a->setData (5);
-    addAction(a);
-    switchboard.addSwitch ("mapTaskSleep5", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editTaskSleepN() ) );
-    actionListBranches.append (a);
-    actionTaskSleep5=a;
-
-    a = new QAction(QPixmap(), tr( "Sleep %1 days","Task sleep" ).arg(7), this);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    a->setData (7);
-    addAction(a);
-    switchboard.addSwitch ("mapTaskSleep7", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editTaskSleepN() ) );
-    actionListBranches.append (a);
-    actionTaskSleep7=a;
-
-    a = new QAction(QPixmap(), tr( "Sleep %1 weeks","Task sleep" ).arg(2), this);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    a->setData (14);
-    addAction(a);
-    switchboard.addSwitch ("mapTaskSleep14", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editTaskSleepN() ) );
-    actionListBranches.append (a);
-    actionTaskSleep14=a;
-
-    a = new QAction(QPixmap(), tr( "Sleep %1 weeks","Task sleep" ).arg(4), this);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable(false);
-    a->setEnabled (false);
-    a->setData (28);
-    addAction(a);
-    switchboard.addSwitch ("mapTaskSleep28", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editTaskSleepN() ) );
-    actionListBranches.append (a);
-    actionTaskSleep28=a;
-
-    // Import at selection (adding to selection)
-    a = new QAction( tr( "Add map (insert)","Edit menu" ),this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editImportAdd() ) );
-    a->setEnabled (false);
-    actionListBranches.append(a);
-    actionImportAdd=a;
-
-    // Import at selection (replacing selection)
-    a = new QAction( tr( "Add map (replace)","Edit menu" ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editImportReplace() ) );
-    a->setEnabled (false);
-    actionListBranches.append(a);
-    actionImportReplace=a;
-
-    // Save selection 
-    a = new QAction( tr( "Save selection","Edit menu" ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editSaveBranch() ) );
-    a->setEnabled (false);
-    actionListBranches.append(a);
-    actionSaveBranch=a;
-
-    tag = tr("Removing parts of a map","Shortcuts");
-
-    // Only remove branch, not its children
-    a = new QAction(tr( "Remove only branch and keep its children ","Edit menu" ), this);
-    a->setShortcut (Qt::ALT + Qt::Key_X );
-    connect( a, SIGNAL( triggered() ), this, SLOT( editDeleteKeepChildren() ) );
-    a->setEnabled (false);
-    addAction(a);
-    switchboard.addSwitch ("mapDeleteKeepChildren", shortcutScope, a, tag);
-    actionListBranches.append(a);
-    actionDeleteKeepChildren=a;
-
-    // Only remove children of a branch
-    a = new QAction( tr( "Remove children","Edit menu" ), this);
-    a->setShortcut (Qt::SHIFT + Qt::Key_X );
-    addAction(a);
-    switchboard.addSwitch ("mapDeleteChildren", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editDeleteChildren() ) );
-    a->setEnabled (false);
-    addAction (a);
-    actionListBranches.append(a);
-    actionDeleteChildren=a;
-
-    tag = tr("Various","Shortcuts");
-    a = new QAction(tr( "Add timestamp","Edit menu" ), this);
-    a->setEnabled (false);
-    actionListBranches.append(a);
-    a->setShortcut ( Qt::Key_T ); 
-    a->setShortcutContext (Qt::WindowShortcut);
-    addAction(a);
-    switchboard.addSwitch ("mapAddTimestamp", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editAddTimestamp() ) );
-    actionListBranches.append (a);
-    actionAddTimestamp=a;
-
-    a = new QAction(tr( "Map properties...","Edit menu" ),this);
-    a->setEnabled (true);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editMapProperties() ) );
-    actionListFiles.append (a);
-    actionMapInfo=a;
-
-    a = new QAction( tr( "Add   ...","Edit menu" ), this);
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setShortcut (Qt::Key_I + Qt::SHIFT);    
-    addAction(a);
-    switchboard.addSwitch ("mapLoadImage", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editLoadImage() ) );
-    actionLoadImage=a;
-
-    a = new QAction( tr( "Property window","Dialog to edit properties of selection" )+QString ("..."), this);
-    a->setShortcut ( Qt::Key_P );       
-    a->setShortcutContext (Qt::WindowShortcut);
-    a->setCheckable (true);
-    addAction(a);
-    switchboard.addSwitch ("mapTogglePropertEditor", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( windowToggleProperty() ) );
-    actionViewTogglePropertyEditor=a;
-}
-
-// Select Actions
-void Main::setupSelectActions()
-{
-    QString tag = tr("Selections","Shortcuts");
-    QMenu *selectMenu = menuBar()->addMenu( tr("Select","Select menu") );
-    QAction *a;
-    a = new QAction( QPixmap(":/flag-target.png"), tr( "Toggle target...","Edit menu"), this);
-    a->setShortcut (Qt::SHIFT + Qt::Key_T );           
-    a->setCheckable(true);
-    selectMenu->addAction(a);
-    switchboard.addSwitch ("mapToggleTarget", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editToggleTarget() ) );
-    actionListBranches.append (a);
-    actionToggleTarget=a;
-
-    a = new QAction( QPixmap(":/flag-target.png"), tr( "Goto target...","Edit menu"), this);
-    a->setShortcut (Qt::Key_G );               
-    selectMenu->addAction(a);
-    switchboard.addSwitch ("mapGotoTarget", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editGoToTarget() ) );
-    actionListBranches.append (a);
-    actionGoToTarget=a;
-
-    a = new QAction( QPixmap(":/flag-target.png"), tr( "Move to target...","Edit menu"), this);
-    a->setShortcut (Qt::Key_M );               
-    selectMenu->addAction(a);
-    switchboard.addSwitch ("mapMoveToTarget", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editMoveToTarget() ) );
-    actionListBranches.append (a);
-    actionMoveToTarget=a;
-
-    a = new QAction( QPixmap(":/selectprevious.png"), tr( "Select previous","Edit menu"), this);
-    a->setShortcut (Qt::CTRL+ Qt::Key_O );     
-    a->setShortcutContext (Qt::WidgetShortcut);
-    selectMenu->addAction(a);
-    actionListFiles.append (a);
-    mapEditorActions.append ( a );
-    switchboard.addSwitch ("mapSelectPrevious", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editSelectPrevious() ) );
-    actionSelectPrevious=a;
-
-    a = new QAction( QPixmap(":/selectnext.png"), tr( "Select next","Edit menu"), this);
-    a->setShortcut (Qt::CTRL + Qt::Key_I );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    selectMenu->addAction(a);
-    actionListFiles.append (a);
-    mapEditorActions.append ( a );
-    switchboard.addSwitch ("mapSelectNext", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editSelectNext() ) );
-    actionSelectNext=a;
-
-    a = new QAction( tr( "Unselect all","Edit menu"), this);
-    //a->setShortcut (Qt::CTRL + Qt::Key_I );
-    selectMenu->addAction(a);
-    switchboard.addSwitch ("mapSelectNothing", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editSelectNothing() ) );
-    actionListFiles.append (a);
-    actionSelectNothing=a;
-
-    tag = tr("Search functions","Shortcuts");
-    a = new QAction( QPixmap(":/find.png"), tr( "Find...","Edit menu"), this);
-    a->setShortcut (Qt::CTRL + Qt::Key_F );    
-    selectMenu->addAction(a);
-    switchboard.addSwitch ("mapFind", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editOpenFindResultWidget() ) );
-    actionListFiles.append(a);
-    actionFind=a;
-
-    a = new QAction( QPixmap(":/find.png"), tr( "Find...","Edit menu"), this);
-    a->setShortcut (Qt::Key_Slash );   
-    selectMenu->addAction(a);
-    switchboard.addSwitch ("mapFindAlt", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editOpenFindResultWidget() ) );
-    actionListFiles.append(a);
-
-    a = new QAction( tr( "Find duplicate URLs","Edit menu"), this);
-    a->setShortcut (Qt::SHIFT + Qt::Key_F);    
-    switchboard.addSwitch ("mapFindDuplicates", shortcutScope, a, tag);
-    if (settings.value( "/mainwindow/showTestMenu",false).toBool() ) 
-       selectMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editFindDuplicateURLs() ) );
-
-}
-
-// Format Actions
-void Main::setupFormatActions()
-{
-    QMenu *formatMenu = menuBar()->addMenu (tr ("F&ormat","Format menu"));
-
-    QString tag = tr("Formatting","Shortcuts");
-
-    QAction *a;
-    QPixmap pix( 16,16);
-    pix.fill (Qt::black);
-    a= new QAction(pix, tr( "Set &Color" )+QString("..."), this);
-    formatMenu->addAction(a);
-    switchboard.addSwitch ("mapFormatColor", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatSelectColor() ) );
-    actionFormatColor=a;
-
-    a= new QAction( QPixmap(":/formatcolorpicker.png"), tr( "Pic&k color","Edit menu" ), this);
-    a->setShortcut (Qt::CTRL + Qt::Key_K );
-    formatMenu->addAction(a);
-    switchboard.addSwitch ("mapFormatColorPicker", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatPickColor() ) );
-    a->setEnabled (false);
-    actionListBranches.append(a);
-    actionFormatPickColor=a;
-
-    a= new QAction(QPixmap(":/formatcolorbranch.png"), tr( "Color &branch","Edit menu" ), this);
-    //a->setShortcut (Qt::CTRL + Qt::Key_B + Qt::SHIFT);
-    formatMenu->addAction(a);
-    switchboard.addSwitch ("mapFormatColorBranch", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatColorBranch() ) );
-    a->setEnabled (false);
-    actionListBranches.append(a);
-    actionFormatColorBranch=a;
-
-    a= new QAction(QPixmap(":/formatcolorsubtree.png"), tr( "Color sub&tree","Edit menu" ), this);
-    //a->setShortcut (Qt::CTRL + Qt::Key_B);   // Color subtree
-    formatMenu->addAction(a);
-    switchboard.addSwitch ("mapFormatColorSubtree", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatColorSubtree() ) );
-    a->setEnabled (false);
-    actionListBranches.append(a);
-    actionFormatColorSubtree=a;
-
-    formatMenu->addSeparator();
-
-    a= new QAction( tr( "Select default font","Branch attribute" )+"...",  this);
-    a->setCheckable(false);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatSelectFont() ) );
-    formatMenu->addAction (a);
-    actionFormatFont=a;
-
-    formatMenu->addSeparator();
-
-    actionGroupFormatLinkStyles=new QActionGroup ( this);
-    actionGroupFormatLinkStyles->setExclusive (true);
-    a= new QAction( tr( "Linkstyle Line" ), actionGroupFormatLinkStyles);
-    a->setCheckable(true);
-    restrictedMapActions.append( a );
-    formatMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatLinkStyleLine() ) );
-    actionFormatLinkStyleLine=a;
-
-    a= new QAction( tr( "Linkstyle Curve" ), actionGroupFormatLinkStyles);
-    a->setCheckable(true);
-    restrictedMapActions.append( a );
-    formatMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatLinkStyleParabel() ) );
-    actionFormatLinkStyleParabel=a;
-
-    a= new QAction( tr( "Linkstyle Thick Line" ), actionGroupFormatLinkStyles );
-    a->setCheckable(true);
-    restrictedMapActions.append( a );
-    formatMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatLinkStylePolyLine() ) );
-    actionFormatLinkStylePolyLine=a;
-
-    a= new QAction( tr( "Linkstyle Thick Curve" ), actionGroupFormatLinkStyles);
-    a->setCheckable(true);
-    a->setChecked (true);
-    restrictedMapActions.append( a );
-    formatMenu->addAction (a);
-    formatMenu->addSeparator();
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatLinkStylePolyParabel() ) );
-    actionFormatLinkStylePolyParabel=a;
-
-    a = new QAction( tr( "Hide link if object is not selected","Branch attribute" ), this);
-    a->setCheckable(true);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatHideLinkUnselected() ) );
-    actionListBranches.append (a);
-    actionFormatHideLinkUnselected=a;
-
-    a= new QAction( tr( "&Use color of heading for link","Branch attribute" ),  this);
-    a->setCheckable(true);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatToggleLinkColorHint() ) );
-    formatMenu->addAction (a);
-    actionFormatLinkColorHint=a;
-
-    pix.fill (Qt::white);
-    a= new QAction( pix, tr( "Set &Link Color")+"..." , this  );
-    formatMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatSelectLinkColor() ) );
-    actionFormatLinkColor=a;
-
-    a= new QAction( pix, tr( "Set &Selection Color")+"...", this  );
-    formatMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatSelectSelectionColor() ) );
-    actionFormatSelectionColor=a;
-
-    a= new QAction( pix, tr( "Set &Background Color" )+"...", this );
-    formatMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatSelectBackColor() ) );
-    actionFormatBackColor=a;
-
-    a= new QAction( pix, tr( "Set &Background image" )+"...", this );
-    formatMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( formatSelectBackImage() ) );
-    actionFormatBackImage=a;
-}
-
-// View Actions
-void Main::setupViewActions()
-{
-    QMenu *viewMenu = menuBar()->addMenu ( tr( "&View" ));
-    toolbarsMenu=viewMenu->addMenu (tr("Toolbars","Toolbars overview in view menu") );
-    QString tag = tr("Views","Shortcuts");
-
-    viewMenu->addSeparator();  
-
-    QAction *a;
-    a = new QAction( QPixmap(":/viewmag+.png"), tr( "Zoom in","View action" ), this);
-    a->setShortcut(Qt::Key_Plus);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapZoomIn", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(viewZoomIn() ) );
-    actionListFiles.append (a);
-    actionZoomIn=a;
-
-    a = new QAction( QPixmap(":/viewmag-.png"), tr( "Zoom out","View action" ), this);
-    a->setShortcut(Qt::Key_Minus);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapZoomOut", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( viewZoomOut() ) );
-    actionListFiles.append (a);
-    actionZoomOut=a;
-
-    a = new QAction( QPixmap(":/rotate-ccw.png"), tr( "Rotate counterclockwise","View action" ), this);
-    a->setShortcut( Qt::SHIFT + Qt::Key_R);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapRotateCounterClockwise", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( viewRotateCounterClockwise() ) );
-    actionListFiles.append (a);
-    actionRotateCounterClockwise=a;
-
-    a = new QAction( QPixmap(":/rotate-cw.png"), tr( "Rotate rclockwise","View action" ), this);
-    a->setShortcut(Qt::Key_R);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapRotateClockwise", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( viewRotateClockwise() ) );
-    actionListFiles.append (a);
-    actionRotateClockwise=a;
-
-    a = new QAction(QPixmap(":/viewmag-reset.png"), tr( "reset Zoom","View action" ), this);
-    a->setShortcut (Qt::Key_Comma);
-    switchboard.addSwitch ("mapZoomReset", shortcutScope, a, tag);
-    viewMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(viewZoomReset() ) );
-    actionListFiles.append (a);
-    actionZoomReset=a;
-
-    a = new QAction( QPixmap(":/viewshowsel.png"), tr( "Center on selection","View action" ), this);
-    a->setShortcut(Qt::Key_Period);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapCenterOn", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( viewCenter() ) );
-    actionListFiles.append (a);
-    actionCenterOn=a;
-
-    viewMenu->addSeparator();  
-
-    //a=noteEditorDW->toggleViewAction();
-    a = new QAction(QPixmap(":/flag-note.png"), tr( "Note editor","View action" ),this);
-    a->setShortcut ( Qt::Key_N );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    a->setCheckable(true);
-    viewMenu->addAction (a);
-    mapEditorActions.append( a );
-    switchboard.addSwitch ("mapToggleNoteEditor", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowToggleNoteEditor() ) );
-    actionViewToggleNoteEditor=a;
-
-    //a=headingEditorDW->toggleViewAction();
-    a = new QAction(QPixmap(":/headingeditor.png"), tr( "Heading editor","View action" ),this);
-    a->setCheckable(true);
-    a->setIcon (QPixmap(":/headingeditor.png"));
-    a->setShortcut ( Qt::Key_E );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    mapEditorActions.append( a );
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapToggleHeadingEditor", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowToggleHeadingEditor() ) );
-    actionViewToggleHeadingEditor=a;
-
-    // Original icon is "category" from KDE
-    a = new QAction(QPixmap(":/treeeditor.png"), tr( "Tree editor","View action" ),this);
-    a->setShortcut ( Qt::CTRL + Qt::Key_T );
-    a->setCheckable(true);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapToggleTreeEditor", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowToggleTreeEditor() ) );
-    actionViewToggleTreeEditor=a;
-
-    a = new QAction(QPixmap(":/taskeditor.png"), tr( "Task editor","View action" ),this);
-    a->setCheckable(true);
-    a->setShortcut ( Qt::Key_Q );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    mapEditorActions.append( a );
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapToggleTaskEditor", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowToggleTaskEditor() ) );
-    actionViewToggleTaskEditor=a;
-
-    a = new QAction(QPixmap(":/slideeditor.png"), tr( "Slide editor","View action" ),this);
-    a->setShortcut ( Qt::SHIFT + Qt::Key_S );
-    a->setCheckable(true);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapToggleSlideEditor", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowToggleSlideEditor() ) );
-    actionViewToggleSlideEditor=a;
-
-    a = new QAction(QPixmap(":/scripteditor.png"), tr("Script editor","View action"), this);
-    a->setShortcut ( Qt::ALT + Qt::Key_S );
-    a->setCheckable(true);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapToggleScriptEditor", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( windowToggleScriptEditor() ) );
-    actionViewToggleScriptEditor=a;
-
-    a = new QAction(QPixmap(":/history.png"),  tr( "History Window","View action" ),this );
-    a->setShortcut ( Qt::CTRL + Qt::Key_H  );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    a->setCheckable(true);
-    viewMenu->addAction (a);
-    mapEditorActions.append( a );
-    switchboard.addSwitch ("mapToggleHistoryWindow", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowToggleHistory() ) );
-    actionViewToggleHistoryWindow=a;
-
-    viewMenu->addAction (actionViewTogglePropertyEditor);
-
-    viewMenu->addSeparator();  
-
-    a = new QAction(tr( "Antialiasing","View action" ),this );
-    a->setCheckable(true);
-    a->setChecked (settings.value("/mainwindow/view/AntiAlias",true).toBool());
-    viewMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowToggleAntiAlias() ) );
-    actionViewToggleAntiAlias=a;
-
-    a = new QAction(tr( "Smooth pixmap transformations","View action" ),this );
-    a->setStatusTip (a->text());
-    a->setCheckable(true);
-    a->setChecked (settings.value("/mainwindow/view/SmoothPixmapTransformation",true).toBool());
-    viewMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowToggleSmoothPixmap() ) );
-    actionViewToggleSmoothPixmapTransform=a;
-
-    a = new QAction(tr( "Next Map","View action" ), this);
-    a->setStatusTip (a->text());
-    a->setShortcut (Qt::SHIFT+ Qt::Key_Right );
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapPrevious", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowNextEditor() ) );
-
-    a = new QAction (tr( "Previous Map","View action" ), this );
-    a->setStatusTip (a->text());
-    a->setShortcut (Qt::SHIFT+ Qt::Key_Left );
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapNext", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(windowPreviousEditor() ) );
-
-    a = new QAction (tr( "Next slide","View action" ), this );
-    a->setStatusTip (a->text());
-    a->setShortcut (Qt::Key_Space);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapNextSlide", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(nextSlide() ) );
-
-    a = new QAction (tr( "Previous slide","View action" ), this );
-    a->setStatusTip (a->text());
-    a->setShortcut (Qt::Key_Backspace);
-    viewMenu->addAction (a);
-    switchboard.addSwitch ("mapPreviousSlide", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT(previousSlide() ) );
-}
-
-// Mode Actions
-void Main::setupModeActions()
-{
-    //QPopupMenu *menu = new QPopupMenu( this );
-    //menuBar()->insertItem( tr( "&Mode (using modifiers)" ), menu );
-
-    QString tag = tr("Modifier modes","Shortcuts");
-    QAction *a;
-    actionGroupModModes=new QActionGroup ( this);
-    actionGroupModModes->setExclusive (true);
-    a= new QAction( QPixmap(":/modecolor.png"), tr( "Use modifier to color branches","Mode modifier" ), actionGroupModModes);
-    a->setShortcut (Qt::Key_J);
-    addAction(a);
-    switchboard.addSwitch ("mapModModeColor", shortcutScope, a, tag);
-    a->setCheckable(true);
-    a->setChecked(true);
-    actionListFiles.append (a);
-    actionModModeColor=a;
-
-    a->setShortcut( Qt::Key_K); 
-    addAction(a);
-    switchboard.addSwitch ("mapModModeCopy", shortcutScope, a, tag);
-    a->setCheckable(true);
-    actionListFiles.append (a);
-    actionModModeCopy=a;
-
-    a= new QAction(QPixmap(":/modelink.png"), tr( "Use modifier to draw xLinks","Mode modifier" ), actionGroupModModes );
-    a->setShortcut (Qt::Key_L);
-    addAction(a);
-    switchboard.addSwitch ("mapModModeXLink", shortcutScope, a, tag);
-    a->setCheckable(true);
-    actionListFiles.append (a);
-    actionModModeXLink=a;
-}
-
-// Flag Actions
-void Main::setupFlagActions()
-{
-    // Create System Flags
-    Flag *flag;
-
-    // Tasks
-    // Origin: ./share/icons/oxygen/48x48/status/task-reject.png
-    flag=new Flag(":/flag-task-new.png");
-    flag->setGroup("system-tasks");
-    setupFlag (flag,NULL,"system-task-new",tr("Note","SystemFlag"));
-    flag=new Flag(":/flag-task-new-morning.png");
-    flag->setGroup("system-tasks");
-    setupFlag (flag,NULL,"system-task-new-morning",tr("Note","SystemFlag"));
-    flag=new Flag(":/flag-task-new-sleeping.png");
-    flag->setGroup("system-tasks");
-    setupFlag (flag,NULL,"system-task-new-sleeping",tr("Note","SystemFlag"));
-    // Origin: ./share/icons/oxygen/48x48/status/task-reject.png
-    flag=new Flag(":/flag-task-wip.png");
-    flag->setGroup("system-tasks");
-    setupFlag (flag,NULL,"system-task-wip",tr("Note","SystemFlag"));
-    flag=new Flag(":/flag-task-wip-morning.png");
-    flag->setGroup("system-tasks");
-    setupFlag (flag,NULL,"system-task-wip-morning",tr("Note","SystemFlag"));
-    flag=new Flag(":/flag-task-wip-sleeping.png");
-    flag->setGroup("system-tasks");
-    setupFlag (flag,NULL,"system-task-wip-sleeping",tr("Note","SystemFlag"));
-    // Origin: ./share/icons/oxygen/48x48/status/task-complete.png
-    flag=new Flag(":/flag-task-finished.png");
-    flag->setGroup("system-tasks");
-    setupFlag (flag,NULL,"system-task-finished",tr("Note","SystemFlag"));
-
-    flag=new Flag(":/flag-note.png");
-    setupFlag (flag,NULL,"system-note",tr("Note","SystemFlag"));
-
-    flag=new Flag(":/flag-url.png");
-    setupFlag (flag,NULL,"system-url",tr("URL to Document ","SystemFlag"));
-
-    flag=new Flag(":/flag-url-bugzilla-novell.png");
-    setupFlag (flag,NULL,"system-url-bugzilla-novell",tr("URL to Bugzilla ","SystemFlag"));
-
-    flag=new Flag(":/flag-url-bugzilla-novell-closed.png");
-    setupFlag (flag,NULL,"system-url-bugzilla-novell-closed",tr("URL to Bugzilla ","SystemFlag"));
-
-    flag=new Flag(":/flag-target.png");
-    setupFlag (flag,NULL,"system-target",tr("Map target","SystemFlag"));
-
-    flag=new Flag(":/flag-vymlink.png");
-    setupFlag (flag,NULL,"system-vymLink",tr("Link to another vym map","SystemFlag"));
-
-    flag=new Flag(":/flag-scrolled-right.png");
-    setupFlag (flag,NULL,"system-scrolledright",tr("subtree is scrolled","SystemFlag"));
-
-    flag=new Flag(":/flag-tmpUnscrolled-right.png");
-    setupFlag (flag,NULL,"system-tmpUnscrolledRight",tr("subtree is temporary scrolled","SystemFlag"));
-
-    flag=new Flag(":/flag-hideexport.png");
-    setupFlag (flag,NULL,"system-hideInExport",tr("Hide object in exported maps","SystemFlag"));
-
-    addToolBarBreak();
-
-    // Create Standard Flags
-    standardFlagsToolbar=addToolBar (tr ("Standard Flags toolbar","Standard Flag Toolbar"));
-    standardFlagsToolbar->setObjectName ("standardFlagTB");
-    standardFlagsMaster->setToolBar (standardFlagsToolbar);
-
-    // Add entry now, to avoid chicken and egg problem and position toolbar 
-    // after all others:
-    toolbarsMenu->addAction (standardFlagsToolbar->toggleViewAction() );
-
-    flag=new Flag(":/flag-stopsign.png");
-    setupFlag (flag,standardFlagsToolbar,"stopsign",tr("This won't work!","Standardflag"),Qt::Key_1);
-    flag->unsetGroup();
-
-    flag=new Flag(":/flag-hook-green.png");
-    flag->setGroup("standard-status");
-    setupFlag (flag,standardFlagsToolbar,"hook-green",tr("Status - ok,done","Standardflag"),Qt::Key_2);
-
-    flag=new Flag(":/flag-wip.png");
-    flag->setGroup("standard-status");
-    setupFlag (flag,standardFlagsToolbar,"wip",tr("Status - work in progress","Standardflag"),Qt::Key_3);
-
-    flag=new Flag(":/flag-cross-red.png");
-    flag->setGroup("standard-status");
-    setupFlag (flag,standardFlagsToolbar,"cross-red",tr("Status - missing, not started","Standardflag"),Qt::Key_4);
-
-    flag=new Flag(":/flag-exclamationmark.png");
-    flag->setGroup("standard-mark");
-    setupFlag (flag,standardFlagsToolbar,"exclamationmark",tr("Take care!","Standardflag"),Qt::Key_Exclam);
-
-    flag=new Flag(":/flag-questionmark.png");
-    flag->setGroup("standard-mark");
-    setupFlag (flag,standardFlagsToolbar,"questionmark",tr("Really?","Standardflag"),Qt::Key_Question);
-
-    flag=new Flag(":/flag-smiley-good.png");
-    flag->setGroup("standard-smiley");
-    setupFlag (flag,standardFlagsToolbar,"smiley-good",tr("Good","Standardflag"),Qt::Key_ParenRight);
-
-    flag=new Flag(":/flag-smiley-sad.png");
-    flag->setGroup("standard-smiley");
-    setupFlag (flag,standardFlagsToolbar,"smiley-sad",tr("Bad","Standardflag"),Qt::Key_ParenLeft);
-
-    flag=new Flag(":/flag-smiley-omb.png");
-    flag->setGroup("standard-smiley");
-    setupFlag (flag,standardFlagsToolbar,"smiley-omb",tr("Oh no!","Standardflag"));
-    // Original omg.png (in KDE emoticons)
-    flag->unsetGroup();
-
-    flag=new Flag(":/flag-clock.png");
-    setupFlag (flag,standardFlagsToolbar,"clock",tr("Time critical","Standardflag"));
-
-    flag=new Flag(":/flag-phone.png");
-    setupFlag (flag,standardFlagsToolbar,"phone",tr("Call...","Standardflag"));
-
-    flag=new Flag(":/flag-lamp.png");
-    setupFlag (flag,standardFlagsToolbar,"lamp",tr("Idea!","Standardflag"),Qt::Key_Asterisk);
-
-    flag=new Flag(":/flag-arrow-up.png");
-    flag->setGroup("standard-arrow");
-    setupFlag (flag,standardFlagsToolbar,"arrow-up",tr("Important","Standardflag"),Qt::SHIFT + Qt::Key_PageUp);
-
-    flag=new Flag(":/flag-arrow-down.png");
-    flag->setGroup("standard-arrow");
-    setupFlag (flag,standardFlagsToolbar,"arrow-down",tr("Unimportant","Standardflag"),Qt::SHIFT + Qt::Key_PageDown);
-
-    flag=new Flag(":/flag-2arrow-up.png");
-    flag->setGroup("standard-arrow");
-    setupFlag (flag,standardFlagsToolbar,"2arrow-up",tr("Very important!","Standardflag"),Qt::SHIFT + +Qt::CTRL + Qt::Key_PageUp);
-
-    flag=new Flag(":/flag-2arrow-down.png");
-    flag->setGroup("standard-arrow");
-    setupFlag (flag,standardFlagsToolbar,"2arrow-down",tr("Very unimportant!","Standardflag"),Qt::SHIFT + Qt::CTRL + Qt::Key_PageDown);
-    flag->unsetGroup();
-
-    flag=new Flag(":/flag-thumb-up.png");
-    flag->setGroup("standard-thumb");
-    setupFlag (flag,standardFlagsToolbar,"thumb-up",tr("I like this","Standardflag"));
-
-    flag=new Flag(":/flag-thumb-down.png");
-    flag->setGroup("standard-thumb");
-    setupFlag (flag,standardFlagsToolbar,"thumb-down",tr("I do not like this","Standardflag"));
-    flag->unsetGroup();
-
-    flag=new Flag(":/flag-rose.png");
-    setupFlag (flag,standardFlagsToolbar,"rose",tr("Rose","Standardflag"));
-
-    flag=new Flag(":/flag-heart.png");
-    setupFlag (flag,standardFlagsToolbar,"heart",tr("I just love...","Standardflag"));
-
-    flag=new Flag(":/flag-present.png");
-    setupFlag (flag,standardFlagsToolbar,"present",tr("Surprise!","Standardflag"));
-
-    flag=new Flag(":/flag-flash.png");
-    setupFlag (flag,standardFlagsToolbar,"flash",tr("Dangerous","Standardflag"));
-
-    // Original: xsldbg_output.png
-    flag=new Flag(":/flag-info.png");
-    setupFlag (flag,standardFlagsToolbar,"info",tr("Info","Standardflag"),Qt::Key_I);
-
-    // Original khelpcenter.png
-    flag=new Flag(":/flag-lifebelt.png");
-    setupFlag (flag,standardFlagsToolbar,"lifebelt",tr("This will help","Standardflag"));
-
-    // Freemind flags
-    flag=new Flag(":/freemind/warning.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,  "freemind-warning",tr("Important","Freemind-Flag"));
-
-    for (int i=1; i<8; i++)
-    {
-       flag=new Flag(QString(":/freemind/priority-%1.png").arg(i));
-       flag->setVisible(false);
-       flag->setGroup ("Freemind-priority");
-       setupFlag (flag,standardFlagsToolbar, QString("freemind-priority-%1").arg(i),tr("Priority","Freemind-Flag"));
-    }
-
-    flag=new Flag(":/freemind/back.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-back",tr("Back","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/forward.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-forward",tr("forward","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/attach.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-attach",tr("Look here","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/clanbomber.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-clanbomber",tr("Dangerous","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/desktopnew.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-desktopnew",tr("Don't flagrget","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/flag.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-flag",tr("Flag","Freemind-Flag"));
-
-
-    flag=new Flag(":/freemind/gohome.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-gohome",tr("Home","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/kaddressbook.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-kaddressbook",tr("Telephone","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/knotify.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-knotify",tr("Music","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/korn.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-korn",tr("Mailbox","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/mail.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-mail",tr("Maix","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/password.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-password",tr("Password","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/pencil.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-pencil",tr("To be improved","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/stop.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-stop",tr("Stop","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/wizard.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-wizard",tr("Magic","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/xmag.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-xmag",tr("To be discussed","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/bell.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-bell",tr("Reminder","Freemind-Flag"));
-
-    flag=new Flag(":/freemind/bookmark.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-bookmark",tr("Excellent","Freemind-Flag"));
-
-    flag= new Flag(":/freemind/penguin.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-penguin",tr("Linux","Freemind-Flag"));
-
-    flag=new Flag (":/freemind/licq.png");
-    flag->setVisible(false);
-    setupFlag (flag,standardFlagsToolbar,"freemind-licq",tr("Sweet","Freemind-Flag"));
-}
-
-void Main::setupFlag (Flag *flag, QToolBar *tb, const QString &name, const QString &tooltip, const QKeySequence &keyseq)
-{
-    flag->setName(name);
-    flag->setToolTip (tooltip);
-    QAction *a;
-    if (tb)
-    {
-        a=new QAction (flag->getPixmap(),name,this);
-        // StandardFlag
-        flag->setAction (a);
-        a->setVisible (flag->isVisible());
-        a->setCheckable(true);
-        a->setObjectName(name);
-        a->setToolTip(tooltip);
-        if (keyseq != 0)
-        {
-            a->setShortcut (keyseq);
-            a->setShortcutContext (Qt::WidgetShortcut);
-
-            // Allow mapEditors to actually trigger this action
-            mapEditorActions.append( a );
-            taskEditorActions.append( a );
-        }
-
-        tb->addAction(a);
-        connect (a, SIGNAL( triggered() ), this, SLOT( standardFlagChanged() ) );
-        standardFlagsMaster->addFlag (flag);
-    } else
-    {
-        // SystemFlag
-        systemFlagsMaster->addFlag (flag);
-    }
-}
-
-// Network Actions
-void Main::setupNetworkActions()
-{
-    if (!settings.value( "/mainwindow/showTestMenu",false).toBool() ) return;
-
-    QAction *a;
-
-    a = new QAction(  "Start TCPserver for MapEditor",this);
-    //a->setShortcut ( Qt::ALT + Qt::Key_T );   
-    connect( a, SIGNAL( triggered() ), this, SLOT( networkStartServer() ) );
-
-    a = new QAction(  "Connect MapEditor to server",this);
-    //a->setShortcut ( Qt::ALT + Qt::Key_C );
-    connect( a, SIGNAL( triggered() ), this, SLOT( networkConnect() ) );
-}
-
-// Settings Actions
-void Main::setupSettingsActions()
-{
-    QMenu *settingsMenu = menuBar()->addMenu( tr( "Settings" ));
-
-    QAction *a;
-
-    a = new QAction( tr( "Check for release notes and updates","Settings action"), this);
-    a->setCheckable(true);
-    a->setChecked ( settings.value ("/downloads/enabled",true).toBool());
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsToggleDownloads() ) );
-    settingsMenu->addAction (a);
-    actionSettingsToggleDownloads = a;
-
-    a = new QAction( tr( "Set author for new maps","Settings action"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsDefaultMapAuthor() ) );
-    settingsMenu->addAction (a);
-
-    settingsMenu->addSeparator();
-
-    a = new QAction( tr( "Set application to open pdf files","Settings action"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsPDF() ) );
-    settingsMenu->addAction (a);
-
-    a = new QAction( tr( "Set application to open external links","Settings action"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsURL() ) );
-    settingsMenu->addAction (a);
-
-    a = new QAction( tr( "Set application to zip/unzip files","Settings action"), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsZipTool() ) );
-    settingsMenu->addAction (a);
-
-    a = new QAction( tr( "Set path for macros","Settings action")+"...", this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsMacroDir() ) );
-    settingsMenu->addAction (a);
-
-    a = new QAction( tr( "Set number of undo levels","Settings action")+"...", this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsUndoLevels() ) );
-    settingsMenu->addAction (a);
-
-    settingsMenu->addSeparator();
-
-    a = new QAction( tr( "Autosave","Settings action"), this);
-    a->setCheckable(true);
-    a->setChecked ( settings.value ("/system/autosave/use",true).toBool());
-    settingsMenu->addAction (a);
-    actionSettingsToggleAutosave=a;
-
-    a = new QAction( tr( "Autosave time","Settings action")+"...", this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsAutosaveTime() ) );
-    settingsMenu->addAction (a);
-    actionSettingsAutosaveTime=a;
-
-    // Disable certain actions during testing
-    if (testmode)
-    {
-       actionSettingsToggleAutosave->setChecked (false);
-       actionSettingsToggleAutosave->setEnabled (false);
-       actionSettingsAutosaveTime->setEnabled (false);
-    }
-
-    a = new QAction( tr( "Write backup file on save","Settings action"), this);
-    a->setCheckable(true);
-    a->setChecked ( settings.value ("/system/writeBackupFile",false).toBool());
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsToggleWriteBackupFile() ) );
-    settingsMenu->addAction (a);
-    actionSettingsWriteBackupFile=a;
-
-    settingsMenu->addSeparator();
-
-    a = new QAction( tr( "Edit branch after adding it","Settings action" ), this );
-    a->setCheckable(true);
-    a->setChecked ( settings.value ("/mapeditor/editmode/autoEditNewBranch",true).toBool());
-    settingsMenu->addAction (a);
-    actionSettingsAutoEditNewBranch=a;
-
-    a= new QAction( tr( "Select branch after adding it","Settings action" ), this );
-    a->setCheckable(true);
-    a->setChecked ( settings.value ("/mapeditor/editmode/autoSelectNewBranch",false).toBool() );
-    settingsMenu->addAction (a);
-    actionSettingsAutoSelectNewBranch=a;
-
-    a= new QAction(tr( "Select existing heading","Settings action" ), this);
-    a->setCheckable(true);
-    a->setChecked ( settings.value ("/mapeditor/editmode/autoSelectText",true).toBool() );
-    settingsMenu->addAction (a);
-    actionSettingsAutoSelectText=a;
-
-    a= new QAction( tr( "Exclusive flags","Settings action" ), this);
-    a->setCheckable(true);
-    a->setChecked ( settings.value ("/mapeditor/editmode/useFlagGroups",true).toBool() );
-    settingsMenu->addAction (a);
-    actionSettingsUseFlagGroups=a;
-
-    a= new QAction( tr( "Use hide flags","Settings action" ), this);
-    a->setCheckable(true);
-    a->setChecked ( settings.value ("/export/useHideExport",true).toBool() );
-    settingsMenu->addAction (a);
-    actionSettingsUseHideExport=a;
-
-    settingsMenu->addSeparator();
-
-    a = new QAction( tr( "Number of visible parents in task editor","Settings action"), this); 
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsShowParentsLevelTasks() ) );
-    settingsMenu->addAction (a);
-    actionSettingsShowParentsLevelTasks=a;
-
-    a = new QAction( tr( "Number of visible parents in find results window","Settings action"), this); 
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsShowParentsLevelFindResults() ) );
-    settingsMenu->addAction (a);
-    actionSettingsShowParentsLevelFindResults=a;
-
-    a = new QAction( tr( "Animation","Settings action"), this);
-    a->setCheckable(true);
-    a->setChecked (settings.value("/animation/use",true).toBool() );
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsToggleAnimation() ) );
-    settingsMenu->addAction (a);
-    actionSettingsUseAnimation=a;
-
-    a = new QAction( tr( "Automatic layout","Settings action"), this);
-    a->setCheckable(true);
-    a->setChecked ( settings.value ("/mainwindow/autoLayout/use",true).toBool());
-    connect( a, SIGNAL( triggered() ), this, SLOT( settingsToggleAutoLayout() ) );
-    settingsMenu->addAction (a);
-    actionSettingsToggleAutoLayout=a;
-}
-
-// Test Actions
-void Main::setupTestActions()
-{
-    QMenu *testMenu = menuBar()->addMenu( tr( "Test" ));
-
-    QString tag = "Testing";
-    QAction *a;
-    a = new QAction( "Test function 1" , this);
-    a->setShortcut (Qt::ALT + Qt::Key_T); 
-    testMenu->addAction(a);
-    switchboard.addSwitch ("mapTest1", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( testFunction1() ) );
-
-    a = new QAction( "Test function 2" , this);
-    testMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( testFunction2() ) );
-
-    a = new QAction( "Toggle hide export mode" , this);
-    a->setCheckable (true);
-    a->setChecked (false);
-    testMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( toggleHideExport() ) );
-    actionToggleHideMode=a;
-
-    a = new QAction( "Toggle winter mode" , this);
-    a->setShortcut (Qt::ALT + Qt::Key_Asterisk); 
-    testMenu->addAction(a);
-    switchboard.addSwitch ("mapWinterMode", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( toggleWinter() ) );
-    actionToggleWinter=a;
-}
-
-// Help Actions
-void Main::setupHelpActions()
-{
-    QMenu *helpMenu = menuBar()->addMenu ( tr( "&Help","Help menubar entry" ));
-
-    QAction *a;
-    a = new QAction(  tr( "Open VYM Documentation (pdf) ","Help action" ), this );
-    helpMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( helpDoc() ) );
-
-    a = new QAction(  tr( "Open VYM example maps ","Help action" ), this );
-    helpMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( helpDemo() ) );
-    helpMenu->addSeparator();
-
-    a = new QAction(  tr( "Download and show release notes","Help action" ), this );
-    helpMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( checkReleaseNotes() ) );
-
-    a = new QAction(  tr( "Check, if updates are available","Help action" ), this );
-    helpMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( checkUpdates() ) );
-    helpMenu->addSeparator();
-
-    a = new QAction(  tr( "Show keyboard shortcuts","Help action" ), this );
-    helpMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( helpShortcuts() ) );
-
-    a = new QAction( tr("Debug info","Option to show debugging info") , this);  
-    helpMenu->addAction(a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( debugInfo() ) );
-
-    a = new QAction( tr( "About VYM","Help action" ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( helpAbout() ) );
-    helpMenu->addAction (a);
-
-    a = new QAction( tr( "About QT","Help action" ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( helpAboutQT() ) );
-    helpMenu->addAction (a);
-}
-
-// Context Menus
-void Main::setupContextMenus()
-{
-    // Context menu for goto/move targets  (populated on demand)
-    targetsContextMenu = new QMenu (this);
-
-    // Context Menu for branch or mapcenter
-    branchContextMenu =new QMenu (this);
-    branchContextMenu->addAction (actionViewTogglePropertyEditor);
-    branchContextMenu->addSeparator(); 
-
-       // Submenu "Add"
-       branchAddContextMenu =branchContextMenu->addMenu (tr("Add"));
-       branchAddContextMenu->addAction (actionPaste );
-       branchAddContextMenu->addAction ( actionAddMapCenter );
-       branchAddContextMenu->addAction ( actionAddBranch );
-       branchAddContextMenu->addAction ( actionAddBranchBefore );
-       branchAddContextMenu->addAction ( actionAddBranchAbove);
-       branchAddContextMenu->addAction ( actionAddBranchBelow );
-       branchAddContextMenu->addSeparator();   
-       branchAddContextMenu->addAction ( actionImportAdd );
-       branchAddContextMenu->addAction ( actionImportReplace );
-
-       // Submenu "Remove"
-       branchRemoveContextMenu =branchContextMenu->addMenu (tr ("Remove","Context menu name"));
-       branchRemoveContextMenu->addAction (actionCut);
-       branchRemoveContextMenu->addAction ( actionDelete );
-       branchRemoveContextMenu->addAction ( actionDeleteKeepChildren );
-       branchRemoveContextMenu->addAction ( actionDeleteChildren );
-       
-
-    branchContextMenu->addAction(actionSaveBranch);
-    branchContextMenu->addAction( actionFileNewCopy);
-    branchContextMenu->addAction(actionDetach);
-
-    branchContextMenu->addSeparator(); 
-    branchContextMenu->addAction ( actionLoadImage);
-    if (settings.value( "/mainwindow/showTestMenu",false).toBool() )
-       branchContextMenu->addAction ( actionAddAttribute);
-
-
-    branchContextMenu->addSeparator();  
-
-    // Context menu for tasks
-    taskContextMenu = branchContextMenu->addMenu (tr("Tasks","Context menu"));
-       taskContextMenu->addAction (actionToggleTask);
-       taskContextMenu->addAction (actionCycleTaskStatus);
-       taskContextMenu->addSeparator();
-       taskContextMenu->addAction (actionTaskSleep0);
-       taskContextMenu->addAction (actionTaskSleepN);
-       taskContextMenu->addAction (actionTaskSleep1);
-       taskContextMenu->addAction (actionTaskSleep2);
-       taskContextMenu->addAction (actionTaskSleep3);
-       taskContextMenu->addAction (actionTaskSleep5);
-       taskContextMenu->addAction (actionTaskSleep7);
-       taskContextMenu->addAction (actionTaskSleep14);
-       taskContextMenu->addAction (actionTaskSleep28);
-
-    // Submenu for Links (URLs, vymLinks)
-    branchLinksContextMenu =new QMenu (this);
-
-       branchLinksContextMenu=branchContextMenu->addMenu(tr("References (URLs, vymLinks, ...)","Context menu name"));  
-       branchLinksContextMenu->addAction ( actionOpenURL );
-       branchLinksContextMenu->addAction ( actionOpenURLTab );
-       branchLinksContextMenu->addAction ( actionOpenMultipleVisURLTabs );
-       branchLinksContextMenu->addAction ( actionOpenMultipleURLTabs );
-       branchLinksContextMenu->addAction ( actionURLNew );
-       branchLinksContextMenu->addAction ( actionLocalURL );
-       branchLinksContextMenu->addAction ( actionGetURLsFromNote );
-       branchLinksContextMenu->addAction ( actionHeading2URL );
-       branchLinksContextMenu->addAction ( actionBugzilla2URL );
-       branchLinksContextMenu->addAction ( actionGetBugzillaData );
-       branchLinksContextMenu->addAction ( actionGetBugzillaDataSubtree );
-       if (settings.value( "/mainwindow/showTestMenu",false).toBool() )
-           branchLinksContextMenu->addAction ( actionFATE2URL );
-       branchLinksContextMenu->addSeparator(); 
-       branchLinksContextMenu->addAction ( actionOpenVymLink );
-       branchLinksContextMenu->addAction ( actionOpenVymLinkBackground );
-       branchLinksContextMenu->addAction ( actionOpenMultipleVymLinks );
-       branchLinksContextMenu->addAction ( actionEditVymLink );
-       branchLinksContextMenu->addAction ( actionDeleteVymLink );
-       
-
-    // Context Menu for XLinks in a branch menu
-    // This will be populated "on demand" in updateActions
-    QString tag = tr ("XLinks","Menu for file actions");
-    branchContextMenu->addSeparator(); 
-    branchXLinksContextMenuEdit =branchContextMenu->addMenu (tr ("Edit XLink","Context menu name"));
-    connect( 
-       branchXLinksContextMenuEdit, SIGNAL( triggered(QAction *) ), 
-       this, SLOT( editEditXLink(QAction * ) ) );
-    QAction *a;
-    a = new QAction( tr("Follow XLink","Context menu") , this);
-    a->setShortcut (Qt::Key_F); 
-    addAction(a);
-    switchboard.addSwitch ("mapFollowXLink", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( popupFollowXLink() ) );
-
-    branchXLinksContextMenuFollow =branchContextMenu->addMenu (tr ("Follow XLink","Context menu name"));
-    connect( 
-       branchXLinksContextMenuFollow, SIGNAL( triggered(QAction *) ), 
-       this, SLOT( editFollowXLink(QAction * ) ) );
-
-
-
-    // Context menu for floatimage
-    floatimageContextMenu =new QMenu (this);
-    a= new QAction (tr ("Save image","Context action"),this);
-    connect (a, SIGNAL (triggered()), this, SLOT (editSaveImage()));
-    floatimageContextMenu->addAction (a);
-
-    floatimageContextMenu->addSeparator();  
-    floatimageContextMenu->addAction(actionCopy);
-    floatimageContextMenu->addAction(actionCut);
-
-    floatimageContextMenu->addSeparator();  
-    floatimageContextMenu->addAction ( actionFormatHideLinkUnselected );
-
-    // Context menu for canvas
-    canvasContextMenu =new QMenu (this);
-
-    canvasContextMenu->addAction (actionAddMapCenter);
-
-    canvasContextMenu->addSeparator();   
-
-    canvasContextMenu->addAction(actionMapProperties);
-    canvasContextMenu->addAction(actionFormatFont);
-
-    canvasContextMenu->addSeparator();   
-
-    canvasContextMenu->addActions(actionGroupFormatLinkStyles->actions() );
-
-    canvasContextMenu->addSeparator();   
-
-    canvasContextMenu->addAction(actionFormatLinkColorHint);
-
-    canvasContextMenu->addSeparator();   
-
-    canvasContextMenu->addAction(actionFormatLinkColor);
-    canvasContextMenu->addAction(actionFormatSelectionColor);
-    canvasContextMenu->addAction(actionFormatBackColor);
-    //if (settings.value( "/mainwindow/showTestMenu",false).toBool() )
-    //    canvasContextMenu->addAction( actionFormatBackImage );  //FIXME-3 makes vym too slow: postponed for later version 
-
-
-    // Menu for last opened files
-    // Create actions
-    for (int i = 0; i < MaxRecentFiles; ++i) 
-    {
-       recentFileActions[i] = new QAction(this);
-       recentFileActions[i]->setVisible(false);
-       fileLastMapsMenu->addAction(recentFileActions[i]);
-       connect(recentFileActions[i], SIGNAL(triggered()),
-               this, SLOT(fileLoadRecent()));
-    }
-    setupRecentMapsMenu();
-}
-
-void Main::setupRecentMapsMenu()
-{
-    QStringList files = settings.value("/mainwindow/recentFileList").toStringList();
-
-    int numRecentFiles = qMin(files.size(), (int)MaxRecentFiles);
-
-    for (int i = 0; i < numRecentFiles; ++i) {
-       QString text = QString("&%1 %2").arg(i + 1).arg(files[i]);
-       recentFileActions[i]->setText(text);
-       recentFileActions[i]->setData(files[i]);
-       recentFileActions[i]->setVisible(true);
-    }
-    for (int j = numRecentFiles; j < MaxRecentFiles; ++j)
-       recentFileActions[j]->setVisible(false);
-}
-
-void Main::setupMacros()
-{
-    for (int i = 0; i <= 12; i++) 
-    {
-       macroActions[i] = new QAction(this);
-       macroActions[i]->setData(i);
-       addAction (macroActions[i]);
-       connect(macroActions[i], SIGNAL(triggered()), this, SLOT(callMacro()));
-    }          
-    macroActions[0]->setShortcut ( Qt::Key_F1 );
-    macroActions[1]->setShortcut ( Qt::Key_F2 );
-    macroActions[2]->setShortcut ( Qt::Key_F3 );
-    macroActions[3]->setShortcut ( Qt::Key_F4 );
-    macroActions[4]->setShortcut ( Qt::Key_F5 );
-    macroActions[5]->setShortcut ( Qt::Key_F6 );
-    macroActions[6]->setShortcut ( Qt::Key_F7 );
-    macroActions[7]->setShortcut ( Qt::Key_F8 );
-    macroActions[8]->setShortcut ( Qt::Key_F9 );
-    macroActions[9]->setShortcut ( Qt::Key_F10 );
-    macroActions[10]->setShortcut ( Qt::Key_F11 );
-    macroActions[11]->setShortcut ( Qt::Key_F12 );
-
-    macroActions[12]->setShortcut ( Qt::Key_F1 + Qt::SHIFT);
-}
-
-void Main::setupToolbars()
-{
-    // File actions
-    fileToolbar = addToolBar( tr ("File actions toolbar","Toolbar for file actions"));
-    fileToolbar->setObjectName ("fileTB");
-    fileToolbar->addAction(actionFileNew);
-    fileToolbar->addAction(actionFileOpen);
-    fileToolbar->addAction(actionFileSave);
-    fileToolbar->addAction(actionFileExportLast);
-    fileToolbar->addAction(actionFilePrint);
-
-    // Undo/Redo and clipboard
-    clipboardToolbar =addToolBar( tr ("Undo and clipboard toolbar","Toolbar for redo/undo and clipboard"));
-    clipboardToolbar->setObjectName ("clipboard toolbar");
-    clipboardToolbar->addAction (actionUndo);
-    clipboardToolbar->addAction (actionRedo);
-    clipboardToolbar->addAction (actionCopy);
-    clipboardToolbar->addAction (actionCut);
-    clipboardToolbar->addAction (actionPaste);
-
-    // Basic edits
-    editActionsToolbar = addToolBar( tr ("Edit actions toolbar","Toolbar name") );
-    editActionsToolbar->setObjectName ("basic edit actions TB");
-    editActionsToolbar->addAction (actionAddMapCenter);
-    editActionsToolbar->addAction (actionAddBranch);
-    editActionsToolbar->addAction (actionMoveUp);
-    editActionsToolbar->addAction (actionMoveDown);
-    editActionsToolbar->addAction (actionSortChildren);
-    editActionsToolbar->addAction (actionSortBackChildren);
-    editActionsToolbar->addAction (actionToggleScroll);
-    editActionsToolbar->addAction (actionToggleHideExport);
-    editActionsToolbar->addAction (actionToggleTask);
-    //editActionsToolbar->addAction (actionExpandAll);
-    //editActionsToolbar->addAction (actionExpandOneLevel);
-    //editActionsToolbar->addAction (actionCollapseOneLevel);
-    //editActionsToolbar->addAction (actionCollapseUnselected);
-
-    // Selections
-    selectionToolbar = addToolBar( tr ("Selection toolbar","Toolbar name") );
-    selectionToolbar->setObjectName ("toolbar for selecting items");
-    selectionToolbar->addAction (actionToggleTarget);
-    selectionToolbar->addAction (actionSelectPrevious);
-    selectionToolbar->addAction (actionSelectNext);
-    selectionToolbar->addAction (actionFind);
-
-    // URLs and vymLinks
-    referencesToolbar=addToolBar( tr ("URLs and vymLinks toolbar","Toolbar for URLs and vymlinks"));
-    referencesToolbar->setObjectName ("URLs and vymlinks toolbar");
-    //referencesToolbar->addAction (actionOpenURL); //FIXME-4 removed 2015-06-22
-    referencesToolbar->addAction (actionURLNew);
-    //referencesToolbar->addAction (actionOpenVymLink)//FIXME-4 removed 2015-06-22;
-    referencesToolbar->addAction (actionEditVymLink);
-
-    // Format and colors
-    colorsToolbar = addToolBar( tr("Colors toolbar","Colors toolbar name"));
-    colorsToolbar->setObjectName ("colorsTB");
-    colorsToolbar->addAction(actionFormatColor);
-    colorsToolbar->addAction(actionFormatPickColor);
-    colorsToolbar->addAction(actionFormatColorBranch);
-    colorsToolbar->addAction(actionFormatColorSubtree);
-
-    // Zoom
-    zoomToolbar = addToolBar( tr("Zoom toolbar","View Toolbar name") );
-    zoomToolbar->setObjectName ("viewTB");
-    zoomToolbar->addAction(actionZoomIn);
-    zoomToolbar->addAction(actionZoomOut);
-    zoomToolbar->addAction(actionZoomReset);
-    zoomToolbar->addAction(actionCenterOn);
-    zoomToolbar->addAction(actionRotateCounterClockwise);
-    zoomToolbar->addAction(actionRotateClockwise);
-
-    // Editors
-    editorsToolbar = addToolBar( tr("Editors toolbar","Editor Toolbar name") );
-    editorsToolbar->setObjectName ("editorsTB");
-    editorsToolbar->addAction (actionViewToggleNoteEditor);
-    editorsToolbar->addAction (actionViewToggleHeadingEditor);
-    editorsToolbar->addAction (actionViewToggleTreeEditor);
-    editorsToolbar->addAction (actionViewToggleTaskEditor);
-    editorsToolbar->addAction (actionViewToggleSlideEditor);
-    editorsToolbar->addAction (actionViewToggleScriptEditor);
-    editorsToolbar->addAction (actionViewToggleHistoryWindow);
-
-
-    // Modifier modes
-    modModesToolbar = addToolBar( tr ("Modifier modes toolbar","Modifier Toolbar name") );
-    modModesToolbar->setObjectName ("modesTB");
-    modModesToolbar->addAction(actionModModeColor);
-    modModesToolbar->addAction(actionModModeCopy);
-    modModesToolbar->addAction(actionModModeXLink);
-    
-    // Add all toolbars to View menu
-    toolbarsMenu->addAction (fileToolbar->toggleViewAction() );
-    toolbarsMenu->addAction (clipboardToolbar->toggleViewAction() );
-    toolbarsMenu->addAction (editActionsToolbar->toggleViewAction() );
-    toolbarsMenu->addAction (selectionToolbar->toggleViewAction() );
-    toolbarsMenu->addAction (colorsToolbar->toggleViewAction() );
-    toolbarsMenu->addAction (zoomToolbar->toggleViewAction() );
-    toolbarsMenu->addAction (modModesToolbar->toggleViewAction() );
-    toolbarsMenu->addAction (referencesToolbar->toggleViewAction() );
-    toolbarsMenu->addAction (editorsToolbar->toggleViewAction() );
-
-    // Default visibility to not overload new users
-    fileToolbar->show();
-    clipboardToolbar->show();
-    editActionsToolbar->show();
-    selectionToolbar->hide();
-    colorsToolbar->show();
-    zoomToolbar->show();
-    modModesToolbar->hide();
-    referencesToolbar->hide();
-    editorsToolbar->hide();
-
-}
-
-VymView* Main::currentView() const
-{
-    if ( tabWidget->currentWidget() )
-    {
-       int i=tabWidget->currentIndex();
-       if (i>=0 && i< vymViews.count() ) return vymViews.at(i);
-    }
-    return NULL;
-}
-
-MapEditor* Main::currentMapEditor() const
-{
-    if ( tabWidget->currentWidget())
-       return vymViews.at(tabWidget->currentIndex())->getMapEditor();
-    return NULL;    
-}
-
-uint  Main::currentModelID() const
-{
-    VymModel *m=currentModel();
-    if (m)
-       return m->getModelID();
-    else
-       return 0;    
-}
-
-VymModel* Main::currentModel() const
-{
-    VymView *vv=currentView();
-    if (vv) 
-       return vv->getModel();
-    else
-       return NULL;    
-}
-
-VymModel* Main::getModel(uint id) const        
-{
-    if (id <=0) return NULL;
-
-    // Used in BugAgent
-    for (int i=0; i<vymViews.count();i++)
-       if (vymViews.at(i)->getModel()->getModelID()==id)
-           return vymViews.at(i)->getModel();
-    return NULL;    
-}
-
-void Main::gotoModel (VymModel *m)
-{
-    for (int i=0; i<vymViews.count();i++)
-       if (vymViews.at(i)->getModel()==m)
-       {
-           tabWidget->setCurrentIndex (i);
-           return;
-       }
-}
-
-int Main::modelCount()
-{
-    return vymViews.count();
-}
-
-void Main::updateTabName( VymModel *vm)
-{
-    for( int i = 0; i < vymViews.count(); i++)
-    {
-        if (vymViews.at(i)->getModel() == vm )
-        {
-            if ( vm->isReadOnly() )
-                tabWidget->setTabText( i, vm->getFileName() + " " + tr("(readonly)") );
-            else
-                tabWidget->setTabText( i, vm->getFileName() );
-            break;
-        }
-    }
-}
-
-void Main::editorChanged()
-{
-    VymModel *vm=currentModel();
-    if (vm) 
-    {  
-       updateNoteEditor (vm->getSelectedIndex() );
-       updateQueries (vm);
-
-       taskEditor->setMapName (vm->getMapName() );
-    }  
-
-    // Update actions to in menus and toolbars according to editor
-    updateActions();
-}
-
-void Main::fileNew()
-{
-    VymModel *vm=new VymModel;
-
-    /////////////////////////////////////
-//  new ModelTest(vm, this);   
-    /////////////////////////////////////
-
-    VymView *vv=new VymView (vm);
-    vymViews.append (vv);
-
-    tabWidget->addTab (vv,tr("unnamed","MainWindow: name for new and empty file"));
-    tabWidget->setCurrentIndex (vymViews.count() );
-    vv->initFocus();
-
-    // Create MapCenter for empty map
-    vm->addMapCenter(false);
-    vm->makeDefault();
-
-    // For the very first map we do not have flagrows yet...
-    vm->select("mc:");
-
-    // Switch to new tab
-    tabWidget->setCurrentIndex (tabWidget->count() -1);
-}
-
-void Main::fileNewCopy() 
-{
-    QString fn="unnamed";
-    VymModel *srcModel=currentModel();
-    if (srcModel)
-    {
-       srcModel->copy();
-       fileNew();
-       VymModel *dstModel=vymViews.last()->getModel();
-       if (dstModel->select("mc:0"))
-           dstModel->loadMap (clipboardDir+"/"+clipboardFile,ImportReplace);
-       else
-           qWarning ()<<"Main::fileNewCopy couldn't select mapcenter";
-    }
-}
-
-File::ErrorCode Main::fileLoad(QString fn, const LoadMode &lmode, const FileType &ftype) 
-{
-    File::ErrorCode err=File::Success;
-
-    // fn is usually the archive, mapfile the file after uncompressing
-    QString mapfile;
-
-    // Make fn absolute (needed for unzip)
-    fn=QDir (fn).absolutePath();
-
-    VymModel *vm;
-
-    if (lmode==NewMap)
-    {
-       // Check, if map is already loaded
-       int i=0;
-       while (i<=tabWidget->count() -1)
-       {
-           if (vymViews.at(i)->getModel()->getFilePath() == fn)
-           {
-               // Already there, ask for confirmation
-               QMessageBox mb( vymName,
-                   tr("The map %1\nis already opened."
-                   "Opening the same map in multiple editors may lead \n"
-                   "to confusion when finishing working with vym."
-                   "Do you want to").arg(fn),
-                   QMessageBox::Warning,
-                   QMessageBox::Yes | QMessageBox::Default,
-                   QMessageBox::Cancel | QMessageBox::Escape,
-                   QMessageBox::NoButton);
-               mb.setButtonText( QMessageBox::Yes, tr("Open anyway") );
-               mb.setButtonText( QMessageBox::Cancel, tr("Cancel"));
-               switch( mb.exec() ) 
-               {
-                   case QMessageBox::Yes:
-                       // end loop and load anyway
-                       i=tabWidget->count();
-                       break;
-                   case QMessageBox::Cancel:
-                       // do nothing
-                       return File::Aborted;
-                       break;
-               }
-           }
-           i++;
-       }
-    }
-
-
-    // Try to load map
-    if ( !fn.isEmpty() )
-    {
-       vm = currentModel();
-       // Check first, if mapeditor exists
-       // If it is not default AND we want a new map, 
-       // create a new mapeditor in a new tab
-       if ( lmode==NewMap && (!vm || !vm->isDefault() )  )
-       {
-           vm=new VymModel;
-           VymView *vv=new VymView (vm);
-           vymViews.append (vv);
-
-           tabWidget->addTab (vv,fn);
-           vv->initFocus();
-       }
-       
-       // Check, if file exists (important for creating new files
-       // from command line
-       if (!QFile(fn).exists() )
-       {
-           QMessageBox mb( vymName,
-               tr("This map does not exist:\n  %1\nDo you want to create a new one?").arg(fn),
-               QMessageBox::Question,
-               QMessageBox::Yes ,
-               QMessageBox::Cancel | QMessageBox::Default,
-               QMessageBox::NoButton );
-
-           mb.setButtonText( QMessageBox::Yes, tr("Create"));
-           mb.setButtonText( QMessageBox::No, tr("Cancel"));
-
-            VymModel *vm = currentMapEditor()->getModel();
-           switch( mb.exec() ) 
-           {
-               case QMessageBox::Yes:
-                   // Create new map
-                    vm->setFilePath(fn);
-                    updateTabName( vm );
-                   statusBar()->showMessage( "Created " + fn , statusbarTime );
-                   return File::Success;
-                       
-               case QMessageBox::Cancel:
-                   // don't create new map
-                   statusBar()->showMessage( "Loading " + fn + " failed!", statusbarTime );
-                   int cur=tabWidget->currentIndex();
-                   tabWidget->setCurrentIndex (tabWidget->count()-1);
-                   fileCloseMap();
-                   tabWidget->setCurrentIndex (cur);
-                   return File::Aborted;
-           }
-       }   
-
-       if (err!=File::Aborted)
-       {
-           // Save existing filename in case  we import
-           QString fn_org = vm->getFilePath();
-
-           // Finally load map into mapEditor
-           progressDialog.setLabelText (tr("Loading: %1","Progress dialog while loading maps").arg(fn));
-           vm->setFilePath (fn);
-           vm->saveStateBeforeLoad (lmode,fn);
-           err = vm->loadMap(fn,lmode,ftype);
-
-           // Restore old (maybe empty) filepath, if this is an import
-           if (lmode != NewMap)
-               vm->setFilePath (fn_org);
-       }   
-
-       // Finally check for errors and go home
-       if (err == File::Aborted) 
-       {
-           if (lmode == NewMap) fileCloseMap();
-           statusBar()->showMessage( "Could not load " + fn, statusbarTime );
-       } else 
-       {
-           if (lmode == NewMap)
-            {
-                vm->setFilePath (fn);
-                updateTabName( vm );
-                actionFilePrint->setEnabled (true);
-            }  
-           editorChanged();
-           vm->emitShowSelection();
-            addRecentMap( fn );
-           statusBar()->showMessage( "Loaded " + fn, statusbarTime );
-       }   
-    }
-    return err;
-}
-
-
-void Main::fileLoad(const LoadMode &lmode)
-{
-    QString caption;
-    switch (lmode)
-    {
-       case NewMap:
-           caption=vymName+ " - " +tr("Load vym map");
-           break;
-       case ImportAdd:
-           caption=vymName+ " - " +tr("Import: Add vym map to selection");
-           break;
-       case ImportReplace:
-           caption=vymName+ " - " +tr("Import: Replace selection with vym map");
-           break;
-    }
-
-    QString filter;
-    filter+="VYM map " + tr("or","File Dialog") +" Freemind map" + " (*.xml *.vym *.vyp *.mm);;";  
-    filter+="VYM map (*.vym *.vyp);;";
-    filter+="VYM Backups (*.vym~);;";
-    filter+="Freemind map (*.mm);;";
-    filter+="XML (*.xml);;";
-    filter+="All (* *.*)";
-    QStringList fns=QFileDialog::getOpenFileNames( 
-           this,
-           caption,
-           lastMapDir.path(), 
-           filter);
-
-    if (!fns.isEmpty() )
-    {
-        initProgressCounter (fns.count() );
-       lastMapDir.setPath(fns.first().left(fns.first().lastIndexOf ("/")) );
-       foreach (QString fn, fns)
-           fileLoad(fn, lmode, getMapType (fn) );                 
-    }
-    removeProgressCounter();
-
-    fileSaveSession();
-}
-
-void Main::fileLoad()
-{
-    fileLoad (NewMap);
-    tabWidget->setCurrentIndex (tabWidget->count()-1);
-}
-
-void Main::fileSaveSession()
-{
-    QStringList flist;
-    for (int i=0;i<vymViews.count(); i++)
-       flist.append (vymViews.at(i)->getModel()->getFilePath() );
-    settings.setValue("/mainwindow/sessionFileList", flist);
-}
-
-void Main::fileRestoreSession()
-{
-    QStringList flist= settings.value("/mainwindow/sessionFileList").toStringList();
-    QStringList::Iterator it=flist.begin();
-
-    initProgressCounter (flist.count());
-    while (it !=flist.end() )
-    {
-        FileType type=getMapType (*it);
-        fileLoad (*it, NewMap,type);
-        *it++;
-    }
-    removeProgressCounter();
-}
-
-void Main::fileLoadRecent()
-{
-    QAction *action = qobject_cast<QAction *>(sender());
-    if (action)
-    {
-        initProgressCounter ();
-        QString fn=action->data().toString();
-        FileType type=getMapType (fn);
-        fileLoad (fn, NewMap,type);
-        removeProgressCounter();
-        tabWidget->setCurrentIndex (tabWidget->count()-1);
-    }
-}
-
-void Main::addRecentMap (const QString &fileName)
-{
-
-    QStringList files = settings.value("/mainwindow/recentFileList").toStringList();
-    files.removeAll(fileName);
-    files.prepend(fileName);
-    while (files.size() > MaxRecentFiles)
-        files.removeLast();
-
-    settings.setValue("/mainwindow/recentFileList", files);
-
-    setupRecentMapsMenu();
-}
-
-void Main::fileSave(VymModel *m, const SaveMode &savemode)
-{
-    if (!m) return;
-
-    if (m->isReadOnly() ) return;
-
-    if ( m->getFilePath().isEmpty() )
-    {
-        // We have  no filepath yet,
-        // call fileSaveAs() now, this will call fileSave()
-        // again.
-        // First switch to editor
-        fileSaveAs(savemode);
-        return; // avoid saving twice...
-    }
-
-    if (m->save (savemode)==File::Success)
-    {
-        statusBar()->showMessage(
-                    tr("Saved  %1").arg(m->getFilePath()),
-                    statusbarTime );
-    } else
-        statusBar()->showMessage(
-                    tr("Couldn't save ").arg(m->getFilePath()),
-                    statusbarTime );
-}
-
-void Main::fileSave()
-{
-    fileSave (currentModel(), CompleteMap);
-}
-
-void Main::fileSave(VymModel *m)
-{
-    fileSave (m,CompleteMap);
-}
-
-void Main::fileSaveAs(const SaveMode& savemode)
-{
-    if (currentMapEditor())
-    {
-        QString filter;
-        if (savemode == CompleteMap)
-            filter = "VYM map (*.vym)";
-        else
-            filter = "VYM part of map (*vyp)";
-        filter += ";;All (* *.*)";
-
-        QString fn = QFileDialog::getSaveFileName (
-                    this,
-                    tr("Save map as"),
-                    lastMapDir.path(),
-                    filter,
-                    NULL,
-                    QFileDialog::DontConfirmOverwrite);
-        if (!fn.isEmpty() )
-        {
-            // Check for existing file
-            if (QFile (fn).exists())
-            {
-                QMessageBox mb( vymName,
-                                tr("The file %1\nexists already. Do you want to").arg(fn),
-                                QMessageBox::Warning,
-                                QMessageBox::Yes | QMessageBox::Default,
-                                QMessageBox::Cancel | QMessageBox::Escape,
-                                QMessageBox::NoButton);
-                mb.setButtonText( QMessageBox::Yes, tr("Overwrite") );
-                mb.setButtonText( QMessageBox::Cancel, tr("Cancel"));
-                switch( mb.exec() )
-                {
-                case QMessageBox::Yes:
-                    // save
-                    break;
-                case QMessageBox::Cancel:
-                    // do nothing
-                    return;
-                    break;
-                }
-                lastMapDir.setPath(fn.left(fn.lastIndexOf ("/")) );
-            } else
-            {
-                // New file, add extension to filename, if missing
-                // This is always .vym or .vyp, depending on savemode
-                if (savemode == CompleteMap)
-                {
-                    if (!fn.contains (".vym") && !fn.contains (".xml"))
-                        fn += ".vym";
-                } else
-                {
-                    if (!fn.contains (".vyp") && !fn.contains (".xml"))
-                        fn += ".vyp";
-                }
-            }
-
-            // Save now
-            VymModel *m = currentModel();
-            QString fn_org = m->getFilePath(); // Restore fn later, if savemode != CompleteMap
-            if (savemode == CompleteMap )
-            {
-                // Check for existing lockfile
-                QFile lockFile( fn + ".lock" );
-                if (lockFile.exists() )
-                {
-                    QMessageBox::critical( 0, tr( "Critical Error" ), tr("Couldn't save %1,\nbecause of existing lockfile:\n\n%2").arg(fn).arg( lockFile.fileName()  ));
-                    return;
-                }
-
-                if ( !m->renameMap( fn ) )
-                {
-                    QMessageBox::critical( 0, tr( "Critical Error" ), tr("Couldn't save %1").arg( fn ));
-                    return;
-                }
-            }
-            fileSave(m, savemode);
-
-            // Set name of tab
-            if (savemode == CompleteMap)
-                updateTabName( m );
-            else
-            {   // Renaming map to original name, because we only saved the selected part of it
-                m->setFilePath (fn_org);
-            }
-            return;
-
-        }
-    }
-}
-
-void Main::fileSaveAs()
-{
-    fileSaveAs (CompleteMap);
-}
-
-void Main::fileImportFirefoxBookmarks()
-{
-    QFileDialog fd;
-    fd.setDirectory (vymBaseDir.homePath()+"/.mozilla/firefox");
-    fd.setFileMode (QFileDialog::ExistingFiles);
-    QStringList filters;
-    filters<<"Firefox "+tr("Bookmarks")+" (*.html)";
-    fd.setNameFilters(filters);
-    fd.setAcceptMode (QFileDialog::AcceptOpen);
-    fd.setWindowTitle(tr("Import")+" "+"Firefox "+tr("Bookmarks"));
-
-    if ( fd.exec() == QDialog::Accepted )
-    {
-       ImportFirefoxBookmarks im;
-       QStringList flist = fd.selectedFiles();
-       QStringList::Iterator it = flist.begin();
-       while( it != flist.end() ) 
-       {
-           im.setFile (*it);
-           if (im.transform() && 
-               File::Aborted!=fileLoad (im.getTransformedFile(),NewMap,FreemindMap) && 
-               currentMapEditor() )
-               currentMapEditor()->getModel()->setFilePath ("");
-           ++it;
-       }
-    }
-}
-
-void Main::fileImportFreemind()
-{
-    QStringList filters;
-    filters <<"Freemind map (*.mm)"<<"All files (*)";
-    QFileDialog fd;
-    fd.setDirectory (lastMapDir);
-    fd.setFileMode (QFileDialog::ExistingFiles);
-    fd.setNameFilters (filters);
-    fd.setWindowTitle(vymName+ " - " +tr("Load Freemind map"));
-    fd.setAcceptMode (QFileDialog::AcceptOpen);
-
-    QString fn;
-    if ( fd.exec() == QDialog::Accepted )
-    {
-       lastMapDir=fd.directory().path();
-       QStringList flist = fd.selectedFiles();
-       QStringList::Iterator it = flist.begin();
-       while( it != flist.end() ) 
-       {
-           fn = *it;
-           if ( fileLoad (fn,NewMap, FreemindMap)  )
-           {   
-               currentMapEditor()->getModel()->setFilePath ("");
-           }   
-           ++it;
-       }
-    }
-}
-
-
-void Main::fileImportMM()
-{
-    ImportMM im;
-
-    QFileDialog fd;
-    fd.setDirectory (lastMapDir);
-    fd.setFileMode (QFileDialog::ExistingFiles);
-    QStringList filters;
-    filters<<"Mind Manager (*.mmap)";
-    fd.setNameFilters (filters);
-    fd.setAcceptMode (QFileDialog::AcceptOpen);
-    fd.setWindowTitle(tr("Import")+" "+"Mind Manager");
-
-    if ( fd.exec() == QDialog::Accepted )
-    {
-       lastMapDir=fd.directory();
-       QStringList flist = fd.selectedFiles();
-       QStringList::Iterator it = flist.begin();
-       while( it != flist.end() ) 
-       {
-           im.setFile (*it);
-           if (im.transform() && 
-               File::Success==fileLoad (im.getTransformedFile(),NewMap,VymMap) && 
-               currentMapEditor() )
-               currentMapEditor()->getModel()->setFilePath ("");
-           ++it;
-       }
-    }
-}
-
-void Main::fileImportDir()
-{
-    VymModel *m=currentModel();
-    if (m) m->importDir();
-}
-
-void Main::fileExportXML()
-{
-    VymModel *m=currentModel();
-    if (m) m->exportXML();
-}
-
-void Main::fileExportHTML() 
-{
-    VymModel *m=currentModel();
-    if (m) m->exportHTML();
-}
-
-void Main::fileExportImage()   
-{
-    VymModel *m=currentModel();
-    if (m) m->exportImage();
-}
-
-void Main::fileExportPDF()     
-{
-    VymModel *m=currentModel();
-    if (m) m->exportPDF();
-}
-
-void Main::fileExportSVG()     
-{
-    VymModel *m=currentModel();
-    if (m) m->exportSVG();
-}
-
-void Main::fileExportAO()
-{
-    VymModel *m=currentModel();
-    if (m) m->exportAO();
-}
-
-void Main::fileExportASCII()
-{
-    VymModel *m=currentModel();
-    if (m) m->exportASCII();
-}
-
-void Main::fileExportASCIITasks()
-{
-    VymModel *m=currentModel();
-    if (m) m->exportASCII(true);
-}
-
-void Main::fileExportCSV()  //FIXME-3 not scriptable yet
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       ExportCSV ex;
-       ex.setModel (m);
-       ex.addFilter ("CSV (*.csv)");
-       ex.setDirPath(lastImageDir.absolutePath());
-       ex.setWindowTitle(vymName+ " -" + tr("Export as CSV") + " " + tr("(still experimental)"));
-       if (ex.execDialog() ) 
-       {
-           m->setExportMode(true);
-           ex.doExport();
-           m->setExportMode(false);
-       }
-    }
-}
-
-void Main::fileExportLaTeX()
-{
-    VymModel *m=currentModel();
-    if (m) m->exportLaTeX();
-}
-
-void Main::fileExportOrgMode() 
-{
-    VymModel *m=currentModel();
-    if (m) m->exportOrgMode();
-}
-
-void Main::fileExportTaskjuggler()  //FIXME-3 not scriptable yet
-{
-    ExportTaskjuggler ex;
-    VymModel *m=currentModel();
-    if (m)
-    {
-        ex.setModel (m);
-        ex.setWindowTitle ( vymName + " - " + tr("Export to") + " Taskjuggler" + tr("(still experimental)"));
-        ex.setDirPath (lastImageDir.absolutePath());
-        ex.addFilter ("Taskjuggler (*.tjp)");
-
-        if (ex.execDialog() )
-        {
-            m->setExportMode(true);
-            ex.doExport();
-            m->setExportMode(false);
-        }
-    }
-}
-
-void Main::fileExportImpress() 
-{
-    ExportOOFileDialog fd;
-    // TODO add preview in dialog
-    fd.setWindowTitle(vymName+" - "+tr("Export to")+" LibreOffice");
-    fd.setDirectory (QDir().current());
-    fd.setAcceptMode (QFileDialog::AcceptSave);
-    fd.setFileMode (QFileDialog::AnyFile);
-    if (fd.foundConfig())
-    {
-        if ( fd.exec() == QDialog::Accepted )
-        {
-            if (!fd.selectedFiles().isEmpty())
-            {
-                QString fn=fd.selectedFiles().first();
-                if (!fn.contains (".odp")) fn +=".odp";
-
-                //lastImageDir=fn.left(fn.findRev ("/"));
-                VymModel *m=currentModel();
-                if (m) m->exportImpress (fn,fd.selectedConfig());
-            }
-        }
-    } else
-    {
-        QMessageBox::warning(0,
-                             tr("Warning"),
-                             tr("Couldn't find configuration for export to LibreOffice\n"));
-    }
-}
-
-void Main::fileExportLast()
-{
-    VymModel *m=currentModel();
-    if (m) m->exportLast();
-}
-
-bool Main::fileCloseMap(int i)
-{
-    VymModel *m;
-    VymView *vv;
-    if ( i<0) i  = tabWidget->currentIndex();
-
-    vv = vymViews.at(i);
-    m  = vv->getModel();
-
-    if (m)
-    {
-        if (m->hasChanged())
-        {
-            QMessageBox mb( vymName,
-                            tr("The map %1 has been modified but not saved yet. Do you want to").arg(m->getFileName()),
-                            QMessageBox::Warning,
-                            QMessageBox::Yes | QMessageBox::Default,
-                            QMessageBox::No,
-                            QMessageBox::Cancel | QMessageBox::Escape );
-            mb.setButtonText( QMessageBox::Yes, tr("Save modified map before closing it") );
-            mb.setButtonText( QMessageBox::No, tr("Discard changes"));
-            mb.setModal (true);
-            mb.show();
-            switch( mb.exec() )
-            {
-            case QMessageBox::Yes:
-                // save and close
-                fileSave(m, CompleteMap);
-                break;
-            case QMessageBox::No:
-                // close  without saving
-                break;
-            case QMessageBox::Cancel:
-                // do nothing
-                return true;
-            }
-        }
-
-        vymViews.removeAt (i);
-        tabWidget->removeTab (i);
-
-        // Destroy stuff, order is important
-        delete (m->getMapEditor());
-        delete(vv);
-        delete (m);
-
-        updateActions();
-        return false;
-    }
-    return true; // Better don't exit vym if there is no currentModel()...
-}
-
-void Main::filePrint()
-{
-    if (currentMapEditor())
-       currentMapEditor()->print();
-}
-
-bool Main::fileExitVYM()    
-{
-    fileSaveSession();
-
-    // Check if one or more editors have changed
-    while (vymViews.count()>0)
-    {
-        tabWidget->setCurrentIndex(0);
-        if (fileCloseMap()) return true;
-    }
-    qApp->quit();
-    return false;
-}
-
-void Main::editUndo()
-{
-    VymModel *m=currentModel();
-    if (m) m->undo();
-}
-
-void Main::editRedo()     
-{
-    VymModel *m=currentModel();
-    if (m) m->redo();
-}
-
-void Main::gotoHistoryStep (int i)     
-{
-    VymModel *m=currentModel();
-    if (m) m->gotoHistoryStep(i);
-}
-
-void Main::editCopy()
-{
-    VymModel *m=currentModel();
-    if (m) m->copy();
-}
-
-void Main::editPaste()
-{
-    VymModel *m=currentModel();
-    if (m) m->paste();
-}
-
-void Main::editCut()
-{
-    VymModel *m=currentModel();
-    if (m) m->cut();
-}
-
-bool Main::openURL(const QString &url)
-{
-    if (url.isEmpty()) return false;
-
-    QString browser=settings.value("/system/readerURL" ).toString();
-    QStringList args;
-    args<<url;
-    if (!QProcess::startDetached(browser,args,QDir::currentPath(),browserPID))
-    {
-        // try to set path to browser
-        QMessageBox::warning(0, 
-            tr("Warning"),
-            tr("Couldn't find a viewer to open %1.\n").arg(url)+
-            tr("Please use Settings->")+tr("Set application to open an URL"));
-        settingsURL() ; 
-        return false;
-    }   
-    return true;
-}
-
-void Main::openTabs(QStringList urls)
-{
-    if (urls.isEmpty()) return;
-       
-    QStringList args;
-    QString browser=settings.value("/system/readerURL" ).toString();
-#if defined(VYM_DBUS)
-    if ( browser.contains("konqueror") && 
-            (browserPID==0 || !QDBusConnection::sessionBus().interface()->registeredServiceNames().value().contains (QString("org.kde.konqueror-%1").arg(*browserPID)))
-       )        
-    {
-        // Start a new browser, if there is not one running already or
-        // if a previously started konqueror is gone.
-        if (debug) qDebug() <<"Main::openTabs no konqueror with PID "<<*browserPID<<" found";
-        openURL(urls.takeFirst());
-        if (debug) qDebug() << "Main::openTabs Started konqueror, new PID is "<<*browserPID;
-    }
-
-    if (browser.contains("konqueror"))
-    {
-        foreach (QString u, urls) 
-        {
-            // Open new browser
-            // Try to open new tab in existing konqueror started previously by vym
-            args.clear();
-
-            args<< QString("org.kde.konqueror-%1").arg(*browserPID)<<
-                "/konqueror/MainWindow_1"<<
-                "newTab" << 
-                u <<
-                "false";
-            if (!QProcess::startDetached ("qdbus",args))
-            {
-                QMessageBox::warning(0, 
-                    tr("Warning"),
-                    tr("Couldn't start %1 to open a new tab in %2.").arg("qdbus").arg("konqueror"));
-                return;
-            }
-        }
-        return;        
-    } 
-#endif
-    //
-    // Other browser, e.g. xdg-open
-    // Just open all urls and leave it to the system to cope with it
-    foreach (QString u, urls) 
-    {
-        openURL(u);
-
-        // Now give the browser some time before opening the next tab
-#if defined(Q_OS_WIN32)
-        // There's no sleep in VCEE, replace it with Qt's QThread::wait().
-        this->thread()->wait(1000);
-#else
-        sleep (1);     
-#endif
-    }
-}
-
-
-void Main::editOpenURL()
-{
-    // Open new browser
-    VymModel *m=currentModel();
-    if (m)
-    {  
-       QString url=m->getURL();
-       if (url=="") return;
-        openURL(url);
-    }  
-}
-void Main::editOpenURLTab()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {  
-       QStringList urls;
-       urls.append(m->getURL());
-       openTabs (urls);
-    }  
-}
-
-void Main::editOpenMultipleVisURLTabs(bool ignoreScrolled)
-{
-    VymModel *m=currentModel();
-    if (m)
-    {  
-       QStringList urls;
-       urls=m->getURLs(ignoreScrolled);
-       openTabs (urls);
-    }  
-}
-
-void Main::editOpenMultipleURLTabs()
-{
-    editOpenMultipleVisURLTabs (false);
-}
-
-void Main::editNote2URLs()
-{
-    VymModel *m=currentModel();
-    if (m) m->note2URLs();
-}
-
-void Main::editURL()
-{
-    VymModel *m=currentModel();
-    if (m) 
-    {
-       QInputDialog *dia=new QInputDialog (this);
-       dia->setLabelText (tr("Enter URL:"));
-       dia->setWindowTitle (vymName);
-       dia->setInputMode (QInputDialog::TextInput);
-       TreeItem *selti=m->getSelectedItem();
-       if (selti) dia->setTextValue (selti->getURL());
-       dia->resize(width()*0.6,80);
-        centerDialog(dia);
-
-       if ( dia->exec() ) m->setURL (dia->textValue() );
-        delete dia;
-    }
-}
-
-void Main::editLocalURL()
-{
-    VymModel *m=currentModel();
-    if (m) 
-    {
-       TreeItem *selti=m->getSelectedItem();
-       if (selti)
-       {           
-           QString filter;
-           filter+="All files (*);;";
-           filter+=tr("HTML","Filedialog") + " (*.html,*.htm);;";
-           filter+=tr("Text","Filedialog") + " (*.txt);;";
-           filter+=tr("Spreadsheet","Filedialog") + " (*.odp,*.sxc);;";
-           filter+=tr("Textdocument","Filedialog") +" (*.odw,*.sxw);;";
-           filter+=tr("Images","Filedialog") + " (*.png *.bmp *.xbm *.jpg *.png *.xpm *.gif *.pnm)";
-
-           QString fn=QFileDialog::getOpenFileName( 
-               this,
-               vymName+" - " +tr("Set URL to a local file"), 
-               lastMapDir.path(), 
-               filter);
-
-           if (!fn.isEmpty() )
-           {
-               lastMapDir.setPath(fn.left(fn.lastIndexOf ("/")) );
-               if (!fn.startsWith("file://") ) 
-                   fn="file://" + fn;
-               m->setURL (fn);
-           }
-       }
-    }
-}
-
-void Main::editHeading2URL()
-{
-    VymModel *m=currentModel();
-    if (m) m->editHeading2URL();
-}
-
-void Main::editBugzilla2URL()
-{
-    VymModel *m=currentModel();
-    if (m) m->editBugzilla2URL();
-}
-
-void Main::getBugzillaData()
-{
-    VymModel *m=currentModel();
-    /*
-    QProgressDialog progress ("Doing stuff","cancl",0,10,this);
-    progress.setWindowModality(Qt::WindowModal);
-    //progress.setCancelButton (NULL);
-    progress.show();
-    progress.setMinimumDuration (0);
-    progress.setValue (1);
-    progress.setValue (5);
-    progress.update();
-    */
-    /*
-    QProgressBar *pb=new QProgressBar;
-    pb->setMinimum (0);
-    pb->setMaximum (0);
-    pb->show();
-    pb->repaint();
-    */
-    if (m) m->getBugzillaData(false);
-}
-
-void Main::getBugzillaDataSubtree()
-{
-    VymModel *m=currentModel();
-    if (m) m->getBugzillaData(true);
-}
-
-void Main::editFATE2URL()
-{
-    VymModel *m=currentModel();
-    if (m) m->editFATE2URL();
-}
-
-void Main::editHeading()
-{
-    MapEditor *me=currentMapEditor();
-    if (me) me->editHeading();
-}
-
-void Main::editHeadingFinished(VymModel *m)
-{
-    if (m)
-    {
-        if (!actionSettingsAutoSelectNewBranch->isChecked() &&
-                !prevSelection.isEmpty())
-            m->select(prevSelection);
-        prevSelection = "";
-    }
-}
-
-void Main::openVymLinks(const QStringList &vl, bool background)
-{
-    QStringList vlmin;
-    int index = -1;
-    for (int j = 0; j < vl.size(); ++j)
-    {
-       // compare path with already loaded maps
-        QString absPath = QFileInfo(vl.at(j)).absoluteFilePath();
-       index = -1;
-       for (int i = 0;i <= vymViews.count() -1; i++)
-       {
-           if ( absPath == vymViews.at(i)->getModel()->getFilePath() )
-           {
-               index = i;
-               break;
-           }
-       }   
-       if (index < 0) vlmin.append ( absPath );
-    }
-
-    
-    progressCounterTotal = vlmin.size();
-    for (int j = 0; j < vlmin.size(); j++)
-    {
-       // Load map
-       if (!QFile(vlmin.at(j)).exists() )
-           QMessageBox::critical( 0, tr( "Critical Error" ),
-              tr("Couldn't open map %1").arg(vlmin.at(j)));
-       else
-       {
-           fileLoad (vlmin.at(j), NewMap,VymMap);
-            if (!background) 
-                tabWidget->setCurrentIndex (tabWidget->count()-1);     
-       }
-    }      
-    // Go to tab containing the map
-    if (index >= 0)
-       tabWidget->setCurrentIndex (index);     
-    removeProgressCounter();
-}
-
-void Main::editOpenVymLink(bool background)
-{
-    VymModel *m = currentModel();
-    if (m)
-    {
-       QStringList vl;
-       vl.append(m->getVymLink()); 
-       openVymLinks (vl, background);
-    }
-}
-
-void Main::editOpenVymLinkBackground()
-{
-    editOpenVymLink (true);
-}
-
-void Main::editOpenMultipleVymLinks()
-{
-    QString currentVymLink;
-    VymModel *m = currentModel();
-    if (m)
-    {
-       QStringList vl = m->getVymLinks();
-       openVymLinks (vl, true);
-    }
-}
-
-void Main::editVymLink()
-{
-    VymModel *m = currentModel();
-    if (m)
-    {
-       BranchItem *bi = m->getSelectedBranch();
-       if (bi)
-       {           
-           QStringList filters;
-           filters <<"VYM map (*.vym)";
-           QFileDialog fd;
-           fd.setWindowTitle (vymName+" - " +tr("Link to another map"));
-           fd.setNameFilters (filters);
-           fd.setWindowTitle(vymName+" - " +tr("Link to another map"));
-           fd.setDirectory (lastMapDir);
-           fd.setAcceptMode (QFileDialog::AcceptOpen);
-           if (! bi->getVymLink().isEmpty() )
-               fd.selectFile( bi->getVymLink() );
-           fd.show();
-
-           QString fn;
-           if ( fd.exec() == QDialog::Accepted &&!fd.selectedFiles().isEmpty() )
-           {
-               QString fn = fd.selectedFiles().first();
-               lastMapDir = QDir (fd.directory().path());
-               m->setVymLink (fn);
-           }
-       }
-    }
-}
-
-void Main::editDeleteVymLink()
-{
-    VymModel *m=currentModel();
-    if (m) m->deleteVymLink(); 
-}
-
-void Main::editToggleHideExport()
-{
-    VymModel *m=currentModel();
-    if (m) m->toggleHideExport();   
-}
-
-void Main::editToggleTask()
-{
-    VymModel *m=currentModel();
-    if (m) m->toggleTask();   
-}
-
-void Main::editCycleTaskStatus()
-{
-    VymModel *m=currentModel();
-    if (m) m->cycleTaskStatus();   
-}
-
-void Main::editTaskSleepN()
-{
-    VymModel *m=currentModel();
-    if (m) 
-    {
-       int n=((QAction*)sender())->data().toInt();
-       Task *task=m->getSelectedTask();
-       if (task)
-       {
-           bool ok=true;
-            QString s;
-           if (n<0)
-            {
-                n=task->getDaysSleep();
-                if (n<=0) n=0;
-
-                LineEditDialog *dia=new LineEditDialog(this);
-                dia->setLabel(tr("Enter sleep time (number of days or date YYYY-MM-DD or DD.MM[.YYYY]","task sleep time dialog"));
-                dia->setText(QString("%1").arg(n));
-                centerDialog (dia);
-                if (dia->exec() == QDialog::Accepted)
-                {
-                    ok=true;
-                    s=dia->getText();
-                } else
-                    ok=false;
-
-                delete dia;
-            } else
-                s=QString("%1").arg(n);
-
-            if (ok && !m->setTaskSleep(s) )
-                QMessageBox::warning(0, 
-                    tr("Warning"),
-                    tr("Couldn't set sleep time to %1.\n").arg(s));
-       }
-    }
-}
-
-void Main::editAddTimestamp()
-{
-    VymModel *m=currentModel();
-    if (m) m->addTimestamp();  
-}
-
-void Main::editMapProperties()    
-{
-    VymModel *m = currentModel();
-    if (!m) return;
-
-    ExtraInfoDialog dia;
-    dia.setMapName  ( m->getFileName() );
-    dia.setMapTitle ( m->getTitle() );
-    dia.setAuthor   ( m->getAuthor() );
-    dia.setComment  ( m->getComment() );
-    dia.setReadOnly ( m->isReadOnly() );
-
-    // Calc some stats
-    QString stats;
-    stats += tr("%1 items on map\n","Info about map").arg (m->getScene()->items().size(),6);
-
-    uint b  = 0;
-    uint f  = 0;
-    uint n  = 0;
-    uint xl = 0;
-    BranchItem *cur  = NULL;
-    BranchItem *prev = NULL;
-    m->nextBranch(cur, prev);
-    while (cur) 
-    {
-        if (!cur->getNote().isEmpty() ) n++;
-        f += cur->imageCount();
-        b++;
-        xl += cur->xlinkCount();
-        m->nextBranch(cur,prev);
-    }
-
-    stats += QString ("%1 %2\n").arg (m->branchCount(),6).arg(tr("branches","Info about map") );
-    stats += QString ("%1 %2\n").arg (n,6).arg(tr("notes","Info about map") );
-    stats += QString ("%1 %2\n").arg (f,6).arg(tr("images","Info about map") );
-    stats += QString ("%1 %2\n").arg (m->taskCount(),6 ).arg(tr("tasks","Info about map") );
-    stats += QString ("%1 %2\n").arg (m->slideCount(),6 ).arg(tr("slides","Info about map") );
-    stats += QString ("%1 %2\n").arg (xl/2,6).arg(tr("xLinks","Info about map") );
-    dia.setStats (stats);
-
-    // Finally show dialog
-    if (dia.exec() == QDialog::Accepted)
-    {
-       m->setAuthor (dia.getAuthor() );
-       m->setComment (dia.getComment() );
-       m->setTitle (dia.getMapTitle() );
-    }
-}
-
-void Main::editMoveUp()
-{
-    MapEditor *me = currentMapEditor();
-    VymModel  *m  = currentModel();
-    if (me && m && me->getState() != MapEditor::EditingHeading) m->moveUp();
-}
-
-void Main::editMoveDown()
-{
-    MapEditor *me = currentMapEditor();
-    VymModel  *m  = currentModel();
-    if (me && m && me->getState() != MapEditor::EditingHeading) m->moveDown();
-}
-
-void Main::editDetach()
-{
-    VymModel *m=currentModel();
-    if (m) m->detach();
-}
-
-void Main::editSortChildren()
-{
-    VymModel *m=currentModel();
-    if (m) m->sortChildren(false);
-}
-
-void Main::editSortBackChildren()
-{
-    VymModel *m=currentModel();
-    if (m) m->sortChildren(true);
-}
-
-void Main::editToggleScroll()
-{
-    VymModel *m=currentModel();
-    if (m) m->toggleScroll();
-}
-
-void Main::editExpandAll()
-{
-    VymModel *m=currentModel();
-    if (m) m->emitExpandAll();
-}
-
-void Main::editExpandOneLevel()
-{
-    VymModel *m=currentModel();
-    if (m) m->emitExpandOneLevel();
-}
-
-void Main::editCollapseOneLevel()
-{
-    VymModel *m=currentModel();
-    if (m) m->emitCollapseOneLevel();
-}
-
-void Main::editCollapseUnselected()
-{
-    VymModel *m=currentModel();
-    if (m) m->emitCollapseUnselected();
-}
-
-void Main::editUnscrollChildren()
-{
-    VymModel *m=currentModel();
-    if (m) m->unscrollChildren();
-}
-
-void Main::editGrowSelectionSize()
-{
-    VymModel *m=currentModel();
-    if (m) m->growSelectionSize();
-}
-
-void Main::editShrinkSelectionSize()
-{
-    VymModel *m=currentModel();
-    if (m) m->shrinkSelectionSize();
-}
-
-void Main::editResetSelectionSize()
-{
-    VymModel *m=currentModel();
-    if (m) m->resetSelectionSize();
-}
-
-void Main::editAddAttribute()
-{
-    VymModel *m=currentModel();
-    if (m) 
-    {
-
-       m->addAttribute();
-    }
-}
-
-void Main::editAddMapCenter() 
-{
-    VymModel *m=currentModel();
-    if (m) 
-    {
-       m->select (m->addMapCenter ());
-       MapEditor *me=currentMapEditor();
-       if (me) 
-       {
-        m->setHeadingPlainText("");
-           me->editHeading();
-       }    
-    }
-}
-
-void Main::editNewBranch()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       BranchItem *bi=m->addNewBranch();
-       if (!bi) return;
-
-       if (actionSettingsAutoEditNewBranch->isChecked() 
-            && !actionSettingsAutoSelectNewBranch->isChecked() )
-           prevSelection=m->getSelectString();
-       else    
-           prevSelection=QString();
-
-       if (actionSettingsAutoSelectNewBranch->isChecked()  
-           || actionSettingsAutoEditNewBranch->isChecked()) 
-       {
-           m->select (bi);
-           if (actionSettingsAutoEditNewBranch->isChecked())
-               currentMapEditor()->editHeading();
-       }
-    }  
-}
-
-void Main::editNewBranchBefore()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       BranchItem *bi=m->addNewBranchBefore();
-
-       if (bi) 
-           m->select (bi);
-       else
-           return;
-
-       if (actionSettingsAutoEditNewBranch->isChecked())
-       {
-           if (!actionSettingsAutoSelectNewBranch->isChecked())
-               prevSelection=m->getSelectString(bi); 
-           currentMapEditor()->editHeading();
-       }
-    }  
-}
-
-void Main::editNewBranchAbove()        
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       BranchItem *selbi=m->getSelectedBranch();
-       if (selbi)
-       {
-           BranchItem *bi=m->addNewBranch(selbi,-3);
-
-           if (bi) 
-               m->select (bi);
-           else
-               return;
-
-           if (actionSettingsAutoEditNewBranch->isChecked())
-           {
-               if (!actionSettingsAutoSelectNewBranch->isChecked())
-                   prevSelection=m->getSelectString (bi);      
-               currentMapEditor()->editHeading();
-           }
-       }
-    }  
-}
-
-void Main::editNewBranchBelow()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       BranchItem *selbi=m->getSelectedBranch();
-       if (selbi)
-       {
-           BranchItem *bi=m->addNewBranch(selbi,-1);
-
-           if (bi) 
-               m->select (bi);
-           else
-               return;
-
-           if (actionSettingsAutoEditNewBranch->isChecked())
-           {
-               if (!actionSettingsAutoSelectNewBranch->isChecked())
-                   prevSelection=m->getSelectString(bi);
-               currentMapEditor()->editHeading();
-           }
-       }
-    }  
-}
-
-void Main::editImportAdd()
-{
-    fileLoad (ImportAdd);
-}
-
-void Main::editImportReplace()
-{
-    fileLoad (ImportReplace);
-}
-
-void Main::editSaveBranch() 
-{
-    fileSaveAs (PartOfMap);
-}
-
-void Main::editDeleteKeepChildren()
-{
-    VymModel *m=currentModel();
-     if (m) m->deleteKeepChildren();
-}
-
-void Main::editDeleteChildren()
-{
-    VymModel *m=currentModel();
-    if (m) m->deleteChildren();
-}
-
-void Main::editDeleteSelection()
-{
-    VymModel *m=currentModel();
-    if (m) m->deleteSelection();
-}
-
-void Main::editLoadImage()
-{
-    VymModel *m=currentModel();
-    if (m) m->loadImage();
-}
-
-void Main::editSaveImage()
-{
-    VymModel *m=currentModel();
-    if (m) m->saveImage();
-}
-
-void Main::editEditXLink(QAction *a)
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       BranchItem *selbi=m->getSelectedBranch();
-       if (selbi)
-       {
-           Link *l=selbi->getXLinkItemNum(branchXLinksContextMenuEdit->actions().indexOf(a))->getLink();
-           if (l && m->select (l->getBeginLinkItem() ) )
-               m->editXLink();
-       }    
-    }  
-}
-
-void Main::popupFollowXLink()
-{
-    branchXLinksContextMenuFollow->exec( QCursor::pos());
-}
-
-void Main::editFollowXLink(QAction *a)
-{
-    VymModel *m=currentModel();
-
-    if (m)
-       m->followXLink(branchXLinksContextMenuFollow->actions().indexOf(a));
-}
-
-void Main::editToggleTarget()  
-{
-    VymModel *m=currentModel();
-    if (m) m->toggleTarget();
-}
-
-bool Main::initTargetsMenu( VymModel *model, QMenu *menu)
-{
-    if (model)
-    {
-        ItemList targets = model->getTargets();
-
-        menu->clear();
-
-        QStringList targetNames;
-        QList <uint> targetIDs;
-
-        // Build QStringList with all names of targets
-        QMap<uint,QString>::const_iterator i;
-        i = targets.constBegin();
-        while (i != targets.constEnd()) 
-        {
-            targetNames.append( i.value() );
-            targetIDs.append( i.key() );
-            ++i;
-        }
-
-        // Sort list of names
-        targetNames.sort( Qt::CaseInsensitive );
-
-        // Build menu based on sorted names
-        while ( !targetNames.isEmpty() )
-        {
-            // Find target by value
-            i = targets.constBegin();
-            while (i != targets.constEnd()) 
-            {
-                if ( i.value() == targetNames.first() ) break;
-                ++i;
-            }
-
-            menu->addAction( targetNames.first() )->setData( i.key() );
-            targetNames.removeFirst();
-            targets.remove( i.key() );
-        }
-        return true;
-    }
-    return false;
-}
-
-void Main::editGoToTarget()  
-{
-    VymModel *model = currentModel();
-    if (initTargetsMenu( model, targetsContextMenu ) )
-    {
-       QAction *a = targetsContextMenu->exec (QCursor::pos());
-       if (a) model->select (model->findID (a->data().toUInt() ) );
-    }
-}
-
-void Main::editMoveToTarget()  
-{
-    VymModel *model = currentModel();
-    if (initTargetsMenu( model, targetsContextMenu ) )
-    {
-       QAction *a = targetsContextMenu->exec (QCursor::pos());
-       if (a) 
-       {
-           TreeItem *ti = model->findID ( a->data().toUInt() );
-           BranchItem *selbi = model->getSelectedBranch();
-           if (!selbi) return;
-
-           if (ti && ti->isBranchLikeType() && selbi)
-           {
-               BranchItem *pi = selbi->parentBranch();
-               // If branch below exists, select that one
-               // Makes it easier to quickly resort using the MoveTo function
-               BranchItem *below = pi->getBranchNum( selbi->num() + 1 );
-               LinkableMapObj *lmo = selbi->getLMO();
-               QPointF orgPos;
-               if (lmo) orgPos = lmo->getAbsPos();
-
-               if (model->relinkBranch ( selbi, (BranchItem*)ti, -1, true, orgPos) )
-               {
-                   if (below) 
-                       model->select (below);
-                   else    
-                       if (pi) model->select (pi);
-               }    
-           }       
-       }
-    }
-}
-
-void Main::editSelectPrevious()  
-{
-    VymModel *m=currentModel();
-    if (m) m->selectPrevious();
-}
-
-void Main::editSelectNext()  
-{
-    VymModel *m=currentModel();
-    if (m) m->selectNext();
-}
-
-void Main::editSelectNothing()  
-{
-    VymModel *m=currentModel();
-    if (m) m->unselectAll();
-}
-
-void Main::editOpenFindResultWidget()  
-{
-    if (!findResultWidget->parentWidget()->isVisible())
-    {
-//     findResultWidget->parentWidget()->show();
-       findResultWidget->popup();
-    } else 
-       findResultWidget->parentWidget()->hide();
-}
-
-#include "findwidget.h" // FIXME-4 Integrated FRW and FW
-void Main::editFindNext(QString s)  
-{
-    Qt::CaseSensitivity cs=Qt::CaseInsensitive;
-    VymModel *m=currentModel();
-    if (m) 
-    {
-       if (m->findAll (findResultWidget->getResultModel(),s,cs) )
-           findResultWidget->setStatus (FindWidget::Success);
-       else
-           findResultWidget->setStatus (FindWidget::Failed);
-    }
-}
-
-void Main::editFindDuplicateURLs() //FIXME-4 feature: use FindResultWidget for display
-{
-    VymModel *m=currentModel();
-    if (m) m->findDuplicateURLs();
-}
-
-void Main::updateQueries (VymModel* ) //FIXME-4 disabled for now to avoid selection in FRW
-{
-    return;
-/*
-    qDebug() << "MW::updateQueries m="<<m<<"   cM="<<currentModel();
-    if (m && currentModel()==m)
-    {
-       QString s=findResultWidget->getFindText();
-       if (!s.isEmpty() ) editFindNext (s);
-    }  
-*/
-}
-
-void Main::formatPickColor()
-{
-    VymModel *m=currentModel();
-    if (m)
-       setCurrentColor ( m->getCurrentHeadingColor() );
-}
-
-QColor Main::getCurrentColor()
-{
-    return currentColor;
-}
-
-void Main::setCurrentColor(QColor c)
-{
-    QPixmap pix( 16, 16 );
-    pix.fill( c );
-    actionFormatColor->setIcon( pix );
-    currentColor=c;
-}
-
-void Main::formatSelectColor()
-{
-    QColor col = QColorDialog::getColor((currentColor ), this );
-    if ( !col.isValid() ) return;
-    setCurrentColor( col );
-}
-
-void Main::formatColorBranch()
-{
-    VymModel *m=currentModel();
-    if (m) m->colorBranch(currentColor);
-}
-
-void Main::formatColorSubtree()
-{
-    VymModel *m=currentModel();
-    if (m) m->colorSubtree (currentColor);
-}
-
-void Main::formatLinkStyleLine()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       m->setMapLinkStyle("StyleLine");
-        actionFormatLinkStyleLine->setChecked(true);
-    }
-}
-
-void Main::formatLinkStyleParabel()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       m->setMapLinkStyle("StyleParabel");
-        actionFormatLinkStyleParabel->setChecked(true);
-    }
-}
-
-void Main::formatLinkStylePolyLine()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       m->setMapLinkStyle("StylePolyLine");
-        actionFormatLinkStylePolyLine->setChecked(true);
-    }
-}
-
-void Main::formatLinkStylePolyParabel()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       m->setMapLinkStyle("StylePolyParabel");
-        actionFormatLinkStylePolyParabel->setChecked(true);
-    }
-}
-
-void Main::formatSelectBackColor()
-{
-    VymModel *m=currentModel();
-    if (m) m->selectMapBackgroundColor();
-}
-
-void Main::formatSelectBackImage()
-{
-    VymModel *m=currentModel();
-    if (m)
-       m->selectMapBackgroundImage();
-}
-
-void Main::formatSelectLinkColor()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       QColor col = QColorDialog::getColor( m->getMapDefLinkColor(), this );
-       m->setMapDefLinkColor( col );
-    }
-}
-
-void Main::formatSelectSelectionColor()
-{
-    VymModel *m=currentModel();
-    if (m)
-    {
-       QColor col = QColorDialog::getColor( m->getMapDefLinkColor(), this );
-       m->setSelectionColor (col);
-    }
-
-}
-
-void Main::formatSelectFont()
-{
-    VymModel *m=currentModel();
-    if (m) 
-    {
-       bool ok;
-       QFont font = QFontDialog::getFont( &ok, m->getMapDefaultFont(), this);
-       if (ok) m->setMapDefaultFont (font);
-    }
-}
-
-void Main::formatToggleLinkColorHint()
-{
-    VymModel *m=currentModel();
-    if (m) m->toggleMapLinkColorHint();
-}
-
-void Main::formatHideLinkUnselected()  //FIXME-4 get rid of this with imagepropertydialog
-{
-    VymModel *m=currentModel();
-    if (m)
-       m->setHideLinkUnselected(actionFormatHideLinkUnselected->isChecked());
-}
-
-void Main::viewZoomReset()
-{
-    MapEditor *me=currentMapEditor();
-    if (me) me->setViewCenterTarget();
-}
-
-void Main::viewZoomIn()
-{
-    MapEditor *me=currentMapEditor();
-    if (me) me->setZoomFactorTarget (me->getZoomFactorTarget()*1.15);
-}
-
-void Main::viewZoomOut()
-{
-    MapEditor *me=currentMapEditor();
-    if (me) me->setZoomFactorTarget (me->getZoomFactorTarget()*0.85);
-}
-
-void Main::viewRotateCounterClockwise()
-{
-    MapEditor *me=currentMapEditor();
-    if (me) me->setAngleTarget (me->getAngleTarget()-10);
-}
-
-void Main::viewRotateClockwise()
-{
-    MapEditor *me=currentMapEditor();
-    if (me) me->setAngleTarget (me->getAngleTarget()+10);
-}
-
-void Main::viewCenter()
-{
-    VymModel *m=currentModel();
-    if (m) m->emitShowSelection();
-}
-
-void Main::networkStartServer()
-{
-    VymModel *m=currentModel();
-    if (m) m->newServer();
-}
-
-void Main::networkConnect()
-{
-    VymModel *m=currentModel();
-    if (m) m->connectToServer();
-}
-
-void Main::downloadFinished()   // only used for drop events in mapeditor and VM::downloadImage 
-{
-    QString s;
-    DownloadAgent *agent = static_cast<DownloadAgent*>(sender());
-    agent->isSuccess() ? s="Success" : s="Error  "; 
-
-    /*
-    qDebug()<<"Main::downloadFinished ";
-    qDebug()<<"  result" <<  s;
-    qDebug()<<"     msg" << agent->getResultMessage();
-    */
-
-    QString script = agent->getFinishedScript();
-    VymModel *model=getModel (agent->getFinishedScriptModelID());
-    if (!script.isEmpty() && model)
-    {
-        script.replace("$TMPFILE",agent->getDestination());
-        model->execute(script);
-    }
-}
-
-bool Main::settingsPDF()
-{
-    // Default browser is set in constructor
-    bool ok;
-    QString text = QInputDialog::getText(
-       this,
-       "VYM", tr("Set application to open PDF files")+":", QLineEdit::Normal,
-       settings.value("/system/readerPDF").toString(), &ok);
-    if (ok)
-       settings.setValue ("/system/readerPDF",text);
-    return ok;
-}
-
-
-bool Main::settingsURL()
-{
-    // Default browser is set in constructor
-    bool ok;
-    QString text = QInputDialog::getText(
-       this,
-       "VYM", tr("Set application to open an URL")+":", QLineEdit::Normal,
-       settings.value("/system/readerURL").toString()
-       , &ok);
-    if (ok)
-       settings.setValue ("/system/readerURL",text);
-    return ok;
-}
-
-void Main::settingsZipTool()
-{
-    // Default zip tool is 7z on windows, zip/unzip elsewhere
-    bool ok = false;
-
-#if defined(Q_OS_WIN32)
-    QString filter;
-    filter = "Windows executable (*.exe);;";
-
-    QString fn = QFileDialog::getOpenFileName( 
-        this,
-        vymName + " - " + tr("Set application to zip/unzip files") + ":", 
-        zipToolPath,
-        filter);
-
-    if (!fn.isEmpty() ) ok = true;
-
-#else
-
-    QString fn = QInputDialog::getText(
-                this,
-                vymName, tr("Set application to zip/unzip files")+":", QLineEdit::Normal,
-                zipToolPath, &ok);
-#endif
-
-    if (ok)
-    {
-        zipToolPath = fn;
-        settings.setValue ("/system/zipToolPath", zipToolPath);
-    }
-}
-
-void Main::settingsMacroDir()
-{
-    QDir defdir(vymBaseDir.path() + "/macros");
-    if (!defdir.exists())
-       defdir=vymBaseDir;
-    QDir dir=QFileDialog::getExistingDirectory (
-       this,
-       tr ("Directory with vym macros:"), 
-       settings.value ("/macros/macroDir",defdir.path()).toString()
-    );
-    if (dir.exists())
-       settings.setValue ("/macros/macroDir",dir.absolutePath());
-}
-
-void Main::settingsUndoLevels()            
-{
-    bool ok;
-    int i = QInputDialog::getInt(
-       this, 
-       "QInputDialog::getInt()",
-       tr("Number of undo/redo levels:"), settings.value("/history/stepsTotal",1000).toInt(), 0, 100000, 1, &ok);
-    if (ok)
-    {
-       settings.setValue ("/history/stepsTotal",i);
-       QMessageBox::information( this, tr( "VYM -Information:" ),
-          tr("Settings have been changed. The next map opened will have \"%1\" undo/redo levels").arg(i)); 
-   }   
-}
-
-bool Main::useAutosave()
-{
-    return actionSettingsToggleAutosave->isChecked();
-}
-
-void Main::setAutosave(bool b)
-{
-    actionSettingsToggleAutosave->setChecked(b);
-}
-
-void Main::settingsAutosaveTime()
-{
-    bool ok;
-    int i = QInputDialog::getInt(
-       this, 
-       vymName,
-       tr("Number of seconds before autosave:"), settings.value("/system/autosave/ms").toInt() / 1000, 10, 60000, 1, &ok);
-    if (ok)
-       settings.setValue ("/system/autosave/ms",i * 1000);
-}
-
-void Main::settingsDefaultMapAuthor()      
-{
-    bool ok;
-    QString s = QInputDialog::getText(
-                this,
-                vymName, tr("Set author for new maps (used in lockfile)") + ":", QLineEdit::Normal,
-                settings.value("/user/name", tr("unknown user","default name for map author in settings")).toString(), 
-                &ok);
-    if (ok) settings.setValue("/user/name", s);
-}
-
-void Main::settingsShowParentsLevelFindResults()           
-{
-    bool ok;
-    int i = QInputDialog::getInt(
-       this, 
-       vymName,
-       tr("Number of parents shown in find results:"), findResultWidget->getResultModel()->getShowParentsLevel(), 0, 10, 0, &ok);
-    if (ok) findResultWidget->getResultModel()->setShowParentsLevel(i);
-}
-
-void Main::settingsShowParentsLevelTasks()         
-{
-    bool ok;
-    int i = QInputDialog::getInt(
-       this, 
-       vymName,
-       tr("Number of parents shown for a task:"), taskModel->getShowParentsLevel(), 0, 10, 0, &ok);
-    if (ok) taskModel->setShowParentsLevel(i);
-}
-
-void Main::settingsToggleAutoLayout()
-{
-    settings.setValue ("/mainwindow/autoLayout/use",actionSettingsToggleAutoLayout->isChecked() );
-}
-
-void Main::settingsToggleWriteBackupFile()
-{
-    settings.setValue ("/system/writeBackupFile",actionSettingsWriteBackupFile->isChecked() );
-}
-
-void Main::settingsToggleAnimation()
-{
-    settings.setValue ("/animation/use",actionSettingsUseAnimation->isChecked() );
-}
-
-void Main::settingsToggleDownloads()
-{
-    downloadsEnabled(true);
-}
-
-void Main::windowToggleNoteEditor()
-{
-    if (noteEditor->parentWidget()->isVisible() )
-        noteEditor->parentWidget()->hide();
-    else
-    {
-        noteEditor->parentWidget()->show();
-        noteEditor->setFocus();
-    }
-}
-
-void Main::windowToggleTreeEditor()
-{
-    if ( tabWidget->currentWidget())
-       vymViews.at(tabWidget->currentIndex())->toggleTreeEditor();
-}
-
-void Main::windowToggleTaskEditor()
-{
-    if (taskEditor->parentWidget()->isVisible() )
-    {
-       taskEditor->parentWidget()->hide();
-       actionViewToggleTaskEditor->setChecked (false);
-    } else
-    {
-       taskEditor->parentWidget()->show();
-       actionViewToggleTaskEditor->setChecked (true);
-    }
-}
-
-void Main::windowToggleSlideEditor()
-{
-    if ( tabWidget->currentWidget())
-       vymViews.at(tabWidget->currentIndex())->toggleSlideEditor();
-}
-
-void Main::windowToggleScriptEditor()
-{
-    if (scriptEditor->parentWidget()->isVisible() )
-    {
-       scriptEditor->parentWidget()->hide();
-       actionViewToggleScriptEditor->setChecked (false);
-    } else
-    {
-       scriptEditor->parentWidget()->show();
-       actionViewToggleScriptEditor->setChecked (true);
-    }
-}
-
-void Main::windowToggleHistory()
-{
-    if (historyWindow->isVisible())
-       historyWindow->parentWidget()->hide();
-    else    
-       historyWindow->parentWidget()->show();
-}
-
-void Main::windowToggleProperty()
-{
-    if (branchPropertyEditor->parentWidget()->isVisible())
-       branchPropertyEditor->parentWidget()->hide();
-    else    
-       branchPropertyEditor->parentWidget()->show();
-    branchPropertyEditor->setModel (currentModel() );
-}
-
-void Main::windowShowHeadingEditor()
-{
-    headingEditorDW->show();
-}
-
-void Main::windowToggleHeadingEditor()
-{
-    if (headingEditor->parentWidget()->isVisible() )
-        headingEditor->parentWidget()->hide();
-    else
-    {
-        headingEditor->parentWidget()->show();
-        headingEditor->setFocus();
-    }
-}
-
-void Main::windowToggleAntiAlias()
-{
-    bool b=actionViewToggleAntiAlias->isChecked();
-    MapEditor *me;
-    for (int i=0;i<vymViews.count();i++)
-    {
-       me=vymViews.at(i)->getMapEditor();
-       if (me) me->setAntiAlias(b);
-    }  
-
-}
-
-bool Main::isAliased()
-{
-    return actionViewToggleAntiAlias->isChecked();
-}
-
-bool Main::hasSmoothPixmapTransform()
-{
-    return actionViewToggleSmoothPixmapTransform->isChecked();
-}
-
-void Main::windowToggleSmoothPixmap()
-{
-    bool b=actionViewToggleSmoothPixmapTransform->isChecked();
-    MapEditor *me;
-    for (int i=0;i<vymViews.count();i++)
-    {
-       
-       me=vymViews.at(i)->getMapEditor();
-       if (me) me->setSmoothPixmap(b);
-    }  
-}
-
-void Main::updateHistory(SimpleSettings &undoSet)
-{
-    historyWindow->update (undoSet);
-}
-
-void Main::updateHeading()
-{
-    VymModel *m=currentModel();
-    if (m) m->setHeading (headingEditor->getVymText() );
-}
-
-void Main::updateNoteFlag() 
-{
-    // this slot is connected to noteEditor::textHasChanged()
-    VymModel *m=currentModel();
-    if (m) m->updateNoteFlag();
-}
-
-void Main::updateNoteEditor(QModelIndex index ) //FIXME-4 maybe change to TreeItem as parameter?
-{
-    if (index.isValid() )
-    {
-        TreeItem *ti=((VymModel*) QObject::sender())->getItem(index);
-        /*
-    qDebug()<< "Main::updateNoteEditor model="<<sender()
-        << "  item="<<ti->getHeading()<<" ("<<ti<<")";
-    qDebug()<< "RT="<<ti->getNote().isRichText();
-    */
-        if (ti)
-            noteEditor->setNote (ti->getNote() );
-        updateDockWidgetTitles( ti->getModel());
-    }
-}
-
-void Main::selectInNoteEditor(QString s,int i)
-{
-    // TreeItem is already selected at this time, therefor
-    // the note is already in the editor
-    noteEditor->findText (s,0,i);
-}
-
-void Main::setFocusMapEditor()
-{
-    VymView *vv=currentView();
-    if (vv) vv->setFocusMapEditor();
-}
-
-void Main::changeSelection (VymModel *model, const QItemSelection &newsel, const QItemSelection &)
-{
-    branchPropertyEditor->setModel (model ); 
-
-    if (model && model == currentModel() )
-    {
-       TreeItem *ti;
-       if (!newsel.indexes().isEmpty() )
-        {
-            ti = model->getItem(newsel.indexes().first());
-
-            // Update note editor
-            if (!ti->hasEmptyNote() )
-                noteEditor->setNote(ti->getNote() );
-            else
-                noteEditor->setNote(VymNote() );
-            // Show URL and link in statusbar
-            QString status;
-            QString s = ti->getURL();
-            if (!s.isEmpty() ) status += "URL: " + s + "  ";
-            s = ti->getVymLink();
-            if (!s.isEmpty() ) status += "Link: " + s;
-            if (!status.isEmpty() ) statusMessage (status);
-
-            headingEditor->setVymText (ti->getHeading() );
-
-            // Select in TaskEditor, if necessary
-            Task *t = NULL;
-            if (ti->isBranchLikeType() )
-                t = ((BranchItem*)ti)->getTask();
-
-            if (t)
-                taskEditor->select (t);
-            else
-                taskEditor->clearSelection();
-        } else
-            noteEditor->setInactive();
-
-        updateActions();
-    }
-}
-
-void Main::updateDockWidgetTitles( VymModel *model)
-{
-    QString s;
-    if (model && !model->isRepositionBlocked() ) 
-    {
-       BranchItem *bi = model->getSelectedBranch();
-        if (bi) s = bi->getHeadingPlain();
-
-        noteEditor->setEditorTitle(s);
-        noteEditorDW->setWindowTitle (noteEditor->getEditorTitle() );
-    }
-}
-
-void Main::updateActions()
-{
-    // updateActions is also called when satellites are closed 
-    actionViewToggleNoteEditor->setChecked (noteEditor->parentWidget()->isVisible());
-    actionViewToggleTaskEditor->setChecked (taskEditor->parentWidget()->isVisible());
-    actionViewToggleHistoryWindow->setChecked (historyWindow->parentWidget()->isVisible());
-    actionViewTogglePropertyEditor->setChecked (branchPropertyEditor->parentWidget()->isVisible());
-    actionViewToggleScriptEditor->setChecked (scriptEditor->parentWidget()->isVisible());
-
-    VymView *vv=currentView();
-    if (vv)
-    {
-       actionViewToggleTreeEditor->setChecked ( vv->treeEditorIsVisible() );
-       actionViewToggleSlideEditor->setChecked( vv->slideEditorIsVisible() );
-    } else     
-    {
-       actionViewToggleTreeEditor->setChecked  ( false );
-       actionViewToggleSlideEditor->setChecked ( false );
-    }
-
-    VymModel  *m =currentModel();
-    if ( m ) 
-    {
-        // readonly mode
-        if (m->isReadOnly() )
-        {
-            // Disable toolbars
-            standardFlagsMaster->setEnabled (false);
-
-            // Disable map related actions
-            foreach (QAction *a, restrictedMapActions)
-                a->setEnabled( false );
-
-            // FIXME-2 updateactions: refactor actionListFiles: probably not needed, wrong actions there atm
-        } else
-        {   // not readonly     // FIXME-2 updateactions: maybe only required in testing, as mode should not change
-            
-            // Enable toolbars
-            standardFlagsMaster->setEnabled (true);
-
-            // Enable map related actions
-            foreach (QAction *a, restrictedMapActions)
-                a->setEnabled( true );
-
-        }
-       // Enable all files actions first   
-       for (int i=0; i<actionListFiles.size(); ++i)    
-           actionListFiles.at(i)->setEnabled(true);
-
-        foreach (QAction *a, unrestrictedMapActions)
-            a->setEnabled( true  );
-        
-       // Disable other actions for now
-       for (int i=0; i<actionListBranches.size(); ++i) 
-           actionListBranches.at(i)->setEnabled(false);
-
-       for (int i=0; i<actionListItems.size(); ++i) 
-           actionListItems.at(i)->setEnabled(false);
-
-       // Link style in context menu
-       switch (m->getMapLinkStyle())
-       {
-           case LinkableMapObj::Line: 
-               actionFormatLinkStyleLine->setChecked(true);
-               break;
-           case LinkableMapObj::Parabel:
-               actionFormatLinkStyleParabel->setChecked(true);
-               break;
-           case LinkableMapObj::PolyLine:  
-               actionFormatLinkStylePolyLine->setChecked(true);
-               break;
-           case LinkableMapObj::PolyParabel:   
-               actionFormatLinkStylePolyParabel->setChecked(true);
-               break;
-           default:
-               break;
-       }       
-
-       // Update colors
-       QPixmap pix( 16, 16 );
-       pix.fill( m->getMapBackgroundColor() );
-       actionFormatBackColor->setIcon( pix );
-       pix.fill( m->getSelectionColor() );
-       actionFormatSelectionColor->setIcon( pix );
-       pix.fill( m->getMapDefLinkColor() );
-       actionFormatLinkColor->setIcon( pix );
-
-       // Selection history
-       if (!m->canSelectPrevious() )
-           actionSelectPrevious->setEnabled(false);
-
-       if (!m->canSelectNext() )
-           actionSelectNext->setEnabled(false);
-           
-       if (!m->getSelectedItem() )
-           actionSelectNothing->setEnabled (false);
-
-       // Save
-       if (! m->hasChanged() )
-           actionFileSave->setEnabled( false);
-
-       // Undo/Redo
-       if (! m->isUndoAvailable())
-           actionUndo->setEnabled( false);
-
-       if (! m->isRedoAvailable())
-           actionRedo->setEnabled( false);
-
-       // History window
-       historyWindow->setWindowTitle (vymName + " - " +tr("History for %1","Window Caption").arg(m->getFileName()));
-
-       // Expanding/collapsing
-       actionExpandAll->setEnabled (true);
-       actionExpandOneLevel->setEnabled (true);
-       actionCollapseOneLevel->setEnabled (true);
-       actionCollapseUnselected->setEnabled (true);
-
-       if (m->getMapLinkColorHint()==LinkableMapObj::HeadingColor) 
-           actionFormatLinkColorHint->setChecked(true);
-       else    
-           actionFormatLinkColorHint->setChecked(false);
-
-       // Export last
-       QString s, t, u, v;
-       if (m && m->exportLastAvailable(s,t,u, v) )
-           actionFileExportLast->setEnabled (true);
-       else
-       {
-           actionFileExportLast->setEnabled (false);
-           t=u="";
-           s=" - ";
-       }       
-       actionFileExportLast->setText( tr( "Export in last used format (%1) to: %2","status tip" ).arg(s).arg(u));
-
-       TreeItem *selti=m->getSelectedItem();
-       BranchItem *selbi=m->getSelectedBranch();
-
-       if (selti)
-       {   // Tree Item selected
-           actionToggleTarget->setChecked (selti->isTarget() );
-           actionDelete->setEnabled (true);
-           actionDeleteChildren->setEnabled (true);
-
-           if (selbi || selti->getType()==TreeItem::Image)
-           {
-               actionFormatHideLinkUnselected->setChecked (((MapItem*)selti)->getHideLinkUnselected());
-               actionFormatHideLinkUnselected->setEnabled (true);
-           }
-
-           if (selbi)  
-           {   // Branch Item selected
-               for (int i=0; i<actionListBranches.size(); ++i) 
-                   actionListBranches.at(i)->setEnabled(true);
-
-               actionHeading2URL->setEnabled (true);  
-
-               // Note
-                actionGetURLsFromNote->setEnabled (!selbi->getNote().isEmpty());
-
-               // Take care of xlinks  
-               // FIXME-4 similar code in mapeditor mousePressEvent
-               int b=selbi->xlinkCount();
-               branchXLinksContextMenuEdit->setEnabled(b);
-               branchXLinksContextMenuFollow->setEnabled(b);
-               branchXLinksContextMenuEdit->clear();
-               branchXLinksContextMenuFollow->clear();
-               if (b)
-               {
-                   BranchItem *bi;
-                   QString s;
-                   for (int i=0; i<selbi->xlinkCount();++i)
-                   {
-                       bi=selbi->getXLinkItemNum(i)->getPartnerBranch();
-                       if (bi)
-                       {
-                s=bi->getHeadingPlain();
-                           if (s.length()>xLinkMenuWidth)
-                               s=s.left(xLinkMenuWidth)+"...";
-                           branchXLinksContextMenuEdit->addAction (s);
-                           branchXLinksContextMenuFollow->addAction (s);
-                       }   
-                   }
-               }
-               //Standard Flags
-               standardFlagsMaster->updateToolBar (selbi->activeStandardFlagNames() );
-
-               // System Flags
-               actionToggleScroll->setEnabled (true);
-               if ( selbi->isScrolled() )
-                   actionToggleScroll->setChecked(true);
-               else    
-                   actionToggleScroll->setChecked(false);
-
-               actionGetBugzillaDataSubtree->setEnabled (bugzillaClientAvailable);
-               if ( selti->getURL().isEmpty() )
-               {
-                   actionOpenURL->setEnabled (false);
-                   actionOpenURLTab->setEnabled (false);
-                   actionGetBugzillaData->setEnabled (false);
-               }   
-               else    
-               {
-                   actionOpenURL->setEnabled (true);
-                   actionOpenURLTab->setEnabled (true);
-                   actionGetBugzillaData->setEnabled (
-                       selti->getURL().contains("bugzilla") && bugzillaClientAvailable);
-               }
-               if ( selti->getVymLink().isEmpty() )
-               {
-                   actionOpenVymLink->setEnabled (false);
-                   actionOpenVymLinkBackground->setEnabled (false);
-                   actionDeleteVymLink->setEnabled (false);
-               } else  
-               {
-                   actionOpenVymLink->setEnabled (true);
-                   actionOpenVymLinkBackground->setEnabled (true);
-                   actionDeleteVymLink->setEnabled (true);
-               }   
-
-               if (!selbi->canMoveUp()) 
-                   actionMoveUp->setEnabled (false);
-
-               if (!selbi->canMoveDown()) 
-                   actionMoveDown->setEnabled (false);
-
-               if (selbi->branchCount() <2 )
-               {
-                   actionSortChildren->setEnabled (false);
-                   actionSortBackChildren->setEnabled (false);
-               }
-
-               actionToggleHideExport->setEnabled (true);  
-               actionToggleHideExport->setChecked (selbi->hideInExport() );    
-
-               actionToggleTask->setEnabled (true);  
-               if (!selbi->getTask() )
-                   actionToggleTask->setChecked (false);
-               else
-                   actionToggleTask->setChecked (true);
-
-               if (!clipboardEmpty)
-                   actionPaste->setEnabled (true); 
-               else    
-                   actionPaste->setEnabled (false);    
-
-               actionToggleTarget->setEnabled (true);
-           }   // end of BranchItem
-
-           if ( selti->getType()==TreeItem::Image)
-           {
-               for (int i=0; i<actionListBranches.size(); ++i) 
-                   actionListBranches.at(i)->setEnabled(false);
-
-               standardFlagsMaster->setEnabled (false);
-
-               actionOpenURL->setEnabled (false);
-               actionOpenVymLink->setEnabled (false);
-               actionOpenVymLinkBackground->setEnabled (false);
-               actionDeleteVymLink->setEnabled (false);    
-               actionToggleHideExport->setEnabled (true);  
-               actionToggleHideExport->setChecked (selti->hideInExport() );    
-
-               actionToggleTarget->setEnabled (true);
-
-               actionPaste->setEnabled (false); 
-               actionDelete->setEnabled (true);
-
-               actionGrowSelectionSize->setEnabled (true);
-               actionShrinkSelectionSize->setEnabled (true);
-               actionResetSelectionSize->setEnabled (true);
-           }   // Image
-       } // TreeItem 
-       
-       // Check (at least for some) multiple selection //FIXME-4
-       QList <TreeItem*> selItems=m->getSelectedItems();
-       if (selItems.count()>0 )
-       {
-           actionDelete->setEnabled (true);
-           actionToggleHideExport->setEnabled (true);  
-           actionToggleHideExport->setChecked (false); 
-       }
-
-       QList <BranchItem*> selbis=m->getSelectedBranches();
-       if (selbis.count()>0 )
-           actionFormatColorBranch->setEnabled (true);
-
-    } else
-    {
-        // No map available 
-        for (int i=0; i<actionListFiles.size(); ++i)   
-            actionListFiles.at(i)->setEnabled(false);
-
-        foreach (QAction *a, unrestrictedMapActions)
-            a->setEnabled( false );
-
-        // Disable toolbars
-        standardFlagsMaster->setEnabled (false);
-    }
-}
-
-Main::ModMode Main::getModMode()
-{
-    if (actionModModeColor->isChecked()) return ModModeColor;
-    if (actionModModeCopy->isChecked()) return ModModeCopy;
-    if (actionModModeXLink->isChecked()) return ModModeXLink;
-    return ModModeNone;
-}
-
-bool Main::autoEditNewBranch()
-{
-    return actionSettingsAutoEditNewBranch->isChecked();
-}
-
-bool Main::autoSelectNewBranch()
-{
-    return actionSettingsAutoSelectNewBranch->isChecked();
-}
-
-void Main::setScriptFile (const QString &fn)
-{
-    scriptEditor->setScriptFile (fn);
-}
-
-QVariant Main::execute (const QString &script)
-{
-    VymModel *m=currentModel();
-    if (m) return m->execute (script);
-    return QVariant();
-}
-
-void Main::executeEverywhere (const QString &script)
-{
-    foreach (VymView *vv,vymViews)
-    {
-       VymModel *m=vv->getModel();
-       if (m) m->execute (script);
-    }
-}
-
-void Main::gotoWindow (const int &n)
-{
-    if (n < tabWidget->count() && n>=0 )
-       tabWidget->setCurrentIndex (n);
-}
-
-void Main::windowNextEditor()
-{
-    if (tabWidget->currentIndex() < tabWidget->count())
-       tabWidget->setCurrentIndex (tabWidget->currentIndex() +1);
-}
-
-void Main::windowPreviousEditor()
-{
-    if (tabWidget->currentIndex() >0)
-       tabWidget->setCurrentIndex (tabWidget->currentIndex() -1);
-}
-
-void Main::nextSlide()
-{
-    VymView *cv=currentView();
-    if (cv) cv->nextSlide();
-}
-
-
-void Main::previousSlide()
-{
-    VymView *cv=currentView();
-    if (cv) cv->previousSlide();
-}
-
-void Main::standardFlagChanged()
-{
-    MapEditor *me = currentMapEditor();
-    VymModel  *m  = currentModel();
-    if (me && m && me->getState() != MapEditor::EditingHeading) 
-    {
-        if ( actionSettingsUseFlagGroups->isChecked() )
-            m->toggleStandardFlag(sender()->objectName(),standardFlagsMaster);
-        else
-            m->toggleStandardFlag(sender()->objectName());
-        updateActions();
-    }
-}
-
-void Main::testFunction1()
-{
-    /*
-    VymModel *m = currentModel();
-    if (m)
-    {
-        m->getMapEditor()->minimizeView();
-    }
-    */
-
-    /*
-    QString zp = "c:\\Program Files\\7-Zip\\7z.exe";
-    QString zipName = "c:\\Users\\uwdr9542\\x\\ü1.vym";
-    QString zipDir  = "c:\\Users\\uwdr9542\\x\\y\\";
-    */
-    QString zp = "c:/Program Files/7-Zip/7z.exe";
-    QString zipName = "c:/Users/uwdr9542/x/ü1.vym";
-    QString zipDir  = "c:/Users/uwdr9542/x/y/";
-
-    zp = QDir::toNativeSeparators(zp);
-    zipName = QDir::toNativeSeparators(zipName);
-    zipDir  = QDir::toNativeSeparators(zipDir);
-    QStringList args;
-    args << "a" << zipName << "-tzip" << "-scsUTF-8" << "-sccUTF-8" << "*" ;
-
-    VymProcess *zipProc=new VymProcess ();
-    zipProc->setWorkingDirectory (zipDir);
-
-    zipProc->start(zipToolPath, args);
-    qDebug() << "7z:" << zp;
-    qDebug() << "7z started in dir: " << zipProc->workingDirectory();
-    qDebug() << "args:" << args;
-    qDebug() << zipProc->getStdout()<<flush;
-}
-
-void Main::testFunction2()
-{
-}
-
-void Main::toggleWinter()
-{
-    if (!currentMapEditor()) return;
-    currentMapEditor()->toggleWinter();
-}
-
-void Main::toggleHideExport()
-{
-    VymModel *m=currentModel();
-    if (!m) return;
-    if (actionToggleHideMode->isChecked() )
-        m->setHideTmpMode (TreeItem::HideExport);
-    else
-        m->setHideTmpMode (TreeItem::HideNone);
-}
-
-void Main::testCommand()
-{
-    if (!currentMapEditor()) return;
-    scriptEditor->show();
-}
-
-void Main::helpDoc()
-{
-    QString locale = QLocale::system().name();
-    QString docname;
-    if (locale.left(2)=="es")
-       docname="vym_es.pdf";
-    else    
-       docname="vym.pdf";
-
-    QStringList searchList;
-    QDir docdir;
-    #if defined(Q_OS_MACX)
-        searchList << vymBaseDir.path() + "/doc";
-    #elif defined(Q_OS_WIN32)
-        searchList << vymInstallDir.path() + "doc/" + docname;
-    #else
-       #if defined(VYM_DOCDIR)
-           searchList << VYM_DOCDIR;
-       #endif
-        // default path in SUSE LINUX
-        searchList << "/usr/share/doc/packages/vym";
-    #endif
-
-    searchList << "doc";    // relative path for easy testing in tarball
-    searchList << "/usr/share/doc/vym";        // Debian
-    searchList << "/usr/share/doc/packages";// Knoppix
-
-    bool found=false;
-    QFile docfile;
-    for (int i=0; i<searchList.count(); ++i)
-    {
-       docfile.setFileName(searchList.at(i)+"/"+docname);
-       if (docfile.exists())
-       {
-           found=true;
-           break;
-       }   
-    }
-
-    if (!found)
-    {
-       QMessageBox::critical(0, 
-           tr("Critcal error"),
-        tr("Couldn't find the documentation %1 in:\n%2").arg(docname).arg(searchList.join("\n")));
-       return;
-    }  
-
-    QStringList args;
-    VymProcess *pdfProc = new VymProcess();
-    args << QDir::toNativeSeparators(docfile.fileName());
-
-    if (!pdfProc->startDetached( settings.value("/system/readerPDF").toString(),args) )
-    {
-       // error handling
-       QMessageBox::warning(0, 
-           tr("Warning"),
-           tr("Couldn't find a viewer to open %1.\n").arg(docfile.fileName())+
-           tr("Please use Settings->")+tr("Set application to open PDF files"));
-       settingsPDF();  
-       return;
-    }
-}
-
-void Main::helpDemo()
-{
-    QStringList filters;
-    filters <<"VYM example map (*.vym)";
-    QFileDialog fd;
-    fd.setDirectory (vymBaseDir.path() + "/demos");
-    fd.setFileMode (QFileDialog::ExistingFiles);
-    fd.setNameFilters (filters);
-    fd.setWindowTitle (vymName+ " - " +tr("Load vym example map"));
-    fd.setAcceptMode (QFileDialog::AcceptOpen);
-
-    QString fn;
-    if ( fd.exec() == QDialog::Accepted )
-    {
-        lastMapDir=fd.directory().path();
-        QStringList flist = fd.selectedFiles();
-        QStringList::Iterator it = flist.begin();
-        initProgressCounter( flist.count());
-        while( it != flist.end() )
-        {
-            fn = *it;
-            fileLoad(*it, NewMap,VymMap);
-            ++it;
-        }
-        removeProgressCounter();
-    }
-}
-
-void Main::helpShortcuts()
-{
-    ShowTextDialog dia;
-    dia.useFixedFont (true);
-    dia.setText( switchboard.getASCII() );
-    dia.exec();
-}
-
-void Main::debugInfo()  
-{
-    QString s;
-    s = QString ("Platform: %1\n").arg(vymPlatform);
-    s += QString ("localeName: %1\nPath: %2\n")
-        .arg(localeName)
-        .arg(vymBaseDir.path() + "/lang");
-    s += QString("vymBaseDir: %1\n").arg(vymBaseDir.path());
-    s += QString("currentPath: %1\n").arg(QDir::currentPath());
-    s += QString("appDirPath: %1\n").arg(QCoreApplication::applicationDirPath());
-    QMessageBox mb;
-    mb.setText(s);
-    mb.exec();
-}
-
-void Main::helpAbout()
-{
-    AboutDialog ad;
-    ad.setMinimumSize(500,500);
-    ad.resize (QSize (500,500));
-    ad.exec();
-}
-
-void Main::helpAboutQT()
-{
-    QMessageBox::aboutQt( this, "Qt Application Example" );
-}
-
-void Main::callMacro ()
-{
-    QAction *action = qobject_cast<QAction *>(sender());
-    int i=-1;
-    if (action)
-    {
-        i=action->data().toInt();
-        QString s=macros.getMacro (i+1);
-        if (!s.isEmpty())
-        {
-            VymModel *m=currentModel();
-            if (m) m->execute(s);
-        }
-    }  
-}
-
-void Main::downloadReleaseNotesFinished()
-{
-    DownloadAgent *agent = static_cast<DownloadAgent*>(sender());
-    QString s;
-    
-    if (agent->isSuccess() )
-    {
-        QString page;
-        if (agent->isSuccess() )
-        {
-            if ( loadStringFromDisk(agent->getDestination(), page) )
-            {
-                ShowTextDialog dia(this);
-                dia.setText(page);
-                dia.exec();
-
-                // Don't load the release notes automatically again
-                settings.setValue("/downloads/releaseNotes/shownVersion", __VYM_VERSION);
-            } 
-        }
-    } else
-    {
-        if (debug)
-        {
-            qDebug()<<"Main::downloadReleaseNotesFinished ";
-            qDebug()<<"  result: failed";
-            qDebug()<<"     msg: " << agent->getResultMessage();
-        }
-    }
-}
-
-void Main::checkReleaseNotes()
-{
-    bool userTriggered;
-    if (qobject_cast<QAction *>(sender()) )
-        userTriggered = true;
-    else
-        userTriggered = false;
-
-    if (downloadsEnabled())
-    {
-        if ( userTriggered ||
-             versionLowerThanVym( settings.value("/downloads/releaseNotes/shownVersion", "0.0.1").toString() ) )
-        {
-            QUrl releaseNotesUrl(
-                //QString("http://localhost/release-notes.php?vymVersion=%1") /
-                QString("http://www.insilmaril.de/vym/release-notes.php?vymVersion=%1")
-                .arg(vymVersion)
-            );
-            DownloadAgent *agent = new DownloadAgent(releaseNotesUrl);
-            connect (agent, SIGNAL( downloadFinished()), this, SLOT(downloadReleaseNotesFinished()));
-            QTimer::singleShot(0, agent, SLOT(execute()));
-        }
-    } else
-    {
-        // No downloads enabled
-        if (userTriggered)
-        {
-            // Notification: vym could not download release notes
-            QMessageBox::warning(0,  tr("Warning"), tr("Please allow vym to download release notes!"));
-            if (downloadsEnabled(userTriggered)) checkUpdates();
-        }
-    }
-}
-
-bool Main::downloadsEnabled (bool userTriggered)
-{
-    bool result;
-    if (!userTriggered && settings.value("/downloads/enabled", false).toBool())
-    {
-        result = true;
-    } else
-    {
-        QDate lastAsked = settings.value("/downloads/permissionLastAsked", QDate(1970,1,1) ).toDate();
-        if (userTriggered ||
-            !settings.contains("/downloads/permissionLastAsked") ||
-            lastAsked.daysTo( QDate::currentDate()) > 7
-           )
-        {
-            QString infotext;
-            infotext = tr("<html>"
-                          "<h3>Do you allow vym to check online for updates or release notes?</h3>"
-                          "If you allow, vym will "
-                          "<ul>"
-                            "<li>check once for release notes</li>"
-                            "<li>check regulary for updates and notify you in case you should update, e.g. if there are "
-                              "important bug fixes available</li>"
-                            "<li>receive a cookie with a random ID and send vym version and platform name and the ID  "
-                              "(e.g. \"Windows\" or \"Linux\") back to me, Uwe Drechsel."
-                              "<p>As vym developer I am motivated to see "
-                              "many people using vym. Of course I am curious to see, on which system vym is used. Maintaining each "
-                              "of the systems requires a lot of my (spare) time.</p> "
-                              "<p>No other data than above will be sent, especially no private data will be collected or sent."
-                              "(Check the source code, if you don't believe.)"
-                              "</p>"
-                            "</li>"
-                          "</ul>"
-                          "If you do not allow, "
-                          "<ul>"
-                            "<li>nothing will be downloaded and especially I will <b>not be motivated</b> "
-                            "to spend some more thousands of hours on developing a free software tool."
-                          "</ul>"
-                          "Please allow vym to check for updates :-)"
-                          );
-            QMessageBox mb( vymName, infotext,
-                QMessageBox::Information,
-                QMessageBox::Yes | QMessageBox::Default,
-                QMessageBox::Cancel | QMessageBox::Escape,
-                QMessageBox::NoButton);
-            mb.setButtonText( QMessageBox::Yes, tr("Allow") );
-            mb.setButtonText( QMessageBox::Cancel, tr("Do not allow"));
-            switch( mb.exec() )
-            {
-                case QMessageBox::Yes:
-                    result = true;
-                    QMessageBox::information(0, vymName,
-                        tr("Thank you for enabling downloads!"));
-                break;
-                default :
-                    result = false;
-                break;
-            }
-        } else
-            result = false;
-        actionSettingsToggleDownloads->setChecked( result );
-        settings.setValue("/downloads/enabled", result);
-        settings.setValue("/downloads/permissionLastAsked", QDate::currentDate().toString(Qt::ISODate));
-    }
-    return result;
-}
-
-void Main::downloadUpdatesFinished(bool userTriggered)
-{
-    DownloadAgent *agent = static_cast<DownloadAgent*>(sender());
-    QString s;
-
-    if (agent->isSuccess() )
-    {
-        ShowTextDialog dia;
-        dia.setWindowTitle( vymName + " - " + tr("Update information") );
-        QString page;
-        if (loadStringFromDisk(agent->getDestination(), page) )
-        {
-            if (page.contains("vymisuptodate"))
-            {
-                statusMessage( tr("vym is up to date.","MainWindow"));
-                if (userTriggered)
-                {
-                    // Notification: vym is up to date!
-                    dia.setHtml( page );
-                    dia.exec();
-                }
-            } else if (page.contains("vymneedsupdate"))
-            {
-                // Notification: updates available
-                dia.setHtml( page );
-                dia.exec();
-            } else 
-            {
-                // Notification: Unknown version found
-                dia.setHtml( page );
-                dia.exec();
-            } 
-
-            // Prepare to check again later
-            settings.setValue("/downloads/updates/lastChecked", QDate::currentDate().toString(Qt::ISODate));
-        } else
-            statusMessage( "Couldn't load update page from " + agent->getDestination());
-
-    } else
-    {
-        statusMessage( "Check for updates failed.");
-        if (debug)
-        {
-            qDebug()<<"Main::downloadUpdatesFinished ";
-            qDebug()<<"  result: failed";
-            qDebug()<<"     msg: " << agent->getResultMessage();
-        }
-    }
-}
-void Main::downloadUpdatesFinishedInt()
-{
-    downloadUpdatesFinished(true);
-}
-
-void Main::downloadUpdates(bool userTriggered)
-{
-    QUrl updatesUrl(
-        QString("http://www.insilmaril.de/vym/updates.php?vymVersion=%1")
-        .arg(vymVersion)
-    );
-    DownloadAgent *agent = new DownloadAgent(updatesUrl);
-    if (userTriggered)
-        connect (agent, SIGNAL( downloadFinished()), this, SLOT(downloadUpdatesFinishedInt()));
-    else
-        connect (agent, SIGNAL( downloadFinished()), this, SLOT(downloadUpdatesFinished()));
-    statusMessage( tr("Checking for updates...","MainWindow"));
-    QTimer::singleShot(0, agent, SLOT(execute()));
-}
-
-void Main::checkUpdates()
-{
-    bool userTriggered;
-    if (qobject_cast<QAction *>(sender()) )
-        userTriggered = true;
-    else
-        userTriggered = false;
-
-    if (downloadsEnabled())
-    {
-        // Too much time passed since last update check?
-        QDate lastChecked = settings.value("/downloads/updates/lastChecked", QDate(1970,1,1) ).toDate();
-        if ( !lastChecked.isValid()) lastChecked = QDate(1970,1,1);
-        if ( lastChecked.daysTo( QDate::currentDate()) > settings.value("/downloads/updates/checkInterval",3).toInt() ||
-             userTriggered == true)
-        {
-            downloadUpdates( userTriggered );
-        }
-    } else
-    {
-        // No downloads enabled
-        if (userTriggered)
-        {
-            // Notification: vym could not check for updates
-            QMessageBox::warning(0,  tr("Warning"), tr("Please allow vym to check for updates!"));
-            if (downloadsEnabled(userTriggered)) checkUpdates();
-        }
-    }
-}
diff --git a/mainwindow.h b/mainwindow.h
deleted file mode 100644 (file)
index 39df41a..0000000
+++ /dev/null
@@ -1,538 +0,0 @@
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QMainWindow>
-#include <QProgressDialog>
-
-#include "branchpropeditor.h"
-#include "extrainfodialog.h"
-#include "flag.h"
-#include "file.h"
-#include "historywindow.h"
-#include "mapeditor.h"
-#include "texteditor.h"
-#include "vymview.h"
-
-class Main : public QMainWindow 
-{
-    Q_OBJECT
-
-public:
-    /*! Modifier modes are used when CTRL together with a mouse button is pressed */
-    enum ModMode {
-       ModModeNone,    //!< Unused
-       ModModeColor,   //!< Pick color from object
-       ModModeCopy,    //!< Copy object
-       ModModeXLink    //!< Create a XLink (XLinkObj) from selected object
-       };
-
-    Main(QWidget* parent=0, Qt::WindowFlags f=0);
-    ~Main();
-    void loadCmdLine();
-
-private:
-    QProgressDialog progressDialog;
-    int progressMax;
-    int progressCounter;
-    int progressCounterTotal;
-public:        
-    void statusMessage (const QString &);
-    void setProgressMaximum (int max);
-    void addProgressValue (float v);
-    void initProgressCounter(uint n=1);
-    void removeProgressCounter();
-
-public slots:
-    void fileNew();
-    void fileNewCopy();
-
-protected:
-    void closeEvent( QCloseEvent* );
-
-private:
-    void setupAPI();
-
-    /*! Helper method to clone actions later in MapEditor */
-    void cloneActionMapEditor( QAction *a, QKeySequence ks);
-
-    void setupFileActions();
-    void setupEditActions();
-    void setupSelectActions();
-    void setupFormatActions();
-    void setupViewActions();
-    void setupModeActions();
-    void setupWindowActions();
-    void setupFlag(
-       Flag *flag, 
-       QToolBar *tb, 
-       const QString &name, 
-       const QString &tooltip,
-       const QKeySequence &ks=0
-       );
-    void setupFlagActions();
-    void setupNetworkActions();
-    void setupSettingsActions();
-    void setupTestActions();
-    void setupHelpActions();
-    void setupContextMenus();
-    void setupRecentMapsMenu();
-    void setupMacros();
-    void setupToolbars();
-    VymView* currentView() const;
-public:        
-    MapEditor* currentMapEditor() const;
-    VymModel* currentModel() const;
-    uint currentModelID() const;
-    VymModel* getModel(uint) const;
-    void gotoModel (VymModel *m);
-    int modelCount();
-    void updateTabName(VymModel *vm);
-    
-private slots:
-    void editorChanged();
-
-    File::ErrorCode fileLoad(QString ,const LoadMode &, const FileType &ftype);
-    void fileLoad(const LoadMode &);
-    void fileLoad();
-    void fileSaveSession();
-public slots:    
-    void fileRestoreSession();
-private slots:    
-    void fileLoadRecent();
-    void addRecentMap (const QString &);
-    void fileSave(VymModel*, const SaveMode & );
-    void fileSave();
-public slots:  
-    void fileSave(VymModel*);  // autosave from MapEditor
-private slots: 
-    void fileSaveAs();
-    void fileSaveAs(const SaveMode &);
-    void fileImportFirefoxBookmarks();
-    void fileImportFreemind();
-    void fileImportMM();
-    void fileImportDir();
-    void fileExportXML();
-    void fileExportHTML();
-    void fileExportImage();
-    void fileExportPDF();
-    void fileExportSVG();
-    void fileExportAO();
-    void fileExportASCII();
-    void fileExportASCIITasks();
-    void fileExportCSV();
-    void fileExportOrgMode();
-    void fileExportLaTeX();
-    void fileExportTaskjuggler();
-    void fileExportImpress();
-    void fileExportLast();
-    bool fileCloseMap(int i = -1);  // Optionally pass number of tab
-    void filePrint();
-    bool fileExitVYM();
-
-public slots:
-    void editUndo();   
-    void editRedo();   
-    void gotoHistoryStep (int);
-private slots: 
-    void editCopy();   
-    void editPaste();  
-    void editCut(); 
-
-public slots:    
-    void updateQueries (VymModel*);
-private:
-    bool openURL(const QString &url);
-    void openTabs(QStringList);
-public slots:
-    void editOpenURL();
-    void editOpenURLTab();
-private slots:
-    void editOpenMultipleVisURLTabs(bool ignoreScrolled=true);
-    void editOpenMultipleURLTabs();
-    void editNote2URLs();
-    void editURL();
-    void editLocalURL();
-    void editHeading2URL();
-    void editBugzilla2URL();
-    void getBugzillaData();
-    void getBugzillaDataSubtree();
-    void editFATE2URL();
-    void openVymLinks(const QStringList &, bool background=false);
-    void editVymLink();
-    void editOpenMultipleVymLinks();
-public slots:
-    void editHeading();
-    void editHeadingFinished(VymModel *m);
-    void editOpenVymLink(bool background=false);
-    void editOpenVymLinkBackground();
-private slots:
-    void editDeleteVymLink();
-    void editToggleHideExport();
-    void editToggleTask();
-    void editCycleTaskStatus();
-    void editTaskSleepN();
-    void editAddTimestamp();
-    void editMapProperties();
-    void editMoveUp(); 
-    void editMoveDown();    
-    void editDetach(); 
-    void editSortChildren();
-    void editSortBackChildren();
-    void editToggleScroll();
-    void editExpandAll();
-    void editExpandOneLevel();
-    void editCollapseOneLevel();
-    void editCollapseUnselected();
-    void editUnscrollChildren();
-    void editGrowSelectionSize();
-    void editShrinkSelectionSize();
-    void editResetSelectionSize();
-    void editAddAttribute();
-    void editAddMapCenter();
-    void editNewBranch();
-    void editNewBranchBefore();
-    void editNewBranchAbove();
-    void editNewBranchBelow();
-    void editImportAdd();
-    void editImportReplace();
-    void editSaveBranch();
-    void editDeleteKeepChildren();
-    void editDeleteChildren();
-    void editDeleteSelection();
-    void editLoadImage();
-    void editSaveImage();
-    void popupFollowXLink ();
-    void editFollowXLink (QAction *);
-    void editEditXLink (QAction *);
-
-private slots:    
-    void editToggleTarget();
-    bool initTargetsMenu( VymModel *model, QMenu *menu);
-    void editGoToTarget();
-    void editMoveToTarget();
-    void editSelectPrevious();
-    void editSelectNext();
-    void editSelectNothing();
-    void editOpenFindResultWidget();
-    void editFindNext(QString s);
-    void editFindDuplicateURLs();
-
-public slots:
-    void formatPickColor();
-    QColor getCurrentColor();
-    void setCurrentColor(QColor);
-
-private slots:    
-    void formatSelectColor();
-    void formatColorBranch();
-    void formatColorSubtree();
-    void formatLinkStyleLine();
-    void formatLinkStyleParabel();
-    void formatLinkStylePolyLine();
-    void formatLinkStylePolyParabel();
-    void formatSelectBackColor();
-    void formatSelectBackImage();
-    void formatSelectLinkColor();
-    void formatSelectSelectionColor();
-    void formatSelectFont();
-    void formatToggleLinkColorHint();
-    void formatHideLinkUnselected();
-
-public slots:
-    void viewZoomReset();
-    void viewZoomIn();
-    void viewZoomOut();
-    void viewRotateCounterClockwise();
-    void viewRotateClockwise();
-    void viewCenter();
-
-public slots:
-    void networkStartServer();
-    void networkConnect();
-    void downloadFinished();
-    bool settingsPDF();
-    bool settingsURL();
-    void settingsZipTool();
-    void settingsMacroDir();
-    void settingsUndoLevels();
-
-public:
-    bool useAutosave();
-    void setAutosave( bool b);
-
-public slots:
-    void settingsAutosaveTime();
-    void settingsDefaultMapAuthor();
-    void settingsShowParentsLevelTasks();
-    void settingsShowParentsLevelFindResults();
-    void settingsToggleAutoLayout();
-    void settingsToggleWriteBackupFile();
-    void settingsToggleAnimation();
-    void settingsToggleDownloads();
-
-    void windowToggleNoteEditor();
-    void windowToggleTreeEditor();
-    void windowToggleTaskEditor();
-    void windowToggleSlideEditor();
-    void windowToggleScriptEditor();
-    void windowToggleHistory();
-    void windowToggleProperty();
-    void windowShowHeadingEditor();
-    void windowToggleHeadingEditor();
-    void updateHistory(SimpleSettings &);
-    void windowToggleAntiAlias();
-public:
-    bool isAliased();
-    bool hasSmoothPixmapTransform();
-public slots:
-    void windowToggleSmoothPixmap();
-    void updateHeading();
-    void updateNoteFlag();
-    void updateNoteEditor (QModelIndex index);
-    void selectInNoteEditor (QString s, int i);
-    void setFocusMapEditor();
-    void changeSelection (VymModel *model,const QItemSelection &newSel, const QItemSelection &delSel);
-    void updateDockWidgetTitles(VymModel *model);
-
-    void updateActions();
-    ModMode getModMode();
-    bool autoEditNewBranch();
-    bool autoSelectNewBranch();
-    void setScriptFile(const QString &fn);
-    QVariant execute(const QString &);
-    void executeEverywhere (const QString &);
-    void gotoWindow (const int &n);
-
-private slots:
-    void windowNextEditor();
-    void windowPreviousEditor();
-    void nextSlide();
-    void previousSlide();
-
-    void standardFlagChanged();
-
-    void testFunction1();
-    void testFunction2();
-    void toggleWinter();
-    void toggleHideExport();
-    void testCommand();
-
-    void helpDoc();
-    void helpDemo();
-    void helpShortcuts();
-    void debugInfo();
-    void helpAbout();
-    void helpAboutQT();
-
-    void callMacro ();
-    void downloadReleaseNotesFinished();
-
-public slots:
-    void checkReleaseNotes();
-    bool downloadsEnabled(bool userTriggered = false);
-    void downloadUpdatesFinished(bool userTriggered = false);
-    void downloadUpdatesFinishedInt();
-    void downloadUpdates(bool userTriggered);
-    void checkUpdates();
-
-private:
-    QString shortcutScope;          //! For listing shortcuts
-    QTabWidget *tabWidget;
-    qint64 *browserPID;
-
-    QStringList imageTypes;
-
-    QList <VymView*> vymViews;     //! Keeps track of models and views related to a tab 
-    QString prevSelection;
-
-    HistoryWindow *historyWindow;
-
-    QDockWidget *headingEditorDW;
-    QDockWidget *noteEditorDW;
-    QDockWidget *scriptEditorDW;
-
-    BranchPropertyEditor *branchPropertyEditor;
-
-public:
-    QList <QAction*> mapEditorActions;      //! allows mapEditor to clone actions and shortcuts
-    QList <QAction*> taskEditorActions;     //! allows taskEditor to clone actions and shortcuts
-private:
-    QList <QAction*> restrictedMapActions;  //! Actions reqire map and write access
-    QList <QAction*> unrestrictedMapActions;//! Actions require map, but work also in readonly, e.g. print, copy
-    QList <QAction*> actionListFiles;       //! File related actions, e.g. load, save, restore session
-    QList <QAction*> actionListBranches;
-    QList <QAction*> actionListItems;
-
-    QColor currentColor;
-
-    int xLinkMenuWidth;
-
-    QMenu *recentFilesMenu;
-    enum { MaxRecentFiles = 9 };
-    QAction *recentFileActions[MaxRecentFiles];
-
-    QAction *macroActions[13];
-    QStringList macro;
-
-    QMenu *toolbarsMenu;
-    QToolBar *fileToolbar;
-    QToolBar *clipboardToolbar;
-    QToolBar *editActionsToolbar;
-    QToolBar *selectionToolbar;
-    QToolBar *editorsToolbar;
-    QToolBar *colorsToolbar;
-    QToolBar *zoomToolbar;
-    QToolBar *modModesToolbar;
-    QToolBar *referencesToolbar;
-    QToolBar *standardFlagsToolbar;
-
-    QAction* actionFileNew;
-    QAction* actionFileNewCopy;
-    QAction* actionFileOpen;
-    QAction* actionFileRestoreSession;
-    QAction* actionFileSave;
-    QAction* actionFilePrint;
-    QAction* actionMapProperties;
-    QAction* actionFileExportLast;
-    QAction* actionUndo;
-    QAction* actionRedo;
-    QAction *actionCopy;
-    QAction *actionCut;
-    QAction *actionPaste;
-    QAction *actionMoveUp;
-    QAction *actionMoveDown;
-    QAction *actionDetach;
-    QAction *actionSortChildren;
-    QAction *actionSortBackChildren;
-    QAction *actionToggleScroll;
-    QAction *actionExpandAll;
-    QAction *actionExpandOneLevel;
-    QAction *actionCollapseOneLevel;
-    QAction *actionCollapseUnselected;
-    QAction* actionOpenURL;
-    QAction* actionOpenURLTab;
-    QAction* actionOpenMultipleVisURLTabs;
-    QAction* actionOpenMultipleURLTabs;
-    QAction* actionGetURLsFromNote;
-    QAction* actionURLNew;
-    QAction* actionLocalURL;
-    QAction* actionHeading2URL;
-    QAction* actionBugzilla2URL;
-    QAction* actionGetBugzillaData;
-    QAction* actionGetBugzillaDataSubtree;
-    QAction* actionFATE2URL;
-    QAction *actionOpenVymLink;
-    QAction *actionOpenVymLinkBackground;
-    QAction *actionOpenMultipleVymLinks;
-    QAction *actionEditVymLink;
-    QAction *actionDeleteVymLink;
-    QAction *actionAddTimestamp;
-    QAction *actionToggleTask;
-    QAction *actionCycleTaskStatus;
-    QAction *actionTaskSleep0;
-    QAction *actionTaskSleepN;
-    QAction *actionTaskSleep1;
-    QAction *actionTaskSleep2;
-    QAction *actionTaskSleep3;
-    QAction *actionTaskSleep5;
-    QAction *actionTaskSleep7;
-    QAction *actionTaskSleep14;
-    QAction *actionTaskSleep28;
-    QAction *actionToggleHideExport;
-    QAction *actionMapInfo;
-    QAction *actionHeading;
-    QAction *actionDelete;
-    QAction *actionAddAttribute;
-public:
-    QAction *actionAddMapCenter;
-
-private:    
-    QAction *actionAddBranch;
-    QAction *actionAddBranchBefore;
-    QAction *actionAddBranchAbove;
-    QAction *actionAddBranchBelow;
-    QAction *actionDeleteKeepChildren;
-    QAction *actionDeleteChildren;
-    QAction *actionImportAdd;
-    QAction *actionImportReplace;
-    QAction *actionSaveBranch;
-    QAction *actionLoadImage;
-
-    QAction *actionGrowSelectionSize;
-    QAction *actionShrinkSelectionSize;
-    QAction *actionResetSelectionSize;
-
-    QAction *actionToggleTarget;
-    QAction *actionGoToTarget;
-    QAction *actionMoveToTarget;
-    QAction *actionSelectPrevious;
-    QAction *actionSelectNext;
-    QAction *actionSelectNothing;
-    QAction *actionFind;
-
-    QAction *actionFormatColor;
-    QAction *actionFormatPickColor;
-    QAction *actionFormatColorBranch;
-    QAction *actionFormatColorSubtree;
-    QAction *actionFormatLinkColorHint;
-    QAction *actionFormatBackColor;
-    QAction *actionFormatBackImage;
-    QAction *actionFormatLinkColor;
-    QAction *actionFormatSelectionColor;
-    QAction *actionFormatFont;
-
-    QAction *actionZoomIn;
-    QAction *actionZoomOut;
-    QAction *actionZoomReset;
-    QAction *actionRotateCounterClockwise;
-    QAction *actionRotateClockwise;
-    QAction *actionCenterOn;
-
-    QActionGroup *actionGroupModModes;
-    QAction *actionModModeColor;
-    QAction *actionModModeXLink;
-    QAction *actionModModeCopy;
-
-    QAction *actionToggleHideMode;
-
-    QAction *actionToggleWinter;
-
-    QActionGroup *actionGroupFormatFrameTypes;
-
-    QActionGroup *actionGroupFormatLinkStyles;
-    QAction *actionFormatLinkStyleLine;
-    QAction *actionFormatLinkStyleParabel;
-    QAction *actionFormatLinkStylePolyLine;
-    QAction *actionFormatLinkStylePolyParabel;
-    QAction *actionFormatHideLinkUnselected;
-
-    QAction *actionViewToggleNoteEditor;
-    QAction *actionViewToggleHeadingEditor;
-    QAction *actionViewToggleTreeEditor;
-    QAction *actionViewToggleTaskEditor;
-    QAction *actionViewToggleSlideEditor;
-    QAction *actionViewToggleScriptEditor;
-    QAction *actionViewToggleHistoryWindow;
-    QAction *actionViewTogglePropertyEditor;
-    QAction *actionViewToggleAntiAlias;
-    QAction *actionViewToggleSmoothPixmapTransform;
-    QAction* actionViewCenter;
-
-    QAction* actionSettingsAutoEditNewBranch;
-    QAction* actionSettingsAutoSelectNewBranch;
-    QAction* actionSettingsAutoSelectText;
-    QAction* actionSettingsUseFlagGroups;
-    QAction* actionSettingsUseHideExport;
-    QAction* actionSettingsToggleAutosave;
-    QAction* actionSettingsAutosaveTime;
-    QAction* actionSettingsShowParentsLevelTasks;
-    QAction* actionSettingsShowParentsLevelFindResults;
-    QAction* actionSettingsToggleAutoLayout;
-    QAction* actionSettingsWriteBackupFile;
-    QAction* actionSettingsToggleDownloads;
-    QAction* actionSettingsUseAnimation;
-};
-
-
-#endif
-
diff --git a/mapeditor.cpp b/mapeditor.cpp
deleted file mode 100644 (file)
index 8f64910..0000000
+++ /dev/null
@@ -1,2126 +0,0 @@
-#include "mapeditor.h"
-
-#include <QGraphicsProxyWidget>
-#include <QMenuBar>
-#include <QObject>
-#include <QPrinter>
-#include <QPrintDialog>
-#include <QScrollBar>
-
-#include "branchitem.h"
-#include "geometry.h"
-#include "mainwindow.h"
-#include "misc.h"
-#include "shortcuts.h"
-#include "warningdialog.h"
-#include "xlinkitem.h"
-
-
-extern Main *mainWindow;
-extern QString tmpVymDir;
-extern QString clipboardDir;
-extern QString clipboardFile;
-extern bool clipboardEmpty;
-extern bool debug;
-extern QPrinter *printer;
-
-extern QMenu* branchContextMenu;
-extern QMenu* canvasContextMenu;
-extern QMenu* floatimageContextMenu;
-extern QMenu* taskContextMenu;
-
-extern Switchboard switchboard;
-extern Settings settings;
-
-extern QTextStream vout;
-
-///////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////
-MapEditor::MapEditor( VymModel *vm)    
-{
-    //qDebug() << "Constructor ME "<<this;
-
-    QString shortcutScope = tr("Map Editor","Shortcut scope");
-    mapScene= new QGraphicsScene(NULL);
-    mapScene->setBackgroundBrush (QBrush(Qt::white, Qt::SolidPattern));
-
-    zoomFactor=zoomFactorTarget=1;
-    angle=angleTarget=0;
-
-    model=vm;
-    model->registerEditor(this);
-    model->makeDefault();   // No changes in model so far
-
-    setScene (mapScene);
-
-    // Create bitmap cursors, platform dependant
-    HandOpenCursor=QCursor (QPixmap(":/cursorhandopen.png"),1,1);      
-    PickColorCursor=QCursor ( QPixmap(":/cursorcolorpicker.png"), 5,27 ); 
-    CopyCursor=QCursor ( QPixmap(":/cursorcopy.png"), 1,1 ); 
-    XLinkCursor=QCursor ( QPixmap(":/cursorxlink.png"), 1,7 ); 
-
-    editingBO=NULL;
-
-    printFrame=true;
-    printFooter=true;
-
-    setAcceptDrops (true);  
-
-    // Shortcuts and actions
-    QAction *a;
-
-    a = new QAction("Select upper branch", this);
-    a->setShortcut (Qt::Key_Up );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    connect( a, SIGNAL( triggered() ), this, SLOT( cursorUp() ) );
-    addAction (a);
-
-    a = new QAction( "Select lower branch",this);
-    a->setShortcut ( Qt::Key_Down );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( cursorDown() ) );
-
-    a = new QAction( "Select left branch", this);
-    a->setShortcut (Qt::Key_Left );
-//  a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( cursorLeft() ) );
-
-    a = new QAction( "Select child branch", this);
-    a->setShortcut (Qt::Key_Right);
-//  a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( cursorRight() ) );
-
-    a = new QAction(  "Select first branch", this);
-    a->setShortcut (Qt::Key_Home );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( cursorFirst() ) );
-
-    a = new QAction( "Select last branch",this);
-    a->setShortcut ( Qt::Key_End );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( cursorLast() ) );
-
-    // Action to embed LineEdit for heading in Scene
-    lineEdit=NULL;
-
-    a = new QAction( tr( "Edit heading","MapEditor" ), this);
-    a->setShortcut ( Qt::Key_Return );                 //Edit heading
-    a->setShortcutContext (Qt::WidgetShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editHeading() ) );
-    a = new QAction( tr( "Edit heading","MapEditor" ), this);
-    a->setShortcut ( Qt::Key_Enter);                   //Edit heading
-    a->setShortcutContext (Qt::WidgetShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editHeading() ) );
-
-    // Selections
-    selectionColor =QColor (255,255,0);
-    
-    // Panning 
-    panningTimer=new QTimer (this);
-    vPan=QPointF();
-    connect (panningTimer, SIGNAL (timeout()), this, SLOT (panView() ));
-
-    // Clone actions defined in MainWindow
-    foreach (QAction* qa, mainWindow->mapEditorActions)
-    {
-        a = new QAction( this );
-        a->setShortcut( qa->shortcut() );
-        a->setShortcutContext( qa->shortcutContext() );
-        connect( a, SIGNAL( triggered() ), qa, SLOT( trigger() ) );
-        addAction(a);
-    }
-
-    setState (Neutral);
-
-    // Attributes   //TODO  testing only...
-    QString k;
-    AttributeDef *ad;
-    attrTable= new AttributeTable();
-    k="A - StringList";
-    ad=attrTable->addKey (k,StringList);
-    if (ad)
-    {
-       QStringList sl;
-       sl <<"val 1"<<"val 2"<< "val 3";
-       ad->setValue (QVariant (sl));
-    }
-    //attrTable->addValue ("Key A","P 1");
-    //attrTable->addValue ("Key A","P 2");
-    //attrTable->addValue ("Key A","P 3");
-    //attrTable->addValue ("Key A","P 4");
-    k="B - FreeString";
-    ad=attrTable->addKey (k,FreeString);
-    if (ad)
-    {
-       //attrTable->addValue ("Key B","w1");
-       //attrTable->addValue ("Key B","w2");
-    }
-    k="C - UniqueString";
-    ad=attrTable->addKey (k,UniqueString);
-    if (ad)
-    {
-    //attrTable->addKey ("Key Prio");
-    //attrTable->addValue ("Key Prio","Prio 1");
-    //attrTable->addValue ("Key Prio","Prio 2");
-    }
-
-    winter=NULL;
-}
-
-MapEditor::~MapEditor()
-{
-    //qDebug ()<<"Destr MapEditor this="<<this;
-}
-
-VymModel* MapEditor::getModel()
-{
-    return model;
-}
-
-QGraphicsScene * MapEditor::getScene()
-{
-    return mapScene;
-}
-
-void MapEditor::panView()
-{
-    if (!vPan.isNull() ) 
-    {
-       // Scroll if needed
-       // To avoid jumping of the sceneView, only 
-       // show selection, if not tmp linked
-       qreal px=0;
-       qreal py=0;
-       if (vPan.x()<0) 
-           px=vPan.x();
-       else if (vPan.x()>0 )
-           px=width()+vPan.x();
-       if (vPan.y()<0) 
-           py=vPan.y();
-       else if (vPan.y()>0 ) 
-           py=height()+vPan.y();
-
-       QPointF q=mapToScene (QPoint(px,py));
-       QRectF r=QRectF (q,QPointF (q.x()+1,q.y()+1));
-
-       // Expand view if necessary
-       setScrollBarPosTarget (r);
-
-       // Stop possible other animations
-       if (scrollBarPosAnimation.state()==QAbstractAnimation::Running)
-           scrollBarPosAnimation.stop();
-
-       // Do linear animation
-       horizontalScrollBar()->setValue(horizontalScrollBar()->value() + vPan.x() );
-       verticalScrollBar()->setValue  (  verticalScrollBar()->value() + vPan.y() );
-
-       // Update currently moving object
-       moveObject ();
-    }
-}
-
-void MapEditor::scrollTo (const QModelIndex &index) 
-{
-    if (index.isValid())
-    {
-       LinkableMapObj* lmo=NULL;
-       TreeItem *ti= static_cast<TreeItem*>(index.internalPointer());
-       if (ti->getType()==TreeItem::Image ||ti->isBranchLikeType() )
-           lmo=((MapItem*)ti)->getLMO();
-       if (lmo) 
-       {
-           QRectF r=lmo->getBBox();
-           setScrollBarPosTarget (r);
-           animateScrollBars();
-       }   
-    }
-}
-
-void MapEditor::setScrollBarPosTarget (QRectF rect)
-{
-    // Expand viewport, if rect is not contained
-    if (!sceneRect().contains (rect) )
-       setSceneRect(sceneRect().united (rect));
-
-    int xmargin=0;
-    int ymargin=0;
-
-    // Prepare scrolling
-    qreal width = viewport()->width();
-    qreal height = viewport()->height();
-    QRectF viewRect = matrix().mapRect(rect);
-
-    qreal left = horizontalScrollBar()->value();
-    qreal right = left + width;
-    qreal top = verticalScrollBar()->value();
-    qreal bottom = top + height;
-
-    scrollBarPosTarget=getScrollBarPos();
-
-    if (viewRect.left() <= left + xmargin) {
-        // need to scroll from the left
-       scrollBarPosTarget.setX(int(viewRect.left() - xmargin - 0.5));
-    }
-    if (viewRect.right() >= right - xmargin) {
-        // need to scroll from the right
-       scrollBarPosTarget.setX(int(viewRect.right() - width + xmargin + 0.5));
-    }
-    if (viewRect.top() <= top + ymargin) {
-        // need to scroll from the top
-       scrollBarPosTarget.setY(int(viewRect.top() - ymargin - 0.5));
-    }
-    if (viewRect.bottom() >= bottom - ymargin) {
-        // need to scroll from the bottom
-       scrollBarPosTarget.setY(int(viewRect.bottom() - height + ymargin + 0.5));
-    }
-
-}
-
-QPointF MapEditor::getScrollBarPosTarget()
-{
-    return scrollBarPosTarget;
-}
-
-
-void MapEditor::setScrollBarPos(const QPointF &p)
-{
-    scrollBarPos=p;
-    horizontalScrollBar()->setValue(int(p.x()));
-    verticalScrollBar()->setValue(int(p.y()));
-}
-
-QPointF MapEditor::getScrollBarPos()
-{
-    return QPointF (horizontalScrollBar()->value(),verticalScrollBar()->value());
-    //return scrollBarPos;
-}
-
-void MapEditor::animateScrollBars()
-{
-    if (scrollBarPosAnimation.state()==QAbstractAnimation::Running)
-       scrollBarPosAnimation.stop();
-    
-    if (settings.value ("/animation/use/",true).toBool() )
-    {
-       scrollBarPosAnimation.setTargetObject (this);
-       scrollBarPosAnimation.setPropertyName ("scrollBarPos");
-       scrollBarPosAnimation.setDuration(settings.value("/animation/duration/scrollbar",2000).toInt() );
-       scrollBarPosAnimation.setEasingCurve ( QEasingCurve::OutQuint);
-       scrollBarPosAnimation.setStartValue(
-           QPointF (horizontalScrollBar()->value() ,
-                    verticalScrollBar()->value() ) );
-       scrollBarPosAnimation.setEndValue(scrollBarPosTarget);
-       scrollBarPosAnimation.start();
-    } else
-       setScrollBarPos (scrollBarPosTarget);
-}
-
-void MapEditor::setZoomFactorTarget (const qreal &zft)
-{
-    zoomFactorTarget=zft;
-    if (zoomAnimation.state()==QAbstractAnimation::Running)
-       zoomAnimation.stop();
-    if (settings.value ("/animation/use/",true).toBool() )
-    {
-       zoomAnimation.setTargetObject (this);
-       zoomAnimation.setPropertyName ("zoomFactor");
-       zoomAnimation.setDuration(settings.value("/animation/duration/zoom",2000).toInt() );
-       zoomAnimation.setEasingCurve ( QEasingCurve::OutQuint);
-       zoomAnimation.setStartValue(zoomFactor);
-       zoomAnimation.setEndValue(zft);
-       zoomAnimation.start();
-    } else
-       setZoomFactor (zft);
-}
-
-qreal MapEditor::getZoomFactorTarget()
-{
-    return zoomFactorTarget;
-}
-
-
-void MapEditor::setZoomFactor(const qreal &zf)
-{
-    zoomFactor=zf;
-    updateMatrix();
-}
-
-qreal MapEditor::getZoomFactor()
-{
-    return zoomFactor;
-}
-
-void MapEditor::setAngleTarget (const qreal &at)
-{
-    angleTarget=at;
-    if (rotationAnimation.state()==QAbstractAnimation::Running)
-       rotationAnimation.stop();
-    if (settings.value ("/animation/use/",true).toBool() )
-    {
-       rotationAnimation.setTargetObject (this);
-       rotationAnimation.setPropertyName ("angle");
-       rotationAnimation.setDuration(settings.value("/animation/duration/rotation",2000).toInt() );
-       rotationAnimation.setEasingCurve ( QEasingCurve::OutQuint);
-       rotationAnimation.setStartValue(angle);
-       rotationAnimation.setEndValue(at);
-       rotationAnimation.start();
-    } else
-       setAngle (angleTarget);
-}
-
-qreal MapEditor::getAngleTarget()
-{
-    return angleTarget;
-}
-
-
-void MapEditor::setAngle(const qreal &a)
-{
-    angle=a;
-    updateMatrix();
-}
-
-qreal MapEditor::getAngle()
-{
-    return angle;
-}
-
-void MapEditor::setViewCenterTarget (
-    const QPointF &p, 
-    const qreal &zft, 
-    const qreal &at,
-    const int duration,
-    const QEasingCurve &easingCurve)
-{
-    viewCenterTarget=p;
-    zoomFactorTarget=zft;
-    angleTarget=at;
-
-    viewCenter=mapToScene(viewport()->geometry()).boundingRect().center();
-
-    if (viewCenterAnimation.state()==QAbstractAnimation::Running)
-       viewCenterAnimation.stop();
-    if (rotationAnimation.state()==QAbstractAnimation::Running)
-       rotationAnimation.stop();
-    if (zoomAnimation.state()==QAbstractAnimation::Running)
-       zoomAnimation.stop();
-    
-    if (settings.value ("/animation/use/",true).toBool() )
-    {
-       viewCenterAnimation.setTargetObject (this);
-       viewCenterAnimation.setPropertyName ("viewCenter");
-       viewCenterAnimation.setDuration(
-           settings.value("/animation/duration/scrollbar",duration).toInt() );
-       viewCenterAnimation.setEasingCurve (easingCurve );
-       viewCenterAnimation.setStartValue( viewCenter );
-       viewCenterAnimation.setEndValue(viewCenterTarget);
-       viewCenterAnimation.start();
-
-       rotationAnimation.setTargetObject (this);
-       rotationAnimation.setPropertyName ("angle");
-       rotationAnimation.setDuration(settings.value("/animation/duration/rotation",duration).toInt() );
-       rotationAnimation.setEasingCurve ( easingCurve );
-       rotationAnimation.setStartValue(angle);
-       rotationAnimation.setEndValue(angleTarget);
-       rotationAnimation.start();
-
-       zoomAnimation.setTargetObject (this);
-       zoomAnimation.setPropertyName ("zoomFactor");
-       zoomAnimation.setDuration(settings.value("/animation/duration/zoom",duration).toInt() );
-       zoomAnimation.setEasingCurve ( easingCurve );
-       zoomAnimation.setStartValue(zoomFactor);
-       zoomAnimation.setEndValue(zoomFactorTarget);
-       zoomAnimation.start();
-
-    } else
-    {
-       setAngle (angleTarget);
-       setZoomFactor (zft);
-       setViewCenter (viewCenterTarget);
-    }
-}
-
-void MapEditor::setViewCenterTarget ()
-{
-    MapItem *selti=(MapItem*)(model->getSelectedItem() );
-    if (selti)
-    {
-       LinkableMapObj *lmo=selti->getLMO();
-       if (lmo)
-           setViewCenterTarget (lmo->getBBox().center(), 1, 0);
-    }
-}
-
-QPointF MapEditor::getViewCenterTarget ()
-{
-    return viewCenterTarget;
-}
-
-void MapEditor::setViewCenter (const QPointF &vc)
-{
-    centerOn (vc);
-}
-
-QPointF MapEditor::getViewCenter()
-{
-    return viewCenter;
-}
-
-void MapEditor::updateMatrix()
-{
-    double a    = M_PI/180 * angle;
-    double sina = sin((double)a);
-    double cosa = cos((double)a);
-
-    QMatrix zm(zoomFactor, 0, 0, zoomFactor, 0, 0);
-    //QMatrix translationMatrix(1, 0, 0, 1, 50.0, 50.0);
-    QMatrix rm(cosa, sina, -sina, cosa, 0, 0);
-    setMatrix (zm * rm);
-}
-
-void MapEditor::minimizeView()
-{
-    setSceneRect( scene()->itemsBoundingRect() );
-}
-
-void MapEditor::print()
-{
-    QRectF totalBBox=getTotalBBox();
-
-    // Try to set orientation automagically
-    // Note: Interpretation of generated postscript is amibiguous, if 
-    // there are problems with landscape mode, see
-    // http://sdb.suse.de/de/sdb/html/jsmeix_print-cups-landscape-81.html
-
-    if (totalBBox.width()>totalBBox.height())
-       // recommend landscape
-       printer->setOrientation (QPrinter::Landscape);
-    else    
-       // recommend portrait
-       printer->setOrientation (QPrinter::Portrait);
-
-    QPrintDialog dialog (printer, this);
-    dialog.setWindowTitle(tr("Print vym map","MapEditor")); 
-    if (dialog.exec() == QDialog::Accepted)
-    {
-       QPainter pp(printer);
-
-       pp.setRenderHint(QPainter::Antialiasing,true);
-
-       // Don't print the visualisation of selection
-       model->unselectAll();
-
-       QRectF mapRect=totalBBox;
-       QGraphicsRectItem *frame=NULL;
-
-       if (printFrame) 
-       {
-           // Print frame around map
-           mapRect.setRect (totalBBox.x()-10, totalBBox.y()-10, 
-               totalBBox.width()+20, totalBBox.height()+20);
-           frame=mapScene->addRect (mapRect, QPen(Qt::black),QBrush(Qt::NoBrush));
-           frame->setZValue(0);
-           frame->show();    
-       }       
-
-
-       double paperAspect = (double)printer->width()   / (double)printer->height();
-       double   mapAspect = (double)mapRect.width() / (double)mapRect.height();
-       int viewBottom;
-       if (mapAspect>=paperAspect)
-       {
-           // Fit horizontally to paper width
-           //pp.setViewport(0,0, printer->width(),(int)(printer->width()/mapAspect) ); 
-           viewBottom=(int)(printer->width()/mapAspect);   
-       }   else
-       {
-           // Fit vertically to paper height
-           //pp.setViewport(0,0,(int)(printer->height()*mapAspect),printer->height()); 
-           viewBottom=printer->height();   
-       }   
-       
-       if (printFooter) 
-       {
-           // Print footer below map
-           QFont font;     
-           font.setPointSize(10);
-           pp.setFont (font);
-           QRectF footerBox(0,viewBottom,printer->width(),15);
-           pp.drawText ( footerBox,Qt::AlignLeft,"VYM - " +model->getFileName());
-           pp.drawText ( footerBox, Qt::AlignRight, QDate::currentDate().toString(Qt::TextDate));
-       }
-       mapScene->render (
-           &pp, 
-           QRectF (0,0,printer->width(),printer->height()-15),
-           QRectF(mapRect.x(),mapRect.y(),mapRect.width(),mapRect.height())
-       );
-       
-       // Viewport has paper dimension
-       if (frame)  delete (frame);
-
-       // Restore selection
-       model->reselect();
-    }
-}
-
-QRectF MapEditor::getTotalBBox()  
-{                                  
-    minimizeView();
-    return sceneRect();
-}
-
-QImage MapEditor::getImage( QPointF &offset) 
-{
-    QRectF mapRect = getTotalBBox();   // minimized sceneRect
-    
-    int d = 10;        // border
-    offset = QPointF( mapRect.x() -d/2, mapRect.y() - d/2 );
-    QImage pix( mapRect.width() + d, mapRect.height() + d, QImage::Format_RGB32 );
-
-    QPainter pp (&pix);
-    pp.setRenderHints(renderHints());
-    mapScene->render ( &pp, 
-       // Destination:
-       QRectF( 0, 0, mapRect.width() + d, mapRect.height() + d ),   
-       // Source in scene:
-       QRectF( mapRect.x() - d/2, mapRect.y() -d/2, mapRect.width() + d, mapRect.height() + d));
-    return pix;
-}
-
-
-void MapEditor::setAntiAlias (bool b)
-{
-    setRenderHint(QPainter::Antialiasing,b);
-}
-
-void MapEditor::setSmoothPixmap(bool b)
-{
-    setRenderHint(QPainter::SmoothPixmapTransform,b);
-}
-
-void MapEditor::autoLayout()
-{
-    // Create list with all bounding polygons
-    QList <LinkableMapObj*> mapobjects;
-    QList <ConvexPolygon> polys; 
-    ConvexPolygon p;
-    QList <Vector> vectors;
-    QList <Vector> orgpos;
-    QStringList headings;   //FIXME-3 testing only
-    Vector v;
-    BranchItem *bi;
-    BranchItem *bi2;
-    BranchObj *bo;
-
-    // Outer loop: Iterate until we no more changes in orientation 
-    bool orientationChanged=true;
-    while (orientationChanged)
-    {
-       BranchItem *ri=model->getRootItem();
-       for (int i=0;i<ri->branchCount();++i)
-       {
-           bi=ri->getBranchNum (i);
-           bo=(BranchObj*)bi->getLMO();
-           if (bo)
-           {
-               mapobjects.append (bo);
-               p=bo->getBoundingPolygon();
-               p.calcCentroid();
-               polys.append(p);
-               vectors.append (QPointF(0,0));
-               orgpos.append (p.at(0));
-        headings.append (bi->getHeadingPlain());
-           }
-           for (int j=0;j<bi->branchCount();++j)
-           {
-               bi2=bi->getBranchNum (j);
-               bo=(BranchObj*)bi2->getLMO();
-               if (bo)
-               {
-                   mapobjects.append (bo);
-                   p=bo->getBoundingPolygon();
-                   p.calcCentroid();
-                   polys.append(p);
-                   vectors.append (QPointF(0,0));
-                   orgpos.append (p.at(0));
-            headings.append (bi2->getHeadingPlain());
-               }   
-           }
-       }
-
-       // Iterate moving bounding polygons until we have no more collisions
-       int collisions=1;
-       while (collisions>0)
-       {
-           collisions=0;
-           for (int i=0; i<polys.size()-1; ++i)
-           {
-               for (int j=i+1; j<polys.size();++j)
-               {
-                   if (polygonCollision (polys.at(i),polys.at(j), QPointF(0,0)).intersect )
-                   {
-                       collisions++;
-                       if (debug) qDebug() << "Collision: "<<headings[i]<<" - "<<headings[j];
-                       v=polys.at(j).centroid()-polys.at(i).centroid();
-                       v.normalize();
-                       // Add random direction, if only two polygons with identical y or x
-                       if (v.x()==0 || v.y()==0) 
-                       {
-                           Vector w (cos (double((int)rand()%1000)),sin(double((int)rand()%1000)));
-                           w.normalize();
-                           v=v+w;
-                       }
-                       
-                       // Scale translation vector by area of polygons
-                       vectors[j]=v*10000/polys.at(j).weight();        
-                       vectors[i]=v*10000/polys.at(i).weight();        
-                       vectors[i].invert();
-                       //FIXME-3 outer loop, "i" get's changed several times...
-                       // Better not move away from centroid of 2 colliding polys, 
-                       // but from centroid of _all_
-                   }  
-               }
-           }
-           for (int i=0;i<vectors.size();i++)
-           {
-               //qDebug() << " v="<<vectors[i]<<" "<<headings[i];
-               if (!vectors[i].isNull() )
-               polys[i].translate (vectors[i]);
-           }
-        // if (debug) qDebug()<< "Collisions total: "<<collisions;
-        // collisions=0;
-       }   
-
-       // Finally move the real objects and update 
-       QList <LinkableMapObj::Orientation> orients;
-       for (int i=0;i<polys.size();i++)
-       {
-           Vector v=polys[i].at(0)-orgpos[i];
-           orients.append (mapobjects[i]->getOrientation());
-           if (!v.isNull())
-           {
-               if (debug) qDebug()<<" Moving "<<polys.at(i).weight()<<" "<<mapobjects[i]->getAbsPos()<<" -> "<<mapobjects[i]->getAbsPos() + v<<"  "<<headings[i];
-               //mapobjects[i]->moveBy(v.x(),v.y() );
-               //mapobjects[i]->setRelPos();
-               model->startAnimation ((BranchObj*)mapobjects[i], v);
-               if (debug) qDebug()<<i<< " Weight: "<<polys.at(i).weight()<<" "<<v<<" "<<headings.at(i);
-           }
-       }   
-       /*
-       model->reposition();    
-       orientationChanged=false;
-       for (int i=0;i<polys.size();i++)
-           if (orients[i]!=mapobjects[i]->getOrientation())
-           {
-               orientationChanged=true;
-               break;
-           }
-       */
-    
-       break;
-
-       //orientationChanged=false;
-    } // loop if orientation has changed
-
-    model->emitSelectionChanged();
-}
-
-TreeItem* MapEditor::findMapItem (QPointF p,TreeItem *exclude)
-{
-    // Search XLinks
-    Link *link;
-    for (int i=0; i<model->xlinkCount(); i++ )
-    {
-       link=model->getXLinkNum(i);
-       if (link)
-       {
-           XLinkObj *xlo=link->getXLinkObj();
-           if (xlo && xlo->isInClickBox (p)) 
-            {
-                // Found XLink, now return the nearest XLinkItem of p
-                qreal d0=Geometry::distance(p, xlo->getBeginPos());
-                qreal d1=Geometry::distance(p, xlo->getEndPos());
-                if (d0>d1)
-                    return link->getBeginLinkItem();
-                else
-                    return link->getEndLinkItem();
-            }
-       }
-    }
-
-    // Search branches (and their childs, e.g. images
-    // Start with mapcenter, no images allowed at rootItem
-    int i=0;
-    BranchItem *bi=model->getRootItem()->getFirstBranch();
-    TreeItem *found=NULL;
-    while (bi)
-    {
-       found=bi->findMapItem (p, exclude);
-       if (found) return found;
-       i++;
-       bi=model->getRootItem()->getBranchNum(i);
-    }
-    return NULL;
-}
-
-AttributeTable* MapEditor::attributeTable()
-{
-    return attrTable;
-}
-
-void MapEditor::testFunction1()
-{
-}
-    
-void MapEditor::testFunction2()
-{
-    autoLayout();
-}
-
-#include "winter.h"
-void MapEditor::toggleWinter()
-{
-    if (winter)
-    {
-        delete winter;
-        winter=NULL;
-    } else
-    {
-        winter=new Winter (this);
-        QList <QRectF> obstacles;
-        BranchObj *bo;
-        BranchItem *cur=NULL;
-        BranchItem *prev=NULL;
-        model->nextBranch(cur,prev);
-        while (cur) 
-        {
-            if (!cur->hasHiddenExportParent())
-            {
-                // Branches
-                bo=(BranchObj*)(cur->getLMO());
-                if (bo && bo->isVisibleObj())
-                    obstacles.append(bo->getBBox());
-            }
-            model->nextBranch(cur,prev);
-        }
-        winter->setObstacles(obstacles);
-    }
-}
-    
-BranchItem* MapEditor::getBranchDirectAbove (BranchItem *bi)
-{
-    if (bi)
-    {
-       int i=bi->num();
-       if (i>0) return bi->parent()->getBranchNum(i-1);
-    }
-    return NULL;
-}
-
-BranchItem* MapEditor::getBranchAbove (BranchItem *selbi)
-{
-    if (selbi)
-    {
-       int dz=selbi->depth();  // original depth
-       bool invert=false;
-       if (selbi->getLMO()->getOrientation()==LinkableMapObj::LeftOfCenter)
-           invert=true;
-
-       BranchItem *bi;
-
-       // Look for branch with same parent but directly above
-       if (dz==1 && invert)
-           bi=getBranchDirectBelow(selbi);
-       else
-           bi=getBranchDirectAbove (selbi);
-
-       if (bi) 
-           // direct predecessor
-           return bi;
-
-       // Go towards center and look for predecessor
-       while (selbi->depth()>0)
-       {
-           selbi=(BranchItem*)(selbi->parent());
-           if (selbi->depth()==1 && invert)
-               bi=getBranchDirectBelow (selbi);
-           else
-               bi=getBranchDirectAbove (selbi);
-           if (bi)
-           {
-               // turn 
-               selbi=bi;
-               while (selbi->depth()<dz)
-               {
-                   // try to get back to original depth dz
-                   bi=selbi->getLastBranch();
-                   if (!bi) 
-                   {
-                       return selbi;
-                   }
-                   selbi=bi;
-               }
-               return selbi;
-           }
-       }
-    }
-    return NULL;
-}
-
-BranchItem* MapEditor::getBranchDirectBelow(BranchItem *bi)
-{
-    if (bi)
-    {
-       int i=bi->num();
-       if (i+1<bi->parent()->branchCount()) return bi->parent()->getBranchNum(i+1);
-    }
-    return NULL;
-}
-
-BranchItem* MapEditor::getBranchBelow (BranchItem *selbi)
-{
-    if (selbi)
-    {
-       BranchItem *bi;
-       int dz=selbi->depth();  // original depth
-       bool invert=false;
-       if (selbi->getLMO()->getOrientation()==LinkableMapObj::LeftOfCenter)
-           invert=true;
-
-
-       // Look for branch with same parent but directly below
-       if (dz==1 && invert)
-           bi=getBranchDirectAbove (selbi);
-       else
-           bi=getBranchDirectBelow (selbi);
-       if (bi) 
-           // direct successor
-           return bi;
-
-
-       // Go towards center and look for neighbour
-       while (selbi->depth()>0)
-       {
-           selbi=(BranchItem*)(selbi->parent());
-           if (selbi->depth()==1 && invert)
-               bi=getBranchDirectAbove (selbi);
-           else
-               bi=getBranchDirectBelow (selbi);
-           if (bi)
-           {
-               // turn 
-               selbi=bi;
-               while (selbi->depth()<dz)
-               {
-                   // try to get back to original depth dz
-                   bi=selbi->getFirstBranch();
-                   if (!bi) 
-                   {
-                       return selbi;
-                   }
-                   selbi=bi;
-               }
-               return selbi;
-           }
-       }
-    }
-    return NULL;
-}
-
-BranchItem* MapEditor::getLeftBranch (BranchItem *bi)  
-{
-    if (bi)
-    {
-       if (bi->depth()==0)
-       { 
-           // Special case: use alternative selection index
-           BranchItem *newbi=bi->getLastSelectedBranchAlt();  
-           if (!newbi)
-           {
-               BranchObj *bo;
-               // Try to find a mainbranch left of center
-               for (int i=0; i<bi->branchCount(); i++)
-               {
-                   newbi=bi->getBranchNum(i);
-                   bo=newbi->getBranchObj();
-                   if (bo && bo->getOrientation()==LinkableMapObj::LeftOfCenter)
-                       break;
-               }
-           }
-           return newbi;
-       }
-       if (bi->getBranchObj()->getOrientation()==LinkableMapObj::RightOfCenter)    
-           // right of center
-           return (BranchItem*)(bi->parent());
-       else
-           // left of center
-           if (bi->getType()== TreeItem::Branch )
-               return bi->getLastSelectedBranch();
-    }
-    return NULL;
-}
-
-BranchItem* MapEditor::getRightBranch(BranchItem *bi)
-{
-    if (bi)
-    {
-       if (bi->depth()==0)
-       {
-           // Special case: use alternative selection index
-           BranchItem *newbi=bi->getLastSelectedBranch();  
-           if (!newbi)
-           {
-               BranchObj *bo;
-               // Try to find a mainbranch right of center
-               for (int i=0; i<bi->branchCount(); i++)
-               {
-                   newbi=bi->getBranchNum(i);
-                   bo=newbi->getBranchObj();
-                   if (bo && bo->getOrientation()==LinkableMapObj::RightOfCenter)
-            qDebug()<<"BI found right: "<<newbi->getHeadingPlain();
-               }
-           }
-           return newbi;
-       }
-       if (bi->getBranchObj()->getOrientation()==LinkableMapObj::LeftOfCenter) 
-           // left of center
-           return (BranchItem*)(bi->parent());
-       else
-           // right of center
-           if (bi->getType()== TreeItem::Branch )
-               return (BranchItem*)bi->getLastSelectedBranch();
-    }
-    return NULL;
-}
-
-
-
-void MapEditor::cursorUp()
-{
-    if (state == MapEditor::EditingHeading) return;
-
-    BranchItem *bi=model->getSelectedBranch();
-    if (bi) model->select (getBranchAbove(bi));
-}
-
-void MapEditor::cursorDown()   
-
-{
-    if (state == MapEditor::EditingHeading) return;
-
-    BranchItem *bi=model->getSelectedBranch();
-    if (bi) model->select (getBranchBelow(bi));
-}
-
-void MapEditor::cursorLeft()
-{
-    BranchItem *bi=getLeftBranch (model->getSelectedBranch());
-    if (bi) model->select (bi);
-}
-
-void MapEditor::cursorRight()  
-{
-    BranchItem *bi=getRightBranch (model->getSelectedBranch());
-    if (bi) model->select (bi);
-}
-
-void MapEditor::cursorFirst()  
-{
-    model->selectFirstBranch();
-}
-
-void MapEditor::cursorLast()   
-{
-    model->selectLastBranch();
-}
-
-
-void MapEditor::editHeading()
-{
-    if (state==EditingHeading)
-    {
-        editHeadingFinished();
-        return;
-    }
-
-    BranchObj *bo=model->getSelectedBranchObj();
-    BranchItem *bi=model->getSelectedBranch();
-    if (bo && bo)
-    {
-        VymText heading = bi->getHeading();
-        if (heading.isRichText())
-        {
-            mainWindow->windowShowHeadingEditor();
-            return;
-        }
-        model->setSelectionBlocked(true);
-
-        lineEdit=new QLineEdit;
-        QGraphicsProxyWidget *pw=mapScene->addWidget (lineEdit);
-        pw->setZValue (Z_LINEEDIT);
-        lineEdit->setCursor(Qt::IBeamCursor);
-        lineEdit->setCursorPosition(1);
-
-        QPointF tl=bo->getOrnamentsBBox().topLeft();
-        QPointF br=tl + QPointF (230,30);
-        QRectF r (tl, br);
-        lineEdit->setGeometry(r.toRect() );
-
-        setScrollBarPosTarget ( r );
-        scene()->update();
-
-        // Set focus to MapEditor first
-        // To avoid problems with Cursor up/down
-        setFocus();
-
-        animateScrollBars();
-        lineEdit->setText (heading.getTextASCII() );
-        lineEdit->setFocus();
-        lineEdit->selectAll(); // Hack to enable cursor in lineEdit
-        lineEdit->deselect();  // probably a Qt bug...
-        setState (EditingHeading);
-    }
-}
-
-void MapEditor::editHeadingFinished()
-{
-    setState (Neutral);
-    //lineEdit->releaseKeyboard();
-    lineEdit->clearFocus();
-    QString s=lineEdit->text();
-    s.replace (QRegExp ("\\n")," ");   // Don't paste newline chars
-    model->setHeadingPlainText (s);
-    model->setSelectionBlocked(false);
-    delete (lineEdit);
-    lineEdit=NULL;
-
-    animateScrollBars();
-
-    // Maybe reselect previous branch 
-    mainWindow->editHeadingFinished (model);
-
-    //Autolayout to avoid overlapping branches with longer headings
-    if (settings.value("/mainwindow/autoLayout/use","true")=="true")
-       autoLayout();
-}
-
-
-void MapEditor::contextMenuEvent ( QContextMenuEvent * e )
-{
-    // Lineedits are already closed by preceding
-    // mouseEvent, we don't need to close here.
-
-    QPointF p = mapToScene(e->pos());
-    TreeItem *ti=findMapItem (p, NULL);        
-    
-    if (ti) 
-    {  // MapObj was found
-       model->select (ti);
-
-       LinkableMapObj* lmo=NULL;
-       BranchItem* selbi=model->getSelectedBranch();
-       if (ti) lmo=((MapItem*)ti)->getLMO();
-
-       // Context Menu 
-       if (lmo && selbi )
-       {
-           QString foname=((BranchObj*)lmo)->getSystemFlagName(p);
-           if (foname.startsWith ("system-task")) 
-               taskContextMenu->popup (e->globalPos() );
-           else        
-               // Context Menu on branch or mapcenter
-               branchContextMenu->popup(e->globalPos() );
-       } else
-       {
-           if (model->getSelectedImage() )
-           {
-               // Context Menu on floatimage
-               floatimageContextMenu->popup(e->globalPos() );
-           } else
-           {
-               if (model->getSelectedXLink() )
-                   // Context Menu on XLink
-                   model->editXLink();
-           }
-       }   
-    } else 
-    { // No MapObj found, we are on the Canvas itself
-       // Context Menu on scene
-       
-       // Open context menu synchronously to position new mapcenter
-       model->setContextPos (p);
-       canvasContextMenu->exec(e->globalPos() );
-       model->unsetContextPos ();
-    } 
-    e->accept();
-}
-
-void MapEditor::keyPressEvent(QKeyEvent* e)
-{
-    if (e->key()==Qt::Key_PageUp || e->key()==Qt::Key_PageDown)
-       // Ignore PageUP/Down to avoid scrolling with keys
-       return;
-
-    if (e->modifiers() & Qt::ShiftModifier)
-    {
-       switch (mainWindow->getModMode())
-       {
-           case Main::ModModeColor: 
-               setCursor (PickColorCursor);
-               break;
-           case Main::ModModeCopy: 
-               setCursor (CopyCursor);
-               break;
-           case Main::ModModeXLink: 
-               setCursor (XLinkCursor);
-               break;
-           default :
-               setCursor (Qt::ArrowCursor);
-               break;
-       } 
-    }  
-    QGraphicsView::keyPressEvent(e); 
-}
-
-void MapEditor::keyReleaseEvent(QKeyEvent* e)
-{
-    if (!(e->modifiers() & Qt::ControlModifier))
-       setCursor (Qt::ArrowCursor);
-}
-
-void MapEditor::mousePressEvent(QMouseEvent* e)        
-{
-    // Ignore right clicks or wile editing heading
-    if (e->button() == Qt::RightButton || model->isSelectionBlocked() )
-    {
-       e->ignore();
-       QGraphicsView::mousePressEvent(e);
-       return;
-    }
-
-    // Check if we need to reset zoomFactor
-    if (e->button() == Qt::MidButton && e->modifiers() & Qt::ControlModifier )
-    {
-       setZoomFactorTarget (1);
-       setAngleTarget (0);
-       return;
-    }
-
-    QPointF p = mapToScene(e->pos());
-    TreeItem *ti=findMapItem (p, NULL);
-    LinkableMapObj* lmo=NULL;
-    if (ti) lmo=((MapItem*)ti)->getLMO();
-
-    QString sysFlagName;
-    if (lmo) sysFlagName=((BranchObj*)lmo)->getSystemFlagName(p);
-    
-    /*
-    qDebug() << "ME::mouse pressed\n";
-    qDebug() << "  lmo="<<lmo;
-    qDebug() << "   ti="<<ti;
-    if (ti) qDebug() << "   ti="<<ti->getHeading();
-    qDebug() << " flag="<<sysFlagName;
-    */
-    
-    // Check PickColor modifier (before selecting object!) 
-    if (ti && (e->modifiers() & Qt::ShiftModifier) &&
-       mainWindow->getModMode()==Main::ModModeColor)
-    {
-       setState (PickingColor);
-       mainWindow->setCurrentColor (ti->getHeadingColor() );
-       if ((e->modifiers() & Qt::ShiftModifier) && (e->modifiers() & Qt::ControlModifier) )
-           model->colorBranch(ti->getHeadingColor());
-       else    
-           model->colorSubtree(ti->getHeadingColor());
-       return;
-    }  
-
-    // Check vymlink  modifier (before selecting object!) 
-    if (ti && sysFlagName=="system-vymLink")
-    {
-        model->select(ti);
-        if (e->modifiers() & Qt::ControlModifier)
-            mainWindow->editOpenVymLink(true);
-        else
-            mainWindow->editOpenVymLink(false);
-        return;
-    }
-    
-    // Select the clicked object 
-    if (ti && e->modifiers() & Qt::ControlModifier)
-       model->selectToggle (ti);
-    else
-       model->select (ti);
-
-    e->accept();
-
-    //Take care of  remaining system flags _or_ modifier modes
-    if (lmo )
-    {
-       if (!sysFlagName.isEmpty())
-       {
-           // systemFlag clicked
-           if (sysFlagName.contains("system-url")) 
-           {
-               if (e->modifiers() & Qt::ControlModifier)
-                   mainWindow->editOpenURLTab();
-               else    
-                   mainWindow->editOpenURL();
-           }   
-           else if (sysFlagName=="system-vymLink")
-           {
-               if (e->modifiers() & Qt::ControlModifier)
-                   mainWindow->editOpenVymLink(true);
-                else
-                   mainWindow->editOpenVymLink(false);
-               // tabWidget may change, better return now
-               // before segfaulting...
-           } else if (sysFlagName=="system-note")      
-               mainWindow->windowToggleNoteEditor();
-           else if (sysFlagName=="hideInExport")           
-               model->toggleHideExport();
-           else if (sysFlagName.startsWith("system-task-") )
-               model->cycleTaskStatus();
-           return; 
-       } else
-       {
-           // Take care of xLink: Open context menu with targets
-           // if clicked near to begin of xlink
-           if (ti->xlinkCount()>0 && ti->getType() != TreeItem::MapCenter && lmo->getBBox().width()>30)
-           {
-               if ((lmo->getOrientation()!=LinkableMapObj::RightOfCenter && p.x() < lmo->getBBox().left()+10)  ||
-                   (lmo->getOrientation()!=LinkableMapObj::LeftOfCenter && p.x() > lmo->getBBox().right()-10) ) 
-               {
-                   //FIXME-4 similar code in mainwindow::updateActions
-                   QMenu menu;
-                   QList <QAction*> alist;
-                   QList <BranchItem*> blist;
-                   for (int i=0;i<ti->xlinkCount();i++)
-                   {
-                       XLinkItem *xli=ti->getXLinkItemNum(i);
-                       BranchItem *bit=xli->getPartnerBranch();
-                       if (bit) alist.append (new QAction(ti->getXLinkItemNum(i)->getPartnerBranch()->getHeadingPlain(),&menu));
-                   }   
-                   menu.addActions (alist);    
-                   QAction *ra=menu.exec (e->globalPos() );
-                   if (ra)
-                       model->select (blist.at( alist.indexOf(ra)));
-                   while (!alist.isEmpty())
-                   {
-                       QAction *a=alist.takeFirst();
-                       delete a;
-                   }   
-                   return;
-               }   
-           }
-       }
-    }  
-
-    // XLink modifier, create new XLink 
-    BranchItem* selbi = model->getSelectedBranch();
-    if (selbi &&
-        mainWindow->getModMode()==Main::ModModeXLink &&
-        (e->modifiers() & Qt::ShiftModifier))
-    {   
-       setState (DrawingLink);
-       tmpLink=new Link (model);
-       tmpLink->setBeginBranch (selbi);
-       tmpLink->createMapObj();
-        tmpLink->setStyleBegin("None");
-        tmpLink->setStyleEnd("None");
-       tmpLink->setEndPoint ( mapToScene (e->pos() ) );
-       tmpLink->updateLink();
-       return;
-    }
-
-    // Start moving around
-    if (lmo) 
-    {  
-       // Left Button      Move Branches
-       if (e->button() == Qt::LeftButton )
-       {
-           // No system flag clicked, take care of moving copymodes or simply moving
-           movingObj_offset.setX( p.x() - lmo->x() );  
-           movingObj_offset.setY( p.y() - lmo->y() );  
-           movingObj_orgPos.setX (lmo->x() );
-           movingObj_orgPos.setY (lmo->y() );
-           if (ti->depth()>0)
-           {
-               lmo->setRelPos();   
-               movingObj_orgRelPos=lmo->getRelPos();
-           }
-
-           // If modMode==copy, then we want to "move" the _new_ object around
-           // then we need the offset from p to the _old_ selection, because of tmp
-           if (mainWindow->getModMode()==Main::ModModeCopy &&
-               e->modifiers() & Qt::ShiftModifier)
-           {
-               if (selbi)
-               {
-                   setState (CopyingObject);
-                   model->copy();
-                   model->paste();
-                   model->select (selbi->getLastBranch());
-                   model->reposition();
-               }
-           } else
-               setState (MovingObject);
-
-           movingObj=model->getSelectedLMO();  
-       } else
-           // Middle Button    Toggle Scroll
-           // (On Mac OS X this won't work, but we still have 
-           // a button in the toolbar)
-           if (e->button() == Qt::MidButton )
-               model->toggleScroll();
-    } else 
-    {  // No lmo found, check XLinks
-       if (ti)
-       {
-           if (ti->getType()==TreeItem::XLink)
-           {
-               XLinkObj* xlo=(XLinkObj*) ((MapItem*)ti)->getMO() ;
-               if (xlo)
-               {
-                   setState (EditingLink);
-                   int i=xlo->ctrlPointInClickBox(p);
-                   if (i>=0) xlo->setSelection (i);
-                    movingObj_offset.setX( p.x() - xlo->x() ); 
-                    movingObj_offset.setY( p.y() - xlo->y() ); 
-                    movingObj_orgPos.setX (xlo->x() );
-                    movingObj_orgPos.setY (xlo->y() );
-
-               }
-           }
-       }
-       else    
-       { // No MapObj found, we are on the scene itself
-           // Left Button          move Pos of sceneView
-           if (e->button() == Qt::LeftButton )
-           {
-               setState (MovingView);
-               movingObj=NULL; // move Content not Obj
-               movingObj_offset=e->globalPos();
-               movingCont_start=QPointF (
-                   horizontalScrollBar()->value(),
-                   verticalScrollBar()->value());
-               movingVec=QPointF(0,0);
-               setCursor(HandOpenCursor);
-           } 
-       } 
-    }
-}
-
-void MapEditor::mouseMoveEvent(QMouseEvent* e)  
-{
-    // Show mouse position for debugging in statusBar
-    if (debug && e->modifiers() & Qt::ControlModifier )
-       mainWindow->statusMessage(
-            QString("ME::mousePressEvent  Scene: %1  widget: %2").
-            arg(qpointFToString(mapToScene (e->pos()))).
-            arg(qpointFToString(e->pos())));
-
-    TreeItem *seli=model->getSelectedItem();
-
-    MapObj* mosel=NULL;    
-    if (seli )
-       mosel=((MapItem*)seli)->getMO();
-
-    // Move the selected MapObj
-    if ( mosel && (state==MovingObject || state==CopyingObject || state==EditingLink)) 
-    {  
-       int margin=50;
-
-       // Check if we have to scroll
-       vPan.setX(0);
-       vPan.setY(0);
-       if (e->y() >=0 && e->y() <= margin)
-           vPan.setY( e->y() - margin );
-       else if ( e->y() <= height() && e->y() > height()-margin )
-           vPan.setY(e->y() - height() + margin );
-       if ( e->x() >=0 && e->x() <= margin)
-           vPan.setX( e->x() - margin );
-       else if ( e->x() <= width() && e->x() > width()-margin )
-           vPan.setX(e->x() - width() + margin );
-
-       pointerPos=e->pos();
-       pointerMod=e->modifiers();
-       moveObject ();
-    } // selection && moving_obj
-       
-    // Draw a link from one branch to another
-    if (state==DrawingLink)
-    {
-       tmpLink->setEndPoint ( mapToScene (e->pos() ) );
-       tmpLink->updateLink();
-    }   
-    
-    // Move sceneView 
-    if (state==MovingView && e->buttons() == Qt::LeftButton ) 
-    {
-       QPointF p=e->globalPos();
-       movingVec.setX(-p.x() + movingObj_offset.x() );
-       movingVec.setY(-p.y() + movingObj_offset.y() );
-       horizontalScrollBar()->setSliderPosition((int)( movingCont_start.x()+movingVec.x() ));
-       verticalScrollBar()->setSliderPosition((int)( movingCont_start.y()+movingVec.y() ) );
-       scrollBarPosAnimation.stop();   // Avoid flickering
-    }
-}
-
-void MapEditor::moveObject ()  
-{
-    if (!panningTimer->isActive() )
-       panningTimer->start(50);
-
-    QPointF p = mapToScene(pointerPos);
-    TreeItem *seli=model->getSelectedItem();
-    LinkableMapObj* lmosel=NULL;    
-    if (seli)
-       lmosel=((MapItem*)seli)->getLMO();
-
-    objectMoved=true;
-    // reset cursor if we are moving and don't copy
-    if (mainWindow->getModMode()!=Main::ModModeCopy)
-       setCursor (Qt::ArrowCursor);
-
-    // Check if we could link 
-    TreeItem *ti=findMapItem (p, seli);
-    BranchItem *dsti=NULL;
-    LinkableMapObj* dst=NULL;
-    if (ti && ti!=seli && ti->isBranchLikeType())
-    {
-       dsti=(BranchItem*)ti;
-       dst=dsti->getLMO(); 
-    } else
-       dsti=NULL;
-    
-    if (lmosel)
-    {
-       if (seli->getType()==TreeItem::Image)
-       {
-           FloatImageObj *fio=(FloatImageObj*)lmosel;
-           fio->moveCenter   (p.x() - movingObj_offset.x(), p.y() - movingObj_offset.y() );    
-           fio->setRelPos();
-           fio->updateLinkGeometry(); //no need for reposition, if we update link here
-            model->emitSelectionChanged();  // position has changed
-
-           // Relink float to new mapcenter or branch, if shift is pressed 
-           // Only relink, if selection really has a new parent
-           if ( pointerMod==Qt::ShiftModifier && dsti &&  dsti != seli->parent()  )
-           {
-               // Also save the move which was done so far
-               QString pold=qpointFToString(movingObj_orgRelPos);
-               QString pnow=qpointFToString(fio->getRelPos());
-               model->saveState(
-                   seli,
-                   "moveRel "+pold,
-                   seli,
-                   "moveRel "+pnow,
-                   QString("Move %1 to relative position %2").arg(model->getObjectName(lmosel)).arg(pnow));
-               model->reposition();
-
-               model->relinkImage ((ImageItem*) seli,dsti);
-               model->select (seli);
-           }
-       } else  if (seli->isBranchLikeType() )
-       {   // selection != a FloatObj  
-           if (seli->depth()==0)       
-           {
-               // Move mapcenter
-               lmosel->move   (p-movingObj_offset);    
-               if (pointerMod==Qt::ShiftModifier) 
-               {
-                   // Move only mapcenter, leave its children where they are
-                   QPointF v;
-                   v=lmosel->getAbsPos();
-                   for (int i=0; i<seli->branchCount(); ++i)
-                   {
-                       seli->getBranchObjNum(i)->setRelPos();
-                       seli->getBranchObjNum(i)->setOrientation();
-                   }
-               } 
-           } else
-           {   
-               if (seli->depth()==1)
-               {
-                   // Move mainbranch
-                   if (!lmosel->hasParObjTmp())
-                       lmosel->move(p-movingObj_offset);       
-                   lmosel->setRelPos();
-               } else
-               {
-                   // d>1, move ordinary branch
-                   if (lmosel->getOrientation() == LinkableMapObj::LeftOfCenter)
-                       // Add width of bbox here, otherwise alignRelTo will cause jumping around
-                       lmosel->move(
-                           p.x()  - movingObj_offset.x(), 
-                           p.y()  - movingObj_offset.y() + lmosel->getTopPad() );          
-                   else    
-                       lmosel->move(p.x() - movingObj_offset.x(), p.y() - movingObj_offset.y() - lmosel->getTopPad());
-                    BranchItem *selbi = ((BranchItem*)seli);
-                    if ( selbi->parentBranch()->getChildrenLayout() == BranchItem::FreePositioning) lmosel->setRelPos();
-               } 
-
-           } // depth>0
-
-           // Maybe we can relink temporary?
-           if (dsti)
-           {
-               if (pointerMod==Qt::ControlModifier)
-               {
-                   // Special case: CTRL to link below dst
-                   lmosel->setParObjTmp (dst,p,+1);
-               } else if (pointerMod==Qt::ShiftModifier)
-                   lmosel->setParObjTmp (dst,p,-1);
-               else
-                   lmosel->setParObjTmp (dst,p,0);
-           } else  
-               lmosel->unsetParObjTmp();
-
-           // reposition subbranch
-           lmosel->reposition();
-
-           QItemSelection sel=model->getSelectionModel()->selection();
-           updateSelection(sel,sel);   // position has changed
-
-            // In winter mode shake snow from heading
-            if (winter) model->emitDataChanged(seli);
-       } // Moving branchLikeType 
-    } // End of lmosel!=NULL
-    else if (seli && seli->getType()==TreeItem::XLink)
-    {
-       // Move XLink control point
-       MapObj* mosel=((MapItem*)seli)->getMO();
-       if (mosel) 
-       {
-           mosel->move( p-movingObj_offset );  // FIXME-3 Missing savestate 
-            model->setChanged();
-           model->emitSelectionChanged();
-       }
-    } else
-       qWarning("ME::moveObject  Huh? I'm confused.");
-
-    scene()->update();
-
-    return;
-}
-
-void MapEditor::mouseReleaseEvent(QMouseEvent* e)
-{
-    QPointF p = mapToScene(e->pos());
-    TreeItem *seli=model->getSelectedItem();
-
-    TreeItem *dsti=NULL;
-    if (seli) dsti=findMapItem(p, seli);
-    LinkableMapObj* dst=NULL;
-    BranchItem *selbi=model->getSelectedBranch();
-    if (dsti && dsti->isBranchLikeType ()) 
-       dst=((MapItem*)dsti)->getLMO(); 
-    else
-       dsti=NULL;
-
-
-    // Have we been picking color?
-    if (state==PickingColor)
-    {
-       setCursor (Qt::ArrowCursor);
-       // Check if we are over another branch
-       if (dst) 
-       {   
-           if (e->modifiers() & Qt::ShiftModifier)
-               model->colorBranch (mainWindow->getCurrentColor());
-           else    
-               model->colorSubtree (mainWindow->getCurrentColor());
-       } 
-       setState (Neutral);
-       return;
-    }
-
-    // Have we been drawing a link?
-    if (state==DrawingLink)    
-    {
-       setState (Neutral);
-       // Check if we are over another branch
-       if (dsti)
-       {   
-           tmpLink->setEndBranch ( ((BranchItem*)dsti) );
-            tmpLink->activate();
-           tmpLink->updateLink();
-           if (model->createLink (tmpLink) )
-           {
-               model->saveState(       
-                   tmpLink->getBeginLinkItem(),"delete ()",
-                   seli,QString("addXLink (\"%1\",\"%2\",%3,\"%4\")")
-                       .arg(model->getSelectString(tmpLink->getBeginBranch()))
-                       .arg(model->getSelectString(tmpLink->getEndBranch()))
-                       .arg(tmpLink->getPen().width())
-                       .arg(tmpLink->getPen().color().name()),
-                   QString("Adding Link from %1 to %2").arg(model->getObjectName(seli)).arg(model->getObjectName (dsti)));     
-               return;
-           }
-       } 
-       delete (tmpLink);
-       tmpLink=NULL;
-       return;
-    }
-    
-    // Have we been moving something?
-    if ( seli && state==MovingObject) 
-    {  
-       panningTimer->stop();
-       if (seli->getType()==TreeItem::Image)
-       {
-           FloatImageObj *fio=(FloatImageObj*)( ((MapItem*)seli)->getLMO());
-           if(fio)
-           {
-               // Moved Image, we need to reposition
-               QString pold=qpointFToString(movingObj_orgRelPos);
-               QString pnow=qpointFToString(fio->getRelPos());
-               model->saveState(
-                   seli,
-                   "moveRel " + pold,
-                   seli,
-                   "moveRel " + pnow,
-                   QString("Move %1 to relative position %2").arg(model->getObjectName(seli)).arg(pnow));
-
-                model->emitDataChanged(seli->parent()); // Parent of image has changed
-               model->reposition();
-           }   
-       }
-
-       if (selbi && selbi->depth()==0)
-       {   
-            if (movingObj_orgPos != selbi->getBranchObj()->getAbsPos())        
-            {
-                QString pold=qpointFToString(movingObj_orgPos);
-                QString pnow=qpointFToString(selbi->getBranchObj()->getAbsPos());      
-
-                model->saveState(
-                    selbi,
-                    "move "+pold,
-                    selbi,
-                    "move "+pnow,
-                    QString("Move mapcenter %1 to position %2").arg(model->getObjectName(selbi)).arg(pnow));
-            }
-       }
-    
-       if (seli->isBranchLikeType() ) //(seli->getType() == TreeItem::Branch )
-       {   // A branch was moved
-           LinkableMapObj* lmosel=NULL;        
-           lmosel=((MapItem*)seli)->getLMO();
-               
-           // save the position in case we link to mapcenter
-           QPointF savePos=QPointF (lmosel->getAbsPos()  );
-
-           // Reset the temporary drawn link to the original one
-           lmosel->unsetParObjTmp();
-
-           // For Redo we may need to save original selection
-           QString preSelStr=model->getSelectString(seli);
-
-           if (dsti && objectMoved)
-           {
-               // We have a destination, relink to that
-               BranchObj* selbo=model->getSelectedBranchObj();
-
-               QString preParStr=model->getSelectString (seli->parent() );
-               QString preNum=QString::number (seli->num(),10);
-               QString preDstParStr;
-
-               if (e->modifiers() & Qt::ShiftModifier && dsti->parent() )
-               {   // Link above dst   
-                   preDstParStr=model->getSelectString (dsti->parent() );
-                   model->relinkBranch (
-                       (BranchItem*)seli,
-                       (BranchItem*)dsti->parent(),
-                       ((BranchItem*)dsti)->num(),
-                       true);
-               } else 
-               if (e->modifiers() & Qt::ControlModifier && dsti->parent() )
-               {
-                   // Link below dst   
-                   preDstParStr=model->getSelectString (dsti->parent() );
-                   model->relinkBranch (
-                       (BranchItem*)seli,
-                       (BranchItem*)dsti->parent(),
-                       ((BranchItem*)dsti)->num()+1,
-                       true);
-               } else  
-               {   // Append to dst
-                   preDstParStr=model->getSelectString(dsti);
-                   model->relinkBranch (
-                       (BranchItem*)seli,
-                       (BranchItem*)dsti,
-                       -1,
-                       true,
-                       movingObj_orgPos);
-                   if (dsti->depth()==0) selbo->move (savePos);
-               } 
-           } else
-           {
-               // No destination, undo  temporary move 
-
-               if (seli->depth()==1)
-               {
-                   // The select string might be different _after_ moving around.
-                   // Therefor reposition and then use string of old selection, too
-                   model->reposition();
-
-                    QPointF rp(lmosel->getRelPos());
-                    if (rp != movingObj_orgRelPos)
-                    {
-                        QString ps=qpointFToString(rp);
-                        model->saveState(
-                            model->getSelectString(lmosel), "moveRel "+qpointFToString(movingObj_orgRelPos), 
-                            preSelStr, "moveRel "+ps, 
-                            QString("Move %1 to relative position %2").arg(model->getObjectName(lmosel)).arg(ps));
-                    }
-               }
-
-        if (selbi->parentBranch()->getChildrenLayout() == BranchItem::FreePositioning)
-        {
-            lmosel->setRelPos();
-            model->reposition();
-        }else
-        {
-
-
-            // Draw the original link, before selection was moved around
-            if (settings.value("/animation/use",true).toBool()
-                    && seli->depth()>1
-                    //             && distance (lmosel->getRelPos(),movingObj_orgRelPos)<3
-                    )
-            {
-                lmosel->setRelPos();    // calc relPos first for starting point
-
-                model->startAnimation(
-                            (BranchObj*)lmosel,
-                            lmosel->getRelPos(),
-                            movingObj_orgRelPos
-                            );
-            } else
-                model->reposition();
-        }
-        }
-    }
-       // Finally resize scene, if needed
-       scene()->update();
-       movingObj=NULL;     
-       objectMoved=false;
-       vPan=QPoint ();
-    } else 
-       // maybe we moved View: set old cursor
-       setCursor (Qt::ArrowCursor);
-
-    if (state!=EditingHeading) setState (Neutral);   // Continue editing after double click!
-
-    QGraphicsView::mouseReleaseEvent(e);
-}
-
-void MapEditor::mouseDoubleClickEvent(QMouseEvent* e)
-{
-    if (e->button() == Qt::LeftButton )
-    {
-       QPointF p = mapToScene(e->pos());
-       TreeItem *ti=findMapItem (p, NULL);
-       LinkableMapObj *lmo;
-       if (ti) 
-       {   
-            if (state==EditingHeading) editHeadingFinished();
-           model->select (ti);
-           BranchItem* selbi=model->getSelectedBranch();
-           if (selbi)
-           {
-               lmo=((MapItem*)ti)->getLMO();
-               QString foname=((BranchObj*)lmo)->getSystemFlagName(p);
-               if (!foname.isEmpty()) return;  // Don't edit heading when double clicking system flag
-
-           }
-           e->accept();
-           editHeading();
-       }
-    }
-}
-
-void MapEditor::wheelEvent(QWheelEvent* e)
-{
-    if (e->modifiers() & Qt::ControlModifier && e->orientation()==Qt::Vertical)
-    {
-       if (e->delta()>0)
-           setZoomFactorTarget (zoomFactorTarget*1.15);
-       else    
-           setZoomFactorTarget (zoomFactorTarget*0.85);
-    } else     
-    {
-       scrollBarPosAnimation.stop();
-       QGraphicsView::wheelEvent (e);
-    }
-}
-
-void MapEditor::focusOutEvent (QFocusEvent*)
-{
-    //qDebug()<<"ME::focusOutEvent"<<e->reason();
-    if (state==EditingHeading) editHeadingFinished();
-}
-
-void MapEditor::resizeEvent (QResizeEvent* e)
-{
-    QGraphicsView::resizeEvent( e );
-}
-
-void MapEditor::dragEnterEvent(QDragEnterEvent *event)
-{
-    //for (unsigned int i=0;event->format(i);i++) // Debug mime type
-    // cerr << event->format(i) << endl;
-
-    if (event->mimeData()->hasImage())
-       event->acceptProposedAction();
-    else    
-       if (event->mimeData()->hasUrls())
-           event->acceptProposedAction();
-}
-
-void MapEditor::dragMoveEvent(QDragMoveEvent *)
-{
-}
-
-void MapEditor::dragLeaveEvent(QDragLeaveEvent *event)
-{
-    event->accept();
-}
-
-void MapEditor::dropEvent(QDropEvent *event)
-{
-    BranchItem *selbi=model->getSelectedBranch();
-    if (selbi)
-    {
-        if (debug)
-        {
-            foreach (QString format,event->mimeData()->formats())
-                qDebug()<< "MapEditor: Dropped format: "<<qPrintable (format);
-            foreach (QUrl url,event->mimeData()->urls())
-            {
-                qDebug()<< "  URL-path:" <<url.path();
-                qDebug()<< "URL-string:" <<url.toString();
-                qDebug()<< "       enc:" <<url.toEncoded();
-                qDebug()<< "     valid:" <<url.isValid();
-            }
-            qDebug()    << "============== mimeData ===================";
-            qDebug()    << "has-img : " << event->mimeData()->hasImage();
-            qDebug()    << "has-urls: " << event->mimeData()->hasUrls();
-            qDebug()    << "    text: " << event->mimeData()->text();
-            qDebug()    << "===========================================";
-        }
-
-        if (event->mimeData()->hasUrls())
-        {
-            // Try text representation first, which works on windows, but in 
-            // Linux only for https, not local images
-            QString url = event->mimeData()->text();
-            if (url.isEmpty() )
-            {
-                QByteArray ba = event->mimeData()->urls().first().path().toLatin1();
-                QByteArray ba2;
-                for (int i = 0; i < ba.count(); i++)
-                    if (ba.at(i) != 0) ba2.append(ba.at(i));
-                url = ba2;
-            }
-
-
-            BranchItem *bi = NULL;
-            // Workaround to avoid adding empty branches
-            if (!url.isEmpty())
-            {
-                if (url.startsWith("file://")) url.remove(0,7);
-
-#if defined(Q_OS_WIN32)
-                if (url.startsWith("/")) url.remove(0,1);
-#endif
-                if (isImage (url))
-                {
-                    if (debug) qDebug() << "dropped url seems to be image: " << url;
-                    // Image, try to download or set image from local file
-                    //model->downloadImage (url);
-                    model->loadImage(bi, url);
-                    if (debug) qDebug() << "finished loading image";
-                } else
-                {
-                    bi = model->addNewBranch();
-                    if (bi)
-                    {
-                        model->select(bi);
-                        if (url.endsWith(".vym", Qt::CaseInsensitive))
-                            model->setVymLink(url);
-                        else
-                        {
-                            model->setURL(url);
-                            model->setHeadingPlainText(url);
-                        }
-
-                        model->select (bi->parent());
-                    }
-                }
-            }
-        }
-    }
-    event->acceptProposedAction();
-}
-
-void MapEditor::setState (EditorState s)
-{
-    if (state!=Neutral && s!=Neutral)
-       qWarning ()<<"MapEditor::setState  switching directly from "<<state<<" to "<<s;
-    state=s;
-    /* if (debug)
-    {
-        QString s;
-        switch (state)
-        {
-        case Neutral: s="Neutral";break;
-        case EditingHeading: s="EditingHeading";break;
-        case EditingLink: s="EditingLink";break;
-        case MovingObject: s="MovingObject";break;
-        case MovingView: s="MovingView";break;
-        case PickingColor: s="PickingColor";break;
-        case CopyingObject: s="CopyingObject";break;
-        case DrawingLink: s="DrawingLink";break;
-        }
-        qDebug()<<"MapEditor: State "<<s<< " of "<<model->getMapName();
-    }
-    */
-}
-
-MapEditor::EditorState MapEditor::getState()
-{
-    return state;
-}
-
-void MapEditor::updateSelection(QItemSelection nsel,QItemSelection dsel)       
-{
-    QList <MapItem*> itemsSelected;
-    QList <MapItem*> itemsDeselected;
-
-    QItemSelection sel=model->getSelectionModel()->selection();
-    foreach (QModelIndex ix,sel.indexes() )
-    {
-       MapItem *mi= static_cast<MapItem*>(ix.internalPointer());
-       if (mi->isBranchLikeType() 
-           ||mi->getType()==TreeItem::Image 
-           ||mi->getType()==TreeItem::XLink)
-           if (!itemsSelected.contains(mi)) 
-               itemsSelected.append (mi);
-    }
-    foreach (QModelIndex ix,dsel.indexes() )
-    {
-       MapItem *mi= static_cast<MapItem*>(ix.internalPointer());
-       if (mi->isBranchLikeType() 
-           ||mi->getType()==TreeItem::Image 
-           ||mi->getType()==TreeItem::XLink)
-           if (!itemsDeselected.contains(mi)) 
-               itemsDeselected.append (mi);
-    }
-
-    // Trim list of selection paths 
-    while (itemsSelected.count() < selPathList.count() )
-       delete selPathList.takeFirst();
-
-    // Reduce polygons
-    while (itemsSelected.count() < selPathList.count() )
-       delete selPathList.takeFirst();
-
-    // Add additonal polygons
-    QGraphicsPathItem *sp;
-    while (itemsSelected.count() > selPathList.count() )
-    {
-       sp = mapScene->addPath(
-           QPainterPath(), 
-           QPen(selectionColor),
-           selectionColor);
-       sp->show();
-       selPathList.append (sp);
-    }
-
-
-    // Reposition polygons 
-    for (int i=0; i<itemsSelected.count();++i)
-    {
-       MapObj *mo=itemsSelected.at(i)->getMO();
-       sp=selPathList.at(i);
-       sp->setPath (mo->getClickPath() );
-       sp->setPen (selectionColor);    
-       sp->setBrush (selectionColor);  
-       sp->setParentItem (mo); 
-       sp->setZValue (dZ_SELBOX);
-
-       // Reposition also LineEdit for heading during animation
-       if (lineEdit) lineEdit->move (mo->getAbsPos().toPoint() );
-    }
-
-    scene()->update();  
-}
-
-void MapEditor::updateData (const QModelIndex &sel)
-{
-    TreeItem *ti= static_cast<TreeItem*>(sel.internalPointer());
-
-/* testing
-    qDebug() << "ME::updateData";
-    if (!ti) 
-    {
-       qDebug() << "  ti=NULL";
-       return;
-    }
-    qDebug() << "  ti="<<ti;
-    qDebug() << "  h="<<ti->getHeadingPlain();
-*/
-    
-    if (ti && ti->isBranchLikeType())
-    {
-       BranchObj *bo=(BranchObj*) ( ((MapItem*)ti)->getLMO());
-       bo->updateData();
-    }
-
-    if (winter)
-    {
-        QList <QRectF> obstacles;
-        BranchObj *bo;
-        BranchItem *cur=NULL;
-        BranchItem *prev=NULL;
-        model->nextBranch(cur,prev);
-        while (cur) 
-        {
-            if (!cur->hasHiddenExportParent())
-            {
-                // Branches
-                bo=(BranchObj*)(cur->getLMO());
-                if (bo && bo->isVisibleObj())
-                    obstacles.append(bo->getBBox());
-            }
-            model->nextBranch(cur,prev);
-        }
-        winter->setObstacles(obstacles);
-    }
-}
-
-void MapEditor::setSelectionColor (QColor col)
-{
-    selectionColor=col;
-    selectionColor.setAlpha (220);
-    QItemSelection sel=model->getSelectionModel()->selection();
-    updateSelection(sel,sel);
-}
-
-
-QColor MapEditor::getSelectionColor ()
-{
-    return selectionColor;
-}
-
-
diff --git a/mapeditor.h b/mapeditor.h
deleted file mode 100644 (file)
index ba6faa9..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-#ifndef MAPEDITOR_H
-#define MAPEDITOR_H
-
-#include <QGraphicsView>
-#include <QItemSelectionModel>
-#include <QLineEdit>   
-#include <QPropertyAnimation>  
-
-#include "attribute.h"
-#include "xlink.h"
-#include "ornamentedobj.h"
-#include "settings.h"
-#include "vymmodel.h"
-
-
-class XLinkItem;
-class Winter;
-
-/*! \brief Main widget in vym to display and edit a map */
-
-
-class MapEditor : public QGraphicsView {    
-    Q_OBJECT
-
-public:
-    enum EditorState {
-       Neutral,
-       EditingHeading,
-       EditingLink,
-       MovingObject,
-       MovingView,
-       PickingColor,
-       CopyingObject,
-       DrawingLink
-    };
-
-    MapEditor(VymModel *vm);
-    ~MapEditor();
-    VymModel* getModel();
-    QGraphicsScene * getScene();
-    MapEditor::EditorState getState();
-
-// Animation of scrollbars
-Q_PROPERTY(QPointF scrollBarPos READ getScrollBarPos WRITE setScrollBarPos)
-
-protected:
-    QPointF scrollBarPos;
-    QPointF scrollBarPosTarget;
-    QPropertyAnimation scrollBarPosAnimation;
-    QTimer *panningTimer;
-    QPointF vPan;                      //! Direction of panning during moving of object
-    QPoint pointerPos;                 //! Pointer position in widget coordinates
-    Qt::KeyboardModifiers pointerMod;  //! modifiers of move event
-
-private slots:
-    void panView();
-
-public:
-    void scrollTo (const QModelIndex &index);
-    void setScrollBarPosTarget (QRectF rect);  //!  ensureVisible of rect
-    QPointF getScrollBarPosTarget ();
-    void setScrollBarPos (const QPointF &p);
-    QPointF getScrollBarPos();
-    void animateScrollBars();
-
-// Animation of zoom
-Q_PROPERTY(qreal zoomFactor READ getZoomFactor WRITE setZoomFactor)
-
-protected:
-    qreal zoomFactor;
-    qreal zoomFactorTarget;
-    QPropertyAnimation zoomAnimation;
-
-public:
-    void setZoomFactorTarget (const qreal &zf);
-    qreal getZoomFactorTarget();
-    void setZoomFactor (const qreal &zf);
-    qreal getZoomFactor();
-
-// Animation of rotation
-Q_PROPERTY(qreal angle READ getAngle WRITE setAngle)
-
-protected:
-    qreal angle;
-    qreal angleTarget;
-    QPropertyAnimation rotationAnimation;
-
-public:
-    void setAngleTarget (const qreal &a);
-    qreal getAngleTarget();
-    void setAngle (const qreal &a);
-    qreal getAngle();
-
-
-// Animation of viewCenter    
-Q_PROPERTY (QPointF viewCenter READ getViewCenter WRITE setViewCenter)
-
-protected:
-    QPointF viewCenter;
-    QPointF viewCenterTarget;
-
-public:
-    void setViewCenterTarget (
-       const QPointF &p, 
-       const qreal &zft, 
-       const qreal &at,
-       const int duration=2000,
-       const QEasingCurve &easingCurve=QEasingCurve::OutQuint);
-    void setViewCenterTarget ();    //! Convenience function, center on selected item
-    QPointF getViewCenterTarget();
-    void setViewCenter (const QPointF &p);
-    QPointF getViewCenter();
-    QPropertyAnimation viewCenterAnimation;
-
-    void updateMatrix();           //! Sets transformation matrix with current rotation and zoom values
-    void minimizeView();
-
-// xmas egg
-protected:
-    Winter *winter;
-
-public:
-    void print();                  //!< Print the map
-    QRectF getTotalBBox();         //!< Bounding box of all items in map
-    QImage getImage (QPointF &offset); //!< Get a pixmap of the map
-    void setAntiAlias (bool);      //!< Set or unset antialiasing
-    void setSmoothPixmap(bool);            //!< Set or unset smoothing of pixmaps
-public slots:  
-    void autoLayout();             //!< Auto layout of map by using collision detection
-    void testFunction1();              //! just testing new stuff
-    void testFunction2();              //! just testing new stuff
-
-public:
-    TreeItem *findMapItem (QPointF p,TreeItem *exclude);    //! find item in map at position p. Ignore item exclude 
-
-    AttributeTable* attributeTable();  // FIXME-3 Not used, testing only
-    void toggleWinter();
-
-    BranchItem* getBranchDirectAbove(BranchItem *bi);  //! get branch direct above bi (in TreeView) 
-    BranchItem* getBranchAbove(BranchItem *bi);                //! get branch above bi (in TreeView) 
-    BranchItem* getBranchDirectBelow(BranchItem *bi);  //! bet branch direct below bi (in TreeView)
-    BranchItem* getBranchBelow(BranchItem *bi);                //! bet branch below bi (in TreeView)
-    BranchItem* getLeftBranch(BranchItem *bi);         //! bet branch left of bi (in TreeView)
-    BranchItem* getRightBranch(BranchItem *bi);                //! bet branch right of bi (in TreeView)
-
-public slots:
-    void cursorUp();
-    void cursorDown();
-    void cursorLeft();
-    void cursorRight();
-    void cursorFirst();
-    void cursorLast();
-    void editHeading();
-    void editHeadingFinished();
-private:
-    QLineEdit *lineEdit;
-
-protected:
-    virtual void contextMenuEvent ( QContextMenuEvent *e );
-    virtual void keyPressEvent(QKeyEvent*);
-    virtual void keyReleaseEvent(QKeyEvent*);
-    virtual void mousePressEvent(QMouseEvent*);
-    virtual void mouseMoveEvent(QMouseEvent*);
-    void moveObject ();
-    virtual void mouseReleaseEvent(QMouseEvent*);
-    virtual void mouseDoubleClickEvent(QMouseEvent*);
-    virtual void wheelEvent(QWheelEvent*);
-    virtual void focusOutEvent (QFocusEvent*);
-    virtual void resizeEvent( QResizeEvent * );
-
-    void dragEnterEvent (QDragEnterEvent *);
-    void dragMoveEvent (QDragMoveEvent *);
-    void dragLeaveEvent (QDragLeaveEvent *);
-    void dropEvent (QDropEvent *);
-
-
-private:
-    QGraphicsScene *mapScene;
-    VymModel *model;           //!< Vym Map, includding several mapCenters
-
-    bool adjustCanvasRequested;        // collect requests until end of user event
-    BranchObj *editingBO;      // entering Text into BO
-
-    QCursor HandOpenCursor;    // cursor while moving canvas view
-    QCursor PickColorCursor;   // cursor while picking color 
-    QCursor CopyCursor;                // cursor while picking color 
-    QCursor XLinkCursor;       // cursor while picking color 
-    EditorState state; 
-
-    void setState (EditorState);
-    bool objectMoved;          // true if object was not clicked, but moved with mouse
-
-    // Temporary used for linkx
-    Link* tmpLink;
-
-    MapObj* movingObj;             // moving a MapObj
-    QPointF movingObj_orgPos;      // org. pos of mouse before move
-    QPointF movingObj_orgRelPos;    // org. relative pos of mouse before move
-    QPointF movingObj_offset;      // offset of mousepointer to object
-    QPointF movingCont_start;      // inital pos of moving Content or
-    QPointF movingVec;             // how far has Content moved
-
-    QPointF contextMenuPos;        // position where context event was triggered
-
-    AttributeTable *attrTable;
-
-    bool printFrame;           // Print frame around map
-    bool printFooter;          // Print footer below map
-
-    QPoint exportOffset;       // set before export, used in save
-
-//////////// Selection related
-signals:
-    void selectionChanged(const QItemSelection &, const QItemSelection &);
-
-private:    
-    QList <QGraphicsPathItem*> selPathList;
-    QColor selectionColor;
-
-public slots:
-    void updateSelection(QItemSelection ,QItemSelection); // update selection
-    void updateData (const QModelIndex&); // update data
-public:
-    void setSelectionColor (QColor c);
-    QColor getSelectionColor ();
-};
-#endif
-
diff --git a/mapitem.cpp b/mapitem.cpp
deleted file mode 100644 (file)
index 3dd4b2f..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-#include "mapitem.h"
-
-#include "linkablemapobj.h"
-#include "ornamentedobj.h"
-
-#include <QDebug>
-
-MapItem::MapItem()
-{
-    init();
-}
-
-MapItem::MapItem(const QList<QVariant> &data, TreeItem *parent):TreeItem (data,parent)
-{
-    init();
-}
-
-void MapItem::init()
-{
-    mo=NULL;
-    posMode=Unused;
-    hideLinkUnselected=false;
-}
-
-void MapItem::appendChild (TreeItem *item)
-{
-    TreeItem::appendChild (item);
-
-    // FIXME-4 maybe access parent in MapObjs directly via treeItem
-    // and remove this here...
-
-    // If lmo exists, also set parObj there
-    LinkableMapObj *lmo=getLMO();
-    if (lmo)
-    {
-       LinkableMapObj *itemLMO=((MapItem*)item)->getLMO();
-       if (itemLMO)
-           itemLMO->setParObj (lmo);
-    }
-}
-
-void MapItem::setRelPos (const QPointF &p)
-{
-    posMode=Relative;
-    pos=p;
-    LinkableMapObj *lmo=getLMO();
-    if (lmo)
-    {
-       ((OrnamentedObj*)lmo)->setUseRelPos (true);
-       ((OrnamentedObj*)lmo)->move2RelPos(p);
-    }
-}
-
-void MapItem::setAbsPos (const QPointF &p)
-{
-    posMode=Absolute;
-    pos=p;
-    if (mo) mo->move (p);
-}
-
-void MapItem::setPositionMode (PositionMode mode)
-{
-    posMode=mode;
-}
-
-MapItem::PositionMode MapItem::getPositionMode ()
-{
-    return posMode;
-}
-
-void MapItem::setHideLinkUnselected (bool b)
-{
-    hideLinkUnselected=b;
-    LinkableMapObj *lmo=getLMO();
-    if (lmo) 
-    {
-       //lmo->setHideLinkUnselected();
-       lmo->setVisibility (lmo->isVisibleObj());
-       lmo->updateLinkGeometry();
-    }  
-}
-
-bool MapItem::getHideLinkUnselected()
-{
-    return hideLinkUnselected;
-}   
-
-QString MapItem::getMapAttr () 
-{
-    QString s;
-    LinkableMapObj *lmo=getLMO();
-
-    if (parentItem==rootItem)
-       posMode=Absolute;
-    else
-    {
-       if (type==TreeItem::Image ||depth()==1 || lmo->getUseRelPos() )
-           posMode=Relative;   //FiXME-2 shouldn't this be replaced by relPos?
-       else
-           posMode=Unused;
-    }
-    switch (posMode)
-    {
-       case Relative:  
-           if (lmo) pos=lmo->getRelPos();
-           s= attribut("relPosX",QString().setNum(pos.x())) +
-              attribut("relPosY",QString().setNum(pos.y())); 
-           break;
-       case Absolute:  
-           if (mo) pos=mo->getAbsPos();
-           s=attribut("absPosX",QString().setNum(pos.x())) +
-             attribut("absPosY",QString().setNum(pos.y())); 
-           break;
-       default: break;
-    }
-    if (hideLinkUnselected)
-       s+=attribut ("hideLink","true");
-    else
-       s+=attribut ("hideLink","false");
-
-    // Rotation angle
-    MapObj *mo=getMO();
-    if (mo)
-       angle=mo->getRotation();
-    if (angle!=0)      
-       s+=attribut("rotation",QString().setNum(angle) );
-       
-    return s;
-}
-
-QRectF MapItem::getBBoxURLFlag ()
-{
-    QStringList list=systemFlags.activeFlagNames().filter ("system-url");
-    if (list.count()>1)
-    {
-       qWarning()<<"MapItem::getBBoxURLFlag found more than one system-url*";
-       return QRectF ();
-    }  
-    return getBBoxFlag (list.first());
-}
-
-QRectF MapItem::getBBoxFlag (const QString &fname)
-{
-    LinkableMapObj *lmo=getLMO();
-    if (lmo)
-       return ((OrnamentedObj*)lmo)->getBBoxFlag (fname);
-    else    
-       return QRectF ();
-}
-
-void MapItem::setRotation(const qreal &a)
-{
-    angle=a;
-    MapObj *mo=getMO();
-    if (mo) mo->setRotation (a);
-}
-
-MapObj* MapItem::getMO()
-{
-    return mo;
-}
-
-LinkableMapObj* MapItem::getLMO()
-{
-    if (isBranchLikeType() || type==Image)
-       return (LinkableMapObj*)mo;
-    else
-       return NULL;
-}
-
-void MapItem::initLMO()
-{
-    LinkableMapObj *lmo=getLMO();
-    if (!lmo) return;
-    switch (posMode)
-    {
-       case Relative:  
-           lmo->setRelPos (pos);
-           break;
-       case Absolute:  
-           lmo->move (pos);
-           break;
-       default:
-           break;
-    }
-}
-
diff --git a/mapitem.h b/mapitem.h
deleted file mode 100644 (file)
index 3559a36..0000000
--- a/mapitem.h
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef MAPITEM_H
-#define MAPITEM_H
-
-#include <QPointF>
-
-#include "treeitem.h"
-
-class MapObj;
-class LinkableMapObj;
-
-/*! /brief MapItem is used to store information of MapObj and inherited
-   classes.
-    This is done even while no QGraphicsView is availabe. This is useful
-    if e.g. on a small device like a cellphone the full map is not used,
-    but just a treeview instead.
-*/
-
-class MapItem:public TreeItem
-{
-public:
-    enum PositionMode {Unused,Absolute,Relative};
-protected:
-    QPointF pos;
-    PositionMode posMode;
-
-public:
-    MapItem();
-    MapItem(const QList<QVariant> &data, TreeItem *parent = 0);
-
-    void init();
-
-    /*! Overloaded from TreeItem. Used to set parObj in LinkableMapObj */
-    virtual void appendChild (TreeItem *item);
-
-    /*! Used to save relative position while map is not in QGraphicsView */
-    virtual void setRelPos(const QPointF&); 
-
-    /*! Used to save absolute position while map is not in QGraphicsView */
-    virtual void setAbsPos(const QPointF&); 
-
-    /*! Tell object to use e.g. absolute positioning for mapcenter. 
-       Defaulst is MapItem::Unused */
-    void setPositionMode (PositionMode mode);
-    PositionMode getPositionMode ();
-
-
-protected:
-    bool hideLinkUnselected;
-public:
-    /*! Hide link if item is not selected */
-    virtual void setHideLinkUnselected(bool);
-
-    /*! Check if link is hidden for unselected items */
-    virtual bool getHideLinkUnselected();
-
-    virtual QString getMapAttr();   //! Get attributes for saving as XML
-
-    virtual QRectF getBBoxURLFlag();//! get bbox of url flag
-    virtual QRectF getBBoxFlag   (const QString &fname);    //! get bbox of flag
-    virtual void setRotation (const qreal &a);
-
-
-protected:
-    MapObj *mo;
-    qreal angle;
-
-public:
-    /*! Returns pointer to related LinkableMapObj in QGraphicsView */
-    virtual         MapObj* getMO();
-    virtual LinkableMapObj* getLMO();
-
-    /*! Initialize LinkableMapObj with data in MapItem */
-    virtual void initLMO();
-
-};
-
-
-#endif
diff --git a/mapobj.cpp b/mapobj.cpp
deleted file mode 100644 (file)
index 3ec8c95..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-#include <QDebug>
-
-#include "geometry.h"
-#include "mapobj.h"
-#include "misc.h"
-
-/////////////////////////////////////////////////////////////////
-// MapObj
-/////////////////////////////////////////////////////////////////
-MapObj::MapObj (QGraphicsItem *parent, TreeItem *ti):QGraphicsItem (parent)
-{
-    //qDebug() << "Const MapObj (this,ti)=("<<this<<","<<ti<<")";
-    treeItem=ti;
-    init ();
-}
-
-MapObj::~MapObj ()
-{
-    //qDebug() << "Destr MapObj "<<this;
-    foreach (QGraphicsItem *i,childItems() ) 
-       // Avoid tha QGraphicsScene deletes children
-       i->setParentItem (NULL);
-}
-
-void MapObj::init ()
-{
-    absPos=QPointF(0,0);
-    visible=true;
-    boundingPolygon=NULL;
-}
-
-void MapObj::copy(MapObj* other)
-{
-    absPos=other->absPos;
-    bbox.setX (other->bbox.x() );
-    bbox.setY (other->bbox.y() );
-    bbox.setSize (QSizeF(other->bbox.width(), other->bbox.height() ) );
-}
-
-void MapObj::setTreeItem (TreeItem *ti)
-{
-    treeItem=ti;
-}
-
-TreeItem* MapObj::getTreeItem () const
-{
-    return treeItem;
-}
-
-qreal MapObj::x() 
-{
-    return getAbsPos().x();
-}
-
-qreal MapObj::y() 
-{
-    return getAbsPos().y();
-}
-
-qreal MapObj::width() 
-{
-    return bbox.width();
-}
-
-qreal MapObj::height() 
-{
-    return bbox.height();
-}
-
-QPointF MapObj::getAbsPos() 
-{
-    return absPos;
-}
-
-QString MapObj::getPos()
-{
-    return qpointFToString(absPos);
-}
-
-void MapObj::move (double x, double y) 
-{
-    MapObj::move (QPointF(x,y));
-}
-
-void MapObj::move (QPointF p)
-{
-    absPos=p;
-    bbox.moveTo (p);
-    clickPoly=QPolygonF (bbox);
-}
-
-void MapObj::moveBy (double x, double y) 
-{
-    QPointF v(x,y);
-    MapObj::move (absPos + v );
-    bbox.moveTo (bbox.topLeft() + v);
-    clickPoly.translate (v);
-}
-
-QRectF MapObj::boundingRect () const 
-{
-    return QRectF();
-}
-
-void MapObj::paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*)
-{
-}
-
-QRectF MapObj::getBBox()
-{
-    return bbox;
-}
-
-ConvexPolygon MapObj::getBoundingPolygon()
-{
-    QPolygonF p;
-    p<<bbox.topLeft()<<bbox.topRight()<<bbox.bottomRight()<<bbox.bottomLeft();
-    return p;
-}
-
-QPolygonF MapObj::getClickPoly()
-{
-    return clickPoly;
-}
-
-QPainterPath MapObj::getClickPath()
-{
-    QPainterPath p;
-    QRectF br=clickPoly.boundingRect();
-    p.moveTo (br.topLeft() );
-    p.lineTo (br.topRight() );
-    p.lineTo (br.bottomRight() );
-    p.lineTo (br.bottomLeft() );
-    p.lineTo (br.topLeft() );
-    return p;
-}
-
-bool MapObj::isInClickBox (const QPointF &p)
-{
-    return  clickPoly.containsPoint (p,Qt::OddEvenFill);
-}
-
-QSizeF MapObj::getSize()
-{
-    return bbox.size();
-}
-
-
-void MapObj::setRotation (const qreal &a)
-{
-    angle=a;
-}
-
-qreal MapObj::getRotation ()
-{
-    return angle;
-}
-
-bool MapObj::isVisibleObj()
-{
-    return visible;
-}
-
-void MapObj::setVisibility(bool v)
-{
-    visible=v;
-}
-
-void MapObj::positionBBox() {}
-void MapObj::calcBBoxSize() {}
diff --git a/mapobj.h b/mapobj.h
deleted file mode 100644 (file)
index 6f32d2e..0000000
--- a/mapobj.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef MAPOBJ_H
-#define MAPOBJ_H
-
-#include <QGraphicsItem>
-
-#include "xmlobj.h"
-
-#define dZ_BBOX         0   // testing
-#define dZ_DEPTH      100
-#define dZ_FRAME_LOW   10      
-#define dZ_LINK        20
-#define dZ_XLINK       40
-#define dZ_SELBOX      60
-#define dZ_FLOATIMG    70
-#define dZ_ICON        80
-#define dZ_TEXT        90
-#define  Z_INIT      9999
-#define  Z_LINEEDIT 10000 
-
-class ConvexPolygon;
-
-#include "treeitem.h"
-
-/*! \brief Base class for all objects visible on a map
-*/
-
-class MapObj:public XMLObj, public QGraphicsItem {
-public:
-    MapObj (QGraphicsItem *parent=NULL,TreeItem *ti=NULL);
-    virtual ~MapObj ();
-    virtual void init ();
-    virtual void copy (MapObj*);
-
-    virtual void setTreeItem(TreeItem *);
-    virtual TreeItem* getTreeItem() const;
-
-    virtual qreal x();
-    virtual qreal y();
-    virtual qreal width();
-    virtual qreal height();
-    virtual QPointF getAbsPos();
-    virtual QString getPos();                  //! Return position as string (x,y)
-    virtual void move (double x,double y);      //! move to absolute Position
-    virtual void move (QPointF p);
-    virtual void moveBy (double x,double y);    //! move to relative Position
-
-    virtual QRectF boundingRect () const;    
-    virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*);
-
-    virtual QRectF getBBox();                  //! returns bounding box
-    virtual ConvexPolygon getBoundingPolygon();        //! return bounding convex polygon
-    virtual QPolygonF getClickPoly();          //! returns polygon to click
-    virtual QPainterPath getClickPath();       //! returns path to click
-    virtual bool isInClickBox (const QPointF &p);   //! Checks if p is in clickBox
-    virtual QSizeF getSize();                  //! returns size of bounding box
-
-    virtual void setRotation(const qreal &a);
-    virtual qreal getRotation();
-    virtual bool isVisibleObj();
-    virtual void setVisibility(bool);
-    virtual void positionBBox();       
-    virtual void calcBBoxSize();
-
-protected:  
-    QRectF bbox;                   // bounding box of MO itself
-    QPolygonF clickPoly;                   // area where mouseclicks are found
-    QPointF absPos;                // Position on canvas
-    bool visible;
-
-    qreal angle;                   //! Rotation angle
-
-    TreeItem *treeItem;                    //! Crossrefence to treemodel
-
-    QGraphicsPolygonItem *boundingPolygon;     //FIXME-3 testing only
-};
-
-#endif
diff --git a/misc.cpp b/misc.cpp
deleted file mode 100644 (file)
index 31225e1..0000000
--- a/misc.cpp
+++ /dev/null
@@ -1,230 +0,0 @@
-#include "misc.h"
-
-#include "geometry.h"
-
-#include <math.h>
-#include <stdlib.h>
-
-#include <QDebug>
-#include <QDialog>
-#include <QString>
-
-QString richTextToPlain (QString r, const QString &indent, const int &width)
-{
-    Q_UNUSED( width );
-
-    // Avoid failing assert with mingw
-    if (r.isEmpty()) return r;
-
-    QRegExp rx;
-    rx.setMinimal(true);
-
-    // Remove all <style...> ...</style>
-    rx.setPattern("<style.*>.*</style>");
-    r.replace (rx,"");
-
-    // convert all "<br*>" to "\n"
-    rx.setPattern ("<br.*>");
-    r.replace (rx,"\n");
-
-    // convert all "</p>" to "\n"
-    rx.setPattern ("</p>");
-    r.replace (rx,"\n");
-
-    // remove all remaining tags
-    rx.setPattern ("<.*>");
-    r.replace (rx,"");
-
-    // If string starts with \n now, remove it.
-    // It would be wrong in an OOo export for example
-    while (r.length() > 0 && r.at(0)=='\n') r.remove (0,1);
-
-    // convert "&", "<" and ">"
-    rx.setPattern ("&gt;");
-    r.replace (rx,">");
-    rx.setPattern ("&lt;");
-    r.replace (rx,"<");
-    rx.setPattern ("&amp;");
-    r.replace (rx,"&");
-    rx.setPattern ("&quot;");
-    r.replace (rx,"\"");
-
-    // Indent everything
-    rx.setPattern ("^\n");
-    r.replace (rx,indent);
-    r = indent + r;   // Don't forget first line
-
-    return r;
-}
-
-QString qpointToString (const QPoint &p)
-{ return "(" + QString("%1").arg(p.x()) +","+ QString ("%1").arg (p.y()) +")"; }
-
-QString qpointFToString (const QPointF &p)
-{ return "(" + QString("%1").arg(p.x()) +","+ QString ("%1").arg (p.y()) +")"; }
-
-QString VectorToString (const Vector &p)
-{ return "(" + QString("%1").arg(p.x()) +","+ QString ("%1").arg (p.y()) +")"; }
-
-ostream &operator<< (ostream &stream, QPoint const &p)
-{ 
-    stream << "("<<p.x()<<","<<p.y()<<")";
-    return stream;
-}
-
-ostream &operator<< (ostream &stream, QPointF const &p)
-{ 
-    stream << "("<<p.x()<<","<<p.y()<<")";
-    return stream;
-}
-
-ostream &operator<< (ostream &stream, QRectF const &r)
-{ 
-    stream << "tL="<<r.topLeft()<<" - (w,h)="<<r.width()<<","<<r.height()<<"  bR="<<r.bottomRight();
-    return stream;
-}
-
-ostream &operator<< (ostream &stream, Vector const &p)
-{ 
-    stream << "("<<p.x()<<","<<p.y()<<")";
-    return stream;
-}
-
-qreal getAngle(const QPointF &p)
-{   
-    // Calculate angle of vector to x-axis
-    if (p.x()==0)
-    {
-       if (p.y()>=0)
-           return M_PI_2;
-       else
-           return 3* M_PI_2;
-    } else
-    {
-       if (p.x()>0) 
-       {
-           if (p.y()<0)
-               return (qreal)( - atan ( (qreal)(p.y()) / (qreal)(p.x()) ) );
-           else        
-               return (qreal)( 2*M_PI - atan ( (qreal)(p.y()) / (qreal)(p.x()) ) );
-       }    
-       else    
-           return (qreal)(M_PI -atan ( (qreal)(p.y()) / (qreal)(p.x()) ) );
-    }  
-    /*
-    // Calculate angle of vector to y-axis
-    if (p.y()==0)
-    {
-       if (p.x()>=0)
-           return M_PI_2;
-       else
-           return 3* M_PI_2;
-    } else
-    {
-       if (p.y()>0) 
-           return (qreal)(M_PI  - atan ( (qreal)(p.x()) / (qreal)(p.y()) ) );
-       else    
-           if (p.x()<0)
-               return (qreal)( 2*M_PI - atan ( (qreal)(p.x()) / (qreal)(p.y()) ) );
-           else    
-               return (qreal)( - atan ( (qreal)(p.x()) / (qreal)(p.y()) ) );
-    }  
-    */
-}
-
-qreal min(qreal a, qreal b)
-{
-    if (a<b)
-       return a;
-    return b;
-}
-
-qreal max(qreal a, qreal b)
-{
-    if (a>b)
-       return a;
-    return b;
-}
-
-qreal roof (qreal x)
-{
-    if (x<=0.5)
-       return  x;
-    else
-       return 1-x;
-}
-
-int round_int (qreal x)
-{
-    return (x > 0.0) ? (x + 0.5) : (x - 0.5);
-}
-
-Qt::PenStyle penStyle (const QString &s, bool &ok)
-{
-    ok=true;
-    Qt::PenStyle p(Qt::NoPen);
-    if (s=="Qt::NoPen")
-       p=Qt::SolidLine;
-    if (s=="Qt::SolidLine")
-       p=Qt::SolidLine;
-    else if (s=="Qt::DashLine")
-       p=Qt::DashLine;
-    else if (s=="Qt::DotLine")
-       p=Qt::DotLine;
-    else if (s=="Qt::DashDotLine")
-       p=Qt::DashDotLine;
-    else if (s=="Qt::DashDotDotLine")
-       p=Qt::DashDotDotLine;
-    else
-    {
-       qWarning()<<"misc.cpp penStyle - Unknown style s="<<s;
-       ok=false;
-    }
-    return p;
-}
-
-QString penStyleToString (Qt::PenStyle p) 
-{
-    switch (p)
-    {
-       case Qt::NoPen:
-           return "Qt::NoPen";
-       case Qt::SolidLine:
-           return "Qt::SolidLine";
-       case Qt::DashLine:
-           return "Qt::DashLine";
-       case Qt::DotLine:
-           return "Qt::DotLine";
-       case Qt::DashDotLine:
-           return "Qt::DashDotLine";
-       case Qt::DashDotDotLine:
-           return "Qt::DashDotDotLine";
-       default:
-           return "";
-    }
-}
-
-QPointF point (const QString &s, bool &ok)
-{
-    ok=true;
-    bool okx, oky;
-    qreal x=s.section (',',0,0).toFloat (&okx);
-    qreal y=s.section (',',1,1).toFloat (&oky);
-    if (okx && oky) 
-       return QPointF (x,y);
-    else       
-       qWarning()<<"misc.cpp Couldn't create QPointF from "<<s<<"  ok="<<okx<<","<<oky;
-       ok=false;
-       return QPointF();
-}
-   
-QString pointToString (const QPointF &p)
-{
-    return QString("%1,%2").arg(p.x()).arg(p.y());
-}
-
-void centerDialog (QDialog *dia)
-{
-    dia->move(QCursor::pos() - 0.5 * QPoint(dia->rect().width(),dia->rect().height() ) );
-}
-
diff --git a/misc.h b/misc.h
deleted file mode 100644 (file)
index e043898..0000000
--- a/misc.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef MISC_H
-#define MISC_H
-
-#include <Qt>
-#include <iostream>
-using namespace std;
-
-class QString;
-class QPoint;
-class QPointF;
-class QRectF;
-class Vector;
-class QDialog;
-
-/////////////////////////////////////////////////////////////////////////////
-QString richTextToPlain (QString r);
-QString qpointToString (const QPoint &p);
-QString qpointFToString (const QPointF &p);
-QString VectorToString (const Vector &p);
-
-extern ostream &operator<< (ostream &stream, QPoint const &p);
-extern ostream &operator<< (ostream &stream, QPointF const &p);
-extern ostream &operator<< (ostream &stream, QRectF const &r);
-extern ostream &operator<< (ostream &stream, Vector const &p);
-
-qreal getAngle(const QPointF &);
-qreal min (qreal,qreal);
-qreal max (qreal,qreal);
-qreal roof (qreal x);    
-int round_int (qreal x);
-
-Qt::PenStyle penStyle (const QString &, bool &ok);
-QString penStyleToString (Qt::PenStyle);
-QPointF point (const QString &s, bool &ok);
-QString pointToString (const QPointF &p);
-
-void centerDialog(QDialog *dia);
-#endif
diff --git a/mkdtemp.cpp b/mkdtemp.cpp
deleted file mode 100644 (file)
index 17e348a..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-
-#include <QDir>
-#include <stdint.h>
-#ifndef _WIN32
-#include <sys/time.h>
-
-extern "C" {
-pid_t getpid (void);
-}
-#else
-#include <windows.h>
-#define getpid GetCurrentProcessId
-#include <time.h>
-#include <direct.h>
-#endif
-
-
-QString
-mkdtemp(QString tmpl)
-{
-    static const char letters[] =
-        "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-
-    static uint64_t value;
-
-    const unsigned int ATTEMPTS_MIN = (62 * 62 * 62);
-
-    if (tmpl.length() < 6 || !tmpl.endsWith("XXXXXX"))
-    {
-        return QString();
-    }
-
-    uint64_t random_time_bits = time(NULL);
-
-    value += (random_time_bits ^ getpid());
-
-    unsigned int count;
-    for (count = 0; count < ATTEMPTS_MIN; value += 7777, ++count)
-    {
-        uint64_t v = value;
-        QString XXXXXX;
-        XXXXXX.append(letters[v % 62]);
-        v /= 62;
-        XXXXXX.append(letters[v % 62]);
-        v /= 62;
-        XXXXXX.append(letters[v % 62]);
-        v /= 62;
-        XXXXXX.append(letters[v % 62]);
-        v /= 62;
-        XXXXXX.append(letters[v % 62]);
-        v /= 62;
-        XXXXXX.append(letters[v % 62]);
-
-        tmpl.replace(tmpl.length()-6,6,XXXXXX);
-        QDir dir;
-        if (dir.exists(tmpl))
-            continue;
-        if (dir.mkpath(tmpl)){
-            return tmpl;
-        }
-    }
-    return QString();
-}
diff --git a/mkdtemp.h b/mkdtemp.h
deleted file mode 100644 (file)
index ea4ecc5..0000000
--- a/mkdtemp.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef MKDTEMP_H
-#define MKDTEMP_H
-
-extern QString mkdtemp(QString _template);
-
-#endif
diff --git a/mysortfilterproxymodel.cpp b/mysortfilterproxymodel.cpp
deleted file mode 100644 (file)
index ecead5e..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//#include <QtGui>
-
-#include "mysortfilterproxymodel.h"
-
-MySortFilterProxyModel::MySortFilterProxyModel(QObject *parent)
-    : QSortFilterProxyModel(parent)
-{
-}
-//! [0]
-
-/*
-//! [1]
-void MySortFilterProxyModel::setFilterMinimumDate(const QDate &date)
-{
-    minDate = date;
-    invalidateFilter();
-}
-//! [1]
-
-//! [2]
-void MySortFilterProxyModel::setFilterMaximumDate(const QDate &date)
-{
-    maxDate = date;
-    invalidateFilter();
-}
-*/
-
-bool MySortFilterProxyModel::filterAcceptsRow(int sourceRow,   // FIXME-3 find a way to show _all_ rows which match, independent of parent
-        const QModelIndex &sourceParent) const
-{
-    QModelIndex index0 = sourceModel()->index(sourceRow, 0, sourceParent);
-    QModelIndex index1 = sourceModel()->index(sourceRow, 1, sourceParent);
-
-    return (sourceModel()->data(index0).toString().contains(filterRegExp())
-            || sourceModel()->data(index1).toString().contains(filterRegExp()));
-}
-
diff --git a/mysortfilterproxymodel.h b/mysortfilterproxymodel.h
deleted file mode 100644 (file)
index e089b77..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef MYSORTFILTERPROXYMODEL_H
-#define MYSORTFILTERPROXYMODEL_H
-
-//#include <QDate>
-#include <QSortFilterProxyModel>
-
-//! [0]
-class MySortFilterProxyModel : public QSortFilterProxyModel
-{
-    Q_OBJECT
-
-public:
-    MySortFilterProxyModel(QObject *parent = 0);
-/*
-
-    QDate filterMinimumDate() const { return minDate; }
-    void setFilterMinimumDate(const QDate &date);
-
-    QDate filterMaximumDate() const { return maxDate; }
-    void setFilterMaximumDate(const QDate &date);
-protected:
-*/
-    bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
-    /*
-    bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
-
-private:
-    bool dateInRange(const QDate &date) const;
-
-    QDate minDate;
-    QDate maxDate;
-*/
-};
-
-#endif
diff --git a/noteeditor.cpp b/noteeditor.cpp
deleted file mode 100644 (file)
index ba1710d..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#include "noteeditor.h"
-
-#include <QMenuBar>
-
-#include "vymnote.h"
-#include "settings.h"
-extern Settings settings;
-extern QString vymName;
-
-NoteEditor::NoteEditor(QString scope):TextEditor()
-{
-    editorName = tr("Note Editor","Name of editor shown as window title");
-    setWindowTitle("");
-
-    menuBar()->show();
-
-    // Load Settings
-    init(scope);
-}
-
-NoteEditor::~NoteEditor() {}
-
-VymNote NoteEditor::getNote()
-{
-    VymNote note;
-    if (actionFormatRichText->isChecked() )
-        note.setRichText( getText());
-    else
-        note.setPlainText( getText());
-    note.setFontHint (getFontHint() );
-    note.setFilenameHint (getFilenameHint () );
-    return note;
-}
-
-void NoteEditor::setNote (const VymNote &note)  
-{
-    if (note.isRichText ())
-        setRichText(note.getText());
-    else
-    {
-        setPlainText(note.getText());
-        setFontHint (note.getFontHint() );
-    }
-    setFilenameHint (note.getFilenameHint() );
-}
diff --git a/noteeditor.h b/noteeditor.h
deleted file mode 100644 (file)
index 4d1012e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef NOTEEDITOR_H 
-#define NOTEEDITOR_H
-
-
-#include "texteditor.h"
-
-class VymNote;
-
-class NoteEditor : public TextEditor {
-    Q_OBJECT
-public:
-    NoteEditor(QString scope);
-    ~NoteEditor();
-
-    VymNote getNote();
-    void setNote(const VymNote &note);
-};
-
-#endif
diff --git a/options.cpp b/options.cpp
deleted file mode 100644 (file)
index 172024e..0000000
+++ /dev/null
@@ -1,142 +0,0 @@
-#include "options.h"
-
-#include <iostream>
-#include <QApplication>
-
-
-using namespace std;
-
-
-Option::Option()
-{
-    name="";
-    sName="";
-    lName="";
-    type=Switch;
-    sarg="";
-    active=false;
-}
-
-Option::Option (const QString &n, const Type &t, const QString &s, const QString &l)
-{
-    sName="-"+s;
-    lName="--"+l;
-    type=t;
-    name=n;
-}
-
-void Option::set(const QString &n, const Type &t, const QString &s, const QString &l)
-{
-    sName="-"+s;
-    lName="--"+l;
-    type=t;
-    name=n;
-}
-
-QString Option::getName () { return name; }
-QString Option::getShort () { return sName; }
-QString Option::getLong() { return lName; }
-Option::Type Option::getType() { return type; }
-void Option::setArg(const QString& s) { sarg=s; }
-QString Option::getArg() { return sarg; }   
-void Option::setActive() { active=true; }   
-bool Option::isActive() { return active; }
-
-///////////////////////////////////////////////////////////////
-Options::Options() {}  
-
-int Options::parse()
-{
-    QStringList arglist=qApp->arguments();
-
-    // Get program name
-    progname=arglist.first();
-    arglist.pop_front();
-
-    // Work through rest of options
-    bool isFile;
-    int i=0;
-    for (i=0; i< arglist.size(); ++i)
-    {
-       isFile=true;
-       if (arglist[i].left(1)=="-")
-       {
-           // Compare given option to all defined options
-           for (int j=0; j < optlist.size(); ++j)
-           {
-               if (arglist.at(i)==optlist.value(j).getShort() || 
-                   arglist.at(i)==optlist.value(j).getLong())
-               {   
-                   optlist[j].setActive();
-                   isFile=false;
-                   if (optlist[j].getType()==Option::String)
-                   {
-                       i++;
-                       if (i==arglist.size())
-                       {
-                           qWarning ("Error: argument to option missing");
-                           return 1;
-                       }
-                       optlist[j].setArg (arglist[i]);
-                       isFile=false;
-                   }
-                   break;
-               } 
-           }
-           if (isFile)
-           {
-               qWarning("Error: Unknown argument ");
-               return 1;
-           }
-       } else
-           filelist.append (arglist[i]);
-    }
-    return 0;
-}
-
-void Options::add (Option o)
-{
-    optlist.append (o);
-}
-
-void Options::add (const QString &n, const Option::Type &t=Option::Switch, const QString &s="", const QString &l="")
-{
-    Option o;
-    o.set (n,t,s,l);
-    optlist.append (o);
-}
-
-void Options::setHelpText (const QString &s)
-{
-    helptext=s;
-}
-    
-QString Options::getHelpText ()
-{
-    return helptext;
-}
-
-QString Options::getProgramName()
-{
-    return progname;
-}
-
-QStringList Options::getFileList ()
-{
-    return filelist;
-}
-
-bool Options::isOn(const QString &s)
-{
-    for (int i=0; i<optlist.size(); ++i)
-       if (optlist[i].getName()==s && optlist[i].isActive() )
-           return true;
-    return false;
-}
-
-QString Options::getArg(const QString &s)
-{
-    for (int i=0; i<optlist.size(); ++i)
-       if (optlist[i].getName()==s) return optlist[i].getArg();
-    return QString();
-}
diff --git a/options.h b/options.h
deleted file mode 100644 (file)
index 03d06ac..0000000
--- a/options.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef OPTIONS_H
-#define OPTIONS_H
-
-#include <QStringList>
-
-/*! \brief A single option which is listed in Options */
-class Option
-{
-public:
-    /*! Types of options */
-    enum Type  {
-       Switch, //!< No paramater
-       String  //!< Parameter is a string
-    };
-
-    Option();
-    Option(const QString &, const Type &, const QString &, const QString &);
-    void set (const QString &, const Type &, const QString &, const QString &);
-    QString getName();
-    QString getShort();
-    QString getLong();
-    Type getType();
-    void setArg(const QString &);
-    QString getArg();
-    void setActive();
-    bool isActive();
-private:
-    QString name;
-    Type type;
-    QString sName;
-    QString lName;
-    QString sarg;
-    bool active;
-};
-
-
-/*! \brief Simple class to deal with command line options */
-
-class Options
-{
-public:
-    Options();
-    int parse();
-    void add (Option );
-    void add (const QString &,const Option::Type &, const QString &, const QString&);
-    void setHelpText(const QString&);
-    QString getHelpText();
-    QString getProgramName();
-    QStringList getFileList();
-    bool isOn (const QString &);
-    QString getArg (const QString &);
-
-private:
-    QString progname;
-    QString helptext;
-    QStringList filelist;
-    QList <Option> optlist;
-};
-
-#endif
diff --git a/ornamentedobj.cpp b/ornamentedobj.cpp
deleted file mode 100644 (file)
index bf4ae2e..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-#include <QDebug>
-
-#include "branchitem.h"
-#include "ornamentedobj.h"
-#include "linkablemapobj.h"
-#include "vymmodel.h"
-
-extern bool debug;
-
-/////////////////////////////////////////////////////////////////
-// OrnamentedObj
-/////////////////////////////////////////////////////////////////
-
-OrnamentedObj::OrnamentedObj(QGraphicsItem *parent,TreeItem *ti) :LinkableMapObj(parent,ti)
-{
-    //qDebug()<< "Const OrnamentedObj (s,ti) ti="<<ti;
-    treeItem=ti;
-    init ();
-}
-
-OrnamentedObj::~OrnamentedObj()
-{
-    delete heading;
-    delete systemFlags;
-    delete standardFlags;
-    delete frame;
-}
-
-
-void OrnamentedObj::init ()
-{
-    heading = new HeadingObj(this);
-    heading->setTreeItem (treeItem);
-    heading->move (absPos.x(), absPos.y());
-
-    systemFlags=new FlagRowObj(this);
-    standardFlags=new FlagRowObj(this);
-
-    frame = new FrameObj (this);
-    frame->setTreeItem (treeItem);
-
-    angle=0;
-}
-
-void OrnamentedObj::copy (OrnamentedObj* other)
-{
-    LinkableMapObj::copy(other);
-    heading->copy(other->heading);
-    setColor   (other->heading->getColor());   
-
-    systemFlags->copy (other->systemFlags);
-    standardFlags->copy (other->standardFlags);
-
-    ornamentsBBox=other->ornamentsBBox;
-}
-
-void OrnamentedObj::setLinkColor()
-{
-    VymModel *model=treeItem->getModel();
-    if (!model) return;
-    if (model->getMapLinkColorHint()==HeadingColor)
-       LinkableMapObj::setLinkColor (heading->getColor());
-    else    
-       LinkableMapObj::setLinkColor (model->getMapDefLinkColor());
-}
-
-void OrnamentedObj::setColor (QColor col)
-{
-    heading->setColor(col);
-    setLinkColor();
-}
-
-QColor OrnamentedObj::getColor ()
-{
-    return heading->getColor();
-}
-
-QRectF OrnamentedObj::getBBoxHeading()
-{
-    return heading->getBBox();
-}
-
-void OrnamentedObj::setRotation (const qreal &a)
-{
-    MapObj::setRotation (a);
-    heading->setRotation(a); // FIXME-4 duplicated code...
-}
-
-FrameObj* OrnamentedObj::getFrame()
-{
-    return frame;
-}
-
-FrameObj::FrameType OrnamentedObj::getFrameType()
-{
-    return frame->getFrameType();
-}
-
-QString OrnamentedObj::getFrameTypeName()
-{
-    return frame->getFrameTypeName();
-}
-
-void OrnamentedObj::setFrameType(const FrameObj::FrameType &t)
-{
-    frame->setFrameType(t);
-    if (t == FrameObj::NoFrame)
-    {
-       linkpos=LinkableMapObj::Bottom;
-       useBottomline=true;
-    } else  
-    {
-       linkpos=LinkableMapObj::Middle;
-       useBottomline=false;
-    }
-    updateVisibility();        // Update bottomline
-    calcBBoxSize();
-    positionBBox();
-    requestReposition();
-}
-
-void OrnamentedObj::setFrameType(const QString &s)
-{
-    setFrameType(frame->getFrameType (s));
-}
-
-void OrnamentedObj::setFramePadding (const int &i)
-{
-    frame->setPadding (i);
-    calcBBoxSize();
-    positionBBox();
-    requestReposition();
-}
-
-int OrnamentedObj::getFramePadding ()
-{
-    return frame->getPadding();
-}
-
-void OrnamentedObj::setFrameBorderWidth (const int &i)
-{
-    frame->setBorderWidth(i);
-    calcBBoxSize();
-    positionBBox();
-    requestReposition();
-}
-
-int OrnamentedObj::getFrameBorderWidth()
-{
-    return frame->getBorderWidth();
-}
-
-void OrnamentedObj::setFramePenColor(QColor col)
-{
-    frame->setPenColor (col);
-}
-
-QColor OrnamentedObj::getFramePenColor()
-{
-    return frame->getPenColor ();
-}
-
-void OrnamentedObj::setFrameBrushColor(QColor col)
-{
-    frame->setBrushColor (col);
-}
-
-QColor OrnamentedObj::getFrameBrushColor()
-{
-    return frame->getBrushColor ();
-}
-
-void OrnamentedObj::setFrameIncludeChildren(bool b)
-{
-    calcBBoxSizeWithChildren();
-    frame->setFrameIncludeChildren (b);
-    requestReposition();
-}
-
-bool OrnamentedObj::getFrameIncludeChildren()
-{
-    return frame->getFrameIncludeChildren ();
-}
-
-QRectF OrnamentedObj::getOrnamentsBBox()
-{
-    return ornamentsBBox;
-}
-
-void OrnamentedObj::positionContents()
-{
-    double x=absPos.x();
-    double y=absPos.y();
-    double dp=frame->getTotalPadding();
-    double dp2=dp/2;
-    double ox=leftPad + dp;
-    double oy=topPad  + dp;
-    
-    // vertical align heading to bottom
-    heading->setZValue (dZ_TEXT);
-    heading->setTransformOriginPoint (
-       QPointF ( ox + systemFlags->getBBox().width(),
-                 oy + ornamentsBBox.height() - heading->getHeight() 
-               ) );
-    heading->move (ox + x + systemFlags->getBBox().width(),
-                  oy + y + ornamentsBBox.height() - heading->getHeight() 
-                   );
-    // Flags
-    systemFlags-> move (ox +x , oy + y );
-    systemFlags->setZValue (dZ_ICON);
-    standardFlags->move (ox +x + heading->getWidth() + systemFlags->getBBox().width() , oy + y );
-    standardFlags->setZValue (dZ_ICON);
-
-    ornamentsBBox.moveTopLeft ( QPointF (ox+x,oy+y));
-    clickPoly=QPolygonF (ornamentsBBox);
-
-    // Update bboxTotal coordinate (size set already)
-    if (orientation==LinkableMapObj::LeftOfCenter )
-       bboxTotal.setRect (
-           bbox.x()+(bbox.width() - bboxTotal.width()) , 
-           bbox.y()+bbox.height()/2 - bboxTotal.height()/2,
-           bboxTotal.width(),
-           bboxTotal.height());
-    else
-       bboxTotal.setRect (
-           bbox.x(), 
-           bbox.y()+bbox.height()/2 - bboxTotal.height()/2,
-           bboxTotal.width(),
-           bboxTotal.height());
-
-    // Update frame
-    dp=frame->getXPadding();
-    dp2=dp / 2;
-    frame->setZValue (dZ_FRAME_LOW);
-    if (treeItem && 
-       treeItem->isBranchLikeType() && 
-       ((BranchItem*)treeItem)->getFrameIncludeChildren() 
-       )
-       frame->setRect( QRectF(
-           bboxTotal.x()+dp2,
-           bboxTotal.y()+dp2,
-           bboxTotal.width()-dp,
-           bboxTotal.height()-dp));
-     else
-       frame->setRect( QRectF(
-           bbox.x() + dp,
-           bbox.y() + dp,
-           bbox.width() - 2 * dp,
-           bbox.height() - 2 * dp));
-}
-
-void OrnamentedObj::move (double x, double y)
-{
-    MapObj::move (x,y);
-    positionBBox();
-}
-
-void OrnamentedObj::move (QPointF p)
-{
-    move (p.x(), p.y());
-}   
-
-void OrnamentedObj::moveBy (double x, double y)
-{
-    MapObj::moveBy (x,y);
-    frame->moveBy (x,y);
-    systemFlags->moveBy (x,y);
-    standardFlags->moveBy (x,y);
-    heading->moveBy (x,y);
-    updateLinkGeometry();
-    requestReposition();
-}
-
-void OrnamentedObj::moveBy (QPointF p)
-{
-    moveBy (p.x(), p.y());
-}   
-
-void OrnamentedObj::move2RelPos(double x, double y)
-{
-    setRelPos (QPointF(x,y));
-    if (parObj)
-    {
-       QPointF p=parObj->getChildRefPos();
-       move (p.x() + x, p.y() + y);
-    }
-}
-
-void OrnamentedObj::move2RelPos(QPointF p)
-{
-    move2RelPos (p.x(), p.y());
-}
-
-void OrnamentedObj::activateStandardFlag(Flag *flag)
-{
-    standardFlags->activate(flag);
-    calcBBoxSize();
-    positionBBox();
-    move (absPos.x(), absPos.y() );
-    forceReposition();
-}
-
-void OrnamentedObj::deactivateStandardFlag(const QString &name)
-{
-    standardFlags->deactivate(name);
-    calcBBoxSize();
-    positionBBox();
-    move (absPos.x(),absPos.y() );
-    forceReposition();
-}
-
-
-QString OrnamentedObj::getSystemFlagName(const QPointF &p) 
-{
-    return systemFlags->getFlagName(p);        
-}
-
-QRectF OrnamentedObj::getBBoxFlag (const QString &s)
-{
-    FlagObj *fo=systemFlags->findFlag (s);
-    if (fo) return fo->getBBox();
-    fo=standardFlags->findFlag (s);
-    if (fo) return fo->getBBox();
-    return QRectF();
-}
-
diff --git a/ornamentedobj.h b/ornamentedobj.h
deleted file mode 100644 (file)
index 0a2717b..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef ORNAMENTEDOBJ_H
-#define ORNAMENTEDOBJ_H
-
-#include "frameobj.h"
-#include "linkablemapobj.h"
-
-class TreeItem;
-
-/*! \brief Adds various ornaments and data to the class LinkableMapObj
-
-The ornaments are:
-    - frame
-    - note
-    - references
-    - flags
-    - standard flags
-    - system flags
- */
-//    - attributes (key/value pairs)  
-
-class OrnamentedObj:public LinkableMapObj {
-public:        
-    OrnamentedObj (QGraphicsItem* parent, TreeItem *ti=NULL);
-    virtual ~OrnamentedObj ();
-    virtual void init ();
-    virtual void copy (OrnamentedObj*);
-
-    virtual void setLinkColor();       // sets color according to colorhint, overloaded
-    virtual void setColor(QColor);     // set the color of text and link
-    QColor getColor ();                    // get color of heading
-    QRectF getBBoxHeading();
-
-    virtual void setRotation (const qreal &a);
-    virtual FrameObj* getFrame();
-    virtual FrameObj::FrameType getFrameType ();
-    virtual QString getFrameTypeName ();
-    virtual void setFrameType (const FrameObj::FrameType &);
-    virtual void setFrameType (const QString &);
-    virtual void setFramePadding (const int &);
-    virtual int  getFramePadding ();
-    virtual void setFrameBorderWidth(const int &);
-    virtual int  getFrameBorderWidth ();
-    virtual void setFramePenColor (QColor);
-    virtual QColor getFramePenColor ();
-    virtual void setFrameBrushColor (QColor);
-    virtual QColor getFrameBrushColor ();
-    virtual void setFrameIncludeChildren (bool);
-    virtual bool getFrameIncludeChildren ();
-    virtual QRectF getOrnamentsBBox();
-
-    virtual void positionContents();
-    virtual void move   (double,double);
-    virtual void move   (QPointF);
-    virtual void moveBy (double,double);
-    virtual void moveBy (QPointF);
-    virtual void move2RelPos (QPointF);            // move relativly to parent^
-    virtual void move2RelPos (double,double);
-
-    virtual void activateStandardFlag(Flag *flag);
-    virtual void deactivateStandardFlag(const QString &name);
-    virtual QString getSystemFlagName (const QPointF &p);
-    virtual QRectF getBBoxFlag (const QString &name);
-
-protected:
-    HeadingObj *heading;       // Heading
-    FlagRowObj *systemFlags;       // System Flags
-    FlagRowObj *standardFlags;     // Standard Flags
-    FrameObj *frame;           // frame around object
-    QRectF ornamentsBBox;      // bbox of flags and heading
-};
-
-#endif
diff --git a/parser.cpp b/parser.cpp
deleted file mode 100644 (file)
index 1c3e278..0000000
+++ /dev/null
@@ -1,630 +0,0 @@
-#include "parser.h"
-
-#include <QDebug>
-#include <QRegExp>
-#include <iostream>
-
-#include "command.h"
-#include "treeitem.h"
-
-extern QList <Command*> modelCommands;
-
-Parser::Parser()
-{
-    initParser();
-}
-
-void Parser::initParser()
-{
-    initAtom();
-    current=-1;
-}
-
-void Parser::initAtom()
-{
-    atom="";
-    com="";
-    paramList.clear();
-    errLevel=NoError;
-    errDescription="";
-    errMessage="";
-}
-
-void Parser::parseAtom (QString s)
-{
-    initAtom();
-    QRegExp re;
-    int pos;
-
-    // Strip WS at beginning
-    while (s.length() > 0 && (
-               s.at(0) == '\n' ||
-               s.at(0) == '\r' ||
-               s.at(0) == ' ') )
-        s = s.mid(1);
-    if (s.length() == 0)
-        return;
-
-    // Get command
-    re.setPattern ("^(\\w*)");
-    pos=re.indexIn (s);
-    if (pos>=0)
-       com=re.cap(1);
-
-    // Get parameters
-    paramList.clear();
-    QString t;
-    int leftParenthesis;
-    int rightParenthesis;
-    if (!nextParenthesisContents(s, leftParenthesis, rightParenthesis, t)) return;
-
-    paramList = findParameters(t);
-    atom = s;
-}
-
-QString Parser::getAtom()
-{
-    return atom;
-}
-
-QString Parser::getCommand()
-{
-    return com;
-}
-
-QStringList Parser::getParameters()
-{
-    return paramList;
-}
-
-int Parser::parCount()
-{
-    return paramList.count();
-}
-
-QString Parser::errorMessage()
-{
-    QString l;
-    switch (errLevel)
-    {
-       case NoError: l="No Error"; break;
-       case Warning: l="Warning"; break;
-       case Aborted: l="Aborted"; break;
-        default: l="";
-    }
-    return QString ("Error Level: '%1'  Command: '%2' Description: '%3'")
-       .arg(l).arg(com).arg(errDescription);
-}
-
-QString Parser::errorDescription()
-{
-    return errDescription;
-}
-
-ErrorLevel Parser::errorLevel()
-{
-    return errLevel;
-}
-
-void Parser::setError(ErrorLevel level, const QString &description)
-{
-    errDescription=description;
-    errLevel=level;
-}
-
-bool Parser::checkParameters(TreeItem *selti)
-{
-    foreach (Command *c, modelCommands)
-    {
-       if (c->getName() == com)
-       {
-           // Check type of selection
-           if (selti)
-           {
-               bool ok;
-               ok=false;
-               TreeItem::Type st=selti->getType();
-               Command::SelectionType ct=c->getSelectionType();
-               if (ct==Command::TreeItem || ct==Command::BranchOrImage)
-               {
-                   if (st==TreeItem::MapCenter ||
-                       st==TreeItem::Branch ||
-                       st==TreeItem::XLink ||
-                       st==TreeItem::Image ) 
-                       ok=true;
-               } else if ( ct==Command::BranchOrImage )
-               {
-                   if (st==TreeItem::MapCenter ||
-                       st==TreeItem::Branch ||
-                       st==TreeItem::Image ) 
-                       ok=true;
-               } else if ( ct==Command::Branch || ct==Command::BranchLike)
-               {
-
-                   if (st == TreeItem::MapCenter ||
-                       st == TreeItem::Branch )
-                       ok=true;
-               } else if ( ct==Command::Image )            
-               {
-                   if (st==TreeItem::Image )
-                       ok=true;
-               } else if ( ct==Command::Any)       
-               {
-                   ok=true;
-               } else if ( ct==Command::XLink)     
-               {
-                   if (st==TreeItem::XLink)
-                       ok=true;
-               } else
-                   qWarning()<<"Parser::checkParameters  Unknown selection type";
-               if (!ok)
-               {
-                   setError (Aborted, "Selection does not match command");
-                   return false;
-               }
-           }
-
-           // Check for number of parameters
-           int optPars=0;
-           for (int i=0; i < c->parCount(); i++ )
-               if (c->isParOptional(i) ) optPars++;
-           if (paramList.count() < (c->parCount() - optPars) ||
-               paramList.count() > c->parCount() )
-           {
-               QString expected;
-               if (optPars>0)
-                   expected=QString("%1..%2").arg(c->parCount()-optPars).arg(c->parCount() );
-               else 
-                   expected=QString().setNum(c->parCount());
-               setError (
-                   Aborted,
-                   QString("Wrong number of parameters: Expected %1, but found %2").arg(expected).arg(paramList.count()));
-               return false;
-           }
-
-           // Check types of parameters
-           bool ok;
-           for (int i=0; i < paramList.count(); i++ )
-           {   
-               switch (c->getParType(i) )
-               {
-                   case Command::String:
-                       parString (ok,i);
-                        if (!ok) 
-                        {
-                            // Convert to string implicitly
-                            paramList[i]='"' + paramList[i] + '"';
-                            ok=true;
-                        }
-                       break;
-                   case Command::Int:  
-                       parInt (ok,i);
-                       break;
-                   case Command::Double:       
-                       parDouble (ok,i);
-                       break;
-                   case Command::Color:        
-                       parColor (ok,i);
-                       break;
-                   case Command::Bool: 
-                       parBool (ok,i);
-                       break;
-                   default: ok=false;  
-               }
-               if (!ok)
-               {
-                   setError (
-                       Aborted, 
-                       QString("Parameter %1 has wrong type").arg(i));
-                   return false;
-               }
-           }
-           resetError();
-           return true;
-       }    
-    } 
-    setError (Aborted,"Unknown command");
-    return false;
-}
-
-void Parser::resetError ()
-{
-    errMessage="";
-    errDescription="";
-    errLevel=NoError;
-}
-
-bool Parser::checkParCount (const int &expected)
-{
-    if (paramList.count()!=expected)
-    {
-       setError (
-           Aborted,
-           QString("Wrong number of parameters: Expected %1, but found %2").arg(expected).arg(paramList.count()));
-       return false;
-    } 
-    return true;    
-}
-
-bool Parser::checkParIsInt(const int &index)
-{
-    bool ok;
-    if (index > paramList.count())
-    {
-       setError (
-           Aborted,
-           QString("Parameter index %1 is outside of parameter list").arg(index));
-       return false;
-    } else
-    {
-       paramList[index].toInt (&ok, 10);
-       if (!ok)
-       {
-           setError (
-               Aborted,
-               QString("Parameter %1 is not an integer").arg(index));
-           return false;
-       } 
-    }  
-    return true;
-}
-
-bool Parser::checkParIsDouble(const int &index)
-{
-    bool ok;
-    if (index > paramList.count())
-    {
-       setError (
-           Aborted,
-           QString("Parameter index %1 is outside of parameter list").arg(index));
-       return false;
-    } else
-    {
-       paramList[index].toDouble (&ok);
-       if (!ok)
-       {
-           setError (
-               Aborted,
-               QString("Parameter %1 is not double").arg(index));
-           return false;
-       } 
-    }  
-    return true;
-}
-
-int Parser::parInt (bool &ok,const uint &index)
-{
-    if (checkParIsInt (index))
-       return paramList[index].toInt (&ok, 10);
-    ok=false;
-    return 0;
-}
-
-QString Parser::parString (bool &ok, const int &index)
-{
-    // return the string at index, this could be also stored in
-    // a variable later
-    
-    // Try to find out if string boundaries are "" or ''
-    QRegExp rx;
-    int pos = paramList[index].indexOf("\"");
-    int n   = paramList[index].indexOf("'");
-
-    if ( n < 0 && pos < 0 )
-    {
-        // Neither " nor ' found
-        ok = false;
-        return "";
-    } else if ( pos >= 0 && n < 0) 
-        // Found ", but no ' 
-        rx.setPattern("\"(.*)\"");
-    else if ( n >= 0 && pos < 0) 
-        // Found ', but no "
-        rx.setPattern("'(.*)'");
-    else if ( pos > n )
-        // "" is within ''
-        rx.setPattern("'(.*)'");
-    else
-        // '' is within ""
-        rx.setPattern("\"(.*)\"");
-
-
-
-    QString r;
-    pos=rx.indexIn (paramList[index]);
-    if (pos>=0)
-    {
-       r = rx.cap (1);
-       ok = true;
-    } else    
-    {
-       r = "";
-       ok = false;
-    }
-    return r;
-}
-
-bool Parser::parBool (bool &ok,const int &index)
-{
-    // return the bool at index, this could be also stored in
-    // a variable later
-    QString r;
-    ok=true;
-    QString p=paramList[index];
-    if (p=="true" || p=="1")
-       return true;
-    else if (p=="false" || p=="0")
-       return false;
-    ok=false;
-    return ok;
-}
-
-QColor Parser::parColor(bool &ok,const int &index)
-{
-    // return the QColor at index
-    ok = false;
-    QString r;
-    QColor c;
-
-    // testscipts use single quotes, convert them first
-    paramList[index].replace ("'", "\"");
-    QRegExp re("\"(.*)\"");
-    int pos = re.indexIn (paramList[index]);
-    if (pos >= 0)
-    {
-       r = re.cap (1);
-       c.setNamedColor(r);
-       ok = c.isValid();
-    }  
-    return c;
-}
-
-double Parser::parDouble (bool &ok,const int &index)
-{
-    if (checkParIsDouble (index))
-       return paramList[index].toDouble (&ok);
-    ok=false;
-    return 0;
-}
-
-void Parser::setScript(const QString &s)
-{
-    script=s;
-}   
-
-QString Parser::getScript()
-{
-    return script;
-}   
-
-void Parser::execute()
-{
-    current=0;
-}   
-
-bool Parser::next() //FIXME-3 parser does not detect missing closing " or '("foo" ()'
-{
-    int start=current;
-    if (current<0) execute();
-    if (current+1>=script.length()) return false;
-
-    bool inQuote=false;
-    QChar bnd;
-
-    while (true)
-    {
-        // Check if we are inside a string
-        if (script.at(current) == '\"')
-        {
-            if (inQuote)
-            {
-                if (script.at(current) == bnd)
-                    inQuote=false;
-            } else
-            {
-                inQuote = true;
-                bnd = '\"';
-            }
-        } else if (script.at(current) == '\'' )
-        {
-            if (inQuote)
-            {
-                if (script.at(current) == bnd)
-                    inQuote=false;
-            } else
-            {
-                inQuote = true;
-                bnd = '\'';
-            }
-        }
-
-        // Check for EOL
-        if (script.at(current) == '\n')
-        {
-            if (current+1 < script.length())
-            {
-                current++;
-                if (script.at(current) == '\r')
-                    current++;
-            }
-        }
-
-        // Check if we are in a comment
-        if (!inQuote && script.at(current)=='#')
-        {
-            while (script.at(current)!='\n')
-            {
-                current++;
-                if (script.at(current) == '\r')
-                    current++;
-                if (current+1>=script.length())
-                    return false;
-            }
-            start=current;
-        }
-
-        // Check for end of atom
-        if (!inQuote && script.at(current)==';')
-        {
-            parseAtom(script.mid(start,current-start) );
-            current++;
-            return true;
-        }
-
-        // Check for end of script
-        if (current+1>=script.length() )
-        {
-            if (inQuote)
-            {
-                setError (Aborted,"Runaway string");
-                return false;
-            } else
-            {
-                atom=script.mid(start);
-                return true;
-            }
-        }
-        current++;
-    }
-}   
-
-QStringList Parser::getCommands() 
-{
-    QStringList list;
-    foreach (Command *c, modelCommands)
-       list.append (c->getName() );
-    return list;       
-}
-
-QStringList Parser::findParameters(const QString &s)
-{
-    QStringList ret;
-    int left = 0;
-    bool inquote = false;
-
-    // Try to find out if string boundaries are "" or ''
-    QString bnd;
-    int pos = s.indexOf("\"");
-    int n   = s.indexOf("'");
-
-    if ( n < 0 && pos < 0 )
-    {
-        // Neither " nor ' found, ignore later
-        bnd = "\"";
-    } else if ( pos >= 0 && n < 0) 
-        // Found ", but no ' 
-        bnd = "\"";
-    else if ( n >= 0 && pos < 0) 
-        // Found ', but no "
-        bnd = "'";
-    else if ( pos > n )
-        // "" is within ''
-        bnd = "'";
-    else
-        // '' is within ""
-        bnd = "\"";
-
-    pos = 0;
-    while (pos < s.length())
-    {
-        if (s.at(pos) == bnd ) 
-        {
-            if (inquote)
-                inquote = false;
-            else    
-                inquote = true;
-        }
-        if (s.at(pos) == ',' && !inquote)
-        {
-            ret << s.mid(left, pos - left );
-            left = pos + 1;
-        }
-        pos++;
-    }
-    if (left > 0) 
-        ret << s.mid(left, pos - left );
-    else
-        if (!s.isEmpty()) ret << s;
-    return ret;
-}
-
-bool Parser::nextParenthesisContents(
-        const QString &s, 
-        int &leftParenthesis, 
-        int &rightParenthesis, 
-        QString &contents)
-{
-    int pos = 0;
-    int leftP  = -1;
-    int rightP = -1;
-    int openParenthesis = 0;
-    bool inQuote = false;
-    QChar bnd;
-    while (pos < s.length())
-    {
-        // Check if we are inside a string
-        if (s.at(current) == '\"')
-        {
-            if (inQuote)
-            {
-                if (s.at(current) == bnd)
-                    inQuote=false;
-            } else
-            {
-                inQuote = true;
-                bnd = '\"';
-            }
-        } else if (s.at(current) == '\'' )
-        {
-            if (inQuote)
-            {
-                if (s.at(current) == bnd)
-                    inQuote=false;
-            } else
-            {
-                inQuote = true;
-                bnd = '\'';
-            }
-        }
-
-        if (s.at(pos) == '(' && !inQuote)
-        {
-            openParenthesis++;
-            if (openParenthesis == 1) leftP=pos;
-        }
-
-        if (s.at(pos) == ')' && !inQuote)
-        {
-            openParenthesis--;
-            if (openParenthesis == 0) rightP=pos;
-        }
-
-        if (openParenthesis < 0) 
-        {
-            setError(Aborted, "Error, too many closing parenthesis!");
-            return false;
-        }
-
-        pos++;
-    }
-
-    if (leftP < 0)
-    {
-        setError(Aborted, "Error: No left parenthesis found");
-        return false;
-    }
-
-    if (rightP < 0) 
-    {
-        setError(Aborted, "Error: No right parenthesis found");
-        return false;
-    }
-
-    contents = s.mid(leftP+1, rightP - leftP - 1);
-    pos = leftParenthesis;
-    leftParenthesis  = leftP;
-    rightParenthesis = rightP;
-
-    return true;
-}
-
diff --git a/parser.h b/parser.h
deleted file mode 100644 (file)
index e4df328..0000000
--- a/parser.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef PARSER_H
-#define PARSER_H
-
-#include <QColor>
-#include <QStringList>
-
-enum ErrorLevel {NoError,Warning,Aborted};
-
-class Command;
-class TreeItem;
-
-class Parser
-{
-public:
-    Parser();
-    void parseAtom (QString input);
-    QString getAtom();
-    QString getCommand();
-    QStringList getParameters();
-    int parCount();
-    QString errorMessage();
-    QString errorDescription();
-    ErrorLevel errorLevel();
-    void setError (ErrorLevel level,const QString &description);
-    void resetError();
-    bool checkParameters(TreeItem *selti);
-    bool checkParCount (const int &index);
-    bool checkParIsInt (const int &index);
-    bool checkParIsDouble (const int &index);
-    int parInt (bool &,const uint &index);
-    QString parString(bool &ok,const int &index);
-    bool parBool (bool &ok, const int &index);
-    QColor parColor (bool &ok, const int &index);
-    double parDouble (bool &ok, const int &index);
-
-    void setScript (const QString &);
-    QString getScript();
-    void execute();
-    bool next();
-
-    QStringList getCommands(); 
-
-protected:
-    QStringList findParameters(const QString &s);
-    bool nextParenthesisContents(
-            const QString &s, 
-            int &leftParenthesis, 
-            int &rightParenthesis, 
-            QString &contents);
-
-private:
-    void initParser();
-    void initAtom();
-
-    QString input;
-    QString atom;
-    QString com;
-    QStringList paramList;
-    int current;
-    QString script;
-
-    QString errMessage;
-    QString errDescription;
-    ErrorLevel errLevel;
-};
-
-#endif
diff --git a/release-notes-2.9.md b/release-notes-2.9.md
new file mode 100644 (file)
index 0000000..8e8c766
--- /dev/null
@@ -0,0 +1,164 @@
+Release notes VYM - View Your Mind
+==================================
+
+
+The lists below show differences between vym 2.8.0 and 2.9.x.
+
+Feel free to report any bugs or feature requests on
+[https://github.com/insilmaril/vym/issues](https://github.com/insilmaril/vym/issues)
+
+Thanks for using vym!
+
+Uwe Drechsel - August 2023
+
+
+## Version 2.9.22
+
+### Features
+
+* Feature: Support multiple Jira instances with specific authentication methods
+* Feature: Floppy disk icon for unsaved maps better visible, if active
+* Feature: Upload images also for new Confluence pages
+* Feature: New commands to control visuals of selection box
+* Feature: added script to set colors of selection box for dark theme:
+    - demos/scripts/setSelectionBoxDarkTheme.vys
+cannot understand every of the newer elements <mapdesign> and <md>.
+* Feature: Center on selection and fit to view with Key_Period + Key_Shift
+* Feature: Delete vymLink with Ctrl-Shift click
+* Feature: Scale pasted images to 300px width
+* Feature: Define pen color, width and brush for selection box
+    - setSelectionPenColor
+    - setSelectionPenWidth
+    - setSelectionBrushColor
+* Feature: Option to 'never' use dark theme
+* Feature: Support Personal Access Tokens for Jira and Confluence
+* Feature: Improved animated centering on selection (Shortcut: Key_Period)
+* Feature: For multiple selected items show count in status line
+* Feature: Scale images on the fly  
+    This allows to paste and shrink images (Ctrl + "-"), but when zooming in
+    the images are not pixelized, but still have original resolution.
+    Storing e.g. screenshots is more efficient this way.
+
+### Bugfixes
+
+* Bugfix: Creating Confluence page without attachments
+* Bugfix: Icon and status of view icons
+* Bugfix: disabled all icons when no map is available.
+* Bugfix: Fixed layout of dialog for Confluence export
+* Bugfix: Improved adding new branches at border of current scene
+* Bugfix: Urls and VymLinks shown again in statusBar
+* Bugfix: Wrong positon of selection box of xlinks control points, resulting in crazy scrolling, when control point is selected.
+* Bugfix: [#79](https://github.com/insilmaril/vym/issues/79) quell linking error (#79)
+* Bugfix: Set selection background color in TreeEditor
+* Bugfix: Also center on selected branch when using HeadingEditor while editing a heading
+* Bugfix: Save colors of headings
+* Bugfix: Editing long plainText headings might open HeadingEditor
+* Bugfix: [#65](https://github.com/insilmaril/vym/issues/65) and #71 Colors in NoteEditor with RichText
+* Bugfix: [#76](https://github.com/insilmaril/vym/issues/76) Editing heading of zoomed in view causes panning
+* Bugfix: When zooming in/out using mouse wheel don't change rotation
+* Bugfix: Background colors in HeadingEditor
+* Bugfix: [#40](https://github.com/insilmaril/vym/issues/40) Editing PlainText headings with linebreaks
+* Bugfix: [#75](https://github.com/insilmaril/vym/issues/75) TreeEditor and Linebreaks in headings
+* Bugfix: [#73](https://github.com/insilmaril/vym/issues/73) Default maps should not have word default in MapCenter
+* Bugfix: [#72](https://github.com/insilmaril/vym/issues/72) Improved support to load new default maps
+* Bugfix: [#74](https://github.com/insilmaril/vym/issues/74) HTML export uses word wrap for PlainText notes
+* Bugfix: Update HeadingEditor for RichText heading, when frame background changes
+* Bugfix: Update color and heading of HeadingEditor
+* Bugfix: [#70](https://github.com/insilmaril/vym/issues/70) HeadingEditor doesn't use map background when switching on RichText mode
+* Bugfix: [#70](https://github.com/insilmaril/vym/issues/70) settings override macroPath, if local option is used "-l"
+* Bugfix: [#68](https://github.com/insilmaril/vym/issues/68) HeadingEditor doesn't update after in MapEditor
+* Bugfix: Consider zoomFactor after load when scrolling to selection
+* Bugfix: Set color and width of legacy xlink
+
+### Changes
+
+* Change: Use Control modifier instead of Shift to only move MapCenter
+* Change: Compatibility with 2.9.514: Some elements can be read, even if vym
+
+
+
+## Version 2.9.2
+
+### Bugfixes
+* Bugfix: #64 Read notes correctly from (very old) maps
+
+## Version 2.9.0
+This version provides bugfixes and some new features. The biggest
+and most visible changes are dark theme support and an extended color bar
+to select colors. 
+
+The platform support has been improved, native Mac version is available
+(again) and also binaries for various Linux flavors. See the 
+[README.md](https://github.com/insilmaril/vym/blob/release/README.md)
+for details
+
+### Features
+
+* Feature: Dark theme
+* Feature: Increase max. number of recent maps to 20
+* Feature: Reset priority delta for visible tasks (all maps)
+* Feature: Toggle target for multiple selected items
+* Feature: Copying and pasting between vym instances and pasting images
+* Feature: Added desktop files for easier packaging accross Linux distros
+* Feature: Larger font size for editing headings on WIndows
+* Feature: Scripting commands to edit heading and get depth of branch
+* Feature: Introduced colors toolbar (#39)
+* Feature: Use expand macro in Confluence export for scrolled branches
+* Feature: Move branches diagonally with Ctrl-PageUp/Down
+* Feature: Enable openSSL on Windows
+* Feature: Add information from JIRA as attributes
+* Feature: Toggle flag for multiselection
+* Feature: Confluence and JIRA support
+* Feature: Cycle tasks by clicking status in taskeditor
+* Feature: Cursor up/down + Shift-key can be used to select multiple branches
+* Feature: Updated translations for Greek and German
+
+### Bugfixes
+
+* Bugfix: #52 Saving part of map overwrites original map
+* Bugfix: #48 lockfile cannot be renamed on Windows
+* Bugfix: Read map attributes for default map
+* Bugfix: Create translation files during build
+* Bugfix: German translation to show keyboard macros in help menu
+* Bugfix: Set URL when getting Jira data
+* Bugfix: Use mapname and correct postfic when exporting
+* Bugfix: #25 treeEditor opens when pasting images
+* Bugfix: less compiler warnings related to deprecated Qt
+* Bugfix: Restore state of treeEditor and slideEditor from settings in map after load
+* Bugfix: Don't set URL for Jira ticket, if Jira pattern is not known
+* Bugfix: Umlauts when exporting to a Confluence page
+* Bugfix: undo/redo when toggling task via F12-macro
+* Bugfix: Allow selecting text while editing a heading in QLineEdit
+* Bugfix: Remove invalid QModelIndex warning when relinking images from mainbranch to center
+* Bugfix: Avoid jumping of view when adding branches to center"
+* Bugfix: Reset current text format when switching from RichText to PlainText
+* Bugfix: Unused duplicate branchPropertyEditor dockwidget removed
+* Bugfix: Setting  for Windows data-root directory (#36)
+* Bugfix: vymBaseDir improvements (#34)
+* Bugfix: Don't trigger reposition when selection changes
+* Bugfix: Relink branches and keep parent
+* Bugfix: set CMAKE_INSTALL_DATAROOTDIR (#24)
+* Bugfix: #31 Confluence export missing siblinigs of hidden first branch
+* Bugfix: #26 tabname for save but unchanged maps does not update
+* Bugfix: Getting user info from Confluence
+* Bugfix: Freemind import
+* Bugfix: exportLast of Markdown export
+* Bugfix: piping plaintext mails from mutt into note
+* Bugfix: Cycling tasks in taskeditor
+* Bugfix: Links to images (color and hiding)
+* Bugfix: Don't give up on unknown tags when importing Freeplane
+* Bugfix: Remove unnecessary columns from taskeditor
+* Bugfix: #14 Packaging for openSUSE: Set vymBaseDir correctly
+* Bugfix: Trash button in NoteEditor
+* Bugfix: vym crashed, when cursor left/right was used and multiple branches were selected
+* Bugfix: Copy to new map
+* Bugfix: crash while checking an empty directory (#9)
+
+Changes:
+--------
+
+* Changed: Settings for JIRA and Confluence
+* Changed: Moved functionality of recover session into restore ression
+* Changed: Sleeping tasks keep their priority (Before prio was lowered and sleeping tasks dropped to bottom.)
+* Changed: Removed unused Bugzilla script
+* Changed: Builds now use cmake
diff --git a/scripteditor.cpp b/scripteditor.cpp
deleted file mode 100644 (file)
index e914898..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-#include "scripteditor.h"
-
-#include <QDebug> //FIXME-3 testing
-#include <QFileDialog>
-#include <QMessageBox>
-#include <QTextStream>
-
-#include "command.h"
-#include "macros.h"
-#include "mainwindow.h"
-#include "options.h"
-#include "slideitem.h"
-#include "slidemodel.h"
-#include "vymmodel.h"
-
-extern QString vymName;
-extern QList <Command*> modelCommands;
-extern QDir lastMapDir;
-extern Macros macros;
-extern Main *mainWindow;
-extern Options options;
-
-ScriptEditor::ScriptEditor (QWidget *parent):QWidget(parent)
-{
-    ui.setupUi (this);
-
-    //connect ( ui.openButton, SIGNAL (clicked() ), this, SLOT (openClicked() ));
-    connect ( ui.saveSlideButton, SIGNAL (clicked() ), this, SLOT (saveSlide() ));
-    //connect ( ui.saveAsButton, SIGNAL (clicked() ), this, SLOT (saveAsClicked() ));
-    connect ( ui.runButton,  SIGNAL (clicked() ), this, SLOT (runClicked() ));
-    connect ( ui.macroRunButton,  SIGNAL (clicked() ), this, SLOT (runClicked() ));
-    connect ( ui.macroLoadButton, SIGNAL (pressed()), this, SLOT (loadMacroClicked() ) );
-    connect ( ui.macroSaveButton, SIGNAL (pressed()), this, SLOT (saveMacroClicked() ) );
-
-
-    vymModelID=-1;
-
-    // Initialize Editor
-    QFont font;
-    font.setFamily("Courier");
-    font.setFixedPitch(true);
-    font.setPointSize(12);
-    ui.editor->setFont(font);
-
-    ui.modeTabWidget->setTabText(0,tr("Slide","Mode in scriptEditor"));
-    ui.modeTabWidget->setTabText(1,tr("Macro","Mode in scriptEditor"));
-
-    ui.keyCombo->insertItem(0, QString("---") );
-
-    // Init function key selection
-    for (int i=0; i<24; i++)
-    {
-        QString prefix="";
-        if (i>11) prefix="Shift +";
-        int n=i%12 + 1;
-        ui.keyCombo->insertItem(i, QString("%1 F%2").arg(prefix).arg(n) );
-    }
-    
-    highlighter = new Highlighter(ui.editor->document());
-    QStringList list;
-    foreach (Command *c, modelCommands)
-       list.append (c->getName() );
-    highlighter->addKeywords (list);
-
-    QAction *a = new QAction( tr( "Save","ScriptEditor" ), ui.editor);
-    a->setShortcut (Qt::CTRL + Qt::Key_S );     
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( saveSlide() ) );
-}
-
-void ScriptEditor::setScriptFile(const QString &fn) 
-{
-    QFile f( fn );
-    if ( !f.open( QFile::ReadOnly|QFile::Text ) )
-    {
-       QString error (QObject::tr("Error"));
-       QString msg (QObject::tr("Couldn't open \"%1\"\n%2.").arg(fn).arg(f.errorString()));
-       if (options.isOn("batch"))
-           qWarning ()<<error+": "+msg;
-       else    
-           QMessageBox::warning(0, error,msg);
-       return;
-    }  
-
-    QTextStream in( &f );
-    ui.editor->setText (in.readAll());
-    f.close();
-}
-
-void ScriptEditor::saveFile()
-{
-    QFile f( filename );
-    if ( !f.open( QIODevice::WriteOnly ) ) 
-    {
-        QMessageBox::warning(0, QObject::tr("Error"),QObject::tr("Couldn't save \"%1\"").arg(filename));
-        return;
-    }
-
-    QTextStream t( &f );
-    t.setCodec("UTF-8");
-    t << ui.editor->toPlainText();
-    f.close();
-}
-
-void ScriptEditor::saveSlide()
-{
-    VymModel *vm=mainWindow->getModel(vymModelID);
-    if (!vm)
-    {
-       QMessageBox::warning(0,tr("Warning"),tr("Couldn't get model to save script into slide!"));
-       return;
-    }
-    SlideItem *si=vm->getSlideModel()->findSlideID(slideID);
-    if (!si)
-    {
-       QMessageBox::warning(0,tr("Warning"),tr("Couldn't find slide to save script into slide!"));
-       return;
-    }
-    si->setInScript(ui.editor->toPlainText());
-}
-
-void ScriptEditor::setSlideScript(uint model_id, uint slide_id,const QString &s)
-{
-    vymModelID=model_id;
-    slideID=slide_id;
-    mode=Slide;
-    ui.editor->setText(s);
-}
-
-void ScriptEditor::saveClicked()
-{
-    if (filename.isEmpty() )
-       saveAsClicked();
-    else
-       saveFile();
-}
-
-void ScriptEditor::saveAsClicked()
-{
-    QString fn = QFileDialog::getSaveFileName( 
-       this, 
-       QString (vymName + " - " +tr("Save script")),
-       QString (),
-       "VYM script (*.vys);;All files (*)",
-       0,
-       QFileDialog::DontConfirmOverwrite);
-       
-    if ( !fn.isEmpty() ) 
-    {
-       QFile file (fn);
-       if (file.exists())
-       {
-           QMessageBox mb( vymName,
-               tr("The file %1\nexists already.\nDo you want to overwrite it?","dialog 'save as'").arg(fn),
-           QMessageBox::Warning,
-           QMessageBox::Yes | QMessageBox::Default,
-           QMessageBox::Cancel | QMessageBox::Escape,
-           Qt::NoButton );
-           mb.setButtonText( QMessageBox::Yes, tr("Overwrite") );
-           mb.setButtonText( QMessageBox::No, tr("Cancel"));
-           switch( mb.exec() ) 
-           {
-               case QMessageBox::Yes:
-                   // save 
-                   filename = fn;
-                   saveFile();
-                   return;
-               case QMessageBox::Cancel:
-                   // do nothing
-                   return;
-           }
-       } 
-       filename=fn;
-       saveFile();
-    }
-}
-
-void ScriptEditor::openClicked()
-{
-    QString filter("VYM scripts (*.vys);;All (*)");
-    QString fn=QFileDialog::getOpenFileName( 
-       this,
-       vymName+" - " + tr("Load script"), 
-       lastMapDir.path(), 
-       filter);
-
-    if (!fn.isEmpty() )
-    {
-       QFile f( fn);
-       if ( !f.open( QIODevice::ReadOnly ) )
-       {
-           QMessageBox::warning(0, 
-               tr("Error"),
-               tr("Couldn't open %1.\n").arg(filename));
-           return;
-       }   
-
-       QTextStream ts( &f );
-    ts.setCodec("UTF-8");
-    ui.editor->setText( ts.readAll() );
-       f.close();
-       lastMapDir.setPath(fn.left(fn.lastIndexOf ("/")) );
-    }
-}
-
-void ScriptEditor::runClicked()
-{
-    emit runScript (ui.editor->toPlainText() );
-}
-
-void ScriptEditor::loadMacroClicked()
-{
-    QString m=macros.getMacro (ui.keyCombo->currentIndex()+1);
-    if (!m.isEmpty())
-    ui.editor->setText (m);
-}
-void ScriptEditor::saveMacroClicked()
-{
-    filename=macros.getPath(ui.keyCombo->currentIndex());
-    saveFile();
-}
diff --git a/scripteditor.h b/scripteditor.h
deleted file mode 100644 (file)
index f6dd188..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef SCRIPTEDITOR_H
-#define SCRIPTEDITOR_H
-
-#include "ui_scripteditor.h"
-
-#include "highlighter.h"
-
-class VymModel;
-
-class ScriptEditor:public QWidget
-{
-    Q_OBJECT
-
-public:
-    enum Mode {Slide,File};
-private:
-    Mode mode;
-    uint vymModelID;
-    uint slideID;
-
-public:
-    ScriptEditor (QWidget* parent = 0);
-    void setScriptFile (const QString &fn);
-    void saveFile();
-    void setSlideScript(uint vymModelID, uint slideID, const QString &);
-
-public slots:
-    void saveSlide();
-    void saveClicked();
-    void saveAsClicked();
-    void openClicked();
-    void runClicked();
-    void loadMacroClicked();
-    void saveMacroClicked();
-
-signals:
-    void runScript (QString);
-    
-private:
-    Ui::ScriptEditor ui;
-    QString filename;
-    Highlighter *highlighter;
-};
-
-
-#endif 
diff --git a/scripteditor.ui b/scripteditor.ui
deleted file mode 100644 (file)
index f5b4d65..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ScriptEditor</class>
- <widget class="QWidget" name="ScriptEditor">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>714</width>
-    <height>507</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout_2">
-   <item>
-    <widget class="QTextEdit" name="editor">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QTabWidget" name="modeTabWidget">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
-     </property>
-     <property name="maximumSize">
-      <size>
-       <width>16777215</width>
-       <height>67</height>
-      </size>
-     </property>
-     <property name="currentIndex">
-      <number>0</number>
-     </property>
-     <widget class="QWidget" name="slideTab">
-      <property name="accessibleDescription">
-       <string/>
-      </property>
-      <attribute name="title">
-       <string>Tab 1</string>
-      </attribute>
-      <layout class="QGridLayout" name="gridLayout_2">
-       <item row="0" column="1">
-        <widget class="QPushButton" name="saveSlideButton">
-         <property name="text">
-          <string>Save to selected slide</string>
-         </property>
-         <property name="shortcut">
-          <string/>
-         </property>
-        </widget>
-       </item>
-       <item row="0" column="2">
-        <spacer name="horizontalSpacer">
-         <property name="orientation">
-          <enum>Qt::Horizontal</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>530</width>
-           <height>20</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="1" column="1">
-        <spacer name="verticalSpacer_2">
-         <property name="orientation">
-          <enum>Qt::Vertical</enum>
-         </property>
-         <property name="sizeHint" stdset="0">
-          <size>
-           <width>97</width>
-           <height>0</height>
-          </size>
-         </property>
-        </spacer>
-       </item>
-       <item row="0" column="0">
-        <widget class="QPushButton" name="runButton">
-         <property name="text">
-          <string>Run</string>
-         </property>
-         <property name="shortcut">
-          <string/>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="macroTab">
-      <property name="enabled">
-       <bool>true</bool>
-      </property>
-      <attribute name="title">
-       <string>Tab 2</string>
-      </attribute>
-      <layout class="QGridLayout" name="gridLayout">
-       <item row="0" column="0">
-        <layout class="QVBoxLayout" name="verticalLayout">
-         <item>
-          <layout class="QHBoxLayout" name="horizontalLayout">
-           <property name="spacing">
-            <number>-1</number>
-           </property>
-           <property name="sizeConstraint">
-            <enum>QLayout::SetMinimumSize</enum>
-           </property>
-           <item>
-            <widget class="QLabel" name="label">
-             <property name="text">
-              <string>Current key:</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QComboBox" name="keyCombo"/>
-           </item>
-           <item>
-            <widget class="QPushButton" name="macroLoadButton">
-             <property name="text">
-              <string>Load</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QPushButton" name="macroSaveButton">
-             <property name="text">
-              <string>Save</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QPushButton" name="macroRunButton">
-             <property name="text">
-              <string>Run</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <spacer name="horizontalSpacer_2">
-             <property name="orientation">
-              <enum>Qt::Horizontal</enum>
-             </property>
-             <property name="sizeHint" stdset="0">
-              <size>
-               <width>308</width>
-               <height>20</height>
-              </size>
-             </property>
-            </spacer>
-           </item>
-          </layout>
-         </item>
-        </layout>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/scriptoutput.cpp b/scriptoutput.cpp
deleted file mode 100644 (file)
index 846981c..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "scriptoutput.h"
-
-ScriptOutput::ScriptOutput()
-{
-    editor = new QTextEdit(this);
-
-    QVBoxLayout *layout = new QVBoxLayout;
-    layout->addWidget(editor);
-    setLayout(layout);
-}
-
-ScriptOutput::~ScriptOutput()
-{
-    delete layout;
-    delete editor;
-}
-
-void ScriptOutput::setText(const QString &text)
-{
-    editor->setText(text);
-}
-void ScriptOutput::append(const QString &text)
-{
-    editor->append(text);
-}
diff --git a/scriptoutput.h b/scriptoutput.h
deleted file mode 100644 (file)
index 13af2ec..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef SCRIPTOUTPUT_H
-#define SCRIPTOUTPUT_H
-
-#include <QTextEdit>
-#include <QVBoxLayout>
-
-class ScriptOutput:public QWidget
-{
-    Q_OBJECT
-public:
-    ScriptOutput();
-    ~ScriptOutput();
-    void setText(const QString &text);
-    void append(const QString &text);
-
-private:
-    QTextEdit *editor;
-    QVBoxLayout *layout;
-};
-
-#endif // SCRIPTOUTPUT_H
diff --git a/scripts/bugger b/scripts/bugger
deleted file mode 100755 (executable)
index 9663583..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/ruby
-
-require 'bicho'
-
-server = Bicho::Client.new('https://bugzilla.novell.com')
-ARGV.each do |id| 
-  server.get_bugs(id).each do |bug|  
-    puts "#{id}:short_desc:\"#{bug.summary}\""
-    puts "#{id}:priority:\"#{bug.priority}\""
-    puts "#{id}:severity:\"#{bug.severity}\""
-    puts "#{id}:deltats:\"#{bug.delta_ts}\""
-    puts "#{id}:bug_status:\"#{bug.status}\""
-    puts "#{id}:whiteboard:\"#{bug.whiteboard}\""
-  end  
-end
-
-
diff --git a/scripts/getbinaries b/scripts/getbinaries
deleted file mode 100755 (executable)
index 1a9f2ea..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/bash
-
-CONFIG=makedist.config
-
-if [ ! -f $CONFIG ]; then
-    echo Configuration missing: $CONFIG
-    echo Please set the following variables in $CONFIG
-    echo in you current directory:
-    echo
-    echo 'VERSION=x.y.z   #use desired version'
-    echo 'BRANCH="master" #or e.g. "maintained-release"'
-    echo 'REMOTE="sf"     #depending on your git configuration'
-    exit
-else    
-    . $CONFIG
-fi    
-
-# Init
-OLDDIR=$(pwd)
-SRCDIR=$OLDDIR/vym
-TMPDIR=$OLDDIR/tmp
-
-echo "Getting sources for: vym"  
-echo "             Branch: $BRANCH"
-echo "             Branch: $VERSION"
-echo "  Working directory: $OLDDIR"
-echo 
-
-
-#Specific init:
-BINDIR=$OLDDIR/binaries
-DOCDIR=$TMPDIR/tex
-
-echo Creating $BINDIR...
-mkdir $BINDIR
-
-echo Remove current content from $BINDIR...
-rm $BINDIR/* 
-
-echo Copy README.txt INSTALL.txt LICENCSE.txt...
-cp $SRCDIR/README.txt $SRCDIR/INSTALL.txt $SRCDIR/LICENSE.txt $BINDIR
-
-echo Copy pdfs... 
-cp $DOCDIR/*.pdf $BINDIR
-
-echo Copy source tarball
-cp $OLDDIR/vym-$VERSION.tar.bz2 $BINDIR
-
-echo Get binaries from OBS
-osc getbinaries xUbuntu_11.10 i586
-osc getbinaries xUbuntu_11.10 x86_64
-osc getbinaries openSUSE_12.1 i586
-osc getbinaries openSUSE_12.1 x86_64
-
-echo Removing logfile
-rm $BINDIR/rpmlint.log
-
-ls -l $BINDIR
\ No newline at end of file
diff --git a/scripts/make-qrc.rb b/scripts/make-qrc.rb
deleted file mode 100755 (executable)
index 7a8f686..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/ruby
-#
-# Simple script to generate the resource file
-# So far only png images are considered
-
-require 'find'
-require 'pathname'
-
-outfile = 'vym.qrc'
-subdirs = ['flags','icons']
-
-content = "<!DOCTYPE RCC><RCC version=\"1.0\">\n"
-content << "  <qresource>\n"
-subdirs.each do |dir|
-  Find.find(dir) do |path|
-    # Create alias using the name of the subdir within dir
-    abs_path  = Pathname.new( File.expand_path( path) )
-    root_path = Pathname.new( File.expand_path( dir ) )
-    rel_path  = abs_path.relative_path_from( root_path )
-    
-    if path =~ /.*\.png$/
-      content << "    <file alias=\"#{rel_path.to_s}\">#{path}</file>\n" 
-    end
-  end
-end
-content << "  </qresource>"
-content << "</RCC>"
-
-File.write(outfile, content)
\ No newline at end of file
diff --git a/scripts/makedist-vym b/scripts/makedist-vym
deleted file mode 100755 (executable)
index 69f0e78..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/bash
-
-CONFIG=makedist.config
-
-if [ ! -f $CONFIG ]; then
-    echo Configuration missing: $CONFIG
-    echo Please set the following variables in $CONFIG
-    echo in you current directory:
-    echo
-    echo 'VERSION=x.y.z   #use desired version'
-    echo 'BRANCH="master" #or e.g. "maintained-release"'
-    echo 'REMOTE="sf"     #depending on your git configuration'
-    exit
-else    
-    . $CONFIG
-fi    
-
-# Init
-OLDDIR=$(pwd)
-SRCDIR=$OLDDIR/vym
-TMPDIR=$OLDDIR/tmp
-
-echo "Getting sources for: vym"  
-echo "             Branch: $BRANCH"
-echo "             Branch: $VERSION"
-echo "  Working directory: $OLDDIR"
-echo 
-
-
-if [ -d $TMPDIR ]; then
-    read -n 1 -p "$TMPDIR exists: Remove it first? [y]" INPUT
-    if [ ! "$INPUT" = "n" ]; then
-       rm -rf $TMPDIR
-    fi 
-fi
-echo
-mkdir $TMPDIR
-
-read -n 1 -p "Pull from git repository ? [y]" INPUT
-DO_CHECKOUT=1
-if [ "$INPUT" = "n" ]; then
-    DO_CHECKOUT=0
-fi     
-echo
-
-read -n 1 -p "Create Documentation? [y]" INPUT
-DO_DOCS=1
-if [ "$INPUT" = "n" ]; then
-    DO_DOCS=0
-fi     
-echo
-
-read -n 1 -p "Create Tarball? [y]" INPUT
-DO_TARBALL=1
-if [ "$INPUT" = "n" ]; then
-    DO_TARBALL=0
-fi     
-echo
-
-echo -n "Remove unpacked sources after creating tarball? [y]"
-#echo "(do this before  \"osc addremove\")"
-read -n 1 INPUT
-DO_REMOVE=1
-if [ "$INPUT" = "n" ]; then
-    DO_REMOVE=0
-fi     
-echo
-
-# get data from repository
-if [ $DO_CHECKOUT = 1 ]; then
-    cd $OLDDIR
-    echo Removing $SRCDIR...
-    rm -rf $SRCDIR
-    git clone -b $BRANCH git://git.code.sf.net/p/vym/code vym
-fi     
-
-#VERSION=$(grep __VYM_VERSION $SRCDIR/version.h |  sed -e 's/^.*\"\(.*\)\"$/\1/g')
-TARBALLSRC=vym-$VERSION
-echo
-echo "Setting version from sources: $VERSION"
-echo
-
-# create documentation
-if [ $DO_DOCS = 1 ] ; then
-    cp -ra $SRCDIR/tex $TMPDIR
-    cp -ra $SRCDIR/icons $TMPDIR
-    cp -ra $SRCDIR/flags $TMPDIR
-    cd $TMPDIR/tex
-    for i in {1..3} ; do
-       pdflatex vym.tex
-       pdflatex vym_es.tex
-       pdflatex vym_fr.tex
-       sleep 1
-    done       
-    cd $OLDDIR
-fi
-
-cd $OLDDIR
-
-# create tarball
-if [ $DO_TARBALL = 1 ]; then
-    if [ -d $TARBALLSRC ] ;  then
-       rm -rf $TARBALLSRC
-    fi
-    cp -ra $SRCDIR $TARBALLSRC
-
-    # Copy doc
-    mkdir -p $TARBALLSRC/doc
-    cp $TMPDIR/tex/*.pdf $TARBALLSRC/doc
-
-    rm -rf $TARBALLSRC/.git
-    tar cvjf vym-$VERSION.tar.bz2 $TARBALLSRC
-    if [ $DO_REMOVE = 1 ]; then
-       rm -rf $TARBALLSRC
-    fi
-fi
diff --git a/scripts/screencast b/scripts/screencast
deleted file mode 100755 (executable)
index 588649b..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-VYMDIR=~/vym/code
-MAP=$VYMDIR/../maps/screencasts/ao-report.vym
-
-$VYMDIR/vym -l -n test \
-  -geometry 1280x720+0+0 \
-  $MAP &
-
-xvidcap --audio no --cap_geometry 1280x720+0+0 --continue --file xxout.mpeg
index 0a97d99116942471a103929ab1daabddfbb68172..7931f41b2e6b228dd1f285d3438ba004bac79bd3 100755 (executable)
 #!/usr/bin/ruby
 
-load File.expand_path("../vym-ruby.rb", __FILE__)
+# This ruby script can be called from mutt to create a branch in vym
+# with the mail currently visible in mutts pager.
+# The mail itself will be added as note to a branch, which has the
+# heading "YYYY-MM-DD Email: $SUBJECT"
+#
+# vym is notified using DBUS, which usually only is available on Linux
+# systems
+#
+# Example entry for .muttrc:
+# macro pager Y "|/home/uwe/vym/branches/develop/scripts/vym-addmail.rb\n" "Add note to production inst ance of vym"
+#
+# vym itself needs to be starting using the name option, using  "vym -n production"
+#
+
+require File.expand_path("../vym-ruby", __FILE__)
 require 'tempfile'
 require 'mail'
 
-mail_in = Tempfile.new("mail")
+mail_in = ""
+ARGF.each_line do |line|
+  mail_in << line
+end
+
 begin
-  mail_in.write(ARGF.read)
-  mail_in.rewind
   out = Tempfile.new("temp")
   begin
-    mail = Mail.read(mail_in.path)
+    mail = Mail.read_from_string(Mail::Utilities.binary_unsafe_to_crlf(mail_in))
+    puts "Mail is multipart: #{mail.multipart?}"
+
+    # Write header
+    out << "<html><body>"
+    out << "<pre>"
+    out << "Subject: #{mail.subject}\n"
+    out << "From: #{mail.header[:From]}\n"
+    out << "To: #{mail.header[:To]}\n"
+    out << "Cc: #{mail.header[:Cc]}\n"
+    out << "Date: #{mail.date.to_s}\n"
+    out << "</pre>"
 
-    out <<  "Subject: #{mail.subject}\n"
-    out <<  "From: #{mail.header[:From]}\n"
-    out <<  "To: #{mail.header[:To]}\n"
-    out <<  "Cc: #{mail.header[:Cc]}\n"
-    out <<  "Date: #{mail.date.to_s}\n"
-    out <<  "\n"
-    out <<  mail.decoded
+    text = ""
+    if mail.multipart? then
+      puts "Warning: multipart mail detected. Only using first part."
+      text = mail.parts.first.decoded
+    else
+      #out <<  mail.body.raw_source.gsub("\n", "<br/>")
+      text = mail.decoded
+    end
+
+    if text.include?("<html")
+      out << text
+    else
+      out << "<p>"
+      text.gsub!("\r\n\r\n", "</p><p>")
+      text.gsub!("\r\n", "")
+      out << text
+      out << "</p>"
+    end
+
+    out << "</body></html>"
 
     out.rewind
 
+    name = "production"
+    #name = "test"
+
     vym_mgr = VymManager.new
-    vym = vym_mgr.find('production') 
+    vym_mgr.show_running
+    vym = vym_mgr.find(name)
+
+    if !vym
+      puts "Couldn't find instance named \"#{name}\", please start one:"
+      puts "vym -l -n #{name} -t test/default.vym"
+
+      puts "Currently running vym instances: #{vym_mgr.show_running}"
+      exit
+    end
+
+    # Before doing anything, make sure there is a return value available
+    # Otherwise the script might block     // FIXME
+    #version = vym.version
+
+    puts "Found #{vym.mapCount} maps"
+
+    #puts vym.show_methods
+
+    n = vym.currentMapID()
+    puts "ID of current map: #{n}"
+
+    map = vym.map (n)
+    puts "Map title: #{map.getMapTitle}"
+    puts "Map path:  #{map.getDestPath}"
+    puts "Map name:  #{map.getFileName}"
+
+    map.addBranch()
+    map.selectLatestAdded
 
-    vym.addBranch 
-    vym.selectLastBranch 
-    vym.setHeading(mail.subject)
-    vym.loadNote(out.path)
+    date = mail.date.to_s.gsub!(/T.*$/,"")
+    map.setHeadingPlainText("#{date} Email: #{mail.subject}")
+    map.loadNote(out.path)
+    map.colorBranch("#0000ff")
   ensure
     out.close
     out.unlink
   end
 
-ensure
-  mail_in.close
-  mail_in.unlink
 end
index 44d7410dee021486c84eb45ca2b34ce720ba11b0..bf91f0be31a536cc8b32776d73b6a374116b565c 100644 (file)
 require 'dbus'
+require 'pp'
 
-$deb = false
+$debug = false
 
 class Vym
   def initialize (name)
     @dbus = DBus::SessionBus.instance
     @service = @dbus.service(name)
     @service.introspect
-    @main = @service.object('vym')
+    @main = @service.object('/vym')
     @main.introspect
     @main.default_iface = "org.insilmaril.vym.main.adaptor"
 
     # Use metaprogramming to create methods for commands in vym
-    if modelCount > 0
-      m = model(1)
-      m.default_iface = "org.insilmaril.vym.model.adaptor"
-      s=m.listCommands
-      @model_commands = s[0].split ","
-      @model_commands.each do |c|
-       self.class.send(:define_method, c) do |*pars|
-         if pars.length == 0
-           puts " * Calling \"#{c}\":" if $deb
-           ret = m.execute("#{c} ()")
-         else  
-           # Build string with parameters
-           p = "";
-           a = []
-           pars.each do |p|
-             if p.kind_of? String
-               a << "'#{p}'"
-             else
-               a << p
-             end
-           end  
-           puts " * Calling \"#{c} (#{a.join(',')})\":" if $deb
-            ret = m.execute("#{c} (#{a.join(',')})")
-         end  
-
-         err = m.errorLevel[0]
-         if $deb
-           puts "     Returned: #{ret[0]}" if ret[0] != ""
-           puts "        Error: #{err}" if err > 0
-         end  
-         ret[0]
-       end
+    # Getting commands for mainwindow via DBUS
+    puts "Vym::initialize Retrieving commands via dbus..." if $debug
+    s = @main.listCommands
+    @vym_commands = s[0].split ","
+    @vym_commands.each do |c|
+      puts "Creating vym command: #{c}" if $debug
+      self.class.send(:define_method, c) do |*pars|
+        if pars.length == 0
+          # No parameters
+          com = "vym.#{c}();"
+          puts " * Calling vym: \"#{com}\":" if $debug
+          ret = @main.execute( com )
+        else
+          # with parameters
+          p = "";
+          a = []
+          pars.each do |p|
+            if p.kind_of? String
+              a << "'#{p}'"
+            else
+              a << p
+            end
+          end
+          com = "vym.#{c} (#{a.join(',')});"
+          puts " ** Calling vym: \"#{com}\":" if $debug
+          ret = @main.execute( com )
+        end
+
+        #FIXME-2  err = m.errorLevel[0]
+        if $debug
+          puts "     Returned: #{ret[0]}" if ret[0] != ""
+          # puts "        Error: #{err}" if err > 0
+        end
+        ret[0]
       end
-    end
+    end # Creating vym commands
+  end
+
+  def mapCount
+    @main.mapCount[0]
   end
 
-  def modelCount
-    @main.modelCount[0]
+  def currentMapID
+    return @main.currentMapID[0]
   end
 
-  def model (n)
-    if modelCount > 0 && n>=0
-      @model = @service.object "vymmodel_#{n}"
-      @model.default_iface = "org.insilmaril.vym.model.adaptor"
-      return @model
+  def map (n)
+    #puts "def map:  @service.object(\"/vymmodel_#{n}\")"
+    map = @service.object("/vymmodel_#{n}")
+    map.introspect
+    map.default_iface = "org.insilmaril.vym.model.adaptor"
+
+    if mapCount() > 0 && n >= 0
+      return VymMap.new(map, n )
     else
-      raise "Error: Model #{n} not accessible in #{@instance}!"
-    end  
+      raise "Error: Map #{n} not accessible in #{@instance}!"
+    end
   end
 
   def show_methods
     puts "Main methods:"
     @main[@main.default_iface].methods.each do |k,v|
-      puts "  #{k}"
+      puts " - #{k}"
     end
-    if modelCount > 0
-      @model= @service.object 'vymmodel_1'
-      @model.default_iface = "org.insilmaril.vym.model.adaptor"
-      puts "Model methods:"
-      @model[@model.default_iface].methods.each do |k,v|
-        puts "  #{k}"
-      end
-    else
-      puts "No model!"
-    end  
   end
 end
 
+
+class VymMap
+  def initialize(map, n )
+    @map = map
+
+    # Getting commands for model via DBUS
+    #if mapCount() > 0
+      # m = model(1)
+      s = @map.listCommands
+      puts "VymMap::initialize Retrieving commands via dbus..." if $debug
+      @model_commands = s[0].split ","
+      @model_commands.each do |c|
+      #puts "Creating map command: #{c}" if $debug
+        self.class.send(:define_method, c) do |*pars|
+          if pars.length == 0
+            # No parameters
+            com = "vym.currentMap().#{c}();"
+            puts " * Calling model: \"#{com}\":" if $debug
+            ret = @map.execute( com )
+          else
+            # Build string with parameters
+            p = "";
+            a = []
+            pars.each do |p|
+              if p.kind_of? String
+                a << "'#{p}'"
+              else
+                a << p
+              end
+            end
+            # com = "vym.clearConsole(); print( vym.currentMap().#{c} (#{a.join(',')}));"
+            com = " vym.currentMap().#{c} (#{a.join(',')});"
+            puts " ** Calling model: \"#{com}\":" if $debug
+            ret = @map.execute( com )
+            puts "Done calling" if $debug
+          end
+
+          #FIXME-2 err = m.errorLevel[0]
+          if $debug
+            puts "     Returned: #{ret[0]}" if ret[0] != ""
+            #puts "        Error: #{err}" if err > 0
+          end
+          ret[0]
+        end
+      end
+  end # Initialize
+end # VymMap
+
 class VymManager
   def initialize
     @dbus = DBus::SessionBus.instance
   end
 
   def running
-    list=@dbus.proxy.ListNames[0].find_all{|item| item =~/org\.insilmaril\.vym/ }
+    list = @dbus.proxy.ListNames[0].find_all{|item| item =~/org\.insilmaril\.vym/ }
   end
 
   def show_running
@@ -95,25 +143,26 @@ class VymManager
 
   def find (name)
     list = running
-    #puts "Running vyms: #{list.length}"
     if list.length == 0
       return nil
     end
 
     for i in (0...list.length)
       vym_service = @dbus.service(list.at(i))
-      vym_service.introspect
-      vym_main_obj = vym_service.object("vym");
+
+      vym_main_obj = vym_service.object("/vym");
+
       vym_main_obj.introspect
 
       vym_main_obj.default_iface = "org.insilmaril.vym.main.adaptor"
 
-      if vym_main_obj.getInstanceName[0] == name 
-        #puts "Found instance named '#{name}': #{list.at(i)}"
+      if vym_main_obj.getInstanceName[0] == name
+        puts "VymManager: Found instance named '#{name}': #{list.at(i)}" if $debug
         return Vym.new list.at(i)
-      end  
+     end
     end
-    #raise "Could not find instance named \"test\""
+
+    raise "Could not find instance named \"test\""
     return nil
   end
 end
diff --git a/settings.cpp b/settings.cpp
deleted file mode 100644 (file)
index c7eaaf1..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-#include <iostream>
-
-#include <QDebug>
-
-#include <qregexp.h>
-#include "settings.h"
-#include "file.h"
-
-/////////////////////////////////////////////////////////////////
-// SimpleSettings
-/////////////////////////////////////////////////////////////////
-SimpleSettings::SimpleSettings()
-{
-    clear();        
-}
-
-SimpleSettings::~SimpleSettings()
-{
-}
-
-void SimpleSettings::clear()
-{
-    keylist.clear();
-    valuelist.clear();
-}
-
-bool SimpleSettings::readSettings (const QString &path)
-{
-    QString s;
-    if (!loadStringFromDisk(path,s)) 
-    {
-       qWarning ()<<"SimpleSettings::readSettings() Couldn't read "+path;
-       return false;
-    }  
-    QStringList lines;
-    lines=s.split (QRegExp("\n"));
-    int i;
-    QStringList::Iterator it=lines.begin();
-    while (it !=lines.end() )
-    {
-       i=(*it).indexOf("=",0);
-       keylist.append((*it).left(i));
-       valuelist.append((*it).right((*it).length()-i-1));
-       it++;
-    }
-    return true;
-}
-
-void SimpleSettings::writeSettings (const QString &path)
-{
-    QString s;
-    QStringList::Iterator itk=keylist.begin();
-    QStringList::Iterator itv=valuelist.begin();
-
-    // First search for value in settings saved in map
-    while (itk !=keylist.end() )
-    {
-       s+=*itk+"="+*itv+"\n";
-       itk++;
-       itv++;
-    }
-    if (!saveStringToDisk(path,s)) 
-       qWarning ()<<"SimpleSettings::writeSettings() Couldn't write "+path;
-}
-
-/*
-QString SimpleSettings::readValue (const QString &key)
-{
-    QStringList::Iterator itk=keylist.begin();
-    QStringList::Iterator itv=valuelist.begin();
-
-    // First search for value in settings saved in map
-    while (itk !=keylist.end() )
-    {
-       if (*itk == key)
-           return *itv;
-       itk++;
-       itv++;
-    }
-    qWarning ("SimpleSettings::readValue()  Couldn't find key "+key);
-    return "";
-}
-*/
-
-QString SimpleSettings::value (const QString &key, const QString &def)
-{
-    QStringList::Iterator itk=keylist.begin();
-    QStringList::Iterator itv=valuelist.begin();
-
-    // First search for value in settings saved in map
-    while (itk !=keylist.end() )
-    {
-       if (*itk == key)
-           return *itv;
-       itk++;
-       itv++;
-    }
-    return def;
-}
-
-int SimpleSettings::readNumValue (const QString &key, const int &def)
-{
-    QStringList::Iterator itk=keylist.begin();
-    QStringList::Iterator itv=valuelist.begin();
-
-    // First search for value in settings saved in map
-    while (itk !=keylist.end() )
-    {
-       if (*itk == key)
-       {
-           bool ok;
-           int i=(*itv).toInt(&ok,10);
-           if (ok)
-               return i;
-           else
-               return def;
-       }   
-       itk++;
-       itv++;
-    }
-    return def;
-}
-
-void SimpleSettings::setValue (const QString &key, const QString &value)
-{
-    QStringList::Iterator itk=keylist.begin();
-    QStringList::Iterator itv=valuelist.begin();
-
-    if (!key.isEmpty() )
-    {
-       // Search for existing Value first
-       while (itk !=keylist.end() )
-       {
-           if (*itk == key)
-           {
-               if (!value.isEmpty())
-                   *itv=value;
-               else
-                   *itv="";
-               *itv=value;
-               return;
-           }
-           itk++;
-           itv++;
-       }
-       
-       // If no Value exists, append a new one
-       keylist.append (key);
-       valuelist.append (value);
-    }
-}
-
-
-
-/////////////////////////////////////////////////////////////////
-// Settings
-/////////////////////////////////////////////////////////////////
-Settings::Settings()
-{
-    clear();        
-}
-
-Settings::Settings(const QString & organization, const QString & application )
-    :QSettings (organization, application)
-{
-    clear();        
-}
-
-Settings::~Settings()
-{
-}
-
-void Settings::clear()
-{
-    pathlist.clear();
-    keylist.clear();
-    valuelist.clear();
-}
-
-void Settings::clearLocal(const QString &fpath, const QString &key)
-{
-    int i=0;
-    while (i<pathlist.count() )
-    {
-       if (fpath == pathlist.at(i) && keylist.at(i).startsWith (key))
-       {
-            pathlist.removeAt(i);
-            keylist.removeAt(i);
-            valuelist.removeAt(i);
-       }   else
-            i++;
-    }
-}
-
-QVariant Settings::localValue ( const QString &fpath, const QString & key, QVariant def) 
-{
-    // First search for value in settings saved in map
-    int i=0;
-    while (i<pathlist.count() )
-    {
-        if (pathlist.at(i) == fpath && keylist.at(i) == key)
-           return valuelist.at(i);
-        i++;
-    }
-
-    // Fall back to global vym settings
-    return value (key,def);
-}   
-
-void Settings::setLocalValue (const QString &fpath, const QString &key, QVariant value)
-{
-    if (!fpath.isEmpty() && !key.isEmpty() && !value.isNull() )
-    {
-       // Search for existing Value first
-        int i=0;
-       while (i<pathlist.count())
-       {
-            if (pathlist.at(i) == fpath && keylist.at(i) == key)
-           {
-                valuelist[i]=value;
-               return;
-           }
-            i++;
-       }
-       
-       // If no Value exists, append a new one
-       pathlist.append (fpath);
-       keylist.append (key);
-       valuelist.append (value);   
-    }
-}
-
-QString Settings::getDataXML (const QString &fpath)
-{
-    QString s;
-    int i=0;
-    while (i<pathlist.count())
-    {
-       if (pathlist.at(i)==fpath)
-           if (!valuelist.at(i).isNull())
-        s += valueElement (
-            "setting",
-            getCDATA( valuelist.at(i).toString() ),
-            attribut ("key",keylist.at(i))
-               );
-        i++;
-    }
-    return s;
-}
-
diff --git a/settings.h b/settings.h
deleted file mode 100644 (file)
index c32f8ef..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef SETTINGS_H
-#define SETTINGS_H
-
-#include <qsettings.h>
-#include <qstring.h>
-#include <qstringlist.h>
-
-#include "xmlobj.h"
-
-// Some helper functions and simplified settings class
-// to read and parse settings e.g.  in undo/redo directories
-
-class SimpleSettings
-{
-public:
-    SimpleSettings ();
-    ~SimpleSettings ();
-    void clear();
-    bool readSettings(const QString &);
-    void writeSettings(const QString &);
-    QString value (const QString &key, const QString &def=QString());
-    int readNumValue (const QString &, const int &def=0);
-    void setValue (const QString &,const QString &);
-private:    
-    QStringList keylist;
-    QStringList valuelist;
-};
-
-
-// Overloaded QSettings class, used to save some settings in 
-// a map instead of users home directory
-class Settings:public QSettings,public XMLObj
-{
-public:
-    Settings ();
-    Settings (const QString & , const QString &);
-    ~Settings ();
-    void clear();
-    void clearLocal (const QString &filepath, const QString &key);  //! Clear keys starting with key in filepath 
-    QVariant localValue ( const QString &, const QString &, QVariant); 
-    void setLocalValue (const QString &, const QString &, QVariant);
-    QString getDataXML (const QString &);
-
-protected:
-    QStringList pathlist;
-    QStringList keylist;
-    QList <QVariant> valuelist;
-};
-
-#endif
diff --git a/shortcuts.cpp b/shortcuts.cpp
deleted file mode 100644 (file)
index ae8b4a4..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-#include <QDebug>
-#include <QMultiMap>
-
-#include <iostream>
-using namespace std;
-
-#include "shortcuts.h"
-
-/////////////////////////////////////////////////////////////////
-// KeySwitch
-/////////////////////////////////////////////////////////////////
-KeySwitch::KeySwitch (
-        const QString &kIdentifier,
-        const QString &kName,
-        const QString &kGroup,
-        const QString &kTag,
-        const QKeySequence &kseq)
-{
-    identifier = kIdentifier;
-    name = kName;
-    group = kGroup;
-    tag = kTag;
-    keySequence = kseq;
-}
-
-/////////////////////////////////////////////////////////////////
-// Switchboard
-/////////////////////////////////////////////////////////////////
-Switchboard::Switchboard ()
-{
-}
-
-void Switchboard::addGroup( QString gIdentifier, QString gName)
-{
-    if (groups.contains(gIdentifier))
-    {
-        qDebug() << "Warning switchboard: Shortcut group " << gIdentifier << " already exists";
-        return;
-    }
-    groups.insert(gIdentifier, gName); 
-}
-
-void Switchboard::addSwitch( QString identifier, QString scope, QAction *action, QString tag)
-{
-    if (!switches.contains(identifier))
-    {
-        KeySwitch ksw(identifier, action->text(), scope, tag, action->shortcut());
-        switches.insert(scope, ksw);
-    } else
-        qDebug() << "Warning switchboard::addSwitch warning: Existing idenifier " << identifier;
-}
-
-QString Switchboard::getASCII()  
-{
-    QString s;
-    QString g;
-    foreach (g, switches.uniqueKeys())
-    {
-        s += "Scope " + g +":\n";
-        QList <KeySwitch> values=switches.values(g);
-        for (int i=0; i<values.size(); ++i)
-        {
-            QString desc=values.at(i).name;
-            QString   sc=values.at(i).keySequence.toString();
-            desc=desc.remove('&');
-            desc=desc.remove("...");
-            s += QString(" %1: %2\n").arg(sc,12).arg(desc);
-        }
-        s += "\n";
-    }
-
-    /*
-    foreach (g, actions.uniqueKeys())
-    {
-        s += g +"\n";
-        QList <QAction*> values=actions.values(g);
-        for (int i=0;i<values.size();++i)
-        {
-            QString desc=values.at(i)->text();
-            QString   sc=values.at(i)->shortcut().toString();
-            desc=desc.remove('&');
-            desc=desc.remove("...");
-            s+= QString(" %1: %2\n").arg(sc,12).arg(desc);
-        }
-    }
-    */
-    return s;
-}
-
-void Switchboard::printASCII ()        
-{
-    cout <<qPrintable(getASCII() );
-}
-
-void Switchboard::printLaTeX ()        
-{
-    QString g;
-    foreach (g,actions.uniqueKeys())
-    {
-        cout <<"Group: "<<qPrintable(g)<<"\\\\ \\hline"<<endl;
-        QList <QAction*> values=actions.values(g);
-        for (int i=0;i<values.size();++i)
-            if (!values.at(i)->shortcut().toString().isEmpty())
-            {
-                QString desc=values.at(i)->text();
-                QString   sc=values.at(i)->shortcut().toString();
-                desc=desc.remove('&');
-                desc=desc.remove("...");
-                cout << qPrintable( QString(" %1& %2").arg(sc,12).arg(desc) )<<endl;
-            }
-        cout <<endl;
-    }
-}
diff --git a/shortcuts.h b/shortcuts.h
deleted file mode 100644 (file)
index 5a7ce12..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef SHORTCUTS_H
-#define SHORTCUTS_H
-
-#include <QAction>
-#include <QShortcut>
-#include <QString>
-
-class KeySwitch {
-public:
-    KeySwitch(
-            const QString &kIdentifier, //! Unique identifier (still unused)
-            const QString &kName,       //! text saved in related action (translated)
-            const QString &kGroup,      //! Scope
-            const QString &kTag,        //! Tag, used for listing related shortcuts
-            const QKeySequence &kseq);  //! Keysequence from action
-    QString group;
-    QString name;
-    QString identifier;
-    QString tag;
-    QKeySequence keySequence;
-};
-
-class Switchboard {
-public:
-    Switchboard ();
-    void addGroup( QString gIdentifier, QString gName);
-    void addSwitch( QString identifier, QString scope, QAction *a, QString tag);
-    QString getASCII();
-    void printASCII();
-    void printLaTeX();
-protected:  
-    QMultiMap <QString,QAction*> actions;
-    QMultiMap <QString, KeySwitch> switches;
-    QMap <QString, QString> groups;
-    QStringList tags;
-};
-
-#endif
diff --git a/showtextdialog.cpp b/showtextdialog.cpp
deleted file mode 100644 (file)
index d9f9c73..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "showtextdialog.h"
-
-#include <QFont>
-#include <QString>
-#include "settings.h"
-
-extern Settings settings;
-
-ShowTextDialog::ShowTextDialog (QWidget *parent):QDialog (parent)
-{
-    ui.setupUi (this);
-    ui.textBrowser->show();
-    ui.textBrowser->setOpenExternalLinks( true );
-}
-
-void ShowTextDialog::append  (const QString &s)
-{
-    ui.textBrowser->append (s);
-}
-
-void ShowTextDialog::setText (const QString &s)
-{
-    ui.textBrowser->setText (s);
-}
-
-void ShowTextDialog::setHtml (const QString &s)
-{
-    ui.textBrowser->setHtml (s);
-}
-
-void ShowTextDialog::useFixedFont (bool useFixedFont)
-{
-    QFont font;
-    if (useFixedFont) 
-        font.fromString (settings.value(
-                    "/satellite/noteeditor/fonts/fixedFont",
-                    "Courier,10,-1,5,48,0,0,0,1,0").toString() );
-     else
-        font.fromString (settings.value(
-                    "/satellite/noteeditor/fonts/varFont",
-                    "DejaVu Sans Mono,12,-1,0,50,0,0,0,0,0").toString() );
-     ui.textBrowser->setFont( font );
-}
-
-
diff --git a/showtextdialog.h b/showtextdialog.h
deleted file mode 100644 (file)
index e5ab728..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef SHOWTEXTDIALOG_H
-#define SHOWTEXTDIALOG_H
-
-#include "ui_showtextdialog.h"
-
-// #include <QLayout>
-// #include <QTextBrowser>
-
-class ShowTextDialog:public QDialog
-{
-    Q_OBJECT
-public:
-    ShowTextDialog (QWidget *parent=0);
-    void append     (const QString &);
-    void setHtml    (const QString &);
-    void setText    (const QString &);
-    void useFixedFont (bool);
-    
-private:
-    Ui::ShowTextDialog ui;
-};
-
-#endif // SHOWTEXTDIALOG_H
-
diff --git a/showtextdialog.ui b/showtextdialog.ui
deleted file mode 100644 (file)
index c87001e..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ShowTextDialog</class>
- <widget class="QDialog" name="ShowTextDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>689</width>
-    <height>370</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Dialog</string>
-  </property>
-  <layout class="QGridLayout">
-   <property name="margin">
-    <number>9</number>
-   </property>
-   <property name="spacing">
-    <number>6</number>
-   </property>
-   <item row="0" column="0">
-    <widget class="QTextBrowser" name="textBrowser"/>
-   </item>
-   <item row="1" column="0">
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="margin">
-      <number>0</number>
-     </property>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>131</width>
-         <height>31</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>Close</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>clicked()</signal>
-   <receiver>ShowTextDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>278</x>
-     <y>253</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>96</x>
-     <y>254</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/slidecontrolwidget.cpp b/slidecontrolwidget.cpp
deleted file mode 100644 (file)
index 0f03599..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-#include <QAction>
-#include <QDebug>
-#include <QLineEdit>
-#include <QVBoxLayout>
-
-#include <QPushButton>
-#include <QLabel>
-
-
-#include "slidecontrolwidget.h"
-#include "mainwindow.h"
-
-
-extern Main *mainWindow;
-
-SlideControlWidget::SlideControlWidget(QWidget *)
-{
-    QVBoxLayout* mainLayout = new QVBoxLayout; 
-    QHBoxLayout *row2Layout = new QHBoxLayout;
-    
-    previousButton = new QPushButton;
-    previousButton->setIcon ( QPixmap( ":/slideprevious.png") );
-    connect ( previousButton, SIGNAL( clicked() ), this, SLOT( previousPressed() ) );
-
-    nextButton = new QPushButton;
-    nextButton->setIcon ( QPixmap( ":/slidenext.png") );
-    connect ( nextButton, SIGNAL( clicked() ), this, SLOT( nextPressed() ) );
-
-    upButton = new QPushButton;
-    upButton->setIcon ( QPixmap( ":/up.png") );
-    connect ( upButton, SIGNAL( clicked() ), this, SLOT( upPressed() ) );
-
-    downButton = new QPushButton;
-    downButton->setIcon ( QPixmap( ":/down.png") );
-    connect ( downButton, SIGNAL( clicked() ), this, SLOT( downPressed() ) );
-
-    snapshotButton = new QPushButton;
-    //snapshotButton->setIcon (QPixmap ( ":/sliderecord.png" ));
-    // Original: /usr/share/icons/oxygen/32x32/devices/camera-photo.png
-    snapshotButton->setIcon (QPixmap ( ":/slide-camera.png" ));
-    connect ( snapshotButton, SIGNAL( clicked() ), this, SLOT( snapshotPressed() ) );
-
-    editButton = new QPushButton;
-    editButton->setIcon (QPixmap ( ":/scripteditor.png" ));   
-    connect ( editButton, SIGNAL( clicked() ), this, SLOT( editPressed() ) );
-
-    deleteButton = new QPushButton;
-    deleteButton->setIcon (QPixmap ( ":/edittrash.png" ));
-    connect ( deleteButton, SIGNAL( clicked() ), this, SLOT( deletePressed() ) );
-
-    row2Layout->addWidget(previousButton);
-    row2Layout->addWidget(nextButton);
-    row2Layout->addWidget(snapshotButton);
-    row2Layout->addWidget(editButton);
-    row2Layout->addWidget(deleteButton);
-    row2Layout->addWidget(upButton);
-    row2Layout->addWidget(downButton);
-
-    mainLayout->addLayout (row2Layout);
-
-    setLayout (mainLayout);
-}
-
-void SlideControlWidget::snapshotPressed()
-{
-    emit (takeSnapshot() );
-}
-
-void SlideControlWidget::editPressed()
-{
-    emit (editButtonPressed() );
-}
-
-void SlideControlWidget::deletePressed()
-{
-    emit (deleteButtonPressed() );
-}
-
-void SlideControlWidget::previousPressed()
-{
-    emit (previousButtonPressed() );
-}
-
-void SlideControlWidget::nextPressed()
-{
-    emit (nextButtonPressed() );
-}
-
-void SlideControlWidget::upPressed()
-{
-    emit (upButtonPressed() );
-}
-
-void SlideControlWidget::downPressed()
-{
-    emit (downButtonPressed() );
-}
-
-
diff --git a/slidecontrolwidget.h b/slidecontrolwidget.h
deleted file mode 100644 (file)
index 48d3fa7..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef SLIDECONTROLWIDGET_H 
-#define SLIDECONTROLWIDGET_H
-
-#include <QWidget>
-
-class QAction;
-class QPushButton;
-
-class SlideControlWidget: public QWidget
-{
-    Q_OBJECT
-
-public:
-    SlideControlWidget (QWidget *parent=NULL);
-
-public slots:  
-    void previousPressed();
-    void snapshotPressed();
-    void nextPressed();
-    void upPressed();
-    void downPressed();
-    void deletePressed();
-    void editPressed();
-
-signals:
-    void hideFindWidget();
-    void takeSnapshot();
-    void deleteButtonPressed();
-    void editButtonPressed();
-    void previousButtonPressed();
-    void nextButtonPressed();
-    void upButtonPressed();
-    void downButtonPressed();
-
-protected:
-    QPushButton *previousButton;
-    QPushButton *snapshotButton;
-    QPushButton *editButton;
-    QPushButton *deleteButton;
-    QPushButton *nextButton;
-    QPushButton *upButton;
-    QPushButton *downButton;
-};
-
-#endif
-
diff --git a/slideeditor.cpp b/slideeditor.cpp
deleted file mode 100644 (file)
index a4add9f..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-#include <QVBoxLayout>
-#include <QTreeView>
-
-#include "mainwindow.h"
-#include "slidecontrolwidget.h"
-#include "slidemodel.h"
-#include "slideitem.h"
-#include "vymmodel.h"
-
-#include "slideeditor.h"
-
-extern Main *mainWindow;
-extern SlideEditor *slideEditor;
-
-SlideEditor::SlideEditor(VymModel *m)
-{
-    vymModel=m;
-
-    // Create slides model
-    slideModel=vymModel->getSlideModel();
-
-    // Create TreeView
-    view = new QTreeView (this);
-    view->setModel (slideModel);
-    
-    slideModel->setSelectionModel ( view->selectionModel() );
-
-    // Create ControlWidget
-    slideControl= new SlideControlWidget (this);
-    connect (
-       slideControl, SIGNAL (takeSnapshot() ), 
-       this, SLOT (addSlide() ) );
-    connect (
-       slideControl, SIGNAL (editButtonPressed() ), 
-       mainWindow, SLOT (windowToggleScriptEditor() ) );
-    connect (
-       slideControl, SIGNAL (deleteButtonPressed() ), 
-       this, SLOT (deleteSlide() ) );
-    connect (
-       slideControl, SIGNAL (previousButtonPressed() ), 
-       this, SLOT (previousSlide() ) );
-    connect (
-       slideControl, SIGNAL (nextButtonPressed() ), 
-       this, SLOT (nextSlide() ) );
-    connect (
-       slideControl, SIGNAL (upButtonPressed() ), 
-       this, SLOT (moveSlideUp() ) );
-    connect (
-       slideControl, SIGNAL (downButtonPressed() ), 
-       this, SLOT (moveSlideDown() ) );
-
-    QVBoxLayout* mainLayout = new QVBoxLayout;
-
-    mainLayout->addWidget(view);
-    mainLayout->addWidget(slideControl);
-
-    setLayout (mainLayout);
-
-    // Selection
-    connect (view->selectionModel(),SIGNAL (selectionChanged (QItemSelection,QItemSelection)),
-       vymModel, SLOT (updateSlideSelection (QItemSelection,QItemSelection)));
-    connect (view->selectionModel(),SIGNAL (selectionChanged (QItemSelection,QItemSelection)),
-       this, SLOT (updateSelection (QItemSelection,QItemSelection)));
-
-//    connect (resultsModel, SIGNAL(layoutChanged() ), view, SLOT (expandAll() ));    
-}
-
-void SlideEditor::previousSlide()
-{
-    QModelIndex ix=slideModel->getSelectedIndex();
-    if (ix.isValid())
-        ix=view->indexAbove (ix);
-
-    if (ix.isValid())
-        view->selectionModel()->select (ix,QItemSelectionModel::ClearAndSelect );
-}
-
-void SlideEditor::nextSlide()
-{
-    QModelIndex ix=slideModel->getSelectedIndex();
-    if (ix.isValid())
-        ix=view->indexBelow (ix);
-    if (ix.isValid())
-        view->selectionModel()->select (ix,QItemSelectionModel::ClearAndSelect );
-}
-
-void SlideEditor::addSlide()
-{
-    vymModel->addSlide();
-}
-
-void SlideEditor::editSlide() // FIXME-4 not used yet
-{
-}
-
-void SlideEditor::deleteSlide() 
-{
-    SlideItem *si=slideModel->getSelectedItem();
-    vymModel->deleteSlide(si);
-}
-
-void SlideEditor::moveSlideUp() 
-{
-    vymModel->moveSlideUp ();  
-}
-
-void SlideEditor::moveSlideDown() 
-{
-    vymModel->moveSlideDown ();        
-}
-
-void SlideEditor::updateSelection(QItemSelection, QItemSelection)
-{
-    // FIXME-3 updateActions missing, e.g. state for moveUp/down
-}
-
diff --git a/slideeditor.h b/slideeditor.h
deleted file mode 100644 (file)
index 6a75377..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef SLIDEEDITOR_H 
-#define SLIDEEDITOR_H
-
-#include <QItemSelection>
-#include <QWidget>
-
-class SlideModel;
-class QTreeView;
-class SlideControlWidget;
-class VymModel;
-
-class SlideEditor: public QWidget
-{
-    Q_OBJECT
-
-public:
-    SlideEditor (VymModel *);
-
-public slots:  
-    void previousSlide();
-    void nextSlide();
-    void addSlide();
-    void editSlide();
-    void deleteSlide();
-    void moveSlideUp();
-    void moveSlideDown();
-    void updateSelection(QItemSelection ,QItemSelection);
-
-private:
-    VymModel *vymModel;
-    SlideModel *slideModel;
-    QTreeView *view;
-    SlideControlWidget *slideControl;
-};
-
-#endif
-
diff --git a/slideitem.cpp b/slideitem.cpp
deleted file mode 100644 (file)
index ec4130f..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-#include <QStringList>
-
-#include "slideitem.h"
-
-#include "slidemodel.h"
-#include "treeitem.h"
-#include "vymmodel.h"
-
-uint SlideItem::idLastSlide=0;    // make instance
-
-SlideItem::SlideItem(const QVector<QVariant> &data, SlideItem *parent, SlideModel *sm )
-{
-    parentItem = parent;
-    itemData = data;
-    idLastSlide++;
-    slideID=idLastSlide;
-    treeItemID=-1;
-    zoomFactor=-1;
-    duration=2000;
-    easingCurve.setType (QEasingCurve::OutQuint);
-
-    if (sm)
-       model=sm;
-    else
-       model=parent->getModel();
-
-    if (data.isEmpty()) itemData.append(QVariant("empty"));
-}
-
-SlideItem::~SlideItem()
-{
-    qDeleteAll(childItems);
-}
-
-SlideModel* SlideItem::getModel()
-{
-    return model;
-}
-
-uint SlideItem::getID()
-{
-    return slideID;
-}
-
-SlideItem *SlideItem::child(int number)
-{
-    return childItems.value(number);
-}
-
-int SlideItem::childCount() const
-{
-    return childItems.count();
-}
-
-int SlideItem::childNumber() const
-{
-    if (parentItem)
-        return parentItem->childItems.indexOf(const_cast<SlideItem*>(this));
-
-    return 0;
-}
-
-int SlideItem::columnCount() const
-{
-    return itemData.count();
-}
-
-QVariant SlideItem::data(int column) const
-{
-    return itemData.value(column);
-}
-
-int SlideItem::row() const
-{
-    if (parentItem)
-        return parentItem->childItems.indexOf(const_cast<SlideItem*>(this));
-
-    return 0;
-}
-
-void SlideItem::insertItem (int pos, SlideItem *si)
-{
-    if (pos<0) pos=0;
-    if (pos>childItems.count() ) pos=childItems.count();
-    childItems.insert (pos,si);
-    si->parentItem=this;
-}
-
-void SlideItem::removeItem (int pos)
-{
-    // Remove, but don't delete (needed for relinking)
-    if (pos<0 || pos > childItems.size()-1)
-       qWarning ("TreeItem::removeChild tried to remove non existing item?!");
-    else
-       childItems.removeAt (pos);
-}
-
-bool SlideItem::insertChildren(int position, int count, int columns)
-{
-    if (position < 0 || position > childItems.size())
-        return false;
-
-    for (int row = 0; row < count; ++row) {
-        QVector<QVariant> data(columns);
-        SlideItem *item = new SlideItem(data, this);
-        childItems.insert(position, item);
-    }
-
-    return true;
-}
-
-bool SlideItem::insertColumns(int position, int columns)
-{
-    if (position < 0 || position > itemData.size())
-        return false;
-
-    for (int column = 0; column < columns; ++column)
-        itemData.insert(position, QVariant());
-
-    foreach (SlideItem *child, childItems)
-        child->insertColumns(position, columns);
-
-    return true;
-}
-
-SlideItem *SlideItem::parent()
-{
-    return parentItem;
-}
-
-bool SlideItem::removeChildren(int position, int count)
-{
-    if (position < 0 || position + count > childItems.size())
-        return false;
-
-    for (int row = 0; row < count; ++row)
-        delete childItems.takeAt(position);
-
-    return true;
-}
-
-bool SlideItem::removeColumns(int position, int columns)
-{
-    if (position < 0 || position + columns > itemData.size())
-        return false;
-
-    for (int column = 0; column < columns; ++column)
-        itemData.remove(position);
-
-    foreach (SlideItem *child, childItems)
-        child->removeColumns(position, columns);
-
-    return true;
-}
-
-bool SlideItem::setData(int column, const QVariant &value)
-{
-    if (column < 0 || column >= itemData.size())
-        return false;
-
-    itemData[column] = value;
-    return true;
-}
-
-void SlideItem::setName (const QString &n)
-{
-    setData ( 0, QVariant (n) );
-}
-
-QString SlideItem::getName ()
-{
-    return data(0).toString();
-}
-
-void SlideItem::setTreeItem (TreeItem *ti)
-{
-    if (ti) 
-       treeItemID=ti->getID();
-    else
-       qWarning()<<"SlideItem::setTreeItem no ID!";
-}
-
-int SlideItem::getTreeItemID()
-{
-    return treeItemID;
-}
-
-void SlideItem::setInScript (const QString &s)
-{
-    inScript=s;
-}
-
-QString SlideItem::getInScript()
-{
-    return inScript;
-}
-
-void SlideItem::setOutScript (const QString &s)
-{
-    outScript=s;
-}
-
-QString SlideItem::getOutScript()
-{
-    return outScript;
-}
-
-void SlideItem::setZoomFactor (const qreal &zf)
-{
-    zoomFactor=zf;
-}
-
-qreal SlideItem::getZoomFactor()
-{
-    return zoomFactor;
-}
-
-void SlideItem::setRotationAngle (const qreal &zf)
-{
-    rotationAngle=zf;
-}
-
-qreal SlideItem::getRotationAngle()
-{
-    return rotationAngle;
-}
-
-void SlideItem::setDuration (const int  &d)
-{
-    duration=d;
-}
-
-int SlideItem::getDuration()
-{
-    return duration;
-}
-
-void SlideItem::setEasingCurve (const QEasingCurve &c)
-{
-    easingCurve=c;
-}
-
-QEasingCurve SlideItem::getEasingCurve()
-{
-    return easingCurve;
-}
-
-QString SlideItem::saveToDir()
-{
-    QString att_ins, att_outs;
-    if (inScript.isEmpty()) 
-    {
-       att_ins=attribut ("inScript",QString("select(\"%1\")").arg(model->getVymModel()->getSelectString (treeItemID ) ) );
-    } else
-       att_ins=attribut ("inScript",inScript );
-    if (!outScript.isEmpty()) att_outs=attribut ("outScript",outScript );
-
-    return singleElement ("slide",
-       attribut ("name",data(0).toString() ) +
-       attribut ("zoom",QString().setNum ( zoomFactor) ) +
-       attribut ("rotation",QString().setNum ( rotationAngle ) ) +
-       attribut ("duration",QString().setNum ( duration ) ) +
-       attribut ("curve",QString().setNum ( easingCurve.type() ) ) +
-       attribut ("mapitem",model->getVymModel()->getSelectString (treeItemID ) ) +
-       att_ins +
-       att_outs
-       );
-}
-
diff --git a/slideitem.h b/slideitem.h
deleted file mode 100644 (file)
index 5c31caa..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef SLIDEITEM_H
-#define SLIDEITEM_H
-
-#include <QEasingCurve>
-#include <QList>
-#include <QVariant>
-#include <QVector>
-
-#include "xmlobj.h"
-
-class TreeItem;
-class SlideModel;
-
-class SlideItem : public XMLObj 
-{
-public:
-    SlideItem(const QVector<QVariant> &data, SlideItem *parent = 0, SlideModel *sm = 0 );
-    ~SlideItem();
-    SlideModel* getModel(); 
-    uint getID();
-    SlideItem *child(int number);
-    int childCount() const;
-    int columnCount() const;
-    QVariant data(int column) const;
-    int row() const;
-    void insertItem (int pos, SlideItem *si);
-    void removeItem (int pos);
-    bool insertChildren(int position, int count, int columns);
-    bool insertColumns(int position, int columns);
-    SlideItem* parent();
-    bool removeChildren(int position, int count);
-    bool removeColumns(int position, int columns);
-    int childNumber() const;
-    bool setData(int column, const QVariant &value);
-    void setName (const QString &n);
-    QString getName ();
-    void setTreeItem (TreeItem *ti);
-    int getTreeItemID();
-    void setInScript (const QString &);
-    QString getInScript ();
-    void setOutScript (const QString &);
-    QString getOutScript ();
-    void setZoomFactor(const qreal &);
-    qreal getZoomFactor ();
-    void setRotationAngle(const qreal &);
-    qreal getRotationAngle ();
-    void setDuration (const int &);
-    int getDuration();
-    void setEasingCurve (const QEasingCurve &);
-    QEasingCurve getEasingCurve();
-    QString saveToDir();
-
-private:
-    SlideModel *model;
-    QList<SlideItem*> childItems;
-    QVector<QVariant> itemData;
-    SlideItem *parentItem;
-
-    static uint idLastSlide;   //! Last used unique ID for slide
-    uint slideID;
-
-    QString inScript;
-    QString outScript;
-
-    int treeItemID;
-    qreal zoomFactor;
-    qreal rotationAngle;
-    int duration;
-    QEasingCurve easingCurve;
-};
-
-#endif
diff --git a/slidemodel.cpp b/slidemodel.cpp
deleted file mode 100644 (file)
index 012ab4b..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-#include "slidemodel.h"
-
-#include "slideitem.h"
-#include "vymmodel.h"
-
-#include <QDebug>
-#include <QItemSelectionModel>
-
-
-SlideModel::SlideModel( VymModel *vm)
-    : QAbstractItemModel(NULL)
-{
-    QVector<QVariant> rootData;
-    rootData << "Slide";
-    rootItem = new SlideItem(rootData, NULL,this);
-    vymModel=vm;
-}
-
-SlideModel::~SlideModel()
-{
-    delete rootItem;
-}
-
-void SlideModel::clear()
-{
-    if (rootItem->childCount()>0)
-       removeRows (0,rowCount (QModelIndex ()));
-}
-
-VymModel* SlideModel::getVymModel()
-{
-    return vymModel;
-}
-
-int SlideModel::columnCount(const QModelIndex & /* parent */) const
-{
-    return rootItem->columnCount();
-}
-
-QVariant SlideModel::data(const QModelIndex &index, int role) const
-{
-    if (!index.isValid())
-        return QVariant();
-
-    if (role != Qt::DisplayRole && role != Qt::EditRole)
-        return QVariant();
-
-    SlideItem *item = getItem(index);
-
-    return item->data(index.column());
-}
-
-Qt::ItemFlags SlideModel::flags(const QModelIndex &index) const
-{
-    if (!index.isValid())
-        return 0;
-
-    return Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
-}
-
-QVariant SlideModel::headerData(int section, Qt::Orientation orientation,
-                               int role) const
-{
-    if (orientation == Qt::Horizontal && role == Qt::DisplayRole)
-        return rootItem->data(section);
-
-    return QVariant();
-}
-
-QModelIndex SlideModel::index (SlideItem *fri)
-{
-    if (!fri || !fri->parent())
-       return QModelIndex();
-    else    
-       return createIndex (fri->row(),0,fri);
-}
-
-
-QModelIndex SlideModel::index(int row, int column, const QModelIndex &parent) const
-{
-    if (parent.isValid() && parent.column() != 0)
-        return QModelIndex();
-
-    SlideItem *parentItem = getItem(parent);
-
-    SlideItem *childItem = parentItem->child(row);
-    if (childItem)
-        return createIndex(row, column, childItem);
-    else
-        return QModelIndex();
-}
-
-bool SlideModel::insertColumns(int position, int columns, const QModelIndex &parent)
-{
-    bool success;
-
-    beginInsertColumns(parent, position, position + columns - 1);
-    success = rootItem->insertColumns(position, columns);
-    endInsertColumns();
-
-    return success;
-}
-
-bool SlideModel::insertRows(int position, int rows, const QModelIndex &parent)
-{
-    SlideItem *parentItem = getItem(parent);
-    bool success;
-
-    beginInsertRows(parent, position, position + rows - 1);
-    success = parentItem->insertChildren(position, rows, rootItem->columnCount());
-    endInsertRows();
-
-    return success;
-}
-
-QModelIndex SlideModel::parent(const QModelIndex &index) const
-{
-    if (!index.isValid())
-        return QModelIndex();
-
-    SlideItem *childItem = getItem(index);
-    SlideItem *parentItem = childItem->parent();
-
-    if (parentItem == rootItem)
-        return QModelIndex();
-
-    return createIndex(parentItem->childNumber(), 0, parentItem);
-}
-
-bool SlideModel::removeColumns(int position, int columns, const QModelIndex &parent)
-{
-    bool success;
-
-    beginRemoveColumns(parent, position, position + columns - 1);
-    success = rootItem->removeColumns(position, columns);
-    endRemoveColumns();
-
-    if (rootItem->columnCount() == 0)
-        removeRows(0, rowCount());
-
-    return success;
-}
-
-bool SlideModel::removeRows(int position, int rows, const QModelIndex &parent)
-{
-    SlideItem *parentItem = getItem(parent);
-    bool success = true;
-
-    beginRemoveRows(parent, position, position + rows - 1);
-    success = parentItem->removeChildren(position, rows);
-    endRemoveRows();
-
-    return success;
-}
-
-int SlideModel::count()
-{
-    return rootItem->childCount();
-}
-
-int SlideModel::rowCount(const QModelIndex &parent) const
-{
-    SlideItem *parentItem = getItem(parent);
-
-    return parentItem->childCount();
-}
-
-bool SlideModel::setData(const QModelIndex &index, const QVariant &value,
-                        int role)
-{
-    if (role != Qt::EditRole)
-        return false;
-
-    SlideItem *item = getItem(index);
-    bool result = item->setData(index.column(), value);
-
-    if (result)
-        emit dataChanged(index, index);
-
-    return result;
-}
-
-bool SlideModel::setHeaderData(int section, Qt::Orientation orientation,
-                              const QVariant &value, int role)
-{
-    if (role != Qt::EditRole || orientation != Qt::Horizontal)
-        return false;
-
-    bool result = rootItem->setData(section, value);
-
-    if (result)
-        emit headerDataChanged(orientation, section, section);
-
-    return result;
-}
-
-SlideItem*  SlideModel::addSlide(SlideItem *dst, int n)
-{
-    SlideItem *si=NULL;
-    if (!dst) dst=rootItem;
-
-    emit (layoutAboutToBeChanged() );
-
-    QModelIndex parix=index (dst);
-    if (n<0) n=dst->childCount();
-    beginInsertRows (parix,n,n);
-    if (rootItem->insertChildren (n,1,0) )
-    {
-       QModelIndex ix=index(n,0,QModelIndex());
-       si=getItem(ix);
-    }
-    endInsertRows ();
-    emit (layoutChanged() );
-       
-    return si;
-}
-
-void SlideModel::deleteSlide(SlideItem *si)
-{
-    QModelIndex ix=index(si);
-    if (ix.isValid())
-    {
-       QModelIndex px=ix.parent();
-       int n=si->childNumber();
-       removeRows (n,1,px);
-    }
-}
-
-bool SlideModel::relinkSlide(
-    SlideItem *si,
-    SlideItem *dst,
-    int pos)
-{
-   if (si && dst)
-   {
-       emit (layoutAboutToBeChanged() );
-       SlideItem *pi=si->parent();
-
-       // Remove at current position
-       int n=si->childNumber();
-
-       beginRemoveRows (index(pi),n,n);
-       pi->removeItem (n);
-       endRemoveRows();
-
-       if (pos<0 ||pos>dst->childCount() ) pos=dst->childCount();
-    
-       // Insert at new position
-       beginInsertRows (index(dst),pos,pos);
-       dst->insertItem (pos, si);
-       endInsertRows();
-
-       emit (layoutChanged() );
-
-       selModel->select (index (si),QItemSelectionModel::ClearAndSelect  );
-
-       return true;
-    }
-    return false;
-}
-
-SlideItem* SlideModel::getItem (const QModelIndex &index) const
-{
-    if (index.isValid()) {
-        SlideItem *item = static_cast<SlideItem*>(index.internalPointer());
-        if (item) return item;
-    }
-    return rootItem;
-}
-
-SlideItem* SlideModel::getSlide (int n)
-{
-    if (n>=count() || n<0) return NULL;
-    return getItem (index (n, 0, QModelIndex() ));
-}
-
-SlideItem* SlideModel::findSlideID (uint n)
-{
-    for (int i=0; i<rootItem->childCount(); i++)
-       if (rootItem->child(i)->getID()==n)
-           return rootItem->child(i);
-    return NULL;           
-}
-
-QString SlideModel::saveToDir()
-{
-    QString s;
-    for (int i=0; i<rootItem->childCount(); i++)
-       s+=rootItem->child(i)->saveToDir();
-    return s;
-}
-
-void SlideModel::setSearchString( const QString &s)
-{
-    searchString=s;
-}
-
-QString SlideModel::getSearchString()
-{
-    return searchString;
-}
-
-void SlideModel::setSearchFlags( QTextDocument::FindFlags f)
-{
-    searchFlags=f;
-}
-
-QTextDocument::FindFlags SlideModel::getSearchFlags()
-{
-    return searchFlags;
-}
-
-void SlideModel::setSelectionModel(QItemSelectionModel *sm)
-{
-    selModel=sm;
-}
-
-QItemSelectionModel* SlideModel::getSelectionModel()
-{
-    return selModel;
-}
-
-QModelIndex SlideModel::getSelectedIndex()
-{
-    if (!selModel)
-    {
-       qDebug ()<<"SlideModel: No selection model!";
-       return QModelIndex();
-    }
-    QModelIndexList list=selModel->selectedIndexes();
-    if (!list.isEmpty() ) return list.first();
-    return QModelIndex();      
-}
-
-SlideItem* SlideModel::getSelectedItem ()
-{
-    QModelIndex ix=getSelectedIndex();
-    if (ix.isValid() ) return getItem (ix);
-    return NULL;
-}
-
diff --git a/slidemodel.h b/slidemodel.h
deleted file mode 100644 (file)
index a0f6e40..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef SLIDEMODEL_H
-#define SLIDEMODEL_H
-
-#include <QAbstractItemModel>
-#include <QModelIndex>
-#include <QTextDocument>
-#include <QVariant>
-
-#include "xmlobj.h"
-
-class QItemSelectionModel;
-class SlideItem;
-class TreeItem;
-class VymModel;
-
-class SlideModel : public QAbstractItemModel, XMLObj
-{
-    Q_OBJECT
-
-public:
-    SlideModel( VymModel *vm);
-    ~SlideModel();
-    void clear();
-    
-    VymModel* getVymModel();
-    QVariant data(const QModelIndex &index, int role) const;
-    QVariant headerData(int section, Qt::Orientation orientation,
-                        int role = Qt::DisplayRole) const;
-
-    QModelIndex index (SlideItem *fri);
-    QModelIndex index(int row, int column,
-                      const QModelIndex &parent = QModelIndex()) const;
-    QModelIndex parent(const QModelIndex &index) const;
-
-    int count();
-    int rowCount(const QModelIndex &parent = QModelIndex()) const;
-    int columnCount(const QModelIndex &parent = QModelIndex()) const;
-
-    Qt::ItemFlags flags(const QModelIndex &index) const;
-    bool setData(const QModelIndex &index, const QVariant &value,
-                 int role = Qt::EditRole);
-    bool setHeaderData(int section, Qt::Orientation orientation,
-                       const QVariant &value, int role = Qt::EditRole);
-
-    bool insertColumns(int position, int columns,
-                       const QModelIndex &parent = QModelIndex());
-    bool removeColumns(int position, int columns,
-                       const QModelIndex &parent = QModelIndex());
-    bool insertRows(int position, int rows,
-                    const QModelIndex &parent = QModelIndex());
-    bool removeRows(int position, int rows,
-                    const QModelIndex &parent = QModelIndex());
-
-    SlideItem* addSlide ( SlideItem *dst=NULL, int n=-1);
-    void deleteSlide (SlideItem *si);
-    bool relinkSlide (SlideItem *si, SlideItem *dst, int pos);
-
-    SlideItem* getItem (const QModelIndex &index) const;
-    SlideItem* getSlide (int n); 
-    SlideItem* findSlideID (uint n);
-    QString saveToDir ();
-
-    void setSearchString( const QString &s);
-    QString getSearchString();
-    void setSearchFlags( QTextDocument::FindFlags f);
-    QTextDocument::FindFlags getSearchFlags();
-
-// Selection related
-public:
-    void setSelectionModel(QItemSelectionModel *);
-    QItemSelectionModel* getSelectionModel();
-    QModelIndex getSelectedIndex();
-    SlideItem* getSelectedItem();
-private:
-    QItemSelectionModel *selModel;
-    VymModel *vymModel;        // needed for saveToDir
-
-private:
-    SlideItem *rootItem;
-
-    QString searchString;
-    QTextDocument::FindFlags searchFlags;
-};
-
-#endif
diff --git a/src/aboutdialog.cpp b/src/aboutdialog.cpp
new file mode 100644 (file)
index 0000000..b5a188d
--- /dev/null
@@ -0,0 +1,514 @@
+#include <QDate>
+#include <QFrame>
+#include <QProcess>
+#include <QVBoxLayout>
+
+#include "aboutdialog.h"
+#include "settings.h"
+
+extern Settings settings;
+extern QString iconPath; // FIXME-4 embed vym logo as ressource?
+extern QString vymVersion;
+extern QString vymBuildDate;
+extern QString vymCodeName;
+extern QString vymCodeQuality;
+
+extern QColor vymBlue;
+
+AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent)
+{
+
+    mainLayout = new QVBoxLayout(this);
+
+    tabs = new QTabWidget(this);
+    credits = new AboutTextBrowser(parent);
+
+    QString version = vymVersion;
+    if (!vymCodeName.isEmpty())
+        version += QString(" - \"%1\"").arg(vymCodeName);
+
+    credits->setHtml(
+        QString(
+            "<style>a:link { color: " + vymBlue.name() + "; background-color: transparent;}</style>"
+            "<center><img src=\"" + iconPath + "vym-128x128.png\"></center>"
+            "<h3><center>VYM - View Your Mind </h3>"
+            "<p align=\"center\"> A tool to put the things you have got in your mind into a map.</p>"
+            "<p align=\"center\"> (c) 2004-%1 by Uwe Drechsel (<a "
+            "href=\"mailto:vym@InSilmaril.de\">vym@InSilmaril.de</a>)</p>"
+            "<p align=\"center\"> Version " + version + "</p>"
+            "<p align=\"center\"> Quality: " + vymCodeQuality + "</p>"
+            "<p align=\"center\"> Build date: " + vymBuildDate + "</p>"
+            "<ul>"
+                "<li> Contact</li>"
+                    "<ul>"
+                        "<li> Code and issue tracker:<br>"
+                            "<a href=\"https://github.com/insilmaril/vym\">"
+                        "https://github.com/insilmaril/vym</a></li>"
+                        "<li> Project homepage on Sourceforge with Apple and Windows downloads:<br>"
+                            "<a href=\"http://sourceforge.net/projects/vym/\">"
+                            "http://sourceforge.net/projects/vym/</a></li>"
+                        "<li> vym homepage with overview and examples:<br> <a href=\"http://www.InSilmaril.de/vym\">"
+                            "http://www.InSilmaril.de/vym</a></li>"
+                        "<li> Mailinglists are also on Sourceforge:"
+                            "<ul>"
+                                "<li>Please ask general questions about vym  on "
+                                    "<a href=\"mailto:vym-forum@lists.sourceforge.net\">vym-forum</a></li>"
+                                "<li>Subscribe/Unsubscribe and archives can be found  "
+                                    "<a href=\"https://sourceforge.net/mail/?group_id=127802\">here</a></li>"
+                            "</ul>"
+                    "</ul>"
+                "<li> Credits "
+            "<ul>"
+            "<li>Documentation"
+            "  <ul>"
+            "    <li>Peter Adams: documentation proofreading and polishing</li>"
+            "  </ul>"
+            "</li>"
+            "<li>Translations"
+            "  <ul>"
+            "    <li>Brasilian: Amadeu Júnior</li>"
+            "    <li>Chinese (simplified): Moligaloo</li>"
+            "    <li>Chinese (traditional): Wei-Lun Chao </li>"
+            "    <li>Croatian: Damir Brašnić </li>"
+            "    <li>Czech: Vít Pelčák, Pavel Fric</li>"
+            "    <li>French: Marc Sert, Philippe Caillaud and Claude </li>"
+            "    <li>Greek: Yannis Kaskamanidis</li>"
+            "    <li>Interlingua: Giovanni Sora</li>"
+            "    <li>Italian: Albano Battistella, Giovanni Sora, Seyed Puria Nafisi Azizi </li>"
+            "    <li>Japanese: Tsuren Tsuchiya</li>"
+            "    <li>Russian: Anton Olenev</li>"
+            "    <li>Spanish: <a "
+            "href=\"http://ieee.udistrital.edu.co/aclibre\">"
+            "                 ACLibre (Academia y Conocimiento Libre)</a> and "
+            "David Amian</li>"
+            "  </ul>"
+            "</li>"
+            "<li> Patches"
+            "  <ul>"
+            "    <li>Edward Wang: adding close tab buttons</li>"
+            "    <li>p0llox (Pierre): various patches for Debian packaging</li>"
+            "  </ul>"
+            "</li>"
+            "<li> Patches in previous vym versions"
+            "  <ul>"
+            "    <li>Łukasz Pietrzak, Scott Dillman and Patrick Spendrin, "
+            "Andrew Ng, "
+            "Juha Ruotsalainen and Thomas Kriener: windows patches</li>"
+            "    <li>Thomas Schraitle for the stylesheet"
+            "        formerly used for XHTML-export and help with XML "
+            "processing in general</li>"
+            "    <li>Matt from <a "
+            "href=\"http://www.satbp.com\">www.satbp.com</a>: "
+            "        <a href=\"http://www.taskjuggler.org\">Taskjuggler</a> "
+            "export</li>"
+            "    <li>Darren Lissimore: Windows compiler patch </li>"
+            "    <li>Konstantin Goudkov: sort branches</li>"
+            "    <li>Jakob Hilmer: image drag and drop in 1.8.1, &quot;About "
+            "vym&quot; window patch </li>"
+            "  </ul>"
+            "</li>"
+            "<li> Icons"
+            "  <p> A number of icons were copied from the KDE project, especially"
+            "      from the Oxygen icon theme. Some of these have been heavily "
+            "      reworked by Uwe Drechsel - Thanks to the KDE team!</p></li>"
+            "<li> Packaging"
+            "</li>"
+            "  <ul>"
+            "    <li>Jon Ciesla: Sourceforge file releases</li>"
+            "    <li>Xavier Oswald, Christoph Thielecke, Pierre, and Steffen "
+            "Joeris: Debian packaging</li>"
+            "  </ul>"
+            "<li> General"
+            "  <ul>"
+            "    <li>Initial CMake setup by Daniel Rossberg, Costantino Giuliodori and Patrick "
+            "Spendrin</li>"
+            "    <li>All the guys at Trolltech (now Qt) for starting Qt </li>"
+            "    <li>All the guys at SUSE Linux for openSUSE Linux and support,"
+            "        e.g. to get Linux running on PowerPC and also "
+            "Macbooks</li>"
+            "  </ul>"
+            "</li>"
+            "</ul>"
+            "</li>")
+            .arg(QDate::currentDate().year()));
+    ;
+    credits->setFrameStyle(QFrame::Panel | QFrame::Plain);
+    tabs->addTab(credits, tr("Credits", "Help->About vym dialog"));
+
+    license = new AboutTextBrowser(parent);
+    license->setText(
+        QString(
+            "<center>"
+            "<h3>VYM - View Your Mind</h3>"
+            "<p>Copyright (C) 2004-%1 Uwe Drechsel</p>"
+            "</center>"
+
+            "<p>This program is free software; you can redistribute it and/or "
+            "modify it under the terms of the GNU General Public License "
+            "version 2 as published by the Free Software Foundation.</p>"
+
+            "<p>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 below for more details.</p>"
+
+            "<p>In addition, as a special exception, Uwe Drechsel gives "
+            "permission to link the code of this program with the QT libraries "
+            "from trolltech.com (or with modified versions of QT that use the "
+            "same license as QT), and distribute linked combinations including "
+            "the two. You must obey the GNU General Public License in all "
+            "respects for all of the code used other than QT. If you modify "
+            "this file, you may extend this exception to your version of the "
+            "file, but you are not obligated to do so. If you do not wish to "
+            "do so, delete this exception statement from your version.</p> "
+
+            "<p>Uwe Drechsel can be contacted at <a "
+            "href=\"mailto:vym@insilmaril.de\">vym@insilmaril.de</a></p>"
+
+            "<hr>"
+
+            "<p align=\"center\">GNU GENERAL PUBLIC LICENSE<br>"
+            "Version 2, June 1991</p>"
+
+            "<p align=\"center\">Copyright (C) 1989, 1991 Free Software "
+            "Foundation, Inc.  59 Temple Place, Suite 330, Boston, MA  "
+            "02111-1307  USA</p>"
+
+            "<p align=\"center\"> Everyone is permitted to copy and distribute "
+            "verbatim copies of this license document, but changing it is not "
+            "allowed.</p>"
+
+            "<p align=\"center\">Preamble</p>"
+
+            "<p>The licenses for most software are designed to take away your "
+            "freedom to share and change it.  By contrast, the GNU General "
+            "Public License is intended to guarantee your freedom to share and "
+            "change free software--to make sure the software is free for all "
+            "its users.  This General Public License applies to most of the "
+            "Free Software Foundation's software and to any other program "
+            "whose authors commit to using it.  (Some other Free Software "
+            "Foundation software is covered by the GNU Library General Public "
+            "License instead.)  You can apply it to your programs, too.</p>"
+
+            "<p>When we speak of free software, we are referring to freedom, "
+            "not price.  Our General Public Licenses are designed to make sure "
+            "that you have the freedom to distribute copies of free software "
+            "(and charge for this service if you wish), that you receive "
+            "source code or can get it if you want it, that you can change the "
+            "software or use pieces of it in new free programs; and that you "
+            "know you can do these things.</p>"
+
+            "<p>  To protect your rights, we need to make restrictions that "
+            "forbid anyone to deny you these rights or to ask you to surrender "
+            "the rights.  These restrictions translate to certain "
+            "responsibilities for you if you distribute copies of the "
+            "software, or if you modify it.</p>"
+
+            "<p>  For example, if you distribute copies of such a program, "
+            "whether gratis or for a fee, you must give the recipients all the "
+            "rights that you have.  You must make sure that they, too, receive "
+            "or can get the source code.  And you must show them these terms "
+            "so they know their rights.</p>"
+
+            "<p>  We protect your rights with two steps: (1) copyright the "
+            "software, and (2) offer you this license which gives you legal "
+            "permission to copy, distribute and/or modify the software.</p>"
+
+            "<p>  Also, for each author's protection and ours, we want to make "
+            "certain that everyone understands that there is no warranty for "
+            "this free software.  If the software is modified by someone else "
+            "and passed on, we want its recipients to know that what they have "
+            "is not the original, so that any problems introduced by others "
+            "will not reflect on the original authors' reputations.</p>"
+
+            "<p>  Finally, any free program is threatened constantly by "
+            "software patents.  We wish to avoid the danger that "
+            "redistributors of a free program will individually obtain patent "
+            "licenses, in effect making the program proprietary.  To prevent "
+            "this, we have made it clear that any patent must be licensed for "
+            "everyone's free use or not licensed at all.</p>"
+
+            "<p>  The precise terms and conditions for copying, distribution "
+            "and modification follow.</p>"
+
+            "<p align=\"center\">              GNU GENERAL PUBLIC LICENSE</p>"
+            "<p align=\"center\">   TERMS AND CONDITIONS FOR COPYING, "
+            "DISTRIBUTION AND MODIFICATION</p>"
+
+            "<p>  0. This License applies to any program or other work which "
+            "contains a notice placed by the copyright holder saying it may be "
+            "distributed under the terms of this General Public License.  The "
+            "\"Program\", below, refers to any such program or work, and a "
+            "\"work based on the Program\" means either the Program or any "
+            "derivative work under copyright law: that is to say, a work "
+            "containing the Program or a portion of it, either verbatim or "
+            "with modifications and/or translated into another language.  "
+            "(Hereinafter, translation is included without limitation in the "
+            "term \"modification\".)  Each licensee is addressed as "
+            "\"you\".</p>"
+
+            "<p>Activities other than copying, distribution and modification "
+            "are not covered by this License; they are outside its scope.  The "
+            "act of running the Program is not restricted, and the output from "
+            "the Program is covered only if its contents constitute a work "
+            "based on the Program (independent of having been made by running "
+            "the Program).  Whether that is true depends on what the Program "
+            "does.</p>"
+
+            "<p>  1. You may copy and distribute verbatim copies of the "
+            "Program's source code as you receive it, in any medium, provided "
+            "that you conspicuously and appropriately publish on each copy an "
+            "appropriate copyright notice and disclaimer of warranty; keep "
+            "intact all the notices that refer to this License and to the "
+            "absence of any warranty; and give any other recipients of the "
+            "Program a copy of this License along with the Program.</p>"
+
+            "<p>You may charge a fee for the physical act of transferring a "
+            "copy, and you may at your option offer warranty protection in "
+            "exchange for a fee.</p>"
+
+            "<p>  2. You may modify your copy or copies of the Program or any "
+            "portion of it, thus forming a work based on the Program, and copy "
+            "and distribute such modifications or work under the terms of "
+            "Section 1 above, provided that you also meet all of these "
+            "conditions:"
+            "<ol type=\"a\">"
+            "<li> You must cause the modified files to carry prominent notices "
+            "stating that you changed the files and the date of any "
+            "change.</li>"
+
+            "<li> You must cause any work that you distribute or publish, that "
+            "in whole or in part contains or is derived from the Program or "
+            "any part thereof, to be licensed as a whole at no charge to all "
+            "third parties under the terms of this License.</li>"
+
+            "<li> If the modified program normally reads commands "
+            "interactively when run, you must cause it, when started running "
+            "for such interactive use in the most ordinary way, to print or "
+            "display an announcement including an appropriate copyright notice "
+            "and a notice that there is no warranty (or else, saying that you "
+            "provide a warranty) and that users may redistribute the program "
+            "under these conditions, and telling the user how to view a copy "
+            "of this License.  (Exception: if the Program itself is "
+            "interactive but does not normally print such an announcement, "
+            "your work based on the Program is not required to print an "
+            "announcement.)</li>"
+            "</ol>"
+            "</p>"
+
+            "<p>These requirements apply to the modified work as a whole.  If "
+            "identifiable sections of that work are not derived from the "
+            "Program, and can be reasonably considered independent and "
+            "separate works in themselves, then this License, and its terms, "
+            "do not apply to those sections when you distribute them as "
+            "separate works.  But when you distribute the same sections as "
+            "part of a whole which is a work based on the Program, the "
+            "distribution of the whole must be on the terms of this License, "
+            "whose permissions for other licensees extend to the entire whole, "
+            "and thus to each and every part regardless of who wrote it.</p>"
+
+            "<p>Thus, it is not the intent of this section to claim rights or "
+            "contest your rights to work written entirely by you; rather, the "
+            "intent is to exercise the right to control the distribution of "
+            "derivative or collective works based on the Program.</p>"
+
+            "<p>In addition, mere aggregation of another work not based on the "
+            "Program with the Program (or with a work based on the Program) on "
+            "a volume of a storage or distribution medium does not bring the "
+            "other work under the scope of this License.</p>"
+
+            "<p>  3. You may copy and distribute the Program (or a work based "
+            "on it, under Section 2) in object code or executable form under "
+            "the terms of Sections 1 and 2 above provided that you also do one "
+            "of the following:"
+            "<ol type=\"a\">"
+
+            "    <li> Accompany it with the complete corresponding "
+            "machine-readable source code, which must be distributed under the "
+            "terms of Sections 1 and 2 above on a medium customarily used for "
+            "software interchange; or,</li>"
+
+            "    <li> Accompany it with a written offer, valid for at least "
+            "three years, to give any third party, for a charge no more than "
+            "your cost of physically performing source distribution, a "
+            "complete machine-readable copy of the corresponding source code, "
+            "to be distributed under the terms of Sections 1 and 2 above on a "
+            "medium customarily used for software interchange; or,</li>"
+
+            "    <li> Accompany it with the information you received as to the "
+            "offer to distribute corresponding source code.  (This alternative "
+            "is allowed only for noncommercial distribution and only if you "
+            "received the program in object code or executable form with such "
+            "an offer, in accord with Subsection b above.)</li>"
+            "</ol></p>"
+
+            "<p>The source code for a work means the preferred form of the "
+            "work for making modifications to it.  For an executable work, "
+            "complete source code means all the source code for all modules it "
+            "contains, plus any associated interface definition files, plus "
+            "the scripts used to control compilation and installation of the "
+            "executable.  However, as a special exception, the source code "
+            "distributed need not include anything that is normally "
+            "distributed (in either source or binary form) with the major "
+            "components (compiler, kernel, and so on) of the operating system "
+            "on which the executable runs, unless that component itself "
+            "accompanies the executable.</p>"
+
+            "<p>If distribution of executable or object code is made by "
+            "offering access to copy from a designated place, then offering "
+            "equivalent access to copy the source code from the same place "
+            "counts as distribution of the source code, even though third "
+            "parties are not compelled to copy the source along with the "
+            "object code.</p>"
+
+            "<p>  4. You may not copy, modify, sublicense, or distribute the "
+            "Program except as expressly provided under this License.  Any "
+            "attempt otherwise to copy, modify, sublicense or distribute the "
+            "Program is void, and will automatically terminate your rights "
+            "under this License.  However, parties who have received copies, "
+            "or rights, from you under this License will not have their "
+            "licenses terminated so long as such parties remain in full "
+            "compliance.</p>"
+
+            "<p>  5. You are not required to accept this License, since you "
+            "have not signed it.  However, nothing else grants you permission "
+            "to modify or distribute the Program or its derivative works.  "
+            "These actions are prohibited by law if you do not accept this "
+            "License.  Therefore, by modifying or distributing the Program (or "
+            "any work based on the Program), you indicate your acceptance of "
+            "this License to do so, and all its terms and conditions for "
+            "copying, distributing or modifying the Program or works based on "
+            "it.</p>"
+
+            "<p>  6. Each time you redistribute the Program (or any work based "
+            "on the Program), the recipient automatically receives a license "
+            "from the original licensor to copy, distribute or modify the "
+            "Program subject to these terms and conditions.  You may not "
+            "impose any further restrictions on the recipients' exercise of "
+            "the rights granted herein.  You are not responsible for enforcing "
+            "compliance by third parties to this License.</p>"
+
+            "<p>  7. If, as a consequence of a court judgment or allegation of "
+            "patent infringement or for any other reason (not limited to "
+            "patent issues), conditions are imposed on you (whether by court "
+            "order, agreement or otherwise) that contradict the conditions of "
+            "this License, they do not excuse you from the conditions of this "
+            "License.  If you cannot distribute so as to satisfy "
+            "simultaneously your obligations under this License and any other "
+            "pertinent obligations, then as a consequence you may not "
+            "distribute the Program at all.  For example, if a patent license "
+            "would not permit royalty-free redistribution of the Program by "
+            "all those who receive copies directly or indirectly through you, "
+            "then the only way you could satisfy both it and this License "
+            "would be to refrain entirely from distribution of the Program.</p>"
+
+            "<p>If any portion of this section is held invalid or "
+            "unenforceable under any particular circumstance, the balance of "
+            "the section is intended to apply and the section as a whole is "
+            "intended to apply in other circumstances.</p>"
+
+            "<p>It is not the purpose of this section to induce you to "
+            "infringe any patents or other property right claims or to contest "
+            "validity of any such claims; this section has the sole purpose of "
+            "protecting the integrity of the free software distribution "
+            "system, which is implemented by public license practices.  Many "
+            "people have made generous contributions to the wide range of "
+            "software distributed through that system in reliance on "
+            "consistent application of that system; it is up to the "
+            "author/donor to decide if he or she is willing to distribute "
+            "software through any other system and a licensee cannot impose "
+            "that choice.</p>"
+
+            "<p>This section is intended to make thoroughly clear what is "
+            "believed to be a consequence of the rest of this License.</p>"
+
+            "<p>  8. If the distribution and/or use of the Program is "
+            "restricted in certain countries either by patents or by "
+            "copyrighted interfaces, the original copyright holder who places "
+            "the Program under this License may add an explicit geographical "
+            "distribution limitation excluding those countries, so that "
+            "distribution is permitted only in or among countries not thus "
+            "excluded.  In such case, this License incorporates the limitation "
+            "as if written in the body of this License.</p>"
+
+            "<p>  9. The Free Software Foundation may publish revised and/or "
+            "new versions of the General Public License from time to time.  "
+            "Such new versions will be similar in spirit to the present "
+            "version, but may differ in detail to address new problems or "
+            "concerns.</p>"
+
+            "<p>Each version is given a distinguishing version number.  If the "
+            "Program specifies a version number of this License which applies "
+            "to it and \"any later version\", you have the option of following "
+            "the terms and conditions either of that version or of any later "
+            "version published by the Free Software Foundation.  If the "
+            "Program does not specify a version number of this License, you "
+            "may choose any version ever published by the Free Software "
+            "Foundation.</p>"
+
+            "<p>  10. If you wish to incorporate parts of the Program into "
+            "other free programs whose distribution conditions are different, "
+            "write to the author to ask for permission.  For software which is "
+            "copyrighted by the Free Software Foundation, write to the Free "
+            "Software Foundation; we sometimes make exceptions for this.  Our "
+            "decision will be guided by the two goals of preserving the free "
+            "status of all derivatives of our free software and of promoting "
+            "the sharing and reuse of software generally.</p>"
+
+            "<p align=\"center\">NO WARRANTY</p>"
+
+            "<p>  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS "
+            "NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY "
+            "APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE "
+            "COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS "
+            "IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, "
+            "INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF "
+            "MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE "
+            "RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH "
+            "YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF "
+            "ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>"
+
+            "<p>  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED "
+            "TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO "
+            "MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE "
+            "LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, "
+            "INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR "
+            "INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS "
+            "OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY "
+            "YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH "
+            "ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN "
+            "ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>"
+
+            "<p align=\"center\">END OF TERMS AND CONDITIONS</p>")
+            .arg(QDate::currentDate().year()));
+
+    credits->setFrameStyle(QFrame::Panel | QFrame::Plain);
+    tabs->addTab(license, tr("License", "Help->About vym dialog"));
+
+    mainLayout->addWidget(tabs);
+
+    okbutton = new QPushButton(this);
+    okbutton->setText(tr("Ok", "Ok Button"));
+    okbutton->setMaximumSize(QSize(50, 30));
+    okbutton->setAutoDefault(true);
+    mainLayout->addWidget(okbutton);
+
+    connect(okbutton, SIGNAL(clicked()), this, SLOT(accept()));
+}
+
+AboutTextBrowser::AboutTextBrowser(QWidget *parent) : QTextBrowser(parent) {}
+
+void AboutTextBrowser::setSource(const QUrl &url)
+{
+    QProcess *proc = new QProcess();
+    proc->start(settings.value("/system/readerURL").toString(),
+                QStringList() << url.toString());
+    // if (!proc->waitForStarted() &&mainWindow->settingsURL() ) setSource(url);
+    if (!proc->waitForStarted())
+        QMessageBox::warning(
+            0, tr("Warning", "About window"),
+            tr("Couldn't find a viewer to open %1.\n", "About window")
+                    .arg(url.toString()) +
+                tr("Please use Settings->") +
+                tr("Set application to open an URL..."));
+}
diff --git a/src/aboutdialog.h b/src/aboutdialog.h
new file mode 100644 (file)
index 0000000..bf2df38
--- /dev/null
@@ -0,0 +1,67 @@
+#ifndef ABOUTDIALOG_H
+#define ABOUTDIALOG_H
+
+#include <QDialog>
+#include <QLayout>
+#include <QMessageBox>
+#include <QPushButton>
+#include <QString>
+#include <QTabWidget>
+#include <QTextBrowser>
+
+class AboutTextBrowser;
+
+/*! \mainpage View Your Mind - Development documentation
+
+  \section intro_sec Introduction
+
+VYM  (View Your Mind) is a tool to generate and manipulate maps which
+show your thoughts. Such maps can help you to improve your creativity
+and effectivity. You can use them for time management, to organize
+tasks, to get an overview over complex contexts, to sort your ideas
+etc. Some people even think it is fun to work with such maps...
+
+
+  \section install_sec Installation
+
+  Please look at the INSTALL.TXT file
+
+  \section doc_sec Documentation
+
+  The complete documentation is available as a PDF file. Please look
+  into the doc subdirectory.
+
+*/
+
+/*! \brief Dialog showing authors, version and license
+ */
+
+class AboutDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    AboutDialog(QWidget *parent = 0);
+
+  private:
+    QTabWidget *tabs;
+    AboutTextBrowser *credits;
+    AboutTextBrowser *license;
+
+    QLayout *mainLayout;
+    QLayout *topLayout;
+    QLayout *bottomLayout;
+    QPushButton *okbutton;
+};
+
+/*! \brief Overloaded QTextBrowser which is used in AboutDialog
+ */
+class AboutTextBrowser : public QTextBrowser {
+    Q_OBJECT;
+
+  public:
+    AboutTextBrowser(QWidget *parent);
+  public slots:
+    virtual void setSource(const QUrl &url);
+};
+
+#endif
diff --git a/src/animpoint.cpp b/src/animpoint.cpp
new file mode 100644 (file)
index 0000000..66dd0fa
--- /dev/null
@@ -0,0 +1,122 @@
+#include "animpoint.h"
+
+#include <math.h>
+
+AnimPoint::AnimPoint() { init(); }
+
+void AnimPoint::operator=(const AnimPoint &other) { copy(other); }
+
+void AnimPoint::operator=(const QPointF &other)
+{
+    init();
+    setX(other.x());
+    setY(other.x());
+}
+
+bool AnimPoint::operator==(const QPointF &other)
+{
+    QPointF p(x(), y());
+    return p == other;
+}
+
+bool AnimPoint::operator==(AnimPoint other)
+{
+    if (rx() != other.rx())
+        return false;
+    if (ry() != other.ry())
+        return false;
+    if (startPos != other.startPos)
+        return false;
+    if (destPos != other.destPos)
+        return false;
+    if (animated != other.animated)
+        return false;
+
+    return true;
+}
+
+void AnimPoint::init()
+{
+    animated = false;
+    n = 0;
+    startPos = QPointF(0, 0);
+    destPos = QPointF(0, 0);
+    vector = QPointF(0, 0);
+    animTicks = 10;
+}
+
+void AnimPoint::copy(AnimPoint other)
+{
+    setX(other.x());
+    setY(other.x());
+    startPos = other.startPos;
+    destPos = other.destPos;
+    vector = other.vector;
+    animated = other.animated;
+    n = other.n;
+    animTicks = other.animTicks;
+}
+
+void AnimPoint::setStart(const QPointF &p)
+{
+    startPos = p;
+    initVector();
+}
+
+QPointF AnimPoint::getStart() { return startPos; }
+
+void AnimPoint::setDest(const QPointF &p)
+{
+    destPos = p;
+    initVector();
+}
+
+QPointF AnimPoint::getDest() { return destPos; }
+
+void AnimPoint::setTicks(const uint &t) { animTicks = t; }
+
+uint AnimPoint::getTicks() { return (uint)animTicks; }
+
+void AnimPoint::setAnimated(bool b)
+{
+    animated = b;
+    if (b)
+        n = 0;
+}
+
+bool AnimPoint::isAnimated() { return animated; }
+
+bool AnimPoint::animate()
+{
+    if (!animated)
+        return false;
+    n++;
+    if (n > animTicks) {
+        vector = QPointF(0, 0);
+        animated = false;
+        setX(destPos.x());
+        setY(destPos.y());
+        return false;
+    }
+
+    // Some math to slow down the movement in the end
+    qreal f = 1 - n / (qreal)animTicks;
+    qreal ff = 1 - f * f * f;
+    setX(startPos.x() + vector.x() * ff);
+    setY(startPos.y() + vector.y() * ff);
+
+    return animated;
+}
+
+void AnimPoint::stop()
+{
+    animated = false;
+    setX(destPos.x());
+    setY(destPos.y());
+}
+
+void AnimPoint::initVector()
+{
+    vector.setX(destPos.x() - startPos.x());
+    vector.setY(destPos.y() - startPos.y());
+}
diff --git a/src/animpoint.h b/src/animpoint.h
new file mode 100644 (file)
index 0000000..91bfeaa
--- /dev/null
@@ -0,0 +1,37 @@
+#ifndef ANIMPOINT_H
+#define ANIMPOINT_H
+
+#include <QPointF>
+
+class AnimPoint : public QPointF {
+  public:
+    AnimPoint();
+    void operator=(const AnimPoint &);
+    void operator=(const QPointF &);
+    bool operator==(const QPointF &);
+    bool operator==(AnimPoint);
+    void init();
+    void copy(AnimPoint other);
+    void setStart(const QPointF &);
+    QPointF getStart();
+    void setDest(const QPointF &);
+    QPointF getDest();
+    void setTicks(const uint &t);
+    uint getTicks();
+    void setAnimated(bool);
+    bool isAnimated();
+    bool animate();
+    void stop();
+
+  private:
+    void initVector();
+
+    QPointF startPos;
+    QPointF destPos;
+    QPointF vector;
+    qreal n;
+    uint animTicks;
+    bool animated;
+};
+
+#endif
diff --git a/src/arrowobj.cpp b/src/arrowobj.cpp
new file mode 100644 (file)
index 0000000..b4e36c7
--- /dev/null
@@ -0,0 +1,180 @@
+#include "arrowobj.h"
+#include "misc.h"
+
+#include <QDebug>
+#include <QGraphicsScene>
+
+/////////////////////////////////////////////////////////////////
+// ArrowObj
+/////////////////////////////////////////////////////////////////
+
+ArrowObj::ArrowObj(MapObj *parent) : MapObj(parent) { init(); }
+
+ArrowObj::~ArrowObj()
+{
+    delete arrowBegin;
+    delete arrowEnd;
+    delete line;
+}
+
+void ArrowObj::init()
+{
+    QPen pen;
+
+    pen.setStyle(Qt::SolidLine);
+    arrowBegin = scene()->addPolygon(QPolygonF(), pen);
+    arrowBegin->setZValue(dZ_XLINK);
+    arrowEnd = scene()->addPolygon(QPolygonF(), pen);
+    arrowEnd->setZValue(dZ_XLINK);
+
+    line = scene()->addLine(QLineF(), pen);
+    line->setZValue(dZ_XLINK);
+
+    arrowSize = 4;
+    useFixedLength = false;
+    setStyleBegin(None);
+    setStyleEnd(HeadFull);
+}
+
+void ArrowObj::setPen(QPen p)
+{
+    pen = p;
+    line->setPen(pen);
+
+    // end shall have same style as xlink
+    QPen pen_solid = pen;
+    pen_solid.setStyle(Qt::SolidLine);
+    arrowBegin->setPen(pen_solid);
+    arrowEnd->setPen(pen_solid);
+
+    setStyleBegin(styleBegin);
+    setStyleEnd(styleEnd);
+}
+
+QPen ArrowObj::getPen() { return pen; }
+
+void ArrowObj::setArrowSize(qreal r) { arrowSize = r; }
+
+qreal ArrowObj::getArrowSize() { return arrowSize; }
+
+void ArrowObj::setUseFixedLength(bool b) { useFixedLength = b; }
+
+bool ArrowObj::getUseFixedLength() { return useFixedLength; }
+
+void ArrowObj::setFixedLength(int i) { fixedLength = i; }
+
+int ArrowObj::getFixedLength() { return fixedLength; }
+
+void ArrowObj::show() { setVisibility(true); }
+
+void ArrowObj::hide() { setVisibility(false); }
+
+void ArrowObj::setVisibility(bool b)
+{
+    MapObj::setVisibility(b);
+    if (b) {
+        if (styleEnd != None)
+            arrowEnd->show();
+        else
+            arrowEnd->hide();
+        if (useFixedLength && fixedLength == 0)
+            line->hide();
+        else
+            line->show();
+    }
+    else {
+        arrowEnd->hide();
+        line->hide();
+    }
+}
+
+void ArrowObj::setEndPoint(QPointF p)
+{
+    endPoint = p;
+
+    line->setLine(absPos.x(), absPos.y(), p.x(), p.y());
+    arrowEnd->setPos(absPos);
+
+    qreal a = getAngle(endPoint - absPos);
+    arrowEnd->setRotation(-a / 6.28 * 360);
+    arrowEnd->setPos(endPoint);
+}
+
+QPointF ArrowObj::getEndPoint() { return endPoint; }
+
+void ArrowObj::setStyleBegin(const QString &s)
+{
+    if (s == "HeadFull")
+        setStyleBegin(ArrowObj::HeadFull);
+    else
+        setStyleBegin(ArrowObj::None);
+}
+
+void ArrowObj::setStyleBegin(OrnamentStyle os)
+{
+    styleBegin = os;
+    switch (styleBegin) {
+    case HeadFull:
+        arrowEnd->setPolygon(getArrowHead());
+        arrowBegin->setBrush(pen.color());
+        break;
+    case Foot:
+        break;
+    case None:
+        arrowBegin->setPolygon(QPolygonF());
+        break;
+    }
+}
+
+ArrowObj::OrnamentStyle ArrowObj::getStyleBegin() { return styleBegin; }
+
+void ArrowObj::setStyleEnd(const QString &s)
+{
+    if (s == "HeadFull")
+        setStyleEnd(ArrowObj::HeadFull);
+    else
+        setStyleEnd(ArrowObj::None);
+}
+
+void ArrowObj::setStyleEnd(OrnamentStyle os)
+{
+    styleEnd = os;
+    switch (styleEnd) {
+    case HeadFull:
+        arrowEnd->setPolygon(getArrowHead());
+        arrowEnd->setBrush(pen.color());
+        break;
+    case Foot:
+        break;
+    case None:
+        arrowEnd->setPolygon(QPolygonF());
+        break;
+    }
+}
+
+QPolygonF ArrowObj::getArrowHead()
+{
+    QPointF a, b, c;
+    QPolygonF pa;
+    b = a + QPointF(-arrowSize * 2, -arrowSize);
+    c = a + QPointF(-arrowSize * 2, +arrowSize);
+    pa << a << b << c;
+    return pa;
+}
+
+ArrowObj::OrnamentStyle ArrowObj::getStyleEnd() { return styleEnd; }
+
+QString ArrowObj::styleToString(const OrnamentStyle &os)
+{
+    switch (os) {
+    case HeadFull:
+        return "HeadFull";
+        break;
+    case None:
+        return "None";
+        break;
+    default:
+        qWarning() << "ArrowObj::styleToString unknown style " << os;
+    }
+    return "Unknown";
+}
diff --git a/src/arrowobj.h b/src/arrowobj.h
new file mode 100644 (file)
index 0000000..be8c70a
--- /dev/null
@@ -0,0 +1,56 @@
+#ifndef ARROWOBJ_H
+#define ARROWOBJ_H
+
+#include "mapobj.h"
+
+#include <QPen>
+
+/*! \brief arrows are used to indicate partially hidden ends of xlinks and
+    also the ends of xlinks.
+*/
+
+/////////////////////////////////////////////////////////////////////////////
+
+class ArrowObj : public MapObj {
+  public:
+    enum OrnamentStyle { None, HeadFull, Foot };
+    ArrowObj(MapObj *parent);
+    virtual ~ArrowObj();
+    virtual void init();
+    void setPen(QPen pen);
+    QPen getPen();
+    void setArrowSize(qreal r);
+    qreal getArrowSize();
+    void setFixedLength(int i);
+    int getFixedLength();
+    void setUseFixedLength(bool b);
+    bool getUseFixedLength();
+    void show();
+    void hide();
+    void setVisibility(bool b);
+    void setEndPoint(QPointF p);
+    QPointF getEndPoint();
+    void setStyleBegin(OrnamentStyle os);
+    void setStyleBegin(const QString &s);
+    OrnamentStyle getStyleBegin();
+    void setStyleEnd(const QString &s);
+    void setStyleEnd(OrnamentStyle os);
+    OrnamentStyle getStyleEnd();
+    static QString styleToString(const OrnamentStyle &os);
+
+  private:
+    QPolygonF getArrowHead();
+    QPen pen;
+    qreal arrowSize;
+    int fixedLength;
+    bool useFixedLength;
+    QGraphicsPolygonItem *arrowEnd;
+    QGraphicsPolygonItem *arrowBegin;
+    QGraphicsLineItem *line;
+    QPointF endPoint;
+
+    OrnamentStyle styleBegin;
+    OrnamentStyle styleEnd;
+};
+
+#endif
diff --git a/src/attributeitem.cpp b/src/attributeitem.cpp
new file mode 100644 (file)
index 0000000..d4961d0
--- /dev/null
@@ -0,0 +1,132 @@
+#include "attributeitem.h"
+
+#include <QDebug>
+
+extern bool debug;
+
+AttributeItem::AttributeItem(TreeItem *parent)
+    : BranchItem(parent)
+{
+    //qDebug() << "Constr. AttrItem (parent)";
+    TreeItem::setType(Attribute);
+    internal = false;
+    attrType = Undefined;
+}
+
+AttributeItem::AttributeItem(const QString &k, const QString &v, TreeItem *parent)
+    : BranchItem(parent)
+{
+    //qDebug() << "Constr. AttrItem (k, v, parent)";
+    TreeItem::setType(Attribute);
+    internal = false;
+
+    set(k, v);
+}
+
+AttributeItem::~AttributeItem() {
+    //qDebug() << "Destr. AttrItem";
+}
+
+void AttributeItem::copy(AttributeItem *other)
+{
+    key = other->key;
+    value = other->value;
+    attrType = other->attrType;
+}
+
+void AttributeItem::set(const QString &k, const QString &v)
+{
+    key = k;
+    value = QVariant(v);
+    attrType = String;
+    createHeading();
+}
+
+void AttributeItem::get(QString &k, QString &v, Type &t) // FIXME-3  Better use return tuple
+    // https://stackoverflow.com/questions/321068/returning-multiple-values-from-a-c-function
+{
+    k = key;
+    v = value.toString();
+    t = attrType;
+}
+
+void AttributeItem::setKey(const QString &k) // FIXME-3 Check if key aready exists in branch?
+{
+    key = k;
+    createHeading();
+}
+
+QString AttributeItem::getKey()
+{
+    return key;
+}
+
+void AttributeItem::setValue(const QString &v)
+{
+    value = v;
+    attrType = String;
+    createHeading();
+}
+
+void AttributeItem::setValue(const qlonglong &n)
+{
+    value = n;
+    attrType = Integer;
+    createHeading();
+}
+
+void AttributeItem::setValue(const QDateTime &dt)
+{
+    value = dt;
+    attrType = DateTime;
+    createHeading();
+}
+
+QVariant AttributeItem::getValue()
+{
+    return value;
+}
+
+void AttributeItem::setAttributeType(const Type &t)
+{
+    attrType = t;
+}
+
+AttributeItem::Type AttributeItem::getAttributeType()
+{
+    return attrType;
+}
+
+QString AttributeItem::getAttributeTypeString()
+{
+    switch (attrType) {
+        case Integer:
+            return "Integer";
+        case String:
+            return "String";
+        case DateTime:
+            return "DateTime";
+        default:
+            break;
+    }
+    return "Undefined";
+}
+
+void AttributeItem::setInternal(bool b) { internal = b; }
+
+bool AttributeItem::isInternal() { return internal; }
+
+QString AttributeItem::getDataXML()
+{
+    QString a;
+    a = attribut("key", getKey());
+    a += attribut("value", getValue().toString());
+    a += attribut("type", getAttributeTypeString());
+    return singleElement("attribute", a);
+}
+
+void AttributeItem::createHeading() // FIXME-3 Visible in TreeEditor, should not go to MapEditor
+{
+    setHeadingPlainText(
+        QString("[Attr] %1: %2").arg(key).arg(value.toString()));
+}
diff --git a/src/attributeitem.h b/src/attributeitem.h
new file mode 100644 (file)
index 0000000..69c5f62
--- /dev/null
@@ -0,0 +1,51 @@
+#ifndef ATTRIBUTEITEM_H
+#define ATTRIBUTEITEM_H
+
+#include <QStringList>
+#include <QVariant>
+
+#include "branchitem.h"
+
+/*! \brief A key and a value
+    The data itself is stored in Attribute Definitions (AttributeDef).
+    A list of these tables AttributeTable is maintained for every MapEditor.
+*/
+class AttributeItem : public BranchItem {
+  public:
+    enum Type {
+        Undefined,   //!< Undefined type
+        Integer,     //!< Integer
+        DateTime,    //!< DateTime
+        String       //!< String
+    };
+
+    AttributeItem(TreeItem *parent = nullptr);
+    AttributeItem(const QString &k, const QString &v, TreeItem *parent = nullptr);
+    virtual ~AttributeItem();
+    void copy(AttributeItem *other);
+    void set(const QString &k, const QString &v);
+    void get(QString &k, QString &v, Type &t);
+    void setKey(const QString &k);
+    QString getKey();
+    void setValue(const QString &v);
+    void setValue(const qlonglong &n);
+    void setValue(const QDateTime &dt);
+    QVariant getValue();
+    QDateTime getValueDateTime();
+    using BranchItem::setType;
+    virtual void setAttributeType(const Type &t);
+    AttributeItem::Type getAttributeType();
+    QString getAttributeTypeString();
+    void setInternal(bool b);
+    bool isInternal();
+    QString getDataXML();
+
+  protected:
+    void createHeading();
+    bool internal; //!< Internal attributes cannot be edited by user
+    QString key;
+    QVariant value;
+    Type attrType;
+};
+
+#endif
diff --git a/src/branchitem.cpp b/src/branchitem.cpp
new file mode 100644 (file)
index 0000000..91a71be
--- /dev/null
@@ -0,0 +1,574 @@
+#include "branchitem.h"
+
+#include "attributeitem.h"
+#include "branchobj.h"
+#include "task.h"
+#include "taskmodel.h"
+#include "vymmodel.h"
+#include "xlink.h"
+#include "xlinkitem.h"
+
+extern TaskModel *taskModel;
+
+//#include <QDir>
+
+BranchItem::BranchItem(TreeItem *parent)
+    : MapItem(parent)
+{
+    //qDebug()<< "Constr. BranchItem this=" << this << "parent:" << parent;
+
+    // Set type if parent is known yet
+    // if not, type is set in insertBranch or TreeItem::appendChild
+    if (parent == rootItem)
+        setType(MapCenter);
+    else
+        setType(Branch);
+
+    scrolled = false;
+    tmpUnscrolled = false;
+
+    includeImagesVer = false;
+    includeImagesHor = false;
+    includeChildren = false;
+    childrenLayout = BranchItem::AutoPositioning;
+
+    lastSelectedBranchNum = 0;
+    lastSelectedBranchNumAlt = 0;
+
+    task = NULL;
+}
+
+BranchItem::~BranchItem()
+{
+    // qDebug()<< "Destr. BranchItem  this="<<this<<"  "<<getHeading();
+    if (mo) {
+        delete mo;
+        mo = NULL;
+    }
+    clear();
+}
+
+void BranchItem::clear()
+{
+    if (task)
+        taskModel->deleteTask(task);
+}
+
+void BranchItem::copy(BranchItem *other) // TODO lacks most of data...
+{
+    scrolled = other->scrolled;
+    tmpUnscrolled = other->tmpUnscrolled;
+}
+
+BranchItem *BranchItem::parentBranch() { return (BranchItem *)parentItem; }
+
+void BranchItem::insertBranch(int pos, BranchItem *branch)
+{
+    if (pos < 0)
+        pos = 0;
+    if (pos > branchCounter)
+        pos = branchCounter;
+    childItems.insert(pos + branchOffset, branch);
+    branch->parentItem = this;
+    branch->rootItem = rootItem;
+    branch->setModel(model);
+    if (parentItem == rootItem)
+        setType(MapCenter);
+    else
+        setType(Branch);
+
+    if (branchCounter == 0)
+        branchOffset = childItems.count() - 1;
+    branchCounter++;
+}
+
+QString BranchItem::saveToDir(const QString &tmpdir, const QString &prefix,
+                              const QPointF &offset, QList<Link *> &tmpLinks)
+{
+    // Cloudy stuff can be hidden during exports
+    if (hidden)
+        return QString();
+
+    // Save uuid
+    QString idAttr = attribut("uuid", uuid.toString());
+
+    QString s, a;
+
+    // Update of note is usually done while unselecting a branch
+
+    QString scrolledAttr;
+    if (scrolled)
+        scrolledAttr = attribut("scrolled", "yes");
+    else
+        scrolledAttr = "";
+
+    // save area, if not scrolled   // not needed if HTML is rewritten...
+    // also we could check if _any_ of parents is scrolled
+    QString areaAttr;
+    if (mo && parentItem->isBranchLikeType() &&
+        !((BranchItem *)parentItem)->isScrolled()) {
+        qreal x = mo->getAbsPos().x();
+        qreal y = mo->getAbsPos().y();
+        areaAttr =
+            attribut("x1", QString().setNum(x - offset.x())) +
+            attribut("y1", QString().setNum(y - offset.y())) +
+            attribut("x2", QString().setNum(x + mo->width() - offset.x())) +
+            attribut("y2", QString().setNum(y + mo->height() - offset.y()));
+    }
+    else
+        areaAttr = "";
+
+    QString elementName;
+    if (parentItem == rootItem)
+        elementName = "mapcenter";
+    else
+        elementName = "branch";
+
+    // Free positioning of children
+    QString layoutAttr;
+    if (childrenLayout == BranchItem::FreePositioning)
+        layoutAttr += attribut("childrenFreePos", "true");
+
+    // Save rotation
+    QString rotAttr;
+    if (mo && mo->getRotation() != 0)
+        rotAttr = attribut("rotation", QString().setNum(mo->getRotation()));
+
+    s = beginElement(elementName + getMapAttr() + getGeneralAttr() +
+                     scrolledAttr + getIncludeImageAttr() + rotAttr +
+                     layoutAttr + idAttr);
+    incIndent();
+
+    // save heading
+    s += heading.saveToDir();
+
+    // save note
+    if (!note.isEmpty())
+        s += note.saveToDir();
+
+    // Save frame  // not saved if there is no MO
+    if (mo) {
+        // Avoid saving NoFrame for objects other than MapCenter
+        if (depth() == 0 || ((OrnamentedObj *)mo)->getFrame()->getFrameType() !=
+                                FrameObj::NoFrame)
+            s += ((OrnamentedObj *)mo)->getFrame()->saveToDir();
+    }
+
+    // save names of flags set
+    s += standardFlags.saveState();
+    s += userFlags.saveState();
+
+    // Save Images
+    for (int i = 0; i < imageCount(); ++i)
+        s += getImageNum(i)->saveToDir(tmpdir, prefix);
+
+    // save attributes
+    for (int i = 0; i < attributeCount(); ++i)
+        s += getAttributeNum(i)->getDataXML();
+
+    // save task
+    if (task)
+        s += task->saveToDir();
+
+    // Save branches
+    int i = 0;
+    TreeItem *ti = getBranchNum(i);
+    while (ti) {
+        s += getBranchNum(i)->saveToDir(tmpdir, prefix, offset, tmpLinks);
+        i++;
+        ti = getBranchNum(i);
+    }
+
+    // Mark Links for save
+    for (int i = 0; i < xlinkCount(); ++i) {
+        Link *l = getXLinkItemNum(i)->getLink();
+        if (l && !tmpLinks.contains(l))
+            tmpLinks.append(l);
+    }
+    decIndent();
+    s += endElement(elementName);
+    return s;
+}
+
+void BranchItem::updateVisibility()
+{
+    // Needed to hide relinked branch, if parent is scrolled
+    if (mo) {
+        if (hasScrolledParent(this) || hidden)
+            mo->setVisibility(false);
+        else
+            mo->setVisibility(true);
+    }
+}
+
+void BranchItem::setHeadingColor(QColor color)
+{
+    TreeItem::setHeadingColor(color);
+    if (mo)
+        ((BranchObj *)mo)->setColor(color);
+}
+
+void BranchItem::updateTaskFlag()
+{
+    systemFlags.deactivateGroup("system-tasks");
+    if (task) {
+        QString s = "system-" + task->getIconString();
+        systemFlags.activate(s);
+        model->emitDataChanged(this);
+    }
+    // else: During initialization the task is not yet attached to branch,
+    // so ignore it for now
+}
+
+void BranchItem::setTask(Task *t)
+{
+    task = t;
+    updateTaskFlag();
+}
+
+Task *BranchItem::getTask() { return task; }
+
+void BranchItem::scroll()
+{
+    if (tmpUnscrolled)
+        resetTmpUnscroll();
+    if (!scrolled)
+        toggleScroll();
+}
+void BranchItem::unScroll()
+{
+    if (tmpUnscrolled)
+        resetTmpUnscroll();
+    if (scrolled)
+        toggleScroll();
+}
+
+bool BranchItem::toggleScroll()
+{
+    // MapCenters are not scrollable
+    if (depth() == 0)
+        return false;
+
+    BranchObj *bo;
+    if (scrolled) {
+        scrolled = false;
+        systemFlags.deactivate(QString("system-scrolledright"));
+        if (branchCounter > 0)
+            for (int i = 0; i < branchCounter; ++i) {
+                bo = (BranchObj *)(getBranchNum(i)->getMO());
+                if (bo)
+                    bo->setVisibility(true); // Recursively!
+            }
+    }
+    else {
+        scrolled = true;
+        systemFlags.activate(QString("system-scrolledright"));
+        if (branchCounter > 0)
+            for (int i = 0; i < branchCounter; ++i) {
+                bo = (BranchObj *)(getBranchNum(i)->getMO());
+                if (bo)
+                    bo->setVisibility(false); // Recursively!
+            }
+    }
+    return true;
+}
+
+bool BranchItem::isScrolled() { return scrolled; }
+
+bool BranchItem::hasScrolledParent(BranchItem *start)
+{
+    // Calls parents recursivly to
+    // find out, if we are scrolled at all.
+    // But ignore myself, just look at parents.
+
+    if (!start)
+        start = this;
+
+    if (this != start && scrolled)
+        return true;
+
+    BranchItem *bi = (BranchItem *)parentItem;
+    if (bi && bi != rootItem)
+        return bi->hasScrolledParent(start);
+    else
+        return false;
+}
+
+bool BranchItem::tmpUnscroll(BranchItem *start)
+{
+    bool result = false;
+
+    if (!start)
+        start = this;
+
+    // Unscroll parent (recursivly)
+    BranchItem *pi = (BranchItem *)parentItem;
+    if (pi && pi->isBranchLikeType())
+        result = pi->tmpUnscroll(start);
+
+    // Unscroll myself
+    if (start != this && scrolled) {
+        tmpUnscrolled = true;
+        systemFlags.activate(QString("system-tmpUnscrolledRight"));
+        toggleScroll();
+        model->emitDataChanged(this);
+        result = true;
+    }
+    return result;
+}
+
+bool BranchItem::resetTmpUnscroll()
+{
+    bool result = false;
+
+    // Unscroll parent (recursivly)
+    BranchItem *pi = (BranchItem *)parentItem;
+    if (pi && pi->isBranchLikeType())
+        result = pi->resetTmpUnscroll();
+
+    // Unscroll myself
+    if (tmpUnscrolled) {
+        tmpUnscrolled = false;
+        systemFlags.deactivate(QString("system-tmpUnscrolledRight"));
+        toggleScroll();
+        model->emitDataChanged(this);
+        result = true;
+    }
+    return result;
+}
+
+void BranchItem::sortChildren(
+    bool inverse) // FIXME-4 optimize by not using moveUp/Down
+{
+    int childCount = branchCounter;
+    int curChildIndex;
+    bool madeChanges = false;
+    do {
+        madeChanges = false;
+        for (curChildIndex = 1; curChildIndex < childCount; curChildIndex++) {
+            BranchItem *curChild = getBranchNum(curChildIndex);
+            BranchItem *prevChild = getBranchNum(curChildIndex - 1);
+            if (inverse) {
+                if (prevChild->getHeadingPlain().compare(
+                        curChild->getHeadingPlain(), Qt::CaseInsensitive) < 0) {
+                    model->moveUp(curChild);
+                    madeChanges = true;
+                }
+            }
+            else if (prevChild->getHeadingPlain().compare(
+                         curChild->getHeadingPlain(), Qt::CaseInsensitive) >
+                     0) {
+                model->moveUp(curChild);
+                madeChanges = true;
+            }
+        }
+    } while (madeChanges);
+}
+
+void BranchItem::setChildrenLayout(BranchItem::LayoutHint layoutHint)
+{
+    childrenLayout = layoutHint;
+}
+
+BranchItem::LayoutHint BranchItem::getChildrenLayout()
+{
+    return childrenLayout;
+}
+
+void BranchItem::setIncludeImagesVer(bool b) { includeImagesVer = b; }
+
+bool BranchItem::getIncludeImagesVer() { return includeImagesVer; }
+
+void BranchItem::setIncludeImagesHor(bool b) { includeImagesHor = b; }
+
+bool BranchItem::getIncludeImagesHor() { return includeImagesHor; }
+
+QString BranchItem::getIncludeImageAttr()
+{
+    QString a;
+    if (includeImagesVer)
+        a = attribut("incImgV", "true");
+    if (includeImagesHor)
+        a += attribut("incImgH", "true");
+    return a;
+}
+
+BranchItem *BranchItem::getFramedParentBranch(BranchItem *start)
+{
+    BranchObj *bo = getBranchObj();
+    if (bo && bo->getFrameType() != FrameObj::NoFrame) {
+        if (bo->getFrame()->getFrameIncludeChildren())
+            return this;
+        if (this == start)
+            return this;
+    }
+    BranchItem *bi = (BranchItem *)parentItem;
+    if (bi && bi != rootItem)
+        return bi->getFramedParentBranch(start);
+    else
+        return NULL;
+}
+
+void BranchItem::setFrameIncludeChildren(bool b)
+{
+    includeChildren = b; // FIXME-4 ugly: same information stored in FrameObj
+    BranchObj *bo = getBranchObj();
+    if (bo)
+        bo->getFrame()->setFrameIncludeChildren(b);
+}
+
+bool BranchItem::getFrameIncludeChildren()
+{
+    BranchObj *bo = getBranchObj();
+    if (bo)
+        return bo->getFrame()->getFrameIncludeChildren();
+    else
+        return includeChildren;
+}
+
+QColor BranchItem::getBackgroundColor(BranchItem *start, bool checkInnerFrame)
+{
+    /*
+    // Determine background color in taskEditor, first try inner frame
+    if (checkInnerFrame && branchContainer->frameType(true) != FrameContainer::NoFrame)
+            return branchContainer->frameBrushColor(true);
+
+    // Outer frame
+    if (branchContainer->frameType(false) != FrameContainer::NoFrame)
+            return branchContainer->frameBrushColor(false);
+
+    BranchItem *pb = parentBranch();
+    if (pb && pb != rootItem)
+        // Recursively try parents and check for frames there
+        return pb->getBackgroundColor(start, false);
+    else
+    */
+    BranchItem *bi = getFramedParentBranch(start);
+    if (bi)
+        return bi->getBranchObj()->getFrameBrushColor();
+
+        // No frame found
+        return model->getMapBackgroundColor();
+}
+
+void BranchItem::setLastSelectedBranch()
+{
+    int d = depth();
+    if (d >= 0) {
+        if (d == 1)
+            // Hack to save an additional lastSelected for mapcenters in
+            // MapEditor depending on orientation this allows to go both left
+            // and right from there
+            if (mo && ((BranchObj *)mo)->getOrientation() ==
+                          LinkableMapObj::LeftOfCenter) {
+                ((BranchItem *)parentItem)->lastSelectedBranchNumAlt =
+                    parentItem->num(this);
+                return;
+            }
+        ((BranchItem *)parentItem)->lastSelectedBranchNum =
+            parentItem->num(this);
+    }
+}
+
+void BranchItem::setLastSelectedBranch(int i) { lastSelectedBranchNum = i; }
+
+BranchItem *BranchItem::getLastSelectedBranch()
+{
+    if (lastSelectedBranchNum >= branchCounter)
+        return getBranchNum(branchCounter - 1);
+    else
+        return getBranchNum(lastSelectedBranchNum);
+}
+
+BranchItem *BranchItem::getLastSelectedBranchAlt()
+{
+    return getBranchNum(lastSelectedBranchNumAlt);
+}
+
+TreeItem *BranchItem::findMapItem(QPointF p, TreeItem *excludeTI)
+{
+    // Search branches
+    TreeItem *ti;
+    for (int i = 0; i < branchCount(); ++i) {
+        ti = getBranchNum(i)->findMapItem(p, excludeTI);
+        if (ti != NULL)
+            return ti;
+    }
+
+    // Search images
+    ImageItem *ii;
+    for (int i = 0; i < imageCount(); ++i) {
+        ii = getImageNum(i);
+        MapObj *mo = ii->getMO();
+        if (mo && mo->isInClickBox(p) && (ii != excludeTI) &&
+            this != excludeTI && mo->isVisibleObj())
+            return ii;
+    }
+
+    // Search myself
+    if (getBranchObj()->isInClickBox(p) && (this != excludeTI) &&
+        getBranchObj()->isVisibleObj())
+        return this;
+
+    // Search attributes
+    AttributeItem *ai;
+    for (int i = 0; i < attributeCount(); ++i) {
+        ai = getAttributeNum(i);
+        MapObj *mo = ai->getMO();
+        if (mo && mo->isInClickBox(p) && (ai != excludeTI) &&
+            this != excludeTI && mo->isVisibleObj())
+            return ai;
+    }
+    return NULL;
+}
+
+void BranchItem::updateStyles(const bool &keepFrame)
+{
+    // Update styles when relinking branches
+    if (mo) {
+        BranchObj *bo = getBranchObj();
+        if (parentItem != rootItem)
+            bo->setParObj((LinkableMapObj *)(((MapItem *)parentItem)->getMO()));
+        else
+            bo->setParObj(NULL);
+        bo->setDefAttr(BranchObj::MovedBranch, keepFrame);
+    }
+}
+
+BranchObj *BranchItem::getBranchObj() { return (BranchObj *)mo; }
+
+BranchObj *BranchItem::createMapObj(QGraphicsScene *scene)
+{
+    BranchObj *newbo;
+
+    if (parentItem == rootItem) {
+        newbo = new BranchObj(NULL, this);
+        mo = newbo;
+        scene->addItem(newbo);
+    }
+    else {
+        newbo = new BranchObj(((MapItem *)parentItem)->getMO(), this);
+        mo = newbo;
+        // Set visibility depending on parents
+        if (parentItem != rootItem &&
+            (((BranchItem *)parentItem)->scrolled ||
+             !((MapItem *)parentItem)->getLMO()->isVisibleObj()))
+            newbo->setVisibility(false);
+        if (depth() == 1) {
+            qreal r = 190;
+            qreal a =
+                -M_PI_4 + M_PI_2 * (num()) + (M_PI_4 / 2) * (num() / 4 % 4);
+            QPointF p(r * cos(a), r * sin(a));
+            newbo->setRelPos(p);
+        }
+    }
+    newbo->setDefAttr(BranchObj::NewBranch);
+    initLMO();
+
+    if (!getHeading().isEmpty()) {
+        newbo->updateVisuals();
+        newbo->setColor(heading.getColor());
+    }
+
+    return newbo;
+}
diff --git a/src/branchitem.h b/src/branchitem.h
new file mode 100644 (file)
index 0000000..c545aa1
--- /dev/null
@@ -0,0 +1,110 @@
+#ifndef BRANCHITEM_H
+#define BRANCHITEM_H
+
+#include "mapitem.h"
+#include "task.h"
+
+#include <QList>
+
+class QString;
+class QGraphicsScene;
+class BranchObj;
+class Link;
+class XLinkItem;
+
+class BranchItem : public MapItem {
+  public:
+    enum LayoutHint { AutoPositioning, FreePositioning };
+
+    BranchItem(TreeItem *parent = nullptr);
+    virtual ~BranchItem();
+    virtual void clear();
+    virtual void copy(BranchItem *item);
+    virtual BranchItem *parentBranch();
+
+    virtual void insertBranch(int pos, BranchItem *branch);
+
+    virtual QString saveToDir(const QString &tmpdir, const QString &prefix,
+                              const QPointF &offset, QList<Link *> &tmpLinks);
+
+    virtual void updateVisibility();
+
+    virtual void setHeadingColor(
+        QColor color); //! Overloaded from TreeItem to update QGraphicsView
+
+  protected:
+    bool scrolled;      // true if all children are scrolled and thus invisible
+    bool tmpUnscrolled; // can only be true (temporary) for a scrolled subtree
+
+  public:
+    void updateTaskFlag();
+    void setTask(Task *t);
+    Task *getTask();
+
+  private:
+    Task *task;
+
+  public:
+    virtual void scroll();
+    virtual void unScroll();
+    virtual bool toggleScroll(); // scroll or unscroll
+    virtual bool isScrolled();   // returns scroll state
+    virtual bool hasScrolledParent(
+        BranchItem *start = NULL); // true, if any of the parents is scrolled
+    virtual bool tmpUnscroll(
+        BranchItem *start = NULL);   // unscroll scrolled parents temporary e.g.
+                                     // during "find" process
+    virtual bool resetTmpUnscroll(); // scroll all tmp scrolled parents again
+                                     // e.g. when unselecting
+    virtual void sortChildren(bool inverse = false); //! Sort children
+    virtual void setChildrenLayout(BranchItem::LayoutHint layoutHint);
+    virtual BranchItem::LayoutHint getChildrenLayout();
+
+  protected:
+    bool includeImagesVer;     //! include floatimages in bbox vertically
+    bool includeImagesHor;     //! include floatimages in bbox horizontally
+    bool includeChildren;      //! include children in frame
+    LayoutHint childrenLayout; //! should children be positioned freely?
+
+  public:
+    void setIncludeImagesVer(bool);
+    bool getIncludeImagesVer();
+    void setIncludeImagesHor(bool);
+    bool getIncludeImagesHor();
+    QString getIncludeImageAttr();
+    BranchItem *getFramedParentBranch(BranchItem *start);
+    void setFrameIncludeChildren(bool);
+    bool getFrameIncludeChildren();
+
+    QColor getBackgroundColor(BranchItem *start, bool checkInnerFrame = true);
+
+  protected:
+    int lastSelectedBranchNum;
+    int lastSelectedBranchNumAlt;
+
+  public:
+    virtual void
+    setLastSelectedBranch(); //! Set myself as last selected in parent
+    virtual void
+    setLastSelectedBranch(int i); //! Set last selected branch directly
+    virtual BranchItem *
+    getLastSelectedBranch(); //! Returns last selected branch usually
+    virtual BranchItem *
+    getLastSelectedBranchAlt(); //! Used to return last selected branch left of
+                                //! a mapcenter
+
+  public:
+    TreeItem *findMapItem(
+        QPointF p,
+        TreeItem *excludeTI); //! search map for branches or images. Ignore
+                              //! excludeTI, where search is started
+
+    virtual void
+    updateStyles(const bool &keepFrame =
+                     false); //! update related fonts, parObjects, links, ...
+    virtual BranchObj *getBranchObj();
+    virtual BranchObj *createMapObj(
+        QGraphicsScene *scene); //! Create classic object in GraphicsView
+};
+
+#endif
diff --git a/src/branchobj.cpp b/src/branchobj.cpp
new file mode 100644 (file)
index 0000000..ffae47b
--- /dev/null
@@ -0,0 +1,672 @@
+#include <QDebug>
+
+#include "branchobj.h"
+
+#include "attributeitem.h"
+#include "branchitem.h"
+#include "geometry.h"
+#include "mainwindow.h"
+#include "mapeditor.h"
+#include "misc.h"
+
+extern FlagRowMaster *standardFlagsMaster;
+extern FlagRowMaster *userFlagsMaster;
+extern FlagRowMaster *systemFlagsMaster;
+extern bool debug;
+extern bool usingDarkTheme;
+
+/////////////////////////////////////////////////////////////////
+// BranchObj
+/////////////////////////////////////////////////////////////////
+
+BranchObj::BranchObj(QGraphicsItem *parent, TreeItem *ti)
+    : OrnamentedObj(parent, ti)
+{
+    // qDebug ()<< "Const BranchObj  (s,ti) ti="<<ti;
+    treeItem = ti;
+    BranchItem *pi = (BranchItem *)(ti->parent());
+    if (pi && pi != ti->getModel()->getRootItem())
+        parObj = pi->getLMO();
+    else
+        parObj = NULL;
+    init();
+}
+
+BranchObj::~BranchObj()
+{
+    // qDebug()<< "Destr BranchObj  of "<<this;
+
+    // If I'm animated, I need to un-animate myself first
+    if (anim.isAnimated()) {
+        anim.setAnimated(false);
+        VymModel *model = treeItem->getModel();
+        model->stopAnimation(this);
+    }
+
+    clear();
+}
+
+void BranchObj::init()
+{
+    if (parObj)
+        absPos = parObj->getChildRefPos();
+}
+
+void BranchObj::copy(BranchObj *other)
+{
+    OrnamentedObj::copy(other);
+
+    setVisibility(other->visible);
+
+    positionBBox();
+}
+
+void BranchObj::clear() {}
+
+void BranchObj::setParObjTmp(LinkableMapObj *dst, QPointF m, int off)
+{
+    // Temporary link to dst
+    // m is position of mouse pointer
+    // offset 0: default 1: below dst   -1 above dst  (if possible)
+
+    BranchItem *dsti = (BranchItem *)(dst->getTreeItem());
+
+    BranchItem *pi = (BranchItem *)(dsti->parent());
+    int pi_depth = pi->depth();
+    BranchObj *bodst = (BranchObj *)dst;
+
+    if (!tmpParent) {
+        tmpParent = true;
+        parObjTmpBuf = parObj;
+    }
+
+    if (pi_depth < 1)
+        off = 0;
+    if (off == 0)
+        link2ParPos = false;
+    else
+        link2ParPos = true;
+    parObj = bodst;
+
+    setLinkStyle(dst->getDefLinkStyle(dsti));
+
+    // Move temporary to new position at destination
+    // Usually the positioning would be done by reposition(),
+    // but then also the destination branch would "Jump" around...
+    // Better just do it approximately
+    if (dsti->depth() == 0) { // new parent is a mapcenter
+        Vector v = (m - bodst->getChildRefPos());
+        v.normalize();
+        v.scale(150);
+        move2RelPos(v.toQPointF());
+    }
+    else {
+        qreal y;
+        if (off == 0) {
+            // Below is needed e.g. in a freshly loaded map,
+            // bboxTotal seems not to be correct yet
+            // relinking positions too far below then
+            calcBBoxSizeWithChildren();
+
+            // new parent is just a branch, link to it
+            bodst->calcBBoxSizeWithChildren();
+            QRectF t = bodst->getTotalBBox();
+            if (dsti->getLastBranch())
+                // Move below children of destination
+                y = t.y() + t.height();
+            else
+                // Move left or right to destination
+                y = t.y();
+        }
+        else {
+            if (off < 0)
+                // we want to link above dst
+                y = bodst->y() - height() + 12;
+            else
+                // we want to link below dst
+                // Bottom of sel should be 5 pixels above
+                // the bottom of the branch _below_ the target:
+                // Don't try to find that branch, guess 12 pixels
+                y = bodst->getChildRefPos().y() - height() + 12;
+        }
+        if (bodst->getOrientation() == LinkableMapObj::LeftOfCenter)
+            move(bodst->getChildRefPos().x() - linkwidth - bboxTotal.width(),
+                 y);
+        else
+            move(bodst->getChildRefPos().x() + linkwidth, y);
+    }
+
+    // updateLinkGeometry is called implicitly in move
+    requestReposition();
+}
+
+void BranchObj::unsetParObjTmp()
+{
+    if (tmpParent) {
+        tmpParent = false;
+        link2ParPos = false;
+        parObj = parObjTmpBuf;
+        parObjTmpBuf = NULL;
+        setLinkStyle(getDefLinkStyle(treeItem->parent()));
+        updateLinkGeometry();
+    }
+}
+
+void BranchObj::setVisibility(bool v, int toDepth)
+{
+    BranchItem *bi = (BranchItem *)treeItem;
+    if (bi->depth() <= toDepth) {
+        frame->setVisibility(v);
+        heading->setVisibility(v);
+        systemFlagRowObj->setVisibility(v);
+        standardFlagRowObj->setVisibility(v);
+        LinkableMapObj::setVisibility(v);
+        int i;
+        for (i = 0; i < treeItem->imageCount(); ++i)
+            treeItem->getImageObjNum(i)->setVisibility(v);
+        for (i = 0; i < treeItem->xlinkCount(); ++i)
+            treeItem->getXLinkObjNum(i)->setVisibility();
+
+        // Only change children, if I am not scrolled
+        if (!bi->isScrolled() && (bi->depth() < toDepth)) {
+            // Now go recursivly through all children
+            for (i = 0; i < treeItem->branchCount(); ++i)
+                treeItem->getBranchObjNum(i)->setVisibility(v, toDepth);
+        }
+    }
+}
+
+void BranchObj::setVisibility(bool v) { setVisibility(v, MAX_DEPTH); }
+
+void BranchObj::positionContents()
+{
+    OrnamentedObj::positionContents();
+    updateLinkGeometry(); // required before positioning images
+    for (int i = 0; i < treeItem->imageCount(); ++i)
+        treeItem->getImageObjNum(i)->reposition();
+}
+
+void BranchObj::move(double x, double y) { OrnamentedObj::move(x, y); }
+
+void BranchObj::move(QPointF p) { move(p.x(), p.y()); }
+
+void BranchObj::moveBy(double x, double y)
+{
+    OrnamentedObj::moveBy(x, y);
+    for (int i = 0; i < treeItem->branchCount(); ++i)
+        treeItem->getBranchObjNum(i)->moveBy(x, y);
+    positionBBox();
+}
+
+void BranchObj::moveBy(QPointF p) { moveBy(p.x(), p.y()); }
+
+void BranchObj::positionBBox() // FIXME-3 consider dimensions of frame
+                               // (thickness, geometry, padding...
+{
+    QPointF ap = getAbsPos();
+    bbox.moveTopLeft(ap);
+    positionContents(); // this positions FIOs
+
+    // Update links to other branches
+    XLinkObj *xlo;
+    for (int i = 0; i < treeItem->xlinkCount(); ++i) {
+        xlo = treeItem->getXLinkObjNum(i);
+        if (xlo)
+            xlo->updateXLink();
+    }
+}
+
+void BranchObj::calcBBoxSize()
+{
+    QSizeF heading_r = heading->getSize();
+    qreal heading_w = (qreal)heading_r.width();
+    qreal heading_h = (qreal)heading_r.height();
+    QSizeF sysflags_r = systemFlagRowObj->getSize();
+    qreal sysflags_h = sysflags_r.height();
+    qreal sysflags_w = sysflags_r.width();
+    QSizeF stanflags_r = standardFlagRowObj->getSize();
+    qreal stanflags_h = stanflags_r.height();
+    qreal stanflags_w = stanflags_r.width();
+    qreal w;
+    qreal h;
+
+    // set width to sum of all widths
+    w = heading_w + sysflags_w + stanflags_w;
+
+    // set height to maximum needed height
+    h = max(sysflags_h, stanflags_h);
+    h = max(h, heading_h);
+
+    // Save the dimension of flags and heading
+    ornamentsBBox.setSize(QSizeF(w, h));
+
+    // clickBox includes Flags and Heading
+    clickPoly = QPolygonF(ornamentsBBox);
+
+    // Floatimages
+    QPointF rp;
+
+    topPad = botPad = leftPad = rightPad = 0;
+    bool incV = ((BranchItem *)treeItem)->getIncludeImagesVer();
+    bool incH = ((BranchItem *)treeItem)->getIncludeImagesHor();
+    if (incH || incV) {
+        FloatImageObj *fio;
+        for (int i = 0; i < treeItem->imageCount(); ++i) {
+            fio = treeItem->getImageObjNum(i);
+            rp = fio->getRelPos();
+            if (incV) {
+                qreal y;
+                if (rp.y() > 0) {
+                    y = rp.y() + fio->height() / 2 - ornamentsBBox.height() / 2;
+                    botPad = max(botPad, y);
+                }
+                else {
+                    y = -rp.y() + fio->height() / 2 -
+                        ornamentsBBox.height() / 2;
+                    topPad = max(topPad, y);
+                }
+            }
+            if (incH) {
+                qreal x;
+                if (rp.x() > 0) {
+                    x = rp.x() + fio->width() / 2 - ornamentsBBox.width() / 2;
+                    rightPad = max(rightPad, x);
+                }
+                else {
+                    x = -rp.x() + fio->width() / 2 - ornamentsBBox.width() / 2;
+                    leftPad = max(leftPad, x);
+                }
+            }
+        }
+        h += topPad + botPad;
+        w += leftPad + rightPad;
+    }
+
+    // Frame thickness
+    w += frame->getTotalPadding() * 2;
+    h += frame->getTotalPadding() * 2;
+
+    // Finally set size
+    bbox.setSize(QSizeF(w, h));
+    // if (debug) qDebug()<<"BO: calcBBox "<<treeItem->getHeading()<<"
+    // bbox="<<bbox;
+}
+
+void BranchObj::setDockPos()
+{
+    floatRefPos = ornamentsBBox.center();
+
+    if (treeItem->getType() == TreeItem::MapCenter) {
+        // set childRefPos to middle of MapCenterObj
+        QRectF r = clickPoly.boundingRect();
+        childRefPos.setX(r.topLeft().x() + r.width() / 2);
+        childRefPos.setY(r.topLeft().y() + r.height() / 2);
+        parPos = childRefPos;
+        for (int i = 0; i < treeItem->branchCount(); ++i)
+            treeItem->getBranchObjNum(i)->updateLinkGeometry();
+    }
+    else {
+        if (orientation == LinkableMapObj::LeftOfCenter) {
+            // Left of center
+            if (((BranchItem *)treeItem)->getFrameIncludeChildren()) {
+                childRefPos = QPointF(ornamentsBBox.bottomLeft().x() - leftPad,
+                                      bottomlineY);
+                parPos = QPointF(bboxTotal.bottomRight().x() -
+                                     frame->getPadding() / 2,
+                                 bottomlineY);
+            }
+            else {
+                childRefPos = QPointF(ornamentsBBox.bottomLeft().x() -
+                                          frame->getPadding(),
+                                      bottomlineY);
+                parPos = QPointF(ornamentsBBox.bottomRight().x(), bottomlineY);
+            }
+        }
+        else {
+            // Right of center
+            if (((BranchItem *)treeItem)->getFrameIncludeChildren()) {
+                childRefPos = QPointF(
+                    ornamentsBBox.bottomRight().x() + rightPad, bottomlineY);
+                parPos = QPointF(bboxTotal.bottomLeft().x() +
+                                     frame->getPadding() / 2,
+                                 bottomlineY);
+            }
+            else {
+                childRefPos = QPointF(ornamentsBBox.bottomRight().x() +
+                                          frame->getPadding(),
+                                      bottomlineY);
+                parPos = QPointF(ornamentsBBox.bottomLeft().x(), bottomlineY);
+            }
+        }
+    }
+}
+
+void BranchObj::updateVisuals()
+{
+    if (!treeItem) {
+        qWarning("BranchObj::udpateHeading treeItem==NULL");
+        return;
+    }
+    QString s = treeItem->getHeadingText();
+    if (s != heading->text())
+        heading->setText(s);
+
+    // Update standard flags active in TreeItem
+    QList<QUuid> TIactiveFlagUids = treeItem->activeFlagUids();
+    standardFlagRowObj->updateActiveFlagObjs(
+        TIactiveFlagUids, standardFlagsMaster, userFlagsMaster);
+
+    // Add missing system flags active in TreeItem
+    TIactiveFlagUids = treeItem->activeSystemFlagUids();
+    systemFlagRowObj->updateActiveFlagObjs(TIactiveFlagUids, systemFlagsMaster);
+
+    calcBBoxSize();
+}
+
+void BranchObj::setDefAttr(BranchModification mod, bool keepFrame)
+{
+
+    // Note: not needed in 3.x.0 versions, 
+    // where MapDesign will be used
+    QFont font = treeItem->getModel()->getMapDefaultFont();
+    qreal fontsize = font.pointSizeF();
+    switch (treeItem->depth()) {
+    case 0:
+        break;
+    case 1:
+        fontsize = fontsize - 2;
+        break;
+    case 2:
+        fontsize = fontsize - 4;
+        break;
+    default:
+        fontsize = fontsize - 6;
+        break;
+    }
+    setLinkStyle(getDefLinkStyle(treeItem->parent()));
+    setLinkColor();
+    font.setPointSizeF(fontsize);
+    heading->setFont(font);
+
+    if (mod == NewBranch && !keepFrame) {
+        if (treeItem->depth() == 0) {
+            setFrameType(FrameObj::RoundedRectangle);
+            setFrameBorderWidth(2);
+            if (usingDarkTheme) {
+                setFramePenColor(QColor(Qt::white));
+                setFrameBrushColor(QColor(85, 85, 127));
+                treeItem->setHeadingColor(QColor(Qt::white));
+            } else {
+                setFramePenColor(QColor(Qt::black));
+                setFrameBrushColor(QColor(Qt::white));
+            }
+        } else
+            setFrameType(FrameObj::NoFrame);
+    }
+    if (mod == NewBranch)
+        setColor(treeItem->getHeadingColor());
+    else {
+        // Relinked mapcenters
+        if (!keepFrame && getFrameType() != FrameObj::NoFrame)
+            setFrameType(FrameObj::NoFrame);
+
+        // Also set styles for children
+        for (int i = 0; i < treeItem->branchCount(); ++i)
+            treeItem->getBranchObjNum(i)->setDefAttr(MovedBranch, keepFrame);
+    }
+    calcBBoxSize();
+}
+
+void BranchObj::alignRelativeTo(QPointF ref, bool alignSelf)
+{
+    // Define some heights
+    qreal th = bboxTotal.height();
+    qreal ch = 0; // Sum of childrens heights
+    for (int i = 0; i < treeItem->branchCount(); ++i)
+        ch += treeItem->getBranchObjNum(i)->getTotalBBox().height();
+
+    int depth = 0;
+    BranchItem::LayoutHint layoutHint = BranchItem::AutoPositioning;
+    if (parObj) {
+        TreeItem *pi = parObj->getTreeItem();
+        depth = 1 + pi->depth();
+        layoutHint =
+            ((BranchItem *)treeItem)->parentBranch()->getChildrenLayout();
+    }
+
+    // set useRelPos, depending on layout
+    if (depth > 1) {
+        if (layoutHint == BranchItem::FreePositioning) {
+            if (!useRelPos) {
+                useRelPos = true;
+                // if we used relPos before, set known positions
+                // "known" means any position != (0,0)
+                if (relPos == QPointF(0, 0))
+                    // use current position to get relPos()
+                    setRelPos();
+            }
+        }
+        else
+            useRelPos = false;
+    }
+
+    // TODO testing
+    /*
+        if (debug)
+        {
+            QString o;
+            switch (orientation)
+            {
+                case UndefinedOrientation: o = "UndefOrientation"; break;
+                case LeftOfCenter: o = "LeftOfCenter"; break;
+                case RightOfCenter: o = "RightOfCenter"; break;
+            }
+
+            QString h=QString (depth+1,' ');
+            h += treeItem->getHeadingPlain();
+            h += QString (25,' ');
+            h.truncate (25);
+            QPointF pp;
+            if (parObj) pp = parObj->getChildRefPos();
+            qDebug() << "BO::alignRelTo for "<<h
+        //    qDebug() << "    d="<<depth;
+        //    qDebug() <<"   ref="<<ref;
+        //    qDebug() <<"    th="<<th;
+        //    qDebug() <<"    ch="<<ch;
+        //    if (ch < th) qDebug()<<"   ch<th !";
+        //    qDebug() <<"  parO="<<parObj;
+            //qDebug() <<   "  bbox.tL="<<bboxTotal.topLeft();
+            << "  useRelPos=" << useRelPos
+            << " layoutHint= " << layoutHint
+        //    qDebug() <<"absPos="<<absPos
+            << "  relPos="<<relPos
+        //     << "  parPos="<<pp
+        //     << "  bbox="<<bbox
+            << "  orient="<<o<<" "<<orientation;
+        //     << "  alignSelf="<<alignSelf
+        //     << "  scrolled="<<((BranchItem*)treeItem)->isScrolled()
+        //     << "  pad="<<topPad<<","<<botPad<<","<<leftPad<<","<<rightPad
+        //     << "  hidden="<<hidden
+        //     << "  th="<<th
+            ;
+        }
+       */
+
+    setOrientation();
+
+    // Align myself
+    if (depth == 0)
+        move(getAbsPos()); // Trigger update of frames etc.
+    else if (depth == 1)
+        move2RelPos(getRelPos());
+    else if (depth > 1) {
+        if (layoutHint == BranchItem::FreePositioning)
+            move2RelPos(getRelPos());
+        else {
+            if (anim.isAnimated())
+                move2RelPos(anim);
+            else {
+                if (alignSelf)
+                    switch (orientation) {
+                    case LinkableMapObj::LeftOfCenter:
+                        move(ref.x() - bbox.width(),
+                             ref.y() + (th - bbox.height()) / 2);
+                        break;
+                    case LinkableMapObj::RightOfCenter:
+                        move(ref.x(), ref.y() + (th - bbox.height()) / 2);
+                        break;
+                    default:
+                        qWarning("LMO::alignRelativeTo: oops, no orientation "
+                                 "given for BO...");
+                        break;
+                    }
+            }
+        }
+    }
+
+    // Without ancestors I am done
+    if (((BranchItem *)treeItem)->isScrolled())
+        return;
+
+    // Set reference point for alignment of children
+    QPointF ref2;
+    if (orientation == LinkableMapObj::LeftOfCenter)
+        ref2.setX(childRefPos.x() - linkwidth);
+    else
+        ref2.setX(childRefPos.x() + linkwidth);
+
+    if (depth == 1)
+        ref2.setY(absPos.y() + (bbox.height() - ch) / 2);
+    else {
+        if (ch > th)
+            ref2.setY(ref.y() + frame->getPadding());
+        else
+            // Parent is bigger than all of childs, center childs vertically
+            ref2.setY(ref.y() + (th - ch) / 2);
+    }
+
+    // Align the branch children depending on reference point
+    for (int i = 0; i < treeItem->branchCount(); ++i) {
+        if (!treeItem->getBranchNum(i)->isHidden()) {
+            treeItem->getBranchObjNum(i)->alignRelativeTo(ref2, true);
+
+            // append next branch below current one
+            ref2.setY(ref2.y() +
+                      treeItem->getBranchObjNum(i)->getTotalBBox().height());
+        }
+    }
+}
+
+void BranchObj::reposition()
+{
+    /* TODO testing only
+        if (debug)
+        {
+            if (!treeItem->getHeading().isEmpty())
+                qDebug()<< "  BO::reposition  a) d="<<treeItem->depth()<<"
+       "<<treeItem->getHeading(); else qDebug()<< "  BO::reposition  a)
+       d="<<treeItem->depth()<<" ???";
+        }
+    */
+
+    if (treeItem->depth() == 0)
+        // only calculate the sizes once. If the deepest LMO
+        // changes its height,
+        // all upper LMOs have to change, too.
+        calcBBoxSizeWithChildren();
+
+    alignRelativeTo(QPointF(
+        absPos.x(), absPos.y() - (bboxTotal.height() - bbox.height()) / 2));
+}
+
+void BranchObj::unsetAllRepositionRequests()
+{
+    repositionRequest = false;
+    for (int i = 0; i < treeItem->branchCount(); ++i)
+        treeItem->getBranchObjNum(i)->unsetAllRepositionRequests();
+}
+
+QRectF BranchObj::getTotalBBox() { return bboxTotal; }
+
+ConvexPolygon BranchObj::getBoundingPolygon()
+{
+    if (treeItem->branchCount() == 0 || treeItem->depth() == 0) {
+        return MapObj::getBoundingPolygon();
+    }
+
+    QPolygonF p;
+    p << bboxTotal.topLeft();
+    p << bboxTotal.topRight();
+    p << bboxTotal.bottomRight();
+    p << bboxTotal.bottomLeft();
+    return p;
+}
+
+void BranchObj::calcBBoxSizeWithChildren()
+{
+    // if branch is scrolled, ignore children, but still consider floatimages
+    BranchItem *bi = (BranchItem *)treeItem;
+    if (bi->isScrolled()) {
+        bboxTotal.setWidth(bbox.width());
+        bboxTotal.setHeight(bbox.height());
+        return;
+    }
+
+    if (bi->isHidden()) {
+        bboxTotal.setWidth(0);
+        bboxTotal.setHeight(0);
+        return;
+    }
+
+    QRectF r(0, 0, 0, 0);
+    QRectF br;
+
+    // Now calculate
+    // sum of heights
+    // maximum of widths
+    // minimum of y
+    for (int i = 0; i < treeItem->branchCount(); i++) {
+        if (!bi->getBranchNum(i)->isHidden()) {
+            BranchObj *bo = bi->getBranchObjNum(i);
+            bo->calcBBoxSizeWithChildren();
+            br = bo->getTotalBBox();
+            r.setWidth(max(br.width(), r.width()));
+            r.setHeight(br.height() + r.height());
+        }
+    }
+
+    // Add myself and also
+    // add width of link to sum if necessary
+    if (bi->branchCount() < 1)
+        bboxTotal.setWidth(bbox.width() + r.width());
+    else
+        bboxTotal.setWidth(bbox.width() + r.width() + linkwidth);
+
+    // bbox already contains frame->padding()*2
+    bboxTotal.setHeight(
+        max(r.height() + frame->getPadding() * 2, bbox.height()));
+}
+
+void BranchObj::setAnimation(const AnimPoint &ap) { anim = ap; }
+
+void BranchObj::stopAnimation()
+{
+    anim.stop();
+    if (useRelPos)
+        setRelPos(anim);
+    else
+        move(anim);
+}
+
+bool BranchObj::animate()
+{
+    anim.animate();
+    if (anim.isAnimated()) {
+        if (useRelPos)
+            setRelPos(anim);
+        else
+            move(anim);
+        return true;
+    }
+    return false;
+}
diff --git a/src/branchobj.h b/src/branchobj.h
new file mode 100644 (file)
index 0000000..340d6f3
--- /dev/null
@@ -0,0 +1,66 @@
+#ifndef BRANCHOBJ_H
+#define BRANCHOBJ_H
+
+#include "floatimageobj.h"
+#include "linkablemapobj.h"
+#include "ornamentedobj.h"
+#include "xlinkobj.h"
+
+/*! \brief A branch visible in the map */
+
+/////////////////////////////////////////////////////////////////////////////
+class BranchObj : public OrnamentedObj {
+  public:
+    /*! New branches will get use same color for heading as parent */
+    enum BranchModification { NewBranch, MovedBranch };
+
+    BranchObj(QGraphicsItem *parent = NULL, TreeItem *ti = NULL);
+    ~BranchObj();
+    virtual void init();
+    virtual void copy(BranchObj *);
+    void clear();
+
+    virtual void setParObjTmp(LinkableMapObj *, QPointF,
+                              int); // Only for moving Obj around
+    virtual void unsetParObjTmp();  // reuse original ParObj
+
+    virtual void setVisibility(bool, int); // set visibility
+    virtual void setVisibility(bool);      // set vis. for w
+
+    virtual void positionContents();
+    virtual void move(double x, double y);
+    virtual void move(QPointF);
+    virtual void moveBy(double x, double y);
+    virtual void moveBy(QPointF);
+
+    virtual void positionBBox();
+    virtual void calcBBoxSize();
+    virtual void setDockPos();
+
+    virtual void
+    updateVisuals(); //! Update represantatio of heading, flags, etc.
+
+  public:
+    virtual void
+    setDefAttr(BranchModification,
+               bool keepFrame =
+                   false); // set default attributes (frame, font, size, ...)
+
+    virtual void alignRelativeTo(const QPointF, bool alignSelf = false);
+    virtual void reposition();
+    virtual void unsetAllRepositionRequests();
+
+    virtual QRectF getTotalBBox(); // return size of BBox including children
+    virtual ConvexPolygon getBoundingPolygon();
+    virtual void calcBBoxSizeWithChildren(); // calc size of  BBox including
+                                             // children recursivly
+
+    virtual void setAnimation(const AnimPoint &ap);
+    virtual void stopAnimation();
+    virtual bool animate();
+
+  protected:
+    AnimPoint anim;
+};
+
+#endif
diff --git a/src/branchpropeditor.cpp b/src/branchpropeditor.cpp
new file mode 100644 (file)
index 0000000..1a002d3
--- /dev/null
@@ -0,0 +1,477 @@
+#include "branchpropeditor.h"
+
+#include <QColorDialog>
+
+#include "attributeitem.h"
+#include "branchitem.h"
+#include "frameobj.h"
+#include "settings.h"
+#include "vymmodel.h"
+
+extern Settings settings;
+extern QString vymName;
+
+BranchPropertyEditor::BranchPropertyEditor(QWidget *parent)
+    : QDialog(parent) // FIXME-4 not updating when data is set elsewhere
+                      // (connect to dataCHanged)
+
+{
+    ui.setupUi(this);
+
+    setWindowTitle(vymName + " - " + tr("Property Editor", "Window caption"));
+
+    branchObj = NULL;
+    branchItem = NULL;
+    model = NULL;
+
+    ui.tabWidget->setEnabled(false);
+
+    penColor = QColor(Qt::black);
+    brushColor = QColor(Qt::black);
+    QPixmap pix(16, 16);
+    pix.fill(penColor);
+    ui.framePenColorButton->setIcon(pix);
+    ui.frameBrushColorButton->setIcon(pix);
+
+    if (!settings.value("/mainwindow/showTestMenu", false).toBool())
+        ui.tabWidget->widget(3)->hide();
+
+    //Create Model and View to hold attributes
+    attributeModel = new QStandardItemModel (1, 3, this);
+    attributeModel->setHeaderData(0, 
+            Qt::Horizontal, 
+            tr("Name","Branchprop window: Attribute name")); 
+    attributeModel->setHeaderData(1, 
+            Qt::Horizontal,
+            tr("Value","Branchprop window: Attribute value"));
+    attributeModel->setHeaderData(2, 
+            Qt::Horizontal, 
+            tr("Type","Branchprop window: Attribute type")); 
+    ui.attributeTableView->setModel (attributeModel);
+
+    // Load Settings
+    resize(
+        settings
+            .value("/satellite/propertywindow/geometry/size", QSize(450, 600))
+            .toSize());
+    move(settings
+             .value("/satellite/propertywindow/geometry/pos", QPoint(250, 50))
+             .toPoint());
+
+    if (settings.value("/satellite/propertywindow/showWithMain", true).toBool())
+        show();
+    else
+        hide();
+    
+    connectSignals();
+}
+
+BranchPropertyEditor::~BranchPropertyEditor()
+{
+    settings.setValue("/satellite/propertywindow/geometry/size", size());
+    settings.setValue("/satellite/propertywindow/geometry/pos", pos());
+    settings.setValue("/satellite/propertywindow/showWithMain", isVisible());
+
+    delete (attributeModel);
+}
+
+void BranchPropertyEditor::setItem(TreeItem *ti)
+{
+    disconnectSignals();
+    if (!ti)
+        ui.tabWidget->setEnabled(false);
+    else if (ti->isBranchLikeType()) {
+        branchItem = (BranchItem *)ti;
+
+        branchObj = (BranchObj *)(branchItem->getLMO());
+        if (branchObj) // FIXME-4 replace by branchItem later, when Frame is
+                       // ported...
+        {
+            ui.tabWidget->setEnabled(true);
+            for (int i = 0; i < 4; ++i)
+                ui.tabWidget->setTabEnabled(i, true);
+            ui.tabWidget->setTabEnabled(4, false);
+
+            // Frame
+            FrameObj::FrameType t = branchObj->getFrameType();
+            if (t == FrameObj::NoFrame) // FIXME-3 Check if all below depends on
+                                        // frame type???
+            {
+                ui.frameTypeCombo->setCurrentIndex(0);
+                penColor = Qt::white;
+                brushColor = Qt::white;
+                ui.colorGroupBox->setEnabled(false);
+                ui.framePaddingSpinBox->setEnabled(false);
+                ui.frameWidthSpinBox->setEnabled(false);
+                ui.framePaddingLabel->setEnabled(false);
+                ui.frameBorderLabel->setEnabled(false);
+                ui.includeChildrenCheckBox->setEnabled(false);
+                ui.includeChildrenCheckBox->setEnabled(false);
+            }
+            else {
+                penColor = branchObj->getFramePenColor();
+                brushColor = branchObj->getFrameBrushColor();
+                QPixmap pix(16, 16);
+                pix.fill(penColor);
+                ui.framePenColorButton->setIcon(pix);
+                pix.fill(brushColor);
+                ui.frameBrushColorButton->setIcon(pix);
+                ui.colorGroupBox->setEnabled(true);
+                ui.framePaddingSpinBox->setEnabled(true);
+                ui.framePaddingSpinBox->setValue(branchObj->getFramePadding());
+                ui.frameWidthSpinBox->setEnabled(true);
+                ui.frameWidthSpinBox->setValue(
+                    branchObj->getFrameBorderWidth());
+                ui.framePaddingLabel->setEnabled(true);
+                ui.frameBorderLabel->setEnabled(true);
+                ui.includeChildrenCheckBox->setEnabled(true);
+
+                switch (t) {
+                case FrameObj::Rectangle:
+                    ui.frameTypeCombo->setCurrentIndex(1);
+                    break;
+                case FrameObj::RoundedRectangle:
+                    ui.frameTypeCombo->setCurrentIndex(2);
+                    break;
+                case FrameObj::Ellipse:
+                    ui.frameTypeCombo->setCurrentIndex(3);
+                    break;
+                case FrameObj::Cloud:
+                    ui.frameTypeCombo->setCurrentIndex(4);
+                    break;
+                default:
+                    break;
+                }
+                if (branchItem->getFrameIncludeChildren())
+                    ui.includeChildrenCheckBox->setCheckState(Qt::Checked);
+                else
+                    ui.includeChildrenCheckBox->setCheckState(Qt::Unchecked);
+            }
+            // Link
+            if (branchItem->getHideLinkUnselected())
+                ui.hideLinkIfUnselected->setCheckState(Qt::Checked);
+            else
+                ui.hideLinkIfUnselected->setCheckState(Qt::Unchecked);
+
+            // Layout
+            if (branchItem->getIncludeImagesVer())
+                ui.incImgVer->setCheckState(Qt::Checked);
+            else
+                ui.incImgVer->setCheckState(Qt::Unchecked);
+            if (branchItem->getIncludeImagesHor())
+                ui.incImgHor->setCheckState(Qt::Checked);
+            else
+                ui.incImgHor->setCheckState(Qt::Unchecked);
+            if (branchItem->getChildrenLayout() == BranchItem::FreePositioning)
+                ui.childrenFreePositioning->setCheckState(Qt::Checked);
+            else
+                ui.childrenFreePositioning->setCheckState(Qt::Unchecked);
+
+            // Task
+            Task *task = branchItem->getTask();
+            if (task) {
+                ui.taskPrioDelta->setEnabled(true);
+                ui.taskPrioDelta->setValue(task->getPriorityDelta());
+                ui.lineEditDateCreation->setText(
+                    task->getDateCreation().toString() + " - " +
+                    QString(tr("%1 days ago", "task related times"))
+                        .arg(task->getAgeCreation()));
+                QDateTime dt = task->getDateModification();
+                if (dt.isValid()) {
+                    ui.lineEditDateModification->setText(
+                        dt.toString() + " - " +
+                        QString(tr("%1 days ago", "task related times"))
+                            .arg(task->getAgeModification()));
+                }
+                else {
+                    ui.lineEditDateModification->setText("");
+                }
+
+                dt = task->getSleep();
+                if (dt.isValid()) {
+                    QString s;
+                    qint64 daysSleep = task->getDaysSleep();
+                    daysSleep >= 0 ? s = QString(dt.toString() + " - " +
+                                                 tr("sleeping %1 days",
+                                                    "task related times"))
+                                             .arg(daysSleep)
+                                   : s = QString(tr("Task is awake",
+                                                    "task related times"));
+                    ui.lineEditSleep->setText(s);
+                }
+                else {
+                    ui.lineEditSleep->setText("");
+                }
+            }
+            else {
+                ui.taskPrioDelta->setEnabled(false);
+                ui.taskPrioDelta->setValue(0);
+                ui.lineEditDateCreation->setText("");
+                ui.lineEditDateModification->setText("");
+                ui.lineEditSleep->setText("");
+            }
+
+        // Attributes
+        attributeModel->removeRows(0, attributeModel->rowCount(), QModelIndex());
+
+        for (int i = 0; i < branchItem->attributeCount(); i++)
+        {
+            AttributeItem *ai = branchItem->getAttributeNum(i);
+            if (ai) {
+                attributeModel->insertRow (i, QModelIndex ());
+                attributeModel->setData(attributeModel->index(i, 0, QModelIndex()),
+                    ai->getKey());
+                attributeModel->setData(attributeModel->index(i, 1, QModelIndex()),
+                    ai->getValue().toString());
+                attributeModel->setData(attributeModel->index(i, 2, QModelIndex()),
+                    ai->getAttributeTypeString());
+            }
+        }
+
+        ui.attributeTableView->resizeColumnsToContents();
+
+        // Initialize Delegate
+        //attributeDelegate.setAttributeTable (mapEditor->attributeTable());
+        //ui.attributeTableView->setItemDelegate (&attributeDelegate);
+
+        } // BranchItem
+    }
+    else if (ti->getType() == TreeItem::Image) {
+        ui.tabWidget->setEnabled(true);
+        for (int i = 0; i < ui.tabWidget->count(); ++i)
+            ui.tabWidget->setTabEnabled(i, false);
+        ui.tabWidget->setTabEnabled(3, true);
+        ui.tabWidget->setCurrentIndex(3);
+    }
+    else if (ti->getType() == TreeItem::Attribute) {
+        ui.tabWidget->setEnabled(true);
+        for (int i = 0; i < 3; ++i)
+            ui.tabWidget->setTabEnabled(i, false);
+        ui.tabWidget->setTabEnabled(3, true);
+    }
+    else {
+        ui.tabWidget->setEnabled(false);
+    }
+    connectSignals();
+}
+
+void BranchPropertyEditor::setModel(VymModel *m)
+{
+    model = m;
+    if (model)
+        setItem(model->getSelectedItem());
+    else
+        ui.tabWidget->setEnabled(false);
+}
+
+void BranchPropertyEditor::frameTypeChanged(int i)
+{
+    if (model) {
+        switch (i) {
+        case 0:
+            model->setFrameType(FrameObj::NoFrame);
+            break;
+        case 1:
+            model->setFrameType(FrameObj::Rectangle);
+            break;
+        case 2:
+            model->setFrameType(FrameObj::RoundedRectangle);
+            break;
+        case 3:
+            model->setFrameType(FrameObj::Ellipse);
+            break;
+        case 4:
+            model->setFrameType(FrameObj::Cloud);
+            break;
+        }
+        setItem(branchItem);
+    }
+}
+
+void BranchPropertyEditor::framePenColorClicked()
+{
+    if (model) {
+        QColor col = QColorDialog::getColor(penColor, this);
+        if (col.isValid()) {
+            penColor = col;
+            model->setFramePenColor(penColor);
+        }
+    }
+}
+
+void BranchPropertyEditor::frameBrushColorClicked()
+{
+    if (model) {
+        QColor col = QColorDialog::getColor(brushColor, this);
+        if (col.isValid()) {
+            brushColor = col;
+            model->setFrameBrushColor(brushColor);
+        }
+    }
+}
+
+void BranchPropertyEditor::framePaddingChanged(int i)
+{
+    if (model)
+        model->setFramePadding(i);
+}
+
+void BranchPropertyEditor::frameBorderWidthChanged(int i)
+{
+    if (model)
+        model->setFrameBorderWidth(i);
+}
+
+void BranchPropertyEditor::frameIncludeChildrenChanged(int i)
+{
+    if (model)
+        model->setFrameIncludeChildren(i);
+}
+
+void BranchPropertyEditor::linkHideUnselectedChanged(int i)
+{
+    model->setHideLinkUnselected(i);
+}
+
+void BranchPropertyEditor::incImgVerChanged(int i)
+{
+    if (model)
+        model->setIncludeImagesVer(i);
+}
+
+void BranchPropertyEditor::incImgHorChanged(int i)
+{
+    if (model)
+        model->setIncludeImagesHor(i);
+}
+
+void BranchPropertyEditor::childrenFreePositioningChanged(int i)
+{
+    if (model) {
+        if (i > 0)
+            model->setChildrenLayout(BranchItem::FreePositioning);
+        else
+            model->setChildrenLayout(BranchItem::AutoPositioning);
+    }
+}
+
+void BranchPropertyEditor::taskPriorityDeltaChanged(int n)
+{
+    if (model)
+        model->setTaskPriorityDelta(n);
+}
+
+void BranchPropertyEditor::closeEvent(QCloseEvent *ce)
+{
+    ce->accept(); // can be reopened with show()
+    hide();
+    emit(windowClosed());
+    return;
+}
+
+void BranchPropertyEditor::addAttributeClicked()
+{
+    qDebug() << "BranchPropEditor::addAttribute";
+
+/*
+    // Add empty line for adding attributes
+    attributeModel->insertRow (attributeModel->rowCount (),QModelIndex ());
+    attributeModel->setData(attributeModel->index(attributeModel->rowCount()-1,
+0, QModelIndex()),  "Add new");
+    attributeModel->setData(attributeModel->index(attributeModel->rowCount()-1,
+2, QModelIndex()),  "Undefined");
+
+    // Select attribute from list
+    ui.attributeTableView->edit
+(attributeModel->index(attributeModel->rowCount()-1,0, QModelIndex() ));
+    ui.attributeTableView->resizeColumnsToContents();
+
+//  QString attname=attributeModel->in
+//  attributeModel->setData(attributeModel->index(attributeModel->rowCount()-1,
+2, QModelIndex()),  );
+
+
+
+    ui.attributeTableView->edit
+(attributeModel->index(attributeModel->rowCount()-1,1, QModelIndex() ));
+*/
+
+}
+
+void BranchPropertyEditor::deleteAttributeClicked()
+{
+    qDebug() << "BranchPropEditor::deleteAttribute";
+}
+
+void BranchPropertyEditor::connectSignals()
+{
+    // Frame
+    connect(ui.framePenColorButton, SIGNAL(clicked()), this,
+            SLOT(framePenColorClicked()));
+    connect(ui.framePaddingSpinBox, SIGNAL(valueChanged(int)), this,
+            SLOT(framePaddingChanged(int)));
+    connect(ui.frameWidthSpinBox, SIGNAL(valueChanged(int)), this,
+            SLOT(frameBorderWidthChanged(int)));
+    connect(ui.frameBrushColorButton, SIGNAL(clicked()), this,
+            SLOT(frameBrushColorClicked()));
+    connect(ui.frameTypeCombo, SIGNAL(currentIndexChanged(int)), this,
+            SLOT(frameTypeChanged(int)));
+    connect(ui.includeChildrenCheckBox, SIGNAL(stateChanged(int)), this,
+            SLOT(frameIncludeChildrenChanged(int)));
+
+    // Link
+    connect(ui.hideLinkIfUnselected, SIGNAL(stateChanged(int)), this,
+            SLOT(linkHideUnselectedChanged(int)));
+
+    // Layout
+    connect(ui.incImgVer, SIGNAL(stateChanged(int)), this,
+            SLOT(incImgVerChanged(int)));
+    connect(ui.incImgHor, SIGNAL(stateChanged(int)), this,
+            SLOT(incImgHorChanged(int)));
+    connect(ui.childrenFreePositioning, SIGNAL(stateChanged(int)), this,
+            SLOT(childrenFreePositioningChanged(int)));
+
+    // Tasks
+    connect(ui.taskPrioDelta, SIGNAL(valueChanged(int)), this,
+            SLOT(taskPriorityDeltaChanged(int)));
+
+    // Attributes
+    // For the time being hide above buttons, not used
+    /*
+    connect (
+        ui.addAttributeButton, SIGNAL (clicked()),
+        this, SLOT (addAttributeClicked()));
+    connect (
+        ui.deleteAttributeButton, SIGNAL (clicked()),
+        this, SLOT (deleteAttributeClicked()));
+
+    */
+    ui.addAttributeButton->hide();
+    ui.deleteAttributeButton->hide();
+}
+
+void BranchPropertyEditor::disconnectSignals()
+{
+    // Frame
+    disconnect(ui.framePenColorButton, 0, 0, 0);
+    disconnect(ui.framePaddingSpinBox, 0, 0, 0);
+    disconnect(ui.frameWidthSpinBox, 0, 0, 0);
+    disconnect(ui.frameBrushColorButton, 0, 0, 0);
+    disconnect(ui.frameTypeCombo, 0, 0, 0);
+    disconnect(ui.includeChildrenCheckBox, 0, 0, 0);
+
+    // Link
+    disconnect(ui.hideLinkIfUnselected, 0, 0, 0);
+
+    // Layout
+    disconnect(ui.incImgVer, 0, 0, 0);
+    disconnect(ui.incImgHor, 0, 0, 0);
+    disconnect(ui.childrenFreePositioning, 0, 0, 0);
+
+    // Task
+    disconnect(ui.taskPrioDelta, 0, 0, 0);
+
+    // Attributes
+    disconnect (ui.addAttributeButton, 0, 0, 0);
+    disconnect (ui.deleteAttributeButton, 0, 0, 0);
+}
diff --git a/src/branchpropeditor.h b/src/branchpropeditor.h
new file mode 100644 (file)
index 0000000..62a9eac
--- /dev/null
@@ -0,0 +1,64 @@
+#ifndef BRANCHPROPERTYEDITOR_H
+#define BRANCHPROPERTYEDITOR_H
+
+#include "ui_branchpropeditor.h"
+
+#include <QCloseEvent>
+#include <QDialog>
+#include <QtGui>
+
+// #include "attributedelegate.h"
+#include "branchobj.h"
+
+class QAbstractItemModel;
+
+class VymModel;
+
+class BranchPropertyEditor : public QDialog {
+    Q_OBJECT
+  public:
+    BranchPropertyEditor(QWidget *parent = 0);
+    ~BranchPropertyEditor();
+    void setItem(TreeItem *);
+    void setModel(VymModel *);
+
+  private slots:
+    void frameTypeChanged(int);
+    void framePenColorClicked();
+    void frameBrushColorClicked();
+    void framePaddingChanged(int);
+    void frameBorderWidthChanged(int);
+    void frameIncludeChildrenChanged(int);
+    void linkHideUnselectedChanged(int);
+    void incImgVerChanged(int);
+    void incImgHorChanged(int);
+    void childrenFreePositioningChanged(int);
+    void taskPriorityDeltaChanged(int);
+    void addAttributeClicked();
+    void deleteAttributeClicked();
+
+  signals:
+    void windowClosed();
+
+  protected:
+    void closeEvent(QCloseEvent *);
+
+  private:
+    void connectSignals();
+    void disconnectSignals();
+
+    Ui::BranchPropertyEditor ui;
+
+    BranchObj *branchObj;
+    BranchItem *branchItem;
+    VymModel *model;
+
+    QColor penColor;
+    QColor brushColor;
+
+    QAbstractItemModel *attributeModel;
+
+    //AttributeDelegate attributeDelegate;
+};
+
+#endif //
diff --git a/src/codeeditor.cpp b/src/codeeditor.cpp
new file mode 100644 (file)
index 0000000..bdc0e03
--- /dev/null
@@ -0,0 +1,118 @@
+#include <QtWidgets>
+
+#include "codeeditor.h"
+
+extern bool usingDarkTheme;
+
+CodeEditor::CodeEditor(QWidget *parent) : QPlainTextEdit(parent)
+{
+    lineNumberArea = new LineNumberArea(this);
+
+    connect(this, SIGNAL(blockCountChanged(int)), this,
+            SLOT(updateLineNumberAreaWidth(int)));
+    connect(this, SIGNAL(updateRequest(QRect, int)), this,
+            SLOT(updateLineNumberArea(QRect, int)));
+    connect(this, SIGNAL(cursorPositionChanged()), this,
+            SLOT(highlightCurrentLine()));
+
+    updateLineNumberAreaWidth(0);
+    highlightCurrentLine();
+}
+
+int CodeEditor::lineNumberAreaWidth()
+{
+    int digits = 1;
+    int max = qMax(1, blockCount());
+    while (max >= 10) {
+        max /= 10;
+        ++digits;
+    }
+
+    int space = 3 + fontMetrics().horizontalAdvance(QLatin1Char('9')) * digits;
+
+    return space;
+}
+
+void CodeEditor::updateLineNumberAreaWidth(int /* newBlockCount */)
+{
+    setViewportMargins(lineNumberAreaWidth(), 0, 0, 0);
+}
+
+void CodeEditor::updateLineNumberArea(const QRect &rect, int dy)
+{
+    if (dy)
+        lineNumberArea->scroll(0, dy);
+    else
+        lineNumberArea->update(0, rect.y(), lineNumberArea->width(),
+                               rect.height());
+
+    if (rect.contains(viewport()->rect()))
+        updateLineNumberAreaWidth(0);
+}
+
+void CodeEditor::resizeEvent(QResizeEvent *e)
+{
+    QPlainTextEdit::resizeEvent(e);
+
+    QRect cr = contentsRect();
+    lineNumberArea->setGeometry(
+        QRect(cr.left(), cr.top(), lineNumberAreaWidth(), cr.height()));
+}
+
+void CodeEditor::highlightCurrentLine()
+{
+    QList<QTextEdit::ExtraSelection> extraSelections;
+
+    if (!isReadOnly()) {
+        QTextEdit::ExtraSelection selection;
+
+        QColor lineColor;
+        if (usingDarkTheme)
+            lineColor = QColor(Qt::darkGray).darker(150);
+        else
+            lineColor = QColor(Qt::yellow).lighter(160);
+
+        selection.format.setBackground(lineColor);
+        selection.format.setProperty(QTextFormat::FullWidthSelection, true);
+        selection.cursor = textCursor();
+        selection.cursor.clearSelection();
+        extraSelections.append(selection);
+    }
+
+    setExtraSelections(extraSelections);
+}
+
+void CodeEditor::lineNumberAreaPaintEvent(QPaintEvent *event)
+{
+    QPainter painter(lineNumberArea);
+    if (usingDarkTheme)
+        painter.fillRect(event->rect(), QColor(Qt::darkGray).darker(150));
+    else
+        painter.fillRect(event->rect(), Qt::lightGray);
+
+    QTextBlock block = firstVisibleBlock();
+    int blockNumber = block.blockNumber();
+    int top =
+        (int)blockBoundingGeometry(block).translated(contentOffset()).top();
+    int bottom = top + (int)blockBoundingRect(block).height();
+
+    QColor penColor;
+    if (usingDarkTheme)
+        penColor = Qt::lightGray;
+    else
+        penColor = Qt::black;
+
+    while (block.isValid() && top <= event->rect().bottom()) {
+        if (block.isVisible() && bottom >= event->rect().top()) {
+            QString number = QString::number(blockNumber + 1);
+            painter.setPen(penColor);
+            painter.drawText(0, top, lineNumberArea->width(),
+                             fontMetrics().height(), Qt::AlignRight, number);
+        }
+
+        block = block.next();
+        top = bottom;
+        bottom = top + (int)blockBoundingRect(block).height();
+        ++blockNumber;
+    }
+}
diff --git a/src/codeeditor.h b/src/codeeditor.h
new file mode 100644 (file)
index 0000000..7ca78b5
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef CODEEDITOR_H
+#define CODEEDITOR_H
+
+#include <QObject>
+#include <QPlainTextEdit>
+
+class QPaintEvent;
+class QResizeEvent;
+class QSize;
+class QWidget;
+
+class LineNumberArea;
+
+class CodeEditor : public QPlainTextEdit {
+    Q_OBJECT
+
+  public:
+    CodeEditor(QWidget *parent = 0);
+
+    void lineNumberAreaPaintEvent(QPaintEvent *event);
+    int lineNumberAreaWidth();
+
+  protected:
+    void resizeEvent(QResizeEvent *event) override;
+
+  private slots:
+    void updateLineNumberAreaWidth(int newBlockCount);
+    void highlightCurrentLine();
+    void updateLineNumberArea(const QRect &, int);
+
+  private:
+    QWidget *lineNumberArea;
+};
+
+class LineNumberArea : public QWidget {
+  public:
+    LineNumberArea(CodeEditor *editor) : QWidget(editor)
+    {
+        codeEditor = editor;
+    }
+
+    QSize sizeHint() const override
+    {
+        return QSize(codeEditor->lineNumberAreaWidth(), 0);
+    }
+
+  protected:
+    void paintEvent(QPaintEvent *event) override
+    {
+        codeEditor->lineNumberAreaPaintEvent(event);
+    }
+
+  private:
+    CodeEditor *codeEditor;
+};
+
+#endif
\ No newline at end of file
diff --git a/src/command.cpp b/src/command.cpp
new file mode 100644 (file)
index 0000000..69387fa
--- /dev/null
@@ -0,0 +1,131 @@
+#include "command.h"
+
+#include <QDebug>
+Command::Command(const QString &n, SelectionType st, ParameterType retType)
+{
+    name = n;
+    selectionType = st;
+    returnType = retType;
+}
+
+QString Command::getName() { return name; }
+
+QString Command::getDescription()
+{
+    QString s;
+    s = QString("Command: \"%1\"\n").arg(name);
+    s += QString("  SelectionType: %1\n").arg(getSelectionTypeName());
+    s += QString("    Return type: %1\n").arg(typeToString(returnType));
+    s += QString("     Parameters: %1\n").arg(parCount());
+    // s+=QString(" Parameters: %1\n").arg(parCount() );
+    for (int i = 0; i < parCount(); i++) {
+        s += QString("    Parameter %1:\n").arg(i + 1);
+        s += QString("        Comment: %1\n").arg(getParComment(i));
+        s += QString("           Type: %1\n").arg(typeToString(getParType(i)));
+        s += QString("       Optional: ");
+        isParOptional(i) ? s += "yes\n" : s += "No\n";
+    }
+    return s;
+}
+
+QString Command::getDescriptionLaTeX()
+{
+    QString s;
+    s = QString("\\item %1\\\\\n").arg(name);
+    s += "\\begin{tabular}{rl}\n";
+    s += QString("  SelectionType: & %1\\\\\n").arg(getSelectionTypeName());
+    s += QString("    Return Type: & %1\\\\\n").arg(typeToString(returnType));
+
+    s += QString("     Parameters: & %1\\\\\n").arg(parCount());
+    for (int i = 0; i < parCount(); i++) {
+        s += QString("   Parameter: &  %1:\\\\\n").arg(i + 1);
+        s += QString("        Comment: & %1\\\\\n").arg(getParComment(i));
+        s += QString("           Type: & %1\\\\\n").arg(typeToString(getParType(i)));
+        s += QString("       Optional: &  ");
+        isParOptional(i) ? s += "yes\\\\\n" : s += "No\\\\\n";
+    }
+    s += "\\end{tabular}\n";
+    return s;
+}
+
+void Command::addPar(ParameterType t, bool opt, const QString &c)
+{
+    parTypes.append(t);
+    parOpts.append(opt);
+    parComments.append(c);
+}
+
+int Command::parCount() { return parTypes.count(); }
+
+Command::ParameterType Command::getParType(int n)
+{
+    if (n >= 0 && n < parTypes.count()) {
+        return parTypes.at(n);
+    }
+    qDebug() << "Command::getParType n out of range";
+    return Undefined;
+}
+
+QString Command::typeToString(const ParameterType &type)
+{
+    switch (type) {
+    case String:
+        return "String";
+    case Int:
+        return "Int";
+    case Double:
+        return "Double";
+    case Color:
+        return "Color";
+    case Bool:
+        return "Bool";
+    case Void:
+        return "Void";
+    case Undefined:
+        return "Undefined";
+    default:
+        return "not defined in class Command.";
+    }
+}
+
+Command::SelectionType Command::getSelectionType() { return selectionType; }
+
+QString Command::getSelectionTypeName()
+{
+    switch (getSelectionType()) {
+    case Any:
+        return "Any";
+    case TreeItem:
+        return "TreeItem";
+    case Branch:
+        return "Branch";
+    case BranchLike:
+        return "BranchLike";
+    case Image:
+        return "Image";
+    case BranchOrImage:
+        return "BranchOrImage";
+    case XLink:
+        return "XLink";
+    default:
+        return "Undefined";
+    }
+}
+
+bool Command::isParOptional(int n)
+{
+    if (n >= 0 && n < parTypes.count()) {
+        return parOpts.at(n);
+    }
+    qDebug() << "Command::isParOpt n out of range";
+    return false;
+}
+
+QString Command::getParComment(int n)
+{
+    if (n >= 0 && n < parTypes.count()) {
+        return parComments.at(n);
+    }
+    qDebug() << "Command::getParComment n out of range";
+    return QString();
+}
diff --git a/src/command.h b/src/command.h
new file mode 100644 (file)
index 0000000..2ff7ba7
--- /dev/null
@@ -0,0 +1,49 @@
+#ifndef COMMAND_H
+#define COMMAND_H
+
+#include <QColor>
+#include <QStringList>
+
+class Command {
+  public:
+    enum SelectionType {
+        Any,
+        TreeItem,
+        Branch,
+        BranchLike,
+        Image,
+        BranchOrImage,
+        XLink
+    };
+    enum ParameterType {
+        Undefined,
+        String,
+        Int,
+        Double,
+        Color,
+        Bool,
+        Void};
+
+    Command(const QString &n, SelectionType st, ParameterType retType = Void);
+    QString getName();
+    QString getDescription();
+    QString getDescriptionLaTeX();
+    void addPar(ParameterType t, bool opt, const QString &c = QString());
+    int parCount();
+    ParameterType getParType(int n);
+    SelectionType getSelectionType();
+    QString getSelectionTypeName();
+    QString typeToString(const ParameterType &type);
+    bool isParOptional(int n);
+    QString getParComment(int n);
+
+  private:
+    QString name;
+    SelectionType selectionType;
+    QList<ParameterType> parTypes;
+    ParameterType returnType;
+    QList<bool> parOpts;
+    QStringList parComments;
+};
+
+#endif
diff --git a/src/confluence-agent.cpp b/src/confluence-agent.cpp
new file mode 100644 (file)
index 0000000..1825198
--- /dev/null
@@ -0,0 +1,1014 @@
+#include "confluence-agent.h"
+
+#include <QMessageBox>
+#include <QSslSocket>
+
+#include <iostream> // FIXME-2 for debugging...
+
+#include "branchitem.h"
+#include "confluence-user.h"
+#include "file.h"
+#include "mainwindow.h"
+#include "misc.h"
+#include "vymmodel.h"
+#include "warningdialog.h"
+
+extern Main *mainWindow;
+extern QDir vymBaseDir;
+extern QString confluencePassword;
+extern Settings settings;
+extern bool debug;
+
+bool ConfluenceAgent::available() 
+{ 
+    if (!QSslSocket::supportsSsl())
+        return false;
+    if ( settings.value("/atlassian/confluence/username", "").toString().isEmpty())
+        return false;
+
+    if ( settings.value("/atlassian/confluence/url", "").toString().isEmpty())
+        return false;
+
+    return true;
+}
+
+ConfluenceAgent::ConfluenceAgent() { 
+    //qDebug() << "Constr. ConfluenceAgent jobType=";
+    init(); 
+}
+
+ConfluenceAgent::ConfluenceAgent(BranchItem *bi)
+{
+    //qDebug() << "Constr. ConfluenceAgent selbi = " << bi;
+
+    if (!bi) {
+        qWarning("Const ConfluenceAgent: bi == nullptr");
+        // This will leave the agent hanging around undeleted...
+        return;
+    }
+
+    init();
+
+    setBranch(bi);
+}
+
+ConfluenceAgent::~ConfluenceAgent()
+{
+    // qDebug() << "Destr ConfluenceAgent." << jobType;
+    if (killTimer)
+        delete killTimer;
+}
+
+void ConfluenceAgent::init()
+{
+    jobType = Undefined;
+    jobStep = -1;
+    abortJob = false;
+
+    killTimer = nullptr;
+
+    networkManager = new QNetworkAccessManager(this);
+
+    modelID = 0;    // invalid ID
+
+    killTimer = new QTimer(this);
+    killTimer->setInterval(15000);
+    killTimer->setSingleShot(true);
+
+    QObject::connect(killTimer, SIGNAL(timeout()), this, SLOT(timeout()));
+
+    apiURL = baseURL + "/rest/api";
+    baseURL = settings.value("/atlassian/confluence/url", "baseURL").toString();
+    
+    // Attachments
+    attachmentsAgent = nullptr;
+    currentUploadAttachmentIndex = -1;
+
+    // Read credentials 
+    authUsingPAT = 
+        settings.value("/atlassian/confluence/authUsingPAT", true).toBool();
+    if (authUsingPAT)
+        personalAccessToken =
+            settings.value("/atlassian/confluence/PAT", "undefined").toString();
+    else {
+        username =
+            settings.value("/atlassian/confluence/username", "user_johnDoe").toString();
+        if (!confluencePassword.isEmpty())
+            password = confluencePassword;
+        else
+            password = 
+                settings.value("/atlassian/confluence/password", "").toString();
+    }
+
+    if (!authUsingPAT && password.isEmpty()) {
+        // Set global password
+        if (!mainWindow->settingsConfluence()) 
+            abortJob = true;
+    }
+}
+
+void ConfluenceAgent::setJobType(JobType jt)
+{
+    jobType = jt;
+}
+
+void ConfluenceAgent::setBranch(BranchItem *bi)
+{
+    if (!bi) {
+        qWarning() << "ConfluenceAgent::setBranch  bi == nullptr";
+        abortJob = true;
+    } else {
+        branchID = bi->getID();
+        VymModel *model = bi->getModel();
+        modelID = model->getModelID();
+    }
+}
+
+void ConfluenceAgent::setModelID(uint id)
+{
+    modelID = id;
+}
+
+void ConfluenceAgent::setPageURL(const QString &u)
+{
+    pageURL = u;
+}
+
+void ConfluenceAgent::setNewPageName(const QString &t)
+{
+    newPageName = t;
+}
+
+void ConfluenceAgent::setUploadPagePath(const QString &fp)
+{
+    uploadPagePath = fp;
+}
+
+void ConfluenceAgent::addUploadAttachmentPath(const QString &fp)
+{
+    uploadAttachmentPaths << fp;
+}
+
+void ConfluenceAgent::startJob()
+{
+    if (jobStep > 0) {
+        unknownStepWarningFinishJob();
+    } else {
+        jobStep = 0;
+        continueJob();
+    }
+}
+
+void ConfluenceAgent::continueJob(int nextStep)
+{
+    if (abortJob) {
+        finishJob();
+        return;
+    }
+
+    if (nextStep < 0)
+        jobStep++;
+    else
+        jobStep = nextStep;
+
+    VymModel *model;
+
+    // qDebug() << "CA::contJob " << jobType << " Step: " << jobStep;
+
+    switch(jobType) {
+        case CopyPagenameToHeading:
+            if (jobStep == 1) {
+                startGetPageSourceRequest(pageURL);
+                return;
+            }
+            if (jobStep == 2) {
+                startGetPageDetailsRequest();
+                return;
+            }
+            if (jobStep == 3) {
+                model = mainWindow->getModel(modelID);
+                if (model) {
+                    BranchItem *bi = (BranchItem *)(model->findID(branchID));
+
+                    if (bi) {
+                        QString h = spaceKey + ": " + pageObj["title"].toString();
+                        model->setHeading(h, bi);
+                    } else
+                        qWarning() << "CA::continueJob couldn't find branch "
+                                   << branchID;
+                } else
+                    qWarning() << "CA::continueJob couldn't find model " << modelID;
+                finishJob();
+                return;
+            }
+            unknownStepWarningFinishJob();
+            return;
+
+        case CreatePage:
+            if (jobStep == 1) {
+                if (pageURL.isEmpty()) {
+                    qWarning() << "CA::contJob NewPage: pageURL is empty";
+                    finishJob();
+                    return;
+                }
+                if (newPageName.isEmpty()) {
+                    qWarning() << "CA::contJob NewPage: newPageName is empty";
+                    finishJob();
+                    return;
+                }
+
+                mainWindow->statusMessage(
+                    QString("Starting to create Confluence page %1").arg(pageURL));
+
+                // Check if parent page with url already exists and get pageID, spaceKey
+                startGetPageSourceRequest(pageURL);
+                return;
+            }
+            if (jobStep == 2) {
+                // Create new page with parent url
+                startCreatePageRequest();
+                return;
+            }
+            if (jobStep == 3) {
+
+                pageID = pageObj["id"].toString();
+
+                // Upload attachments?
+                if (uploadAttachmentPaths.count() > 0) {
+                    attachmentsAgent = new ConfluenceAgent;
+                    attachmentsAgent->setJobType(ConfluenceAgent::UploadAttachments);
+                    attachmentsAgent->pageID = pageID;
+                    attachmentsAgent->uploadAttachmentPaths = uploadAttachmentPaths;
+
+                    connect(attachmentsAgent, &ConfluenceAgent::attachmentsSuccess,
+                        this, &ConfluenceAgent::attachmentsUploadSuccess);
+                    connect(attachmentsAgent, &ConfluenceAgent::attachmentsFailure,
+                        this, &ConfluenceAgent::attachmentsUploadFailure);
+                    attachmentsAgent->startJob();
+                    return;
+                } else
+                    // Proceed to next step
+                    jobStep = 4;
+            }
+            if (jobStep == 4) {
+                //qDebug() << "CA::finished  Created page with ID: " << pageObj["id"].toString();
+                mainWindow->statusMessage(
+                    QString("Created Confluence page %1").arg(pageURL));
+                finishJob();
+                return;
+            }
+            unknownStepWarningFinishJob();
+            return;
+
+        case UpdatePage:
+            if (jobStep == 1) {
+                if (pageURL.isEmpty()) {
+                    qWarning() << "CA::contJob UpdatePage: pageURL is empty";
+                    finishJob();
+                    return;
+                }
+
+                mainWindow->statusMessage(
+                    QString("Starting to update Confluence page %1").arg(pageURL));
+
+                // Check if page with url already exists and get pageID, spaceKey
+                startGetPageSourceRequest(pageURL);
+                return;
+            }
+            if (jobStep == 2) {
+                // Get title, which is required by Confluence to update a page
+                startGetPageDetailsRequest();
+                return;
+            }
+            if (jobStep == 3) {
+                // Upload attachments?
+                if (uploadAttachmentPaths.count() > 0) {
+                    attachmentsAgent = new ConfluenceAgent;
+                    attachmentsAgent->setJobType(ConfluenceAgent::UploadAttachments);
+                    attachmentsAgent->pageID = pageID;
+                    attachmentsAgent->uploadAttachmentPaths = uploadAttachmentPaths;
+
+                    connect(attachmentsAgent, &ConfluenceAgent::attachmentsSuccess,
+                        this, &ConfluenceAgent::attachmentsUploadSuccess);
+                    connect(attachmentsAgent, &ConfluenceAgent::attachmentsFailure,
+                        this, &ConfluenceAgent::attachmentsUploadFailure);
+                    attachmentsAgent->startJob();
+                    return;
+                }
+            }
+            if (jobStep == 4) {
+                // Update page with parent url
+                if (newPageName.isEmpty())
+                        newPageName = pageObj["title"].toString();
+                startUpdatePageRequest();
+                return;
+            }
+            if (jobStep == 5) {
+                //qDebug() << "CA::finished  Updated page with ID: " << pageObj["id"].toString();
+                mainWindow->statusMessage(
+                    QString("Updated Confluence page %1").arg(pageURL));
+                finishJob();
+                return;
+            }
+            unknownStepWarningFinishJob();
+            return;
+
+        case GetUserInfo:
+            if (jobStep == 1) {
+                // qDebug() << "CA:: begin getting UserInfo";
+                startGetUserInfoRequest();
+                return;
+            }
+            if (jobStep == 2) {
+                QJsonArray array = pageObj["results"].toArray();
+                QJsonObject userObj;
+                QJsonObject u;
+                ConfluenceUser user;
+                userList.clear();
+                for (int i = 0; i < array.size(); ++i) {
+                    userObj = array[i].toObject();
+
+                    u = userObj["user"].toObject();
+                    user.setTitle( userObj["title"].toString());
+                    user.setURL( "https://" + baseURL + "/"
+                            + "display/~" + u["username"].toString());
+                    user.setUserKey( u["userKey"].toString());
+                    user.setUserName( u["username"].toString());
+                    user.setDisplayName( u["displayName"].toString());
+                    userList << user;
+                }
+                emit (foundUsers(userList));
+                finishJob();
+                return;
+            }
+            unknownStepWarningFinishJob();
+            return;
+
+        case UploadAttachments:
+            if (jobStep == 1) {
+
+                if (uploadAttachmentPaths.count() <= 0) {
+                    qWarning() << "ConfluenceAgent: No attachments to upload!";
+                    emit(attachmentsFailure());
+                    finishJob();
+                    return;
+                }
+
+                // Prepare to upload first attachment in list
+                currentUploadAttachmentIndex = 0;
+
+                // Try to get info for attachments
+                startGetAttachmentsInfoRequest();
+                return;
+            }
+            if (jobStep == 2) {
+                // Entry point for looping over list of attachments to upload
+
+                if (currentUploadAttachmentIndex >= uploadAttachmentPaths.count()) {
+                    // All uploaded, let's finish uploading
+                    emit(attachmentsSuccess());
+                    finishJob();
+                } else {
+                    currentAttachmentPath = uploadAttachmentPaths.at(currentUploadAttachmentIndex);
+                    currentAttachmentTitle = basename(currentAttachmentPath);
+
+                    // Create attachment with image of map, if required
+                    if (attachmentsTitles.count() == 0 || 
+                        !attachmentsTitles.contains(currentAttachmentTitle)) {
+                        // Create new attachment
+                        startCreateAttachmentRequest();
+                    } else {
+                        // Update existing attachment
+                        startUpdateAttachmentRequest();
+                    }
+                }
+                return;
+            }
+            unknownStepWarningFinishJob();
+            return;
+
+        default:
+            qWarning() << "ConfluenceAgent::continueJob   unknown jobType " << jobType;
+    }
+}
+
+void ConfluenceAgent::finishJob()
+{
+    deleteLater();
+}
+
+void ConfluenceAgent::unknownStepWarningFinishJob()
+{
+    qWarning() << "CA::contJob  unknow step in jobType = " 
+        << jobType 
+        << "jobStep = " << jobStep;
+    finishJob();
+}
+
+void ConfluenceAgent::getUsers(const QString &usrQuery)
+{
+    userQuery = usrQuery;
+    if (usrQuery.contains(QRegExp("\\W+"))) {
+        qWarning() << "ConfluenceAgent::getUsers  Forbidden characters in " << usrQuery;
+        return;
+    }
+
+    setJobType(GetUserInfo);
+    startJob();
+}
+
+QNetworkRequest ConfluenceAgent::createRequest(const QUrl &url)
+{
+    QNetworkRequest request = QNetworkRequest(url);
+
+    QString headerData;
+    if (authUsingPAT)
+        headerData = QString("Bearer %1").arg(personalAccessToken);
+    else {
+        QString concatenated = username + ":" + password;
+        QByteArray data = concatenated.toLocal8Bit().toBase64();
+        headerData = "Basic " + data;
+    }
+    request.setRawHeader("Authorization", headerData.toLocal8Bit());
+
+    return request;
+}
+
+void ConfluenceAgent::startGetPageSourceRequest(QUrl requestedURL)
+{
+    //qDebug() << "CA::startGetPageSourceRequest " << requestedURL;
+    if (!requestedURL.toString().startsWith("http"))
+        requestedURL.setPath("https://" + requestedURL.path());
+
+    QUrl url = requestedURL;
+
+    QNetworkRequest request = createRequest(url);
+
+    if (debug)
+        qDebug() << "CA::startGetPageSourceRequest: url = " + request.url().toString();
+
+    killTimer->start();
+
+    connect(networkManager, &QNetworkAccessManager::finished,
+        this, &ConfluenceAgent::pageSourceReceived);
+
+    networkManager->get(request);
+}
+
+void ConfluenceAgent::pageSourceReceived(QNetworkReply *reply)
+{
+    if (debug) qDebug() << "CA::pageSourceReceived";
+
+    killTimer->stop();
+    networkManager->disconnect();
+    reply->deleteLater();
+
+    QByteArray fullReply = reply->readAll();
+    if (!wasRequestSuccessful(reply, "receive page source", fullReply))
+        return;
+
+    // Find pageID
+    QRegExp rx("\\sname=\"ajs-page-id\"\\scontent=\"(\\d*)\"");
+    rx.setMinimal(true);
+
+    if (rx.indexIn(fullReply, 0) != -1) {
+        pageID = rx.cap(1);
+    }
+    else {
+        qWarning()
+            << "ConfluenceAgent::pageSourceReveived Couldn't find page ID";
+        //qWarning() << fullReply;
+        return;
+    }
+
+    // Find spaceKey 
+    rx.setPattern("meta\\s*id=\"confluence-space-key\"\\s* "
+                  "name=\"confluence-space-key\"\\s*content=\"(.*)\"");
+    if (rx.indexIn(fullReply, 0) != -1) {
+        spaceKey = rx.cap(1);
+    }
+    else {
+        qWarning() << "ConfluenceAgent::pageSourceReveived Couldn't find "
+                      "space key in response";
+        qWarning() << fullReply;
+        finishJob();
+        return;
+    }
+
+    const QVariant redirectionTarget =
+        reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
+
+    continueJob();
+}
+
+void ConfluenceAgent::startGetPageDetailsRequest()
+{
+    if (debug) qDebug() << "CA::startGetPageDetailsRequest" << pageID;
+
+    // Authentication in URL  (only SSL!)
+    QString url = "https://" 
+        + baseURL + apiURL 
+        + "/content/" + pageID + "?expand=metadata.labels,version";
+
+    QNetworkRequest request = createRequest(url);
+
+    connect(networkManager, &QNetworkAccessManager::finished,
+        this, &ConfluenceAgent::pageDetailsReceived);
+
+    killTimer->start();
+
+    networkManager->get(request);
+}
+
+void ConfluenceAgent::pageDetailsReceived(QNetworkReply *reply)
+{
+    if (debug) qDebug() << "CA::pageDetailsReceived";
+
+    killTimer->stop();
+    networkManager->disconnect();
+    reply->deleteLater();
+
+    QByteArray fullReply = reply->readAll();
+    if (!wasRequestSuccessful(reply, "receive page details", fullReply))
+        return;
+
+    QJsonDocument jsdoc;
+    jsdoc = QJsonDocument::fromJson(fullReply);
+
+    pageObj = jsdoc.object();
+    // cout << jsdoc.toJson(QJsonDocument::Indented).toStdString();
+
+    continueJob();
+}
+
+void ConfluenceAgent::startCreatePageRequest()
+{
+    // qDebug() << "CA::startCreatePageRequest";
+
+    QString url = "https://" + baseURL + apiURL + "/content";
+
+    QNetworkRequest request = createRequest(url);
+    request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
+
+    QJsonObject payload;
+    payload["type"] = "page";
+    payload["title"] = newPageName;
+
+    // Build array with ID of parent page
+    QJsonObject ancestorsID;
+    ancestorsID["id"] = pageID;
+    QJsonArray ancestorsArray;
+    ancestorsArray.append(ancestorsID);
+    payload["ancestors"] = ancestorsArray;
+
+    // Build object with space key
+    QJsonObject skey;
+    skey["key"] = spaceKey;
+    payload["space"] = skey;
+
+    // Build body
+    QString body;
+    if (!loadStringFromDisk(uploadPagePath, body))
+    {
+        qWarning() << "ConfluenceAgent: Couldn't read file to upload:" << uploadPagePath;
+        finishJob();
+        return;
+    }
+
+    QJsonObject innerStorageObj
+    {
+        {"value", body},
+        {"representation", "storage"}
+    };
+    QJsonObject outerStorageObj;
+    outerStorageObj["storage"] = innerStorageObj;
+    payload["body"] = outerStorageObj;
+
+    QJsonDocument doc(payload);
+    QByteArray data = doc.toJson();
+
+    connect(networkManager, &QNetworkAccessManager::finished,
+        this, &ConfluenceAgent::pageUploaded);
+
+    killTimer->start();
+
+    networkManager->post(request, data);
+}
+
+void ConfluenceAgent::startUpdatePageRequest()
+{
+    if (debug) qDebug() << "CA::startUpdatePageRequest";
+
+    QString url = "https://" + baseURL + apiURL + "/content" + "/" + pageID;
+
+    QNetworkRequest request = createRequest(url);
+
+    request.setHeader(
+        QNetworkRequest::ContentTypeHeader,
+        "application/json; charset=utf-8");
+
+    QJsonObject payload;
+    payload["id"] = pageID;
+    payload["type"] = "page";
+    payload["title"] = newPageName;
+
+    // Build version object
+    QJsonObject newVersionObj;
+    QJsonObject oldVersionObj = pageObj["version"].toObject();
+
+    newVersionObj["number"] = oldVersionObj["number"].toInt() + 1;
+    payload["version"] = newVersionObj;
+
+    // Build object with space key
+    QJsonObject skey;
+    skey["key"] = spaceKey;
+    payload["space"] = skey;
+
+    // Build body
+    QString body;
+    if (!loadStringFromDisk(uploadPagePath, body))
+    {
+        qWarning() << "ConfluenceAgent: Couldn't read file to upload:" << uploadPagePath;
+        finishJob();
+        return;
+    }
+
+    QJsonObject innerStorageObj
+    {
+        {"value", body},
+        {"representation", "storage"}
+    };
+    QJsonObject outerStorageObj;
+    outerStorageObj["storage"] = innerStorageObj;
+    payload["body"] = outerStorageObj;
+
+    QJsonDocument doc(payload);
+    QByteArray data = doc.toJson();
+
+    connect(networkManager, &QNetworkAccessManager::finished,
+        this, &ConfluenceAgent::pageUploaded);
+
+    killTimer->start();
+
+    networkManager->put(request, data);
+}
+
+void ConfluenceAgent::pageUploaded(QNetworkReply *reply)
+{
+    if (debug) qDebug() << "CA::pageUploaded";
+
+    killTimer->stop();
+    networkManager->disconnect();
+    reply->deleteLater();
+
+    QByteArray fullReply = reply->readAll();
+    if (!wasRequestSuccessful(reply, "upload page", fullReply))
+        return;
+
+    QJsonDocument jsdoc;
+    jsdoc = QJsonDocument::fromJson(fullReply);
+    pageObj = jsdoc.object();
+    //cout << jsdoc.toJson(QJsonDocument::Indented).toStdString();
+    continueJob();
+}
+
+void ConfluenceAgent::startGetUserInfoRequest()
+{
+    if (debug) qDebug() << "CA::startGetInfoRequest for " << userQuery;
+
+    QString url = "https://" + baseURL + apiURL
+        + "/search?cql=user.fullname~" + userQuery;
+
+    networkManager->disconnect();
+
+    QNetworkRequest request = createRequest(url);
+
+    connect(networkManager, &QNetworkAccessManager::finished,
+        this, &ConfluenceAgent::userInfoReceived);
+
+    killTimer->start();
+
+    networkManager->get(request);
+}
+
+void ConfluenceAgent::userInfoReceived(QNetworkReply *reply)
+{
+    if (debug) qDebug() << "CA::UserInfopageReceived";
+
+    killTimer->stop();
+    networkManager->disconnect();
+    reply->deleteLater();
+
+    QByteArray fullReply = reply->readAll();
+    if (!wasRequestSuccessful(reply, "receive user info", fullReply))
+        return;
+
+    QJsonDocument jsdoc;
+    jsdoc = QJsonDocument::fromJson(fullReply);
+    pageObj = jsdoc.object();
+    continueJob();
+}
+
+void ConfluenceAgent::startGetAttachmentsInfoRequest()
+{
+    if (debug) qDebug() << "CA::startGetAttachmentIdRequest";
+
+    QString url = "https://" + baseURL + apiURL + "/content" + "/" + pageID + "/child/attachment";
+
+    QNetworkRequest request = createRequest(url);
+    request.setRawHeader("X-Atlassian-Token", "no-check");
+
+    connect(networkManager, &QNetworkAccessManager::finished,
+        this, &ConfluenceAgent::attachmentsInfoReceived);
+
+    killTimer->start();
+
+    QNetworkReply *reply = networkManager->get(request);
+}
+
+void ConfluenceAgent::attachmentsInfoReceived(QNetworkReply *reply)
+{
+    if (debug) qDebug() << "CA::attachmentsInfoReceived";
+
+    killTimer->stop();
+    networkManager->disconnect();
+    reply->deleteLater();
+
+    QByteArray fullReply = reply->readAll();
+    if (!wasRequestSuccessful(reply, "get attachment info", fullReply))
+        return;
+
+    QJsonDocument jsdoc;
+    jsdoc = QJsonDocument::fromJson(fullReply);
+
+    attachmentObj = jsdoc.object();
+    int attachmentsCount = jsdoc["size"].toInt();
+    //cout << jsdoc.toJson(QJsonDocument::Indented).toStdString();
+    for (int i = 0; i < attachmentsCount; i++) {
+        attachmentsTitles << jsdoc["results"][i]["title"].toString();
+        attachmentsIds    << jsdoc["results"][i]["id"].toString();
+        //qDebug() << " Title: " << attachmentsTitles.last() << 
+        //            " Id: " << attachmentsIds.last();
+    }
+
+    continueJob();
+}
+
+void ConfluenceAgent::startCreateAttachmentRequest()
+{
+    if (debug) qDebug() << "CA::startCreateAttachmentRequest";
+
+    QString url = "https://" + baseURL + apiURL + "/content" + "/" + pageID + "/child/attachment";
+
+    QNetworkRequest request = createRequest(url);
+    request.setRawHeader("X-Atlassian-Token", "no-check");
+
+    QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
+
+
+    QHttpPart imagePart;
+    imagePart.setHeader(
+            QNetworkRequest::ContentDispositionHeader,
+
+            // Name must be "file"
+            QVariant(
+                QString("form-data; name=\"file\"; filename=\"%1\"")
+                    .arg(currentAttachmentTitle)));
+    imagePart.setHeader(
+            QNetworkRequest::ContentTypeHeader,
+            QVariant("image/jpeg"));
+
+    QFile *file = new QFile(currentAttachmentPath);
+    if (!file->open(QIODevice::ReadOnly)) {
+        qWarning() << "Problem opening attachment: " << currentAttachmentPath;
+        QMessageBox::warning(
+            nullptr, tr("Warning"),
+            QString("Could not open attachment file \"%1\" in page with ID: %2").arg(currentAttachmentTitle).arg(pageID));
+        finishJob();
+        return;
+    }
+    imagePart.setBodyDevice(file);
+    /*
+    qDebug() << "      title=" << currentAttachmentTitle;
+    qDebug() << "       path=" << currentAttachmentPath;
+    qDebug() << "        url=" << url;
+    qDebug() << "  file size=" << file->size();
+    */
+    multiPart->append(imagePart);
+    file->setParent(multiPart); // delete later with the multiPart
+
+    connect(networkManager, &QNetworkAccessManager::finished,
+        this, &ConfluenceAgent::attachmentCreated);
+
+    killTimer->start();
+
+    QNetworkReply *reply = networkManager->post(request, multiPart);
+
+    multiPart->setParent(reply);
+}
+
+void ConfluenceAgent::attachmentCreated(QNetworkReply *reply)
+{
+    if (debug) qDebug() << "CA::attachmentCreated";
+
+    killTimer->stop();
+    networkManager->disconnect();
+    reply->deleteLater();
+
+    QByteArray fullReply = reply->readAll();
+    if (reply->error() == QNetworkReply::ProtocolInvalidOperationError) {
+        if (fullReply.contains(
+                    QString("Cannot add a new attachment with same file name as an existing attachment").toLatin1())) {
+            // Replace existing attachment
+            qWarning() << "Attachment with name " << currentAttachmentTitle << " already exists.";
+            qWarning() << "AttachmentID unknown, stopping now"; 
+
+            finishJob();
+            return;
+        }
+        if (!wasRequestSuccessful(reply, "create attachment", fullReply))
+            return;
+    }
+
+    QJsonDocument jsdoc;
+    jsdoc = QJsonDocument::fromJson(fullReply);
+    attachmentObj = jsdoc.object();
+
+    //qDebug() << "CA::attachmentCreated Successful:";
+    //cout << jsdoc.toJson(QJsonDocument::Indented).toStdString();
+    //cout << attachmentObj["results"].toArray().toStdString();
+
+    currentUploadAttachmentIndex++;
+
+    continueJob(2);
+}
+
+void ConfluenceAgent::startUpdateAttachmentRequest()
+{
+    if (debug) qDebug() << "CA::startUpdateAttachmentRequest";
+
+    for (int i = 0; i < attachmentsTitles.count(); i++) {
+        // qDebug() << "     - " << attachmentsTitles.at(i);
+        if (attachmentsTitles.at(i) == currentAttachmentTitle) {
+            currentAttachmentId = attachmentsIds.at(i);
+            break;
+        }
+    }
+
+    if (currentAttachmentId.isEmpty()) {
+        QMessageBox::warning(
+            nullptr, tr("Warning"),
+            QString("Could not find existing attachment \"%1\" in page with ID: %2").arg(currentAttachmentTitle).arg(pageID));
+        finishJob();
+        return;
+    }
+
+    QString url = "https://" + baseURL + apiURL + "/content" + "/" + pageID + "/child/attachment/" + currentAttachmentId + "/data";
+
+    QNetworkRequest request = createRequest(url);
+    request.setRawHeader("X-Atlassian-Token", "no-check");
+
+    QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
+
+    QHttpPart imagePart;
+    imagePart.setHeader(
+            QNetworkRequest::ContentDispositionHeader,
+
+            // Name must be "file"
+            QVariant(
+                QString("form-data; name=\"file\"; filename=\"%1\"")
+                    .arg(currentAttachmentTitle)));
+    imagePart.setHeader(
+            QNetworkRequest::ContentTypeHeader,
+            QVariant("image/jpeg"));
+
+    QFile *file = new QFile(currentAttachmentPath);
+    if (!file->open(QIODevice::ReadOnly)) {
+        qWarning() << "Problem opening attachment: " << currentAttachmentPath;
+        QMessageBox::warning(
+            nullptr, tr("Warning"),
+            QString("Could not open attachment file \"%1\" in page with ID: %2").arg(currentAttachmentTitle).arg(pageID));
+        finishJob();
+        return;
+    }
+    imagePart.setBodyDevice(file);
+    /*
+    qDebug() << "      title=" << currentAttachmentTitle;
+    qDebug() << "       path=" << currentAttachmentPath;
+    qDebug() << "        url=" << url;
+    qDebug() << "  file size=" << file->size();
+    */
+    multiPart->append(imagePart);
+    file->setParent(multiPart);
+
+    connect(networkManager, &QNetworkAccessManager::finished,
+        this, &ConfluenceAgent::attachmentUpdated);
+
+    killTimer->start();
+
+    QNetworkReply *reply = networkManager->post(request, multiPart);
+
+    multiPart->setParent(reply);
+}
+
+void ConfluenceAgent::attachmentUpdated(QNetworkReply *reply)
+{
+    if (debug) qDebug() << "CA::attachmentUpdated";
+
+    killTimer->stop();
+    networkManager->disconnect();
+    reply->deleteLater();
+
+    QByteArray fullReply = reply->readAll();
+    if (!wasRequestSuccessful(reply, "update attachment", fullReply))
+        return;
+
+    QJsonDocument jsdoc;
+    jsdoc = QJsonDocument::fromJson(fullReply);
+    attachmentObj = jsdoc.object();
+
+    //cout << jsdoc.toJson(QJsonDocument::Indented).toStdString();
+
+    currentUploadAttachmentIndex++;
+
+    continueJob(2);
+}
+
+void ConfluenceAgent::attachmentsUploadSuccess() // slot called from attachmentsAgent
+{
+    continueJob();
+}
+
+void ConfluenceAgent::attachmentsUploadFailure() // slot called from attachmentsAgent
+{
+    qWarning() << "CA::attachmentsUpload failed";
+    finishJob();
+}
+
+bool ConfluenceAgent::wasRequestSuccessful(QNetworkReply *reply, const QString &requestDesc, const QByteArray &fullReply)
+{
+    if (reply->error()) {
+
+        // Additionally print full error on console
+        qWarning() << "         Step: " << requestDesc;
+        qWarning() << "        Error: " << reply->error();
+        qWarning() << "  Errorstring: " <<  reply->errorString();
+
+        qDebug() << "    Request Url: " << reply->url() ;
+        qDebug() << "      Operation: " << reply->operation() ;
+
+        qDebug() << "      readAll: ";
+        QJsonDocument jsdoc;
+        jsdoc = QJsonDocument::fromJson(fullReply);
+        QString fullReplyFormatted = QString(jsdoc.toJson(QJsonDocument::Indented));
+        cout << fullReplyFormatted.toStdString();
+
+        /*
+        qDebug() << "Request headers: ";
+       QList<QByteArray> reqHeaders = reply->rawHeaderList();
+       foreach( QByteArray reqName, reqHeaders )
+        {
+            QByteArray reqValue = reply->rawHeader( reqName );
+            qDebug() << "  " << reqName << ": " << reqValue;
+       }
+        */
+
+        if (reply->error() == QNetworkReply::AuthenticationRequiredError)
+            QMessageBox::warning(
+                nullptr, tr("Warning"),
+                tr("Authentication problem when contacting Confluence") + "\n\n" + 
+                requestDesc);
+        else {
+            QString msg = QString("QNetworkReply error when trying to \"%1\"\n\n").arg(requestDesc);
+            WarningDialog warn;
+            warn.setText(msg + "\n\n" + fullReplyFormatted);
+            warn.showCancelButton(false);
+            warn.exec();
+        }
+
+        finishJob();
+        return false;
+    } else
+        return true;
+}
+
+void ConfluenceAgent::timeout()
+{
+    qWarning() << "ConfluenceAgent timeout!!   jobType = " << jobType;
+}
+
+#ifndef QT_NO_SSL
+void ConfluenceAgent::sslErrors(QNetworkReply *reply, const QList<QSslError> &errors)
+{
+    QString errorString;
+    foreach (const QSslError &error, errors) {
+        if (!errorString.isEmpty())
+            errorString += '\n';
+        errorString += error.errorString();
+    }
+
+    reply->ignoreSslErrors();
+    qWarning() << "ConfluenceAgent: One or more SSL errors has occurred: " << errorString;
+    qWarning() << "Errors ignored.";
+}
+#endif
diff --git a/src/confluence-agent.h b/src/confluence-agent.h
new file mode 100644 (file)
index 0000000..ed9cee3
--- /dev/null
@@ -0,0 +1,155 @@
+#ifndef CONFLUENCEAGENT_H
+#define CONFLUENCEAGENT_H
+
+#include <QHash>
+#include <QJsonObject>
+#include <QNetworkAccessManager>
+#include <QObject>
+#include <QTimer>
+
+#include "confluence-user.h"
+
+class BranchItem;
+class VymModel;
+
+//////////////////////////////////////////////////////////////////////////
+
+class ConfluenceAgent : public QObject {
+    Q_OBJECT
+
+  public:
+    enum JobType {
+        Undefined,
+        CopyPagenameToHeading,
+        CreatePage,
+        UpdatePage,
+        UploadAttachments,
+        GetUserInfo
+    };
+
+    static bool available();
+
+    ConfluenceAgent();
+    ConfluenceAgent(BranchItem *bi);
+    ~ConfluenceAgent();
+    void init();
+    void setJobType(JobType jt);
+    void setBranch(BranchItem *bi);
+    void setModelID(uint id);
+    void setPageURL(const QString &u);
+    void setNewPageName(const QString &t);
+    void setUploadPagePath(const QString &fp);
+    void addUploadAttachmentPath(const QString &fp);
+
+    void startJob();
+
+  private:
+    void continueJob(int nextStep = -1);
+    void finishJob();
+    void unknownStepWarningFinishJob();
+
+  signals:
+    void foundUsers(QList <ConfluenceUser>);
+
+  public:
+    void getUsers(const QString &name); //! Convenience function to get user data
+
+  private: QNetworkRequest createRequest(const QUrl &url);
+  private: void startGetPageSourceRequest(QUrl requestedUrl);
+  private slots: void pageSourceReceived(QNetworkReply *reply);
+
+  private: void startGetPageDetailsRequest();
+  private slots: void pageDetailsReceived(QNetworkReply *reply);
+
+  private: void startCreatePageRequest();
+  private: void startUpdatePageRequest();
+  private slots: void pageUploaded(QNetworkReply *reply);
+
+
+  private: void startGetUserInfoRequest();
+  private slots: void userInfoReceived(QNetworkReply *reply);
+
+  private: void startGetAttachmentsInfoRequest();
+  private slots: void attachmentsInfoReceived(QNetworkReply *reply);
+
+  private: void startCreateAttachmentRequest();
+  private slots: void attachmentCreated(QNetworkReply *reply);
+
+  private: void startUpdateAttachmentRequest();
+  private slots: void attachmentUpdated(QNetworkReply *reply);
+
+  signals:
+    void attachmentsSuccess();
+    void attachmentsFailure();
+
+  public slots:
+    void attachmentsUploadSuccess();
+    void attachmentsUploadFailure();
+
+  private: bool wasRequestSuccessful(
+            QNetworkReply *reply, 
+            const QString &requestDesc,
+            const QByteArray &fullReply);
+
+
+  private slots: void timeout();
+
+#ifndef QT_NO_SSL
+    void sslErrors(QNetworkReply *, const QList<QSslError> &errors);
+#endif
+
+  private:
+    // Job related 
+    QTimer *killTimer;
+    JobType jobType;
+    int jobStep;
+    bool abortJob;  // Flag to abort during initialization of job
+
+    // Network handling
+    QNetworkAccessManager *networkManager;
+    QJsonObject pageObj;
+    QJsonObject attachmentObj;
+
+    // Settings: Credentials to access Confluence
+    bool authUsingPAT;
+    QString personalAccessToken;
+    QString username;
+    QString password;
+
+    // Settings: Where to find Confluggence
+    QString baseURL;
+    QString apiURL;
+
+    // Backreferences to take action in calling model
+    uint branchID;
+    uint modelID;
+
+  private:
+    // Parameters
+    QString pageURL;
+    QString newPageName;
+    QString uploadPagePath;
+    QString userQuery;
+
+    // Page details received from Confluence
+    QString pageID;
+    QString spaceKey;
+
+    // Child agent for attachments
+    ConfluenceAgent *attachmentsAgent;
+
+    // Attachments found in page
+    QStringList attachmentsTitles;
+    QStringList attachmentsIds;
+
+    // Current attachments queued for upload
+    QStringList uploadAttachmentPaths;
+    int currentUploadAttachmentIndex;
+    QString currentAttachmentPath;      // set with basename(..) from path
+    QString currentAttachmentTitle;      // set with basename(..) from path
+    QString currentAttachmentId;         // copied from attachmentsIds
+
+    // User info received from Confluence
+    QList <ConfluenceUser> userList;
+};
+#endif
diff --git a/src/confluence-settings-dialog.cpp b/src/confluence-settings-dialog.cpp
new file mode 100644 (file)
index 0000000..c522418
--- /dev/null
@@ -0,0 +1,101 @@
+#include "confluence-settings-dialog.h"
+
+#include "settings.h"
+
+extern QString confluencePassword;
+extern Settings settings;
+
+ConfluenceSettingsDialog::ConfluenceSettingsDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    QDialog::setWindowTitle("VYM - " +
+                            tr("Confluence settings", "Confluence settings dialog title"));
+
+    ui.urlLineEdit->setText(
+        settings.value("/atlassian/confluence/url", "Confluence base URL").toString());
+
+    bool b;
+    b = settings.value("/atlassian/confluence/authUsingPAT", true).toBool();
+    if (b)
+        ui.usePATCheckBox->setCheckState(Qt::Checked);
+    else
+        ui.usePATCheckBox->setCheckState(Qt::Unchecked);
+    ui.PATLineEdit->setText(
+        settings.value("/atlassian/confluence/PAT", "").toString());
+
+    ui.userLineEdit->setText(
+            settings.value("/atlassian/confluence/username", "Confluence username")
+                    .toString());
+
+    if (!confluencePassword.isEmpty())
+        // password is only in memory, not saved in settings
+        ui.passwordLineEdit->setText(confluencePassword);
+    else
+        ui.passwordLineEdit->setText(
+            settings.value("/atlassian/confluence/password", "").toString());
+
+    b = settings.value("/atlassian/confluence/savePassword", false).toBool();
+    if (b)
+        ui.savePasswordCheckBox->setCheckState(Qt::Checked);
+    else
+        ui.savePasswordCheckBox->setCheckState(Qt::Unchecked);
+
+    connect(ui.usePATCheckBox, SIGNAL(clicked()), this, SLOT(updateAuthenticationFields()));
+    connect(this, &QDialog::accepted, this, &ConfluenceSettingsDialog::updateSettings);
+
+    updateAuthenticationFields();
+}
+
+void ConfluenceSettingsDialog::updateAuthenticationFields()
+{
+    if (ui.usePATCheckBox->isChecked()) {
+        ui.PATLineEdit->show();
+        ui.PATLabel->show();
+        ui.userLabel->hide();
+        ui.userLineEdit->hide();
+        ui.passwordLabel->hide();
+        ui.passwordLineEdit->hide();
+        ui.savePasswordCheckBox->hide();
+    } else {
+        ui.PATLineEdit->hide();
+        ui.PATLabel->hide();
+        ui.userLabel->show();
+        ui.userLineEdit->show();
+        ui.passwordLabel->show();
+        ui.passwordLineEdit->show();
+        ui.savePasswordCheckBox->show();
+    }
+    adjustSize();
+}
+
+void ConfluenceSettingsDialog::updateSettings()
+{
+    settings.remove("confluence");
+
+    settings.beginGroup("/atlassian/confluence");
+    settings.setValue("authUsingPAT", ui.usePATCheckBox->isChecked());
+    settings.setValue("username", ui.userLineEdit->text());
+    if (ui.usePATCheckBox->isChecked()) {
+        // Don't save password if PAT is used
+        settings.remove("savePassword");
+        settings.remove("password");
+        if(!ui.PATLineEdit->text().isEmpty())
+            settings.setValue("PAT", ui.PATLineEdit->text());
+        else
+            settings.remove("PAT");
+    } else {
+        settings.remove("PAT");
+        settings.setValue("savePassword", ui.savePasswordCheckBox->isChecked());
+
+        // Save password only on request persistently in settings
+        if (ui.savePasswordCheckBox->isChecked())
+            settings.setValue("password", ui.passwordLineEdit->text());
+        else
+            settings.remove("password");
+
+        // Save password in memory
+        confluencePassword = ui.passwordLineEdit->text();
+    }
+        
+    settings.endGroup();
+}
diff --git a/src/confluence-settings-dialog.h b/src/confluence-settings-dialog.h
new file mode 100644 (file)
index 0000000..865f030
--- /dev/null
@@ -0,0 +1,20 @@
+#ifndef CONFLUENCE_SETTINGS_DIALOG_H
+#define CONFLUENCE_SETTINGS_DIALOG_H
+
+#include "ui_confluence-settings-dialog.h"
+
+class ConfluenceSettingsDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    ConfluenceSettingsDialog(QWidget *parent = 0);
+
+  public slots:
+    void updateAuthenticationFields();
+    void updateSettings();
+
+  private:
+    Ui::ConfluenceSettingsDialog ui;
+};
+
+#endif // CONFLUENCE_SETTINGS_DIALOG_H
diff --git a/src/confluence-user.cpp b/src/confluence-user.cpp
new file mode 100644 (file)
index 0000000..1ce6ce7
--- /dev/null
@@ -0,0 +1,22 @@
+#include "confluence-user.h"
+
+void ConfluenceUser::copy(const ConfluenceUser &other) {
+    title = other.title;
+    url = other.url;
+    userName = other.userName;
+    displayName = other.displayName;
+    userKey = other.userKey;
+};
+
+void ConfluenceUser::setTitle(const QString &s) {title = s;}
+void ConfluenceUser::setURL(const QString &s) {url = s;}
+void ConfluenceUser::setUserName(const QString &s) {userName = s;}
+void ConfluenceUser::setDisplayName(const QString &s) {displayName = s;}
+void ConfluenceUser::setUserKey(const QString &s) {userKey = s;}
+
+QString ConfluenceUser::getTitle() {return title;}
+QString ConfluenceUser::getURL() {return url;}
+QString ConfluenceUser::getUserName() {return userName;}
+QString ConfluenceUser::getDisplayName() {return displayName;}
+QString ConfluenceUser::getUserKey() {return userKey;}
+
diff --git a/src/confluence-user.h b/src/confluence-user.h
new file mode 100644 (file)
index 0000000..692d479
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef CONFLUENCEUSER_H
+#define CONFLUENCEUSER_H
+
+#include <QMetaType>
+#include <QString>
+
+
+class ConfluenceUser {
+  public:
+    ConfluenceUser() = default;
+    ~ConfluenceUser() = default;
+    ConfluenceUser (const ConfluenceUser &) = default;
+    ConfluenceUser &operator=(const ConfluenceUser &) = default;
+    void copy(const ConfluenceUser &);
+    void setTitle(const QString &s);
+    void setURL(const QString &s);
+    void setUserName(const QString &s);
+    void setDisplayName(const QString &s);
+    void setUserKey(const QString &s);
+
+    QString getTitle();
+    QString getURL();
+    QString getUserName();
+    QString getDisplayName();
+    QString getUserKey();
+
+  private:
+    QString title;
+    QString url;
+    QString userName;
+    QString userKey;
+    QString displayName;
+};
+
+Q_DECLARE_METATYPE(ConfluenceUser);
+
+//! [custom type streaming operator]
+//QDebug operator<<(QDebug dbg, const Message &message);
+
+#endif
diff --git a/src/confluence-userdialog.cpp b/src/confluence-userdialog.cpp
new file mode 100644 (file)
index 0000000..f37288d
--- /dev/null
@@ -0,0 +1,83 @@
+#include "confluence-userdialog.h"
+
+#include <QKeyEvent>
+#include <QRegExp>
+
+#include "confluence-agent.h"
+#include "confluence-user.h"
+
+ConfluenceUserDialog::ConfluenceUserDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    QDialog::setWindowTitle("VYM - " +
+                            tr("Find Confluence user", "dialog window title"));
+
+    connect(ui.lineEdit, SIGNAL(textChanged(const QString &)), this,
+            SLOT(lineEditChanged()));
+
+    connect(ui.buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
+    connect(ui.buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+    connect(ui.userListWidget, SIGNAL(itemPressed(QListWidgetItem *)), this,
+            SLOT(itemSelected(QListWidgetItem *)));
+
+    currentRow = -1;
+}
+
+void ConfluenceUserDialog::keyPressEvent(QKeyEvent *e)
+{
+    if (ui.lineEdit->hasFocus() && e->key() == Qt::Key_Down) 
+    {
+        ui.userListWidget->setCurrentRow(0, QItemSelectionModel::Select);
+        ui.userListWidget->setFocus();
+    } else if (e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter)
+        accept();
+    else
+        QDialog::keyPressEvent(e);
+}
+
+int ConfluenceUserDialog::exec()
+{
+    int result = QDialog::exec();
+
+    if (userList.length() == 0) result = QDialog::Rejected;
+
+    return result;
+}
+
+ConfluenceUser ConfluenceUserDialog::getSelectedUser()
+{
+    if (ui.userListWidget->count() > 0 && ui.userListWidget->currentRow() < ui.userListWidget->count() &&
+        ui.userListWidget->currentRow() > -1)
+        return userList.at(ui.userListWidget->currentRow());
+    else
+        return ConfluenceUser();
+}
+
+void ConfluenceUserDialog::lineEditChanged()
+{
+    if (ui.lineEdit->text().length() > 3) {
+        ConfluenceAgent *agent = new ConfluenceAgent;
+        bool b = connect(agent, &ConfluenceAgent::foundUsers, this, &ConfluenceUserDialog::updateResultsList);
+
+        agent->getUsers(ui.lineEdit->text());
+    }
+}
+
+void ConfluenceUserDialog::itemSelected(QListWidgetItem *item)
+{
+    currentRow = ui.userListWidget->row(item);
+    accept();
+}
+
+void ConfluenceUserDialog::updateResultsList(QList <ConfluenceUser> results)
+{
+    ui.userListWidget->clear();
+    userList.clear();
+    currentRow = -1;
+
+    foreach (ConfluenceUser u, results) {
+        //qDebug() << u.getTitle() << u.getDisplayName() << u.getUserName(); 
+        userList << u;
+        new QListWidgetItem(u.getDisplayName() + " (" + u.getUserName() + ")", ui.userListWidget);
+    }
+}
diff --git a/src/confluence-userdialog.h b/src/confluence-userdialog.h
new file mode 100644 (file)
index 0000000..de52f0b
--- /dev/null
@@ -0,0 +1,34 @@
+#ifndef CONFLUENCEUSERDIALOG_H
+#define CONFLUENCEUSERDIALOG_H
+
+#include "ui_confluence-userdialog.h"
+
+#include <QStringList>
+
+class ConfluenceUser;
+class ConfluenceAgent;
+class QKeyEvent;
+
+class ConfluenceUserDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    ConfluenceUserDialog(QWidget *parent = 0);
+    void keyPressEvent(QKeyEvent *);
+    int exec();
+    ConfluenceUser getSelectedUser();
+
+  public slots:
+    void lineEditChanged();
+    void itemSelected(QListWidgetItem *);
+    void updateResultsList(QList <ConfluenceUser>);
+
+  private:
+    void init();
+    Ui::ConfluenceUserDialog ui;
+
+    QList <ConfluenceUser> userList;
+    int currentRow;
+};
+
+#endif // USERDIALOG_H
diff --git a/src/darktheme-settings-dialog.cpp b/src/darktheme-settings-dialog.cpp
new file mode 100644 (file)
index 0000000..3ef0b13
--- /dev/null
@@ -0,0 +1,15 @@
+#include "darktheme-settings-dialog.h"
+
+#include <QDebug>
+
+#include "settings.h"
+
+extern Settings settings;
+
+DarkThemeSettingsDialog::DarkThemeSettingsDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    QDialog::setWindowTitle("VYM - " +
+                            tr("DarkThemeSettingsDialog dialog", "dialog window title"));
+
+}
diff --git a/src/darktheme-settings-dialog.h b/src/darktheme-settings-dialog.h
new file mode 100644 (file)
index 0000000..f02e163
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef DARKTHEME_SETTINGS_DIALOG_H
+#define DARKTHEME_SETTINGS_DIALOG_H
+
+#include "ui_darktheme-settings-dialog.h"
+
+class DarkThemeSettingsDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    DarkThemeSettingsDialog(QWidget *parent = 0);
+    Ui::DarkThemeSettingsDialog ui;
+};
+
+#endif // DARKTHEME_SETTINGS_DIALOG_H
diff --git a/src/dbus/adaptormodel.cpp b/src/dbus/adaptormodel.cpp
new file mode 100644 (file)
index 0000000..fe39a47
--- /dev/null
@@ -0,0 +1,65 @@
+#include "adaptormodel.h"
+#include <QtCore/QMetaObject>
+#include <QtCore/QString>
+#include <QtCore/QVariant>
+
+#include "branchitem.h"
+#include "command.h"
+#include "mainwindow.h"
+#include "vymmodel.h"
+
+extern QString vymInstanceName;
+extern Main *mainWindow;
+
+extern QList<Command *> modelCommands;
+
+AdaptorModel::AdaptorModel(QObject *obj) : QDBusAbstractAdaptor(obj)
+{
+    model = static_cast<VymModel *>(obj);
+    setAutoRelaySignals(true);
+}
+
+void AdaptorModel::setModel(VymModel *vm) { model = vm; }
+
+QString AdaptorModel::caption() { return m_caption; }
+
+void AdaptorModel::setCaption(const QString &newCaption)
+{
+    m_caption = newCaption;
+}
+
+QDBusVariant AdaptorModel::branchCount()
+{
+    BranchItem *selbi = model->getSelectedBranch();
+    if (selbi)
+        return QDBusVariant(selbi->branchCount());
+    else
+        return QDBusVariant(-1);
+}
+
+QDBusVariant AdaptorModel::execute(const QString &s)
+{
+    return QDBusVariant(model->execute(s));
+}
+
+QDBusVariant AdaptorModel::errorLevel()
+{
+    return QDBusVariant(); // model->parser.errorLevel() );     // FIXME-4
+                           // really still needed? parser no longer used.
+}
+
+QDBusVariant AdaptorModel::errorDescription()
+{
+    return QDBusVariant(); // model->parser.errorDescription() );// FIXME-4
+                           // really still needed? parser no longer used.
+}
+
+QDBusVariant AdaptorModel::listCommands()
+{
+    QStringList list;
+
+    foreach (Command *command, modelCommands)
+        list << command->getName();
+
+    return QDBusVariant(list.join(","));
+}
diff --git a/src/dbus/adaptormodel.h b/src/dbus/adaptormodel.h
new file mode 100644 (file)
index 0000000..afb5e79
--- /dev/null
@@ -0,0 +1,37 @@
+#ifndef ADAPTORModel_H
+#define ADAPTORModel_H
+
+#include <QtCore/QObject>
+#include <QtDBus/QtDBus>
+
+class VymModel;
+class QString;
+
+class AdaptorModel : public QDBusAbstractAdaptor {
+    Q_OBJECT
+    Q_CLASSINFO("D-Bus Interface", "org.insilmaril.vym.model.adaptor")
+
+  private:
+    VymModel *model;
+
+  public:
+    AdaptorModel(QObject *obj);
+    void setModel(VymModel *vm);
+
+  public: // PROPERTIES
+    QString m_caption;
+    QString caption();
+    void setCaption(const QString &newCaption);
+
+  public slots: // METHODS
+    QDBusVariant branchCount();
+    QDBusVariant execute(const QString &s);
+    QDBusVariant errorLevel();
+    QDBusVariant errorDescription();
+    QDBusVariant listCommands();
+
+  Q_SIGNALS: // SIGNALS
+    void crashed();
+};
+
+#endif
diff --git a/src/dbus/adaptorvym.cpp b/src/dbus/adaptorvym.cpp
new file mode 100644 (file)
index 0000000..d5d2aa8
--- /dev/null
@@ -0,0 +1,52 @@
+#include <QtCore/QMetaObject>
+#include <QtCore/QString>
+#include <QtCore/QVariant>
+
+#include "adaptorvym.h"
+#include "command.h"
+#include "mainwindow.h"
+
+extern QString vymInstanceName;
+extern QString vymVersion;
+extern Main *mainWindow;
+
+extern QList<Command *> vymCommands;
+
+AdaptorVym::AdaptorVym(QObject *obj) : QDBusAbstractAdaptor(obj)
+{
+    setAutoRelaySignals(true);
+}
+
+QDBusVariant AdaptorVym::mapCount()
+{
+    return QDBusVariant(mainWindow->modelCount());
+}
+
+void AdaptorVym::gotoMapID(const uint &id) { mainWindow->gotoModelWithID(id); }
+
+QDBusVariant AdaptorVym::getInstanceName()
+{
+    return QDBusVariant(vymInstanceName);
+}
+
+QDBusVariant AdaptorVym::getVersion() { return QDBusVariant(vymVersion); }
+
+QDBusVariant AdaptorVym::execute(const QString &s)
+{
+    return QDBusVariant(mainWindow->runScript(s));
+}
+
+QDBusVariant AdaptorVym::listCommands()
+{
+    QStringList list;
+
+    foreach (Command *command, vymCommands)
+        list << command->getName();
+
+    return QDBusVariant(list.join(","));
+}
+
+QDBusVariant AdaptorVym::currentMapID()
+{
+    return QDBusVariant(mainWindow->currentMapID());
+}
diff --git a/src/dbus/adaptorvym.h b/src/dbus/adaptorvym.h
new file mode 100644 (file)
index 0000000..6614b79
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef ADAPTORVYM_H
+#define ADAPTORVYM_H
+
+#include <QtCore/QObject>
+#include <QtDBus/QtDBus>
+
+class MainWindow;
+
+class AdaptorVym : public QDBusAbstractAdaptor {
+    Q_OBJECT
+    Q_CLASSINFO("D-Bus Interface", "org.insilmaril.vym.main.adaptor")
+
+  public:
+    AdaptorVym(QObject *obj);
+
+  public slots: // METHODS
+    QDBusVariant mapCount();
+    void gotoMapID(const uint &id);
+    QDBusVariant getInstanceName();
+    QDBusVariant getVersion();
+    QDBusVariant execute(const QString &s);
+    QDBusVariant listCommands();
+    QDBusVariant currentMapID();
+
+  Q_SIGNALS: // SIGNALS
+    void crashed();
+};
+
+#endif
diff --git a/src/debuginfo.cpp b/src/debuginfo.cpp
new file mode 100644 (file)
index 0000000..a320557
--- /dev/null
@@ -0,0 +1,76 @@
+#include "debuginfo.h"
+
+#include <QCoreApplication>
+#include <QDir>
+#include <QProcessEnvironment>
+#include <QSslSocket>
+#include <QString>
+#include <QStyleFactory>
+#include <QTranslator>
+
+#include "settings.h"
+
+extern bool usingDarkTheme;
+extern QString vymVersion;
+
+extern QString vymVersion;
+extern QString vymPlatform;
+extern QString vymCodeQuality;
+extern QString vymCodeName;
+extern QString vymBuildDate;
+
+extern Settings settings;
+
+extern QString localeName;
+
+extern QDir vymBaseDir;
+extern QDir tmpVymDir;          // All temp files go there, created in mainwindow
+extern QDir vymTranslationsDir;
+extern QTranslator vymTranslator;
+
+extern QString zipToolPath;
+
+QString debugInfo()
+{
+    QString s;
+    s =  QString("vym version: %1 - %2 - %3 %4\n")
+            .arg(vymVersion)
+            .arg(vymBuildDate)
+            .arg(vymCodeQuality)
+            .arg(vymCodeName);
+    s += QString("     Platform: %1\n").arg(vymPlatform);
+    s += QString("    tmpVymDir: %1\n").arg(tmpVymDir.path());
+    s += QString("  zipToolPath: %1\n").arg(zipToolPath);
+    s += QString("   vymBaseDir: %1\n").arg(vymBaseDir.path());
+    s += QString("  currentPath: %1\n").arg(QDir::currentPath());
+    s += QString("   appDirPath: %1\n")
+            .arg(QCoreApplication::applicationDirPath());
+    s += QString("     Settings: %1\n\n").arg(settings.fileName());
+    s += QString("   Dark theme: %1\n").arg(usingDarkTheme);
+    s += QString("Avail. styles: %1\n\n").arg(QStyleFactory::keys().join(","));
+    s += " SSL status: ";
+    QSslSocket::supportsSsl() ? s += "supported\n" : s += "not supported\n";
+    s += "     SSL Qt: " + QSslSocket::sslLibraryBuildVersionString() + "\n";
+    s += "    SSL lib: " + QSslSocket::sslLibraryVersionString() + "\n";
+
+    // Info about translations
+    QStringList translations;
+    if(vymTranslationsDir.exists())
+        translations = vymTranslationsDir.entryList();
+    s += "\n";
+    s += QString("       Translator path: %1\n").arg(vymTranslator.filePath());
+    s += QString("       Translator lang: %1\n").arg(vymTranslator.language());
+    s += QString("            localeName: %1\n").arg(localeName);
+    s += QString("                system: %1\n").arg(QLocale::system().name());
+    s += QString("              language: %1\n").arg(QLocale::languageToString(QLocale::system().language()));
+    s += QString("               country: %1\n").arg(QLocale::countryToString(QLocale::system().country()));
+    s += QString("           uiLanguages: %1\n").arg(QLocale::system().uiLanguages().join(","));
+    s += QString("                  LANG: %1\n")
+        .arg(QProcessEnvironment::systemEnvironment().value("LANG", "not set."));
+    s += QString("       Translations in: %1\n").arg(vymTranslationsDir.path());
+    s += QString("Available translations: %1\n").arg(translations.count());
+    foreach (QString qm_file, translations)
+        s += QString("                        %1\n").arg(qm_file);
+
+    return s;
+}
diff --git a/src/debuginfo.h b/src/debuginfo.h
new file mode 100644 (file)
index 0000000..0226aaf
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef DEBUGINFO_H
+#define DEBUGINFO_H
+
+
+class QString;
+
+QString debugInfo();
+#endif
diff --git a/src/default-map-settings-dialog.cpp b/src/default-map-settings-dialog.cpp
new file mode 100644 (file)
index 0000000..f5c80c7
--- /dev/null
@@ -0,0 +1,74 @@
+#include "default-map-settings-dialog.h"
+
+#include <QFileDialog>
+
+#include "mainwindow.h"
+
+extern Settings settings;
+extern Main *mainWindow;
+extern QString vymName;
+
+DefaultMapSettingsDialog::DefaultMapSettingsDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+
+    initInputs();
+
+    connect(ui.autoCheckBox, SIGNAL(clicked()), this, SLOT(autoToggled()));
+    connect(ui.setPathPushButton, SIGNAL(clicked()), this, SLOT(setPathClicked()));
+    connect(this, &QDialog::accepted, this, &DefaultMapSettingsDialog::updateSettings);
+}
+
+void DefaultMapSettingsDialog::initInputs()
+{
+    if (settings.value("/system/defaultMap/auto", true).toBool()) {
+        ui.autoCheckBox->setCheckState(Qt::Checked);
+        ui.pathLineEdit->setText(mainWindow->defaultMapPath());
+        ui.pathLineEdit->setEnabled(false);
+        ui.setPathPushButton->setEnabled(false);
+    } else {
+        ui.autoCheckBox->setCheckState(Qt::Unchecked);
+        ui.pathLineEdit->setText(
+            settings.value("/system/defaultMap/path", mainWindow->newMapPath()).toString());
+        ui.pathLineEdit->setEnabled(true);
+        ui.setPathPushButton->setEnabled(true);
+    }
+}
+
+void DefaultMapSettingsDialog::autoToggled()
+{
+    if (ui.autoCheckBox->isChecked())
+        settings.setValue("/system/defaultMap/auto", true);
+    else
+        settings.setValue("/system/defaultMap/auto", false);
+
+    initInputs();
+}
+
+void DefaultMapSettingsDialog::setPathClicked()
+{
+    QStringList filters;
+    filters << "VYM defaults map (*.vym)";
+    QFileDialog fd;
+    fd.setDirectory(dirname(mainWindow->defaultMapPath()));
+    fd.selectFile(basename(mainWindow->defaultMapPath()));
+    fd.setFileMode(QFileDialog::ExistingFile);
+    fd.setNameFilters(filters);
+    fd.setWindowTitle(vymName + " - " +
+                      tr("Set vym default map to be loaded on startup"));
+    fd.setAcceptMode(QFileDialog::AcceptOpen);
+
+    QString fn;
+    if (fd.exec() == QDialog::Accepted) {
+        settings.setValue("/system/defaultMap/path", fd.selectedFiles().first());
+        initInputs();
+    }
+}
+
+void DefaultMapSettingsDialog::updateSettings()
+{
+    settings.beginGroup("/system/defaultMap");
+    settings.setValue("auto", ui.autoCheckBox->isChecked());
+    settings.setValue("path", ui.pathLineEdit->text());
+    settings.endGroup();
+}
diff --git a/src/default-map-settings-dialog.h b/src/default-map-settings-dialog.h
new file mode 100644 (file)
index 0000000..c2c89cf
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef DEFAULTMAPSETTINGS_H
+#define DEFAULTMAPSETTINGS_H
+
+#include "ui_default-map-settings-dialog.h"
+
+class DefaultMapSettingsDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    DefaultMapSettingsDialog(QWidget *parent = 0);
+
+  private:  
+    void initInputs();
+
+  public slots:
+    void autoToggled();
+    void setPathClicked();
+    void updateSettings();
+
+  private:
+    Ui::DefaultMapSettingsDialog ui;
+};
+
+#endif // DEFAULTMAPSETTINGS
diff --git a/src/dockeditor.cpp b/src/dockeditor.cpp
new file mode 100644 (file)
index 0000000..1ee271f
--- /dev/null
@@ -0,0 +1,26 @@
+#include "dockeditor.h"
+
+#include "vymmodel.h"
+
+DockEditor::DockEditor() { init(); }
+DockEditor::DockEditor(QString title, QWidget *p, VymModel *m)
+    : QDockWidget(title, p)
+{
+    editorTitle = title;
+    model = m;
+    init();
+}
+
+void DockEditor::init()
+{
+    connect(this, SIGNAL(topLevelChanged(bool)), this,
+            SLOT(changeTopLevel(bool)));
+}
+
+void DockEditor::changeTopLevel(bool topLevel)
+{
+    if (topLevel && model)
+        setWindowTitle(editorTitle + ": " + model->getFileName());
+    else
+        setWindowTitle(editorTitle);
+}
diff --git a/src/dockeditor.h b/src/dockeditor.h
new file mode 100644 (file)
index 0000000..d802721
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef DOCKEDITOR_H
+#define DOCKEDITOR_H
+
+#include <QDockWidget>
+
+class VymModel;
+
+class DockEditor : public QDockWidget {
+    Q_OBJECT
+  public:
+    DockEditor();
+    DockEditor(QString title, QWidget *p = 0, VymModel *m = 0);
+    void init();
+
+  public slots:
+    void changeTopLevel(bool topLevel);
+
+  private:
+    QString editorTitle;
+    VymModel *model;
+};
+
+#endif
diff --git a/src/download-agent.cpp b/src/download-agent.cpp
new file mode 100644 (file)
index 0000000..214725d
--- /dev/null
@@ -0,0 +1,206 @@
+#include <QCoreApplication>
+#include <QDebug>
+#include <QFile>
+#include <QFileInfo>
+#include <QList>
+#include <QMessageBox>
+#include <QNetworkAccessManager>
+#include <QNetworkReply>
+#include <QNetworkRequest>
+#include <QSslError>
+#include <QStringList>
+#include <QTimer>
+#include <QUrl>
+
+#include <stdio.h>
+
+QT_BEGIN_NAMESPACE
+class QSslError;
+QT_END_NAMESPACE
+
+QT_USE_NAMESPACE
+
+#include "download-agent.h"
+#include "mainwindow.h"
+#include "settings.h"
+#include "vymmodel.h"
+
+extern Main *mainWindow;
+extern QString vymVersion;
+extern QString vymPlatform;
+extern QDir tmpVymDir;
+extern Settings settings;
+extern bool debug;
+
+DownloadAgent::DownloadAgent(const QUrl &u)
+{
+    // qDebug() << "Constr. DownloadAgent: " << u.toString();
+    tmpFilePath = "";
+
+    finishedScriptModelID = 0;
+    url = u;
+    connect(&agent, SIGNAL(finished(QNetworkReply *)),
+            SLOT(requestFinished(QNetworkReply *)));
+
+    userAgent =
+        QString("vym %1 ( %2)").arg(vymVersion).arg(vymPlatform).toUtf8();
+}
+
+DownloadAgent::~DownloadAgent()
+{
+    // qDebug() << "Destr. DownloadAgent";
+    // qDebug() << getFinishedScript();
+}
+
+QString DownloadAgent::getDestination() { return tmpFilePath; }
+
+bool DownloadAgent::isSuccess() { return success; }
+
+QString DownloadAgent::getResultMessage() { return resultMessage; }
+
+void DownloadAgent::setFinishedAction(VymModel *m, const QString &script)
+{
+    finishedScriptModelID = m->getModelID();
+    finishedScript = script;
+}
+
+uint DownloadAgent::getFinishedScriptModelID() { return finishedScriptModelID; }
+
+QString DownloadAgent::getFinishedScript() { return finishedScript; }
+
+void DownloadAgent::setUserAgent(const QString &s)
+{
+    userAgent = s.toLocal8Bit();
+}
+
+void DownloadAgent::doDownload(const QUrl &url)
+{
+    QNetworkRequest request(url);
+    if (!userAgent.isEmpty())
+        request.setRawHeader("User-Agent", userAgent);
+
+    // Only send cookies if talking to my own domain
+    bool useCookies = false;
+    if (url.host().contains("insilmaril.de"))
+        useCookies = true;
+
+    if (useCookies) {
+        if (debug)
+            qDebug() << "DownloadAgent::doDownload  Using cookies to download "
+                     << url.toString();
+        QByteArray idCookieValue =
+            settings.value("/downloads/cookies/vymID/value", QByteArray())
+                .toByteArray();
+        // idCookieValue = QVariant("2000000002601").toByteArray(); //TESTING!!!
+        // qDebug()<<"idCookie="<<idCookieValue;
+        if (idCookieValue.size() != 0) {
+            QNetworkCookie idCookie;
+            QDate expDate(2099, 1, 1);
+
+            idCookie.setPath("/");
+            idCookie.setDomain("www.insilmaril.de");
+            idCookie.setName("vymID");
+            idCookie.setValue(idCookieValue);
+            idCookie.setExpirationDate( expDate.startOfDay() );
+            agent.cookieJar()->insertCookie(idCookie);
+
+            QNetworkCookie platformCookie;
+            platformCookie.setPath("/");
+            platformCookie.setDomain("www.insilmaril.de");
+            platformCookie.setName("vymPlatform");
+            platformCookie.setValue(QVariant(vymPlatform).toByteArray());
+            platformCookie.setExpirationDate( expDate.startOfDay());
+            agent.cookieJar()->insertCookie(platformCookie);
+        }
+    }
+
+    QNetworkReply *reply = agent.get(request);
+    connect(reply, SIGNAL(sslErrors(QList<QSslError>)),
+            SLOT(sslErrors(QList<QSslError>)));
+
+    currentDownloads.append(reply);
+}
+
+bool DownloadAgent::saveToDisk(const QString &filename, const QByteArray &data)
+{
+    QFile file(filename);
+    if (!file.open(QIODevice::WriteOnly)) {
+        fprintf(stderr, "Could not open %s for writing: %s\n",
+                qPrintable(filename), qPrintable(file.errorString()));
+        return false;
+    }
+
+    file.write(data);
+    file.close();
+
+    return true;
+}
+
+void DownloadAgent::execute() { doDownload(url); }
+
+void DownloadAgent::sslErrors(const QList<QSslError> &sslErrors)
+{
+#ifndef QT_NO_OPENSSL
+    foreach (const QSslError &error, sslErrors)
+        fprintf(stderr, "SSL error: %s\n", qPrintable(error.errorString()));
+#endif
+}
+
+void DownloadAgent::requestFinished(QNetworkReply *reply)
+{
+    QUrl url = reply->url();
+    if (reply->error()) {
+        success = false;
+        resultMessage = reply->errorString();
+        emit(downloadFinished());
+    }
+    else {
+        success = true;
+
+        if (debug)
+            qDebug() << "\n* DownloadAgent::reqFinished: ";
+        QList<QNetworkCookie> cookies =
+            reply->manager()->cookieJar()->cookiesForUrl(url);
+        foreach (QNetworkCookie c, cookies) {
+            if (debug) {
+                qDebug() << "           url: " << url.toString();
+                qDebug() << "   cookie name: " << c.name();
+                qDebug() << "   cookie path: " << c.path();
+                qDebug() << "  cookie value: " << c.value();
+                qDebug() << " cookie domain: " << c.domain();
+                qDebug() << " cookie exdate: "
+                         << c.expirationDate().toLocalTime().toString();
+            }
+
+            if (c.name() == "vymID") {
+                settings.setValue("/downloads/cookies/vymID/value", c.value());
+                // settings.setValue( "/downloads/cookies/vymID/expires",
+                // c.expirationDate());
+            }
+        }
+
+        QByteArray data = reply->readAll();
+        QTemporaryFile tmpFile(tmpVymDir.path() + "/download-XXXXXX");
+        tmpFile.setAutoRemove(
+            false); // tmpFile is within tmpDir, removed automatically later
+
+        if (!tmpFile.open())
+            QMessageBox::warning(0, tr("Warning"),
+                                 "Couldn't open tmpFile " + tmpFile.fileName());
+        else {
+            if (!saveToDisk(tmpFile.fileName(), data))
+                QMessageBox::warning(0, tr("Warning"),
+                                     "Couldn't write to " + tmpFile.fileName());
+            else {
+                tmpFilePath = tmpFile.fileName();
+                resultMessage = QString("saved to %1").arg(tmpFile.fileName());
+            }
+        }
+        if (debug)
+            qDebug() << "DownloadAgent:  resultMessage  = " << resultMessage;
+        emit(downloadFinished());
+    }
+
+    currentDownloads.removeAll(reply);
+    reply->deleteLater();
+}
diff --git a/src/download-agent.h b/src/download-agent.h
new file mode 100644 (file)
index 0000000..bb29b2b
--- /dev/null
@@ -0,0 +1,60 @@
+#include <QCoreApplication>
+#include <QFile>
+#include <QFileInfo>
+#include <QList>
+#include <QNetworkAccessManager>
+#include <QNetworkReply>
+#include <QNetworkRequest>
+#include <QSslError>
+#include <QStringList>
+#include <QTemporaryFile>
+#include <QTimer>
+#include <QUrl>
+
+#include <stdio.h>
+
+QT_BEGIN_NAMESPACE
+class QSslError;
+QT_END_NAMESPACE
+
+QT_USE_NAMESPACE
+
+class VymModel;
+
+class DownloadAgent : public QObject {
+    Q_OBJECT
+    QNetworkAccessManager agent;
+    QList<QNetworkReply *> currentDownloads;
+
+  public:
+    DownloadAgent(const QUrl &u);
+    ~DownloadAgent();
+    QString getDestination();
+    void setFinishedAction(VymModel *m, const QString &script);
+    QString getFinishedScript();
+    uint getFinishedScriptModelID();
+    void setUserAgent(const QString &s);
+    bool isSuccess();
+    QString getResultMessage();
+    void doDownload(const QUrl &url);
+    bool saveToDisk(const QString &filename, const QByteArray &data);
+
+  public slots:
+    void execute();
+    void requestFinished(QNetworkReply *reply);
+    void sslErrors(const QList<QSslError> &errors);
+
+  signals:
+    void downloadFinished();
+
+  private:
+    QString tmpFilePath;
+    QByteArray userAgent;
+    QUrl url;
+
+    bool success;
+    QString resultMessage;
+
+    QString finishedScript;
+    uint finishedScriptModelID;
+};
diff --git a/src/editxlinkdialog.cpp b/src/editxlinkdialog.cpp
new file mode 100644 (file)
index 0000000..f96a85f
--- /dev/null
@@ -0,0 +1,153 @@
+#include "editxlinkdialog.h"
+
+#include <QColorDialog>
+#include <typeinfo>
+
+#include "branchitem.h"
+#include "vymmodel.h"
+#include "xlinkobj.h"
+
+EditXLinkDialog::EditXLinkDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+
+    delink = false;
+    link = NULL;
+
+    ui.lineStyleCombo->addItem(QIcon("://linestyle-solid.png"), "Solid line",
+                               0);
+    ui.lineStyleCombo->addItem(QIcon("://linestyle-dash.png"), "Dash line", 1);
+    ui.lineStyleCombo->addItem(QIcon("://linestyle-dot.png"), "Dot line", 2);
+    ui.lineStyleCombo->addItem(QIcon("://linestyle-dashdot.png"),
+                               "Dash Dot line", 3);
+    ui.lineStyleCombo->addItem(QIcon("://linestyle-dashdotdot.png"),
+                               "Dash Dot Dot line", 4);
+    connect(ui.widthBox, SIGNAL(valueChanged(int)), this,
+            SLOT(widthChanged(int)));
+    connect(ui.colorButton, SIGNAL(clicked()), this,
+            SLOT(colorButtonPressed()));
+    connect(ui.lineStyleCombo, SIGNAL(currentIndexChanged(int)), this,
+            SLOT(lineStyleChanged(int)));
+    connect(ui.checkBoxArrowBegin, SIGNAL(stateChanged(int)), this,
+            SLOT(beginStyleChanged(int)));
+    connect(ui.checkBoxArrowEnd, SIGNAL(stateChanged(int)), this,
+            SLOT(endStyleChanged(int)));
+    // FIXME-4 connect ( ui.setColorHeadingButton, SIGNAL (clicked( )), this,
+    // SLOT (setColorHeadingButtonPressed()));
+    ui.setColorHeadingButton->hide();
+}
+
+void EditXLinkDialog::widthChanged(int w)
+{
+    link->getModel()->setXLinkWidth(w);
+}
+
+void EditXLinkDialog::setLink(Link *l)
+{
+    link = l;
+    QPen pen = link->getPen();
+    colorChanged(pen.color());
+    ui.widthBox->setValue(pen.width());
+    switch (pen.style()) {
+    case Qt::DashLine:
+        ui.lineStyleCombo->setCurrentIndex(1);
+        break;
+    case Qt::DotLine:
+        ui.lineStyleCombo->setCurrentIndex(2);
+        break;
+    case Qt::DashDotLine:
+        ui.lineStyleCombo->setCurrentIndex(3);
+        break;
+    case Qt::DashDotDotLine:
+        ui.lineStyleCombo->setCurrentIndex(4);
+        break;
+    default:
+        ui.lineStyleCombo->setCurrentIndex(0);
+    }
+    if (link->getXLinkObj()->getStyleEnd())
+        ui.checkBoxArrowEnd->setChecked(true);
+    else
+        ui.checkBoxArrowEnd->setChecked(false);
+    if (link->getXLinkObj()->getStyleBegin())
+        ui.checkBoxArrowBegin->setChecked(true);
+    else
+        ui.checkBoxArrowBegin->setChecked(false);
+}
+
+void EditXLinkDialog::colorButtonPressed()
+{
+    if (link) {
+        QPen pen = link->getPen();
+        QColor col = QColorDialog::getColor(pen.color(), this);
+        if (!col.isValid())
+            return;
+        link->getModel()->setXLinkColor(col.name());
+    }
+}
+
+void EditXLinkDialog::colorChanged(QColor c)
+{
+
+    QPixmap pix(16, 16);
+    pix.fill(c);
+    ui.colorButton->setIcon(pix);
+}
+
+void EditXLinkDialog::setColorHeadingButtonPressed() // FIXME-4 not implemented
+                                                     // yet
+{
+    if (link) {
+    }
+}
+
+void EditXLinkDialog::lineStyleChanged(int i)
+{
+    if (link) {
+        QString style;
+        switch (i) {
+        case 0:
+            style = "Qt::SolidLine";
+            break;
+        case 1:
+            style = "Qt::DashLine";
+            break;
+        case 2:
+            style = "Qt::DotLine";
+            break;
+        case 3:
+            style = "Qt::DashDotLine";
+            break;
+        case 4:
+            style = "Qt::DashDotDotLine";
+            break;
+        default:
+            style = "Qt::NoPen";
+        }
+        link->getModel()->setXLinkStyle(style);
+    }
+}
+
+void EditXLinkDialog::beginStyleChanged(int state)
+{
+    if (link) {
+        if (state)
+            link->getModel()->setXLinkStyleBegin("HeadFull");
+        else
+            link->getModel()->setXLinkStyleBegin("None");
+    }
+}
+
+void EditXLinkDialog::endStyleChanged(int state)
+{
+    if (link) {
+        if (state)
+            link->getModel()->setXLinkStyleEnd("HeadFull");
+        else
+            link->getModel()->setXLinkStyleEnd("None");
+    }
+}
+
+bool EditXLinkDialog::useSettingsGlobal()
+{
+    return ui.useSettings->isChecked();
+}
diff --git a/src/editxlinkdialog.h b/src/editxlinkdialog.h
new file mode 100644 (file)
index 0000000..b660cb5
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef EDITXLINKDIALOG_H
+#define EDITXLINKDIALOG_H
+
+#include "ui_editxlinkdialog.h"
+
+/*! \brief Dialog to edit or delete XLinks
+
+Using xLinks one can link one branch to any other, just like attaching a rope
+between two branches in a real tree. This is especially useful in complex maps,
+where you want to have crossreferences which don't fit on the same visible area
+*/
+
+class BranchItem;
+
+class EditXLinkDialog : public QDialog {
+    Q_OBJECT
+  public:
+    EditXLinkDialog(QWidget *parent = 0);
+    void setLink(Link *);
+    bool useSettingsGlobal();
+
+  private slots:
+    void widthChanged(int);
+    void colorButtonPressed();
+    void colorChanged(QColor c);
+    void setColorHeadingButtonPressed();
+    void lineStyleChanged(int);
+    void beginStyleChanged(int);
+    void endStyleChanged(int);
+
+  private:
+    void emitChanged();
+
+    Ui::EditXLinkDialog ui;
+    bool delink;
+    Link *link;
+};
+
+#endif // EDITXLINKDIALOG_H
diff --git a/src/export-ao.cpp b/src/export-ao.cpp
new file mode 100644 (file)
index 0000000..96cc0f3
--- /dev/null
@@ -0,0 +1,171 @@
+#include <QMessageBox>
+
+#include "export-ao.h"
+#include "mainwindow.h"
+
+extern QString vymName;
+extern Main *mainWindow;
+extern Settings settings;
+
+ExportAO::ExportAO()
+{
+    exportName = "AO";
+    filter = "TXT (*.txt);;All (* *.*)";
+    caption = vymName + " -" + QObject::tr("Export as AO report") + " " +
+              QObject::tr("(still experimental)");
+    indentPerDepth = "   ";
+    bulletPoints.clear();
+    for (int i = 0; i < 10; i++)
+        bulletPoints << "-";
+}
+
+void ExportAO::doExport()
+{
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not export as AO to %1").arg(filePath));
+        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
+        return;
+    }
+
+    settings.setLocalValue(model->getFilePath(), "/export/last/command",
+                           "exportAO");
+    settings.setLocalValue(model->getFilePath(), "/export/last/description",
+                           "A&O report");
+
+    QString out;
+
+    // Main loop over all branches
+    QString s;
+    QString curIndent;
+    QString dashIndent;
+
+    int i;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+
+    model->nextBranch(cur, prev);
+    while (cur) {
+        QString line;
+        QString colString = "";
+        QString noColString;
+        QString statusString = "";
+        QColor col;
+
+        if (cur->getType() == TreeItem::Branch ||
+            cur->getType() == TreeItem::MapCenter) {
+            // Make indentstring
+            curIndent = indent(cur->depth() - 4, true);
+
+            if (!cur->hasHiddenExportParent()) {
+                col = cur->getHeadingColor();
+                if (col == QColor(255, 0, 0))
+                    colString = "[R] ";
+                else if (col == QColor(217, 81, 0))
+                    colString = "[O] ";
+                else if (col == QColor(0, 85, 0))
+                    colString = "[G] ";
+                else if (cur->depth() == 4)
+                    colString = " *  ";
+                else
+                    colString = "    ";
+
+                noColString = QString(" ").repeated(colString.length());
+
+                dashIndent = "";
+                switch (cur->depth()) {
+                case 0:
+                    break; // Mapcenter (Ignored)
+                case 1:
+                    break; // Mainbranch "Archive" (Ignored)
+                case 2:    // Title: "Current week number..."
+                    out += "\n";
+                    out += underline(cur->getHeadingPlain(), QString("="));
+                    out += "\n";
+                    break;
+                case 3: // Headings: "Achievement", "Bonus", "Objective", ...
+                    out += "\n";
+                    out += underline(cur->getHeadingPlain(), "-");
+                    out += "\n";
+                    break;
+                default: // depth 4 and higher are the items we need to know
+                    Task *task = cur->getTask();
+                    if (task) {
+                        // Task status overrides other flags
+                        switch (task->getStatus()) {
+                        case Task::NotStarted:
+                            statusString = "[NOT STARTED]";
+                            break;
+                        case Task::WIP:
+                            statusString = "[WIP]";
+                            break;
+                        case Task::Finished:
+                            statusString = "[DONE]";
+                            break;
+                        }
+                    }
+                    else {
+                        if (cur->hasActiveFlag("hook-green"))
+                            statusString = "[DONE]";
+                        else if (cur->hasActiveFlag("wip"))
+                            statusString = "[WIP]";
+                        else if (cur->hasActiveFlag("cross-red"))
+                            statusString = "[NOT STARTED]";
+                    }
+
+                    line += colString;
+                    line += curIndent;
+                    if (cur->depth() > 3)
+                        line += cur->getHeadingPlain();
+
+                    // Pad line width before status
+                    i = 80 - line.length() - statusString.length() - 1;
+                    for (int j = 0; j < i; j++)
+                        line += " ";
+                    line += " " + statusString + "\n";
+
+                    out += line;
+
+                    // If necessary, write URL
+                    if (!cur->getURL().isEmpty())
+                        out += noColString + indent(cur->depth() - 4, false) +
+                               cur->getURL() + "\n";
+
+                    // If necessary, write note
+                    if (!cur->isNoteEmpty()) {
+                        curIndent = noColString +
+                                    indent(cur->depth() - 4, false) + "| ";
+                        s = cur->getNoteASCII(curIndent, 80);
+                        out += s + "\n";
+                    }
+                    break;
+                }
+            }
+        }
+        model->nextBranch(cur, prev);
+    }
+
+    QTextStream ts(&file);
+    ts.setCodec("UTF-8");
+    ts << out;
+    file.close();
+
+    QClipboard *clipboard = QGuiApplication::clipboard();
+    clipboard->setText(out);
+
+    displayedDestination = filePath;
+
+    result = ExportBase::Success;
+
+    completeExport();
+}
+
+QString ExportAO::underline(const QString &text, const QString &line)
+{
+    QString r = text + "\n";
+    for (int j = 0; j < text.length(); j++)
+        r += line;
+    return r;
+}
diff --git a/src/export-ao.h b/src/export-ao.h
new file mode 100644 (file)
index 0000000..37f8d0f
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef EXPORT_AO_H
+#define EXPORT_AO_H
+
+#include "export-base.h"
+
+class ExportAO : public ExportBase {
+  public:
+    ExportAO();
+    virtual void doExport();
+    virtual QString underline(const QString &text, const QString &line);
+};
+
+#endif
diff --git a/src/export-ascii.cpp b/src/export-ascii.cpp
new file mode 100644 (file)
index 0000000..d26f31e
--- /dev/null
@@ -0,0 +1,148 @@
+#include "export-ascii.h"
+
+#include "mainwindow.h"
+#include <QMessageBox>
+
+extern QString vymName;
+extern Main *mainWindow;
+
+ExportASCII::ExportASCII()
+{
+    exportName = "ASCII";
+    filter = "TXT (*.txt);;All (* *.*)";
+    caption = vymName + " -" + QObject::tr("Export as ASCII");
+}
+
+void ExportASCII::doExport()
+{
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not export as ASCII to %1").arg(filePath));
+        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
+        return;
+    }
+
+    QString out;
+
+    // Main loop over all branches
+    QString s;
+    QString curIndent;
+    QString dashIndent;
+    int i;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+
+    int lastDepth = 0;
+
+    QStringList tasks;
+
+    model->nextBranch(cur, prev);
+    while (cur) {
+        if (cur->getType() == TreeItem::Branch ||
+            cur->getType() == TreeItem::MapCenter) {
+            if (!cur->hasHiddenExportParent()) {
+                // qDebug() << "ExportASCII::
+                // "<<curIndent.toStdString()<<cur->getHeadingPlain().toStdString();
+
+                // Insert newline after previous list
+                if (cur->depth() < lastDepth)
+                    out += "\n";
+
+                // Make indentstring
+                curIndent = "";
+                for (i = 1; i < cur->depth() - 1; i++)
+                    curIndent += indentPerDepth;
+
+                dashIndent = "";
+                switch (cur->depth()) {
+                case 0:
+                    out += underline(cur->getHeadingPlain(), QString("="));
+                    out += "\n";
+                    break;
+                case 1:
+                    out += "\n";
+                    out += (underline(getSectionString(cur) +
+                                          cur->getHeadingPlain(),
+                                      QString("-")));
+                    out += "\n";
+                    break;
+                case 3:
+                    out += (curIndent + "- " + cur->getHeadingPlain());
+                    out += "\n";
+                    dashIndent = "  ";
+                    break;
+                default:
+                    out += (curIndent + "- " + cur->getHeadingPlain());
+                    out += "\n";
+                    dashIndent = "  ";
+                    break;
+                }
+
+                // If there is a task, save it for potential later display
+                if (listTasks && cur->getTask()) {
+                    tasks.append(QString("[%1]: %2")
+                                     .arg(cur->getTask()->getStatusString())
+                                     .arg(cur->getHeadingPlain()));
+                }
+
+                // If necessary, write URL
+                if (!cur->getURL().isEmpty())
+                    out += (curIndent + dashIndent + cur->getURL()) + "\n";
+
+                // If necessary, write vymlink
+                if (!cur->getVymLink().isEmpty())
+                    out += (curIndent + dashIndent + cur->getVymLink()) +
+                           " (vym mindmap)\n";
+
+                // If necessary, write note
+                if (!cur->isNoteEmpty()) {
+                    // curIndent +="  | ";
+                    // Only indent for bullet points
+                    if (cur->depth() > 2)
+                        curIndent += "  ";
+                    out += '\n' + cur->getNoteASCII(curIndent, 80);
+                }
+                lastDepth = cur->depth();
+            }
+        }
+        model->nextBranch(cur, prev);
+    }
+
+    if (listTasks) {
+        out += "\n\nTasks\n-----\n\n";
+
+        foreach (QString t, tasks) {
+            out += " - " + t + "\n";
+        }
+    }
+
+    QTextStream ts(&file);
+    ts.setCodec("UTF-8");
+    ts << out;
+    file.close();
+
+    QClipboard *clipboard = QGuiApplication::clipboard();
+    clipboard->setText(out);
+
+    QString listTasksString = listTasks ? "true" : "false";
+
+    displayedDestination = filePath;
+
+    result = ExportBase::Success;
+
+    QStringList args;
+    args << filePath;
+    args << listTasksString;
+
+    completeExport(args);
+}
+
+QString ExportASCII::underline(const QString &text, const QString &line)
+{
+    QString r = text + "\n";
+    for (int j = 0; j < text.length(); j++)
+        r += line;
+    return r;
+}
diff --git a/src/export-ascii.h b/src/export-ascii.h
new file mode 100644 (file)
index 0000000..20860df
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef EXPORT_ASCII_H
+#define EXPORT_ASCII_H
+
+#include "export-base.h"
+
+class ExportASCII : public ExportBase {
+  public:
+    ExportASCII();
+    virtual void doExport();
+    virtual QString underline(const QString &text, const QString &line);
+};
+
+#endif
diff --git a/src/export-base.cpp b/src/export-base.cpp
new file mode 100644 (file)
index 0000000..39e06bf
--- /dev/null
@@ -0,0 +1,230 @@
+#include "export-base.h"
+
+#include <cstdlib>
+
+#include <QDebug>
+#include <QFileDialog>
+#include <QHash>
+#include <QMessageBox>
+
+#include "branchitem.h"
+#include "file.h"
+#include "linkablemapobj.h"
+#include "mainwindow.h"
+#include "misc.h"
+#include "vymprocess.h"
+#include "warningdialog.h"
+#include "xsltproc.h"
+
+extern Main *mainWindow;
+// extern QDir vymBaseDir;
+// extern QString flagsPath;
+// extern QString vymName;
+// extern QString vymVersion;
+// extern QString vymHome;
+extern Settings settings;
+extern QDir lastExportDir;
+
+ExportBase::ExportBase() { init(); }
+
+ExportBase::ExportBase(VymModel *m)
+{
+    model = m;
+    init();
+}
+
+ExportBase::~ExportBase()
+{
+    // Cleanup tmpdir: No longer required, part of general tmp dir of vym
+    // instance now
+
+    // Remember current directory
+    lastExportDir = QDir(dirPath);
+}
+
+void ExportBase::init()
+{
+    indentPerDepth = "  ";
+    exportName = "unnamed";
+    lastCommand = "";
+    cancelFlag = false;
+    result = Undefined;
+    defaultDirPath = lastExportDir.absolutePath();
+    dirPath = defaultDirPath;
+}
+
+void ExportBase::setupTmpDir()
+{
+    bool ok;
+    tmpDir.setPath(makeTmpDir(ok, model->tmpDirPath(),
+                              QString("export-%2").arg(exportName)));
+    if (!tmpDir.exists() || !ok)
+        QMessageBox::critical(
+            0, QObject::tr("Error"),
+            QObject::tr("Couldn't access temporary directory\n"));
+}
+
+void ExportBase::setDirPath(const QString &s)
+{
+    if (!s.isEmpty())
+        dirPath = s;
+    // Otherwise lastExportDir is used, which defaults to current dir
+}
+
+QString ExportBase::getDirPath() { return dirPath; }
+
+void ExportBase::setFilePath(const QString &s)
+{
+    if (!s.isEmpty()) {
+        filePath = s;
+        if (!filePath.startsWith("/"))
+            // Absolute path
+            filePath = lastExportDir.absolutePath() + "/" + filePath;
+    }
+}
+
+QString ExportBase::getFilePath()
+{
+    if (!filePath.isEmpty())
+        return filePath;
+    else
+        return dirPath + "/" + model->getMapName() + extension;
+}
+
+QString ExportBase::getMapName()
+{
+    QString fn = basename(filePath);
+    return fn.left(fn.lastIndexOf("."));
+}
+
+void ExportBase::setModel(VymModel *m) { model = m; }
+
+void ExportBase::setWindowTitle(const QString &s) { caption = s; }
+
+void ExportBase::setName(const QString &s) { exportName = s; }
+
+QString ExportBase::getName() { return exportName; }
+
+void ExportBase::addFilter(const QString &s) { filter = s; }
+
+void ExportBase::setListTasks(bool b) { listTasks = b; }
+
+bool ExportBase::execDialog()
+{
+    QString fn =
+        QFileDialog::getSaveFileName(nullptr, caption, filePath, filter, nullptr,
+                                     QFileDialog::DontConfirmOverwrite);
+
+    if (!fn.isEmpty()) {
+        if (QFile(fn).exists()) {
+            WarningDialog dia;
+            dia.showCancelButton(true);
+            dia.setCaption(QObject::tr("Warning: Overwriting file"));
+            dia.setText(
+                QObject::tr(
+                    "Exporting to %1 will overwrite the existing file:\n%2")
+                    .arg(exportName)
+                    .arg(fn));
+            dia.setShowAgainName("/exports/overwrite/" + exportName);
+            if (!(dia.exec() == QDialog::Accepted)) {
+                cancelFlag = true;
+                return false;
+            }
+        }
+        dirPath = fn.left(fn.lastIndexOf("/"));
+        filePath = fn;
+        return true;
+    }
+    return false;
+}
+
+bool ExportBase::canceled() { return cancelFlag; }
+
+void ExportBase::setLastCommand(const QString &s) { lastCommand = s; }
+
+void ExportBase::setResult(const Result &r)
+{
+    result = r;
+}
+
+void ExportBase::completeExport(QStringList args)
+{
+    QString command;
+
+    if (args.isEmpty()) {
+        // Add at least filepath as argument. exportName is added anyway
+        command = QString("vym.currentMap().exportMap(\"%1\",\"%2\")")
+                      .arg(exportName)
+                      .arg(filePath);
+    }
+    else {
+        // Only add exportName as default, rest of arguments need to be passed
+        // (Cloud exports ahve no filename...)
+        command = QString("vym.currentMap().exportMap(\"%1\"")
+                      .arg(exportName);
+
+        foreach (QString arg, args)
+            command += QString(", \"%1\"").arg(arg);
+
+        command += ")";
+    }
+
+    settings.setLocalValue(model->getFilePath(), "/export/last/command",
+                           command);
+    settings.setLocalValue(model->getFilePath(), "/export/last/description",
+                           exportName);
+    settings.setLocalValue(model->getFilePath(), "/export/last/displayedDestination",
+                           displayedDestination);
+
+    // Trigger saving of export command if it has changed
+    if (model && (lastCommand != command))
+        model->setChanged();
+
+    switch (result) {
+        case Success:
+            mainWindow->statusMessage(
+                QString("Exported as %1 to %2").arg(exportName).arg(displayedDestination));
+            break;
+        case Failed:
+            mainWindow->statusMessage(QString("Failed to export as %1 to %2")
+                                      .arg(exportName)
+                                      .arg(displayedDestination));
+            break;
+        case Ongoing:
+            break;
+        default:
+            qWarning() << "Export base: undefined export result for " << exportName;
+        }
+}
+
+void ExportBase::completeExport()
+{
+    completeExport(QStringList());
+}
+
+QString ExportBase::getSectionString(TreeItem *start)
+{
+    // Make prefix like "2.5.3" for "bo:2,bo:5,bo:3"
+    QString r;
+    TreeItem *ti = start;
+    int depth = ti->depth();
+    while (depth > 0) {
+        r = QString("%1").arg(1 + ti->num(), 0, 10) + "." + r;
+        ti = ti->parent();
+        depth = ti->depth();
+    }
+    if (r.isEmpty())
+        return r;
+    else
+        return r + " ";
+}
+
+QString ExportBase::indent(const int &n, bool useBullet)
+{
+    QString s;
+    for (int i = 0; i < n; i++)
+        s += indentPerDepth;
+    if (useBullet && s.length() >= 2 && bulletPoints.count() > n)
+        s.replace(s.length() - 2, 1, bulletPoints.at(n));
+    return s;
+}
diff --git a/src/export-base.h b/src/export-base.h
new file mode 100644 (file)
index 0000000..eeef11a
--- /dev/null
@@ -0,0 +1,68 @@
+#ifndef EXPORT_BASE_H
+#define EXPORT_BASE_H
+
+#include <QDir>
+#include <QMap>
+#include <QString>
+#include <iostream>
+
+#include "settings.h"
+#include "vymmodel.h"
+
+/*! \brief Base class for all exports
+ */
+
+///////////////////////////////////////////////////////////////////////
+
+class ExportBase {
+  public:
+    enum Result {Undefined, Success, Failed, Ongoing};
+    ExportBase();
+    ExportBase(VymModel *m);
+    virtual ~ExportBase();
+    virtual void init();
+    virtual void setupTmpDir();
+    virtual void setDirPath(const QString &);
+    virtual QString getDirPath();
+    virtual void setFilePath(const QString &);
+    virtual QString getFilePath();
+    virtual QString getMapName();
+    virtual void setModel(VymModel *m);
+    virtual void setWindowTitle(const QString &);
+    virtual void setName(const QString &);
+    virtual QString getName();
+    virtual void addFilter(const QString &);
+    virtual void setListTasks(bool b);
+    virtual bool execDialog();
+    virtual bool canceled();
+    void setLastCommand(const QString &);
+    void setResult(const Result &r);
+    void completeExport(
+        QStringList args); //! set lastExport and send status message
+    void completeExport();
+
+  protected:
+    VymModel *model;
+    QString exportName;
+    QString lastCommand;
+    virtual QString getSectionString(TreeItem *);
+
+    QString indent(const int &n, bool useBullet);
+    QDir tmpDir;
+    QString displayedDestination;    
+        // Can be the filePath or URL. Used for display in  "ExportLast"
+    QString dirPath;        // Path to dir  e.g. /tmp/vym-export/
+    QString defaultDirPath; // Default path
+    QString filePath;       // Path to file e.g. /tmp/vym-export/export.html
+    QString extension;      // Extension, e.g. .html
+    QString indentPerDepth;
+    int indentPerDepth2;
+    QStringList bulletPoints;
+    QString caption;
+    QString filter;
+    bool listTasks; // Append task list
+    bool cancelFlag;
+    Result result;
+};
+
+#endif
diff --git a/src/export-confluence-dialog.cpp b/src/export-confluence-dialog.cpp
new file mode 100644 (file)
index 0000000..9fb0277
--- /dev/null
@@ -0,0 +1,236 @@
+#include "export-confluence-dialog.h"
+
+#include <QDateTime>
+#include <QDebug>
+#include <QFileDialog>
+#include <QMessageBox>
+
+#include "file.h"
+#include "mainwindow.h"
+#include "settings.h"
+
+extern QDir vymBaseDir;
+extern Settings settings;
+extern bool debug;
+extern Main *mainWindow;
+
+ExportConfluenceDialog::ExportConfluenceDialog(QWidget *parent)
+    : QDialog(parent)
+{
+    ui.setupUi(this);
+
+    filepath = "";
+
+    connect(ui.createPageButton, SIGNAL(clicked(bool)), this,
+            SLOT(pageButtonPressed()));
+    connect(ui.updatePageButton, SIGNAL(clicked(bool)), this,
+            SLOT(pageButtonPressed()));
+
+    // signals and slots connections
+    connect(ui.mapCenterToPageNameCheckBox, SIGNAL(toggled(bool)), this,
+            SLOT(mapCenterToPageNameCheckBoxPressed(bool)));
+    connect(ui.lineEditURL, SIGNAL(textChanged(const QString &)), this,
+            SLOT(URLChanged()));
+    connect(ui.lineEditPageName, SIGNAL(textChanged(const QString &)), this,
+            SLOT(pageNameChanged()));
+
+    connect(ui.exportButton, &QPushButton::clicked, this, &ExportConfluenceDialog::doExport);
+
+    connect(ui.openPageButton, &QPushButton::clicked, this, &ExportConfluenceDialog::openUrl);
+}
+
+void ExportConfluenceDialog::setCreateNewPage(bool b) { ui.createPageButton->setChecked(b); }
+
+bool ExportConfluenceDialog::getCreateNewPage() { return ui.createPageButton->isChecked(); }
+
+void ExportConfluenceDialog::openUrl()
+{
+    mainWindow->openURL(ui.lineEditURL->text());
+}
+
+QString ExportConfluenceDialog::getUrl() { return url; }
+
+QString ExportConfluenceDialog::getPageName() { return pageName; }
+
+void ExportConfluenceDialog::setPageNameHint(const QString &s) 
+{
+    pageNameHint = s;
+}
+void ExportConfluenceDialog::readSettings()
+{
+    url = settings
+                  .localValue(filepath, "/export/confluence/url",
+                              "Enter URL of page")
+                  .toString();
+    ui.lineEditURL->setText(url);
+
+
+    ui.createPageButton->setChecked(
+        settings
+            .localValue(filepath, "/export/confluence/createNewPage", true).toBool());
+
+    ui.updatePageButton->setChecked(!
+        settings
+            .localValue(filepath, "/export/confluence/createNewPage", false).toBool());
+    if (ui.createPageButton->isChecked())
+        pageName = settings.localValue(filepath, "/export/confluence/pageName", 
+                        "New page created on " + QDateTime::currentDateTime().toString()).toString();
+    else 
+        pageName = QString();
+    ui.lineEditPageName->setText(pageName);
+
+    ui.includeMapImageCheckBox->setChecked(
+        settings.localValue (filepath,
+        "/export/confluence/includeMapImage", "true").toBool());
+
+    ui.includeImagesCheckBox->setChecked(
+        settings.localValue (filepath,
+        "/export/confluence/includeImages", "true").toBool());
+
+    /*  FIXME-3 cleanup the copied HTML parameters
+    includeImages = settings.localValue (filepath,
+    "/export/confluence/includeImages", "true").toBool();
+    ui.includeImagesCheckBox->setChecked(includeImages);
+
+    useTOC = settings.localValue (filepath, "/export/confluence/useTOC",
+    "true").toBool(); ui.TOCCheckBox->setChecked(useTOC);
+
+    useTaskFlags = settings.localValue (filepath,
+    "/export/confluence/useTaskFlags", "true").toBool();
+    ui.taskFlagsCheckBox->setChecked(useTaskFlags);
+
+    useUserFlags = settings.localValue (filepath,
+    "/export/confluence/useUserFlags", "true").toBool();
+    ui.userFlagsCheckBox->setChecked(useUserFlags);
+
+    */
+
+    ui.useNumberingCheckBox->setChecked(
+        settings.localValue (filepath,
+        "/export/confluence/useNumbering", "true").toBool());
+    ui.mapCenterToPageNameCheckBox->setChecked(
+        settings.localValue(filepath, "/export/confluence/mapCenterToPageName", true)
+            .toBool());
+    ui.textColorCheckBox->setChecked(
+        settings.localValue(filepath, "/export/confluence/useTextColor", false)
+            .toBool());
+
+    ui.saveSettingsInMapCheckBox->setChecked(
+        settings
+            .localValue(filepath, "/export/confluence/saveSettingsInMap", true)
+            .toBool());
+
+
+    pageButtonPressed();
+}
+
+void ExportConfluenceDialog::saveSettings()
+{
+    // Save options to settings file
+    // (but don't save at destructor, which
+    // is called for "cancel", too)
+    if (!ui.saveSettingsInMapCheckBox->isChecked())
+        settings.clearLocal(filepath, "/export/confluence");
+    else {
+        settings.setLocalValue(
+                filepath, "/export/confluence/saveSettingsInMap",
+                "yes");
+        settings.setLocalValue (
+                filepath, "/export/confluence/includeMapImage",
+                ui.includeMapImageCheckBox->isChecked());
+        settings.setLocalValue (
+                filepath, "/export/confluence/includeImages",
+                ui.includeImagesCheckBox->isChecked());
+        //        settings.setLocalValue (filepath, "/export/confluence/useTOC",
+        //        useTOC); 
+        settings.setLocalValue (
+                filepath, "/export/confluence/useNumbering",
+                ui.useNumberingCheckBox->isChecked());
+        settings.setLocalValue(filepath,
+                "/export/confluence/mapCenterToPageName",
+                ui.mapCenterToPageNameCheckBox->isChecked());
+        settings.setLocalValue(filepath,
+                "/export/confluence/useTextColor",
+                ui.textColorCheckBox->isChecked());
+        settings.setLocalValue(filepath,
+                "/export/confluence/useNumbering",
+                ui.useNumberingCheckBox->isChecked());
+        settings.setLocalValue(filepath, "/export/confluence/url", url);
+        settings.setLocalValue(filepath, "/export/confluence/pageName", pageName);
+        settings.setLocalValue(filepath, "/export/confluence/createNewPage", ui.createPageButton->isChecked());
+    }
+}
+
+void ExportConfluenceDialog::setURL(const QString &u) { url = u; }
+
+void ExportConfluenceDialog::setPageName(const QString &s) { pageName = s; }
+
+void ExportConfluenceDialog::setFilePath(const QString &s) { filepath = s; }
+
+void ExportConfluenceDialog::setMapName(const QString &s) { mapname = s; }
+
+bool ExportConfluenceDialog::useTextColor()
+{
+    return ui.textColorCheckBox->isChecked();
+}
+
+bool ExportConfluenceDialog::mapCenterToPageName()
+{
+    return ui.mapCenterToPageNameCheckBox->isChecked();
+}
+
+bool ExportConfluenceDialog::useNumbering()
+{
+    return ui.useNumberingCheckBox->isChecked();
+}
+
+bool ExportConfluenceDialog::includeMapImage()
+{
+    return ui.includeMapImageCheckBox->isChecked();
+}
+
+bool ExportConfluenceDialog::includeImages()
+{
+    return ui.includeImagesCheckBox->isChecked();
+}
+
+void ExportConfluenceDialog::doExport()
+{
+    accept();
+}
+
+void ExportConfluenceDialog::pageButtonPressed()
+{
+    if (ui.createPageButton->isChecked()) {
+        ui.URLLabel->setText("URL of parent page");
+        ui.pageNameLabel->setText("Page title (required)");
+    }
+    else {
+        ui.URLLabel->setText("URL of existing page");
+        ui.pageNameLabel->setText("Page title (optional)");
+    }
+}
+
+void ExportConfluenceDialog::URLChanged()   // FIXME-2 remove this and similar methods
+{
+    url = ui.lineEditURL->text();
+}
+
+void ExportConfluenceDialog::pageNameChanged()
+{
+    pageName = ui.lineEditPageName->text();
+}
+
+void ExportConfluenceDialog::mapCenterToPageNameCheckBoxPressed(bool b)
+{
+    if (ui.mapCenterToPageNameCheckBox->isChecked())
+    {
+        ui.lineEditPageName->setText(pageNameHint);
+        ui.lineEditPageName->setEnabled(false); // FIXME-2 better set readonly
+    } else
+    {
+        ui.lineEditPageName->show();
+        ui.lineEditPageName->setEnabled(true);
+    }
+}
+
diff --git a/src/export-confluence-dialog.h b/src/export-confluence-dialog.h
new file mode 100644 (file)
index 0000000..9e1e923
--- /dev/null
@@ -0,0 +1,59 @@
+#ifndef EXPORTCONFLUENCEDIALOG_H
+#define EXPORTCONFLUENCEDIALOG_H
+
+#include "ui_export-confluence-dialog.h"
+
+#include <QButtonGroup>
+#include <QDir>
+
+/*! \brief Dialog to export a map as HTML document
+
+This is an overloaded QDialog with various settings needed to call
+convert the vym.xml to a HTML document.
+*/
+
+class ExportConfluenceDialog : public QDialog {
+    Q_OBJECT
+  public:
+    ExportConfluenceDialog(QWidget *parent = 0);
+
+    void setCreateNewPage(bool b);
+    bool getCreateNewPage();
+    virtual void openUrl();
+    virtual QString getUrl();
+    virtual QString getPageName();
+    void setPageNameHint(const QString &s);
+
+    void readSettings();
+    void saveSettings();
+    void setURL(const QString &);
+    void setPageName(const QString &);
+
+    void setFilePath(const QString &s);
+    void setMapName(const QString &s);
+    bool useTextColor();
+    bool mapCenterToPageName();
+    bool useNumbering();
+    bool includeMapImage();
+    bool includeImages();
+    void doExport();
+
+  public slots:
+    void pageButtonPressed();
+    void URLChanged();
+    void pageNameChanged();
+    void mapCenterToPageNameCheckBoxPressed(bool b);
+
+  protected:
+    QString url;
+    QString pageName;
+    QString pageNameHint;
+    QString filepath;
+    QString mapname;
+
+  private:
+    Ui::ExportConfluenceDialog ui;
+    void init();
+};
+
+#endif // ExportConfluenceDialog_H
diff --git a/src/export-confluence.cpp b/src/export-confluence.cpp
new file mode 100644 (file)
index 0000000..e615a79
--- /dev/null
@@ -0,0 +1,435 @@
+#include "export-confluence.h"
+
+#include <QMessageBox>
+
+#include "attributeitem.h"
+#include "branchobj.h"
+#include "mainwindow.h"
+#include "settings.h"
+#include "warningdialog.h"
+#include "xmlobj.h"
+
+extern QString flagsPath;
+extern Main *mainWindow;
+extern QString vymName;
+extern QString vymVersion;
+extern QString vymHome;
+extern Settings settings;
+
+ExportConfluence::ExportConfluence() : ExportBase() { init(); }
+
+ExportConfluence::ExportConfluence(VymModel *m) : ExportBase(m) { init(); }
+
+void ExportConfluence::init()
+{
+    createNewPage = true;
+    exportName = "ConfluenceNewPage";
+
+    extension = ".html";
+
+    url = "";
+    pageName = "";
+
+    agent = nullptr;
+}
+
+void ExportConfluence::setCreateNewPage(bool b) {createNewPage = b; }
+
+void ExportConfluence::setURL(const QString &u) { url = u; }
+
+void ExportConfluence::setPageName(const QString &t) { pageName = t;}
+
+QString ExportConfluence::getBranchText(BranchItem *current)
+{
+    if (current) {
+        QRectF hr;
+        LinkableMapObj *lmo = current->getLMO();
+        if (lmo) {
+            hr = ((BranchObj *)lmo)->getBBoxHeading();
+        }
+        QString id = model->getSelectString(current);
+        QString heading = quoteMeta(current->getHeadingPlain());
+
+        // Numbering
+        QString number;
+        if (dia.useNumbering()) number = getSectionString(current) + " ";
+
+        // Long headings are will have linebreaks by default
+        heading = heading.replace("\\n", " ");
+
+        if (dia.useTextColor()) {
+            QColor c = current->getHeadingColor();
+            QString cs = QString("rgb(%1,%2,%3);")
+                             .arg(c.red())
+                             .arg(c.green())
+                             .arg(c.blue());
+            heading = QString("<span style='color: %1'>%2</span>")
+                          .arg(cs)
+                          .arg(number + heading);
+        }
+
+        QString s;
+
+        // Task flags
+        QString taskFlags;
+        /*
+        if (dia.useTaskFlags)
+        {
+            Task *task = current->getTask();
+            if (task)
+            {
+                QString taskName = task->getIconString();
+                taskFlags += QString("<img src=\"flags/flag-%1.png\"
+        alt=\"%2\">") .arg(taskName) .arg(QObject::tr("Flag: %1","Alt tag in
+        HTML export").arg(taskName));
+            }
+        }
+        */
+
+        // User flags
+        QString userFlags;
+        /*
+        if (dia.useUserFlags)
+        {
+            foreach (QString flag, current->activeFlagNames())          //
+        better don't use activeFlagNames, won't work for userflags userFlags +=
+        QString("<img src=\"flags/flag-%1.png\" alt=\"%2\">") .arg(flag)
+                    .arg(QObject::tr("Flag: %1","Alt tag in HTML
+        export").arg(flag));
+        }
+        */
+
+        // URL
+        //     <ac:link>
+        //<ri:user ri:userkey="55df23264acf166a014b54c57792009b"/>
+        //</ac:link> </span>
+        
+        // For URLs check, if there is already a Confluence user in an attribute
+        QString url;
+        AttributeItem *ai = current->getAttributeByKey("ConfluenceUser.userKey");
+        if (ai) {
+            url = ai->getKey();
+            s += QString(" <ac:link> <ri:user ri:userkey=\"%1\"/></ac:link>").arg(ai->getValue().toString());
+        } else {
+            url = current->getURL();
+
+            if (!url.isEmpty()) {
+                if (url.contains(settings.value("/atlassian/confluence/url",
+                       "---undefined---").toString()) && url.contains("&")) {
+
+                    // Fix ampersands in URL to Confluence itself
+                    url = quoteMeta(url);
+                } 
+
+                s += QString("<a href=\"%1\">%2</a>")
+                         .arg(url)
+                         .arg(taskFlags + heading + userFlags);
+            } else
+                s += taskFlags + heading + userFlags;
+        }
+
+        // Include images
+        if (dia.includeImages())
+        {
+            int imageCount = current->imageCount();
+            ImageItem *image;
+            QString imagePath;
+            for (int i=0; i< imageCount; i++)
+            {
+                image = current->getImageNum(i);
+                imagePath =  "image-" + image->getUuid().toString() + ".png";
+                image->saveImage( dirPath + "/" + imagePath);
+                agent->addUploadAttachmentPath(imagePath);
+                s += "<p> <span style=\"color: rgb(0,170,255);\">";
+                // Limit size
+                if (image->width()  > 250)
+                    s+= "<ac:image ac:width=\"250\" >";
+                else
+                    s += "<ac:image>";
+                s += QString("<ri:attachment ri:filename=\"%1\"/></ac:image></span></p>").arg(imagePath);
+
+            }
+        }
+
+        // Include note
+        if (!current->isNoteEmpty()) {
+            VymNote note = current->getNote();
+            QString n;
+            if (note.isRichText()) {
+                n = note.getText();
+                QRegExp re("<p.*>");
+                re.setMinimal(true);
+                re.setPattern("</?html>");
+                n.replace(re, "");
+
+                re.setPattern("</?head.*>");
+                n.replace(re, "");
+
+                re.setPattern("</?body.*>");
+                n.replace(re, "");
+
+                re.setPattern("</?meta.*>");
+                n.replace(re, "");
+
+                re.setPattern("<style.*>.*</style>");
+                n.replace(re, "");
+
+                re.setPattern("<!DOCTYPE.*>");
+                n.replace(re,"");
+
+                re.setPattern("&(?!\\w*;)");
+                n.replace(re, "&amp;");
+            }
+            else {
+                n = current->getNoteASCII(0, 0);
+                n.replace("&", "&amp;");
+                n.replace("<", "&lt;");
+                n.replace(">", "&gt;");
+                if (current->getNote().getFontHint() == "fixed")
+                    n = "<pre>" + n + "</pre>";
+                else {
+                    n = "<p>" + n + "</p>";
+                    n.replace("\n", "</p><p>");
+                }
+            }
+
+            s += "\n<table class=\"vym-note\"><tr><td>\n" + n +
+                 "\n</td></tr></table>\n";
+        }
+        return s;
+    }
+    return QString();
+}
+
+QString ExportConfluence::buildList(BranchItem *current)
+{
+    QString r;
+
+    uint i = 0;
+    uint visChilds = 0;
+
+    BranchItem *bi = current->getFirstBranch();
+
+    QString ind = "\n" + indent(current->depth() + 1, false);
+
+    QString sectionBegin = "";
+    QString sectionEnd   = "" ;
+    QString itemBegin;
+    QString itemEnd;
+
+    QString expandBegin;
+    QString expandEnd;
+
+    switch (current->depth() + 1) {
+    case 0:
+        itemBegin = "<h1>";
+        itemEnd = "</h1>";
+        break;
+    case 1:
+        itemBegin = "<h3>";
+        itemEnd = "</h3>";
+        break;
+    case 2:
+        itemBegin = "<h4>";
+        itemEnd = "</h4>";
+        break;
+    default:
+        sectionBegin =
+            "<ul " +
+            QString("class=\"vym-list-ul-%1\"").arg(current->depth() + 1) + ">";
+        sectionEnd = "</ul>";
+        itemBegin = "  <li>";
+        itemEnd = "  </li>";
+        break;
+    }
+
+    while (bi) {
+        if (bi && !bi->hasHiddenExportParent() && !bi->isHidden()) {
+            r += ind + sectionBegin;
+            if ( bi && bi->isScrolled())
+            {
+                expandBegin = "\n" + ind;
+                expandBegin += QString("<ac:structured-macro ac:macro-id=\"%1\" ac:name=\"expand\" ac:schema-version=\"1\">").arg(bi->getUuid().toString()) ;
+                expandBegin += "<ac:rich-text-body>";
+                expandEnd = "\n" + ind + "</ac:rich-text-body>";
+                expandEnd += "</ac:structured-macro>";
+            } else
+            {
+                expandBegin = "";
+                expandEnd   = "";
+            }
+
+            if (!bi->hasHiddenExportParent() && !bi->isHidden() ) {
+                visChilds++;
+                r += ind;
+                r += itemBegin;
+                    
+                // Check if first mapcenter is already usded for pageName
+                if ( !(bi == model->getRootItem()->getFirstBranch() && dia.mapCenterToPageName()))  
+                    r += getBranchText(bi);
+
+                if (itemBegin.startsWith("<h"))
+                {
+                    // Current item is heading
+                    r += itemEnd;
+                    r += expandBegin;
+                    r += buildList(bi);
+                    r += expandEnd;
+                }
+                else
+                {
+                    // Current item is list item
+                    r += expandBegin;
+                    r += buildList(bi);
+                    r += expandEnd;
+                    r += itemEnd;
+                }
+            }
+            r += ind + sectionEnd;
+        }
+        i++;
+        bi = current->getBranchNum(i);
+    }
+
+    return r;
+}
+
+QString ExportConfluence::createTOC()
+{
+    QString toc;
+    QString number;
+    toc += "<table class=\"vym-toc\">\n";
+    toc += "<tr><td class=\"vym-toc-title\">\n";
+    toc += QObject::tr("Contents:", "Used in HTML export");
+    toc += "\n";
+    toc += "</td></tr>\n";
+    toc += "<tr><td>\n";
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    model->nextBranch(cur, prev);
+    while (cur) {
+        if (!cur->hasHiddenExportParent() && !cur->hasScrolledParent()) {
+            if (dia.useNumbering())
+                number = getSectionString(cur);
+            toc +=
+                QString("<div class=\"vym-toc-branch-%1\">").arg(cur->depth());
+            toc += QString("<a href=\"#%1\"> %2 %3</a><br />\n")
+                       .arg(model->getSelectString(cur))
+                       .arg(number)
+                       .arg(quoteMeta(cur->getHeadingPlain()));
+            toc += "</div>";
+        }
+        model->nextBranch(cur, prev);
+    }
+    toc += "</td></tr>\n";
+    toc += "</table>\n";
+    return toc;
+}
+
+void ExportConfluence::doExport(bool useDialog)
+{
+    // Initialize tmp directory below tmp dir of map vym itself
+    setupTmpDir();
+
+    filePath = tmpDir.path() + "/export.html";
+
+    // Setup dialog and read settings
+    dia.setMapName(model->getMapName());
+    dia.setFilePath(model->getFilePath());
+    dia.setURL(url);
+    dia.setPageName(pageName);
+    BranchItem *bi = (BranchItem*)(model->findBySelectString("mc0"));
+    if (bi)
+        dia.setPageNameHint(bi->getHeadingPlain());
+
+    dia.readSettings();
+
+    if (useDialog) {
+        if (dia.exec() != QDialog::Accepted)
+            return;
+        model->setChanged();
+        url = dia.getUrl();
+        createNewPage = dia.getCreateNewPage();
+        pageName = dia.getPageName();
+    }
+
+    // Open file for writing
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Trying to save HTML file:") + "\n\n" +
+                QObject::tr("Could not write %1").arg(filePath));
+        return;
+    }
+    QTextStream ts(&file);
+    ts.setCodec("UTF-8");
+
+    // Hide stuff during export
+    model->setExportMode(true);
+
+    // Create Confluence agent
+    agent = new ConfluenceAgent();
+    if (createNewPage)
+        agent->setJobType(ConfluenceAgent::CreatePage);
+    else
+        agent->setJobType(ConfluenceAgent::UpdatePage);
+    agent->setPageURL(url);
+    agent->setNewPageName(pageName);
+    agent->setUploadPagePath(filePath);
+    agent->setModelID(model->getModelID());
+
+    // Include image of map
+    QString mapImageFilePath = tmpDir.path() + "/mapImage.png";
+    if (dia.includeMapImage())
+    {
+        offset = model->exportImage (mapImageFilePath, false, "PNG");
+        QImage img(mapImageFilePath);
+        ts << "<p>";
+        ts << "  <span style=\"color: rgb(0,170,255);\">\n";
+        if (img.width() > 800)
+            ts << "    <ac:image ac:width=\"800\" >";
+        else
+            ts << "    <ac:image >";
+        ts << "      <ri:attachment ri:filename=\"mapImage.png\"/>";
+        ts << "    </ac:image>\n";
+        ts << "  </span>";
+        ts << "</p>";
+
+
+        agent->addUploadAttachmentPath(mapImageFilePath);
+    }
+
+    // Include table of contents
+    // if (dia.useTOC) ts << createTOC();
+
+    // Main loop over all mapcenters
+    ts << buildList(model->getRootItem()) << "\n";
+
+    ts << "<p style=\"text-align: center;\"> <sub> <em>Page created with ";
+    ts << "<a href=\"https://sourceforge.net/projects/vym/\">" << vymName << " " << vymVersion<< "</a>";
+    ts << "</em> </sub> </p>";
+
+    file.close();
+
+
+    agent->startJob();
+
+    QStringList args;
+    exportName = (createNewPage) ? "ConfluenceNewPage" : "ConfluenceUpdatePage";
+    args <<  url;
+    if (!pageName.isEmpty()) 
+        args <<  pageName;
+
+    result = ExportBase::Ongoing;
+
+    // Prepare human readable info in tooltip of LastExport:
+    displayedDestination = QString("Page name: \"%1\" Url: \"%2\"").arg(pageName).arg(url); 
+
+    completeExport(args);
+
+    dia.saveSettings();
+    model->setExportMode(false);
+
+    // Note: ConfluenceAgent professionally destroys itself after completion
+}
diff --git a/src/export-confluence.h b/src/export-confluence.h
new file mode 100644 (file)
index 0000000..1b925c0
--- /dev/null
@@ -0,0 +1,36 @@
+#ifndef EXPORT_CONFLUENCE_H
+#define EXPORT_CONFLUENCE_H
+
+#include "export-base.h"
+#include "export-confluence-dialog.h"
+
+#include "confluence-agent.h"
+
+class ExportConfluence : public ExportBase {
+  public:
+    ExportConfluence();
+    ExportConfluence(VymModel *m);
+    virtual void init();
+    void setCreateNewPage(bool);
+    void setURL(const QString &u);
+    void setPageName(const QString &t);
+    virtual QString createTOC();
+    virtual void doExport(bool useDialog = true);
+
+  private:
+    QString getBranchText(BranchItem *);
+    QString buildList(BranchItem *);
+    QString imageMap;
+
+    bool createNewPage;
+    QString url;
+    QString pageName;
+
+    QPointF offset;
+
+    ExportConfluenceDialog dia;
+
+    ConfluenceAgent *agent;
+};
+
+#endif
diff --git a/src/export-csv.cpp b/src/export-csv.cpp
new file mode 100644 (file)
index 0000000..52840b9
--- /dev/null
@@ -0,0 +1,73 @@
+#include "mainwindow.h"
+#include <QMessageBox>
+
+#include "export-csv.h"
+
+extern QString vymName;
+extern Main *mainWindow;
+
+ExportCSV::ExportCSV()
+{
+    exportName = "CSV";
+    filter = "CSV (*.csv);;All (* *.*)";
+    caption = vymName + " -" + QObject::tr("Export as CSV");
+}
+
+void ExportCSV::doExport()
+{
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not export as CSV to %1").arg(filePath));
+        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
+        return;
+    }
+
+    QString out;
+
+    // Write header
+    out += "\"Note\"\n";
+
+    // Main loop over all branches
+    QString s;
+    QString curIndent("");
+    int i;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    model->nextBranch(cur, prev);
+    while (cur) {
+        if (!cur->hasHiddenExportParent()) {
+            // If necessary, write note
+            if (!cur->isNoteEmpty()) {
+                s = cur->getNoteASCII(0, 0);
+                s = s.replace("\n", "\n" + curIndent);
+                out += ("\"" + s + "\",");
+            }
+            else
+                out += "\"\",";
+
+            // Make indentstring
+            for (i = 0; i < cur->depth(); i++)
+                curIndent += "\"\",";
+
+            // Write heading
+            out += curIndent + "\"" + cur->getHeadingPlain() + "\"\n";
+        }
+
+        model->nextBranch(cur, prev);
+        curIndent = "";
+    }
+    QTextStream ts(&file);
+    ts.setCodec("UTF-8");
+    ts << out;
+    file.close();
+
+    QClipboard *clipboard = QGuiApplication::clipboard();
+    clipboard->setText(out);
+
+    displayedDestination = filePath;
+
+    result = ExportBase::Success;
+    completeExport();
+}
diff --git a/src/export-csv.h b/src/export-csv.h
new file mode 100644 (file)
index 0000000..7279fe0
--- /dev/null
@@ -0,0 +1,12 @@
+#ifndef EXPORT_CSV_H
+#define EXPORT_CSV_H
+
+#include "export-base.h"
+
+class ExportCSV : public ExportBase {
+  public:
+    ExportCSV();
+    void doExport();
+};
+
+#endif
diff --git a/src/export-firefox.cpp b/src/export-firefox.cpp
new file mode 100644 (file)
index 0000000..d01f0c0
--- /dev/null
@@ -0,0 +1,99 @@
+#include <QMessageBox>
+
+#include "export-firefox.h"
+
+#include "attributeitem.h"
+#include "mainwindow.h"
+
+extern QString vymName;
+extern Main *mainWindow;
+
+ExportFirefox::ExportFirefox()
+{
+    exportName = "Firefox";
+    filter = "JSON (*.json);;All (* *.*)";
+    caption = vymName + " -" + QObject::tr("Export as Firefox bookmarks");
+}
+
+QJsonObject ExportFirefox::buildList(BranchItem *bi)
+{
+    // Loop over children branches
+    QJsonObject jsobj;
+    QJsonArray jarray;
+
+    if (bi->branchCount() > 0 ) {
+        for (int i = 0; i < bi->branchCount(); i++)
+            jarray.append(buildList(bi->getBranchNum(i)));
+
+        jsobj["children"] = jarray;
+    }
+
+    QString key;
+    AttributeItem *ai;
+    for (int i = 0; i < bi->attributeCount(); i++) {
+        ai =bi->getAttributeNum(i);
+        key = ai->getKey();
+
+        // Rewrite some values, which maybe have been modified in map
+        if (key == "index")
+            ai->setValue(bi->num());
+        else if (key == "uri" && !bi->getURL().isEmpty())
+            ai->setValue(bi->getURL());
+        else if (key == "title" && !bi->getHeadingPlain().isEmpty())
+            ai->setValue(bi->getHeadingPlain());
+
+        // Export values
+        if (key == "postData")
+            jsobj[key] = QJsonValue::Null; 
+        else if (ai->getAttributeType() == AttributeItem::DateTime) 
+            jsobj[key] = QJsonValue(ai->getValue().toDateTime().toMSecsSinceEpoch() * 1000);
+        else if (ai->getAttributeType() == AttributeItem::String)
+            jsobj[key] = ai->getValue().toString();
+        else if (ai->getAttributeType() == AttributeItem::Integer) 
+        {
+            jsobj[key] = QJsonValue(ai->getValue().toInt());
+        }
+        else
+            qWarning() << "ExportFirefox  Unknown attribute type in " << bi->getHeadingPlain() << "Key: " << key;
+    }
+
+    return jsobj;
+}
+
+void ExportFirefox::doExport()
+{
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not export as Firefox bookmarks to %1").arg(filePath));
+        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
+        return;
+    }
+
+    // Select bookmark main branch
+    model->select("mc:0,bo:0");
+
+    BranchItem *bi = model->getSelectedBranch();
+    if (!bi) return;
+
+    // Loop over all branches
+    QJsonObject jsobj;
+    QJsonArray jarray;
+
+    /*
+    for (int i = 0; i < bi->branchCount(); i++)
+        jarray.append(buildList(bi->getBranchNum(i)));
+
+    jsobj["children"] = jarray;
+    */
+    jsobj = buildList(bi);
+
+    file.write(QJsonDocument(jsobj).toJson());
+    file.close();
+
+    displayedDestination = filePath;
+
+    result = ExportBase::Success;
+    completeExport();
+}
diff --git a/src/export-firefox.h b/src/export-firefox.h
new file mode 100644 (file)
index 0000000..f3ae3db
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef EXPORT_FIREFOX_H
+#define EXPORT_FIREFOX_H
+
+#include "export-base.h"
+
+class ExportFirefox : public ExportBase {
+  public:
+    ExportFirefox();
+    QJsonObject buildList(BranchItem *bi);
+    void doExport();
+};
+
+#endif
diff --git a/src/export-html-dialog.cpp b/src/export-html-dialog.cpp
new file mode 100644 (file)
index 0000000..f967e6c
--- /dev/null
@@ -0,0 +1,352 @@
+#include "export-html-dialog.h"
+
+#include <QFileDialog>
+#include <QMessageBox>
+
+#include "file.h"
+#include "settings.h"
+
+extern QDir vymBaseDir;
+extern Settings settings;
+extern bool debug;
+
+ExportHTMLDialog::ExportHTMLDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+
+    filepath = "";
+    settingsChanged = false;
+
+    // signals and slots connections
+    connect(ui.browseExportDirButton, SIGNAL(pressed()), this,
+            SLOT(browseDirectoryPressed()));
+    connect(ui.browseCssSrcButton, SIGNAL(pressed()), this,
+            SLOT(browseCssSrcPressed()));
+    connect(ui.browseCssDstButton, SIGNAL(pressed()), this,
+            SLOT(browseCssDstPressed()));
+    connect(ui.imageCheckBox, SIGNAL(toggled(bool)), this,
+            SLOT(imageCheckBoxPressed(bool)));
+    connect(ui.includeImagesCheckBox, SIGNAL(toggled(bool)), this,
+            SLOT(includeImagesCheckBoxPressed(bool)));
+    connect(ui.TOCCheckBox, SIGNAL(toggled(bool)), this,
+            SLOT(TOCCheckBoxPressed(bool)));
+    connect(ui.numberingCheckBox, SIGNAL(toggled(bool)), this,
+            SLOT(numberingCheckBoxPressed(bool)));
+    connect(ui.taskFlagsCheckBox, SIGNAL(toggled(bool)), this,
+            SLOT(taskFlagsCheckBoxPressed(bool)));
+    connect(ui.userFlagsCheckBox, SIGNAL(toggled(bool)), this,
+            SLOT(userFlagsCheckBoxPressed(bool)));
+    connect(ui.textColorCheckBox, SIGNAL(toggled(bool)), this,
+            SLOT(textcolorCheckBoxPressed(bool)));
+    connect(ui.lineEditDir, SIGNAL(textChanged(const QString &)), this,
+            SLOT(dirChanged()));
+    connect(ui.copyCssCheckBox, SIGNAL(pressed()), this,
+            SLOT(copyCssPressed()));
+    connect(ui.lineEditCssSrc, SIGNAL(textChanged(const QString &)), this,
+            SLOT(cssSrcChanged()));
+    connect(ui.lineEditCssDst, SIGNAL(textChanged(const QString &)), this,
+            SLOT(cssDstChanged()));
+    connect(ui.saveSettingsInMapCheckBox, SIGNAL(toggled(bool)), this,
+            SLOT(saveSettingsInMapCheckBoxPressed(bool)));
+    connect(ui.lineEditPostScript, SIGNAL(textChanged(const QString &)), this,
+            SLOT(postscriptChanged()));
+    connect(ui.browsePostExportButton, SIGNAL(pressed()), this,
+            SLOT(browsePostExportButtonPressed()));
+}
+
+void ExportHTMLDialog::readSettings()
+{
+    dir.setPath(settings
+              .localValue(filepath, "/export/html/exportDir",
+                          vymBaseDir.currentPath())
+              .toString()); // FIXME-3 exportDir only needed for dialog
+    ui.lineEditDir->setText(dir.absolutePath());
+
+    includeMapImage =
+        settings.localValue(filepath, "/export/html/includeMapImage", "true")
+            .toBool();
+    ui.imageCheckBox->setChecked(includeMapImage);
+
+    includeImages =
+        settings.localValue(filepath, "/export/html/includeImages", "true")
+            .toBool();
+    ui.includeImagesCheckBox->setChecked(includeImages);
+
+    useTOC =
+        settings.localValue(filepath, "/export/html/useTOC", "true").toBool();
+    ui.TOCCheckBox->setChecked(useTOC);
+
+    useNumbering =
+        settings.localValue(filepath, "/export/html/useNumbering", "true")
+            .toBool();
+    ui.numberingCheckBox->setChecked(useNumbering);
+
+    useTaskFlags =
+        settings.localValue(filepath, "/export/html/useTaskFlags", "true")
+            .toBool();
+    ui.taskFlagsCheckBox->setChecked(useTaskFlags);
+
+    useUserFlags =
+        settings.localValue(filepath, "/export/html/useUserFlags", "true")
+            .toBool();
+    ui.userFlagsCheckBox->setChecked(useUserFlags);
+
+    useTextColor =
+        settings.localValue(filepath, "/export/html/useTextColor", "no")
+            .toBool();
+    ui.textColorCheckBox->setChecked(useTextColor);
+
+    /* FIXME-3 this was used in old html export, is not yet in new stylesheet
+        useHeading=settings.readValue
+       ("/export/html/useHeading","false").toBool();
+        checkBox4_2->setChecked(useHeading);
+    */
+
+    saveSettingsInMap =
+        settings.localValue(filepath, "/export/html/saveSettingsInMap", "no")
+            .toBool();
+    ui.saveSettingsInMapCheckBox->setChecked(saveSettingsInMap);
+
+    // CSS settings
+    css_copy =
+        settings.localValue(filepath, "/export/html/copy_css", true).toBool();
+    ui.copyCssCheckBox->setChecked(css_copy);
+
+    QString css_org = vymBaseDir.path() + "/styles/vym.css";
+    css_src = settings.localValue(filepath, "/export/html/css_src", css_org)
+                  .toString();
+    css_dst =
+        settings.localValue(filepath, "/export/html/css_dst", basename(css_org))
+            .toString();
+
+    ui.lineEditCssSrc->setText(css_src);
+    ui.lineEditCssDst->setText(css_dst);
+
+    postscript =
+        settings.localValue(filepath, "/export/html/postscript", "").toString();
+    ui.lineEditPostScript->setText(postscript);
+
+    if (!postscript.isEmpty()) {
+        QMessageBox::warning(0, tr("Warning"),
+                             tr("The settings saved in the map "
+                                "would like to run script:\n\n"
+                                "%1\n\n"
+                                "Please check, if you really\n"
+                                "want to allow this in your system!")
+                                 .arg(postscript));
+    }
+}
+
+void ExportHTMLDialog::setDirectory(const QString &d) { dir.setPath(d); }
+
+void ExportHTMLDialog::dirChanged()
+{
+    setDirectory(ui.lineEditDir->text());
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::browseDirectoryPressed()
+{
+    QFileDialog fd(this);
+    fd.setFileMode(QFileDialog::DirectoryOnly);
+    fd.setWindowTitle(tr("VYM - Export HTML to directory"));
+    fd.setModal(true);
+    fd.setDirectory(QDir::current());
+    fd.show();
+
+    if (fd.exec() == QDialog::Accepted) {
+        QDir dir = fd.directory();
+        ui.lineEditDir->setText(dir.path());
+        settingsChanged = true;
+    }
+}
+
+void ExportHTMLDialog::imageCheckBoxPressed(bool b)
+{
+    includeMapImage = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::includeImagesCheckBoxPressed(bool b)
+{
+    includeImages = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::TOCCheckBoxPressed(bool b)
+{
+    useTOC = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::numberingCheckBoxPressed(bool b)
+{
+    useNumbering = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::taskFlagsCheckBoxPressed(bool b)
+{
+    useTaskFlags = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::userFlagsCheckBoxPressed(bool b)
+{
+    useUserFlags = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::textcolorCheckBoxPressed(bool b)
+{
+    useTextColor = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::saveSettingsInMapCheckBoxPressed(bool b)
+{
+    saveSettingsInMap = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::warningsCheckBoxPressed(bool b)
+{
+    showWarnings = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::outputCheckBoxPressed(bool b)
+{
+    showOutput = b;
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::cssSrcChanged()
+{
+    css_src = ui.lineEditCssSrc->text();
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::cssDstChanged()
+{
+    css_dst = ui.lineEditCssDst->text();
+    settingsChanged = true;
+}
+
+QString ExportHTMLDialog::getCssSrc()
+{
+    if (css_copy)
+        return css_src;
+    else
+        return QString();
+}
+
+QString ExportHTMLDialog::getCssDst() { return css_dst; }
+
+void ExportHTMLDialog::copyCssPressed()
+{
+    css_copy = ui.imageCheckBox->isChecked();
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::browseCssSrcPressed()
+{
+    QFileDialog fd(this);
+    fd.setModal(true);
+    fd.setNameFilter("Cascading Stylesheet (*.css)");
+    fd.setDirectory(QDir::current());
+    fd.show();
+
+    if (fd.exec() == QDialog::Accepted) {
+        if (!fd.selectedFiles().isEmpty()) {
+            css_src = fd.selectedFiles().first();
+            ui.lineEditCssSrc->setText(css_src);
+            settingsChanged = true;
+        }
+    }
+}
+
+void ExportHTMLDialog::browseCssDstPressed()
+{
+    QFileDialog fd(this);
+    fd.setModal(true);
+    fd.setNameFilter("Cascading Stylesheet (*.css)");
+    fd.setDirectory(QDir::current());
+    fd.show();
+
+    if (fd.exec() == QDialog::Accepted) {
+        if (!fd.selectedFiles().isEmpty()) {
+            css_dst = fd.selectedFiles().first();
+            ui.lineEditCssDst->setText(css_dst);
+            settingsChanged = true;
+        }
+    }
+}
+
+void ExportHTMLDialog::postscriptChanged()
+{
+    postscript = ui.lineEditPostScript->text();
+    settingsChanged = true;
+}
+
+void ExportHTMLDialog::browsePostExportButtonPressed()
+{
+    QFileDialog fd(this);
+    fd.setModal(true);
+    fd.setNameFilter("Scripts (*.sh *.pl *.py *.php)");
+    fd.setDirectory(QDir::current());
+    fd.show();
+
+    if (fd.exec() == QDialog::Accepted) {
+        if (!fd.selectedFiles().isEmpty()) {
+            postscript = fd.selectedFiles().first();
+            ui.lineEditPostScript->setText(postscript);
+            settingsChanged = true;
+        }
+    }
+}
+
+void ExportHTMLDialog::saveSettings()
+{
+    // Save options to settings file
+    // (but don't save at destructor, which
+    // is called for "cancel", too)
+    if (!saveSettingsInMap)
+        settings.clearLocal(filepath, "/export/html");
+    else {
+        settings.setLocalValue(
+            filepath, "/export/html/exportDir",
+            dir.absolutePath()); // FIXME-3 exportDir only needed for dialog
+        settings.setLocalValue(filepath, "/export/html/saveSettingsInMap",
+                               "yes");
+        settings.setLocalValue(filepath, "/export/html/postscript", postscript);
+        settings.setLocalValue(filepath, "/export/html/includeMapImage",
+                               includeMapImage);
+        settings.setLocalValue(filepath, "/export/html/includeImages",
+                               includeImages);
+        settings.setLocalValue(filepath, "/export/html/useTOC", useTOC);
+        settings.setLocalValue(filepath, "/export/html/useNumbering",
+                               useNumbering);
+        settings.setLocalValue(filepath, "/export/html/useTaskFlags",
+                               useTaskFlags);
+        settings.setLocalValue(filepath, "/export/html/useUserFlags",
+                               useUserFlags);
+        settings.setLocalValue(filepath, "/export/html/useTextColor",
+                               useTextColor);
+        settings.setLocalValue(filepath, "/export/html/css_copy", css_copy);
+        settings.setLocalValue(filepath, "/export/html/css_src", css_src);
+        settings.setLocalValue(filepath, "/export/html/css_dst", css_dst);
+        settings.setValue("/export/html/showWarnings", showWarnings);
+        settings.setValue("/export/html/showOutput", showOutput);
+    }
+}
+
+void ExportHTMLDialog::setFilePath(const QString &s) { filepath = s; }
+
+void ExportHTMLDialog::setMapName(const QString &s) { mapname = s; }
+
+QDir ExportHTMLDialog::getDir() { return dir; }
+
+bool ExportHTMLDialog::warnings() { return showWarnings; }
+
+bool ExportHTMLDialog::hasChanged() { return settingsChanged; } // FIXME-2 never used
diff --git a/src/export-html-dialog.h b/src/export-html-dialog.h
new file mode 100644 (file)
index 0000000..7994196
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef EXPORTHTMLDIALOG_H
+#define EXPORTHTMLDIALOG_H
+
+#include "ui_export-html-dialog.h"
+
+#include <QDir>
+
+/*! \brief Dialog to export a map as HTML document
+
+This is an overloaded QDialog with various settings needed to call
+convert the vym.xml to a HTML document.
+*/
+
+class ExportHTMLDialog : public QDialog {
+    Q_OBJECT
+  public:
+    ExportHTMLDialog(QWidget *parent = 0);
+
+    virtual QDir getDir();
+    virtual bool warnings();
+    virtual bool hasChanged();
+
+  public slots:
+    virtual void readSettings();
+    virtual void setDirectory(const QString &);
+    virtual void dirChanged();
+    virtual void browseDirectoryPressed();
+    virtual void imageCheckBoxPressed(bool b);
+    virtual void includeImagesCheckBoxPressed(bool b);
+    virtual void TOCCheckBoxPressed(bool b);
+    virtual void numberingCheckBoxPressed(bool b);
+    virtual void taskFlagsCheckBoxPressed(bool b);
+    virtual void userFlagsCheckBoxPressed(bool b);
+    virtual void textcolorCheckBoxPressed(bool b);
+    virtual void saveSettingsInMapCheckBoxPressed(bool b);
+    virtual void warningsCheckBoxPressed(bool b);
+    virtual void outputCheckBoxPressed(bool b);
+    virtual void cssSrcChanged();
+    virtual void cssDstChanged();
+    virtual QString getCssSrc();
+    virtual QString getCssDst();
+    virtual void copyCssPressed();
+    virtual void browseCssSrcPressed();
+    virtual void browseCssDstPressed();
+    virtual void postscriptChanged();
+    virtual void browsePostExportButtonPressed();
+    virtual void saveSettings();
+    virtual void setFilePath(const QString &s);
+    virtual void setMapName(const QString &s);
+
+  public:
+    bool includeMapImage;
+    bool includeImages;
+    bool useTOC;
+    bool useNumbering;
+    bool useTaskFlags;
+    bool useUserFlags;
+    bool useTextColor;
+    QString postscript;
+    bool css_copy;
+
+  protected:
+    QString css_src;
+    QString css_dst;
+    bool showWarnings;
+    bool showOutput;
+    QDir dir;
+    QString filepath;
+    bool settingsChanged;
+    QString mapname;
+    bool saveSettingsInMap;
+
+  private:
+    Ui::ExportHTMLDialog ui;
+    void init();
+};
+
+#endif // EXPORTHTMLDIALOG_H
diff --git a/src/export-html.cpp b/src/export-html.cpp
new file mode 100644 (file)
index 0000000..899b9fe
--- /dev/null
@@ -0,0 +1,462 @@
+#include "export-html.h"
+
+#include <QMessageBox>
+
+#include "branchobj.h"
+#include "mainwindow.h"
+#include "warningdialog.h"
+
+extern QString flagsPath;
+extern Main *mainWindow;
+extern QString vymVersion;
+extern QString vymHome;
+
+extern FlagRowMaster *standardFlagsMaster;
+extern FlagRowMaster *userFlagsMaster;
+
+ExportHTML::ExportHTML() : ExportBase() { init(); }
+
+ExportHTML::ExportHTML(VymModel *m) : ExportBase(m) { init(); }
+
+void ExportHTML::init()
+{
+    exportName = "HTML";
+    extension = ".html";
+    frameURLs = true;
+}
+
+QString ExportHTML::getBranchText(BranchItem *current)
+{
+    if (current) {
+        bool vis = false;
+        QRectF hr;
+        LinkableMapObj *lmo = current->getLMO();
+        if (lmo) {
+            hr = ((BranchObj *)lmo)->getBBoxHeading();
+            vis = lmo->isVisibleObj();
+        }
+        QString col;
+        QString id = model->getSelectString(current);
+        if (dia.useTextColor)
+            col = QString("style='color:%1'")
+                      .arg(current->getHeadingColor().name());
+        QString s = QString("<span class='vym-branch-%1' %2 id='%3'>")
+                        .arg(current->depth())
+                        .arg(col)
+                        .arg(id);
+        QString url = current->getURL();
+        QString heading = quoteMeta(current->getHeadingPlain());
+
+        // Task flags
+        QString taskFlags;
+        if (dia.useTaskFlags) {
+            Task *task = current->getTask();
+            if (task) {
+                QString taskName = task->getIconString();
+                taskFlags +=
+                    QString("<img src=\"flags/flag-%1.png\" alt=\"%2\">")
+                        .arg(taskName)
+                        .arg(QObject::tr("Flag: %1", "Alt tag in HTML export")
+                                 .arg(taskName));
+            }
+        }
+
+        // Standard and user flags
+        QString flags;
+        if (dia.useUserFlags) {
+            Flag *f;
+            foreach (QUuid uid, current->activeFlagUids()) {
+                activeFlags << uid;
+
+                f = standardFlagsMaster->findFlagByUid(uid);
+                if (!f)
+                    f = userFlagsMaster->findFlagByUid(uid);
+
+                if (f)
+                    flags +=
+                        QString(
+                            "<img width=\"32px\" alt=\"%1\" src=\"flags/%2\">")
+                            .arg(QObject::tr("Flag: %1",
+                                             "Alt tag in HTML export")
+                                     .arg(f->getName()))
+                            .arg(uid.toString() +
+                                 f->getImageObj()->getExtension());
+            }
+        }
+
+        // Numbering
+        QString number;
+        if (dia.useNumbering)
+            number = getSectionString(current) + " ";
+
+        // URL
+        if (!url.isEmpty()) {
+            s += QString("<a href=\"%1\">%2<img src=\"flags/flag-url.png\" "
+                         "alt=\"%3\"></a>")
+                     .arg(url)
+                     .arg(number + taskFlags + heading + flags)
+                     .arg(QObject::tr("Flag: url", "Alt tag in HTML export"));
+
+            QRectF fbox = current->getBBoxURLFlag();
+            if (vis)
+                imageMap += QString("  <area shape='rect' coords='%1,%2,%3,%4' "
+                                    "href='%5' alt='External link: %6'>\n")
+                                .arg(fbox.left() - offset.x())
+                                .arg(fbox.top() - offset.y())
+                                .arg(fbox.right() - offset.x())
+                                .arg(fbox.bottom() - offset.y())
+                                .arg(url)
+                                .arg(heading);
+        }
+        else
+            s += number + taskFlags + heading + flags;
+
+        s += "</span>";
+
+        // Create imagemap
+        if (vis && dia.includeMapImage)
+            imageMap += QString("  <area shape='rect' coords='%1,%2,%3,%4' "
+                                "href='#%5' alt='%6'>\n")
+                            .arg(hr.left() - offset.x())
+                            .arg(hr.top() - offset.y())
+                            .arg(hr.right() - offset.x())
+                            .arg(hr.bottom() - offset.y())
+                            .arg(id)
+                            .arg(heading);
+
+        // Include images experimental
+        if (dia.includeImages) {
+            int imageCount = current->imageCount();
+            ImageItem *image;
+            QString imageName;
+            for (int i = 0; i < imageCount; i++) {
+                image = current->getImageNum(i);
+                imageName = image->getUniqueFilename();
+                image->saveImage(dirPath + "/" + imageName);
+                s += "</br><img src=\"" + imageName;
+                s += "\" alt=\"" +
+                     QObject::tr("Image: %1", "Alt tag in HTML export")
+                         .arg(image->getOriginalFilename());
+                s += "\"></br>";
+            }
+        }
+
+        // Include note
+        if (!current->isNoteEmpty()) {
+            VymNote note = current->getNote();
+            QString n;
+            if (note.isRichText()) {
+                n = note.getText();
+                QRegExp re("<p.*>");
+                re.setMinimal(true);
+                if (current->getNote().getFontHint() == "fixed")
+                    n.replace(re, "<p class=\"vym-fixed-note-paragraph\">");
+                else
+                    n.replace(re, "<p class=\"vym-note-paragraph\">");
+
+                re.setPattern("</?html>");
+                n.replace(re, "");
+
+                re.setPattern("</?head.*>");
+                n.replace(re, "");
+
+                re.setPattern("</?body.*>");
+                n.replace(re, "");
+
+                re.setPattern("</?meta.*>");
+                n.replace(re, "");
+
+                re.setPattern("<style.*>.*</style>");
+                n.replace(re, "");
+
+                // re.setPattern("<!DOCTYPE.*>");
+                // n.replace(re,"");
+            }
+            else {
+                n = current->getNoteASCII(0, 0)
+                        .replace("<", "&lt;")
+                        .replace(">", "&gt;");
+                n.replace("\n", "<br/>");
+                if (current->getNote().getFontHint() == "fixed")
+                    n = "<pre>" + n + "</pre>";
+            }
+            s += "\n<table class=\"vym-note\"><tr><td "
+                 "class=\"vym-note-flag\">\n<td>\n" +
+                 n + "\n</td></tr></table>\n";
+        }
+        return s;
+    }
+    return QString();
+}
+
+QString ExportHTML::buildList(BranchItem *current)
+{
+    QString r;
+
+    uint i = 0;
+    uint visChilds = 0;
+
+    BranchItem *bi = current->getFirstBranch();
+
+    QString ind = "\n" + indent(current->depth() + 1, false);
+
+    QString sectionBegin;
+    QString sectionEnd;
+    QString itemBegin;
+    QString itemEnd;
+
+    switch (current->depth() + 1) {
+    case 0:
+        sectionBegin = "";
+        sectionEnd = "";
+        itemBegin = "<h1>";
+        itemEnd = "</h1>";
+        break;
+    case 1:
+        sectionBegin = "";
+        sectionEnd = "";
+        itemBegin = "<h2>";
+        itemEnd = "</h2>";
+        break;
+    default:
+        sectionBegin =
+            "<ul " +
+            QString("class=\"vym-list-ul-%1\"").arg(current->depth() + 1) + ">";
+        sectionEnd = "</ul>";
+        itemBegin = "  <li>";
+        itemEnd = "  </li>";
+        break;
+    }
+
+    if (bi && !bi->hasHiddenExportParent() && !bi->isHidden()) {
+        r += ind + sectionBegin;
+        while (bi) {
+            if (!bi->hasHiddenExportParent() && !bi->isHidden()) {
+                visChilds++;
+                r += ind + itemBegin;
+                r += getBranchText(bi);
+
+                if (itemBegin.startsWith("<h"))
+                    r += itemEnd + buildList(bi);
+                else
+                    r += buildList(bi) + itemEnd;
+            }
+            i++;
+            bi = current->getBranchNum(i);
+        }
+        r += ind + sectionEnd;
+    }
+
+    return r;
+}
+
+QString ExportHTML::createTOC()
+{
+    QString toc;
+    QString number;
+    toc += "<table class=\"vym-toc\">\n";
+    toc += "<tr><td class=\"vym-toc-title\">\n";
+    toc += QObject::tr("Contents:", "Used in HTML export");
+    toc += "\n";
+    toc += "</td></tr>\n";
+    toc += "<tr><td>\n";
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    model->nextBranch(cur, prev);
+    while (cur) {
+        if (!cur->hasHiddenExportParent() && !cur->hasScrolledParent()) {
+            if (dia.useNumbering)
+                number = getSectionString(cur);
+            toc +=
+                QString("<div class=\"vym-toc-branch-%1\">").arg(cur->depth());
+            toc += QString("<a href=\"#%1\"> %2 %3</a></br>\n")
+                       .arg(model->getSelectString(cur))
+                       .arg(number)
+                       .arg(quoteMeta(cur->getHeadingPlain()));
+            toc += "</div>";
+        }
+        model->nextBranch(cur, prev);
+    }
+    toc += "</td></tr>\n";
+    toc += "</table>\n";
+    return toc;
+}
+
+void ExportHTML::doExport(bool useDialog)
+{
+    // Setup dialog and read settings
+    dia.setMapName(model->getMapName());
+    dia.setFilePath(model->getFilePath());
+    dia.readSettings();
+
+    if (dirPath != defaultDirPath)
+        dia.setDirectory(dirPath);
+
+    if (useDialog) {
+        if (dia.exec() != QDialog::Accepted)
+            return;
+        model->setChanged();
+    }
+
+    // Check, if warnings should be used before overwriting
+    // the output directory
+    if (dia.getDir().exists() && dia.getDir().count() > 0) {
+        WarningDialog warn;
+        warn.showCancelButton(true);
+        warn.setText(QString("The directory %1 is not empty.\n"
+                             "Do you risk to overwrite some of its contents?")
+                         .arg(dia.getDir().absolutePath()));
+        warn.setCaption("Warning: Directory not empty");
+        warn.setShowAgainName("mainwindow/export-XML-overwrite-dir");
+
+        if (warn.exec() != QDialog::Accepted) {
+            mainWindow->statusMessage(QString(QObject::tr("Export aborted.")));
+            return;
+        }
+    }
+
+    dirPath = dia.getDir().absolutePath();
+    filePath = getFilePath();
+
+    // Copy CSS file
+    if (dia.css_copy) {
+        cssSrc = dia.getCssSrc();
+        cssDst = dirPath + "/" + basename(cssSrc);
+        if (cssSrc.isEmpty()) {
+            QMessageBox::critical(
+                0, QObject::tr("Critical"),
+                QObject::tr("Could not find stylesheet %1").arg(cssSrc));
+            return;
+        }
+        QFile src(cssSrc);
+        QFile dst(cssDst);
+        if (dst.exists())
+            dst.remove();
+
+        if (!src.copy(cssDst)) {
+            QMessageBox::critical(
+                0, QObject::tr("Error", "ExportHTML"),
+                QObject::tr("Could not copy\n%1 to\n%2", "ExportHTML")
+                    .arg(cssSrc)
+                    .arg(cssDst));
+            return;
+        }
+    }
+
+    // Open file for writing
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Trying to save HTML file:") + "\n\n" +
+                QObject::tr("Could not write %1").arg(filePath));
+        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
+        return;
+    }
+    QTextStream ts(&file);
+    ts.setCodec("UTF-8");
+
+    // Hide stuff during export
+    model->setExportMode(true);
+
+    // Write header
+    ts << "<html>";
+    ts << "\n<meta http-equiv=\"content-type\" content=\"text/html; "
+          "charset=UTF-8\"> ";
+    ts << "\n<meta name=\"generator=\" content=\" vym - view your mind - " +
+              vymVersion + " - " + vymHome + "\">";
+    ts << "\n<meta name=\"author\" content=\"" + quoteMeta(model->getAuthor()) +
+              "\"> ";
+    ts << "\n<meta name=\"description\" content=\"" +
+              quoteMeta(model->getComment()) + "\"> ";
+    ts << "\n<link rel='stylesheet' id='css.stylesheet' href='"
+       << basename(cssDst) << "' />\n";
+    QString title = model->getTitle();
+    if (title.isEmpty())
+        title = model->getMapName();
+    ts << "\n<head><title>" + quoteMeta(title) + "</title></head>";
+    ts << "\n<body>\n";
+
+    // Include image
+    // (be careful: this resets Export mode, so call before exporting branches)
+    if (dia.includeMapImage) {
+        QString mapName = getMapName();
+        ts << "<center><img src=\"" << mapName << ".png\"";
+        ts << "alt=\""
+           << QString("Image of map: %1.vym").arg(mapName)
+           << "\"";
+        ts << " usemap='#imagemap'></center>\n";
+        offset =
+            model->exportImage(dirPath + "/" + mapName + ".png", false, "PNG");
+    }
+
+    // Include table of contents
+    if (dia.useTOC)
+        ts << createTOC();
+
+    // reset flags
+    model->resetUsedFlags();
+
+    // Main loop over all mapcenters
+    ts << buildList(model->getRootItem()) << "\n";
+
+    // Imagemap
+    ts << "<map name='imagemap'>\n" + imageMap + "</map>\n";
+
+    // Write footer
+    ts << "<hr/>\n";
+    ts << "<table class=\"vym-footer\">   \n\
+        <tr> \n\
+        <td class=\"vym-footerL\">" +
+              filePath + "</td> \n\
+            <td class=\"vym-footerC\">" +
+              model->getDate() + "</td> \n\
+            <td class=\"vym-footerR\"> <a href='" +
+              vymHome + "'>vym " + vymVersion + "</a></td> \n\
+            </tr> \n \
+            </table>\n";
+    ts << "</body></html>";
+    file.close();
+
+    QString flagsBasePath = dia.getDir().absolutePath() + "/flags";
+    QDir d(flagsBasePath);
+    if (!d.exists()) {
+        if (!dia.getDir().mkdir("flags")) {
+            QMessageBox::critical(
+                0, QObject::tr("Critical"),
+                QObject::tr("Trying to create directory for flags:") + "\n\n" +
+                    QObject::tr("Could not create %1").arg(flagsBasePath));
+            return;
+        }
+    }
+    Flag *f;
+    foreach (QUuid uid, activeFlags) {
+        f = standardFlagsMaster->findFlagByUid(uid);
+        if (!f)
+            f = userFlagsMaster->findFlagByUid(uid);
+
+        if (f) {
+            ImageObj *io = f->getImageObj();
+            if (io)
+                io->save(flagsBasePath + "/" + uid.toString() +
+                         io->getExtension());
+        }
+    }
+
+    if (!dia.postscript.isEmpty()) {
+        VymProcess p;
+        p.runScript(dia.postscript, dirPath + "/" + filePath);
+    }
+
+    displayedDestination = filePath;
+
+    result = ExportBase::Success;
+
+    QStringList args;
+    args << filePath;
+    args << dirPath;
+    completeExport(args);
+
+    dia.saveSettings();
+    model->setExportMode(false);
+}
diff --git a/src/export-html.h b/src/export-html.h
new file mode 100644 (file)
index 0000000..25569f6
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef EXPORT_HTML_H
+#define EXPORT_HTML_H
+
+#include "export-base.h"
+#include "export-html-dialog.h"
+
+class ExportHTML : public ExportBase {
+  public:
+    ExportHTML();
+    ExportHTML(VymModel *m);
+    virtual void init();
+    virtual QString createTOC();
+    virtual void doExport(bool useDialog = true);
+
+  private:
+    QString getBranchText(BranchItem *);
+    QString buildList(BranchItem *);
+    QString imageMap;
+    QString cssSrc;
+    QString cssDst;
+
+    bool frameURLs;
+
+    QPointF offset;
+
+    QSet<QUuid> activeFlags;
+
+    ExportHTMLDialog dia;
+};
+
+#endif
diff --git a/src/export-impress.cpp b/src/export-impress.cpp
new file mode 100644 (file)
index 0000000..5369559
--- /dev/null
@@ -0,0 +1,217 @@
+#include <QMessageBox>
+
+#include "export-impress.h"
+#include "mainwindow.h"
+
+extern QString vymName;
+extern Main *mainWindow;
+
+ExportOO::ExportOO()
+{
+    exportName = "Impress";
+    filter = "LibreOffice Impress (*.odp);;All (* *.*)";
+    caption = vymName + " -" +
+              QObject::tr("Export as LibreOffice Impress presentation");
+    useSections = false;
+}
+
+ExportOO::~ExportOO() {}
+
+QString ExportOO::buildList(TreeItem *current)
+{
+    QString r;
+
+    uint i = 0;
+    BranchItem *bi = current->getFirstBranch();
+    if (bi) {
+        // Start list
+        r += "<text:list text:style-name=\"vym-list\">\n";
+        while (bi) {
+            if (!bi->hasHiddenExportParent()) {
+                r += "<text:list-item><text:p >";
+                r += quoteMeta(bi->getHeadingPlain());
+                // If necessary, write note
+                if (!bi->isNoteEmpty())
+                    r += "<text:line-break/>" + bi->getNoteASCII();
+                r += "</text:p>";
+                r += buildList(bi); // recursivly add deeper branches
+                r += "</text:list-item>\n";
+            }
+            i++;
+            bi = current->getBranchNum(i);
+        }
+        r += "</text:list>\n";
+    }
+    return r;
+}
+
+void ExportOO::exportPresentation()
+{
+    QString allPages;
+
+    BranchItem *firstMCO =
+        (BranchItem *)(model->getRootItem()->getFirstBranch());
+    if (!firstMCO) {
+        QMessageBox::critical(0, QObject::tr("Critical Export Error"),
+                              QObject::tr("No objects in map!"));
+        return;
+    }
+
+    // Insert new content
+    // FIXME add extra title in mapinfo for vym 1.13.x
+    content.replace("<!-- INSERT TITLE -->",
+                    quoteMeta(firstMCO->getHeadingPlain()));
+    content.replace("<!-- INSERT AUTHOR -->", quoteMeta(model->getAuthor()));
+
+    QString onePage;
+    QString list;
+
+    BranchItem *sectionBI;
+    int i = 0;
+    BranchItem *pagesBI;
+    int j = 0;
+
+    int mapcenters = model->getRootItem()->branchCount();
+
+    // useSections already has been set in setConfigFile
+    if (mapcenters > 1)
+        sectionBI = firstMCO;
+    else
+        sectionBI = firstMCO->getFirstBranch();
+
+    // Walk sections
+    while (sectionBI && !sectionBI->hasHiddenExportParent()) {
+        if (useSections) {
+            // Add page with section title
+            onePage = sectionTemplate;
+            onePage.replace("<!-- INSERT PAGE HEADING -->",
+                            quoteMeta(sectionBI->getHeadingPlain()));
+            allPages += onePage;
+            pagesBI = sectionBI->getFirstBranch();
+        }
+        else {
+            // i=-2; // only use inner loop to
+            // turn mainbranches into pages
+            // sectionBI=firstMCO;
+            pagesBI = sectionBI;
+        }
+
+        j = 0;
+        while (pagesBI && !pagesBI->hasHiddenExportParent()) {
+            // Add page with list of items
+            onePage = pageTemplate;
+            onePage.replace("<!-- INSERT PAGE HEADING -->",
+                            quoteMeta(pagesBI->getHeadingPlain()));
+            list = buildList(pagesBI);
+            onePage.replace("<!-- INSERT LIST -->", list);
+            allPages += onePage;
+            if (pagesBI != sectionBI) {
+                j++;
+                pagesBI = ((BranchItem *)pagesBI->parent())->getBranchNum(j);
+            }
+            else
+                pagesBI = NULL; // We are already iterating over the sectionBIs
+        }
+        i++;
+        if (mapcenters > 1)
+            sectionBI = model->getRootItem()->getBranchNum(i);
+        else
+            sectionBI = firstMCO->getBranchNum(i);
+    }
+
+    content.replace("<!-- INSERT PAGES -->", allPages);
+
+    // Write modified content
+    QFile f(contentFile);
+    if (!f.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not write %1").arg(contentFile));
+        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
+        return;
+    }
+
+    QTextStream t(&f);
+    t.setCodec("UTF-8");
+    t << content;
+    f.close();
+
+    // zip tmpdir to destination
+    zipDir(tmpDir, filePath);
+
+    displayedDestination = filePath;
+
+    result = ExportBase::Success;
+
+    QStringList args;
+    args << filePath;
+    args << configFile;
+    completeExport(args);
+}
+
+bool ExportOO::setConfigFile(const QString &cf)
+{
+    configFile = cf;
+    int i = cf.lastIndexOf("/");
+    if (i >= 0)
+        configDir = cf.left(i);
+    SimpleSettings set;
+
+    if (!set.readSettings(configFile)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Couldn't read settings from \"%1\"").arg(configFile));
+        return false;
+    }
+
+    // set paths
+    templateDir = configDir + "/" + set.value("Template");
+
+    setupTmpDir();
+
+    QDir d(templateDir);
+    if (!d.exists()) {
+        QMessageBox::critical(0, QObject::tr("Critical Export Error"),
+                              QObject::tr("Check \"%1\" in\n%2")
+                                  .arg("Template=" + set.value("Template"))
+                                  .arg(configFile));
+        return false;
+    }
+
+    contentTemplateFile = templateDir + "content-template.xml";
+    pageTemplateFile = templateDir + "page-template.xml";
+    sectionTemplateFile = templateDir + "section-template.xml";
+    contentFile = tmpDir.path() + "/content.xml";
+
+    if (set.value("useSections").contains("yes"))
+        useSections = true;
+
+    // Copy template to tmpdir
+    copyDir(templateDir, tmpDir);
+
+    // Read content-template
+    if (!loadStringFromDisk(contentTemplateFile, content)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not read %1").arg(contentTemplateFile));
+        return false;
+    }
+
+    // Read page-template
+    if (!loadStringFromDisk(pageTemplateFile, pageTemplate)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not read %1").arg(pageTemplateFile));
+        return false;
+    }
+
+    // Read section-template
+    if (useSections &&
+        !loadStringFromDisk(sectionTemplateFile, sectionTemplate)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not read %1").arg(sectionTemplateFile));
+        return false;
+    }
+    return true;
+}
diff --git a/src/export-impress.h b/src/export-impress.h
new file mode 100644 (file)
index 0000000..d7c234a
--- /dev/null
@@ -0,0 +1,29 @@
+#ifndef EXPORT_IMPRESS_H
+#define EXPORT_IMPRESS_H
+
+#include "export-base.h"
+
+class ExportOO : public ExportBase {
+  public:
+    ExportOO();
+    ~ExportOO();
+    void exportPresentation();
+    bool setConfigFile(const QString &);
+
+  private:
+    QString buildList(TreeItem *);
+    bool useSections;
+    QString configFile;
+    QString configDir;
+    QString templateDir;
+    QString content;
+    QString contentTemplate;
+    QString contentTemplateFile;
+    QString contentFile;
+    QString pageTemplate;
+    QString pageTemplateFile;
+    QString sectionTemplate;
+    QString sectionTemplateFile;
+};
+
+#endif
diff --git a/src/export-latex.cpp b/src/export-latex.cpp
new file mode 100644 (file)
index 0000000..b4aaa8d
--- /dev/null
@@ -0,0 +1,113 @@
+#include "export-latex.h"
+
+#include "mainwindow.h"
+#include <QMessageBox>
+
+extern Main *mainWindow;
+extern Settings settings;
+
+ExportLaTeX::ExportLaTeX()
+{
+    exportName = "LaTeX";
+    filter = "LaTeX files (*.tex);;All (* *.*)";
+
+    // Note: key in hash on left side is the regular expression, which
+    // will be replaced by string on right side
+    // E.g. a literal $ will be replaced by \$
+    esc["\\$"] = "\\$";
+    esc["\\^"] = "\\^";
+    esc["%"] = "\\%";
+    esc["&"] = "\\&";
+    esc["~"] = "\\~";
+    esc["_"] = "\\_";
+    esc["\\\\"] = "\\";
+    esc["\\{"] = "\\{";
+    esc["\\}"] = "\\}";
+}
+
+QString ExportLaTeX::escapeLaTeX(const QString &s)
+{
+    QString r = s;
+
+    QRegExp rx;
+    rx.setMinimal(true);
+
+    foreach (QString p, esc.keys()) {
+        rx.setPattern(p);
+        r.replace(rx, esc[p]);
+    }
+    return r;
+}
+
+void ExportLaTeX::doExport()
+{
+    // Exports a map to a LaTex file.
+    // This file needs to be included
+    // or inported into a LaTex document
+    // it will not add a preamble, or anything
+    // that makes a full LaTex document.
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not export as LaTeX to %1").arg(filePath));
+        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
+        return;
+    }
+
+    // Read default section names
+    QStringList sectionNames;
+    sectionNames << ""
+                 << "chapter"
+                 << "section"
+                 << "subsection"
+                 << "subsubsection"
+                 << "paragraph";
+
+    for (int i = 0; i < 6; i++)
+        sectionNames.replace(
+            i, settings
+                   .value(QString("/export/latex/sectionName-%1").arg(i),
+                          sectionNames.at(i))
+                   .toString());
+
+    QString out;
+
+    // Main loop over all branches
+    QString s;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    model->nextBranch(cur, prev);
+    while (cur) {
+        if (!cur->hasHiddenExportParent()) {
+            int d = cur->depth();
+            s = escapeLaTeX(cur->getHeadingPlain());
+            if (sectionNames.at(d).isEmpty() || d >= sectionNames.count())
+                out += s + "\n";
+            else {
+                out += "\n";
+                out += "\\" + sectionNames.at(d) + "{" + s + "}";
+                out += "\n";
+            }
+            // If necessary, write note
+            if (!cur->isNoteEmpty()) {
+                out += (cur->getNoteASCII());
+                out += "\n";
+            }
+        }
+        model->nextBranch(cur, prev);
+    }
+
+    QTextStream ts(&file);
+    ts.setCodec("UTF-8");
+    ts << out;
+    file.close();
+
+    QClipboard *clipboard = QGuiApplication::clipboard();
+    clipboard->setText(out);
+
+    result = ExportBase::Success;
+
+    displayedDestination = filePath;
+    completeExport();
+}
diff --git a/src/export-latex.h b/src/export-latex.h
new file mode 100644 (file)
index 0000000..5e3fd14
--- /dev/null
@@ -0,0 +1,16 @@
+#ifndef EXPORT_LATEX_H
+#define EXPORT_LATEX_H
+
+#include "export-base.h"
+
+class ExportLaTeX : public ExportBase {
+  public:
+    ExportLaTeX();
+    QString escapeLaTeX(const QString &s);
+    virtual void doExport();
+
+  private:
+    QHash<QString, QString> esc;
+};
+
+#endif
diff --git a/src/export-markdown.cpp b/src/export-markdown.cpp
new file mode 100644 (file)
index 0000000..b9c70dd
--- /dev/null
@@ -0,0 +1,155 @@
+#include "export-markdown.h"
+
+#include "mainwindow.h"
+#include <QMessageBox>
+
+extern QString vymName;
+extern Main *mainWindow;
+
+ExportMarkdown::ExportMarkdown()
+{
+    exportName = "Markdown";
+    filter = "TXT (*.txt);;All (* *.*)";
+    caption = vymName + " -" + QObject::tr("Export as Markdown");
+}
+
+void ExportMarkdown::doExport()
+{
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not export as Markdown to %1").arg(filePath));
+        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
+        return;
+    }
+
+    QString out;
+
+    // Main loop over all branches
+    QString s;
+    QString curIndent;
+    QString dashIndent;
+    int i;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+
+    QString curHeading;
+
+    int lastDepth = 0;
+
+    QStringList tasks;
+
+    model->nextBranch(cur, prev);
+    while (cur) {
+        if (cur->getType() == TreeItem::Branch ||
+            cur->getType() == TreeItem::MapCenter) {
+            // Insert newline after previous list
+            if (cur->depth() < lastDepth)
+                out += "\n";
+
+            // Make indentstring
+            curIndent = "";
+            for (i = 1; i < cur->depth() - 1; i++)
+                curIndent += indentPerDepth;
+
+            curHeading = cur->getHeadingText();
+
+            // If necessary, write heading as URL
+            if (!cur->getURL().isEmpty())
+                curHeading = "[" + curHeading + "](" + cur->getURL() + ")";
+
+            if (!cur->hasHiddenExportParent()) {
+                // qDebug() << "ExportMarkdown::
+                // "<<curIndent.toStdString()<<cur->curHeading.toStdString();
+
+                dashIndent = "";
+                switch (cur->depth()) {
+                case 0:
+                    out += underline(curHeading, QString("="));
+                    out += "\n";
+                    break;
+                case 1:
+                    out += "\n";
+                    out += (underline(curHeading, QString("-")));
+                    out += "\n";
+                    break;
+                case 2:
+                    out += "\n";
+                    out += (curIndent + "### " + curHeading);
+                    out += "\n";
+                    dashIndent = "  ";
+                    break;
+                case 3:
+                    out += (curIndent + "- " + curHeading);
+                    out += "\n";
+                    dashIndent = "  ";
+                    break;
+                default:
+                    out += (curIndent + "- " + curHeading);
+                    out += "\n";
+                    dashIndent = "  ";
+                    break;
+                }
+
+                // If there is a task, save it for potential later display
+                if (listTasks && cur->getTask()) {
+                    tasks.append(QString("[%1]: %2")
+                                     .arg(cur->getTask()->getStatusString())
+                                     .arg(curHeading));
+                }
+
+                // If necessary, write vymlink
+                if (!cur->getVymLink().isEmpty())
+                    out += (curIndent + dashIndent + cur->getVymLink()) +
+                           " (vym mindmap)\n";
+
+                // If necessary, write note
+                if (!cur->isNoteEmpty()) {
+                    // curIndent +="  | ";
+                    // Only indent for bullet points
+                    if (cur->depth() > 2)
+                        curIndent += "  ";
+                    out += '\n' + cur->getNoteASCII(curIndent, 80);
+                }
+                lastDepth = cur->depth();
+            }
+        }
+        model->nextBranch(cur, prev);
+    }
+
+    if (listTasks) {
+        out += "\n\nTasks\n-----\n\n";
+
+        foreach (QString t, tasks) {
+            out += " - " + t + "\n";
+        }
+    }
+    QTextStream ts(&file);
+    ts.setCodec("UTF-8");
+    ts << out;
+    file.close();
+
+    QClipboard *clipboard = QGuiApplication::clipboard();
+    clipboard->setText(out);
+
+    QString listTasksString = listTasks ? "true" : "false";
+
+    displayedDestination = filePath;
+
+    result = ExportBase::Success;
+
+    QStringList args;
+    args << filePath;
+    args << listTasksString;
+
+    completeExport(args);
+}
+
+QString ExportMarkdown::underline(const QString &text, const QString &line)
+{
+    QString r = text + "\n";
+    for (int j = 0; j < text.length(); j++)
+        r += line;
+    return r;
+}
diff --git a/src/export-markdown.h b/src/export-markdown.h
new file mode 100644 (file)
index 0000000..6b7f6a9
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef EXPORT_MARKDOWN_H
+#define EXPORT_MARKDOWN_H
+
+#include "export-base.h"
+
+class ExportMarkdown : public ExportBase {
+  public:
+    ExportMarkdown();
+    virtual void doExport();
+    virtual QString underline(const QString &text, const QString &line);
+};
+
+#endif
diff --git a/src/export-orgmode.cpp b/src/export-orgmode.cpp
new file mode 100644 (file)
index 0000000..0334a97
--- /dev/null
@@ -0,0 +1,55 @@
+#include "export-orgmode.h"
+
+#include "mainwindow.h"
+#include <QMessageBox>
+
+extern Main *mainWindow;
+
+ExportOrgMode::ExportOrgMode()
+{
+    exportName = "OrgMode";
+    filter = "org-mode (*.org);;All (* *.*)";
+}
+
+void ExportOrgMode::doExport()
+{
+    // Exports a map to an org-mode file.
+    // This file needs to be read
+    // by EMACS into an org mode buffer
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Export Error"),
+            QObject::tr("Could not export as OrgMode to %1").arg(filePath));
+        mainWindow->statusMessage(QString(QObject::tr("Export failed.")));
+        return;
+    }
+    QTextStream ts(&file);
+    ts.setCodec("UTF-8");
+
+    // Main loop over all branches
+    QString s;
+    int i;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    model->nextBranch(cur, prev);
+    while (cur) {
+        if (!cur->hasHiddenExportParent()) {
+            for (i = 0; i <= cur->depth(); i++)
+                ts << ("*");
+            ts << (" " + cur->getHeadingPlain() + "\n");
+            // If necessary, write note
+            if (!cur->isNoteEmpty()) {
+                ts << (cur->getNoteASCII(0, 80));
+                ts << ("\n");
+            }
+        }
+        model->nextBranch(cur, prev);
+    }
+    file.close();
+
+    result = ExportBase::Success;
+
+    displayedDestination = filePath;
+    completeExport();
+}
diff --git a/src/export-orgmode.h b/src/export-orgmode.h
new file mode 100644 (file)
index 0000000..b16ea2c
--- /dev/null
@@ -0,0 +1,12 @@
+#ifndef EXPORT_ORGMODE_H
+#define EXPORT_ORGMODE_H
+
+#include "export-base.h"
+
+class ExportOrgMode : public ExportBase {
+  public:
+    ExportOrgMode();
+    virtual void doExport();
+};
+
+#endif
diff --git a/src/export-taskjuggler.cpp b/src/export-taskjuggler.cpp
new file mode 100644 (file)
index 0000000..f0e5662
--- /dev/null
@@ -0,0 +1,21 @@
+#include "export-taskjuggler.h"
+
+#include "xsltproc.h"
+
+extern QDir vymBaseDir;
+
+void ExportTaskjuggler::doExport()
+{
+    model->exportXML("", tmpDir.path(), false);
+
+    XSLTProc p;
+    p.setInputFile(tmpDir.path() + "/" + model->getMapName() + ".xml");
+    p.setOutputFile(filePath);
+    p.setXSLFile(vymBaseDir.path() + "/styles/vym2taskjuggler.xsl");
+    p.process();
+
+    result = ExportBase::Success;
+
+    displayedDestination = filePath;
+    completeExport();
+}
diff --git a/src/export-taskjuggler.h b/src/export-taskjuggler.h
new file mode 100644 (file)
index 0000000..5b9e97f
--- /dev/null
@@ -0,0 +1,11 @@
+#ifndef EXPORT_TASKJUGGLER_H
+#define EXPORT_TASKJUGGLER_H
+
+#include "export-base.h"
+
+class ExportTaskjuggler : public ExportBase {
+  public:
+    virtual void doExport();
+};
+
+#endif
diff --git a/src/exportoofiledialog.cpp b/src/exportoofiledialog.cpp
new file mode 100644 (file)
index 0000000..b7e0f35
--- /dev/null
@@ -0,0 +1,78 @@
+#include "exportoofiledialog.h"
+
+ExportOOFileDialog::ExportOOFileDialog() : QFileDialog() { init(); }
+
+ExportOOFileDialog::ExportOOFileDialog(QWidget *parent, const QString &caption)
+    : QFileDialog(parent, caption)
+{
+    init();
+}
+
+bool ExportOOFileDialog::foundConfig() { return !filters.isEmpty(); }
+
+QString ExportOOFileDialog::selectedConfig()
+{
+    QStringList::Iterator itpath = configPaths.begin();
+    QStringList::Iterator itf = filters.begin();
+    while (itf != filters.end()) {
+        if (*itf == selectedNameFilter())
+            return *itpath;
+        itpath++;
+        itf++;
+    }
+    qWarning("ExportOOFileDialog::selectedConfig  No filter found!");
+    return "";
+}
+
+void ExportOOFileDialog::newConfigPath(const QString &s) { lastFilter = s; }
+
+void ExportOOFileDialog::show()
+{
+    setNameFilters(filters);
+    QFileDialog::show();
+}
+
+void ExportOOFileDialog::init()
+{
+    setFileMode(QFileDialog::AnyFile);
+    QDir d;
+    d.setPath("/usr/share/vym/exports");
+    scanExportConfigs(d);
+    d.setPath(d.homePath() + "/.vym/exports");
+    scanExportConfigs(d);
+    d.setPath(d.currentPath() + "/exports");
+    scanExportConfigs(d);
+
+    setNameFilters(filters);
+    connect(this, SIGNAL(filterSelected(const QString &)), this,
+            SLOT(newConfigPath(const QString &)));
+}
+
+void ExportOOFileDialog::addFilter(const QString &f)
+{
+    lastFilter = f;
+    filters.append(f);
+}
+
+void ExportOOFileDialog::scanExportConfigs(QDir dir)
+{
+    // Scan existing export configurations
+    SimpleSettings set;
+    QFile f;
+    if (dir.exists()) {
+        // Traverse files
+        dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
+
+        QFileInfoList list = dir.entryInfoList();
+        for (int i = 0; i < list.size(); ++i) {
+            QFileInfo fi = list.at(i);
+
+            if (fi.fileName().endsWith(".conf")) {
+                configPaths.append(fi.absoluteFilePath());
+                set.clear();
+                set.readSettings(fi.absoluteFilePath());
+                addFilter(set.value(QString("Name")) + " (*.odp)");
+            }
+        }
+    }
+}
diff --git a/src/exportoofiledialog.h b/src/exportoofiledialog.h
new file mode 100644 (file)
index 0000000..5ee3654
--- /dev/null
@@ -0,0 +1,36 @@
+#ifndef EXPORTOOFILEDIALOG
+#define EXPORTOOFILEDIALOG
+
+#include <QFileDialog>
+#include <QStringList>
+
+#include "settings.h"
+
+/*! \brief Dialog to select output file and format for Open Office documents
+
+This is an overloaded QFileDialog, which allows to select templates by setting a
+type.
+*/
+
+class ExportOOFileDialog : public QFileDialog {
+    Q_OBJECT
+  public:
+    ExportOOFileDialog();
+
+    ExportOOFileDialog(QWidget *parent, const QString &caption = QString());
+    bool foundConfig();
+    QString selectedConfig();
+    void show();
+
+  private slots:
+    void newConfigPath(const QString &f);
+
+  private:
+    void init();
+    void addFilter(const QString &);
+    void scanExportConfigs(QDir);
+    QStringList configPaths;
+    QStringList filters;
+    QString lastFilter;
+};
+#endif
diff --git a/src/extrainfodialog.cpp b/src/extrainfodialog.cpp
new file mode 100644 (file)
index 0000000..4a152ea
--- /dev/null
@@ -0,0 +1,40 @@
+#include "extrainfodialog.h"
+
+ExtraInfoDialog::ExtraInfoDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+}
+
+void ExtraInfoDialog::setMapName(const QString &s) { ui.mapNameLE->setText(s); }
+
+void ExtraInfoDialog::setFileLocation(const QString &s)
+{
+    ui.fileLocationLE->setText(s);
+}
+
+void ExtraInfoDialog::setMapTitle(const QString &s)
+{
+    ui.mapTitleLE->setText(s);
+}
+
+QString ExtraInfoDialog::getMapTitle() { return ui.mapTitleLE->text(); }
+
+void ExtraInfoDialog::setComment(const QString &s) { ui.commentTE->setText(s); }
+
+QString ExtraInfoDialog::getComment() { return ui.commentTE->toPlainText(); }
+
+void ExtraInfoDialog::setAuthor(const QString &s) { ui.authorLE->setText(s); }
+
+QString ExtraInfoDialog::getAuthor() { return ui.authorLE->text(); }
+
+void ExtraInfoDialog::setStats(const QString &s) { ui.statsTE->setText(s); }
+
+void ExtraInfoDialog::setReadOnly(bool b)
+{
+    readOnly = b;
+    ui.authorLE->setReadOnly(readOnly);
+    ui.commentTE->setReadOnly(readOnly);
+    ui.mapTitleLE->setReadOnly(readOnly);
+}
+
+bool ExtraInfoDialog::isReadOnly() { return readOnly; }
diff --git a/src/extrainfodialog.h b/src/extrainfodialog.h
new file mode 100644 (file)
index 0000000..712a212
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef EXTRAINFODIALOG_H
+#define EXTRAINFODIALOG_H
+
+#include "ui_extrainfodialog.h"
+
+/* \brief Dialog to display and edit map specific information like author,
+ * comment, etc.
+ */
+
+class ExtraInfoDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    ExtraInfoDialog(QWidget *parent = 0);
+
+    virtual QString getComment();
+    virtual QString getAuthor();
+    virtual QString getMapTitle();
+    virtual void setStats(const QString &s);
+    void setReadOnly(bool b);
+    bool isReadOnly();
+
+  public slots:
+    virtual void setMapName(const QString &s);
+    virtual void setFileLocation(const QString &s);
+    virtual void setMapTitle(const QString &s);
+    virtual void setComment(const QString &s);
+    virtual void setAuthor(const QString &s);
+
+  private:
+    Ui::ExtraInfoDialog ui;
+    bool readOnly;
+};
+
+#endif // EXTRAINFODIALOG_H
diff --git a/src/file.cpp b/src/file.cpp
new file mode 100644 (file)
index 0000000..6c4b762
--- /dev/null
@@ -0,0 +1,613 @@
+#include <QDebug>
+#include <QDir>
+#include <QLabel>
+#include <QMessageBox>
+#include <QOperatingSystemVersion>
+#include <QPixmap>
+#include <QTextStream>
+#include <cstdlib>
+#include <iostream>
+
+#include "file.h"
+#include "vymprocess.h"
+
+#if defined(Q_OS_WINDOWS)
+#include "mkdtemp.h"
+#include <windows.h>
+#endif
+
+#if defined(Q_OS_MACX)
+#include "unistd.h"
+#endif
+
+using namespace File;
+
+extern QString zipToolPath;
+extern QString unzipToolPath;
+extern bool zipToolAvailable;
+extern bool unzipToolAvailable;
+
+QString convertToRel(const QString &src, const QString &dst)
+{
+    // Creates a relative path pointing from src to dst
+
+    QString s = src;
+    QString d = dst;
+    int i;
+
+    if (s == d) {
+        // Special case, we just need the name of the file,
+        // not the complete path
+        i = d.lastIndexOf("/");
+        d = d.right(d.length() - i - 1);
+    }
+    else {
+        // remove identical left parts
+        while (s.section("/", 0, 0) == d.section("/", 0, 0)) {
+            i = s.indexOf("/");
+            s = s.right(s.length() - i - 1);
+            d = d.right(d.length() - i - 1);
+        }
+
+        // Now take care of paths where we have to go back first
+        int srcsep = s.count("/");
+        while (srcsep > 0) {
+            d = "../" + d;
+            srcsep--;
+        }
+    }
+    return d;
+}
+
+QString convertToAbs(const QString &src, const QString &dst)
+{
+    // Creates a relative path pointing from src to dst
+    QDir dd(src);
+    return dd.absoluteFilePath(dst);
+}
+
+QString basename(const QString &path) { return path.section('/', -1); }
+
+QString dirname(const QString &path) { return path.section('/', 0, -2); }
+
+extern QString vymName;
+bool confirmDirectoryOverwrite(const QDir &dir)
+{
+    if (!dir.exists()) {
+        qWarning() << "Directory does not exist: " << dir.path();
+        return false;
+    }
+
+    QStringList eList = dir.entryList();
+    while (!eList.isEmpty() && (eList.first() == "." || eList.first() == ".."))
+        eList.pop_front(); // remove "." and ".."
+
+    if (!eList.isEmpty()) {
+        QMessageBox mb(vymName,
+                       QObject::tr("The directory %1 is not empty.\nDo you "
+                                   "risk to overwrite its contents?",
+                                   "write directory")
+                           .arg(dir.path()),
+                       QMessageBox::Warning, QMessageBox::Yes,
+                       QMessageBox::Cancel | QMessageBox::Default,
+                       QMessageBox::NoButton);
+
+        mb.setButtonText(QMessageBox::Yes, QObject::tr("Overwrite"));
+        mb.setButtonText(QMessageBox::No, QObject::tr("Cancel"));
+        switch (mb.exec()) {
+        case QMessageBox::Yes:
+            // save
+            return true;
+        case QMessageBox::Cancel:
+            // do nothing
+            return false;
+        }
+    }
+    return true;
+}
+
+QString makeTmpDir(bool &ok, const QString &dirPath,
+                   const QString &prefix)
+{
+    QString path = makeUniqueDir(ok, dirPath + "/" + prefix + "-XXXXXX");
+    return path;
+}
+
+QString makeTmpDir(bool &ok, const QString &prefix)
+{
+    return makeTmpDir(ok, QDir::tempPath(), prefix);
+}
+
+bool isInTmpDir(QString fn)
+{
+    QString temp = QDir::tempPath();
+    int l = temp.length();
+    return fn.left(l) == temp;
+}
+
+QString makeUniqueDir(bool &ok, QString s) // FIXME-3 use QTemporaryDir
+{
+    ok = true;
+
+    QString r;
+
+#if defined(Q_OS_WINDOWS)
+    r = mkdtemp(s);
+#else
+    // On Linux and friends use cstdlib
+
+    // Convert QString to string
+    ok = true;
+    char *p;
+    int bytes = s.length();
+    p = (char *)malloc(bytes + 1);
+    int i;
+    for (i = 0; i < bytes; i++)
+        p[i] = s.at(i).unicode();
+    p[bytes] = 0;
+
+    r = mkdtemp(p);
+    free(p);
+#endif
+
+    if (r.isEmpty())
+        ok = false;
+    return r;
+}
+
+bool removeDir(QDir d)
+{
+    // This check should_ not be necessary, but proved to be useful ;-)
+    if (!isInTmpDir(d.path())) {
+        qWarning() << "file.cpp::removeDir should remove " + d.path() +
+                          " - aborted.";
+        return false;
+    }
+
+    return d.removeRecursively();
+}
+
+bool copyDir(QDir src, QDir dst, const bool &override)
+{
+    QStringList dirs =
+        src.entryList(QDir::AllDirs | QDir::Hidden | QDir::NoDotAndDotDot);
+    QStringList files = src.entryList(QDir::Files);
+
+    // Check if dst is a subdir of src, which would cause endless recursion...
+    if (dst.absolutePath().contains(src.absolutePath()))
+        return false;
+
+    // Traverse directories
+    QList<QString>::iterator d, f;
+    for (d = dirs.begin(); d != dirs.end(); ++d) {
+        if (!QFileInfo(src.path() + "/" + (*d)).isDir())
+            continue;
+
+        QDir cdir(dst.path() + "/" + (*d));
+        cdir.mkpath(cdir.path());
+
+        if (!copyDir(QDir(src.path() + "/" + (*d)),
+                     QDir(dst.path() + "/" + (*d)), override))
+            return false;
+    }
+
+    // Traverse files
+    for (f = files.begin(); f != files.end(); ++f) {
+        QFile cfile(src.path() + "/" + (*f));
+        QFile destFile(dst.path() + "/" +
+                       src.relativeFilePath(cfile.fileName()));
+        if (destFile.exists() && override)
+            destFile.remove();
+
+        if (!cfile.copy(dst.path() + "/" +
+                        src.relativeFilePath(cfile.fileName())))
+            return false;
+    }
+    return true;
+}
+
+bool subDirsExist()
+{
+    QStringList dirList;
+    dirList << "images";
+    dirList << "flags";
+    dirList << "flags/user";
+    dirList << "flags/standard";
+    foreach (QString d, dirList)
+        if (QDir(d).exists() ) return true;
+
+    return false;
+}
+
+void makeSubDirs(const QString &s)
+{
+    QDir d(s);
+    d.mkdir(s);
+    d.mkdir("images");
+    d.mkdir("flags");
+    d.mkdir("flags/user");
+    d.mkdir("flags/standard");
+}
+
+bool checkZipTool()
+{
+    zipToolAvailable = false;
+#if defined(Q_OS_WINDOWS)
+    if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows10)
+        zipToolAvailable = true;
+#else
+
+    QFile tool(zipToolPath);
+
+    zipToolAvailable = tool.exists();
+#endif
+    return zipToolAvailable;
+}
+
+bool checkUnzipTool()
+{
+    unzipToolAvailable = false;
+#if defined(Q_OS_WINDOWS)
+    if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::Windows10)
+        zipToolAvailable = true;
+#else
+    QFile tool(unzipToolPath);
+
+    unzipToolAvailable = tool.exists();
+#endif
+    return unzipToolAvailable;
+}
+
+ErrorCode zipDir(QDir zipInputDir, QString zipName)
+{
+    zipName = QDir::toNativeSeparators(zipName);
+    ErrorCode err = Success;
+
+    QString symLinkTarget;
+
+    QString newName;
+    // Move existing file away
+    QFile file(zipName);
+    if (file.exists()) {
+        symLinkTarget = file.symLinkTarget();
+        QString zipNameTmp = zipName + ".tmp";
+        newName = zipNameTmp;
+        int n = 0;
+        while (!file.rename(newName) && n < 5) {
+            newName =
+                zipNameTmp + QString().setNum(n);
+            n++;
+        }
+        if (n >= 5) {
+            QMessageBox::critical(0, QObject::tr("Critical Error"),
+                                  QObject::tr("Couldn't move existing file out "
+                                              "of the way before saving."));
+            return Aborted;
+        }
+    }
+
+    // zip the temporary directory
+    VymProcess *zipProc = new VymProcess();
+    QStringList args;
+
+#if defined(Q_OS_WINDOWS)
+    zipProc->setWorkingDirectory(
+        QDir::toNativeSeparators(zipInputDir.path() + "\\"));
+
+    args << "-a" << "-c" << "--format" << "zip" << "-f" << zipName << "*";
+
+    zipProc->start(zipToolPath, args);
+
+    if (!zipProc->waitForStarted()) {
+        // zip could not be started
+        QMessageBox::critical(
+            0, QObject::tr("Critical Error"),
+            QObject::tr("Couldn't start %1 tool to compress data!\n"
+                        "The map could not be saved, please check if "
+
+                        "backup file is available or export as XML file!")
+                    .arg("Windows zip") +
+                "\n\nziptoolpath: " + zipToolPath +
+                "\nargs: " + args.join(" "));
+        err = Aborted;
+    }
+    else {
+        // zip could be started
+        zipProc->waitForFinished();
+        if (zipProc->exitStatus() != QProcess::NormalExit) {
+            QMessageBox::critical(0, QObject::tr("Critical Error"),
+                                  QObject::tr("zip didn't exit normally") +
+                                      "\n" + zipProc->getErrout());
+            err = Aborted;
+        }
+        else {
+            /*
+            QMessageBox::information( 0, QObject::tr( "Debug" ),
+                               "Called:" + zipToolPath + "\n" +
+                               "Args: "  + args.join(" ") + "\n" +
+                               "Exit: "  + zipProc->exitCode() + "\n" +
+                               "Err: " + zipProc->getErrout()  + "\n" +
+                               "Std: " + zipProc->getStdout() );
+            */
+            if (zipProc->exitCode() > 1) {
+                QMessageBox::critical(
+                    0, QObject::tr("Error"),
+                    "Called:" + zipToolPath + "\n" + "Args: " + args.join(" ") +
+                        "\n" + "Exit: " + zipProc->exitCode() + "\n" +
+                        "Err: " + zipProc->getErrout() + "\n" +
+                        "Std: " + zipProc->getStdout());
+                err = Aborted;
+            }
+            else if (zipProc->exitCode() == 1) {
+                // Non fatal according to internet, but for example
+                // some file was locked and could not be compressed
+                QMessageBox::warning(
+                    0, QObject::tr("Error"),
+                    "Called:" + zipToolPath + "\n" + "Args: " + args.join(" ") +
+                        "\n" + "Exit: " + zipProc->exitCode() + "\n" +
+                        "Err: " + zipProc->getErrout() + "\n" +
+                        "Std: " + zipProc->getStdout() +
+                        "\n"
+                        "Please check the saved map, e.g. by opening in "
+                        "another tab.\n" +
+                        "Workaround if save failed: Export as xml");
+            }
+        }
+    }
+    // qDebug() <<"Output: " << zipProc->getStdout()<<flush;
+#else
+    zipProc->setWorkingDirectory(QDir::toNativeSeparators(zipInputDir.path()));
+    args << "-r";
+    args << zipName;
+    args << ".";
+
+    zipProc->start(zipToolPath, args);
+    if (!zipProc->waitForStarted()) {
+        // zip could not be started
+        QMessageBox::critical(
+            0, QObject::tr("Critical Error"),
+            QObject::tr("Couldn't start %1 tool to compress data!\n"
+                        "The map could not be saved, please check if "
+                        "backup file is available or export as XML file!")
+                    .arg("zip") +
+                "\n\nziptoolpath: " + zipToolPath +
+                "\nargs: " + args.join(" "));
+        err = Aborted;
+    }
+    else {
+        // zip could be started
+        zipProc->waitForFinished();
+        if (zipProc->exitStatus() != QProcess::NormalExit) {
+            QMessageBox::critical(0, QObject::tr("Critical Error"),
+                                  QObject::tr("zip didn't exit normally") +
+                                      "\n" + zipProc->getErrout());
+            err = Aborted;
+        }
+        else {
+            if (zipProc->exitCode() > 0) {
+                QMessageBox::critical(
+                    0, QObject::tr("Critical Error"),
+                    QString("zip exit code:  %1").arg(zipProc->exitCode()) +
+                        "\n" + zipProc->getErrout());
+                err = Aborted;
+            }
+        }
+    }
+#endif
+    // Try to restore previous file, if zipping failed
+    if (err == Aborted && !newName.isEmpty() && !file.rename(zipName))
+        QMessageBox::critical(0, QObject::tr("Critical Error"),
+                              QObject::tr("Couldn't rename %1 back to %2")
+                                  .arg(newName)
+                                  .arg(zipName));
+    else {
+        // Take care of symbolic link
+        if (!symLinkTarget.isEmpty()) {
+            if (!QFile(symLinkTarget).remove()) {
+                QMessageBox::critical(
+                    0, QObject::tr("Critical Error"),
+                    QObject::tr(
+                        "Couldn't remove target of old symbolic link %1")
+                        .arg(symLinkTarget));
+                err = Aborted;
+                return err;
+            }
+
+            if (!QFile(zipName).rename(symLinkTarget)) {
+                QMessageBox::critical(
+                    0, QObject::tr("Critical Error"),
+                    QObject::tr("Couldn't rename output to target of old "
+                                "symbolic link %1")
+                        .arg(symLinkTarget));
+                err = Aborted;
+                return err;
+            }
+            if (!QFile(symLinkTarget).link(zipName)) {
+                QMessageBox::critical(
+                    0, QObject::tr("Critical Error"),
+                    QObject::tr("Couldn't link from %1 to target of old "
+                                "symbolic link %2")
+                        .arg(zipName)
+                        .arg(symLinkTarget));
+                err = Aborted;
+                return err;
+            }
+        }
+
+        // Remove temporary file
+        if (!newName.isEmpty() && !file.remove())
+            QMessageBox::critical(
+                0, QObject::tr("Critical Error"),
+                QObject::tr("Saved %1, but couldn't remove %2")
+                    .arg(zipName)
+                    .arg(newName));
+    }
+
+    return err;
+}
+
+File::ErrorCode unzipDir(QDir zipOutputDir, QString zipName)
+{
+    ErrorCode err = Success;
+
+    VymProcess *zipProc = new VymProcess();
+    QStringList args;
+
+#if defined(Q_OS_WINDOWS)
+    zipProc->setWorkingDirectory(
+        QDir::toNativeSeparators(zipOutputDir.path() + "\\"));
+    args << "-x" << "-f" << zipName.toUtf8() << "-C" << zipOutputDir.path();
+    zipProc->start(zipToolPath, args);
+#else
+    zipProc->setWorkingDirectory(QDir::toNativeSeparators(zipOutputDir.path()));
+    args << "-o"; // overwrite existing files!
+    args << zipName;
+    args << "-d";
+    args << zipOutputDir.path();
+
+    zipProc->start(unzipToolPath, args);
+#endif
+    if (!zipProc->waitForStarted()) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Error"),
+            QObject::tr("Couldn't start %1 tool to decompress data!\n")
+                    .arg("Windows zip") +
+                "\n\nziptoolpath: " + zipToolPath +
+                "\nargs: " + args.join(" "));
+        err = Aborted;
+    }
+    else {
+        zipProc->waitForFinished();
+        if (zipProc->exitStatus() != QProcess::NormalExit) {
+            QMessageBox::critical(
+                0, QObject::tr("Critical Error"),
+                QObject::tr("%1 didn't exit normally").arg(zipToolPath) +
+                    zipProc->getErrout());
+            err = Aborted;
+        }
+        else {
+            /*
+            QMessageBox::information( 0, QObject::tr( "Debug" ),
+                               "Called:" + zipToolPath + "\n" +
+                               "Args: "  + args.join(" ") + "\n" +
+                               "Exit: "  + zipProc->exitCode() + "\n" +
+                               "Err: " + zipProc->getErrout()  + "\n" +
+                               "Std: " + zipProc->getStdout() );
+            */
+            if (zipProc->exitCode() > 1) {
+                QMessageBox::critical(
+                    0, QObject::tr("Error"),
+                    "Called:" + zipToolPath + "\n" + "Args: " + args.join(" ") +
+                        "\n" + "Exit: " + zipProc->exitCode() + "\n" +
+                        "Err: " + zipProc->getErrout() + "\n" +
+                        "Std: " + zipProc->getStdout());
+                err = Aborted;
+            }
+            else if (zipProc->exitCode() == 1) {
+                // Non fatal according to internet, but for example
+                // some file was locked and could not be compressed
+                QMessageBox::warning(0, QObject::tr("Error"),
+                                     "Called:" + zipToolPath + "\n" +
+                                         "Args: " + args.join(" ") + "\n" +
+                                         "Exit: " + zipProc->exitCode() + "\n" +
+                                         "Err: " + zipProc->getErrout() + "\n" +
+                                         "Std: " + zipProc->getStdout() + "\n");
+            }
+        }
+    }
+    return err;
+}
+
+bool loadStringFromDisk(const QString &fname, QString &s)
+{
+    s = "";
+    QFile file(fname);
+    if (!file.open(QFile::ReadOnly | QFile::Text)) {
+        qWarning() << QString("loadStringFromDisk: Cannot read file %1\n%2")
+                          .arg(fname)
+                          .arg(file.errorString());
+        return false;
+    }
+
+    QTextStream in(&file);
+    s = in.readAll();
+    return true;
+}
+
+bool saveStringToDisk(const QString &fname, const QString &s)
+{
+    QFile file(fname);
+    // Write as binary (default), QFile::Text would convert linebreaks
+    if (!file.open(QFile::WriteOnly)) {
+        qWarning() << QString("saveStringToDisk: Cannot write file %1:\n%2.")
+                          .arg(fname)
+                          .arg(file.errorString());
+        return false;
+    }
+
+    QTextStream out(&file);
+    out.setCodec("UTF-8");
+    out << s;
+
+    return true;
+}
+
+FileType getMapType(const QString &fn)
+{
+    int i = fn.lastIndexOf(".");
+    if (i >= 0) {
+        QString postfix = fn.mid(i + 1);
+        if (postfix == "vym" || postfix == "vyp" || postfix == "xml" ||
+            postfix == "vym~")
+            return VymMap;
+        if (postfix == "mm")
+            return FreemindMap;
+    }
+    return UnknownMap;
+}
+
+ImageIO::ImageIO()
+{
+    // Create list with supported image types
+    // foreach (QByteArray format, QImageWriter::supportedImageFormats())
+    // imageTypes.append( tr("%1...").arg(QString(format).toUpper()));
+    imageFilters.append(
+        "Images (*.png *.jpg *.jpeg *.bmp *.bmp *.ppm *.xpm *.xbm)");
+    imageTypes.append("PNG");
+    imageFilters.append("Portable Network Graphics (*.png)");
+    imageTypes.append("PNG");
+    imageFilters.append("Joint Photographic Experts Group (*.jpg)");
+    imageTypes.append("JPG");
+    imageFilters.append("Joint Photographic Experts Group (*.jpeg)");
+    imageTypes.append("JPG");
+    imageFilters.append("Windows Bitmap (*.bmp)");
+    imageTypes.append("BMP");
+    imageFilters.append("Portable Pixmap (*.ppm)");
+    imageTypes.append("PPM");
+    imageFilters.append("X11 Bitmap (*.xpm)");
+    imageTypes.append("XPM");
+    imageFilters.append("X11 Bitmap (*.xbm)");
+    imageTypes.append("XBM");
+}
+
+QStringList ImageIO::getFilters() { return imageFilters; }
+
+QString ImageIO::getType(QString filter)
+{
+    for (int i = 0; i < imageFilters.count() + 1; i++)
+        if (imageFilters.at(i) == filter)
+            return imageTypes.at(i);
+    return QString();
+}
+
+QString ImageIO::guessType(QString fn)
+{
+    int i = fn.lastIndexOf(".");
+    if (i >= 0) {
+        QString postfix = fn.mid(i + 1);
+        for (int i = 1; i < imageFilters.count(); i++)
+            if (imageFilters.at(i).contains(postfix))
+                return imageTypes.at(i);
+    }
+    return QString();
+}
diff --git a/src/file.h b/src/file.h
new file mode 100644 (file)
index 0000000..d286af8
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef FILE_H
+#define FILE_H
+
+#include <QDir>
+
+namespace File {
+enum ErrorCode { Success, Aborted, NoZip };
+}
+
+enum LoadMode { NewMap, DefaultMap, ImportAdd, ImportReplace };
+enum SaveMode { PartOfMap, CompleteMap, UndoCommand };
+enum FileType { VymMap, FreemindMap, UnknownMap };
+
+/////////////////////////////////////////////////////////////////////////////
+QString convertToRel(const QString &, const QString &);
+QString convertToAbs(const QString &, const QString &);
+QString basename(const QString &);
+QString dirname(const QString &);
+
+QString browseDirectory(QWidget *parent = NULL, const QString &caption = "");
+bool confirmDirectoryOverwrite(const QDir &dir);
+
+QString makeTmpDir(bool &ok, const QString &dirPath, const QString &prefix);
+QString makeTmpDir(bool &ok, const QString &prefix);
+bool isInTmpDir(QString fn);
+QString makeUniqueDir(bool &ok, QString);
+bool removeDir(QDir);
+bool copyDir(QDir src, QDir dst, const bool &override = false);
+bool subDirsExist();
+void makeSubDirs(const QString &);
+
+bool checkZipTool();
+bool checkUnzipTool();
+File::ErrorCode zipDir(QDir, QString);
+File::ErrorCode unzipDir(QDir, QString);
+
+bool loadStringFromDisk(const QString &fn, QString &s);
+bool saveStringToDisk(const QString &fn, const QString &s);
+
+FileType getMapType(const QString &fn);
+
+//////////////////////////////////////////////////////////
+// Helper function to select image format while in SaveDialogs
+
+class ImageIO {
+  public:
+    ImageIO();
+    QStringList getFilters();
+    QString getType(QString);
+    QString guessType(QString);
+
+  private:
+    QStringList imageFilters;
+    QStringList imageTypes;
+};
+
+#endif
diff --git a/src/findresultitem.cpp b/src/findresultitem.cpp
new file mode 100644 (file)
index 0000000..604f7f4
--- /dev/null
@@ -0,0 +1,129 @@
+#include <QStringList>
+
+#include "findresultitem.h"
+#include "treeitem.h"
+#include "vymmodel.h"
+
+FindResultItem::FindResultItem(const QVector<QVariant> &data,
+                               FindResultItem *parent)
+{
+    parentItem = parent;
+    itemData = data;
+    orgID = -1;
+    orgIndex = -1;
+    orgModel = NULL;
+    if (data.isEmpty())
+        itemData.append(QVariant("empty"));
+}
+
+FindResultItem::~FindResultItem() { qDeleteAll(childItems); }
+
+FindResultItem *FindResultItem::child(int number)
+{
+    return childItems.value(number);
+}
+
+int FindResultItem::childCount() const { return childItems.count(); }
+
+int FindResultItem::childNumber() const
+{
+    if (parentItem)
+        return parentItem->childItems.indexOf(
+            const_cast<FindResultItem *>(this));
+
+    return 0;
+}
+
+int FindResultItem::columnCount() const { return itemData.count(); }
+
+QVariant FindResultItem::data(int column) const
+{
+    return itemData.value(column);
+}
+
+int FindResultItem::row() const
+{
+    if (parentItem)
+        return parentItem->childItems.indexOf(
+            const_cast<FindResultItem *>(this));
+
+    return 0;
+}
+
+bool FindResultItem::insertChildren(int position, int count, int columns)
+{
+    if (position < 0 || position > childItems.size())
+        return false;
+
+    for (int row = 0; row < count; ++row) {
+        QVector<QVariant> data(columns);
+        FindResultItem *item = new FindResultItem(data, this);
+        childItems.insert(position, item);
+    }
+
+    return true;
+}
+
+bool FindResultItem::insertColumns(int position, int columns)
+{
+    if (position < 0 || position > itemData.size())
+        return false;
+
+    for (int column = 0; column < columns; ++column)
+        itemData.insert(position, QVariant());
+
+    foreach (FindResultItem *child, childItems)
+        child->insertColumns(position, columns);
+
+    return true;
+}
+
+FindResultItem *FindResultItem::parent() { return parentItem; }
+
+bool FindResultItem::removeChildren(int position, int count)
+{
+    if (position < 0 || position + count > childItems.size())
+        return false;
+
+    for (int row = 0; row < count; ++row)
+        delete childItems.takeAt(position);
+
+    return true;
+}
+
+bool FindResultItem::removeColumns(int position, int columns)
+{
+    if (position < 0 || position + columns > itemData.size())
+        return false;
+
+    for (int column = 0; column < columns; ++column)
+        itemData.remove(position);
+
+    foreach (FindResultItem *child, childItems)
+        child->removeColumns(position, columns);
+
+    return true;
+}
+
+bool FindResultItem::setData(int column, const QVariant &value)
+{
+    if (column < 0 || column >= itemData.size())
+        return false;
+
+    itemData[column] = value;
+    return true;
+}
+
+void FindResultItem::setOriginal(TreeItem *ti)
+{
+    orgModel = ti->getModel();
+    orgID = ti->getID();
+}
+
+int FindResultItem::getOriginalID() { return orgID; }
+
+void FindResultItem::setOriginalIndex(int i) { orgIndex = i; }
+
+int FindResultItem::getOriginalIndex() { return orgIndex; }
+
+VymModel *FindResultItem::getOrgModel() { return orgModel; }
diff --git a/src/findresultitem.h b/src/findresultitem.h
new file mode 100644 (file)
index 0000000..1cd278c
--- /dev/null
@@ -0,0 +1,44 @@
+#ifndef FINDRESULTITEM_H
+#define FINDRESULTITEM_H
+
+#include <QList>
+#include <QVariant>
+#include <QVector>
+
+class TreeItem;
+class VymModel;
+
+class FindResultItem {
+  public:
+    FindResultItem(const QVector<QVariant> &data, FindResultItem *parent = 0);
+    ~FindResultItem();
+
+    FindResultItem *child(int number);
+    int childCount() const;
+    int columnCount() const;
+    QVariant data(int column) const;
+    int row() const;
+    bool insertChildren(int position, int count, int columns);
+    bool insertColumns(int position, int columns);
+    FindResultItem *parent();
+    bool removeChildren(int position, int count);
+    bool removeColumns(int position, int columns);
+    int childNumber() const;
+    bool setData(int column, const QVariant &value);
+    void setOriginal(TreeItem *ti);
+    int getOriginalID();
+    void setOriginalIndex(int i);
+    int getOriginalIndex();
+    VymModel *getOrgModel();
+
+  private:
+    QList<FindResultItem *> childItems;
+    QVector<QVariant> itemData;
+    FindResultItem *parentItem;
+
+    int orgID;
+    int orgIndex;
+    VymModel *orgModel;
+};
+
+#endif
diff --git a/src/findresultmodel.cpp b/src/findresultmodel.cpp
new file mode 100644 (file)
index 0000000..599238b
--- /dev/null
@@ -0,0 +1,271 @@
+#include <QtGui>
+
+#include "findresultitem.h"
+#include "findresultmodel.h"
+#include "settings.h"
+#include "treeitem.h"
+
+extern Settings settings;
+
+FindResultModel::FindResultModel(QObject *parent) : QAbstractItemModel(parent)
+{
+    QVector<QVariant> rootData;
+    rootData << "Heading";
+    rootItem = new FindResultItem(rootData);
+    showParentsLevel =
+        settings.value("/satellite/findResults/showParentsLevel", 1).toInt();
+}
+
+FindResultModel::~FindResultModel() { delete rootItem; }
+
+void FindResultModel::clear()
+{
+    if (rootItem->childCount() > 0)
+        removeRows(0, rowCount(QModelIndex()));
+}
+
+int FindResultModel::columnCount(const QModelIndex & /* parent */) const
+{
+    return rootItem->columnCount();
+}
+
+QVariant FindResultModel::data(const QModelIndex &index, int role) const
+{
+    if (!index.isValid())
+        return QVariant();
+
+    if (role != Qt::DisplayRole && role != Qt::EditRole)
+        return QVariant();
+
+    FindResultItem *item = getItem(index);
+
+    return item->data(index.column());
+}
+
+Qt::ItemFlags FindResultModel::flags(const QModelIndex &index) const
+{
+    if (!index.isValid())
+        return Qt::NoItemFlags;
+
+    return Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
+}
+
+QVariant FindResultModel::headerData(int section, Qt::Orientation orientation,
+                                     int role) const
+{
+    if (orientation == Qt::Horizontal && role == Qt::DisplayRole)
+        return rootItem->data(section);
+
+    return QVariant();
+}
+
+QModelIndex FindResultModel::index(FindResultItem *fri)
+{
+    if (!fri->parent())
+        return QModelIndex();
+    else
+        return createIndex(fri->row(), 0, fri);
+}
+
+QModelIndex FindResultModel::index(int row, int column,
+                                   const QModelIndex &parent) const
+{
+    if (parent.isValid() && parent.column() != 0)
+        return QModelIndex();
+
+    FindResultItem *parentItem = getItem(parent);
+
+    FindResultItem *childItem = parentItem->child(row);
+    if (childItem)
+        return createIndex(row, column, childItem);
+    else
+        return QModelIndex();
+}
+
+bool FindResultModel::insertColumns(int position, int columns,
+                                    const QModelIndex &parent)
+{
+    bool success;
+
+    beginInsertColumns(parent, position, position + columns - 1);
+    success = rootItem->insertColumns(position, columns);
+    endInsertColumns();
+
+    return success;
+}
+
+bool FindResultModel::insertRows(int position, int rows,
+                                 const QModelIndex &parent)
+{
+    FindResultItem *parentItem = getItem(parent);
+    bool success;
+
+    beginInsertRows(parent, position, position + rows - 1);
+    success =
+        parentItem->insertChildren(position, rows, rootItem->columnCount());
+    endInsertRows();
+
+    return success;
+}
+
+QModelIndex FindResultModel::parent(const QModelIndex &index) const
+{
+    if (!index.isValid())
+        return QModelIndex();
+
+    FindResultItem *childItem = getItem(index);
+    FindResultItem *parentItem = childItem->parent();
+
+    if (parentItem == rootItem)
+        return QModelIndex();
+
+    return createIndex(parentItem->childNumber(), 0, parentItem);
+}
+
+bool FindResultModel::removeColumns(int position, int columns,
+                                    const QModelIndex &parent)
+{
+    bool success;
+
+    beginRemoveColumns(parent, position, position + columns - 1);
+    success = rootItem->removeColumns(position, columns);
+    endRemoveColumns();
+
+    if (rootItem->columnCount() == 0)
+        removeRows(0, rowCount());
+
+    return success;
+}
+
+bool FindResultModel::removeRows(int position, int rows,
+                                 const QModelIndex &parent)
+{
+    FindResultItem *parentItem = getItem(parent);
+    bool success = true;
+
+    beginRemoveRows(parent, position, position + rows - 1);
+    success = parentItem->removeChildren(position, rows);
+    endRemoveRows();
+
+    return success;
+}
+
+int FindResultModel::rowCount(const QModelIndex &parent) const
+{
+    FindResultItem *parentItem = getItem(parent);
+
+    return parentItem->childCount();
+}
+
+bool FindResultModel::setData(const QModelIndex &index, const QVariant &value,
+                              int role)
+{
+    if (role != Qt::EditRole)
+        return false;
+
+    FindResultItem *item = getItem(index);
+    bool result = item->setData(index.column(), value);
+
+    if (result)
+        emit dataChanged(index, index);
+
+    return result;
+}
+
+bool FindResultModel::setHeaderData(int section, Qt::Orientation orientation,
+                                    const QVariant &value, int role)
+{
+    if (role != Qt::EditRole || orientation != Qt::Horizontal)
+        return false;
+
+    bool result = rootItem->setData(section, value);
+
+    if (result)
+        emit headerDataChanged(orientation, section, section);
+
+    return result;
+}
+
+FindResultItem *FindResultModel::getItem(const QModelIndex &index) const
+{
+    if (index.isValid()) {
+        FindResultItem *item =
+            static_cast<FindResultItem *>(index.internalPointer());
+        if (item)
+            return item;
+    }
+    return rootItem;
+}
+
+FindResultItem *FindResultModel::addItem(TreeItem *ti)
+{
+    FindResultItem *ni = NULL;
+    if (ti) {
+        QModelIndex parix(index(rootItem));
+
+        emit(layoutAboutToBeChanged());
+
+        int n = rowCount(parix);
+        beginInsertRows(parix, n, n);
+        if (rootItem->insertChildren(n, 1, 0)) {
+            QString h = ti->getHeadingPlainWithParents(showParentsLevel);
+            QModelIndex ix = index(n, 0, QModelIndex());
+            setData(ix, QVariant(h), Qt::EditRole);
+            ni = getItem(ix);
+            ni->setOriginal(ti);
+        }
+        endInsertRows();
+
+        emit(layoutChanged());
+    }
+    return ni;
+}
+
+FindResultItem *FindResultModel::addSubItem(FindResultItem *parent,
+                                            const QString &s, TreeItem *pi,
+                                            int i)
+{
+    FindResultItem *ni = NULL;
+    if (pi && parent) {
+        QModelIndex parix(index(parent));
+
+        emit(layoutAboutToBeChanged());
+
+        int n = rowCount(parix);
+        beginInsertRows(parix, n, n);
+
+        QModelIndex ix;
+        if (parent->insertChildren(n, 1, 0)) {
+            ix = index(n, 0, parix);
+            setData(ix, QVariant(s), Qt::EditRole);
+            ni = getItem(ix);
+            ni->setOriginal(pi);
+            ni->setOriginalIndex(i);
+        }
+        endInsertRows();
+        emit(layoutChanged());
+    }
+    return ni;
+}
+
+void FindResultModel::setSearchString(const QString &s) { searchString = s; }
+
+QString FindResultModel::getSearchString() { return searchString; }
+
+void FindResultModel::setSearchFlags(QTextDocument::FindFlags f)
+{
+    searchFlags = f;
+}
+
+QTextDocument::FindFlags FindResultModel::getSearchFlags()
+{
+    return searchFlags;
+}
+
+void FindResultModel::setShowParentsLevel(uint i)
+{
+    showParentsLevel = i;
+    settings.setValue("/findResults/showParentsLevel", showParentsLevel);
+}
+
+uint FindResultModel::getShowParentsLevel() { return showParentsLevel; }
diff --git a/src/findresultmodel.h b/src/findresultmodel.h
new file mode 100644 (file)
index 0000000..f8b368a
--- /dev/null
@@ -0,0 +1,69 @@
+#ifndef FINDRESULTMODEL_H
+#define FINDRESULTMODEL_H
+
+#include <QAbstractItemModel>
+#include <QModelIndex>
+#include <QTextDocument>
+#include <QVariant>
+
+class FindResultItem;
+class TreeItem;
+
+class FindResultModel : public QAbstractItemModel {
+    Q_OBJECT
+
+  public:
+    FindResultModel(QObject *parent = 0);
+    ~FindResultModel();
+    void clear();
+
+    QVariant data(const QModelIndex &index, int role) const;
+    QVariant headerData(int section, Qt::Orientation orientation,
+                        int role = Qt::DisplayRole) const;
+
+    QModelIndex index(FindResultItem *fri);
+    QModelIndex index(int row, int column,
+                      const QModelIndex &parent = QModelIndex()) const;
+    QModelIndex parent(const QModelIndex &index) const;
+
+    int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    int columnCount(const QModelIndex &parent = QModelIndex()) const;
+
+    Qt::ItemFlags flags(const QModelIndex &index) const;
+    bool setData(const QModelIndex &index, const QVariant &value,
+                 int role = Qt::EditRole);
+    bool setHeaderData(int section, Qt::Orientation orientation,
+                       const QVariant &value, int role = Qt::EditRole);
+
+    bool insertColumns(int position, int columns,
+                       const QModelIndex &parent = QModelIndex());
+    bool removeColumns(int position, int columns,
+                       const QModelIndex &parent = QModelIndex());
+    bool insertRows(int position, int rows,
+                    const QModelIndex &parent = QModelIndex());
+    bool removeRows(int position, int rows,
+                    const QModelIndex &parent = QModelIndex());
+
+    FindResultItem *getItem(const QModelIndex &index) const;
+
+    FindResultItem *addItem(TreeItem *ti);
+    FindResultItem *addSubItem(FindResultItem *parent, const QString &s,
+                               TreeItem *pi, int i);
+
+    void setSearchString(const QString &s);
+    QString getSearchString();
+    void setSearchFlags(QTextDocument::FindFlags f);
+    QTextDocument::FindFlags getSearchFlags();
+    void setShowParentsLevel(uint i);
+    uint getShowParentsLevel();
+
+  private:
+    uint showParentsLevel;
+
+    FindResultItem *rootItem;
+
+    QString searchString;
+    QTextDocument::FindFlags searchFlags;
+};
+
+#endif
diff --git a/src/findresultwidget.cpp b/src/findresultwidget.cpp
new file mode 100644 (file)
index 0000000..980860d
--- /dev/null
@@ -0,0 +1,115 @@
+#include "findresultwidget.h"
+
+#include <QTreeView>
+#include <QVBoxLayout>
+
+#include "findresultitem.h"
+#include "findresultmodel.h"
+#include "vymmodel.h"
+
+FindResultWidget::FindResultWidget(QWidget *)
+{
+    // Create results model
+    resultsModel = new FindResultModel;
+
+    // Create TreeView
+    view = new QTreeView(this);
+    view->setModel(resultsModel);
+
+    // Create FindWidget
+    findWidget = new FindWidget(this);
+    connect(findWidget, SIGNAL(nextButtonPressed(QString, bool)), this,
+            SLOT(nextButtonPressed(QString, bool)));
+
+    QVBoxLayout *mainLayout = new QVBoxLayout;
+
+    mainLayout->addWidget(view);
+    mainLayout->addWidget(findWidget);
+
+    setLayout(mainLayout);
+
+    // Selection
+    connect(view->selectionModel(),
+            SIGNAL(selectionChanged(QItemSelection, QItemSelection)), this,
+            SLOT(updateSelection(QItemSelection, QItemSelection)));
+
+    connect(resultsModel, SIGNAL(layoutChanged()), view, SLOT(expandAll()));
+}
+
+void FindResultWidget::addItem(TreeItem *ti)
+{
+    if (ti) {
+        QModelIndex index = view->selectionModel()->currentIndex();
+        // QAbstractItemModel *resultsModel = view->model();
+
+        if (!resultsModel->insertRow(index.row() + 1, index.parent()))
+            return;
+
+        for (int column = 0; column < resultsModel->columnCount(index.parent());
+             ++column) {
+            QModelIndex child =
+                resultsModel->index(index.row() + 1, column, index.parent());
+            resultsModel->setData(child, QVariant(ti->getHeadingPlain()),
+                                  Qt::EditRole);
+            resultsModel->getItem(child)->setOriginal(ti);
+        }
+    }
+}
+
+void FindResultWidget::addItem(const QString &s)
+{
+    if (!s.isEmpty()) {
+        QModelIndex index = view->selectionModel()->currentIndex();
+
+        if (!resultsModel->insertRow(index.row() + 1, index.parent()))
+            return;
+
+        for (int column = 0; column < resultsModel->columnCount(index.parent());
+             ++column) {
+            QModelIndex child =
+                resultsModel->index(index.row() + 1, column, index.parent());
+            resultsModel->setData(child, QVariant(s), Qt::EditRole);
+        }
+    }
+}
+
+QString FindResultWidget::getFindText() { return findWidget->getFindText(); }
+
+FindResultModel *FindResultWidget::getResultModel() { return resultsModel; }
+
+void FindResultWidget::popup()
+{
+    show();
+    parentWidget()->show();
+    findWidget->setFocus();
+}
+
+void FindResultWidget::cancelPressed() { emit(hideFindResultWidget()); }
+
+void FindResultWidget::nextButtonPressed(QString s, bool searchNotesFlag)
+{
+    emit(findPressed(s, searchNotesFlag));
+}
+
+void FindResultWidget::updateSelection(QItemSelection newsel, QItemSelection)
+{
+    QModelIndex ix;
+    foreach (ix, newsel.indexes()) {
+        FindResultItem *fri =
+            static_cast<FindResultItem *>(ix.internalPointer());
+        if (fri->getOrgModel() && fri->getOriginalID() > 0) {
+            TreeItem *ti = fri->getOrgModel()->findID(fri->getOriginalID());
+            if (ti) {
+                fri->getOrgModel()->select(ti);
+                int i = fri->getOriginalIndex();
+                if (i >= 0)
+                    emit(noteSelected(resultsModel->getSearchString(), i));
+            }
+        }
+    }
+}
+
+void FindResultWidget::setStatus(FindWidget::Status st)
+{
+    findWidget->setStatus(st);
+}
diff --git a/src/findresultwidget.h b/src/findresultwidget.h
new file mode 100644 (file)
index 0000000..8ac0032
--- /dev/null
@@ -0,0 +1,46 @@
+#ifndef FINDRESULTWIDGET_H
+#define FINDRESULTWIDGET_H
+
+#include <QItemSelection>
+#include <QWidget>
+
+#include "findwidget.h"
+
+class FindResultModel;
+class TreeItem;
+class VymModel;
+class QTreeView;
+class QPushButton;
+class FindWidget;
+
+class FindResultWidget : public QWidget {
+    Q_OBJECT
+
+  public:
+    FindResultWidget(QWidget *parent = NULL);
+    FindResultModel *getResultModel();
+    void addItem(TreeItem *ti);
+    void addItem(const QString &s);
+    QString getFindText();
+
+  public slots:
+    void popup();
+    void cancelPressed();
+    void nextButtonPressed(QString, bool);
+    void updateSelection(QItemSelection, QItemSelection);
+    void setStatus(FindWidget::Status st);
+
+  signals:
+    void hideFindResultWidget();
+    void noteSelected(QString, int);
+    void findPressed(QString, bool);
+
+  public:
+    FindWidget *findWidget;
+
+  private:
+    FindResultModel *resultsModel;
+    QTreeView *view;
+};
+
+#endif
diff --git a/src/findwidget.cpp b/src/findwidget.cpp
new file mode 100644 (file)
index 0000000..47d1771
--- /dev/null
@@ -0,0 +1,121 @@
+#include <QAction>
+#include <QDebug>
+#include <QLabel>
+#include <QLineEdit>
+#include <QVBoxLayout>
+
+#include <QComboBox>
+#include <QGroupBox>
+#include <QLabel>
+#include <QPushButton>
+
+#include "findwidget.h"
+#include "mainwindow.h"
+
+extern Main *mainWindow;
+extern bool usingDarkTheme;
+
+FindWidget::FindWidget(QWidget *)
+{
+    QVBoxLayout *mainLayout = new QVBoxLayout;
+    QHBoxLayout *row2Layout = new QHBoxLayout;
+
+    QLabel *label = new QLabel;
+    label->setText(tr("Find:", "FindWidget"));
+
+    // Create LineEdit (here QComboBox)
+    findcombo = new QComboBox;
+    findcombo->setMinimumWidth(250);
+    findcombo->setEditable(true);
+
+    QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
+    findcombo->setSizePolicy(sizePolicy);
+    connect(findcombo, SIGNAL(highlighted(int)), this, SLOT(nextPressed()));
+    connect(findcombo, SIGNAL(editTextChanged(const QString &)), this,
+            SLOT(findTextChanged(const QString &)));
+
+    nextButton = new QPushButton;
+    nextButton->setIcon(QPixmap(":/find.png"));
+    // nextButton->setText (tr("Find","Find widget"));
+    connect(nextButton, SIGNAL(clicked()), this, SLOT(nextPressed()));
+
+    // QAction needed to only activate shortcut while FindWidget has focus
+    QAction *a = new QAction(nextButton->text(), this);
+    a->setShortcut(Qt::Key_Return);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    connect(a, SIGNAL(triggered()), this, SLOT(nextPressed()));
+    addAction(a);
+
+    filterNotesButton = new QPushButton;
+    filterNotesButton->setIcon(QPixmap(":/flag-note.svg"));
+    filterNotesButton->setCheckable(true);
+    filterNotesButton->setChecked(true);
+    connect(filterNotesButton, SIGNAL(clicked()), this, SLOT(nextPressed()));
+
+    row2Layout->addWidget(label);
+    row2Layout->addWidget(findcombo);
+    row2Layout->addWidget(nextButton);
+    row2Layout->addWidget(filterNotesButton);
+
+    mainLayout->addLayout(row2Layout);
+
+    setLayout(mainLayout);
+    status = Undefined;
+}
+
+QString FindWidget::getFindText() { return findcombo->currentText(); }
+
+void FindWidget::cancelPressed()
+{
+    hide();
+    emit(hideFindWidget()); // Restore focus
+}
+
+void FindWidget::nextPressed()
+{
+    emit(nextButtonPressed(findcombo->currentText(),
+                           filterNotesButton->isChecked()));
+}
+
+void FindWidget::findTextChanged(const QString &) { setStatus(Undefined); }
+
+void FindWidget::setFocus()
+{
+    findcombo->lineEdit()->selectAll();
+    findcombo->lineEdit()->setFocus();
+}
+
+void FindWidget::setStatus(Status st)
+{
+    if (st == status)
+        return;
+
+    status = st;
+    QPalette p = palette();
+    QColor c;
+    if (usingDarkTheme)
+        switch (st) {
+            case Success:
+                c = QColor(0, 170, 0);
+                break;
+            case Failed:
+                c = QColor(170, 0, 0);
+                break;
+            default:
+                c = p.color(QPalette::Base);
+        }
+    else
+        switch (st) {
+            case Success:
+                c = QColor(120, 255, 120);
+                break;
+            case Failed:
+                c = QColor(255, 120, 120);
+                break;
+            default:
+                c = p.color(QPalette::Base);
+        }
+    p.setColor(QPalette::Active, static_cast<QPalette::ColorRole>(9), c);
+    p.setColor(QPalette::Inactive, static_cast<QPalette::ColorRole>(9), c);
+    findcombo->setPalette(p);
+}
diff --git a/src/findwidget.h b/src/findwidget.h
new file mode 100644 (file)
index 0000000..f9e80ca
--- /dev/null
@@ -0,0 +1,41 @@
+#ifndef FINDWIDGET_H
+#define FINDWIDGET_H
+
+#include <QWidget>
+
+class QAction;
+class QGroupBox;
+class QComboBox;
+class QPushButton;
+
+class FindWidget : public QWidget {
+    Q_OBJECT
+
+  public:
+    enum Status { Undefined, Success, Failed };
+
+    FindWidget(QWidget *parent = NULL);
+    QString getFindText();
+
+  public slots:
+    void cancelPressed();
+    void nextPressed();
+    void findTextChanged(const QString &);
+    void setFocus();
+    void setStatus(Status st);
+
+  private:
+    Status status;
+
+  signals:
+    void hideFindWidget();
+    void nextButtonPressed(QString, bool);
+
+  private:
+    QComboBox *findcombo;
+    QGroupBox *findbox;
+    QPushButton *nextButton;
+    QPushButton *filterNotesButton;
+};
+
+#endif
diff --git a/src/flag.cpp b/src/flag.cpp
new file mode 100644 (file)
index 0000000..197db18
--- /dev/null
@@ -0,0 +1,147 @@
+#include "flag.h"
+
+#include "file.h"
+
+#include <QDebug>
+
+/////////////////////////////////////////////////////////////////
+// Flag
+/////////////////////////////////////////////////////////////////
+Flag::Flag()
+{
+    // qDebug() << "Const Flag ()";
+    init();
+}
+
+Flag::Flag(const QString &fname)
+{
+    // qDebug() << "Const Flag (fname)" << fname;
+    init();
+    if (!load(fname))
+        qWarning() << "Flag::Flag  Failed to load " << fname;
+}
+
+Flag::~Flag()
+{
+    // qDebug() << "Destr Flag  this="<<this <<"  " << qPrintable(name) << "
+    // image=" << image;
+    if (image)
+        delete image;
+}
+
+void Flag::init()
+{
+    action = NULL;
+    name = "undefined";
+    visible = true;
+    unsetGroup();
+
+    image = NULL;
+
+    state = false;
+    used = false;
+    type = UndefinedFlag;
+
+    uuid = QUuid::createUuid();
+}
+
+bool Flag::load(const QString &fn)
+{
+    if (!image)
+        image = new ImageObj();
+
+    if (!image->load(fn))
+        return false;
+
+    if (fn.contains("svg")) {
+        image->setWidth(32); // FIXME-3 scale svg of flags
+    }
+
+    path = fn;
+
+    return true;
+}
+
+void Flag::setName(const QString &n)
+{
+    name = n;
+    if (name.contains("/"))
+        name = basename(name);
+
+    name = name.section('.', 0, 0);
+}
+
+const QString Flag::getName() { return name; }
+
+const QString Flag::getPath() { return path; }
+
+void Flag::setVisible(bool b) { visible = b; }
+
+bool Flag::isVisible() { return visible; }
+
+void Flag::setGroup(const QString &n) { group = n; }
+
+const QString Flag::getGroup() { return group; }
+
+void Flag::unsetGroup() { group.clear(); }
+
+void Flag::setToolTip(const QString &n) { tooltip = n; }
+
+const QString Flag::getToolTip() { return tooltip; }
+
+ImageObj *Flag::getImageObj()
+{
+    if (image)
+        return image;
+    else
+        return NULL;
+}
+
+void Flag::setAction(QAction *a) { action = a; }
+
+QAction *Flag::getAction() { return action; }
+
+void Flag::setUsed(bool b) { used = b; }
+
+bool Flag::isUsed() { return used; }
+
+Flag::FlagType Flag::getType() { return type; }
+
+void Flag::setType(Flag::FlagType t) { type = t; }
+
+void Flag::setUuid(const QUuid &id) { uuid = id; }
+
+QUuid Flag::getUuid() { return uuid; }
+
+QString Flag::getDefinition(const QString &prefix)
+{
+    if (type == Flag::UserFlag) {
+        QString url = "flags/" + prefix + uuid.toString() + "-" + name +
+                      image->getExtension();
+        QStringList attributes;
+        attributes << attribut("name", name);
+        attributes << attribut("href", QString("file:%1").arg(url));
+        attributes << attribut("uuid", uuid.toString());
+        return singleElement("userflagdef", attributes);
+    }
+    else
+        return QString();
+}
+
+void Flag::saveDataToDir(const QString &dirPath)
+{
+    if (image) {
+        path = dirPath + "/" + uuid.toString() + "-" + name +
+               image->getExtension();
+        image->save(path);
+    }
+}
+
+QString Flag::saveState()
+{
+    if (type == Flag::UserFlag)
+        return singleElement("userflag", attribut("name", name) +
+                                             attribut("uuid", uuid.toString()));
+    else
+        return valueElement("standardflag", name);
+}
diff --git a/src/flag.h b/src/flag.h
new file mode 100644 (file)
index 0000000..d5fb9ab
--- /dev/null
@@ -0,0 +1,71 @@
+#ifndef FLAG_H
+#define FLAG_H
+
+#include <QAction>
+#include <QUuid>
+
+#include "imageobj.h"
+#include "xmlobj.h"
+
+/*! \brief One flag belonging to a FlagRow.
+
+    Each TreeItem in a VymModel has a set of standard flags and system
+    flags.
+*/
+
+/////////////////////////////////////////////////////////////////////////////
+class Flag : public XMLObj {
+  public:
+    enum FlagType {
+        SystemFlag,
+        StandardFlag,
+        UserFlag,
+        FreemindFlag,
+        UndefinedFlag
+    };
+
+    Flag();
+    Flag(const QString &fname);
+    ~Flag();
+    virtual void init();
+    bool load(const QString &);
+    void setName(const QString &);
+    const QString getName();
+    const QString getPath();
+    void setVisible(bool b);
+    bool isVisible();
+    void setGroup(const QString &);
+    const QString getGroup();
+    void unsetGroup();
+    void setToolTip(const QString &);
+    const QString getToolTip();
+    ImageObj *getImageObj();
+    void setAction(QAction *a);
+    QAction *getAction();
+    void setUsed(bool);
+    bool isUsed();
+    FlagType getType();
+    void setType(FlagType t);
+    void setUuid(const QUuid &id);
+    QUuid getUuid();
+    QString getDefinition(const QString &prefix);
+    void saveDataToDir(const QString &);
+    QString saveState();
+
+  protected:
+    QString name;
+    bool visible;
+    QString group;
+    QString tooltip;
+    QAction *action;
+    bool state;
+    bool used;
+    FlagType type;
+    QUuid uuid;
+
+  private:
+    ImageObj *image;
+    QString path;
+};
+
+#endif
diff --git a/src/flagobj.cpp b/src/flagobj.cpp
new file mode 100644 (file)
index 0000000..db217f8
--- /dev/null
@@ -0,0 +1,81 @@
+#include <QDebug>
+
+#include "flagobj.h"
+
+/////////////////////////////////////////////////////////////////
+// FlagObj
+/////////////////////////////////////////////////////////////////
+FlagObj::FlagObj(QGraphicsItem *parent) : MapObj(parent)
+{
+    // qDebug() << "Const FlagObj  this=" << this;
+    init();
+}
+
+FlagObj::~FlagObj()
+{
+    // qDebug() << "Destr FlagObj  this=" << this << "  " << name;
+    if (imageObj)
+        delete (imageObj);
+}
+
+void FlagObj::init()
+{
+    imageObj = new ImageObj(parentItem());
+    avis = true;
+}
+
+void FlagObj::move(double x, double y)
+{
+    MapObj::move(x, y);
+    imageObj->setPos(QPointF(x, y));
+    positionBBox();
+}
+
+void FlagObj::moveBy(double x, double y)
+{
+    move(x + absPos.x(), y + absPos.y());
+}
+
+void FlagObj::setZValue(double z) { imageObj->setZValue(z); }
+
+void FlagObj::setVisibility(bool v)
+{
+    MapObj::setVisibility(v);
+    if (v)
+        imageObj->setVisibility(true);
+    else
+        imageObj->setVisibility(false);
+}
+
+void FlagObj::loadImage(ImageObj *io)
+{
+    prepareGeometryChange();
+
+    imageObj->copy(io); // Creates deep copy of pixmap or svg!
+    calcBBoxSize();
+    positionBBox();
+}
+
+void FlagObj::setUuid(const QUuid &id) { uid = id; }
+
+const QUuid FlagObj::getUuid() { return uid; }
+
+void FlagObj::setAlwaysVisible(bool b) { avis = b; }
+
+bool FlagObj::isAlwaysVisible() { return avis; }
+
+void FlagObj::positionBBox()
+{
+    bbox.moveTopLeft(absPos);
+    clickPoly = QPolygonF(bbox);
+}
+
+void FlagObj::calcBBoxSize()
+{
+    if (visible)
+        bbox.setSize(QSizeF(imageObj->boundingRect().width(),
+                            imageObj->boundingRect().height()));
+    else
+        bbox.setSize(QSizeF(0, 0));
+    clickPoly = QPolygonF(bbox);
+}
diff --git a/src/flagobj.h b/src/flagobj.h
new file mode 100644 (file)
index 0000000..e43ea8b
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef FLAGOBJ_H
+#define FLAGOBJ_H
+
+#include <QAction>
+#include <QPixmap>
+#include <QUuid>
+
+#include "flag.h"
+#include "imageobj.h"
+#include "mapobj.h"
+
+/*! \brief One flag which is visible in the map.
+
+    Flags are aligned in a row.
+*/
+
+/////////////////////////////////////////////////////////////////////////////
+class FlagObj : public MapObj {
+  public:
+    FlagObj(QGraphicsItem *);
+    ~FlagObj();
+    virtual void init();
+    virtual void move(double x, double y);   // move to absolute Position
+    virtual void moveBy(double x, double y); // move to relative Position
+    virtual void setZValue(double z);
+    virtual void setVisibility(bool);
+    void loadImage(ImageObj *io);
+    void setUuid(const QUuid &uid);
+    const QUuid getUuid();
+    QPixmap getPixmap();
+    void setAction(QAction *);
+    void setAlwaysVisible(bool b);
+    bool isAlwaysVisible();
+
+  protected:
+    QUuid uid;
+    bool avis;
+    virtual void positionBBox();
+    virtual void calcBBoxSize();
+
+  private:
+    ImageObj *imageObj;
+};
+
+#endif
diff --git a/src/flagrow.cpp b/src/flagrow.cpp
new file mode 100644 (file)
index 0000000..7699ec6
--- /dev/null
@@ -0,0 +1,219 @@
+#include <QDebug>
+
+#include "flagrow.h"
+#include "mainwindow.h"
+
+extern bool debug;
+extern Main *mainWindow;
+
+/////////////////////////////////////////////////////////////////
+// FlagRow
+/////////////////////////////////////////////////////////////////
+FlagRow::FlagRow()
+{
+    //qDebug()<< "Const FlagRow ()";
+    masterRow = NULL;
+}
+
+FlagRow::~FlagRow()
+{
+    //qDebug()<< "Destr FlagRow   masterRow=" << masterRow;
+}
+
+const QStringList FlagRow::activeFlagNames() { return QStringList(); }
+
+const QList<QUuid> FlagRow::activeFlagUids() { return activeUids; }
+
+bool FlagRow::isActive(const QString &name)
+{
+    Flag *f = masterRow->findFlagByName(name);
+    if (!f) {
+        qWarning() << "FlagRow::isActive couldn't find flag named " << name;
+        return false;
+    }
+
+    return isActive(f->getUuid());
+}
+
+bool FlagRow::isActive(const QUuid &uid)
+{
+    QUuid i;
+    foreach (i, activeUids)
+        if (i == uid)
+            return true;
+    return false;
+}
+
+bool FlagRow::toggle(const QString &name, bool useGroups)
+{
+    // First get UID from mastRow
+    if (!masterRow) {
+        qWarning() << "FlagRow::toggle name " << name << " no masterRow";
+        return false;
+    }
+
+    Flag *flag = masterRow->findFlagByName(name);
+    if (!flag) {
+        qWarning() << "FlagRow::toggle name " << name
+                   << " masterRow has no such flag";
+        return false;
+    }
+
+    return toggle(flag->getUuid());
+}
+
+bool FlagRow::toggle(const QUuid &uid, bool useGroups)
+{
+    // returns true, if flag really is changed
+
+    if (isActive(uid)) {
+        return deactivate(uid);
+    }
+    else {
+        if (!activate(uid))
+            return false;
+
+        // From here on we have been able to activate the flag
+
+        if (!useGroups)
+            return true;
+
+        if (!masterRow) {
+            qWarning() << "FlagRow::toggle no masterRow defined for UID "
+                       << uid.toString();
+            return true;
+        }
+
+        // Deactivate all other active flags group except "name"
+        Flag *flag = masterRow->findFlagByUid(uid);
+        if (!flag)
+            return true;
+
+        QString mygroup = flag->getGroup();
+
+        for (int i = 0; i < activeUids.size(); ++i) {
+            flag = masterRow->findFlagByUid(activeUids.at(i));
+            if (uid != activeUids.at(i) && !mygroup.isEmpty() &&
+                mygroup == flag->getGroup())
+                deactivate(activeUids.at(i));
+        }
+    }
+    return true;
+}
+
+bool FlagRow::activate(const QString &name)
+{
+    if (!masterRow) {
+        qWarning() << "FlagRow::activate - no masterRow to activate " << name;
+        return false;
+    }
+
+    // Check, if flag exists after all...
+    Flag *flag = masterRow->findFlagByName(name);
+    if (!flag) {
+        qWarning() << "FlagRow::activate - flag " << name
+                   << " does not exist here!";
+        return false;
+    }
+
+    // Some flags might be hidden, if inactive
+    if (!flag->isVisible()) {
+        QAction *action = flag->getAction();
+        if (action)
+            action->setVisible(true);
+    }
+
+    QUuid uid = flag->getUuid();
+    if (!activeUids.contains(uid)) activeUids.append(uid);
+    return true;
+}
+
+bool FlagRow::activate(const QUuid &uid)
+{
+    if (isActive(uid)) {
+        if (debug)
+            qWarning() << QString("FlagRow::activate - %1 is already active")
+                              .arg(uid.toString());
+        return true;
+    }
+
+    if (!masterRow) {
+        qWarning() << "FlagRow::activate - no masterRow to activate "
+                   << uid.toString();
+        return false;
+    }
+
+    // Check, if flag exists after all...
+    Flag *flag = masterRow->findFlagByUid(uid);
+    if (!flag) {
+        qWarning() << "FlagRow::activate - flag " << uid.toString()
+                   << " does not exist here!";
+        return false;
+    }
+
+    activeUids.append(uid);
+    return true;
+}
+
+bool FlagRow::deactivate(const QString &name)
+{
+    Flag *flag = masterRow->findFlagByName(name);
+    return deactivate(flag->getUuid());
+}
+
+bool FlagRow::deactivate(const QUuid &uid)
+{
+    int n = activeUids.indexOf(uid);
+    if (n >= 0) {
+        activeUids.removeAt(n);
+        // Returns true, if flag is changed
+        return true;
+    }
+    if (debug)
+        qWarning() << QString("FlagRow::deactivate - %1 is not active")
+                          .arg(uid.toString());
+    return false;
+}
+
+bool FlagRow::deactivateGroup(const QString &gname)
+{
+    if (!masterRow)
+        return false;
+    if (gname.isEmpty())
+        return false;
+
+    foreach (QUuid uid, activeUids) {
+        Flag *flag = masterRow->findFlagByUid(uid);
+        if (flag && gname == flag->getGroup())
+            deactivate(flag->getUuid());
+    }
+    return true;
+}
+
+void FlagRow::deactivateAll()
+{
+    activeUids.clear();
+}
+
+QString FlagRow::saveState()
+{
+    QString s;
+
+    if (!activeUids.isEmpty())
+        for (int i = 0; i < activeUids.size(); ++i) {
+            Flag *flag = masterRow->findFlagByUid(activeUids.at(i));
+
+            // save flag to xml, if flag is set
+            s += flag->saveState();
+
+            // and tell parentRow, that this flag is used
+            //
+            // FIXME-3 used flag IDs should be saved for each vymmodel to avoid
+            // problems in parallel saving of maps
+            flag->setUsed(true);
+        }
+    return s;
+}
+
+void FlagRow::setMasterRow(FlagRowMaster *row) { masterRow = row; }
+
diff --git a/src/flagrow.h b/src/flagrow.h
new file mode 100644 (file)
index 0000000..ba13042
--- /dev/null
@@ -0,0 +1,41 @@
+#ifndef FLAGROW_H
+#define FLAGROW_H
+
+#include <QList>
+#include <QStringList>
+#include <QToolBar>
+
+#include "flagrowmaster.h"
+#include "xmlobj.h"
+
+class FlagRow 
+{
+  public:
+    FlagRow ();
+    ~FlagRow ();
+    const QStringList activeFlagNames();
+    const QList<QUuid> activeFlagUids();
+    bool isActive(const QString &name);
+    bool isActive(const QUuid &uuid);
+
+    /*! \brief Toggle a Flag
+    To activate a flag its uid will be copied from masterRow to activeUids in
+    current row.
+    */
+    bool toggle(const QString &, bool useGroups = true);
+    bool toggle(const QUuid &, bool useGroups = true);
+    bool activate(const QString &);
+    bool activate(const QUuid &);
+    bool deactivate(const QString &);
+    bool deactivate(const QUuid &);
+    bool deactivateGroup(const QString &);
+    void deactivateAll();
+    QString saveState();
+    void setMasterRow(FlagRowMaster *row);
+
+  private:
+    FlagRowMaster *masterRow;
+    QList<QUuid> activeUids; //! Used in treeitems: Lists all uids of currently
+                             //! active flags
+};
+#endif
diff --git a/src/flagrowmaster.cpp b/src/flagrowmaster.cpp
new file mode 100644 (file)
index 0000000..2b446da
--- /dev/null
@@ -0,0 +1,134 @@
+#include <QDebug>
+
+#include "flagrowmaster.h"
+#include "mainwindow.h"
+
+extern bool debug;
+extern Main *mainWindow;
+
+/////////////////////////////////////////////////////////////////
+// FlagRowMaster
+/////////////////////////////////////////////////////////////////
+FlagRowMaster::FlagRowMaster()
+{
+    // qDebug()<< "Const FlagRowMaster ()";
+    toolbar = NULL;
+    configureAction = NULL;
+}
+
+FlagRowMaster::~FlagRowMaster()
+{
+    // qDebug()<< "Destr FlagRowMaster    toolbar=" << toolbar;
+}
+
+Flag *FlagRowMaster::createFlag(const QString &path)
+{
+    Flag *flag = new Flag;
+    flag->load(path);
+    flags.append(flag);
+
+    return flag;
+}
+
+void FlagRowMaster::createConfigureAction()
+{
+    if (!toolbar)
+        return;
+
+    QAction *a =
+        new QAction(QIcon(":/configure-plus.svg"), QString("add flag"));
+    a->setCheckable(false);
+    a->connect(a, SIGNAL(triggered()), mainWindow, SLOT(addUserFlag()));
+
+    toolbar->addAction(a);
+    configureAction = a;
+}
+
+void FlagRowMaster::addActionToToolbar(QAction *a)
+{
+    if (!toolbar || !a)
+        return;
+
+    if (configureAction)
+        toolbar->insertAction(configureAction, a);
+    else
+        toolbar->addAction(a);
+}
+
+Flag *FlagRowMaster::findFlagByUid(const QUuid &uid)
+{
+    int i = 0;
+    while (i <= flags.size() - 1) {
+        if (flags.at(i)->getUuid() == uid)
+            return flags.at(i);
+        i++;
+    }
+    return NULL;
+}
+
+Flag *FlagRowMaster::findFlagByName(const QString &name)
+{
+    int i = 0;
+    while (i <= flags.size() - 1) {
+        if (flags.at(i)->getName() == name)
+            return flags.at(i);
+        i++;
+    }
+    qDebug() << "FR::findFlagByName failed for name " << name;
+    return NULL;
+}
+
+void FlagRowMaster::resetUsedCounter()
+{
+    for (int i = 0; i < flags.size(); ++i)
+        flags.at(i)->setUsed(false);
+}
+
+QString FlagRowMaster::saveDef(WriteMode mode)
+{
+    // Write definitions of flags
+
+    QString s = "\n";
+
+    for (int i = 0; i < flags.size(); ++i)
+        if ((mode == AllFlags) || (mode == UsedFlags && flags.at(i)->isUsed()))
+            s += flags.at(i)->getDefinition(prefix);
+
+    return s;
+}
+
+void FlagRowMaster::saveDataToDir(const QString &tmpdir, WriteMode mode)
+{
+    // Save icons to dir, if verbose is set (xml export)
+    // and I am a master
+    // and this standardflag is really used somewhere.
+    // Userflags are written anyway (if master flagrow)
+
+    for (int i = 0; i < flags.size(); ++i)
+        if ((mode == AllFlags) || (mode == UsedFlags && flags.at(i)->isUsed()))
+            flags.at(i)->saveDataToDir(tmpdir);
+}
+
+void FlagRowMaster::setName(const QString &n) { rowName = n; }
+
+void FlagRowMaster::setPrefix(const QString &p) { prefix = p; }
+
+QString FlagRowMaster::getName() { return rowName; }
+
+void FlagRowMaster::setToolBar(QToolBar *tb) { toolbar = tb; }
+
+void FlagRowMaster::setEnabled(bool b) { toolbar->setEnabled(b); }
+
+void FlagRowMaster::updateToolBar(QList<QUuid> activeUids)
+{
+    if (toolbar) {
+        for (int i = 0; i < flags.size(); ++i)
+            flags.at(i)->getAction()->setChecked(false);
+
+        for (int i = 0; i < flags.size(); ++i) {
+            int n = activeUids.indexOf(flags.at(i)->getUuid());
+            if (n >= 0)
+                flags.at(i)->getAction()->setChecked(true);
+        }
+    }
+}
diff --git a/src/flagrowmaster.h b/src/flagrowmaster.h
new file mode 100644 (file)
index 0000000..aaf0978
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef FLAGROWMASTER_H
+#define FLAGROWMASTER_H
+
+#include <QList>
+#include <QStringList>
+#include <QToolBar>
+
+#include "flag.h"
+#include "xmlobj.h"
+
+/*! \brief A set of flags (Flag).
+
+   A toolbar can be created from the flags in this row.
+   The data needed for represention in a vym map
+   is stored in FlagRowObj.
+ */
+
+class FlagRowMaster : public XMLObj {
+  public:
+    enum WriteMode { NoFlags, UsedFlags, AllFlags };
+    FlagRowMaster();
+    ~FlagRowMaster();
+    Flag *createFlag(const QString &path);
+    void createConfigureAction();
+    void addActionToToolbar(QAction *a);
+    Flag *findFlagByUid(const QUuid &uid);
+    Flag *findFlagByName(const QString &name);
+    void resetUsedCounter();
+    QString saveDef(WriteMode mode);
+    void saveDataToDir(const QString &, WriteMode mode);
+    void setName(const QString &); // prefix for exporting flags to dir
+    QString getName();             // Used for debugging only
+    void setPrefix(const QString &prefix);
+    void setToolBar(QToolBar *tb);
+    void setEnabled(bool);
+    void updateToolBar(QList<QUuid> activeUids);
+
+  private:
+    QToolBar *toolbar;
+    QList<Flag *> flags;      //! Used in to define flags
+    QString rowName;          //! Name of this collection of flags
+    QString prefix;           //! Prefix for saving data: user/ or standard/
+    QAction *configureAction; //! Action to trigger loading new user flags
+};
+#endif
diff --git a/src/flagrowobj.cpp b/src/flagrowobj.cpp
new file mode 100644 (file)
index 0000000..9a707da
--- /dev/null
@@ -0,0 +1,162 @@
+#include <QDebug>
+#include <QToolBar>
+
+#include "flag.h"
+#include "flagrowobj.h"
+
+#include "geometry.h"
+
+/////////////////////////////////////////////////////////////////
+// FlagRowObj
+/////////////////////////////////////////////////////////////////
+FlagRowObj::FlagRowObj()
+{
+    //    qDebug() << "Const FlagRowObj ()";
+}
+
+FlagRowObj::FlagRowObj(QGraphicsItem *parent) : MapObj(parent)
+{
+    //    qDebug() << "Const FlagRowObj (p)";
+}
+
+FlagRowObj::~FlagRowObj()
+{
+    // qDebug() << "Destr FlagRowObj";
+    while (!flagobjs.isEmpty())
+        delete (flagobjs.takeFirst());
+}
+
+void FlagRowObj::move(double x, double y)
+{
+    MapObj::move(x, y);
+    qreal dx = 0;
+    for (int i = 0; i < flagobjs.size(); ++i) {
+        flagobjs.at(i)->move(x + dx, y);
+        dx += QSizeF(flagobjs.at(i)->getSize()).width();
+    }
+}
+
+void FlagRowObj::moveBy(double x, double y)
+{
+    move(x + absPos.x(), y + absPos.y());
+}
+
+void FlagRowObj::setZValue(double z)
+{
+    QGraphicsItem::setZValue(z);
+    for (int i = 0; i < flagobjs.size(); ++i)
+        flagobjs.at(i)->setZValue(z);
+}
+
+void FlagRowObj::setVisibility(bool v)
+{
+    MapObj::setVisibility(v);
+    for (int i = 0; i < flagobjs.size(); ++i)
+        flagobjs.at(i)->setVisibility(v);
+}
+
+void FlagRowObj::updateActiveFlagObjs(const QList<QUuid> activeFlagUids,
+                                      FlagRowMaster *masterRowMain,
+                                      FlagRowMaster *masterRowOptional)
+{
+    bool changed = false;
+
+    // Add missing active flags
+    for (int i = 0; i <= activeFlagUids.size() - 1; i++) {
+        if (!isFlagActive(activeFlagUids.at(i))) {
+            Flag *f = masterRowMain->findFlagByUid(activeFlagUids.at(i));
+            if (f) {
+                activateFlag(f);
+                changed = true;
+            }
+            if (masterRowOptional) {
+                f = masterRowOptional->findFlagByUid(activeFlagUids.at(i));
+                if (f) {
+                    activateFlag(f);
+                    changed = true;
+                }
+            }
+        }
+    }
+
+    // Remove flags no longer active in TreeItem
+    foreach (FlagObj *fo, flagobjs)
+        if (!activeFlagUids.contains(fo->getUuid())) {
+            flagobjs.removeAll(fo);
+            delete (fo);
+            changed = true;
+        }
+
+    if (changed) {
+        calcBBoxSize();
+        positionBBox();
+    }
+}
+
+void FlagRowObj::positionBBox()
+{
+    bbox.moveTopLeft(absPos);
+    clickPoly = QPolygonF(bbox);
+}
+
+void FlagRowObj::calcBBoxSize()
+{
+    QSizeF size(0, 0);
+    QSizeF boxsize(0, 0);
+    for (int i = 0; i < flagobjs.size(); ++i) {
+        size = flagobjs.at(i)->getSize();
+        // add widths
+        boxsize.setWidth(boxsize.width() + size.width());
+        // maximize height
+        if (size.height() > boxsize.height())
+            boxsize.setHeight(size.height());
+    }
+    bbox.setSize(boxsize);
+    clickPoly = QPolygonF(bbox);
+}
+
+bool FlagRowObj::isFlagActive(const QUuid &uid)
+{
+    FlagObj *fo = findFlagObjByUid(uid);
+    if (fo)
+        return true;
+    else
+        return false;
+}
+
+void FlagRowObj::activateFlag(Flag *flag)
+{
+    if (flag) {
+        FlagObj *fo = new FlagObj(this);
+
+        // Loading an imageObj  will *copy* it
+        // and thus read the flag from cache
+        fo->loadImage(flag->getImageObj());
+
+        fo->setUuid(flag->getUuid());
+        fo->setZValue(QGraphicsItem::zValue());
+        fo->move(absPos.x() + bbox.width(), absPos.y());
+        fo->setVisibility(visible);
+        flagobjs.append(fo);
+        calcBBoxSize();
+        positionBBox();
+    }
+}
+
+FlagObj *FlagRowObj::findFlagObjByUid(const QUuid &uid)
+{
+    for (int i = 0; i < flagobjs.size(); ++i)
+        if (flagobjs.at(i)->getUuid() == uid)
+            return flagobjs.at(i);
+    return NULL;
+}
+
+QUuid FlagRowObj::findFlagUidByPos(const QPointF &p)
+{
+    if (!isInBox(p, clickPoly.boundingRect()))
+        return QUuid();
+    for (int i = 0; i < flagobjs.size(); ++i)
+        if (isInBox(p, flagobjs.at(i)->getClickPoly().boundingRect()))
+            return flagobjs.at(i)->getUuid();
+    return QUuid();
+}
diff --git a/src/flagrowobj.h b/src/flagrowobj.h
new file mode 100644 (file)
index 0000000..a877c7d
--- /dev/null
@@ -0,0 +1,37 @@
+#ifndef FLAGROWOBJ_H
+#define FLAGROWOBJ_H
+
+#include <QMainWindow>
+
+//#include "mapobj.h"
+#include "flagobj.h"
+
+class Flag;
+
+/*! \brief A collection of flags (FlagObj) in a map.
+
+   The flags are aligned horizontally  in a row on the map.
+ */
+
+class FlagRowObj : public MapObj {
+  public:
+    FlagRowObj();
+    FlagRowObj(QGraphicsItem *);
+    ~FlagRowObj();
+    virtual void move(double, double);
+    virtual void moveBy(double, double);
+    virtual void setZValue(double z);
+    virtual void setVisibility(bool);
+    void updateActiveFlagObjs(const QList<QUuid>, FlagRowMaster *masterRowMain,
+                              FlagRowMaster *masterRowOptional = NULL);
+    virtual void positionBBox();
+    virtual void calcBBoxSize();
+    bool isFlagActive(const QUuid &);
+    void activateFlag(Flag *flag);
+    FlagObj *findFlagObjByUid(const QUuid &);
+    virtual QUuid findFlagUidByPos(const QPointF &p); // Find flag by position
+  private:
+    QList<FlagObj *> flagobjs;
+    bool showFlags; // FloatObjects want to hide their flags
+};
+#endif
diff --git a/src/floatimageobj.cpp b/src/floatimageobj.cpp
new file mode 100644 (file)
index 0000000..6c98644
--- /dev/null
@@ -0,0 +1,137 @@
+#include <QDebug>
+#include <QImageReader>
+
+#include "branchobj.h"
+#include "floatimageobj.h"
+
+/////////////////////////////////////////////////////////////////
+// FloatImageObj
+/////////////////////////////////////////////////////////////////
+
+FloatImageObj::FloatImageObj(QGraphicsItem *parent, TreeItem *ti)
+    : FloatObj(parent, ti)
+{
+    // qDebug() << "Const FloatImageObj this=" << this << "  ti=" << ti;
+    imageObj = new ImageObj(parent);
+    imageObj->setPos(absPos.x(), absPos.y());
+    imageObj->setVisibility(true);
+    clickPoly = bbox;
+    useRelPos = true;
+
+    //    setLinkStyle (LinkableMapObj::Parabel);
+}
+
+FloatImageObj::~FloatImageObj()
+{
+    // qDebug() << "Destr FloatImageObj "<<this<<"";
+    delete (imageObj);
+}
+
+void FloatImageObj::copy(FloatImageObj *other)
+{
+    FloatObj::copy(other);
+    imageObj->copy(other->imageObj);
+    positionBBox();
+}
+
+void FloatImageObj::setZValue(const int &i)
+{
+
+    //    qDebug()<<"FIO::setZValue z="<<i;
+    //    qDebug()<<"  imageObj="<<imageObj;
+    //    qDebug()<<"  this="<<this;
+    imageObj->setZValue(i);
+}
+
+int FloatImageObj::z() { return qRound(imageObj->zValue()); }
+
+bool FloatImageObj::load(const QString &fname)
+{
+    if (!imageObj->load(fname))
+        return false;
+
+    bbox.setSize(QSizeF(imageObj->boundingRect().width(),
+                        imageObj->boundingRect().height()));
+
+    clickPoly = bbox;
+    positionBBox();
+    return true;
+}
+
+bool FloatImageObj::save(const QString &fname) { return imageObj->save(fname); }
+
+QString FloatImageObj::getExtension() { return imageObj->getExtension(); }
+
+void FloatImageObj::setParObj(QGraphicsItem *p)
+{
+    setParentItem(p);
+    imageObj->setParentItem(p);
+    parObj = (LinkableMapObj *)p;
+    /*
+        qDebug()<<"FIO::setParentItem";
+        qDebug()<<"     this = "<<this;
+        qDebug()<<"  imageObj=" << imageObj;
+    */
+}
+
+void FloatImageObj::setVisibility(bool v)
+{
+    OrnamentedObj::setVisibility(v);
+    if (v)
+        imageObj->setVisibility(true);
+    else
+        imageObj->setVisibility(false);
+}
+
+void FloatImageObj::setScaleFactor(qreal f)
+{
+    imageObj->setScaleFactor(f);
+    bbox.setSize(QSizeF(imageObj->boundingRect().width(),
+                        imageObj->boundingRect().height()));
+    positionBBox();
+}
+
+qreal FloatImageObj::getScaleFactor() { return imageObj->getScaleFactor(); }
+
+qreal FloatImageObj::width()
+{
+    return imageObj->boundingRect().width();
+}
+
+qreal FloatImageObj::height()
+{
+    return imageObj->boundingRect().height();
+}
+
+void FloatImageObj::moveCenter(double x, double y)
+{
+    FloatObj::moveCenter(x, y);
+    imageObj->setPos(bbox.topLeft());
+}
+
+void FloatImageObj::move(double x, double y)
+{
+    FloatObj::move(x, y);
+    imageObj->setPos(x, y);
+    positionBBox();
+}
+
+void FloatImageObj::move(QPointF p) { FloatImageObj::move(p.x(), p.y()); }
+
+void FloatImageObj::positionBBox() { clickPoly = QPolygonF(bbox); }
+
+void FloatImageObj::calcBBoxSize()
+{
+    // TODO
+}
+
+QRectF FloatImageObj::getBBoxSizeWithChildren()
+{
+    // TODO abstract in linkablemapobj.h, not calculated
+    return bboxTotal;
+}
+
+void FloatImageObj::calcBBoxSizeWithChildren()
+{
+    // TODO abstract in linkablemapobj.h
+}
diff --git a/src/floatimageobj.h b/src/floatimageobj.h
new file mode 100644 (file)
index 0000000..b78c293
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef FLOATIMAGEOBJ_H
+#define FLOATIMAGEOBJ_H
+
+#include "floatobj.h"
+#include <QPixmap>
+
+class TreeItem;
+/*! \brief A pixmap which can be positioned freely on the map.  */
+
+/////////////////////////////////////////////////////////////////////////////
+class FloatImageObj : public FloatObj {
+  public:
+    FloatImageObj(QGraphicsItem *, TreeItem *ti = NULL);
+    ~FloatImageObj();
+    virtual void copy(FloatImageObj *);
+    virtual void setZValue(const int &);
+    virtual int z();
+
+    bool load(const QString &fname);
+    bool save(const QString &fname);
+    QString getExtension();
+    void setParObj(QGraphicsItem *);
+    void setVisibility(bool); // set vis. for w
+    void setScaleFactor(qreal f);
+    qreal getScaleFactor();
+    qreal width();
+    qreal height();
+    virtual void moveCenter(double x, double y);
+    virtual void move(double x, double y);
+    virtual void move(QPointF);
+    virtual void positionBBox();
+    virtual void calcBBoxSize();
+    virtual QRectF
+    getBBoxSizeWithChildren(); // return size of BBox including children
+    virtual void calcBBoxSizeWithChildren(); // calc size of  BBox including
+                                             // children recursivly
+
+  protected:
+    ImageObj *imageObj;
+};
+
+#endif
diff --git a/src/floatobj.cpp b/src/floatobj.cpp
new file mode 100644 (file)
index 0000000..650b6a5
--- /dev/null
@@ -0,0 +1,98 @@
+#include <QDebug>
+
+#include "floatobj.h"
+#include "mapitem.h"
+
+extern bool debug;
+
+/////////////////////////////////////////////////////////////////
+// FloatObj
+/////////////////////////////////////////////////////////////////
+
+FloatObj::FloatObj(QGraphicsItem *parent, TreeItem *ti)
+    : OrnamentedObj(parent, ti)
+{
+    // qDebug() << "Const FloatObj s="<<s<<"  ti="<<ti<<"  treeItem="<<treeItem;
+    init();
+}
+
+FloatObj::~FloatObj()
+{
+    //   qDebug() << "Destr FloatObj";
+}
+
+void FloatObj::init()
+{
+    setLinkStyle(LinkableMapObj::Parabel);
+    ((MapItem *)treeItem)->setHideLinkUnselected(true);
+}
+
+void FloatObj::copy(FloatObj *other)
+{
+    LinkableMapObj::copy(other);
+    setVisibility(other->visible);
+}
+
+void FloatObj::move(double x, double y) { MapObj::move(x, y); }
+
+void FloatObj::move(QPointF p) { FloatObj::move(p.x(), p.y()); }
+
+void FloatObj::moveCenter(double x, double y)
+{
+    absPos = QPointF(x, y);
+    bbox.moveTo(x - bbox.width() / 2, y - bbox.height() / 2);
+    clickPoly = QPolygonF(bbox);
+}
+
+void FloatObj::moveCenter2RelPos(double x, double y)
+{
+    setRelPos(QPointF(x, y));
+    if (parObj) {
+        QPointF p = parObj->getFloatRefPos();
+        moveCenter(p.x() + x, p.y() + y);
+    }
+}
+
+void FloatObj::move2RelPos(
+    double x, double y) // overloaded to use floatRefPos instead of childRefPos
+{
+    setRelPos(QPointF(x, y));
+    if (parObj) {
+        QPointF p = parObj->getFloatRefPos();
+        move(p.x() + x, p.y() + y);
+    }
+}
+
+void FloatObj::move2RelPos(
+    QPointF p) // overloaded to use floatRefPos instead of childRefPos
+{
+    move2RelPos(p.x(), p.y());
+}
+
+void FloatObj::setRelPos()
+{
+    if (parObj)
+        setRelPos(absPos - parObj->getFloatRefPos());
+    else
+        qWarning() << "FO::setRelPos parObj==0   this=" << this;
+}
+
+void FloatObj::setRelPos(const QPointF &p)
+{
+    if (parObj) {
+        relPos = p;
+        useRelPos = true;
+    }
+    else
+        qWarning() << "LMO::setRelPos (p)  parObj==0   this=" << this;
+}
+
+void FloatObj::setDockPos() { parPos = absPos; }
+
+void FloatObj::reposition()
+{
+    moveCenter2RelPos(relPos.x(), relPos.y());
+    updateLinkGeometry();
+}
+
+QRectF FloatObj::getBBoxSizeWithChildren() { return bboxTotal; }
diff --git a/src/floatobj.h b/src/floatobj.h
new file mode 100644 (file)
index 0000000..cd03cc3
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef FLOATOBJ_H
+#define FLOATOBJ_H
+
+#include "ornamentedobj.h"
+
+/*! \brief Base class for objects floating in the map, which means they can be
+ * positioned freely. */
+
+/////////////////////////////////////////////////////////////////////////////
+class FloatObj : public OrnamentedObj {
+  public:
+    FloatObj(QGraphicsItem *, TreeItem *ti = NULL);
+    ~FloatObj();
+    virtual void init();
+    virtual void copy(FloatObj *);
+    virtual void move(double, double);
+    virtual void move(QPointF);
+    virtual void moveCenter(double x, double y);
+    virtual void moveCenter2RelPos(double x, double y);
+    virtual void move2RelPos(double x, double y);
+    virtual void move2RelPos(QPointF p);
+    virtual void setRelPos();
+    virtual void setRelPos(const QPointF &p);
+    virtual void setDockPos();
+    virtual void reposition();
+
+    virtual QRectF
+    getBBoxSizeWithChildren(); // return size of BBox including children
+};
+
+#endif
diff --git a/src/frameobj.cpp b/src/frameobj.cpp
new file mode 100644 (file)
index 0000000..d1503cf
--- /dev/null
@@ -0,0 +1,399 @@
+#include "frameobj.h"
+
+#include <QColor>
+#include <QDebug>
+#include <QGraphicsScene>
+
+#include "misc.h" //for roof function
+
+/////////////////////////////////////////////////////////////////
+// FrameObj
+/////////////////////////////////////////////////////////////////
+FrameObj::FrameObj(QGraphicsItem *parent) : MapObj(parent) { init(); }
+
+FrameObj::~FrameObj() { clear(); }
+
+void FrameObj::init()
+{
+    type = NoFrame;
+    clear();
+    borderWidth = 1;
+    penColor = QColor(Qt::black);
+    brushColor = QColor(Qt::white);
+    includeChildren = false;
+}
+
+void FrameObj::clear()
+{
+    switch (type) {
+    case NoFrame:
+        break;
+    case Rectangle:
+        delete rectFrame;
+        break;
+    case RoundedRectangle:
+        delete pathFrame;
+        break;
+    case Ellipse:
+        delete ellipseFrame;
+        break;
+    case Cloud:
+        delete pathFrame;
+        break;
+    }
+    type = NoFrame;
+    padding = 0; // No frame requires also no padding
+    xsize = 0;
+}
+
+void FrameObj::move(double x, double y)
+{
+    switch (type) {
+    case NoFrame:
+        break;
+    case Rectangle:
+        rectFrame->setPos(x, y);
+        break;
+    case RoundedRectangle:
+        pathFrame->setPos(x, y);
+        break;
+    case Ellipse:
+        ellipseFrame->setPos(x, y);
+        break;
+    case Cloud:
+        pathFrame->setPos(x, y);
+        break;
+    }
+}
+
+void FrameObj::moveBy(double x, double y) { MapObj::moveBy(x, y); }
+
+void FrameObj::positionBBox() {}
+
+void FrameObj::calcBBoxSize() {}
+
+void FrameObj::setRect(const QRectF &r)
+{
+    bbox = r;
+    switch (type) {
+    case NoFrame:
+        break;
+
+    case Rectangle:
+        rectFrame->setRect(
+            QRectF(bbox.x(), bbox.y(), bbox.width(), bbox.height()));
+        break;
+
+    case RoundedRectangle: {
+        QPointF tl = bbox.topLeft();
+        QPointF tr = bbox.topRight();
+        QPointF bl = bbox.bottomLeft();
+        QPointF br = bbox.bottomRight();
+        QPainterPath path;
+
+        qreal n = 10;
+        path.moveTo(tl.x() + n / 2, tl.y());
+
+        // Top path
+        path.lineTo(tr.x() - n, tr.y());
+        path.arcTo(tr.x() - n, tr.y(), n, n, 90, -90);
+        path.lineTo(br.x(), br.y() - n);
+        path.arcTo(br.x() - n, br.y() - n, n, n, 0, -90);
+        path.lineTo(bl.x() + n, br.y());
+        path.arcTo(bl.x(), bl.y() - n, n, n, -90, -90);
+        path.lineTo(tl.x(), tl.y() + n);
+        path.arcTo(tl.x(), tl.y(), n, n, 180, -90);
+        pathFrame->setPath(path);
+    } break;
+    case Ellipse:
+        ellipseFrame->setRect(
+            QRectF(bbox.x(), bbox.y(), bbox.width(), bbox.height()));
+        xsize = 20; // max(bbox.width(), bbox.height()) / 4;
+        break;
+
+    case Cloud:
+        QPointF tl = bbox.topLeft();
+        QPointF tr = bbox.topRight();
+        QPointF bl = bbox.bottomLeft();
+        QPainterPath path;
+        path.moveTo(tl);
+
+        float w = bbox.width();  // width
+        float h = bbox.height(); // height
+        int n = w / 40;          // number of intervalls
+        float d = w / n;         // width of interwall
+
+        // Top path
+        for (float i = 0; i < n; i++) {
+            path.cubicTo(tl.x() + i * d, tl.y() - 100 * roof((i + 0.5) / n),
+                         tl.x() + (i + 1) * d,
+                         tl.y() - 100 * roof((i + 0.5) / n),
+                         tl.x() + (i + 1) * d + 20 * roof((i + 1) / n),
+                         tl.y() - 50 * roof((i + 1) / n));
+        }
+        // Right path
+        n = h / 20;
+        d = h / n;
+        for (float i = 0; i < n; i++) {
+            path.cubicTo(tr.x() + 100 * roof((i + 0.5) / n), tr.y() + i * d,
+                         tr.x() + 100 * roof((i + 0.5) / n),
+                         tr.y() + (i + 1) * d, tr.x() + 60 * roof((i + 1) / n),
+                         tr.y() + (i + 1) * d);
+        }
+        n = w / 60;
+        d = w / n;
+        // Bottom path
+        for (float i = n; i > 0; i--) {
+            path.cubicTo(bl.x() + i * d, bl.y() + 100 * roof((i - 0.5) / n),
+                         bl.x() + (i - 1) * d,
+                         bl.y() + 100 * roof((i - 0.5) / n),
+                         bl.x() + (i - 1) * d + 20 * roof((i - 1) / n),
+                         bl.y() + 50 * roof((i - 1) / n));
+        }
+        // Left path
+        n = h / 20;
+        d = h / n;
+        for (float i = n; i > 0; i--) {
+            path.cubicTo(tl.x() - 100 * roof((i - 0.5) / n), tr.y() + i * d,
+                         tl.x() - 100 * roof((i - 0.5) / n),
+                         tr.y() + (i - 1) * d, tl.x() - 60 * roof((i - 1) / n),
+                         tr.y() + (i - 1) * d);
+        }
+        pathFrame->setPath(path);
+        xsize = 50;
+        break;
+    }
+}
+
+void FrameObj::setPadding(const int &i) { padding = i; }
+
+int FrameObj::getPadding()
+{
+    if (type == NoFrame)
+        return 0;
+    else
+        return padding;
+}
+
+qreal FrameObj::getTotalPadding() { return xsize + padding + borderWidth; }
+
+qreal FrameObj::getXPadding() { return xsize; }
+
+void FrameObj::setBorderWidth(const int &i)
+{
+    borderWidth = i;
+    repaint();
+}
+
+int FrameObj::getBorderWidth() { return borderWidth; }
+
+FrameObj::FrameType FrameObj::getFrameType() { return type; }
+
+FrameObj::FrameType FrameObj::getFrameType(const QString &s)
+{
+    if (s == "Rectangle")
+        return Rectangle;
+    else if (s == "RoundedRectangle")
+        return RoundedRectangle;
+    else if (s == "Ellipse")
+        return Ellipse;
+    else if (s == "Cloud")
+        return Cloud;
+    return NoFrame;
+}
+
+QString FrameObj::getFrameTypeName()
+{
+    switch (type) {
+    case Rectangle:
+        return "Rectangle";
+        break;
+    case RoundedRectangle:
+        return "RoundedRectangle";
+        break;
+    case Ellipse:
+        return "Ellipse";
+        break;
+    case Cloud:
+        return "Cloud";
+        break;
+    default:
+        return "NoFrame";
+    }
+}
+
+void FrameObj::setFrameType(const FrameType &t)
+{
+    if (t != type) {
+        clear();
+        type = t;
+        switch (type) {
+        case NoFrame:
+            break;
+        case Rectangle:
+            rectFrame = scene()->addRect(QRectF(0, 0, 0, 0), QPen(penColor),
+                                         brushColor);
+            rectFrame->setZValue(dZ_FRAME_LOW);
+            rectFrame->setParentItem(this);
+            rectFrame->show();
+            break;
+        case RoundedRectangle: {
+            QPainterPath path;
+            pathFrame = scene()->addPath(path, QPen(penColor), brushColor);
+            pathFrame->setZValue(dZ_FRAME_LOW);
+            pathFrame->setParentItem(this);
+            pathFrame->show();
+        } break;
+        case Ellipse:
+            ellipseFrame = scene()->addEllipse(QRectF(0, 0, 0, 0),
+                                               QPen(penColor), brushColor);
+            ellipseFrame->setZValue(dZ_FRAME_LOW);
+            ellipseFrame->setParentItem(this);
+            ellipseFrame->show();
+            break;
+        case Cloud: {
+            QPainterPath path;
+            pathFrame = scene()->addPath(path, QPen(penColor), brushColor);
+            pathFrame->setZValue(dZ_FRAME_LOW);
+            pathFrame->setParentItem(this);
+            pathFrame->show();
+            break;
+        }
+        }
+    }
+    setVisibility(visible);
+}
+
+void FrameObj::setFrameType(const QString &t)
+{
+    if (t == "Rectangle")
+        FrameObj::setFrameType(Rectangle);
+    else if (t == "RoundedRectangle")
+        FrameObj::setFrameType(RoundedRectangle);
+    else if (t == "Ellipse")
+        FrameObj::setFrameType(Ellipse);
+    else if (t == "Cloud")
+        FrameObj::setFrameType(Cloud);
+    else
+        FrameObj::setFrameType(NoFrame);
+}
+
+void FrameObj::setPenColor(QColor col)
+{
+    penColor = col;
+    repaint();
+}
+
+QColor FrameObj::getPenColor() { return penColor; }
+
+void FrameObj::setBrushColor(QColor col)
+{
+    brushColor = col;
+    repaint();
+}
+
+QColor FrameObj::getBrushColor() { return brushColor; }
+
+void FrameObj::setFrameIncludeChildren(bool b) { includeChildren = b; }
+
+bool FrameObj::getFrameIncludeChildren() { return includeChildren; }
+
+void FrameObj::repaint()
+{
+    QPen pen;
+    pen.setColor(penColor);
+    pen.setWidth(borderWidth);
+    QBrush brush(brushColor);
+    switch (type) {
+    case Rectangle:
+        rectFrame->setPen(pen);
+        rectFrame->setBrush(brush);
+        break;
+    case RoundedRectangle:
+        pathFrame->setPen(pen);
+        pathFrame->setBrush(brush);
+        break;
+    case Ellipse:
+        ellipseFrame->setPen(pen);
+        ellipseFrame->setBrush(brush);
+        break;
+    case Cloud:
+        pathFrame->setPen(pen);
+        pathFrame->setBrush(brush);
+        break;
+    default:
+        break;
+    }
+}
+
+void FrameObj::setZValue(double z)
+{
+    switch (type) {
+    case NoFrame:
+        break;
+    case Rectangle:
+        rectFrame->setZValue(z);
+        break;
+    case RoundedRectangle:
+        pathFrame->setZValue(z);
+        break;
+    case Ellipse:
+        ellipseFrame->setZValue(z);
+        break;
+    case Cloud:
+        pathFrame->setZValue(z);
+        break;
+    }
+}
+
+void FrameObj::setVisibility(bool v)
+{
+    MapObj::setVisibility(v);
+    switch (type) {
+    case NoFrame:
+        break;
+    case Rectangle:
+        if (visible)
+            rectFrame->show();
+        else
+            rectFrame->hide();
+        break;
+    case RoundedRectangle:
+        if (visible)
+            pathFrame->show();
+        else
+            pathFrame->hide();
+        break;
+    case Ellipse:
+        if (visible)
+            ellipseFrame->show();
+        else
+            ellipseFrame->hide();
+        break;
+    case Cloud:
+        if (visible)
+            pathFrame->show();
+        else
+            pathFrame->hide();
+        break;
+    }
+}
+
+QString FrameObj::saveToDir()
+{
+    QString frameTypeAttr = attribut("frameType", getFrameTypeName());
+    if (type == NoFrame)
+        return singleElement("frame", frameTypeAttr);
+
+    QString penColAttr = attribut("penColor", penColor.name());
+    QString brushColAttr = attribut("brushColor", brushColor.name());
+    QString paddingAttr = attribut("padding", QString::number(padding));
+    QString borderWidthAttr =
+        attribut("borderWidth", QString::number(borderWidth));
+    QString incChildren;
+    if (includeChildren)
+        incChildren = attribut("includeChildren", "true");
+    return singleElement("frame", frameTypeAttr + penColAttr + brushColAttr +
+                                      paddingAttr + borderWidthAttr +
+                                      incChildren);
+}
diff --git a/src/frameobj.h b/src/frameobj.h
new file mode 100644 (file)
index 0000000..7e8d0ee
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef FRAMEOBJ_H
+#define FRAMEOBJ_H
+
+#include "mapobj.h"
+
+/*! \brief This class adds a frame to a MapObj.
+ */
+
+class FrameObj : public MapObj {
+  public:
+    /*! \brief Supported frame types */
+    enum FrameType { NoFrame, Rectangle, RoundedRectangle, Ellipse, Cloud };
+
+    FrameObj(QGraphicsItem *parent);
+    ~FrameObj();
+    void init();
+    void clear();
+    void move(double x, double y);   // move to absolute Position
+    void moveBy(double x, double y); // move to relative Position
+    void positionBBox();
+    void calcBBoxSize();
+    void setRect(const QRectF &); // set dimensions
+    void setPadding(const int &);
+    int getPadding();
+    qreal getTotalPadding(); // padding + borderwidth + xsize (e.g. cloud)
+    qreal getXPadding();
+    void setBorderWidth(const int &);
+    int getBorderWidth();
+    FrameType getFrameType();
+    FrameType getFrameType(const QString &);
+    QString getFrameTypeName();
+    void setFrameType(const FrameType &);
+    void setFrameType(const QString &);
+    void setPenColor(QColor);
+    QColor getPenColor();
+    void setBrushColor(QColor);
+    QColor getBrushColor();
+    void setFrameIncludeChildren(bool);
+    bool getFrameIncludeChildren();
+    void repaint();
+    void setZValue(double z);
+    void setVisibility(bool);
+    QString saveToDir();
+
+  private:
+    FrameType type; //!< Frame type
+    QGraphicsRectItem *rectFrame;
+    QGraphicsEllipseItem *ellipseFrame;
+    QGraphicsPathItem *pathFrame;
+    int padding; // distance text - frame
+    int borderWidth;
+    qreal xsize; //! Extra size caused e.g. by cloud geometry
+    QColor penColor;
+    QColor brushColor;
+    bool includeChildren;
+};
+#endif
diff --git a/src/geometry.cpp b/src/geometry.cpp
new file mode 100644 (file)
index 0000000..ffc53bc
--- /dev/null
@@ -0,0 +1,358 @@
+#include "geometry.h"
+
+#include "misc.h"
+#include <math.h>
+
+#include <QString>
+
+#include <iostream>
+using namespace std;
+
+QRectF addBBox(QRectF r1, QRectF r2)
+{
+    // Find smallest QRectF containing given rectangles
+
+    QRectF n;
+    // Set left border
+    if (r1.left() <= r2.left())
+        n.setLeft(r1.left());
+    else
+        n.setLeft(r2.left());
+
+    // Set top border
+    if (r1.top() <= r2.top())
+        n.setTop(r1.top());
+    else
+        n.setTop(r2.top());
+
+    // Set right border
+    if (r1.right() <= r2.right())
+        n.setRight(r2.right());
+    else
+        n.setRight(r1.right());
+
+    // Set bottom
+    if (r1.bottom() <= r2.bottom())
+        n.setBottom(r2.bottom());
+    else
+        n.setBottom(r1.bottom());
+    return n;
+}
+
+QSize addBBoxSize(QSize s1, QSize s2)
+{
+    // Find the minimimum smallest QSize which could include 2 given sizes
+
+    QSize s = s1;
+    if (s1.width() <= s2.width())
+        s.setWidth(s2.width());
+    if (s1.height() <= s2.height())
+        s.setHeight(s2.height());
+    return s;
+}
+
+bool isInBox(const QPointF &p, const QRectF &box)
+{
+    if (p.x() >= box.left() && p.x() <= box.right() && p.y() <= box.bottom() &&
+        p.y() >= box.top())
+        return true;
+    return false;
+}
+
+qreal Geometry::distance(const QPointF &p, const QPointF &q)
+{
+    return sqrt(p.x() * q.x() + p.y() * q.y());
+}
+
+Vector::Vector() : QPointF() {}
+
+Vector::Vector(const QPointF &p) : QPointF(p) {}
+
+Vector::Vector(qreal x, qreal y) : QPointF(x, y) {}
+
+Vector::~Vector() {}
+
+//! Check if length is 0
+bool Vector::isNull()
+{
+    if (x() == 0 && y() == 0)
+        return true;
+    return false;
+}
+
+//! Normalize vector
+void Vector::normalize()
+{
+    if (isNull())
+        return;
+    qreal l = sqrt(x() * x() + y() * y());
+    setX(x() / l);
+    setY(y() / l);
+}
+
+//! Dot product of two vectors
+qreal Vector::dotProduct(const QPointF &b) { return x() * b.x() + y() * b.y(); }
+
+void Vector::scale(const qreal &f)
+{
+    setX(x() * f);
+    setY(y() * f);
+}
+
+void Vector::invert()
+{
+    setX(-x());
+    setY(-y());
+}
+
+QPointF Vector::toQPointF() { return QPointF(x(), y()); }
+
+/*! Calculate the projection of a polygon on an axis
+    and returns it as a [min, max] interval  */
+ConvexPolygon::ConvexPolygon() {}
+
+ConvexPolygon::ConvexPolygon(QPolygonF p) : QPolygonF(p) {}
+
+ConvexPolygon::~ConvexPolygon() {}
+
+void ConvexPolygon::calcCentroid()
+{
+    // Calculate area and centroid
+    // http://en.wikipedia.org/wiki/Centroid
+    qreal cx, cy, p;
+    cx = cy = 0;
+    _area = 0;
+
+    append(at(0));
+    for (int i = 0; i < size() - 1; i++) {
+        p = at(i).x() * at(i + 1).y() - at(i + 1).x() * at(i).y();
+        _area += p;
+        cx += (at(i).x() + at(i + 1).x()) * p;
+        cy += (at(i).y() + at(i + 1).y()) * p;
+    }
+    pop_back();
+    // area is negative if vertices ordered counterclockwise
+    // (in mirrored graphicsview!)
+    _area = _area / 2;
+    p = _area * 6;
+    _centroid.setX(cx / p);
+    _centroid.setY(cy / p);
+}
+
+QPointF ConvexPolygon::centroid() const { return _centroid; }
+
+qreal ConvexPolygon::weight() const { return _area; }
+
+std::string ConvexPolygon::toStdString()
+{
+    QString s("(");
+    for (int i = 0; i < size(); ++i) {
+        s += QString("(%1,%2)").arg(at(i).x()).arg(at(i).y());
+        if (i < size() - 1)
+            s += ",";
+    }
+    s += ")";
+    return s.toStdString();
+}
+
+Vector ConvexPolygon::at(const int &i) const
+{
+    return Vector(QPolygonF::at(i).x(), QPolygonF::at(i).y());
+}
+
+void ConvexPolygon::translate(const Vector &offset)
+{
+    translate(offset.x(), offset.y());
+}
+
+void ConvexPolygon::translate(qreal dx, qreal dy)
+{
+    QPolygonF::translate(dx, dy);
+    _centroid = _centroid + QPointF(dx, dy);
+}
+
+void projectPolygon(Vector axis, ConvexPolygon polygon, qreal &min, qreal &max)
+{
+    // To project a point on an axis use the dot product
+
+    // qDebug() << "Projecting on "<< axis;
+    qreal d = axis.dotProduct(polygon.at(0));
+    min = d;
+    max = d;
+    for (int i = 0; i < polygon.size(); i++) {
+        d = polygon.at(i).dotProduct(axis);
+        if (d < min)
+            min = d;
+        else if (d > max)
+            max = d;
+        //     qDebug() << "p="<<polygon.at(i)<<"  d="<<d<<"  (min,
+        //max)=("<<min<<","<<max<<")";
+    }
+}
+
+// Calculate the signed distance between [minA, maxA] and [minB, maxB]
+// The distance will be negative if the intervals overlap
+
+qreal intervalDistance(qreal minA, qreal maxA, qreal minB, qreal maxB)
+{
+    if (minA < minB) {
+        return minB - maxA;
+    }
+    else {
+        return minA - maxB;
+    }
+}
+
+/*!
+ Check if polygon A is going to collide with polygon B.
+ The last parameter is the *relative* velocity
+ of the polygons (i.e. velocityA - velocityB)
+*/
+
+PolygonCollisionResult polygonCollision(ConvexPolygon polygonA,
+                                        ConvexPolygon polygonB, Vector velocity)
+{
+    PolygonCollisionResult result;
+    result.intersect = true;
+    result.willIntersect = true;
+
+    int edgeCountA = polygonA.size();
+    int edgeCountB = polygonB.size();
+    qreal minIntervalDistance = 1000000000;
+    QPointF translationAxis;
+    QPointF edge;
+
+    /*
+        qDebug() << "A: ";
+        for (int k=0; k<edgeCountA;k++)
+        qDebug() <<polygonA.at(k);
+        qDebug() << "B: ";
+        for (int k=0; k<edgeCountB;k++)
+        qDebug() <<polygonB.at(k);
+        qDebug() ;
+    */
+
+    // Loop through all the edges of both polygons
+    for (int i = 0; i < edgeCountA + edgeCountB; i++) {
+        if (i < edgeCountA) {
+            // Loop through polygon A
+            if (i < edgeCountA - 1)
+                edge = QPointF(polygonA.at(i + 1).x() - polygonA.at(i).x(),
+                               polygonA.at(i + 1).y() - polygonA.at(i).y());
+            else
+                edge = QPointF(polygonA.at(0).x() - polygonA.at(i).x(),
+                               polygonA.at(0).y() - polygonA.at(i).y());
+        }
+        else {
+            // Loop through polygon B
+            if (i < edgeCountA + edgeCountB - 1)
+                edge = QPointF(polygonB.at(i - edgeCountA + 1).x() -
+                                   polygonB.at(i - edgeCountA).x(),
+                               polygonB.at(i - edgeCountA + 1).y() -
+                                   polygonB.at(i - edgeCountA).y());
+            else
+                edge = QPointF(
+                    polygonB.at(0).x() - polygonB.at(i - edgeCountA).x(),
+                    polygonB.at(0).y() - polygonB.at(i - edgeCountA).y());
+        }
+
+        // ===== 1. Find if the polygons are currently intersecting =====
+
+        // Find the axis perpendicular to the current edge
+
+        Vector axis(-edge.y(), edge.x());
+        axis.normalize();
+
+        // Find the projection of the polygon on the current axis
+
+        qreal minA = 0;
+        qreal minB = 0;
+        qreal maxA = 0;
+        qreal maxB = 0;
+        projectPolygon(axis, polygonA, minA, maxA);
+        projectPolygon(axis, polygonB, minB, maxB);
+
+        // Check if the polygon projections are currentlty intersecting
+
+        qreal d = intervalDistance(minA, maxA, minB, maxB);
+        if (d > 0)
+            result.intersect = false;
+
+        // ===== 2. Now find if the polygons *will* intersect =====
+
+        // Project the velocity on the current axis
+
+        qreal velocityProjection = axis.dotProduct(velocity);
+
+        // Get the projection of polygon A during the movement
+
+        if (velocityProjection < 0)
+            minA += velocityProjection;
+        else
+            maxA += velocityProjection;
+
+        // Do the same test as above for the new projection
+
+        // d = intervalDistance(minA, maxA, minB, maxB);
+        // if (d > 0) result.willIntersect = false;
+        /*
+        qDebug() <<"   ";
+        qDebug() << "edge="<<edge<<"  ";
+        qDebug() <<"axis="<<axis<<"  ";
+        qDebug() <<"dA=("<<minA<<","<<maxA<<")  dB=("<<minB<<","<<maxB<<")";
+        qDebug() <<"  d="<<d<<"   ";
+        //qDebug() <<"minD="<<minIntervalDistance<<"  ";
+        qDebug() <<"int="<<result.intersect<<"  ";
+        //qDebug() <<"wint="<<result.willIntersect<<"  ";
+        //qDebug() <<"velProj="<<velocityProjection<<"  ";
+        qDebug() ;
+        */
+
+        if (result.intersect) // || result.willIntersect)
+        {
+            // Check if the current interval distance is the minimum one. If so
+            // store the interval distance and the current distance.  This will
+            // be used to calculate the minimum translation vector
+
+            if (d < 0)
+                d = -d;
+            if (d < minIntervalDistance) {
+                minIntervalDistance = d;
+                // translationAxis = axis;
+                // qDebug() << "tAxix="<<translationAxis;
+
+                // QPointF t = polygonA.Center - polygonB.Center;
+                // QPointF t = polygonA.at(0) - polygonB.at(0);
+                // if (dotProduct(t,translationAxis) < 0)
+                //  translationAxis = -translationAxis;
+            }
+        }
+    }
+
+    // The minimum translation vector
+    // can be used to push the polygons appart.
+
+    if (result.willIntersect)
+        result.minTranslation = translationAxis * minIntervalDistance;
+
+    return result;
+}
+
+/* The function can be used this way:
+   QPointF polygonATranslation = new QPointF();
+*/
+
+/*
+PolygonCollisionResult r = PolygonCollision(polygonA, polygonB, velocity);
+
+if (r.WillIntersect)
+  // Move the polygon by its velocity, then move
+  // the polygons appart using the Minimum Translation Vector
+  polygonATranslation = velocity + r.minTranslation;
+else
+  // Just move the polygon by its velocity
+  polygonATranslation = velocity;
+
+polygonA.Offset(polygonATranslation);
+
+*/
diff --git a/src/geometry.h b/src/geometry.h
new file mode 100644 (file)
index 0000000..4118ca4
--- /dev/null
@@ -0,0 +1,71 @@
+#ifndef GEOMETRY
+#define GEOMETRY
+
+#include <QPolygonF>
+
+namespace Geometry {
+qreal distance(const QPointF &p, const QPointF &q);
+};
+
+QRectF addBBox(QRectF r1, QRectF r2);
+QSize addBBoxSize(QSize s1, QSize s2);
+bool isInBox(const QPointF &p, const QRectF &box);
+
+class Vector : public QPointF {
+  public:
+    Vector();
+    Vector(const QPointF &p);
+    Vector(qreal x, qreal y);
+    virtual ~Vector();
+
+    friend inline bool operator==(const Vector &v1, const Vector &v2)
+    {
+        return v1.x() == v2.x() && v1.y() == v2.y();
+    }
+
+    bool isNull();
+    virtual void normalize();
+    virtual qreal dotProduct(const QPointF &b);
+    virtual void scale(const qreal &f);
+    virtual void invert();
+    virtual QPointF toQPointF();
+};
+
+class ConvexPolygon : public QPolygonF {
+  public:
+    ConvexPolygon();
+    ConvexPolygon(QPolygonF p);
+    virtual ~ConvexPolygon();
+    void calcCentroid();
+    QPointF centroid() const;
+    qreal weight() const;
+    std::string toStdString();
+    Vector at(const int &i) const;
+    virtual void translate(const Vector &offset);
+    virtual void translate(qreal dx, qreal dy);
+
+  private:
+    Vector _centroid;
+    qreal _area;
+};
+
+class PolygonCollisionResult {
+  public:
+    // Are the polygons going to intersect forward in time?
+    bool willIntersect;
+
+    // Are the polygons currently intersecting?
+    bool intersect;
+
+    // The translation to apply to the first polygon to push the polygons apart.
+    QPointF minTranslation;
+};
+
+void projectPolygon(Vector axis, ConvexPolygon polygon, qreal &min, qreal &max);
+
+qreal intervalDistance(qreal minA, qreal maxA, qreal minB, qreal maxB);
+PolygonCollisionResult polygonCollision(ConvexPolygon polygonA,
+                                        ConvexPolygon polygonB,
+                                        Vector velocity);
+
+#endif
\ No newline at end of file
diff --git a/src/heading.cpp b/src/heading.cpp
new file mode 100644 (file)
index 0000000..8eb3258
--- /dev/null
@@ -0,0 +1,16 @@
+#include "heading.h"
+#include "misc.h"
+
+#include <QDebug>
+#include <QRegExp>
+
+/////////////////////////////////////////////////////////////////
+// Heading
+/////////////////////////////////////////////////////////////////
+
+void Heading::operator=(const VymText &other) { copy(other); }
+
+QString Heading::saveToDir()
+{
+    return singleElement("heading", getAttributes());
+}
diff --git a/src/heading.h b/src/heading.h
new file mode 100644 (file)
index 0000000..f5acba6
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef HEADING_H
+#define HEADING_H
+
+#include "vymtext.h"
+
+/*! \brief The heading belonging to one OrnamentedObj */
+
+class Heading : public VymText {
+  public:
+    void operator=(const VymText &other);
+    QString saveToDir();
+};
+#endif
diff --git a/src/headingeditor.cpp b/src/headingeditor.cpp
new file mode 100644 (file)
index 0000000..fd871a9
--- /dev/null
@@ -0,0 +1,18 @@
+#include "headingeditor.h"
+#include "settings.h"
+
+extern Settings settings;
+extern QString vymName;
+
+HeadingEditor::HeadingEditor(QString scope) : TextEditor()
+{
+    editorName = tr("Heading Editor", "Name of editor shown as window title");
+    setWindowTitle("");
+
+    setUseColorMapBackground(true);
+
+    // Load Settings
+    init(scope);
+}
+
+HeadingEditor::~HeadingEditor() {}
diff --git a/src/headingeditor.h b/src/headingeditor.h
new file mode 100644 (file)
index 0000000..bd6dfd2
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef HEADINGEDITOR_H
+#define HEADINGEDITOR_H
+
+#include "texteditor.h"
+
+class HeadingEditor : public TextEditor {
+    Q_OBJECT
+  public:
+    HeadingEditor(QString scope);
+    ~HeadingEditor();
+};
+
+#endif
diff --git a/src/headingobj.cpp b/src/headingobj.cpp
new file mode 100644 (file)
index 0000000..ed12672
--- /dev/null
@@ -0,0 +1,262 @@
+#include <QDebug>
+#include <QGraphicsScene>
+#include <QRegExp>
+
+#include "headingobj.h"
+
+extern bool debug;
+
+/////////////////////////////////////////////////////////////////
+// HeadingObj
+/////////////////////////////////////////////////////////////////
+HeadingObj::HeadingObj(QGraphicsItem *parent) : MapObj(parent)
+{
+    // qDebug() << "Const HeadingObj (s) ";
+    init();
+}
+
+HeadingObj::~HeadingObj()
+{
+    //  qDebug() << "Destr. HeadingObj "<<heading;
+    while (!textline.isEmpty())
+        delete textline.takeFirst();
+}
+
+void HeadingObj::init()
+{
+    textwidth = 40;
+    color = QColor("black");
+    font = QFont();
+    heading = "";
+    angle = 0;
+}
+
+void HeadingObj::copy(HeadingObj *other)
+{
+    MapObj::copy(other);
+    textwidth = other->textwidth;
+    color = other->color;
+    font = other->font;
+    setText(other->text());
+}
+
+void HeadingObj::move(double x, double y)
+{
+    MapObj::move(x, y);
+
+    qreal h;  // height of a textline
+    qreal ho; // offset of height while drawing all lines
+
+    if (!textline.isEmpty())
+        h = textline.first()->boundingRect().height();
+    else
+        h = 2;
+    ho = 0;
+    for (int i = 0; i < textline.size(); ++i) {
+        textline.at(i)->setPos(x, y + ho);
+        ho = ho + h;
+    }
+}
+
+void HeadingObj::moveBy(double x, double y)
+{
+    move(x + absPos.x(), y + absPos.y());
+}
+
+void HeadingObj::positionBBox()
+{
+    bbox.setX(absPos.x());
+    bbox.setY(absPos.y());
+}
+
+void HeadingObj::calcBBoxSize()
+{
+    qreal w = 0;
+    qreal h = 0;
+    // Using Backspace an empty heading might easily be created, then there
+    // would be textline.first()==NULL This can be worked around by the
+    // following, but then no selection would be visible, thus we prevent it in
+    // ::setText()
+    if (!textline.isEmpty()) {
+        for (int i = 0; i < textline.size(); i++) {
+            h += textline.at(i)->boundingRect().height();
+            if (w < textline.at(i)->boundingRect().width())
+                w = textline.at(i)->boundingRect().width();
+        }
+    }
+    bbox.setSize(QSizeF(w, h));
+}
+
+QGraphicsTextItem *HeadingObj::newLine(QString s)
+{
+    QGraphicsTextItem *t = new QGraphicsTextItem(s, parentItem());
+    t->setFont(font);
+    t->setZValue(dZ_TEXT);
+    t->setDefaultTextColor(color);
+    t->setRotation(angle);
+    return t;
+}
+
+void HeadingObj::setTransformOriginPoint(const QPointF &p)
+{
+    for (int i = 0; i < textline.size(); i++) {
+        textline.at(i)->setTransformOriginPoint(p);
+    }
+}
+
+void HeadingObj::setRotation(const qreal &a)
+{
+    angle = a;
+    for (int i = 0; i < textline.size(); i++)
+        textline.at(i)->setRotation(angle);
+}
+
+qreal HeadingObj::getRotation() { return angle; }
+
+void HeadingObj::setText(QString s)
+{
+    heading = s;
+
+    // remove old textlines and prepare generating new ones
+    while (!textline.isEmpty())
+        delete textline.takeFirst();
+
+    if (s.startsWith("<html>") ||
+        s.startsWith("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" "
+                     "\"http://www.w3.org/TR/REC-html40/strict.dtd\">")) {
+        QGraphicsTextItem *t = new QGraphicsTextItem();
+        t->setFont(font);
+        t->setZValue(dZ_TEXT);
+        t->setHtml(s);
+        t->setDefaultTextColor(color);
+        t->setRotation(angle);
+        scene()->addItem(t);
+        textline.append(t);
+    }
+    else {
+        // prevent empty textline, so at least a small selection stays
+        // visible for this heading
+        if (s.length() == 0)
+            s = "  ";
+
+        int i = 0;  // index for actual search for ws
+        int j = 0;  // index of last ws
+        int k = 0;  // index of "<br>" or similar linebreak
+        int br = 0; // width of found break, e.g. for <br> it is 4
+        QRegExp re("<br.*/>");
+        re.setMinimal(true);
+
+        // set the text and wrap lines
+        while (s.length() > 0) {
+            // ok, some people wanted manual linebreaks, here we go
+            k = re.indexIn(s, i);
+            if (k >= 0) {
+                br = re.cap(0).length();
+                i = k;
+            }
+            else
+                i = s.indexOf(" ", i);
+            if (i < 0 && j == 0) { // no ws found at all in s
+                // append whole s
+                textline.append(newLine(s));
+                s = "";
+            }
+            else {
+                if (i < 0 && j > 0) { // no ws found in actual search
+                    if (s.length() <= textwidth) {
+                        textline.append(newLine(s));
+                        s = "";
+                    }
+                    else {
+                        textline.append(newLine(s.left(j)));
+                        s = s.mid(j + 1, s.length());
+                        j = 0;
+                    }
+                }
+                else {
+                    if (i >= 0 &&
+                        i <= static_cast<int>(
+                                 textwidth)) { // there is a ws in textwidth
+                        if (br > 0) {
+                            // here is a linebreak
+                            textline.append(newLine(s.left(i)));
+                            s = s.mid(i + br, s.length());
+                            i = 0;
+                            j = 0;
+                            br = 0;
+                        }
+                        else {
+                            j = i;
+                            i++;
+                        }
+                    }
+                    else {
+                        if (i > static_cast<int>(textwidth)) {
+                            if (j > 0) { // a ws out of textwidth, but we have
+                                         // also one in
+                                textline.append(newLine(s.left(j)));
+                                s = s.mid(j + 1, s.length());
+                                i = 0;
+                                j = 0;
+                            }
+                            else { // a ws out of text, but none in
+                                textline.append(newLine(s.left(i)));
+                                s = s.mid(i + 1, s.length());
+                                i = 0;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    } // ASCII heading with multiple lines
+    setVisibility(visible);
+    move(absPos.x(), absPos.y());
+    calcBBoxSize();
+}
+
+QString HeadingObj::text() { return heading; }
+
+void HeadingObj::setFont(QFont f)
+{
+    if (font != f) {
+        font = f;
+        setText(text());
+    }
+}
+
+QFont HeadingObj::getFont() { return font; }
+
+void HeadingObj::setColor(QColor c)
+{
+    if (color != c) {
+        color = c;
+        for (int i = 0; i < textline.size(); ++i)
+            // TextItem
+            textline.at(i)->setDefaultTextColor(c);
+        // SimpleTextItem
+        // textline.at(i)->setBrush(c);
+    }
+}
+
+QColor HeadingObj::getColor() { return color; }
+
+void HeadingObj::setZValue(double z)
+{
+    for (int i = 0; i < textline.size(); ++i)
+        textline.at(i)->setZValue(z);
+}
+
+void HeadingObj::setVisibility(bool v)
+{
+    MapObj::setVisibility(v);
+    for (int i = 0; i < textline.size(); ++i)
+        if (v)
+            textline.at(i)->show();
+        else
+            textline.at(i)->hide();
+}
+
+qreal HeadingObj::getHeight() { return bbox.height(); }
+
+qreal HeadingObj::getWidth() { return bbox.width(); }
diff --git a/src/headingobj.h b/src/headingobj.h
new file mode 100644 (file)
index 0000000..1732093
--- /dev/null
@@ -0,0 +1,50 @@
+#ifndef HEADINGOBJ_H
+#define HEADINGOBJ_H
+
+#include "mapobj.h"
+
+/*! \brief The heading of an OrnamentedObj */
+
+class HeadingObj : public MapObj {
+  public:
+    HeadingObj(QGraphicsItem *);
+    virtual ~HeadingObj();
+    virtual void init();
+    virtual void copy(HeadingObj *);
+    virtual void move(double x, double y);   // move to absolute Position
+    virtual void moveBy(double x, double y); // move to relative Position
+    virtual void positionBBox();
+    virtual void calcBBoxSize();
+
+  private:
+    //    QGraphicsSimpleTextItem* newLine(QString);           // generate new
+    //    textline
+    QGraphicsTextItem *newLine(QString); // generate new textline
+  public:
+    virtual void setTransformOriginPoint(const QPointF &);
+    virtual void setRotation(qreal const &a);
+    virtual qreal getRotation();
+
+  private:
+    qreal angle;
+
+  public:
+    virtual void setText(QString);
+    virtual QString text();
+    virtual void setFont(QFont);
+    virtual QFont getFont();
+    virtual void setColor(QColor);
+    virtual QColor getColor();
+    virtual void setZValue(double z);
+    virtual void setVisibility(bool);
+    virtual qreal getHeight();
+    virtual qreal getWidth();
+
+  protected:
+    QString heading;
+    int textwidth; // width for formatting text
+    QList<QGraphicsTextItem *> textline;
+    QColor color;
+    QFont font;
+};
+#endif
diff --git a/src/highlighter.cpp b/src/highlighter.cpp
new file mode 100644 (file)
index 0000000..99374c3
--- /dev/null
@@ -0,0 +1,137 @@
+/****************************************************************************
+**
+** Copyright (C) 2005-2006 Trolltech ASA. All rights reserved.
+**
+** This file is part of the example classes of the Qt Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  Please review the following information to ensure GNU
+** General Public Licensing requirements will be met:
+** http://www.trolltech.com/products/qt/opensource.html
+**
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://www.trolltech.com/products/qt/licensing.html or contact the
+** sales department at sales@trolltech.com.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+// highlighting rules have been adapted by Uwe Drechsel to match vym syntax
+
+#include <QtGui>
+
+#include "highlighter.h"
+
+extern bool usingDarkTheme;
+
+Highlighter::Highlighter(QTextDocument *parent) : QSyntaxHighlighter(parent)
+{
+
+    HighlightingRule rule;
+
+    if (usingDarkTheme)
+        keywordFormat.setForeground(Qt::cyan);
+    else
+        keywordFormat.setForeground(Qt::darkBlue);
+
+    keywordFormat.setFontWeight(QFont::Bold);
+
+    // QT keywords
+    /*
+    classFormat.setFontWeight(QFont::Bold);
+    classFormat.setForeground(Qt::darkMagenta);
+    rule.pattern = QRegExp("\\bQ[A-Za-z]+\\b");
+    rule.format = classFormat;
+    highlightingRules.append(rule);
+    */
+
+    // Single line comments
+    if (usingDarkTheme)
+        singleLineCommentFormat.setForeground(Qt::magenta);
+    else
+        singleLineCommentFormat.setForeground(Qt::darkMagenta);
+    rule.pattern = QRegExp("//[^\n]*");
+    rule.format = singleLineCommentFormat;
+    highlightingRules.append(rule);
+
+    // multiline comments
+    if (usingDarkTheme)
+        multiLineCommentFormat.setForeground(Qt::magenta);
+    else
+        multiLineCommentFormat.setForeground(Qt::darkMagenta);
+    commentStartExpression = QRegExp("/\\*");
+    commentEndExpression = QRegExp("\\*/");
+
+    // Quotations
+    quotationFormat.setForeground(Qt::red);
+    rule.pattern = QRegExp("\".*\"");
+    rule.format = quotationFormat;
+    highlightingRules.append(rule);
+
+    QStringList valuePatterns;
+    valuePatterns << "\\btrue\\b"
+                  << "\\bfalse\\b";
+    foreach (QString pattern, valuePatterns) {
+        rule.pattern = QRegExp(pattern);
+        rule.format = quotationFormat;
+        highlightingRules.append(rule);
+    }
+
+    // Funtions
+    /*
+    functionFormat.setFontItalic(true);
+    functionFormat.setForeground(Qt::blue);
+    rule.pattern = QRegExp("\\b[A-Za-z0-9_]+(?=\\()");
+    rule.format = functionFormat;
+    highlightingRules.append(rule);
+    */
+}
+
+void Highlighter::addKeywords(const QStringList &list)
+{
+    HighlightingRule rule;
+    foreach (QString pattern, list) {
+        rule.pattern = QRegExp(pattern);
+        rule.format = keywordFormat;
+        highlightingRules.append(rule);
+    }
+}
+
+void Highlighter::highlightBlock(const QString &text)
+{
+    foreach (HighlightingRule rule, highlightingRules) {
+        QRegExp expression(rule.pattern);
+        int index = text.indexOf(expression);
+        while (index >= 0) {
+            int length = expression.matchedLength();
+            setFormat(index, length, rule.format);
+            index = text.indexOf(expression, index + length);
+        }
+    }
+    setCurrentBlockState(0);
+
+    int startIndex = 0;
+    if (previousBlockState() != 1)
+        startIndex = text.indexOf(commentStartExpression);
+
+    while (startIndex >= 0) {
+        int endIndex = text.indexOf(commentEndExpression, startIndex);
+        int commentLength;
+        if (endIndex == -1) {
+            setCurrentBlockState(1);
+            commentLength = text.length() - startIndex;
+        }
+        else {
+            commentLength =
+                endIndex - startIndex + commentEndExpression.matchedLength();
+        }
+        setFormat(startIndex, commentLength, multiLineCommentFormat);
+        startIndex =
+            text.indexOf(commentStartExpression, startIndex + commentLength);
+    }
+}
diff --git a/src/highlighter.h b/src/highlighter.h
new file mode 100644 (file)
index 0000000..f46bdd2
--- /dev/null
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2005-2006 Trolltech ASA. All rights reserved.
+**
+** This file is part of the example classes of the Qt Toolkit.
+**
+** This file may be used under the terms of the GNU General Public
+** License version 2.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of
+** this file.  Please review the following information to ensure GNU
+** General Public Licensing requirements will be met:
+** http://www.trolltech.com/products/qt/opensource.html
+**
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://www.trolltech.com/products/qt/licensing.html or contact the
+** sales department at sales@trolltech.com.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+****************************************************************************/
+
+#ifndef HIGHLIGHTER_H
+#define HIGHLIGHTER_H
+
+#include <QSyntaxHighlighter>
+
+#include <QHash>
+#include <QTextCharFormat>
+
+class QTextDocument;
+
+class Highlighter : public QSyntaxHighlighter {
+    Q_OBJECT
+
+  public:
+    Highlighter(QTextDocument *parent = 0);
+    void addKeywords(const QStringList &sl);
+
+  protected:
+    void highlightBlock(const QString &text);
+
+  private:
+    struct HighlightingRule {
+        QRegExp pattern;
+        QTextCharFormat format;
+    };
+    QVector<HighlightingRule> highlightingRules;
+
+    QRegExp commentStartExpression;
+    QRegExp commentEndExpression;
+
+    QTextCharFormat keywordFormat;
+    QTextCharFormat classFormat;
+    QTextCharFormat singleLineCommentFormat;
+    QTextCharFormat multiLineCommentFormat;
+    QTextCharFormat quotationFormat;
+    QTextCharFormat functionFormat;
+};
+
+#endif
diff --git a/src/historywindow.cpp b/src/historywindow.cpp
new file mode 100644 (file)
index 0000000..a61f2d9
--- /dev/null
@@ -0,0 +1,192 @@
+#include "historywindow.h"
+#include "mainwindow.h"
+
+extern Settings settings;
+extern Main *mainWindow;
+
+HistoryWindow::HistoryWindow(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    ui.historyTable->setRowCount(
+        settings.value("/history/stepsTotal", 75).toInt());
+    ui.historyTable->setColumnCount(3);
+
+    QTableWidgetItem *item;
+
+    item = new QTableWidgetItem(tr("Action", "Table with actions"));
+    ui.historyTable->setHorizontalHeaderItem(0, item);
+
+    item = new QTableWidgetItem(tr("Comment", "Table with actions"));
+    ui.historyTable->setHorizontalHeaderItem(1, item);
+
+    item = new QTableWidgetItem(tr("Undo action", "Table with actions"));
+    ui.historyTable->setHorizontalHeaderItem(2, item);
+
+    ui.historyTable->setSelectionBehavior(QAbstractItemView::SelectRows);
+
+    ui.undoButton->setIcon(QIcon(":/undo.png"));
+    ui.redoButton->setIcon(QIcon(":/redo.png"));
+
+    connect(ui.undoButton, SIGNAL(clicked()), this, SLOT(undo()));
+    connect(ui.redoButton, SIGNAL(clicked()), this, SLOT(redo()));
+    connect(ui.historyTable, SIGNAL(itemSelectionChanged()), this,
+            SLOT(select()));
+
+    // Load Settings
+
+    resize(
+        settings
+            .value("/satellite/historywindow/geometry/size", QSize(1000, 400))
+            .toSize());
+    move(settings.value("/satellite/historywindow/geometry/pos", QPoint(0, 450))
+             .toPoint());
+
+    ui.historyTable->setColumnWidth(
+        0,
+        settings.value("/satellite/historywindow/geometry/columnWidth/0", 250)
+            .toInt());
+    ui.historyTable->setColumnWidth(
+        1,
+        settings.value("/satellite/historywindow/geometry/columnWidth/1", 350)
+            .toInt());
+    ui.historyTable->setColumnWidth(
+        2,
+        settings.value("/satellite/historywindow/geometry/columnWidth/2", 250)
+            .toInt());
+}
+
+HistoryWindow::~HistoryWindow()
+{
+    // Save settings
+    settings.setValue("/satellite/historywindow/geometry/size", size());
+    settings.setValue("/satellite/historywindow/geometry/pos", pos());
+
+    for (int i = 0; i < 3; ++i)
+        settings.setValue(
+            QString("/satellite/historywindow/geometry/columnWidth/%1").arg(i),
+            ui.historyTable->columnWidth(i));
+}
+
+void HistoryWindow::clearRow(int row)
+{
+    QTableWidgetItem *it;
+    it = ui.historyTable->item(row, 0);
+    if (it)
+        it->setText("");
+    it = ui.historyTable->item(row, 1);
+    if (it)
+        it->setText("");
+    it = ui.historyTable->item(row, 2);
+    if (it)
+        it->setText("");
+}
+
+void HistoryWindow::updateRow(int row, int step, SimpleSettings &set)
+{
+    QTableWidgetItem *item;
+
+    item = new QTableWidgetItem(
+        set.value(QString("/history/step-%1/redoCommand").arg(step)));
+    ui.historyTable->setItem(row, 0, item);
+
+    item = new QTableWidgetItem(
+        set.value(QString("/history/step-%1/comment").arg(step)));
+    ui.historyTable->setItem(row, 1, item);
+
+    item = new QTableWidgetItem(
+        set.value(QString("/history/step-%1/undoCommand").arg(step)));
+    ui.historyTable->setItem(row, 2, item);
+}
+
+void HistoryWindow::update(SimpleSettings &set)
+{
+    int undosAvail = set.numValue("/history/undosAvail", 0);
+    int redosAvail = set.numValue("/history/redosAvail", 0);
+    int stepsTotal = set.numValue("/history/stepsTotal", 1000);
+    int curStep = set.numValue("/history/curStep");
+    int i;
+    int s = curStep;
+    int r = undosAvail - 1;
+    QTableWidgetItem *item;
+
+    // Update number of rows
+    ui.historyTable->setRowCount(undosAvail + redosAvail + 1);
+
+    // Update buttons
+    if (undosAvail < 1)
+        ui.undoButton->setEnabled(false);
+    else
+        ui.undoButton->setEnabled(true);
+
+    if (redosAvail < 1)
+        ui.redoButton->setEnabled(false);
+    else
+        ui.redoButton->setEnabled(true);
+
+    // Update undos in table
+    for (i = undosAvail; i > 0; i--) {
+        updateRow(r, s, set);
+        r--;
+        s--;
+        if (s < 1)
+            s = stepsTotal;
+    }
+
+    // Generated the "now" row
+    QColor c = palette().color(QPalette::Highlight);
+    for (i = 0; i <= 2; i++) {
+        if (i != 1) {
+            item = new QTableWidgetItem("");
+            item->setBackground(QBrush(c));
+            ui.historyTable->setItem(undosAvail, i, item);
+        }
+    }
+    item = new QTableWidgetItem(
+        " - " + tr("Current state", "Current bar in history hwindow") + " - ");
+    item->setBackground(QBrush(c));
+    ui.historyTable->setItem(undosAvail, 1, item);
+
+    // Show "now" row
+    ui.historyTable->scrollToItem(item);
+
+    // Update Redos in table
+    s = curStep;
+    s++;
+    if (s > stepsTotal)
+        s = 1;
+    for (i = 1; i <= redosAvail; i++) {
+        updateRow(undosAvail + i, s, set);
+        s++;
+        if (s > stepsTotal)
+            s = 1;
+    }
+
+    // Delete the rest
+    for (i = undosAvail + redosAvail + 1; i <= stepsTotal; i++)
+        clearRow(i);
+
+    // ui.historyTable->resizeColumnsToContents();
+}
+
+void HistoryWindow::setStepsTotal(int st)
+{
+    // Number of steps + "current" bar
+    ui.historyTable->setRowCount(st + 1);
+}
+
+void HistoryWindow::closeEvent(QCloseEvent *ce)
+{
+    ce->accept();
+    hide();
+    emit(windowClosed());
+}
+
+void HistoryWindow::undo() { mainWindow->editUndo(); }
+
+void HistoryWindow::redo() { mainWindow->editRedo(); }
+
+void HistoryWindow::select()
+{
+    mainWindow->gotoHistoryStep(
+        ui.historyTable->row(ui.historyTable->selectedItems().first()));
+}
diff --git a/src/historywindow.h b/src/historywindow.h
new file mode 100644 (file)
index 0000000..e838712
--- /dev/null
@@ -0,0 +1,36 @@
+#ifndef HISTORYWINDOW_H
+#define HISTORYWINDOW_H
+
+#include <QDialog>
+
+#include "settings.h"
+#include "ui_historywindow.h"
+
+/////////////////////////////////////////////////////////////////////////////
+class HistoryWindow : public QDialog {
+    Q_OBJECT
+
+  public:
+    HistoryWindow(QWidget *parent = 0);
+    ~HistoryWindow();
+    void update(SimpleSettings &);
+    void setStepsTotal(int);
+
+  protected:
+    void closeEvent(QCloseEvent *);
+
+  private slots:
+    void undo();
+    void redo();
+    void select();
+
+  signals:
+    void windowClosed();
+
+  private:
+    void clearRow(int);
+    void updateRow(int, int, SimpleSettings &);
+    Ui::HistoryWindow ui;
+};
+
+#endif
diff --git a/src/imageitem.cpp b/src/imageitem.cpp
new file mode 100644 (file)
index 0000000..5ee8898
--- /dev/null
@@ -0,0 +1,164 @@
+#include "imageitem.h"
+
+#include "branchitem.h"
+#include "mapobj.h" // z-values
+
+#include <QDebug>
+#include <QString>
+#include <iostream>
+
+bool isImage(const QString &fname)
+{
+    QRegExp rx("(jpg|jpeg|png|xmp|gif|svg)$");
+    rx.setCaseSensitivity(Qt::CaseInsensitive);
+    return fname.contains(rx);
+}
+
+ImageItem::ImageItem():MapItem(nullptr)
+{
+    //qDebug() << "Constr ImageItem";
+    init();
+}
+
+
+ImageItem::~ImageItem()
+{
+    // qDebug()<<"Destr ImageItem";
+    if (mo)
+        delete mo;
+}
+
+void ImageItem::init()
+{
+    setType(Image);
+    hideLinkUnselected = true;
+    originalFilename = "no original name available";
+    zValue = dZ_FLOATIMG;
+    posMode = Relative;
+}
+
+void ImageItem::clear()
+{
+    // pure virtual in parent treeitem
+    // not used here currently
+}
+
+bool ImageItem::load(const QString &fname)
+{
+    FloatImageObj *fio = (FloatImageObj *)mo;
+    if (!fio->load(fname))
+        return false;
+
+    setOriginalFilename(fname);
+    setHeadingPlainText(originalFilename);
+
+    return true;
+}
+
+FloatImageObj *ImageItem::createMapObj()
+{
+    FloatImageObj *fio =
+        new FloatImageObj(((MapItem *)parentItem)->getMO(), this);
+    mo = fio;
+    if (((BranchItem *)parentItem)->isScrolled() ||
+        !((MapItem *)parentItem)->getMO()->isVisibleObj())
+        fio->setVisibility(false);
+    initLMO(); // set rel/abs position in mapitem
+    fio->setZValue(zValue);
+    fio->setRelPos(pos);
+    fio->updateVisibility();
+    fio->setLinkColor();
+    return fio;
+}
+
+void ImageItem::setScaleFactor(qreal f)
+{
+    if (mo)
+        ((FloatImageObj *)mo)->setScaleFactor(f);
+}
+
+qreal ImageItem::getScaleFactor()
+{
+    if (mo)
+        return ((FloatImageObj *)mo)->getScaleFactor();
+    return 1;
+}
+
+qreal ImageItem::width()
+{
+    if (mo)
+        return mo->width();
+    else
+        return -1;
+}
+
+qreal ImageItem::height()
+{
+    if (mo)
+        return mo->height();
+    else
+        return -1;
+}
+
+void ImageItem::setZValue(int z)
+{
+    zValue = z;
+    if (mo)
+        ((FloatImageObj *)mo)->setZValue(z);
+}
+
+void ImageItem::setOriginalFilename(const QString &fn)
+{
+    originalFilename = fn;
+
+    // Set short name. Search from behind:
+    int i = originalFilename.lastIndexOf("/");
+    if (i >= 0)
+        originalFilename = originalFilename.remove(0, i + 1);
+    setHeadingPlainText(originalFilename);
+}
+
+QString ImageItem::getOriginalFilename() { return originalFilename; }
+
+QString ImageItem::getUniqueFilename()
+{
+    FloatImageObj *fio = (FloatImageObj *)mo;
+    return "image-" + getUuid().toString() + fio->getExtension();
+}
+
+bool ImageItem::saveImage(const QString &fn)
+{
+    // This is used when exporting maps or saving selection
+    FloatImageObj *fio = (FloatImageObj *)mo;
+    return fio->save(fn);
+}
+
+QString ImageItem::saveToDir(const QString &tmpdir, const QString &prefix)
+{
+    if (hidden)
+        return "";
+
+    // Save uuid
+    QString idAttr = attribut("uuid", uuid.toString());
+
+    QString zAttr = attribut("zValue", QString().setNum(zValue));
+    QString url;
+
+    FloatImageObj *fio = (FloatImageObj *)mo;
+
+    url = "images/" + prefix + "image-" + QString().number(itemID) +
+          fio->getExtension();
+
+    // And really save the image  (svgs will be copied from cache!)
+    fio->save(tmpdir + "/" + url);
+
+    QString nameAttr = attribut("originalName", originalFilename);
+
+    QString scaleAttr =
+        attribut("scaleFactor", QString().setNum(fio->getScaleFactor()));
+
+    return singleElement("floatimage",
+                         getMapAttr() + getGeneralAttr() + zAttr +
+                             attribut("href", QString("file:") + url) +
+                             nameAttr + scaleAttr + idAttr);
+}
diff --git a/src/imageitem.h b/src/imageitem.h
new file mode 100644 (file)
index 0000000..7c6cfb0
--- /dev/null
@@ -0,0 +1,46 @@
+#ifndef IMAGEITEM_H
+#define IMAGEITEM_H
+
+#include <QGraphicsSvgItem>
+#include <QList>
+#include <QPixmap>
+#include <QVariant>
+
+#include "floatimageobj.h"
+//#include "treeitem.h"
+#include "mapitem.h"
+
+bool isImage(const QString &fname);
+
+class ImageItem : public MapItem {
+  public:
+    ImageItem();
+
+    virtual ~ImageItem();
+
+  protected:
+    void init();
+    void clear();
+
+  public:
+    virtual bool load(const QString &fname);
+    virtual FloatImageObj *
+    createMapObj(); //! Create classic object in GraphicsView
+  protected:
+    QString originalFilename;
+    int zValue;
+
+  public:
+    void setScaleFactor(qreal);
+    qreal getScaleFactor();
+    qreal width();
+    qreal height();
+    void setZValue(int z);
+    void setOriginalFilename(const QString &);
+    QString getOriginalFilename();
+    QString getUniqueFilename();
+    bool saveImage(const QString &fn);
+    QString saveToDir(const QString &, const QString &);
+};
+
+#endif
diff --git a/src/imageobj.cpp b/src/imageobj.cpp
new file mode 100644 (file)
index 0000000..a1035e0
--- /dev/null
@@ -0,0 +1,318 @@
+#include "imageobj.h"
+
+#include "file.h"
+#include "mapobj.h"
+
+#include <QDebug>
+#include <QDir>
+#include <QPainter>
+#include <QStyleOptionGraphicsItem>
+#include <QSvgGenerator>
+
+extern QDir cacheDir;
+extern ulong imageLastID;
+
+/////////////////////////////////////////////////////////////////
+// ImageObj
+/////////////////////////////////////////////////////////////////
+ImageObj::ImageObj()
+{
+    // qDebug() << "Const ImageObj ()  this=" << this;
+    init();
+}
+
+ImageObj::ImageObj(QGraphicsItem *parent) : QGraphicsItem(parent)
+{
+    // qDebug() << "Const ImageObj  this=" << this << "  parent= " << parent ;
+    init();
+}
+
+ImageObj::~ImageObj()
+{
+    // qDebug() << "Destr ImageObj  this=" << this << "  imageType = " <<
+    // imageType ;
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        if (svgItem)
+            delete (svgItem);
+        break;
+    case ImageObj::Pixmap:
+        if (pixmapItem)
+            delete (pixmapItem);
+        break;
+    default:
+        qDebug() << "Destr ImgObj: imageType undefined";
+        break;
+    }
+}
+
+void ImageObj::init()
+{
+    // qDebug() << "Const ImageObj (scene)";
+    hide();
+
+    // Assign ID
+    imageLastID++;
+    imageID = imageLastID;
+
+    imageType = ImageObj::Undefined;
+    svgItem = NULL;
+    pixmapItem = NULL;
+    scaleFactor = 1;
+}
+
+void ImageObj::copy(ImageObj *other)
+{
+    prepareGeometryChange();
+    if (imageType != ImageObj::Undefined)
+        qWarning() << "ImageObj::copy into existing image of type "
+                   << imageType;
+
+    switch (other->imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        if (!other->svgCachePath.isEmpty()) {
+            load(other->svgCachePath, true);
+        }
+        else
+            qWarning() << "ImgObj::copy svg: no svgCachePath available.";
+
+        svgItem->setVisible(isVisible());
+        break;
+    case ImageObj::Pixmap:
+        pixmapItem = new QGraphicsPixmapItem();
+        pixmapItem->setPixmap(other->pixmapItem->pixmap());
+        pixmapItem->setParentItem(parentItem());
+        pixmapItem->setVisible(isVisible());
+        imageType = ImageObj::Pixmap;
+        break;
+    default:
+        qWarning() << "ImgObj::copy other->imageType undefined";
+        return;
+        break;
+    }
+    setScaleFactor(other->scaleFactor);
+}
+
+void ImageObj::setPos(const QPointF &pos)
+{
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        svgItem->setPos(pos);
+        break;
+    case ImageObj::Pixmap:
+        pixmapItem->setPos(pos);
+        break;
+    default:
+        break;
+    }
+}
+
+void ImageObj::setPos(const qreal &x, const qreal &y) { setPos(QPointF(x, y)); }
+
+void ImageObj::setZValue(qreal z)
+{
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        svgItem->setZValue(z);
+        break;
+    case ImageObj::Pixmap:
+        pixmapItem->setZValue(z);
+        break;
+    default:
+        break;
+    }
+}
+
+void ImageObj::setVisibility(bool v)
+{
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        v ? svgItem->show() : svgItem->hide();
+        break;
+    case ImageObj::Pixmap:
+        v ? pixmapItem->show() : pixmapItem->hide();
+        break;
+    default:
+        break;
+    }
+}
+
+void ImageObj::setWidth(qreal w)
+{
+    if (boundingRect().width() == 0)
+        return;
+
+    setScaleFactor(w / boundingRect().width());
+}
+
+void ImageObj::setScaleFactor(qreal f)
+{
+    scaleFactor = f;
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        svgItem->setScale(f);
+        break;
+    case ImageObj::Pixmap:
+        if (f != 1)
+            pixmapItem->setScale(f);
+        break;
+    default:
+        break;
+    }
+}
+
+qreal ImageObj::getScaleFactor() { return scaleFactor; }
+
+QRectF ImageObj::boundingRect() const
+{
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        return svgItem->mapToScene(svgItem->boundingRect()).boundingRect();
+    case ImageObj::Pixmap:
+        return pixmapItem->mapToScene(pixmapItem->boundingRect()).boundingRect();
+    default:
+        break;
+    }
+    return QRectF();
+}
+
+void ImageObj::paint(QPainter *painter, const QStyleOptionGraphicsItem *sogi,
+                     QWidget *widget)
+{
+    // Not really called, but required because paint is pure virtual in
+    // QGraphicsItem
+
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        svgItem->paint(painter, sogi, widget);
+        break;
+    case ImageObj::Pixmap:
+        pixmapItem->paint(painter, sogi, widget);
+        break;
+    default:
+        break;
+    }
+}
+
+bool ImageObj::load(const QString &fn, bool createClone)
+{
+    // createClone == true, if called via copy()
+
+    if (imageType != ImageObj::Undefined) {
+        qWarning() << "ImageObj::load (" << fn
+                   << ") into existing image of type " << imageType;
+        return false;
+    }
+
+    if (fn.toLower().endsWith(".svg")) {
+        svgItem = new QGraphicsSvgItem(fn);
+        if (scene())
+            scene()->addItem(svgItem);
+
+        if (createClone) {
+            imageType = ImageObj::ClonedSVG;
+            svgCachePath = fn;
+        }
+        else {
+            imageType = ImageObj::SVG;
+
+            // Copy original file to cache
+            QFile svgFile(fn);
+            QString newPath = cacheDir.path() + "/" + QString().number(imageID) +
+                              "-" + basename(fn);
+            if (!svgFile.copy(newPath)) {
+                qWarning() << "ImageObj::load (" << fn
+                           << ") could not be copied to " << newPath;
+            }
+
+            svgCachePath = newPath;
+        }
+
+        return true;
+    }
+    else {
+        QPixmap pm;
+        if (pm.load(fn)) {
+            prepareGeometryChange();
+
+            if (pixmapItem)
+                qWarning() << "ImageObj::load " << fn
+                           << "pixmapIteam already exists";
+            pixmapItem = new QGraphicsPixmapItem(this);
+            pixmapItem->setPixmap(pm);
+            pixmapItem->setParentItem(parentItem());
+            imageType = ImageObj::Pixmap;
+
+            return true;
+        }
+    }
+
+    return false;
+}
+
+bool ImageObj::save(const QString &fn)
+{
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        if (svgItem) {
+            QFile svgFile(svgCachePath);
+            if (!QFile(fn).exists() && !svgFile.copy(fn)) {
+                qWarning() << "ImageObj::save  failed to copy " << svgCachePath
+                           << " to " << fn;
+                return false;
+            }
+        }
+        return true;
+        break;
+    case ImageObj::Pixmap:
+        return pixmapItem->pixmap().save(fn, "PNG", 100);
+        break;
+    default:
+        break;
+    }
+    return false;
+}
+
+QString ImageObj::getExtension()
+{
+    QString s;
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        s = ".svg";
+        break;
+    case ImageObj::Pixmap:
+        s = ".png";
+        break;
+    default:
+        break;
+    }
+    return s;
+}
+
+ImageObj::ImageType ImageObj::getType() { return imageType; }
+
+QIcon ImageObj::getIcon()
+{
+    switch (imageType) {
+    case ImageObj::SVG:
+    case ImageObj::ClonedSVG:
+        return QPixmap(svgCachePath);
+        break;
+    case ImageObj::Pixmap:
+        return QIcon(pixmapItem->pixmap());
+        break;
+    default:
+        break;
+    }
+    return QIcon();
+}
diff --git a/src/imageobj.h b/src/imageobj.h
new file mode 100644 (file)
index 0000000..6795a17
--- /dev/null
@@ -0,0 +1,52 @@
+#ifndef IMAGEOBJ_H
+#define IMAGEOBJ_H
+
+#include <QGraphicsPixmapItem>
+#include <QGraphicsScene>
+#include <QGraphicsSvgItem>
+
+/*! \brief Base class for images, which can be pixmaps or svg
+ *
+ * ImageObj is used both by items part of the map "tree" in
+ * ImageItem and as flag in FlagObj
+ *
+ * Both of these types are actually drawn onto the map
+ */
+
+class ImageObj : public QGraphicsItem {
+  public:
+    enum ImageType { Undefined, Pixmap, SVG, ClonedSVG };
+
+    ImageObj();
+    ImageObj(QGraphicsItem *);
+    ~ImageObj();
+    void init();
+    void copy(ImageObj *);
+    void setPos(const QPointF &pos);
+    void setPos(const qreal &x, const qreal &y);
+    void setZValue(qreal z);
+    void setVisibility(bool);
+    void setWidth(qreal w);
+    void setScaleFactor(qreal f);
+    qreal getScaleFactor();
+    virtual QRectF boundingRect() const;
+    virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
+    bool load(const QString &, bool createClone = false);
+    bool save(const QString &);
+    QString getExtension();
+    ImageType getType();
+    QIcon getIcon();
+
+  protected:
+    ImageObj::ImageType imageType;
+
+    QGraphicsSvgItem *svgItem;
+    QString svgCachePath;
+
+    QGraphicsPixmapItem *pixmapItem;
+
+    qreal scaleFactor;
+
+    ulong imageID;
+};
+#endif
diff --git a/src/imports.cpp b/src/imports.cpp
new file mode 100644 (file)
index 0000000..6da80ea
--- /dev/null
@@ -0,0 +1,205 @@
+#include "imports.h"
+
+#include "attributeitem.h"
+#include "branchitem.h"
+#include "file.h"
+#include "linkablemapobj.h"
+#include "mainwindow.h"
+#include "misc.h"
+#include "vymmodel.h"
+#include "xsltproc.h"
+
+#include <QMessageBox>
+
+extern Main *mainWindow;
+extern QDir vymBaseDir;
+
+ImportBase::ImportBase()
+{
+    model = NULL;
+    init();
+}
+
+ImportBase::ImportBase(VymModel *m)
+{
+    model = m;
+    init();
+}
+
+ImportBase::~ImportBase()
+{
+    // Remove tmpdir
+    removeDir(tmpDir);
+}
+
+void ImportBase::init() 
+{
+    bool ok;
+    tmpDir.setPath(makeTmpDir(ok, "vym-import"));
+    if (!tmpDir.exists() || !ok)
+        QMessageBox::critical(
+            0, QObject::tr("Error"),
+            QObject::tr("Couldn't access temporary directory\n"));
+}
+
+void ImportBase::setDir(const QString &p) { inputDir = p; }
+
+void ImportBase::setFile(const QString &p) { inputFile = p; }
+
+bool ImportBase::transform() { return true; }
+
+QString ImportBase::getTransformedFile() { return transformedFile; }
+
+/////////////////////////////////////////////////
+ImportFirefoxBookmarks::ImportFirefoxBookmarks(VymModel *m) : ImportBase(m) 
+{
+    totalBookmarks = currentBookmarks = 0;
+}
+
+bool ImportFirefoxBookmarks::transform()
+{
+    QStringList lines;
+    QFile file(inputFile);
+
+    progressDialog.setAutoReset(false);
+    progressDialog.setAutoClose(false);
+    progressDialog.setMinimumWidth(600);
+    progressDialog.setCancelButton(NULL);
+    progressDialog.setWindowTitle(QObject::tr("Import Firefox bookmarks","Import dialog"));
+    progressDialog.setLabelText(
+        QObject::tr("Loading bookmarks:", "Progress dialog while importing bookmarks"));
+
+    if (file.open(QIODevice::ReadOnly)) {
+        QJsonDocument jsdoc = QJsonDocument::fromJson(file.readAll());
+        file.close();
+
+        QJsonObject jsobj = jsdoc.object();
+
+        QJsonArray jsarr = jsobj["children"].toArray();
+        foreach (const QJsonValue &value, jsarr) {
+            parseJson (value, ParseMode::countBookmarks);
+        }
+
+        progressDialog.setRange(0, totalBookmarks);
+        progressDialog.setValue(1);
+        progressDialog.setWindowModality(Qt::WindowModal);
+        progressDialog.show();
+        QApplication::processEvents();
+
+        model->blockReposition();
+
+        parseJson (jsobj, ParseMode::buildMap);
+        
+        model->unblockReposition();
+
+        mainWindow->statusMessage(
+                QObject::tr("Imported %1 bookmarks", "Import dialog").arg(totalBookmarks));
+    }
+
+    return false;
+}
+
+bool ImportFirefoxBookmarks::parseJson(QJsonValue jsval, ParseMode mode, BranchItem *selbi)
+{
+    if (!selbi) {
+        selbi = model->getSelectedBranch();
+        if (!selbi) {
+            qWarning() << "ImportFirefoxBookmarks: No branch selected!";
+            return false;
+        }
+    }
+
+    QJsonObject jsobj = jsval.toObject();
+
+    if (mode == countBookmarks) {
+        // Count bookmarks 
+        if (jsobj.contains("uri") && jsobj["uri"].isString())
+            totalBookmarks++;
+    } else {
+        // Build map
+        selbi = model->addNewBranch(selbi);
+        selbi->setHeadingPlainText(jsobj["title"].toString());
+
+        if (jsobj.contains("uri") && jsobj["uri"].isString()) {
+            currentBookmarks++;
+            progressDialog.setValue(currentBookmarks);
+            selbi->setURL(jsobj["uri"].toString());
+        }
+
+        AttributeItem *ai;
+
+        foreach (QString key, jsobj.keys())
+        {
+            if (key != "children") {
+                ai = new AttributeItem();
+                ai->setKey(key);
+                // Integer types: dateAdded, id, index, lastModified, typeCode
+                // Special: postData
+                if (key == "dateAdded" || key == "lastModified") {
+                    qlonglong l = jsobj[key].toVariant().toLongLong();
+                    QDateTime dt;
+                    dt.setMSecsSinceEpoch(l / 1000);
+                    ai->setValue(dt);
+                    ai->setAttributeType(AttributeItem::DateTime);
+                } else if (key == "id" || key == "index" || 
+                        key == "lastModified" || key == "typeCode" ) {
+                    ai->setValue(jsobj[key].toInt());
+                } else if (key == "postData") 
+                    ai->setValue(QString("null"));
+                else if (jsobj[key].isString()) 
+                    ai->setValue(jsobj[key].toString());
+                else {
+                // Ignore only the "postdata: null" field for now
+                    qWarning() << "Firefox import, unknown key type: " << jsobj[key].type();
+                    qDebug() << "                Firefox bookmark: " << key << jsobj[key].toString();
+                    ai->setValue(QString("unknown type."));
+                }
+
+                model->setAttribute(selbi, ai); // FIXME-3 deep copy?
+            }
+        }
+
+        model->emitDataChanged(selbi); // FIXME-2 required, but can reposition in between be blocked?
+    } // build bookmakrs
+
+    if (jsobj.contains("children") && jsobj["children"].isArray()) {
+
+        QJsonArray jsarr = jsobj["children"].toArray();
+        foreach (const QJsonValue &val, jsarr) {
+            parseJson (val, mode, selbi);
+        }
+
+        if (selbi->depth() > 2) {
+            selbi->scroll();
+            model->emitDataChanged(selbi); // FIXME-2 required, but can reposition in between be blocked?
+        }
+    } 
+
+    return true;
+}
+   
+/////////////////////////////////////////////////
+bool ImportMM::transform()
+{
+    // try to unzip
+    if (File::Success == unzipDir(tmpDir, inputFile)) {
+
+        // Set short name, too. Search from behind:
+        transformedFile = inputFile;
+        int i = transformedFile.lastIndexOf("/");
+        if (i >= 0)
+            transformedFile = transformedFile.remove(0, i + 1);
+        transformedFile.replace(".mmap", ".xml");
+        transformedFile = tmpDir.path() + "/" + transformedFile;
+
+        XSLTProc p;
+        p.setInputFile(tmpDir.path() + "/Document.xml");
+        p.setOutputFile(transformedFile);
+        p.setXSLFile(vymBaseDir.path() + "/styles/mmap2vym.xsl");
+        p.process();
+
+        return true;
+    }
+    else
+        return false;
+}
diff --git a/src/imports.h b/src/imports.h
new file mode 100644 (file)
index 0000000..ffab418
--- /dev/null
@@ -0,0 +1,55 @@
+#ifndef IMPORTS_H
+#define IMPORTS_H
+
+#include <iostream>
+#include <QDir>
+#include <QProgressDialog>
+#include <QString>
+
+#include "settings.h"
+
+class VymModel;
+class BranchItem;
+
+///////////////////////////////////////////////////////////////////////
+
+class ImportBase {
+  public:
+    ImportBase();
+    ImportBase(VymModel *m);
+    virtual ~ImportBase();
+    void init();
+    virtual void setDir(const QString &);
+    virtual void setFile(const QString &);
+    virtual bool transform();
+    virtual QString getTransformedFile();
+
+  protected:
+    VymModel *model;
+    QDir tmpDir;
+    QString inputDir;
+    QString inputFile;
+    QString transformedFile;
+};
+
+///////////////////////////////////////////////////////////////////////
+class ImportFirefoxBookmarks : public ImportBase {
+  public:
+    enum ParseMode {countBookmarks, buildMap};
+    ImportFirefoxBookmarks(VymModel *m);
+    bool transform();
+  private:
+    QProgressDialog progressDialog;
+    bool parseJson(QJsonValue jsval, ParseMode mode, BranchItem *selbi = NULL);  
+
+    uint totalBookmarks;
+    uint currentBookmarks;
+};
+
+///////////////////////////////////////////////////////////////////////
+class ImportMM : public ImportBase {
+  public:
+    bool transform();
+};
+
+#endif
diff --git a/src/jira-agent.cpp b/src/jira-agent.cpp
new file mode 100644 (file)
index 0000000..c4d0e04
--- /dev/null
@@ -0,0 +1,293 @@
+#include "jira-agent.h"
+
+#include "branchitem.h"
+#include "mainwindow.h"
+#include "vymmodel.h"
+
+#include <QHash>
+#include <QMessageBox>
+#include <QSslSocket>
+
+extern Main *mainWindow;
+extern QDir vymBaseDir;
+extern Settings settings;
+extern QTextStream vout;
+extern bool debug;
+
+bool JiraAgent::available()
+{
+    if (!QSslSocket::supportsSsl())
+        return false;
+    if ( settings.value("/atlassian/jira/servers/size", 0).toInt() < 1)
+        return false;
+
+    return true;
+}
+
+JiraAgent::JiraAgent()
+{
+    //qDebug ()<< "Constr. JiraAgent";
+
+    init();
+}
+
+JiraAgent::~JiraAgent()
+{
+    //qDebug() << "Destr. JiraAgent";
+
+    if (killTimer)
+        delete killTimer;
+}
+
+void JiraAgent::init()
+{
+    jobType = Undefined;
+    jobStep = -1;
+    abortJob = false;
+
+    killTimer = nullptr;
+
+    networkManager = new QNetworkAccessManager(this);
+
+    modelID = 0;    // invalid ID
+
+    killTimer = new QTimer(this);
+    killTimer->setInterval(15000);
+    killTimer->setSingleShot(true);
+
+    QObject::connect(killTimer, SIGNAL(timeout()), this, SLOT(timeout()));
+
+    // Reset credentials, these are server specific beginning in 2.9.18
+    authUsingPATInt = true;
+    personalAccessTokenInt = QString();
+    userNameInt = QString();
+    passwordInt = QString();
+    serverNameInt = QString();
+
+    // Set API rest point. baseUrlInt later on depends on different JIRA system
+    apiUrl = "/rest/api/2";
+
+}
+
+void JiraAgent::setJobType(JobType jt)
+{
+    jobType = jt;
+}
+
+bool JiraAgent::setBranch(BranchItem *bi)
+{
+    if (!bi) {
+        abortJob = true;
+        return false;
+    } else {
+        branchID = bi->getID();
+        modelID = bi->getModel()->getModelID();
+        return true;
+    }
+}
+
+
+bool JiraAgent::setTicket(const QString &id)
+{
+    // Find ID part in parameter:
+    QRegExp re("(\\w+[-|\\s]\\d+)");
+    if (re.indexIn(id) < 0) {
+        qWarning() << "JiraAgent::setTicket invalid ID: " << id;
+        abortJob = true;
+        return false;
+    }
+
+    ticketID = re.cap(1);
+    ticketID.replace(" ", "-");
+
+    bool foundPattern = false;
+
+    settings.beginGroup("/atlassian/jira");
+
+    // Try to find baseUrl of server by looking through patterns in ticket IDs:
+    int size = settings.beginReadArray("servers");
+    for (int i = 0; i < size; ++i) {
+        settings.setArrayIndex(i);
+        foreach (QString p, settings.value("pattern").toString().split(",")) {
+            if (ticketID.contains(p)) {
+                foundPattern = true;
+
+                baseUrlInt = settings.value("baseUrl","-").toString();
+                serverNameInt = settings.value("name","-").toString();
+
+                // Read credentials for this server   
+                authUsingPATInt = 
+                    settings.value("authUsingPAT", true).toBool();
+                if (authUsingPATInt)
+                    personalAccessTokenInt =
+                        settings.value("PAT", "undefined").toString();
+                else {
+                    userNameInt =
+                        settings.value("username", "user_johnDoe").toString();
+                    passwordInt = 
+                        settings.value("password", "").toString();
+                }
+                break;
+            }
+        }
+    }
+    settings.endArray();
+    settings.endGroup();
+
+    return foundPattern;
+}
+
+QString JiraAgent::serverName()
+{
+    if (baseUrlInt.isEmpty())
+        return QString();
+    else
+        return serverNameInt;
+}
+
+QString JiraAgent::url()
+{
+    return baseUrlInt + "/browse/" + ticketID;
+}
+
+void JiraAgent::startJob()
+{
+    if (jobStep > 0) {
+        unknownStepWarning();
+        finishJob();
+    } else {
+        jobStep = 0;
+        continueJob();
+    }
+}
+
+void JiraAgent::continueJob()
+{
+    if (abortJob) {
+        finishJob();
+        return;
+    }
+
+    jobStep++;
+
+    // qDebug() << "JA::contJob " << jobType << " Step: " << jobStep << "TicketID: " << ticketID;
+
+    switch(jobType) {
+        case GetTicketInfo:
+            switch(jobStep) {
+                case 1:
+                    // if (!requestedURL.toString().startsWith("http"))
+                    //    requestedURL.setPath("https://" + requestedURL.path());
+                    startGetTicketRequest();
+                    break;
+                case 2: {
+                    QJsonDocument jsdoc = QJsonDocument (jsobj);
+
+                    // Insert references to original branch and model
+                    jsobj["vymBranchId"] = QJsonValue(branchID);
+                    jsobj["vymTicketUrl"] = QJsonValue(url());
+
+                    emit (jiraTicketReady(QJsonObject(jsobj)));
+                    finishJob();
+                    }
+                    break;
+                default:
+                    unknownStepWarning();
+                    break;
+            };
+            break;
+        default:
+            qWarning() << "JiraAgent::continueJob   unknown jobType " << jobType;
+    }
+}
+
+void JiraAgent::finishJob()
+{
+    deleteLater();
+}
+
+void JiraAgent::unknownStepWarning()
+{
+    qWarning() << "JA::contJob  unknow step in jobType = " 
+        << jobType 
+        << "jobStep = " << jobStep;
+}
+
+void JiraAgent::startGetTicketRequest()
+{
+    QUrl u = QUrl(baseUrlInt + apiUrl + "/issue/" + ticketID);
+
+    QNetworkRequest request = QNetworkRequest(u);
+
+    // Basic authentication in header
+    QString headerData;
+    if (authUsingPATInt)
+        headerData = QString("Bearer %1").arg(personalAccessTokenInt);
+    else {
+        QString concatenated = userNameInt + ":" + passwordInt;
+        QByteArray data = concatenated.toLocal8Bit().toBase64();
+        headerData = "Basic " + data;
+    }
+
+    request.setRawHeader("Authorization", headerData.toLocal8Bit());
+
+    if (debug)
+        qDebug() << "JA::startGetTicketRequest: url = " + request.url().toString();
+
+    killTimer->start();
+
+    connect(networkManager, &QNetworkAccessManager::finished,
+        this, &JiraAgent::ticketReceived);
+
+    networkManager->get(request);
+}
+
+void JiraAgent::ticketReceived(QNetworkReply *reply)
+{
+    // qDebug() << "JA::ticketReceived";
+
+    killTimer->stop();
+
+    networkManager->disconnect();
+
+    QString r = reply->readAll();
+
+    if (reply->error()) {
+        if (reply->error() == QNetworkReply::AuthenticationRequiredError)
+            QMessageBox::warning(
+                nullptr, tr("Warning"),
+                tr("Authentication problem when contacting JIRA"));
+
+        qWarning() << "JiraAgent::ticketRReveived reply error";
+        qWarning() << "Error: " << reply->error();
+        vout << "reply: " << Qt::endl << r << Qt::endl;
+        finishJob();
+        return;
+    }
+
+    QJsonDocument jsdoc;
+    jsdoc = QJsonDocument::fromJson(r.toUtf8());
+    jsobj = jsdoc.object();
+    continueJob();
+}
+
+void JiraAgent::timeout() 
+{
+    qWarning() << "JiraAgent timeout!!   jobType = " << jobType;
+}
+
+#ifndef QT_NO_SSL
+void JiraAgent::sslErrors(QNetworkReply *reply, const QList<QSslError> &errors)
+{
+    QString errorString;
+    foreach (const QSslError &error, errors) {
+        if (!errorString.isEmpty())
+            errorString += '\n';
+        errorString += error.errorString();
+    }
+
+    reply->ignoreSslErrors();
+    qWarning() << "JiraAgent: One or more SSL errors has occurred: " << errorString;
+    qWarning() << "Errors ignored.";
+}
+#endif
diff --git a/src/jira-agent.h b/src/jira-agent.h
new file mode 100644 (file)
index 0000000..30ec65e
--- /dev/null
@@ -0,0 +1,78 @@
+#ifndef JIRAAGENT_H
+#define JIRAAGENT_H
+
+#include <QHash>
+#include <QJsonObject>
+#include <QNetworkAccessManager>
+#include <QTimer>
+
+class BranchItem;
+class VymModel;
+
+class JiraAgent : public QObject {
+    Q_OBJECT
+
+  public:
+    enum JobType {Undefined, GetTicketInfo};
+
+    static bool available();
+
+    JiraAgent();
+    ~JiraAgent();
+
+    void init();
+    void setJobType(JobType jt);
+    bool setBranch(BranchItem *bi);
+    bool setTicket(const QString &id);
+    QString serverName();
+    QString url();
+
+    void startJob();
+
+  private:
+    void continueJob();
+    void finishJob();
+    void unknownStepWarning();
+
+  signals:
+    void jiraTicketReady(QJsonObject);
+
+  private:
+    void startGetTicketRequest();
+
+  private slots:
+    void ticketReceived(QNetworkReply *reply);
+    void timeout();
+#ifndef QT_NO_SSL
+    void sslErrors(QNetworkReply *, const QList<QSslError> &errors);
+#endif
+
+  private:
+    // Job related 
+    QTimer *killTimer;
+    JobType jobType;
+    int jobStep;
+    bool abortJob;  // Flag to abort during initialization of job
+
+    // Network handling
+    QNetworkAccessManager *networkManager;
+    QJsonObject jsobj;
+
+    // Settings: Credentials to access JIRA
+    bool authUsingPATInt;
+    QString personalAccessTokenInt;
+    QString userNameInt;
+    QString passwordInt;
+
+    // Settings: Where to find JIRA and which ticket
+    QString baseUrlInt;
+    QString serverNameInt;
+    QString apiUrl;
+    QString ticketUrl;
+    QString ticketID;
+
+    // Backreferences to take action in calling model
+    int branchID;
+    int modelID;
+};
+#endif
diff --git a/src/jira-settings-dialog.cpp b/src/jira-settings-dialog.cpp
new file mode 100644 (file)
index 0000000..adb6f40
--- /dev/null
@@ -0,0 +1,219 @@
+#include "jira-settings-dialog.h"
+
+#include <QDebug>
+
+#include "settings.h"
+
+extern Settings settings;
+extern QString jiraPassword;
+
+JiraSettingsDialog::JiraSettingsDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    QDialog::setWindowTitle("VYM - " +
+                            tr("Jira settings", "Jira settings dialog title"));
+
+    ui.tableWidget->setColumnCount(5);
+
+        settings.beginGroup("/atlassian/jira");
+        QTableWidgetItem *newItem;
+
+        QStringList headers;
+        headers << "Name";
+        headers << "URL";
+        headers << "Pattern";
+        headers << "Method";
+        headers << "User";
+        ui.tableWidget->setHorizontalHeaderLabels(headers);
+
+        int size = settings.beginReadArray("servers");
+        for (int i = 0; i < size; ++i) {
+            settings.setArrayIndex(i);
+            ui.tableWidget->insertRow(0);
+            foreach (QString p, settings.value("pattern").toString().split(",")) {
+
+                newItem = new QTableWidgetItem(settings.value("name").toString());
+                ui.tableWidget->setItem(0, 0, newItem);
+
+                newItem = new QTableWidgetItem(settings.value("baseUrl").toString());
+                ui.tableWidget->setItem(0, 1, newItem);
+
+                newItem = new QTableWidgetItem(settings.value("pattern").toString());
+                ui.tableWidget->setItem(0, 2, newItem);
+
+                if (settings.value("authUsingPAT").toString() == "true")
+                    newItem = new QTableWidgetItem("PAT");
+                else
+                    newItem = new QTableWidgetItem("Username/Password");
+                ui.tableWidget->setItem(0, 3, newItem);
+
+                newItem = new QTableWidgetItem(settings.value("username","-").toString());
+                ui.tableWidget->setItem(0, 4, newItem);
+            }
+        }
+        settings.endArray();
+    ui.tableWidget->resizeColumnsToContents();
+    ui.tableWidget->horizontalHeader()->setStretchLastSection(true);
+
+    settings.endGroup();
+
+    connect(ui.addServerButton, &QPushButton::clicked, this, &JiraSettingsDialog::addServer);
+    connect(ui.deleteServerButton, &QPushButton::clicked, this, &JiraSettingsDialog::deleteServer);
+
+    connect(ui.tableWidget->selectionModel(),
+            SIGNAL(selectionChanged(QItemSelection, QItemSelection)),
+            this,
+            SLOT(selectionChanged(QItemSelection, QItemSelection)));
+
+    connect(ui.userLineEdit, SIGNAL(editingFinished()), 
+            this, SLOT(fieldsChanged()));
+    connect(ui.passwordLineEdit, SIGNAL(editingFinished()), 
+            this, SLOT(fieldsChanged()));
+    connect(ui.PATLineEdit, SIGNAL(editingFinished()), 
+            this, SLOT(fieldsChanged()));
+    connect(ui.usePATCheckBox, SIGNAL(clicked()), 
+            this, SLOT(fieldsChanged()));
+    connect(ui.tableWidget, SIGNAL(cellChanged(int, int)),
+            this, SLOT(fieldsChanged()));
+
+    updateAuthenticationFields();
+}
+
+void JiraSettingsDialog::addServer()
+{
+    ui.tableWidget->insertRow(0);
+}
+
+void JiraSettingsDialog::deleteServer()
+{
+    ui.tableWidget->removeRow(ui.tableWidget->currentRow());
+}
+
+void JiraSettingsDialog::updateAuthenticationFields()
+{
+    QModelIndexList ixl = ui.tableWidget->selectionModel()->selectedIndexes();
+
+    int row;
+    if (ixl.isEmpty() || ixl.count() > 1)
+        row = -1;
+    else
+        row = ixl.first().row();
+
+    if (row < 0) {
+        // No server selected, disable fields
+        ui.selectedServerLineEdit->setText("");
+        ui.usePATCheckBox->setEnabled(false);
+        ui.PATLineEdit->setEnabled(false);
+        ui.PATLabel->setEnabled(false);
+        ui.userLabel->setEnabled(false);
+        ui.userLineEdit->setEnabled(false);
+        ui.passwordLabel->setEnabled(false);
+        ui.passwordLineEdit->setEnabled(false);
+
+        // Empty unused fields
+        ui.userLineEdit->setText("");
+        ui.passwordLineEdit->setText("");
+        ui.PATLineEdit->setText("");
+
+    } else {
+        // Index of selected server in settings
+        int n_server = ui.tableWidget->rowCount() - row;
+        QString selectedServer = QString("/atlassian/jira/servers/%1/").arg(n_server);
+
+        // Enable fields
+        if (ui.tableWidget->item(row, 0))
+            ui.selectedServerLineEdit->setText( ui.tableWidget->item(row, 0)->text());
+        else
+            ui.selectedServerLineEdit->setText("");
+        ui.usePATCheckBox->setEnabled(true);
+        ui.usePATCheckBox->setChecked(
+            settings.value(selectedServer + "authUsingPAT", true).toBool());
+        ui.PATLineEdit->setEnabled(true);
+        ui.PATLabel->setEnabled(true);
+        ui.userLabel->setEnabled(true);
+        ui.userLineEdit->setEnabled(true);
+        ui.passwordLabel->setEnabled(true);
+        ui.passwordLineEdit->setEnabled(true);
+
+        // Show and prefill fields depending on usage of PAT
+        if (ui.usePATCheckBox->isChecked()) {
+            ui.PATLineEdit->show();
+            ui.PATLineEdit->setText(
+                settings.value(selectedServer + "PAT","").toString());
+                settings.value(selectedServer + "PAT","").toString();
+            ui.PATLabel->show();
+            ui.userLabel->hide();
+            ui.userLineEdit->hide();
+            ui.passwordLabel->hide();
+            ui.passwordLineEdit->hide();
+        } else {
+            ui.PATLineEdit->hide();
+            ui.PATLabel->hide();
+            ui.userLabel->show();
+            ui.userLineEdit->show();
+            ui.userLineEdit->setText(
+                settings.value(QString("/atlassian/jira/servers/%1/username").arg(n_server), "-").toString());
+            ui.passwordLabel->show();
+            ui.passwordLineEdit->show();
+            ui.passwordLineEdit->setText(
+                settings.value(QString("/atlassian/jira/servers/%1/password").arg(n_server), "").toString());
+        }
+    }
+
+    // Update layout
+    adjustSize();
+}
+
+
+void JiraSettingsDialog::fieldsChanged()
+{
+    int rowCount = ui.tableWidget->rowCount();
+
+    if (rowCount < 1) return;
+
+    QModelIndexList ixl = ui.tableWidget->selectionModel()->selectedIndexes();
+
+    if (ixl.isEmpty() || ixl.count() > 1) return;
+
+    int row = ixl.first().row();
+    int n_server = rowCount - 1 - row;
+
+    if (n_server < 0) return;
+
+    settings.beginGroup("/atlassian/jira");
+    settings.beginWriteArray("servers", rowCount);
+    settings.setArrayIndex(n_server);
+
+    if (ui.tableWidget->item(row, 0))
+        settings.setValue("name", ui.tableWidget->item(row, 0)->text());
+    else
+        settings.setValue("name", "");
+    if (ui.tableWidget->item(row, 1))
+        settings.setValue("baseUrl", ui.tableWidget->item(row, 1)->text());
+    else
+        settings.setValue("baseUrl", "");
+    if (ui.tableWidget->item(row, 2))
+        settings.setValue("pattern", ui.tableWidget->item(row, 2)->text());
+    else
+        settings.setValue("pattern", "");
+    settings.setValue("authUsingPAT", ui.usePATCheckBox->isChecked());
+    if (ui.usePATCheckBox->isChecked()) {
+        // Don't save password if PAT is used
+        settings.remove("password");
+        settings.setValue("PAT", ui.PATLineEdit->text());
+    } else {
+        settings.setValue("username", ui.userLineEdit->text());
+        settings.setValue("password", ui.passwordLineEdit->text());
+        settings.remove("PAT");
+    }
+    settings.setValue("servers/size", rowCount);
+
+    settings.endArray();
+    settings.endGroup();
+}
+
+void JiraSettingsDialog::selectionChanged(const QItemSelection &selected, const QItemSelection &)
+{
+    updateAuthenticationFields();
+}
+
diff --git a/src/jira-settings-dialog.h b/src/jira-settings-dialog.h
new file mode 100644 (file)
index 0000000..a62cb21
--- /dev/null
@@ -0,0 +1,23 @@
+#ifndef JIRA_SETTINGS_DIALOG_H
+#define JIRA_SETTINGS_DIALOG_H
+
+#include "ui_jira-settings-dialog.h"
+
+class JiraSettingsDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    JiraSettingsDialog(QWidget *parent = 0);
+
+  public slots:
+    void addServer();
+    void deleteServer();
+    void updateAuthenticationFields();
+    void fieldsChanged();
+    void selectionChanged(const QItemSelection &selected, const QItemSelection &);
+
+  private:
+    Ui::JiraSettingsDialog ui;
+};
+
+#endif // JIRA_SETTINGS_DIALOG_H
diff --git a/src/lineeditdialog.cpp b/src/lineeditdialog.cpp
new file mode 100644 (file)
index 0000000..01e5c42
--- /dev/null
@@ -0,0 +1,35 @@
+#include "lineeditdialog.h"
+#include "settings.h"
+
+extern Settings settings;
+
+LineEditDialog::LineEditDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    ui.okButton->setText(tr("Ok"));
+}
+
+void LineEditDialog::showCancelButton(bool b)
+{
+    if (b) {
+        ui.cancelButton->show();
+        ui.cancelButton->setText(tr("Cancel"));
+    }
+    else
+        ui.cancelButton->hide();
+}
+
+void LineEditDialog::setLabel(const QString &s) { ui.label->setText(s); }
+
+void LineEditDialog::setCaption(const QString &s)
+{
+    QDialog::setWindowTitle("VYM - " + s);
+}
+
+void LineEditDialog::setText(const QString &s)
+{
+    ui.lineEdit->setText(s);
+    ui.lineEdit->selectAll();
+}
+
+QString LineEditDialog::getText() { return ui.lineEdit->text(); }
diff --git a/src/lineeditdialog.h b/src/lineeditdialog.h
new file mode 100644 (file)
index 0000000..8fb74ff
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef LINEEDITDIALOG_H
+#define LINEEDITDIALOG_H
+
+#include "ui_lineeditdialog.h"
+
+class LineEditDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    LineEditDialog(QWidget *parent = 0);
+
+  public slots:
+    virtual void showCancelButton(bool b);
+    virtual void setCaption(const QString &s);
+    virtual void setLabel(const QString &s);
+    virtual void setText(const QString &s);
+    virtual QString getText();
+
+  private:
+    void init();
+    Ui::LineEditDialog ui;
+};
+
+#endif // LINEEDITDIALOG_H
diff --git a/src/linkablemapobj.cpp b/src/linkablemapobj.cpp
new file mode 100644 (file)
index 0000000..ee9bd7c
--- /dev/null
@@ -0,0 +1,595 @@
+#include <cstdlib>
+#include <iostream>
+#include <math.h>
+
+#include "branchobj.h"
+#include "linkablemapobj.h"
+#include "vymmodel.h"
+
+extern bool debug;
+
+/////////////////////////////////////////////////////////////////
+// LinkableMapObj
+/////////////////////////////////////////////////////////////////
+
+LinkableMapObj::LinkableMapObj(QGraphicsItem *parent, TreeItem *ti)
+    : MapObj(parent, ti)
+{
+    // qDebug() << "Const LinkableMapObj this="<<this<<"  ti="<<ti<<"
+    // treeItem="<<treeItem;
+    parObj = (LinkableMapObj *)
+        parent; // FIXME-4 try to get rid of parObj and use parentItem() instead
+    init();
+}
+
+LinkableMapObj::~LinkableMapObj()
+{
+    // qDebug()<< "Destructor LMO  this="<<this<<" style="<<style<<" l="<<l<<"
+    // p="<<p<<"  segment="<<segment.count();
+    delLink();
+}
+
+void LinkableMapObj::init()
+{
+    parObjTmpBuf = NULL;
+    tmpParent = false;
+    parPos = QPointF(0, 0);
+    childRefPos = QPointF(0, 0);
+    floatRefPos = QPointF(0, 0);
+    link2ParPos = false;
+    l = NULL;
+    p = NULL;
+    orientation = UndefinedOrientation;
+    linkwidth = 20;
+    thickness_start = 8;
+    style = UndefinedStyle;
+    linkpos = Bottom;
+    arcsegs = 13;
+
+    // TODO instead of linkcolor pen.color() could be used     all around
+    pen.setWidth(1);
+    pen.setColor(linkcolor);
+    pen.setCapStyle(Qt::RoundCap);
+
+    useBottomline = false;
+    bottomline = NULL;
+
+    topPad = botPad = leftPad = rightPad = 0;
+
+    repositionRequest = false;
+
+    // Rel Positions
+    relPos = QPointF(0, 0);
+    useRelPos = false;
+}
+
+void LinkableMapObj::createBottomLine()
+{
+    bottomline = scene()->addLine(QLineF(1, 1, 1, 1), pen);
+    bottomline->setZValue(dZ_LINK);
+}
+
+void LinkableMapObj::delLink()
+{
+    if (bottomline) {
+        delete (bottomline);
+        bottomline = NULL;
+    }
+    switch (style) {
+    case Line:
+        delete (l);
+        break;
+    case Parabel:
+        while (!segment.isEmpty())
+            delete segment.takeFirst();
+        break;
+    case PolyLine:
+        delete (p);
+        break;
+    case PolyParabel:
+        delete (p);
+        break;
+    default:
+        break;
+    }
+}
+
+void LinkableMapObj::copy(LinkableMapObj *other)
+{
+    MapObj::copy(other);
+    bboxTotal = other->bboxTotal;
+    setLinkStyle(other->style);
+    setLinkColor(other->linkcolor);
+    relPos = other->relPos;
+    treeItem = other->treeItem;
+}
+
+void LinkableMapObj::setParObj(LinkableMapObj *o)
+{
+    parObj = o;
+    setParentItem(parObj);
+}
+
+void LinkableMapObj::setParObjTmp(LinkableMapObj *, QPointF, int) {}
+
+void LinkableMapObj::unsetParObjTmp() {}
+
+bool LinkableMapObj::hasParObjTmp() { return tmpParent; }
+
+void LinkableMapObj::setUseRelPos(const bool &b) { useRelPos = b; }
+
+bool LinkableMapObj::getUseRelPos() { return useRelPos; }
+
+void LinkableMapObj::setRelPos()
+{
+    if (parObj)
+        setRelPos(absPos - parObj->getChildRefPos());
+    else
+        qWarning() << "LMO::setRelPos parObj==0   this=" << this;
+}
+
+void LinkableMapObj::setRelPos(const QPointF &p)
+{
+    if (parObj) {
+        relPos = p;
+        useRelPos = true;
+        setOrientation();
+    }
+    else
+        qWarning() << "LMO::setRelPos (p)  parObj==0   this=" << this;
+}
+
+QPointF LinkableMapObj::getRelPos()
+{
+    if (!parObj) {
+        qWarning() << "LMO::getRelPos parObj==0   this=" << this;
+        return QPointF();
+    }
+    return relPos;
+}
+
+qreal LinkableMapObj::getTopPad() { return topPad; }
+
+qreal LinkableMapObj::getLeftPad() { return leftPad; }
+
+qreal LinkableMapObj::getRightPad() { return rightPad; }
+
+LinkableMapObj::Style LinkableMapObj::getDefLinkStyle(TreeItem *parent)
+{
+    VymModel *model = treeItem->getModel();
+    if (!model) {
+        qWarning("LMO::getDefLinkStyle   model=NULL");
+        // return UndefinedStyle;
+    }
+    Style ls = model->getMapLinkStyle();
+    int depth = 1 + parent->depth();
+    if (depth == 0)
+        return UndefinedStyle;
+    switch (ls) {
+    case Line:
+        return ls;
+        break;
+    case Parabel:
+        return ls;
+        break;
+    case PolyLine:
+        if (depth > 1)
+            return Line;
+        else
+            return ls;
+        break;
+    case PolyParabel:
+        if (depth > 1)
+            return Parabel;
+        else
+            return ls;
+        break;
+    default:
+        break;
+    }
+    return UndefinedStyle;
+}
+
+void LinkableMapObj::setLinkStyle(Style newstyle)
+{
+    // qDebug()<<"LMO::setLinkStyle s="<<newstyle;     //FIXME-4 called very
+    // often?!?! qDebug()<<"LMO::setLinkStyle s="<<newstyle<<" for "<<this<<"
+    // "<<treeItem->getHeading()<<"  parObj="<<parObj;
+    delLink();
+
+    style = newstyle;
+
+    QGraphicsLineItem *cl;
+    switch (style) {
+    case Line:
+        l = scene()->addLine(QLineF(1, 1, 1, 1), pen);
+        l->setZValue(dZ_LINK);
+        if (visible)
+            l->show();
+        else
+            l->hide();
+        createBottomLine();
+        break;
+    case Parabel:
+        for (int i = 0; i < arcsegs; i++) {
+            cl = scene()->addLine(QLineF(i * 5, 0, i * 10, 100), pen);
+            cl->setZValue(dZ_LINK);
+            if (visible)
+                cl->show();
+            else
+                cl->hide();
+            segment.append(cl);
+        }
+        pa0.resize(arcsegs + 1);
+        createBottomLine();
+        break;
+    case PolyLine:
+        p = scene()->addPolygon(QPolygonF(), pen, linkcolor);
+        p->setZValue(dZ_LINK);
+        if (visible)
+            p->show();
+        else
+            p->hide();
+        pa0.resize(3);
+        createBottomLine();
+        break;
+    case PolyParabel:
+        p = scene()->addPolygon(QPolygonF(), pen, linkcolor);
+        p->setZValue(dZ_LINK);
+        if (visible)
+            p->show();
+        else
+            p->hide();
+        pa0.resize(arcsegs * 2 + 2);
+        pa1.resize(arcsegs + 1);
+        pa2.resize(arcsegs + 1);
+        createBottomLine();
+        break;
+    default:
+        break;
+    }
+}
+
+LinkableMapObj::Style LinkableMapObj::getLinkStyle() { return style; }
+
+void LinkableMapObj::setLinkPos(Position lp) { linkpos = lp; }
+
+LinkableMapObj::Position LinkableMapObj::getLinkPos() { return linkpos; }
+
+void LinkableMapObj::setLinkColor()
+{
+    // Overloaded in BranchObj and children
+    // here only set default color
+    VymModel *model = treeItem->getModel();
+    if (!model)
+        return;
+
+    if (model->getMapLinkColorHint() == HeadingColor) {
+        if (treeItem->isBranchLikeType() )
+            LinkableMapObj::setLinkColor(treeItem->getHeading().getColor());
+        else
+            // For images use color of parent heading
+            LinkableMapObj::setLinkColor(treeItem->parent()->getHeading().getColor());
+    } else
+        LinkableMapObj::setLinkColor(model->getMapDefLinkColor());
+}
+
+void LinkableMapObj::setLinkColor(QColor col)
+{
+    linkcolor = col;
+    pen.setColor(col);
+    if (bottomline)
+        bottomline->setPen(pen);
+    switch (style) {
+    case Line:
+        l->setPen(pen);
+        break;
+    case Parabel:
+        for (int i = 0; i < segment.size(); ++i)
+            segment.at(i)->setPen(pen);
+        break;
+    case PolyLine:
+        p->setBrush(QBrush(col));
+        p->setPen(pen);
+        break;
+    case PolyParabel:
+        p->setBrush(QBrush(col));
+        p->setPen(pen);
+        break;
+    default:
+        break;
+    }
+}
+
+QColor LinkableMapObj::getLinkColor() { return linkcolor; }
+
+void LinkableMapObj::setVisibility(bool v)
+{
+    MapObj::setVisibility(v);
+    updateVisibility();
+}
+
+void LinkableMapObj::setOrientation()
+{
+    if (!parObj) {
+        orientation = UndefinedOrientation;
+        return;
+    }
+
+    // calc orientation depending on position rel to parent
+    if (useRelPos) {
+        if (relPos.x() < 0)
+            orientation = LeftOfCenter;
+        else
+            orientation = RightOfCenter;
+    }
+    else
+        // use the orientation of the parent:
+        orientation = parObj->getOrientation();
+}
+
+void LinkableMapObj::updateVisibility()
+{
+    bool visnow = visible;
+
+    // Hide links of unselected objects (if wanted)
+    if (((MapItem *)treeItem)->getHideLinkUnselected() &&
+        !treeItem->getModel()->isSelected(treeItem))
+        visnow = false;
+
+    if (visnow) {
+        if (bottomline) {
+            if (useBottomline)
+                bottomline->show();
+            else
+                bottomline->hide();
+        }
+
+        switch (style) {
+        case Line:
+            if (l)
+                l->show();
+            break;
+        case Parabel:
+            for (int i = 0; i < segment.size(); ++i)
+                segment.at(i)->show();
+            break;
+        case PolyLine:
+            if (p)
+                p->show();
+            else
+                qDebug() << "LMO::updateVis p==0 (PolyLine)"; // FIXME-4
+            break;
+        case PolyParabel:
+            if (p)
+                p->show();
+            else
+                qDebug() << "LMO::updateVis p==0 (PolyParabel) "
+                         << treeItem->getHeadingPlain(); // FIXME-4
+            break;
+        default:
+            break;
+        }
+    }
+    else {
+        if (bottomline)
+            bottomline->hide();
+        switch (style) {
+        case Line:
+            if (l)
+                l->hide();
+            break;
+        case Parabel:
+            for (int i = 0; i < segment.size(); ++i)
+                segment.at(i)->hide();
+            break;
+        case PolyLine:
+            if (p)
+                p->hide();
+            break;
+        case PolyParabel:
+            if (p)
+                p->hide();
+            break;
+        default:
+            break;
+        }
+    }
+}
+
+void LinkableMapObj::updateLinkGeometry()
+{
+    // needs:
+    // childRefPos of parent
+    // orient   of parent
+    // style
+    //
+    // sets:
+    // orientation
+    // childRefPos    (by calling setDockPos())
+    // parPos      (by calling setDockPos())
+    //  bottomlineY
+    // drawing of the link itself
+
+    // updateLinkGeometry is called from move, but called from constructor we
+    // don't have parents yet...
+
+    if (style == UndefinedStyle) {
+        setDockPos();
+        return;
+    }
+
+    switch (linkpos) {
+    case Middle:
+        bottomlineY =
+            bbox.top() + bbox.height() / 2; // draw link to middle (of frame)
+        break;
+    case Bottom:
+        // bottomlineY = bbox.bottom()-1;  // draw link to bottom of box
+        bottomlineY = bbox.bottom() - botPad;
+        break;
+    }
+
+    double p2x, p2y; // Set P2 Before setting
+    if (!link2ParPos) {
+        p2x = QPointF(parObj->getChildRefPos()).x(); // P1, we have to look at
+        p2y = QPointF(parObj->getChildRefPos()).y(); // orientation
+    }
+    else {
+        p2x = QPointF(parObj->getParPos()).x();
+        p2y = QPointF(parObj->getParPos()).y();
+    }
+
+    setOrientation();
+    setDockPos(); // Call overloaded method
+
+    double p1x = parPos.x(); // Link is drawn from P1 to P2
+    double p1y = parPos.y();
+
+    double vx = p2x - p1x; // V=P2-P1
+    double vy = p2y - p1y;
+
+    int z;
+    // Hack to z-move links to MapCenter (d==1) below MCOs frame (d==0)
+    // //FIXME-4 no longer used?
+    if (treeItem->depth() < 2)
+        // z=(treeItem->depth() -2)*dZ_DEPTH + dZ_LINK;
+        z = -dZ_LINK;
+    else
+        z = dZ_LINK;
+
+    // qDebug()<<"LMO::updateGeo d="<<treeItem->depth()<<"  this="<<this<<"
+    // "<<treeItem->getHeading();
+
+    // Draw the horizontal line below heading (from childRefPos to ParPos)
+    if (bottomline) {
+        bottomline->setLine(QLineF(childRefPos.x(), childRefPos.y(), p1x, p1y));
+        bottomline->setZValue(z);
+    }
+
+    double a; // angle
+    if (vx > -0.000001 && vx < 0.000001)
+        a = M_PI_2;
+    else
+        a = atan(vy / vx);
+    // "turning point" for drawing polygonal links
+    QPointF tp(-qRound(sin(a) * thickness_start),
+               qRound(cos(a) * thickness_start));
+
+    // Draw the link
+    switch (style) {
+    case Line:
+        l->setLine(QLine(qRound(parPos.x()), qRound(parPos.y()), qRound(p2x),
+                         qRound(p2y)));
+        l->setZValue(z);
+        break;
+    case Parabel:
+        parabel(pa0, p1x, p1y, p2x, p2y);
+        for (int i = 0; i < segment.size(); ++i) {
+            segment.at(i)->setLine(QLineF(pa0.at(i).x(), pa0.at(i).y(),
+                                          pa0.at(i + 1).x(),
+                                          pa0.at(i + 1).y()));
+            segment.at(i)->setZValue(z);
+        }
+        break;
+    case PolyLine:
+        pa0.clear();
+        pa0 << QPointF(qRound(p2x + tp.x()), qRound(p2y + tp.y()));
+        pa0 << QPointF(qRound(p2x - tp.x()), qRound(p2y - tp.y()));
+        pa0 << QPointF(qRound(parPos.x()), qRound(parPos.y()));
+        p->setPolygon(QPolygonF(pa0));
+        p->setZValue(z);
+        break;
+    case PolyParabel:
+        parabel(pa1, p1x, p1y, p2x + tp.x(), p2y + tp.y());
+        parabel(pa2, p1x, p1y, p2x - tp.x(), p2y - tp.y());
+        pa0.clear();
+        for (int i = 0; i <= arcsegs; i++)
+            pa0 << QPointF(pa1.at(i));
+        for (int i = 0; i <= arcsegs; i++)
+            pa0 << QPointF(pa2.at(arcsegs - i));
+        p->setPolygon(QPolygonF(pa0));
+        p->setZValue(z);
+        break;
+    default:
+        break;
+    }
+}
+
+QPointF LinkableMapObj::getChildRefPos() { return childRefPos; }
+
+QPointF LinkableMapObj::getFloatRefPos() { return floatRefPos; }
+
+QPointF LinkableMapObj::getParPos() { return parPos; }
+
+LinkableMapObj::Orientation LinkableMapObj::getOrientation()
+{
+    return orientation;
+}
+
+void LinkableMapObj::reposition() // virtual
+{
+}
+
+void LinkableMapObj::requestReposition()
+{
+    if (!repositionRequest) {
+        // Pass on the request to parental objects, if this hasn't
+        // been done yet
+        repositionRequest = true;
+        if (parObj)
+            parObj->requestReposition();
+    }
+}
+
+void LinkableMapObj::forceReposition()
+{
+    // Sometimes a reposition has to be done immediatly: For example
+    // if the note editor flag changes, there is no user event in mapeditor
+    // which could collect requests for a reposition.
+    // Then we have to call forceReposition()
+    // But no rule without exception: While loading a map or undoing it,
+    // we want to block expensive repositioning, but just do it once at
+    // the end, thus check first:
+
+    VymModel *model = treeItem->getModel();
+    if (model->isRepositionBlocked())
+        return;
+
+    // Pass on the request to parent objects, if this hasn't been done yet
+    if (parObj)
+        parObj->forceReposition();
+    else
+        reposition();
+}
+
+bool LinkableMapObj::repositionRequested() { return repositionRequest; }
+
+void LinkableMapObj::parabel(QPolygonF &ya, qreal p1x, qreal p1y, qreal p2x,
+                             qreal p2y)
+
+{
+    qreal vx = p2x - p1x; // V=P2-P1
+    qreal vy = p2y - p1y;
+
+    qreal dx; // delta x during calculation of parabel
+
+    qreal pnx; // next point
+    qreal pny;
+    qreal m;
+
+    if (vx > -0.0001 && vx < 0.0001)
+        m = 0;
+    else
+        m = (vy / (vx * vx));
+    dx = vx / (arcsegs);
+    ya.clear();
+    ya << QPointF(p1x, p1y);
+    for (int i = 1; i <= arcsegs; i++) {
+        pnx = p1x + dx;
+        pny = m * (pnx - parPos.x()) * (pnx - parPos.x()) + parPos.y();
+        ya << QPointF(pnx, pny);
+        p1x = pnx;
+        p1y = pny;
+    }
+}
diff --git a/src/linkablemapobj.h b/src/linkablemapobj.h
new file mode 100644 (file)
index 0000000..3f83653
--- /dev/null
@@ -0,0 +1,157 @@
+#ifndef LINKABLEMAPOBJ_H
+#define LINKABLEMAPOBJ_H
+
+#include "animpoint.h"
+#include "flagrowobj.h"
+#include "headingobj.h"
+#include "vymnote.h"
+
+#define MAX_DEPTH 999
+
+class VymModel;
+class TreeItem;
+
+/*! \brief This class adds links to MapObj
+
+The links are connecting the branches (BranchObj) and images (FloatImageObj) in
+the map.
+*/
+
+class LinkableMapObj : public MapObj {
+  public:
+    /*! Orientation of an object depends on the position relative to the parent
+     */
+    enum Orientation {
+        UndefinedOrientation, //!< Undefined
+        LeftOfCenter,         //!< Object is left of center
+        RightOfCenter         //!< Object is right of center
+    };
+
+    /*! Various drawing styles for links */
+    enum Style {
+        UndefinedStyle, //!< Undefined
+        Line,           //!< Straight line
+        Parabel,        //!< Parabel
+        PolyLine,       //!< Polygon (thick line)
+        PolyParabel     //!< Thick parabel
+    };
+
+    /*! Vertical position of link in object */
+    enum Position {
+        Middle, //!< Link is drawn in the middle of object
+        Bottom  //!< Link is drawn at bottom of object
+    };
+
+    /*! Hint if link should use the default link color or the color of heading
+     */
+    enum ColorHint {
+        DefaultColor, //!< Link uses the default color
+        HeadingColor  //!< Link uses the color of heading
+    };
+
+    LinkableMapObj();
+    LinkableMapObj(QGraphicsItem *, TreeItem *ti = NULL);
+    virtual ~LinkableMapObj();
+
+  protected:
+    virtual void init();
+    virtual void createBottomLine();
+
+  public:
+    virtual void delLink();
+    virtual void copy(LinkableMapObj *);
+
+    void setChildObj(LinkableMapObj *);
+    virtual void setParObj(LinkableMapObj *);
+    virtual void setParObjTmp(LinkableMapObj *, QPointF,
+                              int); // Only for moving Obj around
+    virtual void unsetParObjTmp();  // reuse original ParObj
+    virtual bool hasParObjTmp();
+
+    virtual void setUseRelPos(const bool &);
+    virtual bool getUseRelPos();
+    virtual void setRelPos(); // set relPos to current parentPos
+    virtual void setRelPos(const QPointF &);
+    virtual QPointF getRelPos();
+
+    virtual qreal getTopPad();
+    virtual qreal getLeftPad();
+    virtual qreal getRightPad();
+    Style getDefLinkStyle(TreeItem *parent);
+    void setLinkStyle(Style);
+    Style getLinkStyle();
+
+    void setLinkPos(Position);
+    Position getLinkPos();
+
+    virtual void
+    setLinkColor(); // sets color according to colorhint, overloaded
+    virtual void setLinkColor(QColor);
+    QColor getLinkColor();
+    virtual void setVisibility(bool);
+    virtual void setOrientation();
+    virtual void
+    updateVisibility(); //! hides/unhides link depending on selection
+
+    /*! update parPos, childRefPos
+    depending on pos
+    redraw link with given style */
+    virtual void updateLinkGeometry();
+
+    virtual void setDockPos() = 0; // sets childRefPos and parPos
+    QPointF getChildRefPos();      // returns pos where children dock
+    QPointF getFloatRefPos();      // returns pos where floats dock
+    QPointF getParPos();           // returns pos where parents dock
+    Orientation getOrientation();  // get orientation
+
+    virtual void reposition();
+    virtual void requestReposition(); // do reposition after next user event
+    virtual void forceReposition();   // to force a reposition now (outside
+    // of mapeditor e.g. in noteeditor
+    virtual bool repositionRequested();
+
+    virtual void calcBBoxSizeWithChildren() = 0; // calc size of  BBox including
+                                                 // children recursivly
+
+  protected:
+    void parabel(QPolygonF &, qreal, qreal, qreal,
+                 qreal); // Create Parabel connecting two points
+
+    QPointF childRefPos;
+    QPointF floatRefPos;
+    QPointF parPos;
+    bool link2ParPos; // While moving around, sometimes link to parent
+
+    Orientation orientation;
+    qreal linkwidth;  // width of a link
+    QRectF bboxTotal; // bounding box including children
+
+    LinkableMapObj *parObj;
+    LinkableMapObj *parObjTmpBuf; // temporary buffer the original parent
+    bool tmpParent;
+
+    int thickness_start; // for StylePoly*
+    Style style;         // Current style
+    Position linkpos;    // Link at bottom of object or middle of height
+    QColor linkcolor;    // Link color
+    QPen pen;
+    QGraphicsLineItem *l;               // line style
+    QGraphicsPolygonItem *p;            // poly styles
+    int arcsegs;                        // arc: number of segments
+    QList<QGraphicsLineItem *> segment; // a part of e.g. the parabel
+    QPolygonF pa0; // For drawing of PolyParabel and PolyLine
+    QPolygonF pa1; // For drawing of PolyParabel
+    QPolygonF pa2; // For drawing of PolyParabel
+
+    QGraphicsLineItem *bottomline; // on bottom of BBox
+    bool useBottomline;            //! Hint if bottomline should be used
+    qreal bottomlineY;             // vertical offset of dockpos to pos
+
+    bool repositionRequest; //
+
+    qreal topPad, botPad, leftPad, rightPad; // padding within bbox
+
+    QPointF relPos; // position relative to childRefPos of parent
+    bool useRelPos;
+};
+#endif
diff --git a/src/lockedfiledialog.cpp b/src/lockedfiledialog.cpp
new file mode 100644 (file)
index 0000000..20fd968
--- /dev/null
@@ -0,0 +1,24 @@
+#include "lockedfiledialog.h"
+
+LockedFileDialog::LockedFileDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    ui.openReadonlyButton->setText(tr("Open readonly"));
+    ui.deleteLockfileButton->setText(tr("Delete lockfile"));
+}
+
+LockedFileDialog::Result LockedFileDialog::execDialog()
+{
+    // Really show dialog
+    if (QDialog::exec() == QDialog::Accepted)
+        return OpenReadonly;
+    else
+        return DeleteLockfile;
+}
+
+void LockedFileDialog::setText(const QString &s) { ui.warningTE->setText(s); }
+
+void LockedFileDialog::setCaption(const QString &s)
+{
+    QDialog::setWindowTitle("VYM - " + s);
+}
diff --git a/src/lockedfiledialog.h b/src/lockedfiledialog.h
new file mode 100644 (file)
index 0000000..473cc20
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef LOCKEDFILEDIALOG_H
+#define LOCKEDFILEDIALOG_H
+
+#include "ui_lockedfiledialog.h"
+
+class LockedFileDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    enum Result { OpenReadonly, DeleteLockfile };
+
+    LockedFileDialog(QWidget *parent = 0);
+    Result execDialog();
+
+  public slots:
+    virtual void setText(const QString &s);
+    virtual void setCaption(const QString &s);
+
+  private:
+    void init();
+    Ui::LockedFileDialog ui;
+};
+
+#endif
diff --git a/src/macros.cpp b/src/macros.cpp
new file mode 100644 (file)
index 0000000..3c464ca
--- /dev/null
@@ -0,0 +1,59 @@
+#include "macros.h"
+
+#include "settings.h"
+
+#include <QDebug>
+#include <QDir>
+#include <QMessageBox>
+#include <QTextStream>
+
+extern Settings settings;
+extern QDir vymBaseDir;
+
+QString Macros::getPath()
+{
+    return macrosPath;
+}
+
+bool Macros::setPath(const QString &path)
+{
+    if (pathExists(path)) {
+        macrosPath = path;
+        return true;
+    } else
+        return false;
+}
+
+QString Macros::get()
+{
+    QFile f(macrosPath);
+    if (!f.open(QIODevice::ReadOnly)) {
+        qWarning() << "Couldn't read macros in get()";
+        return QString();
+    }
+        
+    QTextStream ts(&f);
+    QString macros = ts.readAll();
+
+    return macros;
+}
+
+bool Macros::pathExists(const QString &path)
+{
+    QFile f(path);
+    if (!f.open(QIODevice::ReadOnly)) {
+        QMessageBox::warning(
+            0, QObject::tr("Warning"),
+                QObject::tr("Couldn't find macros at  %1.\n","Macros::pathExists").arg(path) +
+                    QObject::tr("Please use Settings->") +
+                    QObject::tr("Set directory for vym macros"));
+        return false;
+    } else
+        return true;
+}
+
+QString Macros::help()
+{
+    QRegExp re("^//.*Macro.*F[0-9]{1,2}");
+    return get().split("\n").filter(re).replaceInStrings("// ", "").join("\n");
+}
diff --git a/src/macros.h b/src/macros.h
new file mode 100644 (file)
index 0000000..a827ac4
--- /dev/null
@@ -0,0 +1,17 @@
+#ifndef MACROS_H
+#define MACROS_H
+
+#include <QString>
+
+class Macros {
+  public:
+    QString getPath();
+    bool setPath(const QString&);
+    bool pathExists(const QString&);
+    QString get();
+    QString help();
+
+  private:
+    QString macrosPath;
+};
+#endif
diff --git a/src/main.cpp b/src/main.cpp
new file mode 100644 (file)
index 0000000..aad6756
--- /dev/null
@@ -0,0 +1,564 @@
+#include <QApplication>
+#include <QMessageBox>
+#include <QStyleFactory>
+
+#include <cstdlib>
+#include <iostream>
+using namespace std;
+
+#include "command.h"
+#include "debuginfo.h"
+#include "findresultwidget.h"
+#include "findwidget.h"
+#include "flagrow.h"
+#include "flagrowobj.h"
+#include "headingeditor.h"
+#include "macros.h"
+#include "mainwindow.h"
+#include "noteeditor.h"
+#include "options.h"
+#include "scripteditor.h"
+#include "scriptoutput.h"
+#include "settings.h"
+#include "shortcuts.h"
+#include "taskeditor.h"
+#include "taskmodel.h"
+#include "version.h"
+#include "warningdialog.h"
+
+#if defined(VYM_DBUS)
+#include <QtDBus/QDBusConnection>
+#include <QtDBus/QDBusError>
+#endif
+
+QString vymName;
+QString vymVersion;
+QString vymHome;
+QString vymBuildDate;
+QString vymCodeName;
+QString vymCodeQuality;
+QString vymInstanceName;
+QString vymPlatform;
+QString localeName;
+
+QTextStream vout(stdout); // vymout - Testing for now. Flush after writing...
+
+// Accessing JIRA and Confluence is done using agents
+// Credentials may be stored in settings, but only on request
+QString jiraPassword;   
+QString confluencePassword;
+
+TaskModel *taskModel;
+TaskEditor *taskEditor;
+ScriptEditor *scriptEditor;
+ScriptOutput *scriptOutput;
+HeadingEditor *headingEditor;
+NoteEditor *noteEditor; // used in Constr. of LinkableMapObj
+BranchPropertyEditor *branchPropertyEditor;
+
+// initialized in mainwindow
+Main *mainWindow;
+FindWidget *findWidget;
+FindResultWidget *findResultWidget;
+
+FlagRowMaster *systemFlagsMaster;
+FlagRowMaster *standardFlagsMaster;
+FlagRowMaster *userFlagsMaster;
+
+Macros macros;
+
+ulong itemLastID = 0;  // Unique ID for all items in all models
+ulong imageLastID = 0; // Unique ID for caching images, also flags not in tree
+
+QDir tmpVymDir;          // All temp files go there, created in mainwindow
+QDir cacheDir;            // tmp dir with cached svg files in tmpVymDir
+QString clipboardDir;    // Clipboard used in all mapEditors
+QString clipboardFile;   // Clipboard used in all mapEditors
+
+QDir vymBaseDir;            // Containing all styles, scripts, images, ...
+
+QDir vymTranslationsDir;    // Translation files (*.qm)
+QTranslator vymTranslator;
+
+QDir lastImageDir;
+QDir lastMapDir;
+QDir lastExportDir;
+#if defined(Q_OS_WINDOWS)
+QDir vymInstallDir;
+#endif
+QString iconPath;  // Pointing to icons used for toolbars
+QString flagsPath; // Pointing to flags
+
+bool debug;                // global debugging flag
+bool testmode;             // Used to disable saving of autosave setting
+bool restoreMode = false;  // During restore, existing lockfiles are ignored
+
+QStringList ignoredLockedFiles;
+QStringList lastSessionFiles;   //! Will be overwritten in setting after load, so read initially
+
+Switchboard switchboard;
+
+Settings settings("InSilmaril", "vym"); // Organization, Application name
+
+bool zipToolAvailable = false;
+bool unzipToolAvailable = false;
+QString zipToolPath;   // Platform dependant zip tool
+QString unzipToolPath; // For windows same as zipToolPath
+
+QList<Command *> modelCommands;
+QList<Command *> vymCommands;
+
+Options options;
+ImageIO imageIO;
+
+int statusbarTime = 10000;
+
+bool usingDarkTheme;
+QColor vymBlue;
+
+int warningCount = 0;
+int criticalCount = 0;
+int fatalCount = 0;
+
+QString editorFocusStyle =
+    QString(" border-color: #3daee9; border-style:outset; border-width:3px; "
+            "color:black;");
+
+#include <QScriptEngine>
+QScriptValue scriptPrint(QScriptContext *ctx, QScriptEngine *eng);
+
+void msgHandler(QtMsgType type, const QMessageLogContext &context,
+                const QString &msg)
+{
+    QByteArray localMsg = msg.toLocal8Bit();
+    switch (type) {
+    case QtDebugMsg:
+        fprintf(stderr, "%s (%s:%u, %s)\n", localMsg.constData(), context.file,
+                context.line, context.function);
+        break;
+    case QtWarningMsg:
+        fprintf(stderr, "Warning: %s (%s:%u, %s)\n", localMsg.constData(),
+                context.file, context.line, context.function);
+        warningCount++;
+        break;
+    case QtCriticalMsg:
+        fprintf(stderr, "Critical: %s (%s:%u, %s)\n", localMsg.constData(),
+                context.file, context.line, context.function);
+        criticalCount++;
+        break;
+    case QtFatalMsg:
+        fprintf(stderr, "Fatal: %s (%s:%u, %s)\n", localMsg.constData(),
+                context.file, context.line, context.function);
+        fatalCount++;
+        break;
+    default:
+        fprintf(stderr, "Info: %s (%s:%u, %s)\n", localMsg.constData(),
+                context.file, context.line, context.function);
+    }
+}
+
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+
+    // Define some constants shared in various places
+    vymName = __VYM_NAME;
+    vymVersion = __VYM_VERSION;
+    vymBuildDate = __VYM_BUILD_DATE;
+    vymCodeName = __VYM_CODENAME;
+    vymCodeQuality = __VYM_CODE_QUALITY;
+    vymHome = __VYM_HOME;
+
+    // Install our own handler for messages
+    qInstallMessageHandler(msgHandler);
+
+    // Testing for now
+    vout.setCodec("UTF-8");
+
+    // Reading and initializing options commandline options
+    options.add("batch", Option::Switch, "b", "batch");
+    options.add("commands", Option::Switch, "c", "commands");
+    options.add("commandslatex", Option::Switch, "cl", "commandslatex");
+    options.add("debug", Option::Switch, "d", "debug");
+    options.add("help", Option::Switch, "h", "help");
+    options.add("load", Option::String, "L", "load");
+    options.add("local", Option::Switch, "l", "local");
+    options.add("locale", Option::String, "locale", "locale");
+    options.add("name", Option::String, "n", "name");
+    options.add("quit", Option::Switch, "q", "quit");
+    options.add("run", Option::String, "R", "run");
+    options.add("recover", Option::Switch, "recover", "recover");
+    options.add("restore", Option::Switch, "r", "restore");
+    options.add("shortcuts", Option::Switch, "s", "shortcuts");
+    options.add("testmode", Option::Switch, "t", "testmode");
+    options.add("version", Option::Switch, "v", "version");
+    options.setHelpText(
+        "VYM - View Your Mind\n"
+        "--------------------\n\n"
+        "Information about vym can be found in vym.pdf,\n"
+        "which should be part of the vym package.\n"
+        "It is also available at the project homepage:\n\n"
+        "http://www.InSilmaril.de/vym\n\n"
+        "Usage: vym [OPTION]... [FILE]... \n"
+        "Open FILEs with vym\n\n"
+        "-b           batch         batch mode: hide windows\n"
+        "-c           commands     List all available commands\n"
+        "-cl          commandslatex List commands in LaTeX format\n"
+        "-d           debug         Show debugging output\n"
+        "-h           help          Show this help text\n"
+        "-L           load          Load script\n"
+        "-l           local         Run with ressources in current directory\n"
+        "--locale     locale        Override system locale setting to select\n"
+        "                           language\n"
+        "-n  STRING   name          Set name of instance for DBus access\n"
+        "-q           quit          Quit immediatly after start for benchmarking\n"
+        "-R  FILE     run           Run script\n"
+        "-r           restore       Restore last session\n"
+        "--recover    recover       Delete lockfiles during initial loading of\n"
+        "                           files\n"
+        "-s           shortcuts     Show Keyboard shortcuts on start\n"
+        "-t           testmode      Test mode, e.g. no autosave and changing\n"
+        "                           of its setting\n"
+        "-v           version       Show vym version\n");
+
+    if (options.parse()) {
+        cout << endl << qPrintable(options.getHelpText()) << endl;
+        return 1;
+    }
+
+    if (options.isOn("version")) {
+        QString s = QString("VYM - View Your Mind (c) 2004-%1").arg(QDate::currentDate().year());
+        s += " Uwe Drechsel\n";
+        s += "   Version: " + vymVersion;
+        if (!vymCodeName.isEmpty())
+            s += QString(" - \"%1\"").arg(vymCodeName);
+        s += "\n";
+        s += "   Quality: " + vymCodeQuality + "\n";
+        s += "Build date: " + vymBuildDate + "\n";
+        cout << s.toStdString();
+
+        return 0;
+    }
+
+    taskModel = new TaskModel();
+
+    debug = options.isOn("debug");
+
+    testmode = options.isOn("testmode");
+
+    QString pidString = QString::number(QCoreApplication::applicationPid());
+
+#if defined(VYM_DBUS)
+    // Register for DBUS
+    QDBusConnection dbusConnection = QDBusConnection::sessionBus();
+    if (!dbusConnection.registerService("org.insilmaril.vym-" + pidString)) {
+        fprintf(
+            stderr, "%s\n",
+            qPrintable(QDBusConnection::sessionBus().lastError().message()));
+        exit(1);
+    }
+#endif
+
+    if (options.isOn("name"))
+        vymInstanceName = options.getArg("name");
+    else
+        vymInstanceName = pidString;
+
+#ifdef QT_DEBUG
+    qDebug() << "QT_DEBUG is set";
+    debug = true;
+#endif
+
+    // Use /usr/share/vym or /usr/local/share/vym or . ?
+    // First try options
+    if (options.isOn("local")) {
+        vymBaseDir.setPath(vymBaseDir.currentPath());
+    }
+    else
+        // then look for environment variable
+        if (getenv("VYMHOME") != 0) {
+        vymBaseDir.setPath(getenv("VYMHOME"));
+    }
+    else
+    // ok, let's find my way on my own
+    {
+#if defined(Q_OS_MACX)
+        // Executable is in vym.app/Contents/MacOS, so go up first:
+        vymBaseDir = QCoreApplication::applicationDirPath();
+        vymBaseDir.cdUp();
+        vymBaseDir.cd("Resources");
+#elif defined(Q_OS_WINDOWS)
+        vymBaseDir.setPath(QCoreApplication::applicationDirPath());
+#else
+        vymBaseDir.setPath(VYMBASEDIR);
+#endif
+    }
+
+    // Platform specific settings
+    vymPlatform = QSysInfo::prettyProductName();
+
+#if defined(Q_OS_WINDOWS)
+    // Only Windows 10 has tar. Older windows versions not supported.
+    zipToolPath = "tar";
+#else
+    zipToolPath = "/usr/bin/zip";
+    unzipToolPath = "/usr/bin/unzip";
+#endif
+    iconPath = vymBaseDir.path() + "/icons/";
+    flagsPath = vymBaseDir.path() + "/flags/";
+
+    // When running locally, use local macros. Otherwise settings are used
+    if (options.isOn("local"))
+        macros.setPath(vymBaseDir.path() + "/macros/macros.vys");
+    else
+        macros.setPath(
+            settings
+            .value("/macros/path", vymBaseDir.path() + "/macros/macros.vys")
+            .toString());
+
+    // Some directories
+    QDir useDir;
+    if (options.isOn("local"))
+        useDir = QDir().current();
+    else
+        useDir = QDir().home();
+    lastImageDir = useDir;
+    lastMapDir = useDir;
+    lastExportDir = useDir;
+
+    if (options.isOn("help")) {
+        cout << qPrintable(options.getHelpText()) << endl;
+        return 0;
+    }
+
+    // Initialize translations
+    if (options.isOn("locale"))
+        localeName = options.getArg("locale");
+
+    // Use dark theme depending on system appearance and preferences
+    int text_hsv_value = app.palette().color(QPalette::WindowText).value();
+    int bg_hsv_value = app.palette().color(QPalette::Base).value();
+    bool systemSeemsDark = (text_hsv_value > bg_hsv_value);
+    QString settingsDarkTheme = settings.value("/system/darkTheme", "system").toString();
+    usingDarkTheme = false;
+    if (settingsDarkTheme != "never") {
+        if (settingsDarkTheme == "always" || (settingsDarkTheme == "system" && systemSeemsDark))
+            usingDarkTheme = true;
+    }
+
+#if defined(Q_OS_WINDOWS)
+    if (usingDarkTheme) {
+        qApp->setStyle(QStyleFactory::create("fusion"));
+
+        // On Windows, there is no dark palette predefined, let's do that on our own
+        QPalette palette;
+        palette.setColor(QPalette::Window, QColor(53,53,53));
+        palette.setColor(QPalette::WindowText, Qt::white);
+        palette.setColor(QPalette::Base, QColor(27, 30, 32));
+        palette.setColor(QPalette::AlternateBase, QColor(53,53,53));
+        palette.setColor(QPalette::ToolTipBase, Qt::white);
+        palette.setColor(QPalette::ToolTipText, Qt::white);
+        palette.setColor(QPalette::Text, Qt::white);
+        palette.setColor(QPalette::Button, QColor(53,53,53));
+        palette.setColor(QPalette::ButtonText, Qt::white);
+        palette.setColor(QPalette::BrightText, Qt::red);
+        palette.setColor(QPalette::Highlight, QColor(142,45,197).lighter());
+        palette.setColor(QPalette::HighlightedText, Qt::black);
+        qApp->setPalette(palette);
+    }
+#endif
+
+    // Prepare and check translations
+    vymTranslationsDir = QDir(vymBaseDir.path() + "/translations");
+    vymTranslationsDir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot);
+
+    bool translationsMissing = false;
+    if(!vymTranslationsDir.exists())
+        translationsMissing = true;
+    else if (vymTranslationsDir.isEmpty())
+        translationsMissing = true;
+
+    if (translationsMissing) {
+        WarningDialog warn;
+        warn.setMinimumWidth(800);
+        warn.setMinimumHeight(350);
+        warn.showCancelButton(false);
+        warn.setShowAgainName("mainwindow/translations/qmFilesMissing");
+        warn.setCaption("Translations not available");
+        warn.setText(
+                "vym has not been built correctly and only will be available in English: \n\n"
+                "No translation files in\n" +
+                vymTranslationsDir.path().toLatin1() + "\n\n" +
+                "Please get vym from\n"
+                " * https://sourceforge.net/projects/vym/  or \n"
+                " * https://software.opensuse.org//download.html?project=home%3Ainsilmaril&package=vym");
+        warn.exec();
+    } else {
+        bool ok;
+        if (!localeName.isEmpty())
+            // Use localeName to load specific language
+            ok = vymTranslator.load(QString("vym.%1.qm").arg(localeName), vymTranslationsDir.path());
+        else
+            ok = vymTranslator.load(QLocale(), "vym", ".", vymTranslationsDir.path(), ".qm");
+
+        if (!ok) {
+            WarningDialog warn;
+            warn.showCancelButton(false);
+            warn.setText(
+                QString("Couldn't load translation for locale \"%1\" from\n%2")
+                    .arg(localeName)
+                    .arg(vymTranslationsDir.path()));
+            warn.setShowAgainName("mainwindow/translations/localeMissing");
+            warn.exec();
+        } else
+            QCoreApplication::installTranslator(&vymTranslator);
+    }
+
+    // Initializing the master rows of flags
+    systemFlagsMaster = new FlagRowMaster;
+    systemFlagsMaster->setName("systemFlagsMaster");
+
+    standardFlagsMaster = new FlagRowMaster;
+    standardFlagsMaster->setName("standardFlagsMaster");
+    standardFlagsMaster->setPrefix("standard/");
+
+    userFlagsMaster = new FlagRowMaster;
+    userFlagsMaster->setName("userFlagsMaster");
+    userFlagsMaster->setPrefix("user/");
+
+    // Initialize editors
+    noteEditor = new NoteEditor("noteeditor");
+    noteEditor->setWindowIcon(QPixmap(":/vym-editor.png"));
+    headingEditor = new HeadingEditor("headingeditor");
+    branchPropertyEditor = new BranchPropertyEditor();
+
+    // Initially read filenames of last session, before settings are 
+    // overwritten during loading of maps
+    lastSessionFiles = settings.value("/mainwindow/sessionFileList", QStringList()).toStringList();
+
+
+    Main m;
+
+    // Check for zip tools
+    checkZipTool();
+    checkUnzipTool();
+
+#if defined(Q_OS_WINDOWS)
+    if (!zipToolAvailable || QOperatingSystemVersion::current() < QOperatingSystemVersion::Windows10) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Error"),
+            QObject::tr("Couldn't find tool to unzip data,"
+                        "or your Windows version is older than Windows 10."));
+        m.settingsZipTool();
+    }
+#else
+    if (!zipToolAvailable || !unzipToolAvailable) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Error"),
+            QObject::tr("Couldn't find tool to zip/unzip data. "
+                        "Please install on your platform and set"
+                        "path in Settings menu:\n ",
+                        "zip tool missing on Linux/Mac platform"));
+        m.settingsZipTool();
+    }
+#endif
+
+    m.setWindowIcon(QPixmap(":/vym.png"));
+    m.fileNew();
+
+    if (debug)
+        // Show debug info AFTER creating MainWindow
+        cout << debugInfo().toStdString() << endl;
+
+    if (options.isOn("commands")) {
+        cout << "Available commands in map:\n";
+        cout << "=========================:\n";
+        foreach (Command *c, modelCommands)
+            cout << c->getDescription().toStdString() << endl;
+
+        cout << "Available commands in vym:\n";
+        cout << "=========================:\n";
+        foreach (Command *c, vymCommands)
+            cout << c->getDescription().toStdString() << endl;
+        return 0;
+    }
+
+    if (options.isOn("commandslatex")) {
+        foreach (Command *c, modelCommands)
+            cout << c->getDescriptionLaTeX().toStdString() << endl;
+        foreach (Command *c, vymCommands)
+            cout << c->getDescriptionLaTeX().toStdString() << endl;
+        return 0;
+    }
+
+    if (options.isOn("batch"))
+        m.hide();
+    else {
+        // Paint Mainwindow first time
+        qApp->processEvents();
+        m.show();
+    }
+
+    // Show release notes and afterwards updates
+    m.checkReleaseNotesAndUpdates();
+
+    if (options.isOn("shortcuts"))
+        switchboard
+            .printASCII(); // FIXME-3 global switchboard and exit after listing
+
+    m.loadCmdLine();
+
+    // Restore last session
+    if (options.isOn("restore"))
+        m.fileRestoreSession();
+
+    // Load script
+    if (options.isOn("load")) {
+        QString fn = options.getArg("load");
+        if (!scriptEditor->loadScript(fn)) {
+            QString error(QObject::tr("Error"));
+            QString msg(QObject::tr("Couldn't open \"%1\"\n.").arg(fn));
+            if (options.isOn("batch"))
+                qWarning() << error + ": " + msg;
+            else
+                QMessageBox::warning(0, error, msg);
+            return 0;
+        }
+    }
+
+    // Run script
+    if (options.isOn("run")) {
+        QString script;
+        QString fn = options.getArg("run");
+        if (!scriptEditor->loadScript(fn)) {
+            QString error(QObject::tr("Error"));
+            QString msg(QObject::tr("Couldn't open \"%1\"\n.").arg(fn));
+            if (options.isOn("batch"))
+                qWarning() << error + ": " + msg;
+            else
+                QMessageBox::warning(0, error, msg);
+            return 0;
+        }
+        m.runScript(scriptEditor->getScriptFile());
+    }
+
+    // For benchmarking we may want to quit instead of entering event loop
+    if (options.isOn("quit"))
+        return 0;
+
+    // Enable some last minute cleanup
+    QObject::connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
+
+    app.exec();
+
+    // Cleanup
+    delete noteEditor;
+
+    int s = warningCount + criticalCount + fatalCount;
+    if (s > 0)
+        qDebug() << "vym exiting with:\n"
+                 << warningCount << " warning messages\n"
+                 << criticalCount << " critical messages\n"
+                 << fatalCount << " fatal messages";
+    return s;
+}
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
new file mode 100644 (file)
index 0000000..dd89cad
--- /dev/null
@@ -0,0 +1,7472 @@
+#include "mainwindow.h"
+
+#include <iostream>
+using namespace std;
+
+#include <typeinfo>
+
+#if defined(VYM_DBUS)
+#include "adaptorvym.h"
+#endif
+
+#include <QColorDialog>
+#include <QDockWidget>
+#include <QFileDialog>
+#include <QFontDialog>
+#include <QInputDialog>
+#include <QMenuBar>
+#include <QScriptEngine>
+#include <QSslSocket>
+#include <QStatusBar>
+#include <QTextStream>
+
+#include "aboutdialog.h"
+#include "attributeitem.h"
+#include "branchitem.h"
+#include "branchpropeditor.h"
+#include "command.h"
+#include "confluence-agent.h"
+#include "confluence-user.h"
+#include "confluence-userdialog.h"
+#include "confluence-settings-dialog.h"
+#include "darktheme-settings-dialog.h"
+#include "debuginfo.h"
+#include "default-map-settings-dialog.h"
+#include "download-agent.h"
+#include "file.h"
+#include "findresultmodel.h"
+#include "findresultwidget.h"
+#include "flagrow.h"
+#include "headingeditor.h"
+#include "historywindow.h"
+#include "imports.h"
+#include "jira-agent.h"
+#include "jira-settings-dialog.h"
+#include "lineeditdialog.h"
+#include "macros.h"
+#include "mapeditor.h"
+#include "misc.h"
+#include "noteeditor.h"
+#include "options.h"
+#include "scripteditor.h"
+#include "scripting.h"
+#include "scriptoutput.h"
+#include "settings.h"
+#include "shortcuts.h"
+#include "showtextdialog.h"
+#include "task.h"
+#include "taskeditor.h"
+#include "taskmodel.h"
+#include "treeeditor.h"
+#include "vymprocess.h"
+#include "warningdialog.h"
+#include "xlinkitem.h"
+#include "zip-settings-dialog.h"
+
+QPrinter *printer = NULL;
+
+//#include <modeltest.h>
+
+#if defined(VYM_DBUS)
+#include <QDBusConnection>
+#endif
+
+extern NoteEditor *noteEditor;
+extern HeadingEditor *headingEditor;
+extern BranchPropertyEditor *branchPropertyEditor;
+extern ScriptEditor *scriptEditor;
+extern ScriptOutput *scriptOutput;
+extern Main *mainWindow;
+extern FindResultWidget *findResultWidget;
+extern TaskEditor *taskEditor;
+extern TaskModel *taskModel;
+extern Macros macros;
+extern QDir tmpVymDir;
+extern QDir cacheDir;
+extern QString clipboardDir;
+extern QString clipboardFile;
+extern int statusbarTime;
+extern FlagRowMaster *standardFlagsMaster;
+extern FlagRowMaster *userFlagsMaster;
+extern FlagRowMaster *systemFlagsMaster;
+extern QString vymName;
+extern QString vymVersion;
+extern QString vymPlatform;
+extern QString vymCodeQuality;
+extern QString vymCodeName;
+extern QString vymBuildDate;
+extern QString localeName;
+extern bool debug;
+extern bool testmode;
+extern QTextStream vout;
+extern Switchboard switchboard;
+
+extern bool restoreMode;
+extern QStringList ignoredLockedFiles;
+extern QStringList lastSessionFiles;
+
+extern QList<Command *> modelCommands;
+extern QList<Command *> vymCommands;
+
+extern bool usingDarkTheme;
+
+QMenu *branchAddContextMenu;
+QMenu *branchContextMenu;
+QMenu *branchLinksContextMenu;
+QMenu *branchRemoveContextMenu;
+QMenu *branchXLinksContextMenuEdit;
+QMenu *branchXLinksContextMenuFollow;
+QMenu *canvasContextMenu;
+QMenu *floatimageContextMenu;
+QMenu *targetsContextMenu;
+QMenu *taskContextMenu;
+QMenu *fileLastMapsMenu;
+QMenu *fileImportMenu;
+QMenu *fileExportMenu;
+
+extern Settings settings;
+extern Options options;
+extern ImageIO imageIO;
+
+extern QDir vymBaseDir;
+extern QDir vymTranslationsDir;
+extern QDir lastImageDir;
+extern QDir lastMapDir;
+#if defined(Q_OS_WIN32)
+extern QDir vymInstallDir;
+#endif
+extern QString zipToolPath;
+
+extern QColor vymBlue;
+
+Main::Main(QWidget *parent) : QMainWindow(parent)
+{
+    mainWindow = this;
+
+    setWindowTitle("VYM - View Your Mind");
+
+    shortcutScope = tr("Main window", "Shortcut scope");
+
+// Load window settings
+#if defined(Q_OS_WIN32)
+    if (settings.value("/mainwindow/geometry/maximized", false).toBool()) {
+        setWindowState(Qt::WindowMaximized);
+    }
+    else
+#endif
+    {
+        resize(settings.value("/mainwindow/geometry/size", QSize(1024, 900))
+                   .toSize());
+        move(settings.value("/mainwindow/geometry/pos", QPoint(50, 50))
+                 .toPoint());
+    }
+
+    // Sometimes we may need to remember old selections
+    prevSelection = "";
+
+    // Create unique temporary directory
+    bool ok;
+    QString tmpVymDirPath = makeTmpDir(ok, "vym");
+    if (!ok) {
+        qWarning("Mainwindow: Could not create temporary directory, failed to "
+                 "start vym");
+        exit(1);
+    }
+    if (debug)
+        qDebug() << "tmpVymDirPath = " << tmpVymDirPath;
+    tmpVymDir.setPath(tmpVymDirPath);
+
+    // Create direcctory for clipboard
+    clipboardDir = tmpVymDirPath + "/clipboard";
+    clipboardFile = "clipboard";
+    QDir d(clipboardDir);
+    d.mkdir(clipboardDir);
+    makeSubDirs(clipboardDir);
+
+    // Create directory for cached files, e.g. svg images
+    if (!tmpVymDir.mkdir("cache")) {
+        qWarning(
+            "Mainwindow: Could not create cache directory, failed to start vym");
+        exit(1);
+    }
+    cacheDir = QDir(tmpVymDirPath + "/cache");
+
+    // Remember PID of our friendly webbrowser
+    browserPID = new qint64;
+    *browserPID = 0;
+
+    // Define commands in API (used globally)
+    setupAPI();
+
+    // Initialize some settings, which are platform dependant
+    QString p, s;
+
+    // application to open URLs
+    p = "/system/readerURL";
+#if defined(Q_OS_WIN)
+    // Assume that system has been set up so that
+    // Explorer automagically opens up the URL
+    // in the user's preferred browser.
+    s = settings.value(p, "explorer").toString();
+#elif defined(Q_OS_MACX)
+    s = settings.value(p, "/usr/bin/open").toString();
+#else
+    s = settings.value(p, "xdg-open").toString();
+#endif
+    settings.setValue(p, s);
+
+    // application to open PDFs
+    p = "/system/readerPDF";
+#if defined(Q_OS_WIN)
+    s = settings.value(p, "explorer").toString();
+#elif defined(Q_OS_MACX)
+    s = settings.value(p, "/usr/bin/open").toString();
+#else
+    s = settings.value(p, "xdg-open").toString();
+#endif
+    settings.setValue(p, s);
+
+    // width of xLinksMenu
+    xLinkMenuWidth = 60;
+
+    // Create Layout
+    QWidget *centralWidget = new QWidget(this);
+    QVBoxLayout *layout = new QVBoxLayout(centralWidget);
+    setCentralWidget(centralWidget);
+
+    // Create tab widget which holds the maps
+    tabWidget = new QTabWidget(centralWidget);
+    connect(tabWidget, SIGNAL(currentChanged(int)), this,
+            SLOT(editorChanged()));
+
+    // Allow closing of tabs (introduced in Qt 4.5)
+    tabWidget->setTabsClosable(true);
+    connect(tabWidget, SIGNAL(tabCloseRequested(int)), this,
+            SLOT(fileCloseMap(int)));
+
+    tabWidget->setMovable(true);
+
+    layout->addWidget(tabWidget);
+
+    switchboard.addGroup("MainWindow", tr("Main window", "Shortcut group"));
+    switchboard.addGroup("MapEditor", tr("Map Editors", "Shortcut group"));
+    switchboard.addGroup("TextEditor", tr("Text Editors", "Shortcut group"));
+
+    // Setup actions
+    setupFileActions();
+    setupEditActions();
+    setupSelectActions();
+    setupFormatActions();
+    setupViewActions();
+    setupModeActions();
+    setupNetworkActions();
+    setupSettingsActions();
+    setupConnectActions();
+    setupContextMenus();
+    setupMacros();
+    setupToolbars();
+    setupFlagActions();
+
+    // Dock widgets ///////////////////////////////////////////////
+    QDockWidget *dw;
+    dw = new QDockWidget();
+    dw->setWidget(noteEditor);
+    dw->setObjectName("NoteEditor");
+    dw->setWindowTitle(noteEditor->getEditorTitle());
+    dw->hide();
+    noteEditorDW = dw;
+    addDockWidget(Qt::LeftDockWidgetArea, dw);
+
+    dw = new QDockWidget();
+    dw->setWidget(headingEditor);
+    dw->setObjectName("HeadingEditor");
+    dw->setWindowTitle(headingEditor->getEditorTitle());
+    dw->hide();
+    headingEditorDW = dw;
+    addDockWidget(Qt::BottomDockWidgetArea, dw);
+
+    findResultWidget = new FindResultWidget();
+    dw = new QDockWidget(tr("Search results list", "FindResultWidget"));
+    dw->setWidget(findResultWidget);
+    dw->setObjectName("FindResultWidget");
+    dw->hide();
+    addDockWidget(Qt::RightDockWidgetArea, dw);
+    connect(findResultWidget, SIGNAL(noteSelected(QString, int)), this,
+            SLOT(selectInNoteEditor(QString, int)));
+    connect(findResultWidget, SIGNAL(findPressed(QString, bool)), this,
+            SLOT(editFindNext(QString, bool)));
+
+    scriptEditor = new ScriptEditor(this);
+    dw = new QDockWidget(tr("Script Editor", "ScriptEditor"));
+    dw->setWidget(scriptEditor);
+    dw->setObjectName("ScriptEditor");
+    dw->hide();
+    addDockWidget(Qt::LeftDockWidgetArea, dw);
+
+    scriptOutput = new ScriptOutput(this);
+    dw = new QDockWidget(tr("Script output window"));
+    dw->setWidget(scriptOutput);
+    dw->setObjectName("ScriptOutput");
+    dw->hide();
+    addDockWidget(Qt::BottomDockWidgetArea, dw);
+
+    dw = new QDockWidget(tr("Property Editor", "PropertyEditor"));
+    dw->setWidget(branchPropertyEditor);
+    dw->setObjectName("PropertyEditor");
+    dw->hide();
+    addDockWidget(Qt::LeftDockWidgetArea, dw);
+    branchPropertyEditorDW = dw;
+
+    historyWindow = new HistoryWindow();
+    dw = new QDockWidget(tr("History window", "HistoryWidget"));
+    dw->setWidget(historyWindow);
+    dw->setObjectName("HistoryWidget");
+    dw->hide();
+    addDockWidget(Qt::RightDockWidgetArea, dw);
+    connect(dw, SIGNAL(visibilityChanged(bool)), this, SLOT(updateActions()));
+
+    // Connect NoteEditor, so that we can update flags if text changes
+    connect(noteEditor, SIGNAL(textHasChanged(const VymText &)), this,
+            SLOT(updateNoteText(const VymText &)));
+    connect(noteEditor, SIGNAL(windowClosed()), this, SLOT(updateActions()));
+
+    // Connect heading editor
+    connect(headingEditor, SIGNAL(textHasChanged(const VymText &)), this,
+            SLOT(updateHeading(const VymText &)));
+
+    connect(scriptEditor, SIGNAL(runScript(QString)), this,
+            SLOT(runScript(QString)));
+
+    // Switch back  to MapEditor using Esc  or end presentation mode
+    QAction *a = new QAction(this);
+    a->setShortcut(Qt::Key_Escape);
+    a->setShortcutContext(Qt::ApplicationShortcut);
+    a->setCheckable(false);
+    a->setEnabled(true);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(escapePressed()));
+
+    // Create TaskEditor after setting up above actions, allow cloning
+    taskEditor = new TaskEditor();
+    dw = new QDockWidget(tr("Task list", "TaskEditor"));
+    dw->setWidget(taskEditor);
+    dw->setObjectName("TaskEditor");
+    dw->hide();
+    addDockWidget(Qt::TopDockWidgetArea, dw);
+    connect(dw, SIGNAL(visibilityChanged(bool)), this, SLOT(updateActions()));
+    // FIXME -0 connect (taskEditor, SIGNAL (focusReleased() ), this, SLOT
+    // (setFocusMapEditor()));
+
+    if (options.isOn("shortcutsLaTeX"))
+        switchboard.printLaTeX();
+
+    if (settings.value("/mainwindow/showTestMenu", false).toBool())
+        setupTestActions();
+    setupHelpActions();
+
+    // Status bar and progress bar there
+    statusBar();
+    progressMax = 0;
+    progressCounter = 0;
+    progressCounterTotal = 0;
+
+    progressDialog.setAutoReset(false);
+    progressDialog.setAutoClose(false);
+    progressDialog.setMinimumWidth(600);
+    // progressDialog.setWindowModality (Qt::WindowModal);   // That forces
+    // mainwindo to update and slows down
+    progressDialog.setCancelButton(NULL);
+
+    restoreState(settings.value("/mainwindow/state", 0).toByteArray());
+
+    updateGeometry();
+
+    // After startup, schedule looking for updates AFTER
+    // release notes have been downloaded
+    // (avoid race condition with simultanously receiving cookies)
+    checkUpdatesAfterReleaseNotes = true;
+
+#if defined(VYM_DBUS)
+    // Announce myself on DBUS
+    new AdaptorVym(this); // Created and not deleted as documented in Qt
+    if (!QDBusConnection::sessionBus().registerObject("/vym", this))
+        qWarning("MainWindow: Couldn't register DBUS object!");
+#endif
+}
+
+Main::~Main()
+{
+    // qDebug()<<"Destr Mainwindow"<<flush;
+
+    // Save Settings
+
+    if (!testmode) {
+#if defined(Q_OS_WIN32)
+        settings.setValue("/mainwindow/geometry/maximized", isMaximized());
+#endif
+        settings.setValue("/mainwindow/geometry/size", size());
+        settings.setValue("/mainwindow/geometry/pos", pos());
+        settings.setValue("/mainwindow/state", saveState(0));
+
+        settings.setValue("/mainwindow/view/AntiAlias",
+                          actionViewToggleAntiAlias->isChecked());
+        settings.setValue("/mainwindow/view/SmoothPixmapTransform",
+                          actionViewToggleSmoothPixmapTransform->isChecked());
+        settings.setValue("/system/autosave/use",
+                          actionSettingsToggleAutosave->isChecked());
+        settings.setValue("/system/autosave/ms",
+                          settings.value("/system/autosave/ms", 60000));
+        settings.setValue("/mainwindow/autoLayout/use",
+                          actionSettingsToggleAutoLayout->isChecked());
+        settings.setValue("/mapeditor/editmode/autoSelectNewBranch",
+                          actionSettingsAutoSelectNewBranch->isChecked());
+        settings.setValue("/system/writeBackupFile",
+                          actionSettingsWriteBackupFile->isChecked());
+
+        if (printer) {
+            settings.setValue("/system/printerName", printer->printerName());
+            settings.setValue("/system/printerFormat", printer->outputFormat());
+            settings.setValue("/system/printerFileName",
+                              printer->outputFileName());
+        }
+        settings.setValue("/mapeditor/editmode/autoSelectText",
+                          actionSettingsAutoSelectText->isChecked());
+        settings.setValue("/mapeditor/editmode/useFlagGroups",
+                          actionSettingsUseFlagGroups->isChecked());
+        settings.setValue("/export/useHideExport",
+                          actionSettingsUseHideExport->isChecked());
+        settings.setValue("/system/version", vymVersion);
+        settings.setValue("/system/builddate", vymBuildDate);
+    }
+
+    // call the destructors
+    delete noteEditorDW;
+    delete historyWindow;
+    delete branchPropertyEditorDW;
+
+    delete standardFlagsMaster;
+    delete userFlagsMaster;
+    delete systemFlagsMaster;
+
+    // Remove temporary directory
+    removeDir(tmpVymDir);
+}
+
+void Main::loadCmdLine()
+{
+    QStringList flist = options.getFileList();
+    QStringList::Iterator it = flist.begin();
+
+    initProgressCounter(flist.count());
+    while (it != flist.end()) {
+        FileType type = getMapType(*it);
+        fileLoad(*it, NewMap, type);
+        *it++;
+    }
+    removeProgressCounter();
+}
+
+void Main::statusMessage(const QString &s)
+{
+    // Surpress messages while progressdialog during
+    // load is active
+    statusBar()->showMessage(s, statusbarTime);
+}
+
+void Main::setProgressMaximum(int max)
+{
+    if (progressCounter == 0) {
+        // Init range only on first time, when progressCounter still 0
+        // Normalize range to 1000
+        progressDialog.setRange(0, 1000);
+        progressDialog.setValue(1);
+    }
+    progressCounter++; // Another map is loaded
+
+    progressMax = max * 1000;
+    QApplication::processEvents();
+}
+
+void Main::addProgressValue(float v)
+
+{
+    int progress_value =
+        (v + progressCounter - 1) * 1000 / progressCounterTotal;
+    /*
+        qDebug() << "addVal v="<<v
+         <<"  cur="<<progressDialog.value()
+         <<"  pCounter="<<progressCounter
+         <<"  pCounterTotal="<<progressCounterTotal
+             <<"  newv="<< progress_value
+         ;
+         */
+
+    // Make sure the progress dialog shows, even if value == 0
+    if (progress_value < 1)
+        progress_value = 1;
+    progressDialog.setValue(progress_value);
+    if (progress_value == 1)
+        QApplication::processEvents();
+}
+
+void Main::initProgressCounter(uint n) { progressCounterTotal = n; }
+
+void Main::removeProgressCounter()
+{
+    // Hide dialog again
+    progressCounter = 0;
+    progressCounterTotal = 0;
+    progressDialog.reset();
+    progressDialog.hide();
+}
+
+void Main::closeEvent(QCloseEvent *event)
+{
+    if (fileExitVYM())
+        event->ignore();
+    else
+        event->accept();
+}
+
+QPrinter *Main::setupPrinter()
+{
+    // Global Printer
+    printer = new QPrinter(QPrinter::HighResolution);
+    return printer;
+}
+
+// Define commands for models
+void Main::setupAPI()
+{
+    Command *c = new Command("addBranch", Command::Branch);
+    c->addPar(Command::Int, true, "Index of new branch");
+    modelCommands.append(c);
+
+    c = new Command("addBranchBefore", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("addMapCenter", Command::Any);
+    c->addPar(Command::Double, false, "Position x");
+    c->addPar(Command::Double, false, "Position y");
+    modelCommands.append(c);
+
+    c = new Command("addMapInsert", Command::Any);
+    c->addPar(Command::String, false, "Filename of map to load");
+    c->addPar(Command::Int, true, "Index where map is inserted");
+    c->addPar(Command::Int, true, "Content filter");
+    modelCommands.append(c);
+
+    c = new Command("addMapReplace", Command::Branch);
+    c->addPar(Command::String, false, "Filename of map to load");
+    modelCommands.append(c);
+
+    c = new Command("addSlide", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("addXLink", Command::BranchLike);
+    c->addPar(Command::String, false, "Begin of XLink");
+    c->addPar(Command::String, false, "End of XLink");
+    c->addPar(Command::Int, true, "Width of XLink");
+    c->addPar(Command::Color, true, "Color of XLink");
+    c->addPar(Command::String, true, "Penstyle of XLink");
+    modelCommands.append(c);
+
+    c = new Command("branchCount", Command::Any, Command::Int);
+    modelCommands.append(c);
+
+    c = new Command("centerCount", Command::BranchLike, Command::Int);
+    modelCommands.append(c);
+
+    c = new Command("centerOnID", Command::Any);
+    c->addPar(Command::String, false, "UUID of object to center on");
+    modelCommands.append(c);
+
+    c = new Command("clearFlags", Command::BranchLike);
+    modelCommands.append(c);
+
+    c = new Command("colorBranch", Command::Branch);
+    c->addPar(Command::Color, true, "New color");
+    modelCommands.append(c);
+
+    c = new Command("colorSubtree", Command::Branch);
+    c->addPar(Command::Color, true, "New color");
+    modelCommands.append(c);
+
+    c = new Command("copy", Command::BranchOrImage);
+    modelCommands.append(c);
+
+    c = new Command("cut", Command::BranchOrImage);
+    modelCommands.append(c);
+
+    c = new Command("cycleTask", Command::BranchOrImage);
+    c->addPar(Command::Bool, true, "True, if cycling in reverse order");
+    modelCommands.append(c);
+
+    c = new Command("depth", Command::BranchOrImage, Command::Int);
+    modelCommands.append(c);
+
+    c = new Command("exportMap", Command::Any, Command::Bool);
+    c->addPar(Command::String, false,
+              "Format (AO, ASCII, CONFLUENCE, CSV, HTML, Image, Impress, Last, "
+              "LaTeX, Markdown, OrgMode, PDF, SVG, XML)");
+    modelCommands.append(c);
+
+    c = new Command("getDestPath", Command::Any, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getFileDir", Command::Any, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getFileName", Command::Any, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getFrameType", Command::Branch, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getHeadingPlainText", Command::TreeItem, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getHeadingXML", Command::TreeItem, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getMapAuthor", Command::Any, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getMapComment", Command::Any, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getMapTitle", Command::Any, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getNotePlainText", Command::TreeItem, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getNoteXML", Command::TreeItem, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getSelectionString", Command::TreeItem, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getTaskPriorityDelta", Command::Branch, Command::Int);
+    modelCommands.append(c);
+
+    c = new Command("getTaskSleep", Command::Branch, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getTaskSleepDays", Command::Branch, Command::Int);
+    modelCommands.append(c);
+
+    c = new Command("getURL", Command::TreeItem, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getVymLink", Command::Branch, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getXLinkColor", Command::XLink, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getXLinkWidth", Command::XLink, Command::Int);
+    modelCommands.append(c);
+
+    c = new Command("getXLinkPenStyle", Command::XLink, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getXLinkStyleBegin", Command::XLink, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("getXLinkStyleEnd", Command::XLink, Command::String);
+    modelCommands.append(c);
+
+    c = new Command("hasActiveFlag", Command::TreeItem, Command::Bool);
+    c->addPar(Command::String, false, "Name of flag");
+    modelCommands.append(c);
+
+    c = new Command("hasNote", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("hasRichTextNote", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("hasTask", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("importDir", Command::Branch);
+    c->addPar(Command::String, false, "Directory name to import");
+    modelCommands.append(c);
+
+    c = new Command("initIterator", Command::Branch, Command::Bool);
+    c->addPar(Command::String, false, "Name of iterator");
+    c->addPar(Command::Bool, true, "Flag to go deep levels first");
+    modelCommands.append(c);
+
+    c = new Command("isScrolled", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("loadImage", Command::Branch);
+    c->addPar(Command::String, false, "Filename of image");
+    modelCommands.append(c);
+
+    c = new Command("loadNote", Command::Branch);
+    c->addPar(Command::String, false, "Filename of note");
+    modelCommands.append(c);
+
+    c = new Command("moveDown", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("moveUp", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("moveSlideDown", Command::Any);
+    modelCommands.append(c);
+
+    c = new Command("moveSlideUp", Command::Any);
+    modelCommands.append(c);
+
+    c = new Command("move", Command::BranchOrImage);
+    c->addPar(Command::Double, false, "Position x");
+    c->addPar(Command::Double, false, "Position y");
+    modelCommands.append(c);
+
+    c = new Command("moveRel", Command::BranchOrImage);
+    c->addPar(Command::Double, false, "Position x");
+    c->addPar(Command::Double, false, "Position y");
+    modelCommands.append(c);
+
+    c = new Command("nextIterator", Command::Branch, Command::Bool);
+    c->addPar(Command::String, false, "Name of iterator");
+    modelCommands.append(c);
+
+    c = new Command("nop", Command::Any);
+    modelCommands.append(c);
+
+    c = new Command("note2URLs", Command::Branch);
+    modelCommands.append(c);
+
+    // internally required for undo/redo of changing VymText:
+    c = new Command("parseVymText", Command::Branch, Command::Bool);
+    c->addPar(Command::String, false,
+              "parse XML of VymText, e.g for Heading or VymNote");
+    modelCommands.append(c);
+
+    c = new Command("paste", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("redo", Command::Any);
+    modelCommands.append(c);
+
+    c = new Command("relinkTo",
+                    Command::TreeItem,
+                    Command::Bool); // FIXME different number of parameters for Image or Branch
+    c->addPar(Command::String, false, "Selection string of parent");
+    c->addPar(Command::Int, false, "Index position");
+    c->addPar(Command::Double, true, "Position x");
+    c->addPar(Command::Double, true, "Position y");
+    modelCommands.append(c);
+
+    c = new Command("remove", Command::TreeItem);
+    modelCommands.append(c);
+
+    c = new Command("removeChildren", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("removeKeepChildren", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("removeSlide", Command::Any);
+    c->addPar(Command::Int, false, "Index of slide to remove");
+    modelCommands.append(c);
+
+    c = new Command("repeatLastCommand", Command::Any);
+    modelCommands.append(c);
+
+    c = new Command("saveImage", Command::Image);
+    c->addPar(Command::String, false, "Filename of image to save");
+    c->addPar(Command::String, false, "Format of image to save");
+    modelCommands.append(c);
+
+    c = new Command("saveNote", Command::Branch);
+    c->addPar(Command::String, false, "Filename of note to save");
+    modelCommands.append(c);
+
+    c = new Command("scroll", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("select", Command::Any, Command::Bool);
+    c->addPar(Command::String, false, "Selection string");
+    modelCommands.append(c);
+
+    c = new Command("selectFirstBranch", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("selectFirstChildBranch", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("selectID", Command::Any, Command::Bool);
+    c->addPar(Command::String, false, "Unique ID");
+    modelCommands.append(c);
+
+    c = new Command("selectLastBranch", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("selectLastChildBranch", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("selectLastImage", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("selectLatestAdded", Command::Any, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("selectParent", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("selectToggle", Command::BranchOrImage, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("setFlagByName", Command::TreeItem);
+    c->addPar(Command::String, false, "Name of flag");
+    modelCommands.append(c);
+
+    c = new Command("setTaskPriorityDelta", Command::Branch);
+    c->addPar(Command::String, false, "Manually add value to priority of task");
+    modelCommands.append(c);
+
+    c = new Command("setTaskSleep", Command::Branch);
+    c->addPar(Command::String, false, "Days to sleep");
+    modelCommands.append(c);
+
+    c = new Command("setFrameIncludeChildren", Command::BranchOrImage);
+    c->addPar(Command::Bool, false,
+              "Include or don't include children in frame");
+    modelCommands.append(c);
+
+    c = new Command("setFrameType", Command::BranchOrImage);
+    c->addPar(Command::String, false, "Type of frame");
+    modelCommands.append(c);
+
+    c = new Command("setFramePenColor", Command::BranchOrImage);
+    c->addPar(Command::Color, false, "Color of frame border line");
+    modelCommands.append(c);
+
+    c = new Command("setFrameBrushColor", Command::BranchOrImage);
+    c->addPar(Command::Color, false, "Color of frame background");
+    modelCommands.append(c);
+
+    c = new Command("setFramePadding", Command::BranchOrImage);
+    c->addPar(Command::Int, false, "Padding around frame");
+    modelCommands.append(c);
+
+    c = new Command("setFrameBorderWidth", Command::BranchOrImage);
+    c->addPar(Command::Int, false, "Width of frame borderline");
+    modelCommands.append(c);
+
+    c = new Command("setHeadingConfluencePageName", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("setHeadingPlainText", Command::TreeItem);
+    c->addPar(Command::String, false, "New heading");
+    modelCommands.append(c);
+
+    c = new Command("setHideExport", Command::BranchOrImage);
+    c->addPar(Command::Bool, false, "Set if item should be visible in export");
+    modelCommands.append(c);
+
+    c = new Command("setIncludeImagesHorizontally", Command::Branch);
+    c->addPar(Command::Bool, false,
+              "Set if images should be included horizontally in parent branch");
+    modelCommands.append(c);
+
+    c = new Command("setIncludeImagesVertically", Command::Branch);
+    c->addPar(Command::Bool, false,
+              "Set if images should be included vertically in parent branch");
+    modelCommands.append(c);
+
+    c = new Command("setHideLinksUnselected", Command::BranchOrImage);
+    c->addPar(Command::Bool, false,
+              "Set if links of items should be visible for unselected items");
+    modelCommands.append(c);
+
+    c = new Command("setMapAnimCurve", Command::Any);
+    c->addPar(Command::Int, false,
+              "EasingCurve used in animation in MapEditor");
+    modelCommands.append(c);
+
+    c = new Command("setMapAuthor", Command::Any);
+    c->addPar(Command::String, false, "");
+    modelCommands.append(c);
+
+    c = new Command("setMapAnimDuration", Command::Any);
+    c->addPar(Command::Int, false,
+              "Duration of animation in MapEditor in milliseconds");
+    modelCommands.append(c);
+
+    c = new Command("setMapBackgroundColor", Command::Any);
+    c->addPar(Command::Color, false, "Color of map background");
+    modelCommands.append(c);
+
+    c = new Command("setMapComment", Command::Any);
+    c->addPar(Command::String, false, "");
+    modelCommands.append(c);
+
+    c = new Command("setMapTitle", Command::Any);
+    c->addPar(Command::String, false, "");
+    modelCommands.append(c);
+
+    c = new Command("setMapDefLinkColor", Command::Any);
+    c->addPar(Command::Color, false, "Default color of links");
+    modelCommands.append(c);
+
+    c = new Command("setMapLinkStyle", Command::Any);
+    c->addPar(Command::String, false, "Link style in map");
+    modelCommands.append(c);
+
+    c = new Command("setMapRotation", Command::Any);
+    c->addPar(Command::Double, false, "Rotation of map");
+    modelCommands.append(c);
+
+    c = new Command("setMapTitle", Command::Any);
+    c->addPar(Command::String, false, "");
+    modelCommands.append(c);
+
+    c = new Command("setMapZoom", Command::Any);
+    c->addPar(Command::Double, false, "Zoomfactor of map");
+    modelCommands.append(c);
+
+    c = new Command("setNotePlainText", Command::Branch);
+    c->addPar(Command::String, false, "Note of branch");
+    modelCommands.append(c);
+
+    c = new Command("setScaleFactor", Command::Image);
+    c->addPar(Command::Double, false, "Scale image by factor f");
+    modelCommands.append(c);
+
+    c = new Command("setSelectionColor", Command::Any);
+    c->addPar(Command::Color, false, "Color of selection box");
+    modelCommands.append(c);
+
+    c = new Command("setSelectionPenColor", Command::Any);
+    c->addPar(Command::Color, false, "Color of selection box border");
+    modelCommands.append(c);
+
+    c = new Command("setSelectionPenWidth", Command::Any);
+    c->addPar(Command::Int, false, "Selection box border width ");
+    modelCommands.append(c);
+
+    c = new Command("setSelectionBrushColor", Command::Any);
+    c->addPar(Command::Color, false, "Color of selection box background");
+    modelCommands.append(c);
+
+    c = new Command("setTaskPriority", Command::Branch);
+    c->addPar(Command::Int, false, "Priority of task");
+    modelCommands.append(c);
+
+    c = new Command("setTaskSleep", Command::Branch, Command::Bool);
+    c->addPar(Command::String, false, "Sleep time of task");
+    modelCommands.append(c);
+
+    c = new Command("setURL", Command::TreeItem);
+    c->addPar(Command::String, false, "URL of TreeItem");
+    modelCommands.append(c);
+
+    c = new Command("setVymLink", Command::Branch);
+    c->addPar(Command::String, false, "Vymlink of branch");
+    modelCommands.append(c);
+
+    c = new Command("setXLinkColor", Command::XLink);
+    c->addPar(Command::String, false, "Color of xlink");
+    modelCommands.append(c);
+
+    c = new Command("setXLinkStyle", Command::XLink);
+    c->addPar(Command::String, false, "Style of xlink");
+    modelCommands.append(c);
+
+    c = new Command("setXLinkStyleBegin", Command::XLink);
+    c->addPar(Command::String, false, "Style of xlink begin");
+    modelCommands.append(c);
+
+    c = new Command("setXLinkStyleEnd", Command::XLink);
+    c->addPar(Command::String, false, "Style of xlink end");
+    modelCommands.append(c);
+
+    c = new Command("setXLinkWidth", Command::XLink);
+    c->addPar(Command::Int, false, "Width of xlink");
+    modelCommands.append(c);
+
+    c = new Command("sleep", Command::Any);
+    c->addPar(Command::Int, false, "Sleep (seconds)");
+    modelCommands.append(c);
+
+    c = new Command("sortChildren", Command::Branch);
+    c->addPar(Command::Bool, true,
+              "Sort children of branch in revers order if set");
+    modelCommands.append(c);
+
+    c = new Command("toggleFlagByUid", Command::Branch);
+    c->addPar(Command::String, false, "Uid of flag to toggle");
+    modelCommands.append(c);
+
+    c = new Command("toggleFlagByName", Command::Branch);
+    c->addPar(Command::String, false, "Name of flag to toggle");
+    modelCommands.append(c);
+
+    c = new Command("toggleFrameIncludeChildren", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("toggleScroll", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("toggleTarget", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("toggleTask", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("undo", Command::Any);
+    modelCommands.append(c);
+
+    c = new Command("unscroll", Command::Branch, Command::Bool);
+    modelCommands.append(c);
+
+    c = new Command("unscrollChildren", Command::Branch);
+    modelCommands.append(c);
+
+    c = new Command("unselectAll", Command::Any);
+    modelCommands.append(c);
+
+    c = new Command("unsetFlagByName", Command::Branch);
+    c->addPar(Command::String, false, "Name of flag to unset");
+    modelCommands.append(c);
+
+    //
+    // Below are the commands for vym itself:
+    //
+
+    c = new Command("clearConsole", Command::Any);
+    vymCommands.append(c);
+
+    c = new Command("closeMapWithID", Command::Any);
+    c->addPar(Command::Int, false, "ID of map (unsigned int)");
+    vymCommands.append(c);
+
+    c = new Command("currentMap", Command::Any);
+    vymCommands.append(c);
+
+    c = new Command("currentMapIndex", Command::Any);
+    vymCommands.append(c);
+
+    c = new Command("editHeading", Command::Branch);
+    vymCommands.append(c);
+
+    c = new Command("loadMap", Command::Any);
+    c->addPar(Command::String, false, "Path to map");
+    vymCommands.append(c);
+
+    c = new Command("mapCount", Command::Any);
+    vymCommands.append(c);
+
+    c = new Command("gotoMap", Command::Any);
+    c->addPar(Command::Int, false, "Index of map");
+    vymCommands.append(c);
+
+    c = new Command("selectQuickColor", Command::Any);
+    c->addPar(Command::Int, false, "Index of quick color [0..6]");
+    vymCommands.append(c);
+
+    c = new Command("currentColor", Command::Any);
+    vymCommands.append(c);
+
+    c = new Command("toggleTreeEditor", Command::Any);
+    vymCommands.append(c);
+
+    c = new Command("version", Command::Any);
+    vymCommands.append(c);
+}
+
+void Main::cloneActionMapEditor(QAction *a, QKeySequence ks)
+{
+    a->setShortcut(ks);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    mapEditorActions.append(a);
+}
+
+// File Actions
+void Main::setupFileActions()
+{
+    QString tag = tr("&Map", "Menu for file actions");
+    QMenu *fileMenu = menuBar()->addMenu(tag);
+
+    QAction *a;
+    a = new QAction(QPixmap(":/filenew.png"), tr("&New map", "File menu"),
+                    this);
+    switchboard.addSwitch("fileMapNew", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileNew()));
+    cloneActionMapEditor(a, Qt::CTRL + Qt::Key_N);
+    fileMenu->addAction(a);
+    actionFileNew = a;
+
+    a = new QAction(QPixmap(":/filenewcopy.png"),
+                    tr("&Copy to new map", "File menu"), this);
+    switchboard.addSwitch("fileMapNewCopy", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileNewCopy()));
+    cloneActionMapEditor(a, Qt::CTRL + Qt::SHIFT + Qt::Key_C);
+    fileMenu->addAction(a);
+    actionFileNewCopy = a;
+
+    a = new QAction(QPixmap(":/fileopen.png"), tr("&Open...", "File menu"),
+                    this);
+    switchboard.addSwitch("fileMapOpen", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileLoad()));
+    cloneActionMapEditor(a, Qt::CTRL + Qt::Key_L);
+    fileMenu->addAction(a);
+    actionFileOpen = a;
+
+    a = new QAction(tr("&Restore last session", "Edit menu"), this);
+    a->setShortcut(Qt::ALT + Qt::Key_R);
+    switchboard.addSwitch("fileMapRestore", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileRestoreSession()));
+    fileMenu->addAction(a);
+    actionListFiles.append(a);
+    actionCopy = a;
+
+    fileLastMapsMenu = fileMenu->addMenu(tr("Open Recent", "File menu"));
+    fileMenu->addSeparator();
+
+    a = new QAction(QPixmap(":/filesave.svg"), tr("&Save...", "File menu"),
+                    this);
+    switchboard.addSwitch("fileMapSave", shortcutScope, a, tag);
+    cloneActionMapEditor(a, Qt::CTRL + Qt::Key_S);
+    fileMenu->addAction(a);
+    restrictedMapActions.append(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileSave()));
+    actionFileSave = a;
+
+    a = new QAction(QPixmap(":/filesaveas.png"), tr("Save &As...", "File menu"),
+                    this);
+    fileMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileSaveAs()));
+
+    a = new QAction(tr("Save as default map", "File menu"), this);
+    fileMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileSaveAsDefault()));
+
+    fileMenu->addSeparator();
+
+    fileImportMenu = fileMenu->addMenu(tr("Import", "File menu"));
+
+    a = new QAction( tr("Firefox Bookmarks", "Import filters") + 
+                        tr("(experimental)"),
+                    this);
+    connect(a, SIGNAL(triggered()), this,
+            SLOT(fileImportFirefoxBookmarks()));
+    fileImportMenu->addAction(a);
+
+    a = new QAction("Freemind...", this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileImportFreemind()));
+    fileImportMenu->addAction(a);
+
+    a = new QAction("Mind Manager...", this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileImportMM()));
+    fileImportMenu->addAction(a);
+
+    a = new QAction(tr("Import Dir...", "Import Filters") + " " +
+                        tr("(still experimental)"),
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileImportDir()));
+    fileImportMenu->addAction(a);
+
+    fileExportMenu = fileMenu->addMenu(tr("Export", "File menu"));
+
+    a = new QAction(QPixmap(":/file-document-export.png"),
+                    tr("Repeat last export (%1)").arg("-"), this);
+    switchboard.addSwitch("fileExportLast", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportLast()));
+    cloneActionMapEditor(a, Qt::ALT + Qt::Key_E);
+    fileExportMenu->addAction(a);
+    actionFileExportLast = a;
+    actionListFiles.append(a);
+
+    a = new QAction(tr("Webpage (HTML)...", "File export menu"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportHTML()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction(tr("Confluence (HTML)...", "File export menu") + " " + " " +
+                        tr("(still experimental)"),
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportConfluence()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+    actionFileExportConfluence = a;
+
+    a = new QAction( tr("Firefox Bookmarks", "File export menu") + 
+                        tr("(still experimental)"),
+                    this);
+    connect(a, SIGNAL(triggered()), this,
+            SLOT(fileExportFirefoxBookmarks()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction(tr("Text (ASCII)...", "File export menu"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportASCII()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction(tr("Text (Markdown)...", "File export menu") + " " +
+                        tr("(still experimental)"),
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportMarkdown()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction(tr("Text with tasks", "File export menu") + " " +
+                        tr("(still experimental)"),
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportASCIITasks()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction(tr("Text (A&O report)...", "Export format"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportAO()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction(tr("Image%1", "File export menu").arg("..."), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportImage()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction(tr("PDF%1", "File export menu").arg("..."), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportPDF()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction(tr("SVG%1", "File export menu").arg("..."), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportSVG()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction("LibreOffice...", this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportImpress()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction("XML...", this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportXML()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction(tr("CSV...") + " " + tr("(still experimental)"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportCSV()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction("Taskjuggler... " + tr("(still experimental)"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportTaskjuggler()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction("OrgMode... " + tr("(still experimental)"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportOrgMode()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    a = new QAction("LaTeX... " + tr("(still experimental)"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExportLaTeX()));
+    fileExportMenu->addAction(a);
+    actionListFiles.append(a);
+
+    fileMenu->addSeparator();
+
+    a = new QAction(tr("Properties"), this);
+    switchboard.addSwitch("editMapProperties", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editMapProperties()));
+    fileMenu->addAction(a);
+    actionListFiles.append(a);
+    actionMapProperties = a;
+
+    fileMenu->addSeparator();
+
+    a = new QAction(QPixmap(":/fileprint.png"), tr("&Print") + QString("..."),
+                    this);
+    a->setShortcut(Qt::CTRL + Qt::Key_P);
+    switchboard.addSwitch("fileMapPrint", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(filePrint()));
+    fileMenu->addAction(a);
+    unrestrictedMapActions.append(a);
+    actionFilePrint = a;
+
+    a = new QAction(QPixmap(":/fileclose.png"), tr("&Close Map", "File menu"),
+                    this);
+    a->setShortcut(Qt::CTRL + Qt::Key_W);
+    switchboard.addSwitch("fileMapClose", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileCloseMap()));
+    fileMenu->addAction(a);
+
+    a = new QAction(QPixmap(":/exit.png"), tr("E&xit", "File menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_Q);
+    switchboard.addSwitch("fileExit", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(fileExitVYM()));
+    fileMenu->addAction(a);
+
+    a = new QAction("Toggle winter mode", this);
+    a->setShortcut(Qt::CTRL + Qt::Key_Asterisk);
+    a->setShortcutContext(Qt::WidgetShortcut);
+
+    if (settings.value("/mainwindow/showTestMenu", false).toBool()) {
+        addAction(a);
+        mapEditorActions.append(a);
+        switchboard.addSwitch("mapWinterMode", shortcutScope, a, tag);
+    }
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleWinter()));
+    actionToggleWinter = a;
+}
+
+// Edit Actions
+void Main::setupEditActions()
+{
+    QString tag = tr("E&dit", "Edit menu");
+    QMenu *editMenu = menuBar()->addMenu(tag);
+
+    QAction *a;
+    a = new QAction(QPixmap(":/undo.png"), tr("&Undo", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_Z);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    a->setEnabled(false);
+    editMenu->addAction(a);
+    mapEditorActions.append(a);
+    restrictedMapActions.append(a);
+    switchboard.addSwitch("mapUndo", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editUndo()));
+    actionUndo = a;
+
+    a = new QAction(QPixmap(":/redo.png"), tr("&Redo", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_Y);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    editMenu->addAction(a);
+    restrictedMapActions.append(a);
+    mapEditorActions.append(a);
+    switchboard.addSwitch("mapRedo", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editRedo()));
+    actionRedo = a;
+
+    editMenu->addSeparator();
+    a = new QAction(QPixmap(":/editcopy.png"), tr("&Copy", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_C);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    a->setEnabled(false);
+    editMenu->addAction(a);
+    unrestrictedMapActions.append(a);
+    mapEditorActions.append(a);
+    switchboard.addSwitch("mapCopy", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editCopy()));
+    actionCopy = a;
+
+    a = new QAction(QPixmap(":/editcut.png"), tr("Cu&t", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_X);
+    a->setEnabled(false);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    editMenu->addAction(a);
+    restrictedMapActions.append(a);
+    mapEditorActions.append(a);
+    restrictedMapActions.append(a);
+    switchboard.addSwitch("mapCut", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editCut()));
+    addAction(a);
+    actionCut = a;
+
+    a = new QAction(QPixmap(":/editpaste.png"), tr("&Paste", "Edit menu"),
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(editPaste()));
+    a->setShortcut(Qt::CTRL + Qt::Key_V);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    a->setEnabled(false);
+    editMenu->addAction(a);
+    restrictedMapActions.append(a);
+    mapEditorActions.append(a);
+    switchboard.addSwitch("mapPaste", shortcutScope, a, tag);
+    actionPaste = a;
+
+    // Shortcut to delete selection
+    a = new QAction(tr("Delete Selection", "Edit menu"), this);
+    a->setShortcut(Qt::Key_Delete);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapDelete", shortcutScope, a, tag);
+    addAction(a);
+    editMenu->addAction(a);
+    actionListItems.append(a);
+    actionDelete = a;
+
+    connect(a, SIGNAL(triggered()), this, SLOT(editDeleteSelection()));
+    a = new QAction(tr("Delete Selection", "Edit menu"), this);
+    a->setShortcut(Qt::Key_D);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapDelete", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editDeleteSelection()));
+    editMenu->addAction(a);
+    actionListItems.append(a);
+    actionDeleteAlt = a;
+
+    // Shortcut to add attribute
+    a = new QAction(tr("Add attribute") + " (test)", this);
+    if (settings.value("/mainwindow/showTestMenu", false).toBool()) {
+        a->setShortcutContext(Qt::WindowShortcut);
+        switchboard.addSwitch("mapAddAttribute", shortcutScope, a, tag);
+        connect(a, SIGNAL(triggered()), this, SLOT(editAddAttribute()));
+        editMenu->addAction(a);
+    }
+    actionAddAttribute = a;
+
+    // Shortcut to add mapcenter
+    a = new QAction(QPixmap(":/newmapcenter.png"),
+                    tr("Add mapcenter", "Canvas context menu"), this);
+    a->setShortcut(Qt::Key_C);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapAddCenter", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editAddMapCenter()));
+    editMenu->addAction(a);
+    actionListFiles.append(a);
+    actionAddMapCenter = a;
+
+    // Shortcut to add branch
+    a = new QAction(QPixmap(":/newbranch.png"),
+                    tr("Add branch as child", "Edit menu"), this);
+    switchboard.addSwitch("mapEditNewBranch", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editNewBranch()));
+    cloneActionMapEditor(a, Qt::Key_A);
+    taskEditorActions.append(a);
+    actionListBranches.append(a);
+    actionAddBranch = a;
+
+    // Add branch by inserting it at selection
+    a = new QAction(tr("Add branch (insert)", "Edit menu"), this);
+    a->setShortcut(Qt::ALT + Qt::Key_A);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapEditAddBranchBefore", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editNewBranchBefore()));
+    editMenu->addAction(a);
+    actionListBranches.append(a);
+    actionAddBranchBefore = a;
+
+    // Add branch above
+    a = new QAction(tr("Add branch above", "Edit menu"), this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_Insert);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapEditAddBranchAbove", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editNewBranchAbove()));
+    a->setEnabled(false);
+    actionListBranches.append(a);
+    actionAddBranchAbove = a;
+
+    a = new QAction(tr("Add branch above", "Edit menu"), this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_A);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapEditAddBranchAboveAlt", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editNewBranchAbove()));
+    actionListBranches.append(a);
+    editMenu->addAction(a);
+
+    // Add branch below
+    a = new QAction(tr("Add branch below", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_Insert);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapEditAddBranchBelow", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editNewBranchBelow()));
+    a->setEnabled(false);
+    actionListBranches.append(a);
+
+    a = new QAction(tr("Add branch below", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_A);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapEditAddBranchBelowAlt", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editNewBranchBelow()));
+    actionListBranches.append(a);
+    actionAddBranchBelow = a;
+
+    a = new QAction(QPixmap(":/up.png"), tr("Move branch up", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::Key_PageUp);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    mapEditorActions.append(a);
+    taskEditorActions.append(a);
+    restrictedMapActions.append(a);
+    actionListBranches.append(a);
+    editMenu->addAction(a);
+    switchboard.addSwitch("mapEditMoveBranchUp", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editMoveUp()));
+    actionMoveUp = a;
+
+    a = new QAction(QPixmap(":/down.png"), tr("Move branch down", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::Key_PageDown);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    mapEditorActions.append(a);
+    taskEditorActions.append(a);
+    restrictedMapActions.append(a);
+    actionListBranches.append(a);
+    editMenu->addAction(a);
+    switchboard.addSwitch("mapEditMoveBranchDown", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editMoveDown()));
+    actionMoveDown = a;
+
+    a = new QAction(QPixmap(":up-diagonal-right.png"), tr("Move branch diagonally up", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::CTRL + Qt::Key_PageUp);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    mapEditorActions.append(a);
+    taskEditorActions.append(a);
+    restrictedMapActions.append(a);
+    actionListBranches.append(a);
+    editMenu->addAction(a);
+    switchboard.addSwitch("mapEditMoveBranchUpDiagonally", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editMoveUpDiagonally()));
+    actionMoveUpDiagonally = a;
+
+    a = new QAction(QPixmap(":down-diagonal-left.png"), tr("Move branch diagonally down", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::CTRL + Qt::Key_PageDown);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    mapEditorActions.append(a);
+    taskEditorActions.append(a);
+    restrictedMapActions.append(a);
+    actionListBranches.append(a);
+    editMenu->addAction(a);
+    switchboard.addSwitch("mapEditMoveBranchDownDiagonally", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editMoveDownDiagonally()));
+    actionMoveDownDiagonally = a;
+
+    a = new QAction(QPixmap(), tr("&Detach", "Context menu"), this);
+    a->setStatusTip(tr("Detach branch and use as mapcenter", "Context menu"));
+    a->setShortcut(Qt::Key_D + Qt::SHIFT);
+    switchboard.addSwitch("mapDetachBranch", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editDetach()));
+    editMenu->addAction(a);
+    actionListBranches.append(a);
+    actionDetach = a;
+
+    a = new QAction(QPixmap(":/editsort.png"), tr("Sort children", "Edit menu"),
+                    this);
+    a->setEnabled(true);
+    a->setShortcut(Qt::Key_O);
+    switchboard.addSwitch("mapSortBranches", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editSortChildren()));
+    editMenu->addAction(a);
+    actionListBranches.append(a);
+    actionSortChildren = a;
+
+    a = new QAction(QPixmap(":/editsortback.png"),
+                    tr("Sort children backwards", "Edit menu"), this);
+    a->setEnabled(true);
+    a->setShortcut(Qt::SHIFT + Qt::Key_O);
+    switchboard.addSwitch("mapSortBranchesReverse", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editSortBackChildren()));
+    editMenu->addAction(a);
+    actionListBranches.append(a);
+    actionSortBackChildren = a;
+
+    a = new QAction(QPixmap(":/flag-scrolled-right.png"),
+                    tr("Scroll branch", "Edit menu"), this);
+    a->setShortcut(Qt::Key_S);
+    switchboard.addSwitch("mapToggleScroll", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editToggleScroll()));
+    editMenu->addAction(a);
+    actionListBranches.append(a);
+    a->setEnabled(false);
+    a->setCheckable(true);
+    addAction(a);
+    actionListBranches.append(a);
+    actionToggleScroll = a;
+
+    a = new QAction(tr("Unscroll children", "Edit menu"), this);
+    editMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editUnscrollChildren()));
+    actionListBranches.append(a);
+
+    a = new QAction(tr("Grow selection", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_Plus);
+    switchboard.addSwitch("mapGrowSelection", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editGrowSelectionSize()));
+    editMenu->addAction(a);
+    actionListBranches.append(a);
+    actionListItems.append(a);
+    actionGrowSelectionSize = a;
+
+    a = new QAction(tr("Shrink selection", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_Minus);
+    switchboard.addSwitch("mapShrinkSelection", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editShrinkSelectionSize()));
+    editMenu->addAction(a);
+    actionListBranches.append(a);
+    actionListItems.append(a);
+    actionShrinkSelectionSize = a;
+
+    a = new QAction(tr("Reset selection size", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_0);
+    switchboard.addSwitch("mapResetSelectionSize", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editResetSelectionSize()));
+    editMenu->addAction(a);
+    actionListBranches.append(a);
+    actionListItems.append(a);
+    actionResetSelectionSize = a;
+
+    editMenu->addSeparator();
+
+    a = new QAction(QPixmap(), "TE: " + tr("Collapse one level", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::Key_Less + Qt::CTRL);
+    switchboard.addSwitch("mapCollapseOneLevel", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editCollapseOneLevel()));
+    editMenu->addAction(a);
+    a->setEnabled(false);
+    a->setCheckable(false);
+    actionListBranches.append(a);
+    addAction(a);
+    actionCollapseOneLevel = a;
+
+    a = new QAction(QPixmap(),
+                    "TE: " + tr("Collapse unselected levels", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::Key_Less);
+    switchboard.addSwitch("mapCollapseUnselectedLevels", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editCollapseUnselected()));
+    editMenu->addAction(a);
+    a->setEnabled(false);
+    a->setCheckable(false);
+    actionListBranches.append(a);
+    addAction(a);
+    actionCollapseUnselected = a;
+
+    a = new QAction(QPixmap(), tr("Expand all branches", "Edit menu"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(editExpandAll()));
+    actionExpandAll = a;
+    actionExpandAll->setEnabled(false);
+    actionExpandAll->setCheckable(false);
+    actionListBranches.append(actionExpandAll);
+    addAction(a);
+
+    a = new QAction(QPixmap(), tr("Expand one level", "Edit menu"), this);
+    a->setShortcut(Qt::Key_Greater);
+    switchboard.addSwitch("mapExpandOneLevel", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editExpandOneLevel()));
+    a->setEnabled(false);
+    a->setCheckable(false);
+    addAction(a);
+    actionListBranches.append(a);
+    actionExpandOneLevel = a;
+
+    tag = tr("References Context menu", "Shortcuts");
+    a = new QAction(QPixmap(":/flag-url.svg"), tr("Open URL", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_U);
+    switchboard.addSwitch("mapOpenUrl", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editOpenURL()));
+    actionListBranches.append(a);
+    actionOpenURL = a;
+
+    a = new QAction(tr("Open URL in new tab", "Edit menu"), this);
+    // a->setShortcut (Qt::CTRL+Qt::Key_U );
+    switchboard.addSwitch("mapOpenUrlTab", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editOpenURLTab()));
+    actionListBranches.append(a);
+    actionOpenURLTab = a;
+
+    a = new QAction(tr("Open all URLs in subtree (including scrolled branches)",
+                       "Edit menu"),
+                    this);
+    a->setShortcut(Qt::CTRL + Qt::Key_U);
+    switchboard.addSwitch("mapOpenUrlsSubTree", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editOpenMultipleVisURLTabs()));
+    actionListBranches.append(a);
+    actionOpenMultipleVisURLTabs = a;
+
+    a = new QAction(tr("Open all URLs in subtree", "Edit menu"), this);
+    switchboard.addSwitch("mapOpenMultipleUrlTabs", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editOpenMultipleURLTabs()));
+    actionListBranches.append(a);
+    actionOpenMultipleURLTabs = a;
+
+    a = new QAction(QPixmap(), tr("Extract URLs from note", "Edit menu"), this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_N);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapUrlsFromNote", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editNote2URLs()));
+    actionListBranches.append(a);
+    actionGetURLsFromNote = a;
+
+    a = new QAction(QPixmap(":/flag-urlnew.svg"),
+                    tr("Edit URL...", "Edit menu"), this);
+    a->setShortcut(Qt::Key_U);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapEditURL", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editURL()));
+    actionListBranches.append(a);
+    actionURLNew = a;
+
+    a = new QAction(QPixmap(), tr("Edit local URL...", "Edit menu"), this);
+    // a->setShortcut (Qt::SHIFT +  Qt::Key_U );
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapEditLocalURL", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editLocalURL()));
+    actionListBranches.append(a);
+    actionLocalURL = a;
+
+    a = new QAction(tr("Use heading for URL", "Edit menu"), this);
+    a->setShortcut(Qt::ALT + Qt::Key_U);
+    a->setShortcutContext(Qt::ApplicationShortcut);
+    a->setEnabled(false);
+    switchboard.addSwitch("mapHeading2URL", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editHeading2URL()));
+    actionListBranches.append(a);
+    actionHeading2URL = a;
+
+    tag = "JIRA";
+    a = new QAction(tr("Get data from JIRA for subtree", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::Key_J + Qt::SHIFT);
+    a->setShortcutContext(Qt::WindowShortcut);
+    switchboard.addSwitch("mapUpdateSubTreeFromJira", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(getJiraDataSubtree()));
+    actionGetJiraDataSubtree = a;
+
+    a = new QAction(tr("Get page name from Confluence", "Edit menu"),
+                    this);
+    //    a->setShortcut ( Qt::Key_J + Qt::CTRL);
+    //    a->setShortcutContext (Qt::WindowShortcut);
+    //    switchboard.addSwitch ("mapUpdateSubTreeFromJira", shortcutScope, a,
+    //    tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(setHeadingConfluencePageName()));
+    actionListBranches.append(a);
+    actionGetConfluencePageName = a;
+
+    tag = tr("vymlinks - linking maps", "Shortcuts");
+    a = new QAction(QPixmap(":/flag-vymlink.png"),
+                    tr("Open linked map", "Edit menu"), this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_V);
+    a->setEnabled(false);
+    switchboard.addSwitch("mapOpenVymLink", shortcutScope, a, tag);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editOpenVymLink()));
+    actionListBranches.append(a);
+    actionOpenVymLink = a;
+
+    a = new QAction(QPixmap(":/flag-vymlink.png"),
+                    tr("Open linked map in background tab", "Edit menu"), this);
+    a->setEnabled(false);
+    switchboard.addSwitch("mapOpenVymLink", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editOpenVymLinkBackground()));
+    actionListBranches.append(a);
+    actionOpenVymLinkBackground = a;
+
+    a = new QAction(QPixmap(), tr("Open all vym links in subtree", "Edit menu"),
+                    this);
+    a->setEnabled(false);
+    switchboard.addSwitch("mapOpenMultipleVymLinks", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editOpenMultipleVymLinks()));
+    actionListBranches.append(a);
+    actionOpenMultipleVymLinks = a;
+
+    a = new QAction(QPixmap(":/flag-vymlinknew.png"),
+                    tr("Edit vym link...", "Edit menu"), this);
+    a->setShortcut(Qt::Key_V);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setEnabled(false);
+    switchboard.addSwitch("mapEditVymLink", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editVymLink()));
+    actionListBranches.append(a);
+    actionEditVymLink = a;
+
+    a = new QAction(tr("Delete vym link", "Edit menu"), this);
+    a->setEnabled(false);
+    switchboard.addSwitch("mapDeleteVymLink", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editDeleteVymLink()));
+    actionListBranches.append(a);
+    actionDeleteVymLink = a;
+
+    tag = tr("Exports", "Shortcuts");
+    a = new QAction(QPixmap(":/flag-hideexport.png"),
+                    tr("Hide in exports", "Edit menu"), this);
+    a->setShortcut(Qt::Key_H);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(true);
+    a->setEnabled(false);
+    addAction(a);
+    switchboard.addSwitch("mapToggleHideExport", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editToggleHideExport()));
+    actionListItems.append(a);
+    actionToggleHideExport = a;
+
+    tag = tr("Tasks", "Shortcuts");
+    a = new QAction(QPixmap(":/taskeditor.png"), tr("Toggle task", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::Key_W + Qt::SHIFT);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(true);
+    a->setEnabled(false);
+    addAction(a);
+    switchboard.addSwitch("mapToggleTask", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editToggleTask()));
+    actionListBranches.append(a);
+    actionToggleTask = a;
+
+    a = new QAction(QPixmap(), tr("Cycle task status", "Edit menu"), this);
+    a->setShortcut(Qt::Key_W);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    addAction(a);
+    switchboard.addSwitch("mapCycleTaskStatus", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editCycleTaskStatus()));
+    actionListBranches.append(a);
+    actionCycleTaskStatus = a;
+
+    a = new QAction(QPixmap(), tr("Reset delta priority for visible tasks", "Reset delta"), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    addAction(a);
+    switchboard.addSwitch("mapResetTaskDeltaPrio", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskResetDeltaPrio()));
+    actionListBranches.append(a);
+    actionTaskResetDeltaPrio = a;
+
+    a = new QAction(QPixmap(), tr("Reset sleep", "Task sleep"), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(0);
+    addAction(a);
+    switchboard.addSwitch("mapResetSleep", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleep0 = a;
+
+    a = new QAction(QPixmap(),
+                    tr("Sleep %1 days", "Task sleep").arg("n") + "...", this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setShortcut(Qt::Key_Q + Qt::SHIFT);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(-1);
+    addAction(a);
+    switchboard.addSwitch("mapTaskSleepN", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleepN = a;
+
+    a = new QAction(QPixmap(), tr("Sleep %1 day", "Task sleep").arg(1), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(1);
+    addAction(a);
+    switchboard.addSwitch("mapTaskSleep1", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleep1 = a;
+
+    a = new QAction(QPixmap(), tr("Sleep %1 days", "Task sleep").arg(2), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(2);
+    addAction(a);
+    switchboard.addSwitch("mapTaskSleep2", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleep2 = a;
+
+    a = new QAction(QPixmap(), tr("Sleep %1 days", "Task sleep").arg(3), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(3);
+    addAction(a);
+    switchboard.addSwitch("mapTaskSleep3", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleep3 = a;
+
+    a = new QAction(QPixmap(), tr("Sleep %1 days", "Task sleep").arg(4), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(4);
+    addAction(a);
+    switchboard.addSwitch("mapTaskSleep4", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleep4 = a;
+
+    a = new QAction(QPixmap(), tr("Sleep %1 days", "Task sleep").arg(5), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(5);
+    addAction(a);
+    switchboard.addSwitch("mapTaskSleep5", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleep5 = a;
+
+    a = new QAction(QPixmap(), tr("Sleep %1 days", "Task sleep").arg(7), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(7);
+    addAction(a);
+    switchboard.addSwitch("mapTaskSleep7", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleep7 = a;
+
+    a = new QAction(QPixmap(), tr("Sleep %1 weeks", "Task sleep").arg(2), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(14);
+    addAction(a);
+    switchboard.addSwitch("mapTaskSleep14", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleep14 = a;
+
+    a = new QAction(QPixmap(), tr("Sleep %1 weeks", "Task sleep").arg(4), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(false);
+    a->setEnabled(false);
+    a->setData(28);
+    addAction(a);
+    switchboard.addSwitch("mapTaskSleep28", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editTaskSleepN()));
+    actionListBranches.append(a);
+    actionTaskSleep28 = a;
+
+    // Import at selection (adding to selection)
+    a = new QAction(tr("Add map (insert)", "Edit menu"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(editImportAdd()));
+    a->setEnabled(false);
+    actionListBranches.append(a);
+    actionImportAdd = a;
+
+    // Import at selection (replacing selection)
+    a = new QAction(tr("Add map (replace)", "Edit menu"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(editImportReplace()));
+    a->setEnabled(false);
+    actionListBranches.append(a);
+    actionImportReplace = a;
+
+    // Save selection
+    a = new QAction(tr("Save selection", "Edit menu"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(editSaveBranch()));
+    a->setEnabled(false);
+    actionListBranches.append(a);
+    actionSaveBranch = a;
+
+    tag = tr("Removing parts of a map", "Shortcuts");
+
+    // Only remove branch, not its children
+    a = new QAction(
+        tr("Remove only branch and keep its children ", "Edit menu"), this);
+    a->setShortcut(Qt::ALT + Qt::Key_X);
+    connect(a, SIGNAL(triggered()), this, SLOT(editDeleteKeepChildren()));
+    a->setEnabled(false);
+    addAction(a);
+    switchboard.addSwitch("mapDeleteKeepChildren", shortcutScope, a, tag);
+    actionListBranches.append(a);
+    actionDeleteKeepChildren = a;
+
+    // Only remove children of a branch
+    a = new QAction(tr("Remove children", "Edit menu"), this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_X);
+    addAction(a);
+    switchboard.addSwitch("mapDeleteChildren", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editDeleteChildren()));
+    a->setEnabled(false);
+    addAction(a);
+    actionListBranches.append(a);
+    actionDeleteChildren = a;
+
+    tag = tr("Various", "Shortcuts");
+    a = new QAction(tr("Add timestamp", "Edit menu"), this);
+    a->setEnabled(false);
+    actionListBranches.append(a);
+    a->setShortcut(Qt::Key_T);
+    a->setShortcutContext(Qt::WindowShortcut);
+    addAction(a);
+    switchboard.addSwitch("mapAddTimestamp", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editAddTimestamp()));
+    actionListBranches.append(a);
+    actionAddTimestamp = a;
+
+    a = new QAction(tr("Map properties...", "Edit menu"), this);
+    a->setEnabled(true);
+    connect(a, SIGNAL(triggered()), this, SLOT(editMapProperties()));
+    actionListFiles.append(a);
+    actionMapInfo = a;
+
+    a = new QAction(tr("Add image...", "Edit menu"), this);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setShortcut(Qt::Key_I + Qt::SHIFT);
+    addAction(a);
+    switchboard.addSwitch("mapLoadImage", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editLoadImage()));
+    actionLoadImage = a;
+
+    a = new QAction(
+        tr("Property window", "Dialog to edit properties of selection") +
+            QString("..."),
+        this);
+    a->setShortcut(Qt::Key_P);
+    a->setShortcutContext(Qt::WindowShortcut);
+    a->setCheckable(true);
+    addAction(a);
+    switchboard.addSwitch("mapTogglePropertEditor", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleProperty()));
+    actionViewTogglePropertyEditor = a;
+}
+
+// Select Actions
+void Main::setupSelectActions()
+{
+    QString tag = tr("Selections", "Shortcuts");
+    QMenu *selectMenu = menuBar()->addMenu(tr("Select", "Select menu"));
+    QAction *a;
+    a = new QAction(QPixmap(":/flag-target.svg"),
+                    tr("Toggle target...", "Edit menu"), this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_T);
+    a->setCheckable(true);
+    selectMenu->addAction(a);
+    switchboard.addSwitch("mapToggleTarget", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editToggleTarget()));
+    actionListBranches.append(a);
+    actionToggleTarget = a;
+
+    a = new QAction(QPixmap(":/flag-target.svg"),
+                    tr("Goto target...", "Edit menu"), this);
+    a->setShortcut(Qt::Key_G);
+    selectMenu->addAction(a);
+    switchboard.addSwitch("mapGotoTarget", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editGoToTarget()));
+    actionListBranches.append(a);
+    actionGoToTarget = a;
+
+    a = new QAction(QPixmap(":/flag-target.svg"),
+                    tr("Move to target...", "Edit menu"), this);
+    a->setShortcut(Qt::Key_M);
+    selectMenu->addAction(a);
+    switchboard.addSwitch("mapMoveToTarget", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editMoveToTarget()));
+    actionListBranches.append(a);
+    actionMoveToTarget = a;
+
+    a = new QAction(QPixmap(":/flag-vymlink.png"),
+                    tr("Goto linked map...", "Edit menu"), this);
+    a->setShortcut(Qt::Key_G + Qt::SHIFT);
+    selectMenu->addAction(a);
+    switchboard.addSwitch("gotoLinkedMap", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editGoToLinkedMap()));
+    actionListBranches.append(a);
+    actionGoToTargetLinkedMap = a;
+
+    a = new QAction(QPixmap(":/selectprevious.png"),
+                    tr("Select previous", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_O);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    selectMenu->addAction(a);
+    actionListFiles.append(a);
+    mapEditorActions.append(a);
+    switchboard.addSwitch("mapSelectPrevious", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editSelectPrevious()));
+    actionSelectPrevious = a;
+
+    a = new QAction(QPixmap(":/selectnext.png"), tr("Select next", "Edit menu"),
+                    this);
+    a->setShortcut(Qt::CTRL + Qt::Key_I);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    selectMenu->addAction(a);
+    actionListFiles.append(a);
+    mapEditorActions.append(a);
+    switchboard.addSwitch("mapSelectNext", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editSelectNext()));
+    actionSelectNext = a;
+
+    a = new QAction(tr("Unselect all", "Edit menu"), this);
+    // a->setShortcut (Qt::CTRL + Qt::Key_I );
+    selectMenu->addAction(a);
+    switchboard.addSwitch("mapSelectNothing", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editSelectNothing()));
+    actionListFiles.append(a);
+    actionSelectNothing = a;
+
+    tag = tr("Search functions", "Shortcuts");
+    a = new QAction(QPixmap(":/find.png"), tr("Find...", "Edit menu"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_F);
+    selectMenu->addAction(a);
+    switchboard.addSwitch("mapFind", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editOpenFindResultWidget()));
+    actionListFiles.append(a);
+    actionFind = a;
+
+    a = new QAction(QPixmap(":/find.png"), tr("Find...", "Edit menu"), this);
+    a->setShortcut(Qt::Key_Slash);
+    selectMenu->addAction(a);
+    switchboard.addSwitch("mapFindAlt", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editOpenFindResultWidget()));
+    actionListFiles.append(a);
+
+    a = new QAction(tr("Find duplicate URLs", "Edit menu") + " (test)", this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_F);
+    switchboard.addSwitch("mapFindDuplicates", shortcutScope, a, tag);
+    if (settings.value("/mainwindow/showTestMenu", false).toBool())
+        selectMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editFindDuplicateURLs()));
+}
+
+// Format Actions
+void Main::setupFormatActions()
+{
+    QMenu *formatMenu = menuBar()->addMenu(tr("F&ormat", "Format menu"));
+
+    QString tag = tr("Formatting", "Shortcuts");
+
+    QAction* a;
+
+    a = new QAction(QPixmap(":/formatcolorpicker.png"),
+                    tr("Pic&k color", "Edit menu"), this);
+    // a->setShortcut (Qt::CTRL + Qt::Key_K );
+    formatMenu->addAction(a);
+    switchboard.addSwitch("mapFormatColorPicker", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatPickColor()));
+    a->setEnabled(false);
+    actionListBranches.append(a);
+    actionFormatPickColor = a;
+
+    a = new QAction(QPixmap(":/formatcolorbranch.png"),
+                    tr("Color &branch", "Edit menu"), this);
+    // a->setShortcut (Qt::CTRL + Qt::Key_B + Qt::SHIFT);
+    formatMenu->addAction(a);
+    switchboard.addSwitch("mapFormatColorBranch", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatColorBranch()));
+    a->setEnabled(false);
+    actionListBranches.append(a);
+    actionFormatColorBranch = a;
+
+    a = new QAction(QPixmap(":/formatcolorsubtree.png"),
+                    tr("Color sub&tree", "Edit menu"), this);
+    // a->setShortcut (Qt::CTRL + Qt::Key_B);  // Color subtree
+    formatMenu->addAction(a);
+    switchboard.addSwitch("mapFormatColorSubtree", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatColorSubtree()));
+    a->setEnabled(false);
+    actionListBranches.append(a);
+    actionFormatColorSubtree = a;
+
+    formatMenu->addSeparator();
+
+    a = new QAction(tr("Select default font", "Branch attribute") + "...",
+                    this);
+    a->setCheckable(false);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatSelectFont()));
+    formatMenu->addAction(a);
+    actionFormatFont = a;
+
+    formatMenu->addSeparator();
+
+    actionGroupFormatLinkStyles = new QActionGroup(this);
+    actionGroupFormatLinkStyles->setExclusive(true);
+    a = new QAction(tr("Linkstyle Line"), actionGroupFormatLinkStyles);
+    a->setCheckable(true);
+    restrictedMapActions.append(a);
+    formatMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatLinkStyleLine()));
+    actionFormatLinkStyleLine = a;
+
+    a = new QAction(tr("Linkstyle Curve"), actionGroupFormatLinkStyles);
+    a->setCheckable(true);
+    restrictedMapActions.append(a);
+    formatMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatLinkStyleParabel()));
+    actionFormatLinkStyleParabel = a;
+
+    a = new QAction(tr("Linkstyle Thick Line"), actionGroupFormatLinkStyles);
+    a->setCheckable(true);
+    restrictedMapActions.append(a);
+    formatMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatLinkStylePolyLine()));
+    actionFormatLinkStylePolyLine = a;
+
+    a = new QAction(tr("Linkstyle Thick Curve"), actionGroupFormatLinkStyles);
+    a->setCheckable(true);
+    a->setChecked(true);
+    restrictedMapActions.append(a);
+    formatMenu->addAction(a);
+    formatMenu->addSeparator();
+    connect(a, SIGNAL(triggered()), this, SLOT(formatLinkStylePolyParabel()));
+    actionFormatLinkStylePolyParabel = a;
+
+    a = new QAction(
+        tr("Hide link if object is not selected", "Branch attribute"), this);
+    a->setCheckable(true);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatHideLinkUnselected()));
+    actionListBranches.append(a);
+    actionFormatHideLinkUnselected = a;
+
+    a = new QAction(tr("&Use color of heading for link", "Branch attribute"),
+                    this);
+    a->setCheckable(true);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatToggleLinkColorHint()));
+    formatMenu->addAction(a);
+    actionFormatLinkColorHint = a;
+
+    QPixmap pix(16, 16);
+    pix.fill(Qt::white);
+    a = new QAction(pix, tr("Set &Link Color") + "...", this);
+    formatMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatSelectLinkColor()));
+    actionFormatLinkColor = a;
+
+    a = new QAction(pix, tr("Set &Selection Color") + "...", this);
+    formatMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatSelectSelectionColor()));
+    actionFormatSelectionColor = a;
+
+    a = new QAction(pix, tr("Set &Background Color") + "...", this);
+    formatMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatSelectBackColor()));
+    actionFormatBackColor = a;
+
+    a = new QAction(pix, tr("Set &Background image") + "...", this);
+    formatMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(formatSelectBackImage()));
+    actionFormatBackImage = a;
+}
+
+// View Actions
+void Main::setupViewActions()
+{
+    QMenu *viewMenu = menuBar()->addMenu(tr("&View"));
+    toolbarsMenu =
+        viewMenu->addMenu(tr("Toolbars", "Toolbars overview in view menu"));
+    QString tag = tr("Views", "Shortcuts");
+
+    viewMenu->addSeparator();
+
+    QAction *a;
+
+    a = new QAction(QPixmap(":view-video-projector.png"), 
+            tr("Toggle Presentation mode", "View action") + " " +
+            tr("(still experimental)"),
+            this);
+    // a->setShortcut(Qt::Key_Plus);
+    viewMenu->addAction(a);
+    switchboard.addSwitch ("presentationMode", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(togglePresentationMode()));
+    actionTogglePresentationMode = a;
+
+    a = new QAction(QPixmap(":/viewmag+.png"), tr("Zoom in", "View action"),
+                    this);
+    a->setShortcut(Qt::Key_Plus);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapZoomIn", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(viewZoomIn()));
+    actionZoomIn = a;
+
+    a = new QAction(QPixmap(":/viewmag-.png"), tr("Zoom out", "View action"),
+                    this);
+    a->setShortcut(Qt::Key_Minus);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapZoomOut", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(viewZoomOut()));
+    actionZoomOut = a;
+
+    a = new QAction(QPixmap(":/transform-rotate-ccw.svg"),
+                    tr("Rotate counterclockwise", "View action"), this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_R);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapRotateCounterClockwise", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(viewRotateCounterClockwise()));
+    actionRotateCounterClockwise = a;
+
+    a = new QAction(QPixmap(":/transform-rotate-cw.svg"),
+                    tr("Rotate rclockwise", "View action"), this);
+    a->setShortcut(Qt::Key_R);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapRotateClockwise", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(viewRotateClockwise()));
+    actionRotateClockwise = a;
+
+    a = new QAction(QPixmap(":/viewmag-reset.png"),
+                    tr("reset Zoom", "View action"), this);
+    a->setShortcut(Qt::Key_Comma);
+    switchboard.addSwitch("mapZoomReset", shortcutScope, a, tag);
+    viewMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(viewZoomReset()));
+    actionZoomReset = a;
+
+    a = new QAction(QPixmap(":/viewshowsel.png"),
+                    tr("Center on selection", "View action"), this);
+    a->setShortcut(Qt::Key_Period);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapCenterOn", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(viewCenter()));
+    actionCenterOn = a;
+
+    a = new QAction(QPixmap(),
+                    tr("Fit view to selection", "View action"), this);
+    a->setShortcut(Qt::Key_Period + Qt::SHIFT);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapCenterAndFitView", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(viewCenterScaled()));
+    actionFitToSelection = a;
+
+    viewMenu->addSeparator();
+
+    // a=noteEditorDW->toggleViewAction();
+    a = new QAction(QPixmap(":/flag-note.svg"),
+                    tr("Note editor", "View action"), this);
+    a->setShortcut(Qt::Key_N);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    a->setCheckable(true);
+    viewMenu->addAction(a);
+    mapEditorActions.append(a);
+    switchboard.addSwitch("mapToggleNoteEditor", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleNoteEditor()));
+    actionViewToggleNoteEditor = a;
+
+    // a=headingEditorDW->toggleViewAction();
+    a = new QAction(QPixmap(":/headingeditor.png"),
+                    tr("Heading editor", "View action"), this);
+    a->setCheckable(true);
+    a->setIcon(QPixmap(":/headingeditor.png"));
+    a->setShortcut(Qt::Key_E);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    mapEditorActions.append(a);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapToggleHeadingEditor", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleHeadingEditor()));
+    actionViewToggleHeadingEditor = a;
+
+    // Original icon is "category" from KDE
+    a = new QAction(QPixmap(":/treeeditor.png"),
+                    tr("Tree editor", "View action"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_T);
+    a->setCheckable(true);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapToggleTreeEditor", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleTreeEditor()));
+    actionViewToggleTreeEditor = a;
+
+    a = new QAction(QPixmap(":/taskeditor.png"),
+                    tr("Task editor", "View action"), this);
+    a->setCheckable(true);
+    a->setShortcut(Qt::Key_Q);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    mapEditorActions.append(a);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapToggleTaskEditor", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleTaskEditor()));
+    actionViewToggleTaskEditor = a;
+
+    a = new QAction(QPixmap(":/slideeditor.png"),
+                    tr("Slide editor", "View action"), this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_S);
+    a->setCheckable(true);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapToggleSlideEditor", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleSlideEditor()));
+    actionViewToggleSlideEditor = a;
+
+    a = new QAction(QPixmap(":/scripteditor.png"),
+                    tr("Script editor", "View action"), this);
+    a->setShortcut(Qt::ALT + Qt::Key_S);
+    a->setCheckable(true);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapToggleScriptEditor", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleScriptEditor()));
+    actionViewToggleScriptEditor = a;
+
+    a = new QAction(QPixmap(), tr("Script output window", "View action"), this);
+    a->setShortcut(Qt::ALT + Qt::SHIFT + Qt::Key_S);
+    a->setCheckable(true);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapToggleScriptOutput", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleScriptOutput()));
+    actionViewToggleScriptOutput = a;
+
+    a = new QAction(QPixmap(":/history.png"),
+                    tr("History Window", "View action"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_H);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    a->setCheckable(true);
+    viewMenu->addAction(a);
+    mapEditorActions.append(a);
+    switchboard.addSwitch("mapToggleHistoryWindow", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleHistory()));
+    actionViewToggleHistoryWindow = a;
+
+    viewMenu->addAction(actionViewTogglePropertyEditor);
+
+    viewMenu->addSeparator();
+
+    a = new QAction(tr("Antialiasing", "View action"), this);
+    a->setCheckable(true);
+    a->setChecked(settings.value("/mainwindow/view/AntiAlias", true).toBool());
+    viewMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleAntiAlias()));
+    actionViewToggleAntiAlias = a;
+
+    a = new QAction(tr("Smooth pixmap transformations", "View action"), this);
+    a->setStatusTip(a->text());
+    a->setCheckable(true);
+    a->setChecked(
+        settings.value("/mainwindow/view/SmoothPixmapTransformation", true)
+            .toBool());
+    viewMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowToggleSmoothPixmap()));
+    actionViewToggleSmoothPixmapTransform = a;
+
+    a = new QAction(tr("Next Map", "View action"), this);
+    a->setStatusTip(a->text());
+    a->setShortcut(Qt::SHIFT + Qt::Key_Right);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapPrevious", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowNextEditor()));
+
+    a = new QAction(tr("Previous Map", "View action"), this);
+    a->setStatusTip(a->text());
+    a->setShortcut(Qt::SHIFT + Qt::Key_Left);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapNext", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(windowPreviousEditor()));
+
+    a = new QAction(tr("Next slide", "View action"), this);
+    a->setStatusTip(a->text());
+    a->setShortcut(Qt::Key_Space);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapNextSlide", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(nextSlide()));
+
+    a = new QAction(tr("Previous slide", "View action"), this);
+    a->setStatusTip(a->text());
+    a->setShortcut(Qt::Key_Backspace);
+    viewMenu->addAction(a);
+    switchboard.addSwitch("mapPreviousSlide", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(previousSlide()));
+}
+
+// Connect Actions
+void Main::setupConnectActions()
+{
+    QMenu *connectMenu = menuBar()->addMenu(tr("&Connect"));
+    QString tag = tr("Connect", "Shortcuts");
+
+    QAction *a;
+
+    a = new QAction( tr("Get Confluence user data", "Connect action"), this);
+    a->setShortcut(Qt::SHIFT + Qt::Key_C);
+    connectMenu->addAction(a);
+    switchboard.addSwitch ("confluenceUser", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(getConfluenceUser()));
+    actionConnectGetConfluenceUser = a;
+
+    connectMenu->addAction(actionGetConfluencePageName);
+    connectMenu->addAction(actionGetJiraDataSubtree);
+
+    connectMenu->addSeparator();
+
+    connectMenu->addAction(actionSettingsJIRA);
+    connectMenu->addAction(actionSettingsConfluence);
+}
+
+// Mode Actions
+void Main::setupModeActions()
+{
+    // QPopupMenu *menu = new QPopupMenu( this );
+    // menuBar()->insertItem( tr( "&Mode (using modifiers)" ), menu );
+
+    QString tag = tr("Modifier modes", "Shortcuts");
+    QAction *a;
+    actionGroupModModes = new QActionGroup(this);
+    actionGroupModModes->setExclusive(true);
+
+    a = new QAction(
+        QIcon(":/mode-select.svg"),
+        tr("Use modifier to select and reorder objects", "Mode modifier"),
+        actionGroupModModes);
+    a->setShortcut(Qt::Key_J);
+    addAction(a);
+    switchboard.addSwitch("mapModModePoint", shortcutScope, a, tag);
+    a->setCheckable(true);
+    a->setChecked(true);
+    actionListFiles.append(a);
+    actionModModePoint = a;
+
+    a = new QAction(
+        QPixmap(":/mode-color.png"),
+        tr("Format painter: pick color from another branch and apply",
+           "Mode modifier"),
+        actionGroupModModes);
+    a->setShortcut(Qt::Key_K);
+    addAction(a);
+    switchboard.addSwitch("mapModModeColor", shortcutScope, a, tag);
+    a->setCheckable(true);
+    actionListFiles.append(a);
+    actionModModeColor = a;
+
+    a = new QAction(QPixmap(":/mode-xlink.png"),
+                    tr("Use modifier to draw xLinks", "Mode modifier"),
+                    actionGroupModModes);
+    a->setShortcut(Qt::Key_L);
+    addAction(a);
+    switchboard.addSwitch("mapModModeXLink", shortcutScope, a, tag);
+    a->setCheckable(true);
+    actionListFiles.append(a);
+    actionModModeXLink = a;
+
+    a = new QAction(
+        QPixmap(":/mode-move-object.svg"),
+        tr("Use modifier to move branches without linking", "Mode modifier"),
+        actionGroupModModes);
+    a->setShortcut(Qt::Key_Odiaeresis);
+    addAction(a);
+    switchboard.addSwitch("mapModModeMoveObject", shortcutScope, a, tag);
+    a->setCheckable(true);
+    actionListFiles.append(a);
+    actionModModeMoveObject = a;
+
+    a = new QAction(
+        QPixmap(":/mode-move-view.png"),
+        tr("Use modifier to move view without selecting", "Mode modifier"),
+        actionGroupModModes);
+    a->setShortcut(Qt::Key_Adiaeresis);
+    addAction(a);
+    switchboard.addSwitch("mapModModeMoveView", shortcutScope, a, tag);
+    a->setCheckable(true);
+    actionListFiles.append(a);
+    actionModModeMoveView = a;
+}
+
+void Main::addUserFlag()
+{
+    VymModel *m = currentModel();
+
+    if (m) {
+        QFileDialog fd;
+        QStringList filters;
+        filters << tr("Images") + " (*.png *.bmp *.xbm *.jpg *.png *.xpm *.gif "
+                                  "*.pnm *.svg *.svgz)";
+        filters << tr("All", "Filedialog") + " (*.*)";
+        fd.setFileMode(QFileDialog::ExistingFiles);
+        fd.setNameFilters(filters);
+        fd.setWindowTitle(vymName + " - " + "Load user flag");
+        fd.setAcceptMode(QFileDialog::AcceptOpen);
+
+        QString fn;
+        if (fd.exec() == QDialog::Accepted) {
+            lastMapDir = fd.directory();
+            QStringList flist = fd.selectedFiles();
+            QStringList::Iterator it = flist.begin();
+            initProgressCounter(flist.count());
+            while (it != flist.end()) {
+                fn = *it;
+                setupFlag(*it, Flag::UserFlag, *it, "");
+                ++it;
+            }
+        }
+    }
+}
+
+void Main::setupFlagActions()
+{
+    Flag *flag;
+
+    // Create System Flags
+
+    // Tasks
+    // Origin: ./share/icons/oxygen/48x48/status/task-reject.png
+    flag = setupFlag(":/flag-task-new.svg", Flag::SystemFlag, "system-task-new",
+                     tr("Note", "SystemFlag"));
+    flag->setGroup("system-tasks");
+
+    flag = setupFlag(":/flag-task-new-morning.svg", Flag::SystemFlag,
+                     "system-task-new-morning", tr("Note", "SystemFlag"));
+    flag->setGroup("system-tasks");
+
+    flag = setupFlag(":/flag-task-new-sleeping.svg", Flag::SystemFlag,
+                     "system-task-new-sleeping", tr("Note", "SystemFlag"));
+    flag->setGroup("system-tasks");
+
+    // Origin: ./share/icons/oxygen/48x48/status/task-reject.png
+    flag = setupFlag(":/flag-task-wip.svg", Flag::SystemFlag, "system-task-wip",
+                     tr("Note", "SystemFlag"));
+    flag->setGroup("system-tasks");
+
+    flag = setupFlag(":/flag-task-wip-morning.svg", Flag::SystemFlag,
+                     "system-task-wip-morning", tr("Note", "SystemFlag"));
+    flag->setGroup("system-tasks");
+
+    flag = setupFlag(":/flag-task-wip-sleeping.svg", Flag::SystemFlag,
+                     "system-task-wip-sleeping", tr("Note", "SystemFlag"));
+    flag->setGroup("system-tasks");
+
+    // Origin: ./share/icons/oxygen/48x48/status/task-complete.png
+    flag = setupFlag(":/flag-task-finished.svg", Flag::SystemFlag,
+                     "system-task-finished", tr("Note", "SystemFlag"));
+    flag->setGroup("system-tasks");
+
+    setupFlag(":/flag-note.svg", Flag::SystemFlag, "system-note",
+              tr("Note", "SystemFlag"));
+
+    setupFlag(":/flag-url.svg", Flag::SystemFlag, "system-url",
+              tr("URL", "SystemFlag"));
+
+    setupFlag(":/flag-target.svg", Flag::SystemFlag, "system-target",
+              tr("Map target", "SystemFlag"));
+
+    setupFlag(":/flag-vymlink.png", Flag::SystemFlag, "system-vymLink",
+              tr("Link to another vym map", "SystemFlag"));
+
+    setupFlag(":/flag-scrolled-right.png", Flag::SystemFlag,
+              "system-scrolledright", tr("subtree is scrolled", "SystemFlag"));
+
+    setupFlag(":/flag-tmpUnscrolled-right.png", Flag::SystemFlag,
+              "system-tmpUnscrolledRight",
+              tr("subtree is temporary scrolled", "SystemFlag"));
+
+    setupFlag(":/flag-hideexport", Flag::SystemFlag, "system-hideInExport",
+              tr("Hide object in exported maps", "SystemFlag"));
+
+    addToolBarBreak();
+
+    // Add entry now, to avoid chicken and egg problem and position toolbar
+    // after all others:
+    setupFlag(":/flag-stopsign.svg", Flag::StandardFlag, "stopsign",
+                  tr("This won't work!", "Standardflag"), QUuid(), Qt::Key_1);
+
+    flag = setupFlag(":/flag-hook-green.svg",
+                  // flag = setupFlag ( "flags/standard/dialog-ok-apply.svg",
+                  Flag::StandardFlag, "hook-green",
+                  tr("Status - ok,done", "Standardflag"), QUuid(), Qt::Key_2);
+    flag->setGroup("standard-status");
+
+    flag = setupFlag(":/flag-wip.svg", Flag::StandardFlag, "wip",
+                     tr("Status - work in progress", "Standardflag"), QUuid(),
+                     Qt::Key_3);
+    flag->setGroup("standard-status");
+
+    flag = setupFlag(":/flag-cross-red.svg", Flag::StandardFlag, "cross-red",
+                     tr("Status - missing, not started", "Standardflag"),
+                     QUuid(), Qt::Key_4);
+    flag->setGroup("standard-status");
+
+    flag = setupFlag(":/flag-exclamation-mark.svg", Flag::StandardFlag,
+                     "exclamationmark", tr("Take care!", "Standardflag"),
+                     QUuid(), Qt::Key_Exclam);
+    flag->setGroup("standard-mark");
+
+    flag = setupFlag(":/flag-question-mark.svg", Flag::StandardFlag,
+                     "questionmark", tr("Really?", "Standardflag"), QUuid(),
+                     Qt::Key_Question);
+    flag->setGroup("standard-mark");
+
+    setupFlag(":/flag-info.svg", Flag::StandardFlag, "info",
+                     tr("Info", "Standardflag"), QUuid(), Qt::Key_I);
+
+    setupFlag(":/flag-lamp.svg", Flag::StandardFlag, "lamp",
+                     tr("Idea!", "Standardflag"), QUuid(), Qt::Key_Asterisk);
+
+    setupFlag(":/flag-heart.svg", Flag::StandardFlag, "heart",
+                     tr("I just love...", "Standardflag"));
+
+    flag = setupFlag(":/flag-face-smile.svg", Flag::StandardFlag, "smiley-good",
+                     tr("Good", "Standardflag"), QUuid(), Qt::Key_ParenRight);
+    flag->setGroup("standard-faces");
+
+    flag = setupFlag(":/flag-face-sad.svg", Flag::StandardFlag, "smiley-sad",
+                     tr("Bad", "Standardflag"), QUuid(), Qt::Key_ParenLeft);
+    flag->setGroup("standard-faces");
+
+    flag = setupFlag(":/flag-face-plain.svg", Flag::StandardFlag,
+                     "smiley-plain", tr("Hm...", "Standardflag"), QUuid());
+    flag->setGroup("standard-faces");
+
+    flag = setupFlag(":/flag-face-surprise.svg", Flag::StandardFlag,
+                     "smiley-omb", tr("Oh no!", "Standardflag"), QUuid());
+    flag->setGroup("standard-faces");
+
+    setupFlag(":/flag-flash.svg", Flag::StandardFlag, "flash",
+                     tr("Dangerous", "Standardflag"));
+
+    flag = setupFlag(":/flag-arrow-up.svg", Flag::StandardFlag, "arrow-up",
+                     tr("Important", "Standardflag"), QUuid(),
+                     Qt::SHIFT + Qt::Key_PageUp);
+    flag->setGroup("standard-arrow");
+
+    flag = setupFlag(":/flag-arrow-down.svg", Flag::StandardFlag, "arrow-down",
+                     tr("Unimportant", "Standardflag"), QUuid(),
+                     Qt::SHIFT + Qt::Key_PageDown);
+    flag->setGroup("standard-arrow");
+
+    flag = setupFlag(":/flag-arrow-2up.svg", Flag::StandardFlag, "2arrow-up",
+                     tr("Very important!", "Standardflag"), QUuid(),
+                     Qt::SHIFT + Qt::CTRL + Qt::Key_PageUp);
+    flag->setGroup("standard-arrow");
+
+    flag = setupFlag(":/flag-arrow-2down.svg", Flag::StandardFlag,
+                     "2arrow-down", tr("Very unimportant!", "Standardflag"),
+                     QUuid(), Qt::SHIFT + Qt::CTRL + Qt::Key_PageDown);
+    flag->setGroup("standard-arrow");
+
+    setupFlag(":/flag-thumb-up.png", Flag::StandardFlag, "thumb-up",
+                     tr("I like this", "Standardflag"));
+
+    setupFlag(":/flag-thumb-down.png", Flag::StandardFlag, "thumb-down",
+                     tr("I do not like this", "Standardflag"));
+
+    // Original khelpcenter.png
+    setupFlag(":/flag-lifebelt.svg", Flag::StandardFlag, "lifebelt",
+                     tr("This will help", "Standardflag"));
+
+    setupFlag(":/flag-phone.svg", Flag::StandardFlag, "phone",
+                     tr("Call...", "Standardflag"));
+
+    setupFlag(":/flag-clock.svg", Flag::StandardFlag, "clock",
+                     tr("Time critical", "Standardflag"));
+
+    setupFlag(":/flag-present.png", Flag::StandardFlag, "present",
+                     tr("Surprise!", "Standardflag"));
+
+    setupFlag(":/flag-rose.png", Flag::StandardFlag, "rose",
+                     tr("Rose", "Standardflag"));
+
+    // Freemind flags
+    setupFlag(":/freemind/warning.png", Flag::FreemindFlag,
+                     "freemind-warning", tr("Important", "Freemind flag"));
+
+    for (int i = 1; i < 8; i++) {
+        setupFlag(QString(":/freemind/priority-%1.png").arg(i),
+                         Flag::FreemindFlag,
+                         QString("freemind-priority-%1").arg(i),
+                         tr("Important", "Freemind flag"));
+        flag->setGroup("freemind-priority");
+    }
+
+    setupFlag(":/freemind/back.png", Flag::FreemindFlag, "freemind-back",
+                     tr("Back", "Freemind flag"));
+
+    setupFlag(":/freemind/forward.png", Flag::FreemindFlag,
+                     "freemind-forward", tr("Forward", "Freemind flag"));
+
+    setupFlag(":/freemind/attach.png", Flag::FreemindFlag,
+                     "freemind-attach", tr("Look here", "Freemind flag"));
+
+    setupFlag(":/freemind/clanbomber.png", Flag::FreemindFlag,
+                     "freemind-clanbomber", tr("Dangerous", "Freemind flag"));
+
+    setupFlag(":/freemind/desktopnew.png", Flag::FreemindFlag,
+                  "freemind-desktopnew", tr("Don't forget", "Freemind flag"));
+
+    setupFlag(":/freemind/flag.png", Flag::FreemindFlag, "freemind-flag",
+                     tr("Flag", "Freemind flag"));
+
+    setupFlag(":/freemind/gohome.png", Flag::FreemindFlag,
+                     "freemind-gohome", tr("Home", "Freemind flag"));
+
+    setupFlag(":/freemind/kaddressbook.png", Flag::FreemindFlag,
+                     "freemind-kaddressbook", tr("Telephone", "Freemind flag"));
+
+    setupFlag(":/freemind/knotify.png", Flag::FreemindFlag,
+                     "freemind-knotify", tr("Music", "Freemind flag"));
+
+    setupFlag(":/freemind/korn.png", Flag::FreemindFlag, "freemind-korn",
+                     tr("Mailbox", "Freemind flag"));
+
+    setupFlag(":/freemind/mail.png", Flag::FreemindFlag, "freemind-mail",
+                     tr("Mail", "Freemind flag"));
+
+    setupFlag(":/freemind/password.png", Flag::FreemindFlag,
+                     "freemind-password", tr("Password", "Freemind flag"));
+
+    setupFlag(":/freemind/pencil.png", Flag::FreemindFlag,
+                     "freemind-pencil", tr("To be improved", "Freemind flag"));
+
+    setupFlag(":/freemind/stop.png", Flag::FreemindFlag, "freemind-stop",
+                     tr("Stop", "Freemind flag"));
+
+    setupFlag(":/freemind/wizard.png", Flag::FreemindFlag,
+                     "freemind-wizard", tr("Magic", "Freemind flag"));
+
+    setupFlag(":/freemind/xmag.png", Flag::FreemindFlag, "freemind-xmag",
+                     tr("To be discussed", "Freemind flag"));
+
+    setupFlag(":/freemind/bell.png", Flag::FreemindFlag, "freemind-bell",
+                     tr("Reminder", "Freemind flag"));
+
+    setupFlag(":/freemind/bookmark.png", Flag::FreemindFlag,
+                     "freemind-bookmark", tr("Excellent", "Freemind flag"));
+
+    setupFlag(":/freemind/penguin.png", Flag::FreemindFlag,
+                     "freemind-penguin", tr("Linux", "Freemind flag"));
+
+    setupFlag(":/freemind/licq.png", Flag::FreemindFlag, "freemind-licq",
+                     tr("Sweet", "Freemind flag"));
+}
+
+Flag *Main::setupFlag(const QString &path, Flag::FlagType type,
+                      const QString &name, const QString &tooltip,
+                      const QUuid &uid, const QKeySequence &keyseq)
+{
+    Flag *flag = nullptr;
+
+    // Create flag in toolbar
+    switch (type) {
+    case Flag::FreemindFlag:
+        // Maybe introduce dedicated toolbar later,
+        // so for now switch to standard flag
+        flag = standardFlagsMaster->createFlag(path);
+        break;
+
+    case Flag::StandardFlag:
+        flag = standardFlagsMaster->createFlag(path);
+        break;
+
+    case Flag::UserFlag:
+        flag = userFlagsMaster->createFlag(path);
+
+        // User flags read from file already have a Uuid - use it
+        if (!uid.isNull())
+            flag->setUuid(uid);
+        break;
+
+    case Flag::SystemFlag:
+        flag = systemFlagsMaster->createFlag(path);
+        break;
+
+    default:
+        qWarning() << "Unknown flag type in MainWindow::setupFlag";
+        break;
+    }
+
+    if (!flag)
+        return flag;
+
+    flag->setName(name);
+    flag->setToolTip(tooltip);
+    flag->setType(type);
+
+    if (type == Flag::SystemFlag)
+        return flag;
+
+    // StandardFlag or user flag
+
+    QAction *a;
+
+    // Set icon for action
+    ImageObj *image = flag->getImageObj();
+    a = new QAction(image->getIcon(), flag->getUuid().toString(), this);
+
+    flag->setAction(a);
+    a->setCheckable(true);
+    a->setObjectName(flag->getUuid().toString());
+    if (tooltip.isEmpty())
+        a->setToolTip(flag->getName()); // Stripped name
+    else
+        a->setToolTip(tooltip);
+
+    if (keyseq != 0) {
+        a->setShortcut(keyseq);
+        a->setShortcutContext(Qt::WidgetShortcut);
+
+        // Allow mapEditors to actually trigger this action
+        mapEditorActions.append(a);
+        taskEditorActions.append(a);
+    }
+
+    switch (type) {
+    case Flag::FreemindFlag:
+        // Hide freemind flags per default
+        // Maybe introduce dedicate toolbar later,
+        // so for now switch to standard flag
+        flag->setVisible(false);
+        type = Flag::StandardFlag;
+        standardFlagsMaster->addActionToToolbar(a);
+
+        connect(a, SIGNAL(triggered()), this, SLOT(flagChanged()));
+        break;
+    case Flag::StandardFlag:
+        // Hide some old flags, if not used
+        if (name == "present" || name == "rose" || name == "phone" ||
+            name == "clock")
+            flag->setVisible(false);
+        standardFlagsMaster->addActionToToolbar(a);
+        connect(a, SIGNAL(triggered()), this, SLOT(flagChanged()));
+        break;
+    case Flag::UserFlag:
+        userFlagsMaster->addActionToToolbar(a);
+        connect(a, SIGNAL(triggered()), this, SLOT(flagChanged()));
+        break;
+    default:
+        qWarning() << "Unknown flag type in MainWindow::setupFlag";
+    }
+
+    a->setVisible(flag->isVisible());
+
+    return flag;
+}
+
+// Network Actions
+void Main::setupNetworkActions()
+{
+    if (!settings.value("/mainwindow/showTestMenu", false).toBool())
+        return;
+
+    QAction *a;
+
+    a = new QAction("Start TCPserver for MapEditor", this);
+    // a->setShortcut ( Qt::ALT + Qt::Key_T );
+    connect(a, SIGNAL(triggered()), this, SLOT(networkStartServer()));
+
+    a = new QAction("Connect MapEditor to server", this);
+    // a->setShortcut ( Qt::ALT + Qt::Key_C );
+    connect(a, SIGNAL(triggered()), this, SLOT(networkConnect()));
+}
+
+// Settings Actions
+void Main::setupSettingsActions()
+{
+    QMenu *settingsMenu = menuBar()->addMenu(tr("Settings"));
+
+    QAction *a;
+
+    a = new QAction(
+        tr("Check for release notes and updates", "Settings action"), this);
+    a->setCheckable(true);
+    a->setChecked(settings.value("/downloads/enabled", true).toBool());
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsToggleDownloads()));
+    settingsMenu->addAction(a);
+    actionSettingsToggleDownloads = a;
+
+    a = new QAction(tr("Set author for new maps", "Settings action") + "...",
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsDefaultMapAuthor()));
+    settingsMenu->addAction(a);
+
+    settingsMenu->addSeparator();
+
+    a = new QAction(tr("Set application to open pdf files", "Settings action") +
+                        "...",
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsPDF()));
+    settingsMenu->addAction(a);
+
+    a = new QAction(
+        tr("Set application to open external links", "Settings action") + "...",
+        this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsURL()));
+    settingsMenu->addAction(a);
+
+    a = new QAction(
+        tr("Set application to zip/unzip files", "Settings action") + "...",
+        this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsZipTool()));
+    // FIXME-2 Disabled for now  settingsMenu->addAction(a);
+
+    a = new QAction(tr("Confluence Credentials", "Settings action") + "...",
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsConfluence()));
+    settingsMenu->addAction(a);
+    actionSettingsConfluence = a;
+
+    a = new QAction(tr("JIRA Credentials", "Settings action") + "...",
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsJIRA()));
+    settingsMenu->addAction(a);
+    actionSettingsJIRA = a;
+
+    a = new QAction(tr("Set path for new maps", "Settings action") + "...",
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsDefaultMapPath()));
+    settingsMenu->addAction(a);
+
+    a = new QAction(tr("Set path for macros", "Settings action") + "...", this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsMacroPath()));
+    settingsMenu->addAction(a);
+
+    a = new QAction(tr("Set number of undo levels", "Settings action") + "...",
+                    this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsUndoLevels()));
+    settingsMenu->addAction(a);
+
+    settingsMenu->addSeparator();
+
+    a = new QAction(tr("Autosave", "Settings action"), this);
+    a->setCheckable(true);
+    a->setChecked(settings.value("/system/autosave/use", true).toBool());
+    settingsMenu->addAction(a);
+    actionSettingsToggleAutosave = a;
+
+    a = new QAction(tr("Autosave time", "Settings action") + "...", this);
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsAutosaveTime()));
+    settingsMenu->addAction(a);
+    actionSettingsAutosaveTime = a;
+
+    // Disable certain actions during testing
+    if (testmode) {
+        actionSettingsToggleAutosave->setChecked(false);
+        actionSettingsToggleAutosave->setEnabled(false);
+        actionSettingsAutosaveTime->setEnabled(false);
+    }
+
+    a = new QAction(tr("Write backup file on save", "Settings action"), this);
+    a->setCheckable(true);
+    a->setChecked(settings.value("/system/writeBackupFile", false).toBool());
+    connect(a, SIGNAL(triggered()), this,
+            SLOT(settingsToggleWriteBackupFile()));
+    settingsMenu->addAction(a);
+    actionSettingsWriteBackupFile = a;
+
+    settingsMenu->addSeparator();
+
+    a = new QAction(tr("Select branch after adding it", "Settings action"),
+                    this);
+    a->setCheckable(true);
+    a->setChecked(
+        settings.value("/mapeditor/editmode/autoSelectNewBranch", false)
+            .toBool());
+    settingsMenu->addAction(a);
+    actionSettingsAutoSelectNewBranch = a;
+
+    a = new QAction(tr("Select existing heading", "Settings action"), this);
+    a->setCheckable(true);
+    a->setChecked(
+        settings.value("/mapeditor/editmode/autoSelectText", true).toBool());
+    settingsMenu->addAction(a);
+    actionSettingsAutoSelectText = a;
+
+    a = new QAction(tr("Exclusive flags", "Settings action"), this);
+    a->setCheckable(true);
+    a->setChecked(
+        settings.value("/mapeditor/editmode/useFlagGroups", true).toBool());
+    settingsMenu->addAction(a);
+    actionSettingsUseFlagGroups = a;
+
+    a = new QAction(tr("Use hide flags", "Settings action"), this);
+    a->setCheckable(true);
+    a->setChecked(settings.value("/export/useHideExport", true).toBool());
+    settingsMenu->addAction(a);
+    actionSettingsUseHideExport = a;
+
+    settingsMenu->addSeparator();
+
+    a = new QAction(
+        tr("Dark theme", "Settings action") + "...",
+        this);
+    connect(a, SIGNAL(triggered()), this,
+            SLOT(settingsDarkTheme()));
+    settingsMenu->addAction(a);
+    actionSettingsDarkTheme= a;
+
+    a = new QAction(
+        tr("Number of visible parents in task editor", "Settings action") + "...",
+        this);
+    connect(a, SIGNAL(triggered()), this,
+            SLOT(settingsShowParentsLevelTasks()));
+    settingsMenu->addAction(a);
+    actionSettingsShowParentsLevelTasks = a;
+
+    a = new QAction(tr("Number of visible parents in find results window",
+                       "Settings action") + "...",
+                    this);
+    connect(a, SIGNAL(triggered()), this,
+            SLOT(settingsShowParentsLevelFindResults()));
+    settingsMenu->addAction(a);
+    actionSettingsShowParentsLevelFindResults = a;
+
+    a = new QAction(tr("Animation", "Settings action"), this);
+    a->setCheckable(true);
+    a->setChecked(settings.value("/animation/use", true).toBool());
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsToggleAnimation()));
+    settingsMenu->addAction(a);
+    actionSettingsUseAnimation = a;
+
+    a = new QAction(tr("Automatic layout", "Settings action"), this);
+    a->setCheckable(true);
+    a->setChecked(settings.value("/mainwindow/autoLayout/use", true).toBool());
+    connect(a, SIGNAL(triggered()), this, SLOT(settingsToggleAutoLayout()));
+    settingsMenu->addAction(a);
+    actionSettingsToggleAutoLayout = a;
+}
+
+// Test Actions
+void Main::setupTestActions()
+{
+    QMenu *testMenu = menuBar()->addMenu(tr("Test"));
+
+    QString tag = "Testing";
+    QAction *a;
+    a = new QAction("Test function 1", this);
+    a->setShortcut(Qt::ALT + Qt::Key_T);
+    testMenu->addAction(a);
+    switchboard.addSwitch("mapTest1", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(testFunction1()));
+
+    a = new QAction("Test function 2", this);
+    // a->setShortcut (Qt::ALT + Qt::Key_T);
+    testMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(testFunction2()));
+
+    a = new QAction("Toggle hide export mode", this);
+    a->setCheckable(true);
+    a->setChecked(false);
+    testMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleHideExport()));
+    actionToggleHideMode = a;
+
+    testMenu->addAction(actionToggleWinter);
+}
+
+// Help Actions
+void Main::setupHelpActions()
+{
+    QMenu *helpMenu = menuBar()->addMenu(tr("&Help", "Help menubar entry"));
+
+    QAction *a;
+    a = new QAction(tr("Open VYM Documentation (pdf) ", "Help action"), this);
+    helpMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(helpDoc()));
+
+    a = new QAction(tr("Open VYM example maps ", "Help action"), this);
+    helpMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(helpDemo()));
+    helpMenu->addSeparator();
+
+    a = new QAction(tr("Download and show release notes", "Help action"), this);
+    helpMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(checkReleaseNotes()));
+
+    a = new QAction(tr("Check, if updates are available", "Help action"), this);
+    helpMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(checkUpdates()));
+    helpMenu->addSeparator();
+
+    a = new QAction(tr("Show keyboard shortcuts", "Help action"), this);
+    helpMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(helpShortcuts()));
+
+    a = new QAction(tr("Show keyboard macros", "Help action"), this);
+    helpMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(helpMacros()));
+
+    a = new QAction(tr("Show scripting commands", "Help action"), this);
+    helpMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(helpScriptingCommands()));
+
+    a = new QAction(tr("Debug info", "Option to show debugging info"), this);
+    helpMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(helpDebugInfo()));
+
+    a = new QAction(tr("About QT", "Help action"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(helpAboutQT()));
+    helpMenu->addAction(a);
+
+    a = new QAction(tr("About VYM", "Help action"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(helpAbout()));
+    helpMenu->addAction(a);
+}
+
+// Context Menus
+void Main::setupContextMenus()
+{
+    // Context menu for goto/move targets  (populated on demand)
+    targetsContextMenu = new QMenu(this);
+
+    // Context Menu for branch or mapcenter
+    branchContextMenu = new QMenu(this);
+    branchContextMenu->addAction(actionViewTogglePropertyEditor);
+    branchContextMenu->addSeparator();
+
+    // Submenu "Add"
+    branchAddContextMenu = branchContextMenu->addMenu(tr("Add"));
+    branchAddContextMenu->addAction(actionPaste);
+    branchAddContextMenu->addAction(actionAddMapCenter);
+    branchAddContextMenu->addAction(actionAddBranch);
+    branchAddContextMenu->addAction(actionAddBranchBefore);
+    branchAddContextMenu->addAction(actionAddBranchAbove);
+    branchAddContextMenu->addAction(actionAddBranchBelow);
+    branchAddContextMenu->addSeparator();
+    branchAddContextMenu->addAction(actionImportAdd);
+    branchAddContextMenu->addAction(actionImportReplace);
+
+    // Submenu "Remove"
+    branchRemoveContextMenu =
+        branchContextMenu->addMenu(tr("Remove", "Context menu name"));
+    branchRemoveContextMenu->addAction(actionCut);
+    branchRemoveContextMenu->addAction(actionDelete);
+    branchRemoveContextMenu->addAction(actionDeleteKeepChildren);
+    branchRemoveContextMenu->addAction(actionDeleteChildren);
+
+    branchContextMenu->addAction(actionSaveBranch);
+    branchContextMenu->addAction(actionFileNewCopy);
+    branchContextMenu->addAction(actionDetach);
+
+    branchContextMenu->addSeparator();
+    branchContextMenu->addAction(actionLoadImage);
+    if (settings.value("/mainwindow/showTestMenu", false).toBool())
+        branchContextMenu->addAction(actionAddAttribute);
+
+    branchContextMenu->addSeparator();
+
+    // Context menu for tasks
+    taskContextMenu = branchContextMenu->addMenu(tr("Tasks", "Context menu"));
+    taskContextMenu->addAction(actionToggleTask);
+    taskContextMenu->addAction(actionCycleTaskStatus);
+    taskContextMenu->addAction(actionTaskResetDeltaPrio);
+    taskContextMenu->addSeparator();
+    taskContextMenu->addAction(actionTaskSleep0);
+    taskContextMenu->addAction(actionTaskSleepN);
+    taskContextMenu->addAction(actionTaskSleep1);
+    taskContextMenu->addAction(actionTaskSleep2);
+    taskContextMenu->addAction(actionTaskSleep3);
+    taskContextMenu->addAction(actionTaskSleep4);
+    taskContextMenu->addAction(actionTaskSleep5);
+    taskContextMenu->addAction(actionTaskSleep7);
+    taskContextMenu->addAction(actionTaskSleep14);
+    taskContextMenu->addAction(actionTaskSleep28);
+
+    // Submenu for Links (URLs, vymLinks)
+    branchLinksContextMenu = new QMenu(this);
+
+    branchLinksContextMenu = branchContextMenu->addMenu(
+        tr("References (URLs, vymLinks, ...)", "Context menu name"));
+    branchLinksContextMenu->addAction(actionOpenURL);
+    branchLinksContextMenu->addAction(actionOpenURLTab);
+    branchLinksContextMenu->addAction(actionOpenMultipleVisURLTabs);
+    branchLinksContextMenu->addAction(actionOpenMultipleURLTabs);
+    branchLinksContextMenu->addAction(actionURLNew);
+    branchLinksContextMenu->addAction(actionLocalURL);
+    branchLinksContextMenu->addAction(actionGetURLsFromNote);
+    branchLinksContextMenu->addAction(actionHeading2URL);
+    branchLinksContextMenu->addAction(actionGetJiraDataSubtree);
+    branchLinksContextMenu->addAction(actionGetConfluencePageName);
+    branchLinksContextMenu->addSeparator();
+    branchLinksContextMenu->addAction(actionOpenVymLink);
+    branchLinksContextMenu->addAction(actionOpenVymLinkBackground);
+    branchLinksContextMenu->addAction(actionOpenMultipleVymLinks);
+    branchLinksContextMenu->addAction(actionEditVymLink);
+    branchLinksContextMenu->addAction(actionDeleteVymLink);
+
+    // Context Menu for XLinks in a branch menu
+    // This will be populated "on demand" in updateActions
+    QString tag = tr("XLinks", "Menu for file actions");
+    branchContextMenu->addSeparator();
+    branchXLinksContextMenuEdit =
+        branchContextMenu->addMenu(tr("Edit XLink", "Context menu name"));
+    connect(branchXLinksContextMenuEdit, SIGNAL(triggered(QAction *)), this,
+            SLOT(editEditXLink(QAction *)));
+    QAction *a;
+    a = new QAction(tr("Follow XLink", "Context menu"), this);
+    a->setShortcut(Qt::Key_F);
+    addAction(a);
+    switchboard.addSwitch("mapFollowXLink", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(popupFollowXLink()));
+
+    branchXLinksContextMenuFollow =
+        branchContextMenu->addMenu(tr("Follow XLink", "Context menu name"));
+    connect(branchXLinksContextMenuFollow, SIGNAL(triggered(QAction *)), this,
+            SLOT(editFollowXLink(QAction *)));
+
+    // Context menu for floatimage
+    floatimageContextMenu = new QMenu(this);
+    a = new QAction(tr("Save image", "Context action"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(editSaveImage()));
+    floatimageContextMenu->addAction(a);
+
+    floatimageContextMenu->addSeparator();
+    floatimageContextMenu->addAction(actionCopy);
+    floatimageContextMenu->addAction(actionCut);
+
+    floatimageContextMenu->addSeparator();
+    floatimageContextMenu->addAction(actionGrowSelectionSize);
+    floatimageContextMenu->addAction(actionShrinkSelectionSize);
+    floatimageContextMenu->addAction(actionFormatHideLinkUnselected);
+
+    // Context menu for canvas
+    canvasContextMenu = new QMenu(this);
+
+    canvasContextMenu->addAction(actionAddMapCenter);
+
+    canvasContextMenu->addSeparator();
+
+    canvasContextMenu->addAction(actionMapProperties);
+    canvasContextMenu->addAction(actionFormatFont);
+
+    canvasContextMenu->addSeparator();
+
+    canvasContextMenu->addActions(actionGroupFormatLinkStyles->actions());
+
+    canvasContextMenu->addSeparator();
+
+    canvasContextMenu->addAction(actionFormatLinkColorHint);
+
+    canvasContextMenu->addSeparator();
+
+    canvasContextMenu->addAction(actionFormatLinkColor);
+    canvasContextMenu->addAction(actionFormatSelectionColor);
+    canvasContextMenu->addAction(actionFormatBackColor);
+    // if (settings.value( "/mainwindow/showTestMenu",false).toBool() )
+    //    canvasContextMenu->addAction( actionFormatBackImage );  //FIXME-3
+    //    makes vym too slow: postponed for later version
+
+    // Menu for last opened files
+    // Create actions
+    for (int i = 0; i < MaxRecentFiles; ++i) {
+        recentFileActions[i] = new QAction(this);
+        recentFileActions[i]->setVisible(false);
+        fileLastMapsMenu->addAction(recentFileActions[i]);
+        connect(recentFileActions[i], SIGNAL(triggered()), this,
+                SLOT(fileLoadRecent()));
+    }
+    setupRecentMapsMenu();
+}
+
+void Main::setupRecentMapsMenu()
+{
+    QStringList files =
+        settings.value("/mainwindow/recentFileList").toStringList();
+
+    int numRecentFiles = qMin(files.size(), (int)MaxRecentFiles);
+
+    for (int i = 0; i < numRecentFiles; ++i) {
+        QString text = QString("&%1 %2").arg(i + 1).arg(files[i]);
+        recentFileActions[i]->setText(text);
+        recentFileActions[i]->setData(files[i]);
+        recentFileActions[i]->setVisible(true);
+    }
+    for (int j = numRecentFiles; j < MaxRecentFiles; ++j)
+        recentFileActions[j]->setVisible(false);
+}
+
+void Main::setupMacros()
+{
+    for (int i = 0; i <= 23; i++) {
+        macroActions[i] = new QAction(this);
+        macroActions[i]->setData(i);
+        addAction(macroActions[i]);
+        connect(macroActions[i], SIGNAL(triggered()), this, SLOT(callMacro()));
+    }
+    macroActions[0]->setShortcut(Qt::Key_F1);
+    macroActions[1]->setShortcut(Qt::Key_F2);
+    macroActions[2]->setShortcut(Qt::Key_F3);
+    macroActions[3]->setShortcut(Qt::Key_F4);
+    macroActions[4]->setShortcut(Qt::Key_F5);
+    macroActions[5]->setShortcut(Qt::Key_F6);
+    macroActions[6]->setShortcut(Qt::Key_F7);
+    macroActions[7]->setShortcut(Qt::Key_F8);
+    macroActions[8]->setShortcut(Qt::Key_F9);
+    macroActions[9]->setShortcut(Qt::Key_F10);
+    macroActions[10]->setShortcut(Qt::Key_F11);
+    macroActions[11]->setShortcut(Qt::Key_F12);
+
+    macroActions[12]->setShortcut(Qt::Key_F1 + Qt::SHIFT);
+    macroActions[13]->setShortcut(Qt::Key_F2 + Qt::SHIFT);
+    macroActions[14]->setShortcut(Qt::Key_F3 + Qt::SHIFT);
+    macroActions[15]->setShortcut(Qt::Key_F4 + Qt::SHIFT);
+    macroActions[16]->setShortcut(Qt::Key_F5 + Qt::SHIFT);
+    macroActions[17]->setShortcut(Qt::Key_F6 + Qt::SHIFT);
+    macroActions[18]->setShortcut(Qt::Key_F7 + Qt::SHIFT);
+    macroActions[19]->setShortcut(Qt::Key_F8 + Qt::SHIFT);
+    macroActions[20]->setShortcut(Qt::Key_F9 + Qt::SHIFT);
+    macroActions[21]->setShortcut(Qt::Key_F10 + Qt::SHIFT);
+    macroActions[22]->setShortcut(Qt::Key_F11 + Qt::SHIFT);
+    macroActions[23]->setShortcut(Qt::Key_F12 + Qt::SHIFT);
+}
+
+void Main::setupToolbars()
+{
+    // File actions
+    fileToolbar =
+        addToolBar(tr("File actions toolbar", "Toolbar for file actions"));
+    fileToolbar->setObjectName("fileTB");
+    fileToolbar->addAction(actionFileNew);
+    fileToolbar->addAction(actionFileOpen);
+    fileToolbar->addAction(actionFileSave);
+    fileToolbar->addAction(actionFileExportLast);
+    fileToolbar->addAction(actionFilePrint);
+
+    // Undo/Redo and clipboard
+    clipboardToolbar = addToolBar(tr("Undo and clipboard toolbar",
+                                     "Toolbar for redo/undo and clipboard"));
+    clipboardToolbar->setObjectName("clipboard toolbar");
+    clipboardToolbar->addAction(actionUndo);
+    clipboardToolbar->addAction(actionRedo);
+    clipboardToolbar->addAction(actionCopy);
+    clipboardToolbar->addAction(actionCut);
+    clipboardToolbar->addAction(actionPaste);
+
+    // Basic edits
+    editActionsToolbar = addToolBar(tr("Edit actions toolbar", "Toolbar name"));
+    editActionsToolbar->setObjectName("basic edit actions TB");
+    editActionsToolbar->addAction(actionAddMapCenter);
+    editActionsToolbar->addAction(actionAddBranch);
+    editActionsToolbar->addAction(actionMoveUp);
+    editActionsToolbar->addAction(actionMoveDown);
+    editActionsToolbar->addAction(actionMoveDownDiagonally);
+    editActionsToolbar->addAction(actionMoveUpDiagonally);
+    editActionsToolbar->addAction(actionSortChildren);
+    editActionsToolbar->addAction(actionSortBackChildren);
+    editActionsToolbar->addAction(actionToggleScroll);
+    editActionsToolbar->addAction(actionToggleHideExport);
+    editActionsToolbar->addAction(actionToggleTask);
+    // editActionsToolbar->addAction (actionExpandAll);
+    // editActionsToolbar->addAction (actionExpandOneLevel);
+    // editActionsToolbar->addAction (actionCollapseOneLevel);
+    // editActionsToolbar->addAction (actionCollapseUnselected);
+
+    // Selections
+    selectionToolbar = addToolBar(tr("Selection toolbar", "Toolbar name"));
+    selectionToolbar->setObjectName("toolbar for selecting items");
+    selectionToolbar->addAction(actionToggleTarget);
+    selectionToolbar->addAction(actionSelectPrevious);
+    selectionToolbar->addAction(actionSelectNext);
+    selectionToolbar->addAction(actionFind);
+
+    // URLs and vymLinks
+    referencesToolbar = addToolBar(
+        tr("URLs and vymLinks toolbar", "Toolbar for URLs and vymlinks"));
+    referencesToolbar->setObjectName("URLs and vymlinks toolbar");
+    referencesToolbar->addAction(actionURLNew);
+    referencesToolbar->addAction(actionEditVymLink);
+
+    // Format and colors
+    colorsToolbar = new QToolBar(tr("Colors toolbar", "Colors toolbar name"));
+    colorsToolbar->setObjectName("colorsTB");
+
+    actionGroupQuickColors = new QActionGroup(this);
+    actionGroupQuickColors->setExclusive(true);
+
+    // Define quickColors
+    QColor c;
+    c.setNamedColor ("#ff0000"); quickColors << c;  // Red
+    c.setNamedColor ("#d95100"); quickColors << c;  // Orange
+    c.setNamedColor ("#009900"); quickColors << c;  // Green
+    c.setNamedColor ("#aa00ff"); quickColors << c;  // Purple
+    c.setNamedColor ("#0000ff"); quickColors << c;  // Blue
+    c.setNamedColor ("#00aaff"); quickColors << c;  // LightBlue
+    usingDarkTheme ? vymBlue = c : vymBlue = quickColors.count() - 2;
+    c.setNamedColor ("#000000"); quickColors << c;  // Black
+    c.setNamedColor ("#444444"); quickColors << c;  // Dark gray
+    c.setNamedColor ("#aaaaaa"); quickColors << c;  // Light gray
+    c.setNamedColor ("#ffffff"); quickColors << c;  // White
+    //c.setNamedColor ("#00aa7f"); quickColors << c;  // Light green
+    //c.setNamedColor ("#c466ff"); quickColors << c;  // Light purple
+
+    QPixmap pix(16, 16);
+    QAction *a;
+    int n = 0;
+    foreach (c, quickColors) {
+        pix.fill(c);
+        a = new QAction(pix, tr("Select color (Press Shift for more options)") + QString("..."), actionGroupQuickColors);
+        a->setCheckable(true);
+        a->setData(n);
+        //formatMenu->addAction(a);
+        // switchboard.addSwitch("mapFormatColor", shortcutScope, a, tag);
+        connect(a, SIGNAL(triggered()), this, SLOT(quickColorPressed()));
+        colorsToolbar->addAction(a);
+        n++;
+    }
+    actionGroupQuickColors->actions().first()->setChecked(true);
+
+    colorsToolbar->addAction(actionFormatPickColor);
+    colorsToolbar->addAction(actionFormatColorBranch);
+    colorsToolbar->addAction(actionFormatColorSubtree);
+    // Only place toolbar on very first startup
+    if (settings.value("/mainwindow/recentFileList").toStringList().isEmpty())
+        addToolBar (Qt::RightToolBarArea, colorsToolbar);
+    else
+        addToolBar (colorsToolbar);
+
+    // Zoom
+    zoomToolbar = addToolBar(tr("View toolbar", "View Toolbar name"));
+    zoomToolbar->setObjectName("viewTB");
+    zoomToolbar->addAction(actionTogglePresentationMode);
+    zoomToolbar->addAction(actionZoomIn);
+    zoomToolbar->addAction(actionZoomOut);
+    zoomToolbar->addAction(actionZoomReset);
+    zoomToolbar->addAction(actionCenterOn);
+    zoomToolbar->addAction(actionRotateCounterClockwise);
+    zoomToolbar->addAction(actionRotateClockwise);
+
+    // Editors
+    editorsToolbar = addToolBar(tr("Editors toolbar", "Editor Toolbar name"));
+    editorsToolbar->setObjectName("editorsTB");
+    editorsToolbar->addAction(actionViewToggleNoteEditor);
+    editorsToolbar->addAction(actionViewToggleHeadingEditor);
+    editorsToolbar->addAction(actionViewToggleTreeEditor);
+    editorsToolbar->addAction(actionViewToggleTaskEditor);
+    editorsToolbar->addAction(actionViewToggleSlideEditor);
+    editorsToolbar->addAction(actionViewToggleScriptEditor);
+    editorsToolbar->addAction(actionViewToggleHistoryWindow);
+
+    // Modifier modes
+    modModesToolbar =
+        addToolBar(tr("Modifier modes toolbar", "Modifier Toolbar name"));
+    modModesToolbar->setObjectName("modesTB");
+    modModesToolbar->addAction(actionModModePoint);
+    modModesToolbar->addAction(actionModModeColor);
+    modModesToolbar->addAction(actionModModeXLink);
+    modModesToolbar->addAction(actionModModeMoveObject);
+    modModesToolbar->addAction(actionModModeMoveView);
+
+    // Create flag toolbars (initialized later in setupFlagActions() )
+    addToolBarBreak();
+    standardFlagsToolbar =
+        addToolBar(tr("Standard Flags toolbar", "Standard Flag Toolbar"));
+    standardFlagsToolbar->setObjectName("standardFlagTB");
+    standardFlagsMaster->setToolBar(standardFlagsToolbar);
+
+    userFlagsToolbar =
+        addToolBar(tr("User Flags toolbar", "user Flags Toolbar"));
+    userFlagsToolbar->setObjectName("userFlagsTB");
+    userFlagsMaster->setToolBar(userFlagsToolbar);
+    userFlagsMaster->createConfigureAction();
+
+    // Add all toolbars to View menu
+    toolbarsMenu->addAction(fileToolbar->toggleViewAction());
+    toolbarsMenu->addAction(clipboardToolbar->toggleViewAction());
+    toolbarsMenu->addAction(editActionsToolbar->toggleViewAction());
+    toolbarsMenu->addAction(selectionToolbar->toggleViewAction());
+    toolbarsMenu->addAction(colorsToolbar->toggleViewAction());
+    toolbarsMenu->addAction(zoomToolbar->toggleViewAction());
+    toolbarsMenu->addAction(modModesToolbar->toggleViewAction());
+    toolbarsMenu->addAction(referencesToolbar->toggleViewAction());
+    toolbarsMenu->addAction(editorsToolbar->toggleViewAction());
+    toolbarsMenu->addAction(userFlagsToolbar->toggleViewAction());
+    toolbarsMenu->addAction(standardFlagsToolbar->toggleViewAction());
+
+    // Initialize toolbarStates for presentation mode
+    toolbarStates[fileToolbar] = true;
+    toolbarStates[clipboardToolbar] = true;
+    toolbarStates[editActionsToolbar] = true;
+    toolbarStates[selectionToolbar] = false;
+    toolbarStates[colorsToolbar] = true;
+    toolbarStates[zoomToolbar] = true;
+    toolbarStates[modModesToolbar] = false;
+    toolbarStates[referencesToolbar] = true;
+    toolbarStates[editorsToolbar] = false;
+    toolbarStates[standardFlagsToolbar] = true;
+    toolbarStates[userFlagsToolbar] = true;
+
+    // Initialize toolbar visibilities and switch off presentation mode
+    presentationMode = true;
+    togglePresentationMode();
+}
+
+VymView *Main::currentView() const
+{
+    if (tabWidget->currentWidget())
+        return (VymView *)tabWidget->currentWidget();
+    else
+        return nullptr;
+}
+
+VymView *Main::view(const int i) { return (VymView *)tabWidget->widget(i); }
+
+MapEditor *Main::currentMapEditor() const
+{
+    if (tabWidget->currentWidget())
+        return currentView()->getMapEditor();
+    return nullptr;
+}
+
+uint Main::currentMapID() const
+{
+    VymModel *m = currentModel();
+    if (m)
+        return m->getModelID();
+    else
+        return 0;
+}
+
+int Main::currentMapIndex() const { return tabWidget->currentIndex(); }
+
+VymModel *Main::currentModel() const
+{
+    VymView *vv = currentView();
+    if (vv)
+        return vv->getModel();
+    else
+        return NULL;
+}
+
+VymModel *Main::getModel(uint id) // Used in BugAgent
+{
+    if (id <= 0)
+        return NULL;
+
+    for (int i = 0; i < tabWidget->count(); i++) {
+        if (view(i)->getModel()->getModelID() == id)
+            return view(i)->getModel();
+    }
+    return NULL;
+}
+
+void Main::gotoModel(VymModel *m)
+{
+    for (int i = 0; i < tabWidget->count(); i++)
+        if (view(i)->getModel() == m) {
+            tabWidget->setCurrentIndex(i);
+            return;
+        }
+}
+
+void Main::gotoModelWithID(uint id)
+{
+    VymModel *vm;
+    for (int i = 0; i < tabWidget->count(); i++) {
+        vm = view(i)->getModel();
+        if (vm && vm->getModelID() == id) {
+            tabWidget->setCurrentIndex(i);
+            return;
+        }
+    }
+}
+
+bool Main::closeModelWithID(uint id)
+{
+    VymModel *vm;
+    for (int i = 0; i < tabWidget->count(); i++) {
+        vm = view(i)->getModel();
+        if (vm && vm->getModelID() == id) {
+            tabWidget->removeTab(i);
+
+            // Destroy stuff, order is important
+            delete (vm->getMapEditor());
+            delete (view(i));
+            delete (vm);
+
+            updateActions();
+            return true;
+        }
+    }
+    return false;
+}
+
+int Main::modelCount() { return tabWidget->count(); }
+
+void Main::updateTabName(VymModel *vm)
+{
+    if (!vm) {
+        qWarning() << "Main::updateTabName   vm == NULL";
+        return;
+    }
+
+    for (int i = 0; i < tabWidget->count(); i++)
+        if (view(i)->getModel() == vm) {
+            if (vm->isReadOnly())
+                tabWidget->setTabText(i, vm->getFileName() + " " +
+                                             tr("(readonly)"));
+            else
+                tabWidget->setTabText(i, vm->getFileName());
+            return;
+        }
+}
+
+void Main::editorChanged()
+{
+    VymModel *vm = currentModel();
+    if (vm) {
+        BranchItem *bi = vm->getSelectedBranch();
+        updateNoteEditor(bi);
+        updateHeadingEditor(bi);
+        updateQueries(vm);
+        taskEditor->setMapName(vm->getMapName());
+        updateDockWidgetTitles(vm);
+    }
+
+    // Update actions to in menus and toolbars according to editor
+    updateActions();
+}
+
+void Main::fileNew()
+{
+    VymModel *vm;
+
+    // Don't show counter while loading default map
+    removeProgressCounter();
+
+    if (File::Success != fileLoad(newMapPath(), DefaultMap, VymMap)) {
+        QMessageBox::critical(0, tr("Critical Error"),
+                              tr("Couldn't load default map:\n\n%1\n\nvym will "
+                                 "create an empty map now.",
+                                 "Mainwindow: Failed to load default map")
+                                  .arg(newMapPath()));
+
+        vm = currentModel();
+
+        // Create MapCenter for empty map  
+        vm->addMapCenter(false);
+        vm->makeDefault();
+
+        // For the very first map we do not have flagrows yet...
+        vm->select("mc:");
+
+        // Set name to "unnamed"
+        updateTabName(vm);
+    }
+    else {
+        vm = currentModel();
+    }
+    
+    // Switch to new tab    
+    tabWidget->setCurrentIndex(tabWidget->count() - 1);
+}
+
+void Main::fileNewCopy()
+{
+    QString fn = "unnamed";
+    VymModel *srcModel = currentModel();
+    if (srcModel) {
+        srcModel->copy();
+        fileNew();
+        VymModel *dstModel = view(tabWidget->count() - 1)->getModel();
+        if (dstModel && dstModel->select("mc:0"))
+            dstModel->paste();
+        else
+            qWarning() << "Main::fileNewCopy couldn't select mapcenter";
+    }
+}
+
+File::ErrorCode Main::fileLoad(QString fn, const LoadMode &lmode,
+                               const FileType &ftype)
+{
+    File::ErrorCode err = File::Success;
+
+    // fn is usually the archive, mapfile the file after uncompressing
+    QString mapfile;
+
+    // Make fn absolute (needed for unzip)
+    fn = QDir(fn).absolutePath();
+
+    VymModel *vm;
+
+    if (lmode == NewMap) {
+        // Check, if map is already loaded
+        int i = 0;
+        while (i <= tabWidget->count() - 1) {
+            if (view(i)->getModel()->getFilePath() == fn) {
+                // Already there, ask for confirmation
+                QMessageBox mb(
+                    vymName,
+                    tr("The map %1\nis already opened."
+                       "Opening the same map in multiple editors may lead \n"
+                       "to confusion when finishing working with vym."
+                       "Do you want to")
+                        .arg(fn),
+                    QMessageBox::Warning,
+                    QMessageBox::Yes | QMessageBox::Default,
+                    QMessageBox::Cancel | QMessageBox::Escape,
+                    QMessageBox::NoButton);
+                mb.setButtonText(QMessageBox::Yes, tr("Open anyway"));
+                mb.setButtonText(QMessageBox::Cancel, tr("Cancel"));
+                switch (mb.exec()) {
+                case QMessageBox::Yes:
+                    // end loop and load anyway
+                    i = tabWidget->count();
+                    break;
+                case QMessageBox::Cancel:
+                    // do nothing
+                    return File::Aborted;
+                    break;
+                }
+            }
+            i++;
+        }
+    }
+
+    bool createModel;
+
+    // Try to load map
+    if (!fn.isEmpty()) {
+        // Find out, if we need to create a new map model
+
+        vm = currentModel();
+
+        if (lmode == NewMap) {
+            if (vm && vm->isDefault()) {
+                // There is a map model already and it still the default map,
+                // use it.
+                createModel = false;
+            }
+            else
+                createModel = true;
+        }
+        else if (lmode == DefaultMap) {
+            createModel = true;
+        }
+        else if (lmode == ImportAdd || lmode == ImportReplace) {
+            if (!vm) {
+                QMessageBox::warning(0, "Warning",
+                                     "Trying to import into non existing map");
+                return File::Aborted;
+            }
+            else
+                createModel = false;
+        }
+        else
+            createModel = true;
+
+        if (createModel) {
+            vm = new VymModel;
+            VymView *vv = new VymView(vm);
+
+            tabWidget->addTab(vv, fn);
+            vv->initFocus();
+        }
+
+        // Check, if file exists (important for creating new files
+        // from command line
+        if (!QFile(fn).exists()) {
+            if (lmode == DefaultMap) {
+                return File::Aborted;
+            }
+
+            if (lmode == NewMap) {
+                QMessageBox mb(vymName,
+                               tr("This map does not exist:\n  %1\nDo you want "
+                                  "to create a new one?")
+                                   .arg(fn),
+                               QMessageBox::Question, QMessageBox::Yes,
+                               QMessageBox::Cancel | QMessageBox::Default,
+                               QMessageBox::NoButton);
+
+                mb.setButtonText(QMessageBox::Yes, tr("Create"));
+                mb.setButtonText(QMessageBox::No, tr("Cancel"));
+
+                vm = currentMapEditor()->getModel();
+                switch (mb.exec()) {
+                case QMessageBox::Yes:
+                    // Create new map
+                    vm->setFilePath(fn);
+                    updateTabName(vm);
+                    statusBar()->showMessage("Created " + fn, statusbarTime);
+                    return File::Success;
+
+                case QMessageBox::Cancel:
+                    // don't create new map
+                    statusBar()->showMessage("Loading " + fn + " failed!",
+                                             statusbarTime);
+                    int cur = tabWidget->currentIndex();
+                    tabWidget->setCurrentIndex(tabWidget->count() - 1);
+                    fileCloseMap();
+                    tabWidget->setCurrentIndex(cur);
+                    return File::Aborted;
+                }
+
+                // ImportAdd or ImportReplace
+                qWarning() << QString("Warning:  Could not import %1 into %2")
+                                  .arg(fn)
+                                  .arg(vm->getFilePath());
+                return File::Aborted;
+            }
+        }
+
+        if (err != File::Aborted) {
+            // Save existing filename in case  we import
+            QString fn_org = vm->getFilePath();
+
+            if (lmode != DefaultMap) {
+
+                vm->setFilePath(fn);
+                vm->saveStateBeforeLoad(lmode, fn);
+
+                progressDialog.setLabelText(
+                    tr("Loading: %1", "Progress dialog while loading maps")
+                        .arg(fn));
+            }
+
+            // Finally load map into mapEditor
+            err = vm->loadMap(fn, lmode, ftype);
+
+            // Restore old (maybe empty) filepath, if this is an import
+            if (lmode == ImportAdd || lmode == ImportReplace)
+                vm->setFilePath(fn_org);
+        }
+
+        // Finally check for errors and go home
+        if (err == File::Aborted) {
+            if (lmode == NewMap)
+                fileCloseMap();
+            statusBar()->showMessage("Could not load " + fn, statusbarTime);
+        }
+        else {
+            if (lmode == NewMap) {
+                vm->setFilePath(fn);
+                updateTabName(vm);
+                actionFilePrint->setEnabled(true);
+                addRecentMap(fn);
+            }
+            else if (lmode == DefaultMap) {
+                vm->makeDefault();
+                updateTabName(vm);
+            }
+            editorChanged();
+            vm->emitShowSelection();
+            statusBar()->showMessage("Loaded " + fn, statusbarTime);
+        }
+    }
+
+    fileSaveSession();
+
+    return err;
+}
+
+void Main::fileLoad(const LoadMode &lmode)
+{
+    QString caption;
+    switch (lmode) {
+    case NewMap:
+        caption = vymName + " - " + tr("Load vym map");
+        break;
+    case DefaultMap:
+        // Not used directly
+        return;
+    case ImportAdd:
+        caption = vymName + " - " + tr("Import: Add vym map to selection");
+        break;
+    case ImportReplace:
+        caption =
+            vymName + " - " + tr("Import: Replace selection with vym map");
+        break;
+    }
+
+    QString filter;
+    filter += "VYM map " + tr("or", "File Dialog") + " Freemind map" +
+              " (*.xml *.vym *.vyp *.mm);;";
+    filter += "VYM map (*.vym *.vyp);;";
+    filter += "VYM Backups (*.vym~);;";
+    filter += "Freemind map (*.mm);;";
+    filter += "XML (*.xml);;";
+    filter += "All (* *.*)";
+    QStringList fns =
+        QFileDialog::getOpenFileNames(this, caption, lastMapDir.path(), filter);
+
+    if (!fns.isEmpty()) {
+        initProgressCounter(fns.count());
+        lastMapDir.setPath(fns.first().left(fns.first().lastIndexOf("/")));
+        foreach (QString fn, fns)
+            fileLoad(fn, lmode, getMapType(fn));
+    }
+    removeProgressCounter();
+}
+
+void Main::fileLoad()
+{
+    fileLoad(NewMap);
+    tabWidget->setCurrentIndex(tabWidget->count() - 1);
+}
+
+void Main::fileSaveSession()
+{
+    QStringList flist;
+    for (int i = 0; i < tabWidget->count(); i++)
+        flist.append(view(i)->getModel()->getFilePath());
+
+    settings.setValue("/mainwindow/sessionFileList", flist);
+
+    // Also called by event loop regulary, but apparently not often enough
+    settings.sync();
+}
+
+void Main::fileRestoreSession()
+{
+    restoreMode = true;
+
+    QStringList::Iterator it = lastSessionFiles.begin();
+
+    initProgressCounter(lastSessionFiles.count());
+    while (it != lastSessionFiles.end()) {
+        FileType type = getMapType(*it);
+        fileLoad(*it, NewMap, type);
+        *it++;
+    }
+    removeProgressCounter();
+
+    // By now all files should have been loaded
+    // Reset the restore flag and display message if needed
+    if (ignoredLockedFiles.count() > 0) {
+        QString msg(
+            QObject::tr("Existing lockfiles have been ignored for the maps "
+                        "listed below. Please check, if the maps might be "
+                        "openend in another instance of vym:\n\n"));
+        WarningDialog warn;
+        warn.setMinimumWidth(800);
+        warn.setMinimumHeight(350);
+        warn.showCancelButton(false);
+        warn.setCaption("Existing lockfiles ignored");
+        warn.setText(msg + ignoredLockedFiles.join("\n"));
+        warn.exec();
+    }
+
+    restoreMode = false;
+    ignoredLockedFiles.clear();
+}
+
+void Main::fileLoadRecent()
+{
+    QAction *action = qobject_cast<QAction *>(sender());
+    if (action) {
+        initProgressCounter();
+        QString fn = action->data().toString();
+        FileType type = getMapType(fn);
+        fileLoad(fn, NewMap, type);
+        removeProgressCounter();
+        tabWidget->setCurrentIndex(tabWidget->count() - 1);
+    }
+}
+
+void Main::addRecentMap(const QString &fileName)
+{
+
+    QStringList files =
+        settings.value("/mainwindow/recentFileList").toStringList();
+    files.removeAll(fileName);
+    files.prepend(fileName);
+    while (files.size() > MaxRecentFiles)
+        files.removeLast();
+
+    settings.setValue("/mainwindow/recentFileList", files);
+
+    setupRecentMapsMenu();
+}
+
+void Main::fileSave(VymModel *m, const SaveMode &savemode)
+{
+    if (!m)
+        return;
+
+    if (m->isReadOnly())
+        return;
+
+    if (m->getFilePath().isEmpty()) {
+        // We have  no filepath yet,
+        // call fileSaveAs() now, this will call fileSave()
+        // again.  First switch to editor
+        fileSaveAs(savemode);
+        return; // avoid saving twice...
+    }
+
+    if (m->save(savemode) == File::Success) {
+        statusBar()->showMessage(tr("Saved  %1").arg(m->getFilePath()),
+                                 statusbarTime);
+    }
+    else
+        statusBar()->showMessage(tr("Couldn't save ").arg(m->getFilePath()),
+                                 statusbarTime);
+}
+
+void Main::fileSave() { fileSave(currentModel(), CompleteMap); }
+
+void Main::fileSave(VymModel *m) { fileSave(m, CompleteMap); }
+
+void Main::fileSaveAs(const SaveMode &savemode)
+{
+    VymModel *m = currentModel();
+    if (!m) return;
+
+    if (currentMapEditor()) {   // FIXME-2 this check is not needed
+        QString filter;
+        if (savemode == CompleteMap)
+            filter = "VYM map (*.vym)";
+        else
+            filter = "VYM part of map (*vyp)";
+        filter += ";;All (* *.*)";
+
+        // Get destination path
+        QString fn = QFileDialog::getSaveFileName(
+            this, tr("Save map as"), lastMapDir.path(), filter, NULL,
+            QFileDialog::DontConfirmOverwrite);
+        if (!fn.isEmpty()) {
+            // Check for existing file
+            if (QFile(fn).exists()) {
+                // Check if the existing file is writable
+                if (!QFileInfo(fn).isWritable()) {
+                    QMessageBox::critical(0, tr("Critical Error"),
+                                          tr("Couldn't save %1,\nbecause file "
+                                             "exists and cannot be changed.")
+                                              .arg(fn));
+                    return;
+                }
+
+                QMessageBox mb(
+                    vymName,
+                    tr("The file %1\nexists already. Do you want to").arg(fn),
+                    QMessageBox::Warning,
+                    QMessageBox::Yes | QMessageBox::Default,
+                    QMessageBox::Cancel | QMessageBox::Escape,
+                    QMessageBox::NoButton);
+                mb.setButtonText(QMessageBox::Yes, tr("Overwrite"));
+                mb.setButtonText(QMessageBox::Cancel, tr("Cancel"));
+                switch (mb.exec()) {
+                case QMessageBox::Yes:
+                    // save
+                    break;
+                case QMessageBox::Cancel:
+                    // do nothing
+                    return;
+                    break;
+                }
+                lastMapDir.setPath(fn.left(fn.lastIndexOf("/")));
+            }
+            else {
+                // New file, add extension to filename, if missing
+                // This is always .vym or .vyp, depending on savemode
+                if (savemode == CompleteMap) {
+                    if (!fn.contains(".vym") && !fn.contains(".xml"))
+                        fn += ".vym";
+                }
+                else {
+                    if (!fn.contains(".vyp") && !fn.contains(".xml"))
+                        fn += ".vyp";
+                }
+            }
+
+            // Save original filepath, might want to restore after saving
+            QString fn_org = m->getFilePath();
+
+            // Check for existing lockfile
+            QFile lockFile(fn + ".lock");
+            if (lockFile.exists()) {
+                QMessageBox::critical(0, tr("Critical Error"),
+                                      tr("Couldn't save %1,\nbecause of "
+                                         "existing lockfile:\n\n%2")
+                                          .arg(fn)
+                                          .arg(lockFile.fileName()));
+                return;
+            }
+
+            if (!m->renameMap(fn)) {
+                QMessageBox::critical(0, tr("Critical Error"),
+                                      tr("Saving the map failed:\nCouldn't rename map to %1").arg(fn));
+                return; // FIXME-3 Check: If saved part of map and this error occurs?
+            }
+
+            fileSave(m, savemode);
+
+            // Set name of tab
+            if (savemode == CompleteMap)
+                updateTabName(m);
+            else { // Renaming map to original name, because we only saved the
+                   // selected part of it
+                m->setFilePath(fn_org);
+                if (!m->renameMap(fn_org)) {
+                    QMessageBox::critical(0, "Critical Error",
+                                          "Couldn't rename map back to " + fn_org);
+                }
+            }
+            return;
+        }
+    }
+}
+
+void Main::fileSaveAs() { fileSaveAs(CompleteMap); }
+
+void Main::fileSaveAsDefault()
+{
+    if (currentMapEditor()) {
+        QString fn = QFileDialog::getSaveFileName(
+            this, tr("Save map as new default map"), newMapPath(),
+            "VYM map (*.vym)", NULL, QFileDialog::DontConfirmOverwrite);
+
+        if (!fn.isEmpty()) {
+            // Check for existing file
+            if (QFile(fn).exists()) {
+                // Check if the existing file is writable
+                if (!QFileInfo(fn).isWritable()) {
+                    QMessageBox::critical(
+                        0, tr("Warning"),
+                        tr("You have no permissions to write to ") + fn);
+                    return;
+                }
+
+                // Confirm overwrite of existing file
+                QMessageBox mb(
+                    vymName,
+                    tr("The file %1\nexists already. Do you want to").arg(fn),
+                    QMessageBox::Warning,
+                    QMessageBox::Yes | QMessageBox::Default,
+                    QMessageBox::Cancel | QMessageBox::Escape,
+                    QMessageBox::NoButton);
+                mb.setButtonText(QMessageBox::Yes,
+                                 tr("Overwrite as new default map"));
+                mb.setButtonText(QMessageBox::Cancel, tr("Cancel"));
+                switch (mb.exec()) {
+                case QMessageBox::Yes:
+                    // save
+                    break;
+                case QMessageBox::Cancel:
+                    // do nothing
+                    return;
+                    break;
+                }
+            }
+
+            // Save now as new default
+            VymModel *m = currentModel();
+            QString fn_org = m->getFilePath(); // Restore fn later, if savemode
+                                               // != CompleteMap
+            // Check for existing lockfile
+            QFile lockFile(fn + ".lock");
+            if (lockFile.exists()) {
+                QMessageBox::critical(
+                    0, tr("Critical Error"),
+                    tr("Couldn't save %1,\nbecause of existing lockfile:\n\n%2")
+                        .arg(fn)
+                        .arg(lockFile.fileName()));
+                return;
+            }
+
+            if (!m->renameMap(fn)) {
+                QMessageBox::critical(0, tr("Critical Error"),
+                                      tr("Couldn't save as default, failed to rename to\n%1").arg(fn));
+                return;
+            }
+
+            fileSave(m, CompleteMap);
+
+            // Set name of tab
+            updateTabName(m);
+
+            // Set new default path
+            settings.setValue("/system/defaultMap/auto", false);
+            settings.setValue("/system/defaultMap/path", fn);
+        }
+    }
+}
+
+void Main::fileImportFirefoxBookmarks()
+{
+    VymModel *m = currentModel();
+    if (!m) {
+        fileNew();
+        m = currentModel();
+        if (!m) return;
+    } else {
+        if (!m->isDefault())
+            // Import into new map
+            fileNew();
+    }
+
+    if (m) {
+        // Try to select first mapcenter of default map
+        if (!m->select("mc:0")) return;
+
+        m->setHeadingPlainText("Firefox");
+
+        // Try to add one branch and select it
+        /*
+        if (!m->addNewBranch()) return;
+
+        m->selectLatestAdded();
+        m->setHeadingPlainText("Bookmarks");
+        */
+
+        // Open file dialog
+        QFileDialog fd;
+        fd.setDirectory(vymBaseDir.homePath());
+        fd.setFileMode(QFileDialog::ExistingFiles);
+        QStringList filters;
+        filters << tr("Firefox Bookmarks") + " (*.json)";
+        fd.setNameFilters(filters);
+        fd.setAcceptMode(QFileDialog::AcceptOpen);
+        fd.setWindowTitle(tr("Import Firefox Bookmarks into new map"));
+        fd.setLabelText( QFileDialog::Accept, tr("Import"));
+
+        if (fd.exec() == QDialog::Accepted) {
+            qApp->processEvents(); // close QFileDialog
+            ImportFirefoxBookmarks im(m);
+            QStringList flist = fd.selectedFiles();
+            QStringList::Iterator it = flist.begin();
+            while (it != flist.end()) {
+                im.setFile(*it);
+                im.transform(); 
+                ++it;
+            }
+        }
+    }
+}
+
+void Main::fileImportFreemind()
+{
+    QStringList filters;
+    filters << "Freemind map (*.mm)"
+            << "All files (*)";
+    QFileDialog fd;
+    fd.setDirectory(lastMapDir);
+    fd.setFileMode(QFileDialog::ExistingFiles);
+    fd.setNameFilters(filters);
+    fd.setWindowTitle(vymName + " - " + tr("Open Freemind map"));
+    fd.setAcceptMode(QFileDialog::AcceptOpen);
+
+    QString fn;
+    if (fd.exec() == QDialog::Accepted) {
+        lastMapDir = fd.directory();
+        QStringList flist = fd.selectedFiles();
+        QStringList::Iterator it = flist.begin();
+        while (it != flist.end()) {
+            fn = *it;
+            if (fileLoad(fn, NewMap, FreemindMap)) {
+                currentMapEditor()->getModel()->setFilePath("");
+            }
+            ++it;
+        }
+    }
+}
+
+void Main::fileImportMM()
+{
+    ImportMM im;
+
+    QFileDialog fd;
+    fd.setDirectory(lastMapDir);
+    fd.setFileMode(QFileDialog::ExistingFiles);
+    QStringList filters;
+    filters << "Mind Manager (*.mmap)";
+    fd.setNameFilters(filters);
+    fd.setAcceptMode(QFileDialog::AcceptOpen);
+    fd.setWindowTitle(tr("Import") + " " + "Mind Manager");
+    fd.setLabelText( QFileDialog::Accept, tr("Import"));
+
+    if (fd.exec() == QDialog::Accepted) {
+        lastMapDir = fd.directory();
+        QStringList flist = fd.selectedFiles();
+        QStringList::Iterator it = flist.begin();
+        while (it != flist.end()) {
+            im.setFile(*it);
+            if (im.transform() &&
+                File::Success ==
+                    fileLoad(im.getTransformedFile(), NewMap, VymMap) &&
+                currentMapEditor())
+                currentMapEditor()->getModel()->setFilePath("");
+            ++it;
+        }
+    }
+}
+
+void Main::fileImportDir()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->importDir();
+}
+
+void Main::fileExportAO()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportAO();
+}
+
+void Main::fileExportASCII()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportASCII();
+}
+
+void Main::fileExportASCIITasks()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportASCII("", true);
+}
+
+void Main::fileExportConfluence()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportConfluence();
+}
+
+#include "export-csv.h"
+void Main::fileExportCSV() // FIXME-3 not scriptable yet
+{
+    VymModel *m = currentModel();
+    if (m) {
+        ExportCSV ex;
+        ex.setModel(m);
+        ex.addFilter("CSV (*.csv)");
+        ex.setDirPath(lastImageDir.absolutePath());
+        ex.setWindowTitle(vymName + " -" + tr("Export as CSV") + " " +
+                          tr("(still experimental)"));
+        if (ex.execDialog()) {
+            m->setExportMode(true);
+            ex.doExport();
+            m->setExportMode(false);
+        }
+    }
+}
+
+void Main::fileExportFirefoxBookmarks()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportFirefoxBookmarks();
+}
+
+void Main::fileExportHTML()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportHTML();
+}
+
+void Main::fileExportImage()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportImage();
+}
+
+#include "export-impress.h"
+#include "exportoofiledialog.h"
+void Main::fileExportImpress()
+{
+    ExportOOFileDialog fd;
+    // TODO add preview in dialog
+    fd.setWindowTitle(vymName + " - " + tr("Export to") + " LibreOffice");
+    fd.setDirectory(QDir().current());
+    fd.setAcceptMode(QFileDialog::AcceptSave);
+    fd.setFileMode(QFileDialog::AnyFile);
+    if (fd.foundConfig()) {
+        if (fd.exec() == QDialog::Accepted) {
+            if (!fd.selectedFiles().isEmpty()) {
+                QString fn = fd.selectedFiles().first();
+                if (!fn.contains(".odp"))
+                    fn += ".odp";
+
+                // lastImageDir=fn.left(fn.findRev ("/"));
+                VymModel *m = currentModel();
+                if (m)
+                    m->exportImpress(fn, fd.selectedConfig());
+            }
+        }
+    }
+    else {
+        QMessageBox::warning(
+            0, tr("Warning"),
+            tr("Couldn't find configuration for export to LibreOffice\n"));
+    }
+}
+
+#include "export-latex.h"
+void Main::fileExportLaTeX()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportLaTeX();
+}
+
+void Main::fileExportMarkdown()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportMarkdown();
+}
+
+void Main::fileExportOrgMode()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportOrgMode();
+}
+
+void Main::fileExportPDF()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportPDF();
+}
+
+void Main::fileExportSVG()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportSVG();
+}
+
+#include "export-taskjuggler.h"
+void Main::fileExportTaskjuggler() // FIXME-3 not scriptable yet
+{
+    ExportTaskjuggler ex;
+    VymModel *m = currentModel();
+    if (m) {
+        ex.setModel(m);
+        ex.setWindowTitle(vymName + " - " + tr("Export to") + " Taskjuggler" +
+                          tr("(still experimental)"));
+        ex.setDirPath(lastImageDir.absolutePath());
+        ex.addFilter("Taskjuggler (*.tjp)");
+
+        if (ex.execDialog()) {
+            m->setExportMode(true);
+            ex.doExport();
+            m->setExportMode(false);
+        }
+    }
+}
+
+void Main::fileExportXML()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportXML();
+}
+
+void Main::fileExportLast()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->exportLast();
+}
+
+bool Main::fileCloseMap(int i)
+{
+    VymModel *m;
+    VymView *vv;
+    if (i < 0)
+        i = tabWidget->currentIndex();
+
+    vv = view(i);
+    m = vv->getModel();
+
+    if (m) {
+        if (m->hasChanged()) {
+            QMessageBox mb(
+                vymName,
+                tr("The map %1 has been modified but not saved yet. Do you "
+                   "want to")
+                    .arg(m->getFileName()),
+                QMessageBox::Warning, QMessageBox::Yes | QMessageBox::Default,
+                QMessageBox::No, QMessageBox::Cancel | QMessageBox::Escape);
+            mb.setButtonText(QMessageBox::Yes,
+                             tr("Save modified map before closing it"));
+            mb.setButtonText(QMessageBox::No, tr("Discard changes"));
+            mb.setModal(true);
+            mb.show();
+            switch (mb.exec()) {
+            case QMessageBox::Yes:
+                // save and close
+                fileSave(m, CompleteMap);
+                break;
+            case QMessageBox::No:
+                // close  without saving
+                break;
+            case QMessageBox::Cancel:
+                // do nothing
+                return true;
+            }
+        }
+
+        tabWidget->removeTab(i);
+
+        // Destroy stuff, order is important
+        delete (m->getMapEditor());
+        delete (vv);
+        delete (m);
+
+        updateActions();
+        return false;
+    }
+    return true; // Better don't exit vym if there is no currentModel()...
+}
+
+void Main::filePrint()
+{
+    if (currentMapEditor())
+        currentMapEditor()->print();
+}
+
+bool Main::fileExitVYM()
+{
+    fileSaveSession();
+
+    // Check if one or more editors have changed
+    while (tabWidget->count() > 0) {
+        tabWidget->setCurrentIndex(0);
+        if (fileCloseMap())
+            return true;
+        qApp->processEvents(); // Update widgets to show progress
+    }
+    qApp->quit();
+    return false;
+}
+
+void Main::editUndo()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->undo();
+}
+
+void Main::editRedo()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->redo();
+}
+
+void Main::gotoHistoryStep(int i)
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->gotoHistoryStep(i);
+}
+
+void Main::editCopy()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->copy();
+}
+
+void Main::editPaste()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->paste();
+}
+
+void Main::editCut()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->cut();
+}
+
+bool Main::openURL(const QString &url)
+{
+    if (url.isEmpty())
+        return false;
+
+    QString browser = settings.value("/system/readerURL").toString();
+    QStringList args;
+    args << url;
+    if (!QProcess::startDetached(browser, args, QDir::currentPath(),
+                                 browserPID)) {
+        // try to set path to browser
+        QMessageBox::warning(
+            0, tr("Warning"),
+            tr("Couldn't find a viewer to open %1.\n").arg(url) +
+                tr("Please use Settings->") +
+                tr("Set application to open an URL"));
+        settingsURL();
+        return false;
+    }
+    return true;
+}
+
+void Main::openTabs(QStringList urls)
+{
+    if (urls.isEmpty())
+        return;
+
+    // Other browser, e.g. xdg-open
+    // Just open all urls and leave it to the system to cope with it
+    foreach (QString u, urls)
+        openURL(u);
+}
+
+void Main::editOpenURL()
+{
+    // Open new browser
+    VymModel *m = currentModel();
+    if (m) {
+        QString url = m->getURL();
+        if (url == "")
+            return;
+        openURL(url);
+    }
+}
+void Main::editOpenURLTab()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        QStringList urls;
+        urls.append(m->getURL());
+        openTabs(urls);
+    }
+}
+
+void Main::editOpenMultipleVisURLTabs(bool ignoreScrolled)
+{
+    VymModel *m = currentModel();
+    if (m) {
+        QStringList urls;
+        urls = m->getURLs(ignoreScrolled);
+        openTabs(urls);
+    }
+}
+
+void Main::editOpenMultipleURLTabs() { editOpenMultipleVisURLTabs(false); }
+
+void Main::editNote2URLs()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->note2URLs();
+}
+
+void Main::editURL()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        QInputDialog *dia = new QInputDialog(this);
+        dia->setLabelText(tr("Enter URL:"));
+        dia->setWindowTitle(vymName);
+        dia->setInputMode(QInputDialog::TextInput);
+        TreeItem *selti = m->getSelectedItem();
+        if (selti)
+            dia->setTextValue(selti->getURL());
+        dia->resize(width() * 0.6, 80);
+        centerDialog(dia);
+
+        if (dia->exec())
+            m->setURL(dia->textValue());
+        delete dia;
+    }
+}
+
+void Main::editLocalURL()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        TreeItem *selti = m->getSelectedItem();
+        if (selti) {
+            QString filter;
+            filter += "All files (*);;";
+            filter += tr("HTML", "Filedialog") + " (*.html,*.htm);;";
+            filter += tr("Text", "Filedialog") + " (*.txt);;";
+            filter += tr("Spreadsheet", "Filedialog") + " (*.odp,*.sxc);;";
+            filter += tr("Textdocument", "Filedialog") + " (*.odw,*.sxw);;";
+            filter += tr("Images", "Filedialog") +
+                      " (*.png *.bmp *.xbm *.jpg *.png *.xpm *.gif *.pnm)";
+
+            QString fn = QFileDialog::getOpenFileName(
+                this, vymName + " - " + tr("Set URL to a local file"),
+                lastMapDir.path(), filter);
+
+            if (!fn.isEmpty()) {
+                lastMapDir.setPath(fn.left(fn.lastIndexOf("/")));
+                if (!fn.startsWith("file://"))
+                    fn = "file://" + fn;
+                m->setURL(fn);
+            }
+        }
+    }
+}
+
+void Main::editHeading2URL()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->editHeading2URL();
+}
+
+void Main::getJiraDataSubtree()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->getJiraData(true);
+}
+
+void Main::setHeadingConfluencePageName()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->setHeadingConfluencePageName();
+}
+
+void Main::getConfluenceUser()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        BranchItem *selbi = m->getSelectedBranch();
+        if (selbi) {
+            ConfluenceUserDialog *dia = new ConfluenceUserDialog;
+            centerDialog(dia);
+            if (dia->exec() > 0) {
+                BranchItem *bi = m->addNewBranch();
+                if (!bi) return;
+                if (!m->select(bi)) return;
+                selbi = m->getSelectedBranch();
+
+                ConfluenceUser user = dia->getSelectedUser();
+
+                AttributeItem *ai;
+
+                ai = new AttributeItem();
+                ai->setKey("ConfluenceUser.displayName");
+                ai->setValue(user.getDisplayName());
+                m->setAttribute(selbi, ai);
+
+                ai = new AttributeItem();
+                ai->setKey("ConfluenceUser.userKey");
+                ai->setValue(user.getUserKey());
+                m->setAttribute(selbi, ai);
+
+                ai = new AttributeItem();
+                ai->setKey("ConfluenceUser.userName");
+                ai->setValue(user.getUserName());
+                m->setAttribute(selbi, ai);
+
+                ai = new AttributeItem();
+                ai->setKey("ConfluenceUser.url");
+                ai->setValue(user.getURL());
+                m->setAttribute(selbi, ai);
+
+                m->setURL(user.getURL(), false);
+                m->setHeading(user.getDisplayName());
+
+                m->selectParent();
+            }
+            dia->clearFocus();
+            delete dia;
+            m->getMapEditor()->activateWindow();
+            m->getMapEditor()->setFocus();
+        }
+    }
+}
+
+void Main::editHeading()
+{
+    MapEditor *me = currentMapEditor();
+    if (me)
+        me->editHeading();
+}
+
+void Main::editHeadingFinished(VymModel *m)
+{
+    if (m) {
+        if (!actionSettingsAutoSelectNewBranch->isChecked() &&
+            !prevSelection.isEmpty())
+            m->select(prevSelection);
+        prevSelection = "";
+    }
+}
+
+void Main::openVymLinks(const QStringList &vl, bool background)
+{
+    QStringList vlmin;
+    int index = -1;
+    for (int j = 0; j < vl.size(); ++j) {
+        // compare path with already loaded maps
+        QString absPath = QFileInfo(vl.at(j)).absoluteFilePath();
+        index = -1;
+        for (int i = 0; i <= tabWidget->count() - 1; i++) {
+            if (absPath == view(i)->getModel()->getFilePath()) {
+                index = i;
+                break;
+            }
+        }
+        if (index < 0)
+            vlmin.append(absPath);
+    }
+
+    progressCounterTotal = vlmin.size();
+    for (int j = 0; j < vlmin.size(); j++) {
+        // Load map
+        if (!QFile(vlmin.at(j)).exists())
+            QMessageBox::critical(0, tr("Critical Error"),
+                                  tr("Couldn't open map %1").arg(vlmin.at(j)));
+        else {
+            fileLoad(vlmin.at(j), NewMap, VymMap);
+            if (!background)
+                tabWidget->setCurrentIndex(tabWidget->count() - 1);
+        }
+    }
+    // Go to tab containing the map
+    if (index >= 0)
+        tabWidget->setCurrentIndex(index);
+    removeProgressCounter();
+}
+
+void Main::editOpenVymLink(bool background)
+{
+    VymModel *m = currentModel();
+    if (m) {
+        QStringList vl;
+        vl.append(m->getVymLink());
+        openVymLinks(vl, background);
+    }
+}
+
+void Main::editOpenVymLinkBackground() { editOpenVymLink(true); }
+
+void Main::editOpenMultipleVymLinks()
+{
+    QString currentVymLink;
+    VymModel *m = currentModel();
+    if (m) {
+        QStringList vl = m->getVymLinks();
+        openVymLinks(vl, true);
+    }
+}
+
+void Main::editVymLink()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        BranchItem *bi = m->getSelectedBranch();
+        if (bi) {
+            QStringList filters;
+            filters << "VYM map (*.vym)";
+            QFileDialog fd;
+            fd.setWindowTitle(vymName + " - " + tr("Link to another vym map"));
+            fd.setNameFilters(filters);
+            fd.setLabelText( QFileDialog::Accept, tr("Set as link to vym map"));
+            fd.setDirectory(lastMapDir);
+            fd.setAcceptMode(QFileDialog::AcceptOpen);
+            if (!bi->getVymLink().isEmpty())
+                fd.selectFile(bi->getVymLink());
+            fd.show();
+
+            QString fn;
+            if (fd.exec() == QDialog::Accepted &&
+                !fd.selectedFiles().isEmpty()) {
+                QString fn = fd.selectedFiles().first();
+                lastMapDir = QDir(fd.directory().path());
+                m->setVymLink(fn);
+            }
+        }
+    }
+}
+
+void Main::editDeleteVymLink()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->deleteVymLink();
+}
+
+void Main::editToggleHideExport()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->toggleHideExport();
+}
+
+void Main::editToggleTask()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->toggleTask();
+}
+
+void Main::editCycleTaskStatus()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->cycleTaskStatus();
+}
+
+void Main::editTaskResetDeltaPrio() // FIXME-2 With multiple selections enabled, old selection should be restored
+{
+    QList <Task*> tasks;
+    QList <VymModel*> models;
+    for (int i = 0; i < taskModel->count(); i++)
+    {
+        Task *task = taskModel->getTask(i);
+        if (taskEditor->taskVisible(task) && task->getPriorityDelta() != 0) {
+            tasks << task;
+            VymModel *m = task->getBranch()->getModel();
+            if (!models.contains(m))
+                models << m;
+        }
+    }
+
+    foreach (VymModel *model, models) {
+        // Unselect everything
+        model->unselectAll();
+
+        // Select all branches, where tasks whill be updated
+        foreach (Task *task, tasks) {
+            BranchItem *bi = task->getBranch();
+            if (bi->getModel() == model) {
+                model->selectToggle(bi);
+            }
+        }
+
+        // Bulk update all branches in this model
+        model->setTaskPriorityDelta(0);
+    }
+}
+
+void Main::editTaskSleepN()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        qint64 n = ((QAction *)sender())->data().toInt();
+        Task *task = m->getSelectedTask();
+        if (task) {
+            bool ok = true;
+            QString s;
+            if (n < 0) {
+                QString currentSleep;
+                QDateTime d = task->getSleep();
+                n = task->getSecsSleep();
+                if (n <= 0)
+                    currentSleep = "0";
+                else if (n < 60)
+                    currentSleep = QString("%1s").arg(n);
+                else if (n < 24 * 3600) {
+                    currentSleep = d.time().toString("hh:mm");
+                }
+                else if (d.time().hour() == 0 && d.time().minute() == 0) {
+                    currentSleep = d.date().toString("dd.MM.yyyy");
+                }
+                else
+                    currentSleep = d.toString(Qt::ISODate);
+
+                LineEditDialog *dia = new LineEditDialog(this);
+                dia->setLabel(tr("Enter sleep time (number of days, hours with "
+                                 "'h' or date YYYY-MM-DD or DD.MM[.YYYY]",
+                                 "task sleep time dialog"));
+                dia->setText(currentSleep);
+                centerDialog(dia);
+                if (dia->exec() == QDialog::Accepted) {
+                    ok = true;
+                    s = dia->getText();
+                }
+                else
+                    ok = false;
+
+                delete dia;
+            }
+            else
+                s = QString("%1").arg(n);
+
+            if (ok && !m->setTaskSleep(s))
+                QMessageBox::warning(
+                    0, tr("Warning"),
+                    tr("Couldn't set sleep time to %1.\n").arg(s));
+        }
+    }
+}
+
+void Main::editAddTimestamp()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->addTimestamp();
+}
+
+void Main::editMapProperties()
+{
+    VymModel *m = currentModel();
+    if (!m)
+        return;
+
+    ExtraInfoDialog dia;
+    dia.setMapName(m->getFileName());
+    dia.setFileLocation(m->getFilePath());
+    dia.setMapTitle(m->getTitle());
+    dia.setAuthor(m->getAuthor());
+    dia.setComment(m->getComment());
+    dia.setReadOnly(m->isReadOnly());
+
+    // Calc some stats
+    QString stats;
+    stats += tr("%1 items on map\n", "Info about map")
+                 .arg(m->getScene()->items().size(), 6);
+
+    uint b = 0;
+    uint f = 0;
+    uint n = 0;
+    uint xl = 0;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    m->nextBranch(cur, prev);
+    while (cur) {
+        if (!cur->getNote().isEmpty())
+            n++;
+        f += cur->imageCount();
+        b++;
+        xl += cur->xlinkCount();
+        m->nextBranch(cur, prev);
+    }
+
+    stats += QString("%1 %2\n")
+                 .arg(m->branchCount(), 6)
+                 .arg(tr("branches", "Info about map"));
+    stats += QString("%1 %2\n")
+                 .arg(taskModel->count(), 6)
+                 .arg(tr("tasks total", "Info about map"));
+    stats += QString("%1 %2\n")
+                 .arg(taskModel->count(m), 6)
+                 .arg(tr("tasks in map", "Info about map"));
+    stats += QString("%1 %2\n").arg(n, 6).arg(tr("notes", "Info about map"));
+    stats += QString("%1 %2\n").arg(f, 6).arg(tr("images", "Info about map"));
+    stats += QString("%1 %2\n")
+                 .arg(m->slideCount(), 6)
+                 .arg(tr("slides", "Info about map"));
+    stats +=
+        QString("%1 %2\n").arg(xl / 2, 6).arg(tr("xLinks", "Info about map"));
+    dia.setStats(stats);
+
+    // Finally show dialog
+    if (dia.exec() == QDialog::Accepted) {
+        m->setAuthor(dia.getAuthor());
+        m->setComment(dia.getComment());
+        m->setTitle(dia.getMapTitle());
+    }
+}
+
+void Main::editMoveUp()
+{
+    MapEditor *me = currentMapEditor();
+    VymModel *m = currentModel();
+    if (me && m && me->getState() != MapEditor::EditingHeading)
+        m->moveUp();
+}
+
+void Main::editMoveDown()
+{
+    MapEditor *me = currentMapEditor();
+    VymModel *m = currentModel();
+    if (me && m && me->getState() != MapEditor::EditingHeading)
+        m->moveDown();
+}
+
+void Main::editMoveDownDiagonally()
+{
+    MapEditor *me = currentMapEditor();
+    VymModel *m = currentModel();
+    if (me && m && me->getState() != MapEditor::EditingHeading)
+        m->moveDownDiagonally();
+}
+
+void Main::editMoveUpDiagonally()
+{
+    MapEditor *me = currentMapEditor();
+    VymModel *m = currentModel();
+    if (me && m && me->getState() != MapEditor::EditingHeading)
+        m->moveUpDiagonally();
+}
+
+void Main::editDetach()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->detach();
+}
+
+void Main::editSortChildren()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->sortChildren(false);
+}
+
+void Main::editSortBackChildren()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->sortChildren(true);
+}
+
+void Main::editToggleScroll()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->toggleScroll();
+}
+
+void Main::editExpandAll()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->emitExpandAll();
+}
+
+void Main::editExpandOneLevel()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->emitExpandOneLevel();
+}
+
+void Main::editCollapseOneLevel()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->emitCollapseOneLevel();
+}
+
+void Main::editCollapseUnselected()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->emitCollapseUnselected();
+}
+
+void Main::editUnscrollChildren()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->unscrollChildren();
+}
+
+void Main::editGrowSelectionSize()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->growSelectionSize();
+}
+
+void Main::editShrinkSelectionSize()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->shrinkSelectionSize();
+}
+
+void Main::editResetSelectionSize()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->resetSelectionSize();
+}
+
+void Main::editAddAttribute()
+{
+    VymModel *m = currentModel();
+    if (m) {
+
+        m->setAttribute();
+    }
+}
+
+void Main::editAddMapCenter()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        m->select(m->addMapCenter());
+        MapEditor *me = currentMapEditor();
+        if (me) {
+            m->setHeadingPlainText("");
+            me->editHeading();
+        }
+    }
+}
+
+void Main::editNewBranch()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        BranchItem *bi = m->addNewBranch();
+        if (!bi)
+            return;
+
+        if (!actionSettingsAutoSelectNewBranch->isChecked())
+            prevSelection = m->getSelectString();
+
+        m->select(bi);
+        currentMapEditor()->editHeading();
+    }
+}
+
+void Main::editNewBranchBefore()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        if (!actionSettingsAutoSelectNewBranch->isChecked())
+            prevSelection = m->getSelectString();
+
+        BranchItem *bi = m->addNewBranchBefore();
+
+        if (bi)
+            m->select(bi);
+        else
+            return;
+
+        currentMapEditor()->editHeading();
+    }
+}
+
+void Main::editNewBranchAbove()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        if (!actionSettingsAutoSelectNewBranch->isChecked())
+            prevSelection = m->getSelectString();
+
+        BranchItem *selbi = m->getSelectedBranch();
+        if (selbi) {
+            BranchItem *bi = m->addNewBranch(selbi, -3);
+
+            if (bi)
+                m->select(bi);
+            else
+                return;
+
+            currentMapEditor()->editHeading();
+        }
+    }
+}
+
+void Main::editNewBranchBelow()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        BranchItem *selbi = m->getSelectedBranch();
+        if (selbi) {
+            BranchItem *bi = m->addNewBranch(selbi, -1);
+
+            if (bi)
+                m->select(bi);
+            else
+                return;
+
+            if (!actionSettingsAutoSelectNewBranch->isChecked())
+                prevSelection = m->getSelectString(bi);
+
+            currentMapEditor()->editHeading();
+        }
+    }
+}
+
+void Main::editImportAdd() { fileLoad(ImportAdd); }
+
+void Main::editImportReplace() { fileLoad(ImportReplace); }
+
+void Main::editSaveBranch() { fileSaveAs(PartOfMap); }
+
+void Main::editDeleteKeepChildren()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->deleteKeepChildren();
+}
+
+void Main::editDeleteChildren()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->deleteChildren();
+}
+
+void Main::editDeleteSelection()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->deleteSelection();
+}
+
+void Main::editLoadImage()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->loadImage();
+}
+
+void Main::editSaveImage()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->saveImage();
+}
+
+void Main::editEditXLink(QAction *a)
+{
+    VymModel *m = currentModel();
+    if (m) {
+        BranchItem *selbi = m->getSelectedBranch();
+        if (selbi) {
+            Link *l = selbi
+                          ->getXLinkItemNum(
+                              branchXLinksContextMenuEdit->actions().indexOf(a))
+                          ->getLink();
+            if (l && m->select(l->getBeginLinkItem()))
+                m->editXLink();
+        }
+    }
+}
+
+void Main::popupFollowXLink()
+{
+    branchXLinksContextMenuFollow->exec(QCursor::pos());
+}
+
+void Main::editFollowXLink(QAction *a)
+{
+    VymModel *m = currentModel();
+
+    if (m)
+        m->followXLink(branchXLinksContextMenuFollow->actions().indexOf(a));
+}
+
+bool Main::initLinkedMapsMenu(VymModel *model, QMenu *menu)
+{
+    if (model) {
+        ItemList targets = model->getLinkedMaps();
+
+        menu->clear();
+
+        QStringList targetNames;
+        QList<uint> targetIDs;
+
+        // Build QStringList with all names of targets
+        QMap<uint, QStringList>::const_iterator i;
+        i = targets.constBegin();
+        while (i != targets.constEnd()) {
+            targetNames.append(i.value().first());
+            targetIDs.append(i.key());
+            ++i;
+        }
+
+        // Sort list of names
+        targetNames.sort(Qt::CaseInsensitive);
+
+        // Build menu based on sorted names
+        while (!targetNames.isEmpty()) {
+            // Find target by value
+            i = targets.constBegin();
+            while (i != targets.constEnd()) {
+                if (i.value().first() == targetNames.first())
+                    break;
+                ++i;
+            }
+
+            menu->addAction(targetNames.first())->setData(i.value().last());
+            targetNames.removeFirst();
+            targets.remove(i.key());
+        }
+        return true;
+    }
+    return false;
+}
+
+void Main::editGoToLinkedMap()
+{
+    VymModel *model = currentModel();
+    if (initLinkedMapsMenu(model, targetsContextMenu)) {
+        QAction *a = targetsContextMenu->exec(QCursor::pos());
+        if (a) {
+            QStringList sl;
+            sl << a->data().toString();
+            openVymLinks(sl);
+        }
+    }
+}
+
+void Main::editToggleTarget()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->toggleTarget();
+}
+
+bool Main::initTargetsMenu(VymModel *model, QMenu *menu)
+{
+    if (model) {
+        ItemList targets = model->getTargets();
+
+        menu->clear();
+
+        QStringList targetNames;
+        QList<uint> targetIDs;
+
+        // Build QStringList with all names of targets
+        QMap<uint, QStringList>::const_iterator i;
+        i = targets.constBegin();
+        while (i != targets.constEnd()) {
+            targetNames.append(i.value().first());
+            targetIDs.append(i.key());
+            ++i;
+        }
+
+        // Sort list of names
+        targetNames.sort(Qt::CaseInsensitive);
+
+        // Build menu based on sorted names
+        while (!targetNames.isEmpty()) {
+            // Find target by value
+            i = targets.constBegin();
+            while (i != targets.constEnd()) {
+                if (i.value().first() == targetNames.first())
+                    break;
+                ++i;
+            }
+
+            menu->addAction(targetNames.first())->setData(i.key());
+            targetNames.removeFirst();
+            targets.remove(i.key());
+        }
+        return true;
+    }
+    return false;
+}
+
+void Main::editGoToTarget()
+{
+    VymModel *model = currentModel();
+    if (initTargetsMenu(model, targetsContextMenu)) {
+        QAction *a = targetsContextMenu->exec(QCursor::pos());
+        if (a)
+            model->select(model->findID(a->data().toUInt()));
+    }
+}
+
+void Main::editMoveToTarget()
+{
+    VymModel *model = currentModel();
+    if (initTargetsMenu(model, targetsContextMenu)) {
+        QAction *a = targetsContextMenu->exec(QCursor::pos());
+        if (a) {
+            TreeItem *dsti = model->findID(a->data().toUInt());
+            /*
+            BranchItem *selbi = model->getSelectedBranch();
+            if (!selbi)
+                return;
+            */
+
+            QList<TreeItem *> itemList = model->getSelectedItems();
+            if (itemList.count() < 1) return;
+
+            if (dsti && dsti->isBranchLikeType() ) {
+                BranchItem *selbi;
+                BranchItem *pi;
+                foreach (TreeItem *ti, itemList) {
+                    if (ti->isBranchLikeType() )
+                    {
+                        selbi = (BranchItem*)ti;
+                        pi = selbi->parentBranch();
+                        
+                        // If branch below exists, select that one
+                        // Makes it easier to quickly resort using the MoveTo function
+                        BranchItem *below = pi->getBranchNum(selbi->num() + 1);
+                        LinkableMapObj *lmo = selbi->getLMO();
+                        QPointF orgPos;
+                        if (lmo)
+                            orgPos = lmo->getAbsPos();
+
+                        if (model->relinkBranch(selbi, (BranchItem *)dsti, -1, true,
+                                                orgPos)) {
+                            if (below)
+                                model->select(below);
+                            else if (pi)
+                                model->select(pi);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+
+void Main::editSelectPrevious()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->selectPrevious();
+}
+
+void Main::editSelectNext()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->selectNext();
+}
+
+void Main::editSelectNothing()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->unselectAll();
+}
+
+void Main::editOpenFindResultWidget()
+{
+    if (!findResultWidget->parentWidget()->isVisible()) {
+        //     findResultWidget->parentWidget()->show();
+        findResultWidget->popup();
+    }
+    else
+        findResultWidget->parentWidget()->hide();
+}
+
+#include "findwidget.h" // FIXME-4 Integrated FRW and FW
+void Main::editFindNext(QString s, bool searchNotesFlag)
+{
+    Qt::CaseSensitivity cs = Qt::CaseInsensitive;
+    VymModel *m = currentModel();
+    if (m) {
+        if (m->findAll(findResultWidget->getResultModel(), s, cs,
+                       searchNotesFlag))
+            findResultWidget->setStatus(FindWidget::Success);
+        else
+            findResultWidget->setStatus(FindWidget::Failed);
+    }
+}
+
+void Main::editFindDuplicateURLs() // FIXME-4 feature: use FindResultWidget for
+                                   // display
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->findDuplicateURLs();
+}
+
+void Main::updateQueries(
+    VymModel *) // FIXME-4 disabled for now to avoid selection in FRW
+{
+    return;
+    /*
+        qDebug() << "MW::updateQueries m="<<m<<"   cM="<<currentModel();
+        if (m && currentModel()==m)
+        {
+        QString s=findResultWidget->getFindText();
+        if (!s.isEmpty() ) editFindNext (s);
+        }
+    */
+}
+
+void Main::selectQuickColor(int n)
+{
+    if (n < 0 || n > quickColors.count() - 1) return;
+
+    actionGroupQuickColors->actions().at(n)->setChecked(true);
+    setCurrentColor(quickColors.at(n));
+}
+
+void Main::setQuickColor(QColor col)
+{
+    int i = getCurrentColorIndex();
+    if (i < 0) return;
+
+    QPixmap pix(16, 16);
+    pix.fill(col);
+    actionGroupQuickColors->checkedAction()->setIcon(pix);
+    quickColors.replace(i, col);
+}
+
+void Main::quickColorPressed()
+{
+    int i = getCurrentColorIndex();
+
+    if (i < 0) return;
+
+    if (QApplication::keyboardModifiers() == Qt::ShiftModifier) {
+        QColor col = getCurrentColor();
+        col = QColorDialog::getColor((col), this);
+        if (!col.isValid()) return;
+
+        setQuickColor(col);
+    } else
+        selectQuickColor(i);
+}
+
+void Main::formatPickColor()
+{
+    VymModel *m = currentModel();
+    if (m)
+        setQuickColor( m->getCurrentHeadingColor());
+}
+
+QColor Main::getCurrentColor() 
+{ 
+    int i = getCurrentColorIndex();
+
+    if (i < 0) return QColor();
+
+    return quickColors.at(i);
+}
+
+int Main::getCurrentColorIndex()
+{
+    QAction* a = actionGroupQuickColors->checkedAction();
+
+    if (a == nullptr) return -1;
+
+    return actionGroupQuickColors->actions().indexOf(a);
+}
+
+void Main::setCurrentColor(QColor c)
+{
+    int i = getCurrentColorIndex();
+
+    if (i < 0) return;
+
+    QPixmap pix(16, 16);
+    pix.fill(c);
+
+    actionGroupQuickColors->actions().at(i)->setIcon(pix);
+}
+
+void Main::formatColorBranch()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->colorBranch(getCurrentColor());
+}
+
+void Main::formatColorSubtree()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->colorSubtree(getCurrentColor());
+}
+
+void Main::formatLinkStyleLine()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        m->setMapLinkStyle("StyleLine");
+        actionFormatLinkStyleLine->setChecked(true);
+    }
+}
+
+void Main::formatLinkStyleParabel()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        m->setMapLinkStyle("StyleParabel");
+        actionFormatLinkStyleParabel->setChecked(true);
+    }
+}
+
+void Main::formatLinkStylePolyLine()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        m->setMapLinkStyle("StylePolyLine");
+        actionFormatLinkStylePolyLine->setChecked(true);
+    }
+}
+
+void Main::formatLinkStylePolyParabel()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        m->setMapLinkStyle("StylePolyParabel");
+        actionFormatLinkStylePolyParabel->setChecked(true);
+    }
+}
+
+void Main::formatSelectBackColor()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->selectMapBackgroundColor();
+}
+
+void Main::formatSelectBackImage()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->selectMapBackgroundImage();
+}
+
+void Main::formatSelectLinkColor()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        QColor col = QColorDialog::getColor(m->getMapDefLinkColor(), this);
+        m->setMapDefLinkColor(col);
+    }
+}
+
+void Main::formatSelectSelectionColor() // FIXME-2 no Pen/Brush support yet
+{
+    VymModel *m = currentModel();
+    if (m) {
+        QColor col = QColorDialog::getColor(
+                m->getSelectionBrushColor(),
+                this,
+                tr("Color of selection box","Mainwindow"),
+                QColorDialog::ShowAlphaChannel);
+        m->setSelectionPenColor(col);
+        m->setSelectionBrushColor(col);
+    }
+}
+
+void Main::formatSelectFont()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        bool ok;
+        QFont font = QFontDialog::getFont(&ok, m->getMapDefaultFont(), this);
+        if (ok)
+            m->setMapDefaultFont(font);
+    }
+}
+
+void Main::formatToggleLinkColorHint()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->toggleMapLinkColorHint();
+}
+
+void Main::formatHideLinkUnselected() // FIXME-4 get rid of this with
+                                      // imagepropertydialog
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->setHideLinkUnselected(actionFormatHideLinkUnselected->isChecked());
+}
+
+void Main::viewZoomReset()
+{
+    MapEditor *me = currentMapEditor();
+    if (me)
+        me->setViewCenterTarget();
+}
+
+void Main::viewZoomIn()
+{
+    MapEditor *me = currentMapEditor();
+    if (me)
+        me->setZoomFactorTarget(me->getZoomFactorTarget() * 1.15);
+}
+
+void Main::viewZoomOut()
+{
+    MapEditor *me = currentMapEditor();
+    if (me)
+        me->setZoomFactorTarget(me->getZoomFactorTarget() * 0.85);
+}
+
+void Main::viewRotateCounterClockwise() // FIXME-3 move to ME
+{
+    MapEditor *me = currentMapEditor();
+    if (me)
+        me->setAngleTarget(me->getAngleTarget() - 10);
+}
+
+void Main::viewRotateClockwise() // FIXME-3 move to ME
+{
+    MapEditor *me = currentMapEditor();
+    if (me)
+        me->setAngleTarget(me->getAngleTarget() + 10);
+}
+
+void Main::viewCenter()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->emitShowSelection(false);
+}
+
+void Main::viewCenterScaled()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->emitShowSelection(true);
+}
+
+void Main::networkStartServer()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->newServer();
+}
+
+void Main::networkConnect()
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->connectToServer();
+}
+
+void Main::downloadFinished() // only used for drop events in mapeditor and
+                              // VM::downloadImage
+{
+    QString s;
+    DownloadAgent *agent = static_cast<DownloadAgent *>(sender());
+    agent->isSuccess() ? s = "Success" : s = "Error  ";
+
+    /*
+    qDebug()<<"Main::downloadFinished ";
+    qDebug()<<"  result" <<  s;
+    qDebug()<<"     msg" << agent->getResultMessage();
+    */
+
+    QString script = agent->getFinishedScript();
+    VymModel *model = getModel(agent->getFinishedScriptModelID());
+    if (!script.isEmpty() && model) {
+        script.replace("$TMPFILE", agent->getDestination());
+        model->execute(script);
+    }
+    agent->deleteLater();
+}
+
+bool Main::settingsPDF()
+{
+    // Default browser is set in constructor
+    bool ok;
+    QString text = QInputDialog::getText(
+        this, "VYM", tr("Set application to open PDF files") + ":",
+        QLineEdit::Normal, settings.value("/system/readerPDF").toString(), &ok);
+    if (ok)
+        settings.setValue("/system/readerPDF", text);
+    return ok;
+}
+
+bool Main::settingsURL()
+{
+    // Default browser is set in constructor
+    bool ok;
+    QString text = QInputDialog::getText(
+        this, "VYM", tr("Set application to open an URL") + ":",
+        QLineEdit::Normal, settings.value("/system/readerURL").toString(), &ok);
+    if (ok)
+        settings.setValue("/system/readerURL", text);
+    return ok;
+}
+
+void Main::settingsZipTool()    // FIXME-2 Disabled for now, to be removed completely in 2.9.1
+{
+    // Default zip tool is tar on Windows 10, zip/unzip elsewhere
+    ZipSettingsDialog dia;
+    dia.exec();
+}
+
+void Main::settingsMacroPath()
+{
+    QString macroPath = macros.getPath();
+
+    QStringList filters;
+    filters << "VYM script files (*.vys)";
+    QFileDialog fd;
+    fd.setDirectory(dirname(macroPath));
+    fd.selectFile(basename(macroPath));
+    fd.setFileMode(QFileDialog::ExistingFile);
+    fd.setNameFilters(filters);
+    fd.setWindowTitle(vymName + " - " + tr("Load vym script"));
+    fd.setAcceptMode(QFileDialog::AcceptOpen);
+
+    QString fn;
+    if (fd.exec() == QDialog::Accepted) {
+        if (macros.setPath( fd.selectedFiles().first()))
+            settings.setValue("/macros/path", macros.getPath());
+    }
+}
+
+void Main::settingsUndoLevels()
+{
+    bool ok;
+    int i = QInputDialog::getInt(
+        this, "QInputDialog::getInt()", tr("Number of undo/redo levels:"),
+        settings.value("/history/stepsTotal", 1000).toInt(), 0, 100000, 1, &ok);
+    if (ok) {
+        settings.setValue("/history/stepsTotal", i);
+        QMessageBox::information(this, tr("VYM -Information:"),
+                                 tr("Settings have been changed. The next map "
+                                    "opened will have \"%1\" undo/redo levels")
+                                     .arg(i));
+    }
+}
+
+void Main::settingsDefaultMapPath()
+{
+    DefaultMapSettingsDialog dia;
+    dia.exec();
+}
+
+QString Main::defaultMapPath()
+{
+    // Define default automatical path (also as fallback)
+    QString ext_dark;
+    if (usingDarkTheme)
+        ext_dark = "-dark";
+
+    return vymBaseDir.path() + QString("/demos/default%1.vym").arg(ext_dark);
+}
+
+QString Main::newMapPath()
+{
+    if (settings.value("/system/defaultMap/auto", true).toBool())
+        return defaultMapPath();
+    else
+        return settings
+           .value("/system/defaultMap/path", defaultMapPath())
+           .toString();
+}
+
+bool Main::useAutosave() { return actionSettingsToggleAutosave->isChecked(); }
+
+void Main::setAutosave(bool b) { actionSettingsToggleAutosave->setChecked(b); }
+
+void Main::settingsAutosaveTime()
+{
+    bool ok;
+    int i = QInputDialog::getInt(
+        this, vymName, tr("Number of seconds before autosave:"),
+        settings.value("/system/autosave/ms").toInt() / 1000, 10, 60000, 1,
+        &ok);
+    if (ok)
+        settings.setValue("/system/autosave/ms", i * 1000);
+}
+
+void Main::settingsDefaultMapAuthor()
+{
+    bool ok;
+    QString s = QInputDialog::getText(
+        this, vymName, tr("Set author for new maps (used in lockfile)") + ":",
+        QLineEdit::Normal,
+        settings
+            .value("/user/name", tr("unknown user",
+                                    "default name for map author in settings"))
+            .toString(),
+        &ok);
+    if (ok)
+        settings.setValue("/user/name", s);
+}
+
+void Main::settingsDarkTheme()
+{
+    DarkThemeSettingsDialog dia;
+    QString settingDarkTheme = settings.value("/system/darkTheme", "system").toString();
+    if (settingDarkTheme == "always")
+        dia.ui.alwaysUseDarkThemeButton->setChecked(true);
+    else 
+        if (settingDarkTheme == "never")
+            dia.ui.neverUseDarkThemeButton->setChecked(true);
+        else
+            dia.ui.systemUseDarkThemeButton->setChecked(true);
+    dia.exec();
+
+    QString newSetting;
+    if (dia.ui.alwaysUseDarkThemeButton->isChecked())
+            newSetting = "always";
+    else
+        if (dia.ui.neverUseDarkThemeButton->isChecked())
+            newSetting = "never";
+        else
+            newSetting = "system";
+
+    if (settingDarkTheme != newSetting) {
+        settings.setValue("/system/darkTheme", newSetting);
+        QMessageBox::information(
+            0, tr("Information"),
+            tr("Restart vym to apply the changed dark theme setting"));
+    }
+}
+
+void Main::settingsShowParentsLevelFindResults()
+{
+    bool ok;
+    int i = QInputDialog::getInt(
+        this, vymName, tr("Number of parents shown in find results:"),
+        findResultWidget->getResultModel()->getShowParentsLevel(), 0, 10, 0,
+        &ok);
+    if (ok)
+        findResultWidget->getResultModel()->setShowParentsLevel(i);
+}
+
+void Main::settingsShowParentsLevelTasks()
+{
+    bool ok;
+    int i = QInputDialog::getInt(
+        this, vymName, tr("Number of parents shown for a task:"),
+        taskModel->getShowParentsLevel(), 0, 10, 0, &ok);
+    if (ok)
+        taskModel->setShowParentsLevel(i);
+}
+
+void Main::settingsToggleAutoLayout()
+{
+    settings.setValue("/mainwindow/autoLayout/use",
+                      actionSettingsToggleAutoLayout->isChecked());
+}
+
+void Main::settingsToggleWriteBackupFile()
+{
+    settings.setValue("/system/writeBackupFile",
+                      actionSettingsWriteBackupFile->isChecked());
+}
+
+void Main::settingsToggleAnimation()
+{
+    settings.setValue("/animation/use",
+                      actionSettingsUseAnimation->isChecked());
+}
+
+void Main::settingsToggleDownloads() { downloadsEnabled(true); }
+
+bool Main::settingsConfluence()
+{
+    if (!QSslSocket::supportsSsl())
+    {
+        QMessageBox::warning(
+            0, tr("Warning"),
+            tr("No SSL support available for this build of vym"));
+        helpDebugInfo();
+        return false;
+    }
+
+    ConfluenceSettingsDialog dia;
+    dia.exec();
+
+    if (dia.result() > 0)
+        return true;
+    else
+        return false;
+}
+
+bool Main::settingsJIRA()
+{
+    if (!QSslSocket::supportsSsl())
+    {
+        QMessageBox::warning(
+            0, tr("Warning"),
+            tr("No SSL support available for this build of vym"));
+        helpDebugInfo();
+        return false;
+    }
+
+    JiraSettingsDialog dia;
+    dia.exec();
+
+    if (dia.result() > 0)
+        return true;
+    else
+        return false;
+}
+
+void Main::windowToggleNoteEditor()
+{
+    if (noteEditor->parentWidget()->isVisible())
+        noteEditor->parentWidget()->hide();
+    else {
+        noteEditor->parentWidget()->show();
+        noteEditor->setFocus();
+    }
+}
+
+void Main::windowToggleTreeEditor()
+{
+    if (tabWidget->currentWidget())
+        currentView()->toggleTreeEditor();
+}
+
+void Main::windowToggleTaskEditor()
+{
+    if (taskEditor->parentWidget()->isVisible()) {
+        taskEditor->parentWidget()->hide();
+        actionViewToggleTaskEditor->setChecked(false);
+    }
+    else {
+        taskEditor->parentWidget()->show();
+        actionViewToggleTaskEditor->setChecked(true);
+    }
+}
+
+void Main::windowToggleSlideEditor()
+{
+    if (tabWidget->currentWidget())
+        currentView()->toggleSlideEditor();
+}
+
+void Main::windowToggleScriptEditor()
+{
+    if (scriptEditor->parentWidget()->isVisible()) {
+        scriptEditor->parentWidget()->hide();
+        actionViewToggleScriptEditor->setChecked(false);
+    }
+    else {
+        scriptEditor->parentWidget()->show();
+        actionViewToggleScriptEditor->setChecked(true);
+    }
+}
+
+void Main::windowToggleScriptOutput()
+{
+    if (scriptOutput->parentWidget()->isVisible()) {
+        scriptOutput->parentWidget()->hide();
+        actionViewToggleScriptOutput->setChecked(false);
+    }
+    else {
+        scriptOutput->parentWidget()->show();
+        actionViewToggleScriptOutput->setChecked(true);
+    }
+}
+
+void Main::windowToggleHistory()
+{
+    if (historyWindow->parentWidget()->isVisible())
+        historyWindow->parentWidget()->hide();
+    else
+        historyWindow->parentWidget()->show();
+}
+
+void Main::windowToggleProperty()
+{
+    if (branchPropertyEditor->parentWidget()->isVisible())
+        branchPropertyEditor->parentWidget()->hide();
+    else
+        branchPropertyEditor->parentWidget()->show();
+    branchPropertyEditor->setModel(currentModel());
+}
+
+void Main::windowShowHeadingEditor() { headingEditorDW->show(); }
+
+void Main::windowToggleHeadingEditor()
+{
+    if (headingEditor->parentWidget()->isVisible())
+        headingEditor->parentWidget()->hide();
+    else {
+        headingEditor->parentWidget()->show();
+        headingEditor->setFocus();
+    }
+}
+
+void Main::windowToggleAntiAlias()
+{
+    bool b = actionViewToggleAntiAlias->isChecked();
+    MapEditor *me;
+    for (int i = 0; i < tabWidget->count(); i++) {
+        me = view(i)->getMapEditor();
+        if (me)
+            me->setAntiAlias(b);
+    }
+}
+
+bool Main::isAliased() { return actionViewToggleAntiAlias->isChecked(); }
+
+bool Main::hasSmoothPixmapTransform()
+{
+    return actionViewToggleSmoothPixmapTransform->isChecked();
+}
+
+void Main::windowToggleSmoothPixmap()
+{
+    bool b = actionViewToggleSmoothPixmapTransform->isChecked();
+    MapEditor *me;
+    for (int i = 0; i < tabWidget->count(); i++) {
+
+        me = view(i)->getMapEditor();
+        if (me)
+            me->setSmoothPixmap(b);
+    }
+}
+
+void Main::clearScriptOutput() { scriptOutput->clear(); }
+
+void Main::updateHistory(SimpleSettings &undoSet)
+{
+    historyWindow->update(undoSet);
+}
+
+void Main::updateHeading(const VymText &vt)
+{
+    VymModel *m = currentModel();
+    if (m)
+        m->setHeading(vt);
+}
+
+void Main::updateNoteText(const VymText &vt)
+{
+    // this slot is connected to noteEditor::textHasChanged()
+    VymModel *m = currentModel();
+    if (m)
+        m->updateNoteText(vt);
+}
+
+void Main::updateNoteEditor(TreeItem *ti)
+{
+    if (ti) {
+        if (!ti->hasEmptyNote())
+            noteEditor->setNote(ti->getNote());
+        else
+            noteEditor->clear(); // Also sets empty state
+        return;
+    }
+    noteEditor->setInactive();
+}
+
+void Main::updateHeadingEditor(BranchItem *bi)  // FIXME-3 move to HeadingEditor
+{
+    if (!bi) {
+        VymModel *m = currentModel();
+        if (!m) return;
+
+        bi = m->getSelectedBranch();
+    }
+
+    // Give up, if not a single branch is selected
+    if (!bi) return;
+
+    // Color settings, also to prepare switching to RichText later
+    headingEditor->setColorMapBackground(bi->getBackgroundColor(bi));
+    headingEditor->setColorRichTextDefaultForeground(bi->getHeadingColor());
+
+    headingEditor->setVymText(bi->getHeading());
+    headingEditor->setEditorTitle();
+
+}
+
+void Main::selectInNoteEditor(QString s, int i)
+{
+    // TreeItem is already selected at this time, therefor
+    // the note is already in the editor
+    noteEditor->findText(s, QTextDocument::FindFlags(), i);
+}
+
+void Main::setFocusMapEditor()
+{
+    VymView *vv = currentView();
+    if (vv)
+        vv->setFocusMapEditor();
+}
+
+void Main::changeSelection(VymModel *model, const QItemSelection &,
+                           const QItemSelection &)
+{
+    // Setting the model in BPE implicitely
+    // also sets treeItem and updates content in BPE
+    branchPropertyEditor->setModel(model);
+
+    if (model && model == currentModel()) {
+        int selectedCount = model->getSelectionModel()->selectedIndexes().count();
+
+        if (selectedCount == 0 || selectedCount > 1) {
+            noteEditor->setInactive();
+            headingEditor->setInactive();
+            taskEditor->clearSelection();
+
+        } else {
+            BranchItem *bi = model->getSelectedBranch();
+            if (!bi) return;
+
+            // Update note editor
+            updateNoteEditor(bi);
+
+            // Show URL and link in statusbar
+            QString status;
+            QString s = bi->getURL();
+            if (!s.isEmpty())
+                status += "URL: " + s + "  ";
+            s = bi->getVymLink();
+            if (!s.isEmpty())
+                status += "Link: " + s;
+            if (!status.isEmpty())
+                statusMessage(status);
+
+            // Update text in HeadingEditor
+            updateHeadingEditor(bi);
+
+            // Select in TaskEditor, if necessary
+            Task *t = bi->getTask();
+
+            if (t)
+                taskEditor->select(t);
+            else
+                taskEditor->clearSelection();
+        }
+    }
+
+    updateActions();
+}
+
+void Main::updateDockWidgetTitles(VymModel *model)
+{
+    QString s;
+    if (model && !model->isRepositionBlocked()) {
+        BranchItem *bi = model->getSelectedBranch();
+        if (bi) {
+            s = bi->getHeadingPlain();
+            noteEditor->setVymText(bi->getNote());
+        }
+
+        noteEditor->setEditorTitle(s);
+        branchPropertyEditor->setModel(model);
+    }
+}
+
+void Main::updateActions()
+{
+    // updateActions is also called when satellites are closed
+    actionViewToggleNoteEditor->setChecked(
+        noteEditor->parentWidget()->isVisible());
+    actionViewToggleTaskEditor->setChecked(
+        taskEditor->parentWidget()->isVisible());
+    actionViewToggleHistoryWindow->setChecked(
+        historyWindow->parentWidget()->isVisible());
+    actionViewTogglePropertyEditor->setChecked(
+        branchPropertyEditor->parentWidget()->isVisible());
+    actionViewToggleScriptEditor->setChecked(
+        scriptEditor->parentWidget()->isVisible());
+
+    if (JiraAgent::available())
+        actionGetJiraDataSubtree->setEnabled(true);
+    else
+        actionGetJiraDataSubtree->setEnabled(false);
+
+    if (ConfluenceAgent::available())
+    {
+        actionGetConfluencePageName->setEnabled(true);
+        actionConnectGetConfluenceUser->setEnabled(true);
+        actionFileExportConfluence->setEnabled(true);
+    } else
+    {
+        actionGetConfluencePageName->setEnabled(false);
+        actionConnectGetConfluenceUser->setEnabled(false);
+        actionFileExportConfluence->setEnabled(false);
+    }
+
+    VymView *vv = currentView();
+    if (vv) {
+        actionViewToggleTreeEditor->setChecked(vv->treeEditorIsVisible());
+        actionViewToggleSlideEditor->setChecked(vv->slideEditorIsVisible());
+    }
+    else {
+        actionViewToggleTreeEditor->setChecked(false);
+        actionViewToggleSlideEditor->setChecked(false);
+    }
+
+    VymModel *m = currentModel();
+    if (m) {
+        QList<TreeItem *> seltis = m->getSelectedItems();
+        QList<BranchItem *> selbis = m->getSelectedBranches();
+        TreeItem *selti;
+        selti = (seltis.count() == 1) ? seltis.first() : nullptr;
+
+        BranchItem *selbi;
+        selbi = (selbis.count() == 1) ? selbis.first() : nullptr;
+
+        // readonly mode
+        if (m->isReadOnly()) {
+            // Disable toolbars
+            standardFlagsMaster->setEnabled(false);
+            userFlagsMaster->setEnabled(false);
+            clipboardToolbar->setEnabled(false);
+            editActionsToolbar->setEnabled(false);
+            selectionToolbar->setEnabled(false);
+            editorsToolbar->setEnabled(false);
+            colorsToolbar->setEnabled(false);
+            zoomToolbar->setEnabled(false);
+            modModesToolbar->setEnabled(false);
+            referencesToolbar->setEnabled(false);
+            standardFlagsToolbar->setEnabled(false);
+            userFlagsToolbar->setEnabled(false);
+
+            // Disable map related actions in readonly mode // FIXME-2 not all actions disabled 
+            foreach (QAction *a, restrictedMapActions)
+                a->setEnabled(false);
+
+        }
+        else { // not readonly     
+
+            // Enable toolbars
+            standardFlagsMaster->setEnabled(true);
+            userFlagsMaster->setEnabled(true);
+            clipboardToolbar->setEnabled(true);
+            editActionsToolbar->setEnabled(true);
+            selectionToolbar->setEnabled(true);
+            editorsToolbar->setEnabled(true);
+            colorsToolbar->setEnabled(true);
+            zoomToolbar->setEnabled(true);
+            modModesToolbar->setEnabled(true);
+            referencesToolbar->setEnabled(true);
+            standardFlagsToolbar->setEnabled(true);
+            userFlagsToolbar->setEnabled(true);
+
+            // Enable map related actions
+            foreach (QAction *a, restrictedMapActions)
+                a->setEnabled(true);
+        }
+        // Enable all files actions first
+        for (int i = 0; i < actionListFiles.size(); ++i)
+            actionListFiles.at(i)->setEnabled(true);
+
+        foreach (QAction *a, unrestrictedMapActions)
+            a->setEnabled(true);
+
+        // Disable other actions for now
+        for (int i = 0; i < actionListBranches.size(); ++i)
+            actionListBranches.at(i)->setEnabled(false);
+
+        for (int i = 0; i < actionListItems.size(); ++i)
+            actionListItems.at(i)->setEnabled(false);
+
+        // Link style in context menu
+        switch (m->getMapLinkStyle()) {
+        case LinkableMapObj::Line:
+            actionFormatLinkStyleLine->setChecked(true);
+            break;
+        case LinkableMapObj::Parabel:
+            actionFormatLinkStyleParabel->setChecked(true);
+            break;
+        case LinkableMapObj::PolyLine:
+            actionFormatLinkStylePolyLine->setChecked(true);
+            break;
+        case LinkableMapObj::PolyParabel:
+            actionFormatLinkStylePolyParabel->setChecked(true);
+            break;
+        default:
+            break;
+        }
+
+        // Update colors
+        QPixmap pix(16, 16);
+        pix.fill(m->getMapBackgroundColor());
+        actionFormatBackColor->setIcon(pix);
+        pix.fill(m->getSelectionBrushColor());
+        actionFormatSelectionColor->setIcon(pix);
+        pix.fill(m->getMapDefLinkColor());
+        actionFormatLinkColor->setIcon(pix);
+
+        // Selection history
+        if (!m->canSelectPrevious())
+            actionSelectPrevious->setEnabled(false);
+
+        if (!m->canSelectNext())
+            actionSelectNext->setEnabled(false);
+
+        if (!m->getSelectedItem())
+            actionSelectNothing->setEnabled(false);
+
+        // Save
+        if (!m->hasChanged())
+            actionFileSave->setEnabled(false);
+
+        // Undo/Redo
+        if (!m->isUndoAvailable())
+            actionUndo->setEnabled(false);
+
+        if (!m->isRedoAvailable())
+            actionRedo->setEnabled(false);
+
+        // History window
+        historyWindow->setWindowTitle(
+            vymName + " - " +
+            tr("History for %1", "Window Caption").arg(m->getFileName()));
+
+        // Expanding/collapsing
+        actionExpandAll->setEnabled(true);
+        actionExpandOneLevel->setEnabled(true);
+        actionCollapseOneLevel->setEnabled(true);
+        actionCollapseUnselected->setEnabled(true);
+
+        if (m->getMapLinkColorHint() == LinkableMapObj::HeadingColor)
+            actionFormatLinkColorHint->setChecked(true);
+        else
+            actionFormatLinkColorHint->setChecked(false);
+
+        // Export last
+        QString desc, com, dest;
+        if (m && m->exportLastAvailable(desc, com, dest))
+            actionFileExportLast->setEnabled(true);
+        else {
+            actionFileExportLast->setEnabled(false);
+            com = dest = "";
+            desc = " - ";
+        }
+        actionFileExportLast->setText(
+            tr("Export in last used format (%1) to: %2", "status tip")
+                .arg(desc)
+                .arg(dest));
+
+
+        if (seltis.count() > 0) { // Tree Item selected
+            if (selti) actionToggleTarget->setChecked(selti->isTarget());
+            actionDelete->setEnabled(true);
+            actionDeleteAlt->setEnabled(true);
+            actionDeleteChildren->setEnabled(true);
+
+            if (selti && selti->getType() == TreeItem::Image) {
+                actionFormatHideLinkUnselected->setChecked(
+                    ((MapItem *)selti)->getHideLinkUnselected());
+                actionFormatHideLinkUnselected->setEnabled(true);
+            }
+
+            if (selbis.count() > 0) { // Branch Item selected
+                for (int i = 0; i < actionListBranches.size(); ++i)
+                    actionListBranches.at(i)->setEnabled(true);
+
+                actionHeading2URL->setEnabled(true);
+
+                // Note
+                if (selbi) actionGetURLsFromNote->setEnabled(!selbi->getNote().isEmpty());
+
+                // Take care of xlinks
+                // FIXME-4 similar code in mapeditor mousePressEvent
+                bool b = false;
+                if (selbi && selbi->xlinkCount() > 0)
+                    b = true;
+
+                branchXLinksContextMenuEdit->setEnabled(b);
+                branchXLinksContextMenuFollow->setEnabled(b);
+                branchXLinksContextMenuEdit->clear();
+                branchXLinksContextMenuFollow->clear();
+                if (b) {
+                    BranchItem *bi;
+                    QString s;
+                    for (int i = 0; i < selbi->xlinkCount(); ++i) {
+                        bi = selbi->getXLinkItemNum(i)->getPartnerBranch();
+                        if (bi) {
+                            s = bi->getHeadingPlain();
+                            if (s.length() > xLinkMenuWidth)
+                                s = s.left(xLinkMenuWidth) + "...";
+                            branchXLinksContextMenuEdit->addAction(s);
+                            branchXLinksContextMenuFollow->addAction(s);
+                        }
+                    }
+                }
+                // Standard and user flags
+                if (selbi)
+                {
+                    standardFlagsMaster->updateToolBar(selbi->activeFlagUids());
+                    userFlagsMaster->updateToolBar(selbi->activeFlagUids());
+                }
+
+                // System Flags
+                actionToggleScroll->setEnabled(true);
+                if (selbi && selbi->isScrolled())
+                    actionToggleScroll->setChecked(true);
+                else
+                    actionToggleScroll->setChecked(false);
+
+                QString url;
+                if (selti) url = selti->getURL();
+                if (url.isEmpty()) {
+                    actionOpenURL->setEnabled(false);
+                    actionOpenURLTab->setEnabled(false);
+                    actionGetConfluencePageName->setEnabled(false);
+                }
+                else {
+                    actionOpenURL->setEnabled(true);
+                    actionOpenURLTab->setEnabled(true);
+                    if (ConfluenceAgent::available())
+                        actionGetConfluencePageName->setEnabled(true);
+                    else
+                        actionGetConfluencePageName->setEnabled(false);
+                }
+
+                if (selti && selti->getVymLink().isEmpty()) {
+                    actionOpenVymLink->setEnabled(false);
+                    actionOpenVymLinkBackground->setEnabled(false);
+                    actionDeleteVymLink->setEnabled(false);
+                }
+                else {
+                    actionOpenVymLink->setEnabled(true);
+                    actionOpenVymLinkBackground->setEnabled(true);
+                    actionDeleteVymLink->setEnabled(true);
+                }
+
+                if ((selbi && !selbi->canMoveUp()) || selbis.count() > 1)
+                    actionMoveUp->setEnabled(false);
+
+                if ((selbi && !selbi->canMoveDown()) || selbis.count() > 1)
+                    actionMoveDown->setEnabled(false);
+
+                if ((selbi && !selbi->canMoveUp()) || selbis.count() > 1)
+                    actionMoveUpDiagonally->setEnabled(false);  // FIXME-2 add check for moveDiagonalUp
+
+                if ((selbi && selbi->depth() == 0) || selbis.count() > 1)
+                    actionMoveDownDiagonally->setEnabled(false);
+
+                if (selbi && selbi->getLMO()->getOrientation() == LinkableMapObj::LeftOfCenter)
+                {
+                    actionMoveDownDiagonally->setIcon(QPixmap(":down-diagonal-right.png"));
+                    actionMoveUpDiagonally->setIcon(QPixmap(":up-diagonal-left.png"));
+                }
+                else
+                {
+                    actionMoveDownDiagonally->setIcon(QPixmap(":down-diagonal-left.png"));
+                    actionMoveUpDiagonally->setIcon(QPixmap(":up-diagonal-right.png"));
+                }
+
+                if ((selbi && selbi->branchCount() < 2)  || selbis.count() > 1) { 
+                    actionSortChildren->setEnabled(false);
+                    actionSortBackChildren->setEnabled(false);
+                }
+
+                if (selbi) {
+                    actionToggleHideExport->setEnabled(true);
+                    actionToggleHideExport->setChecked(selbi->hideInExport());
+
+                    actionToggleTask->setEnabled(true);
+                    if (!selbi->getTask())
+                        actionToggleTask->setChecked(false);
+                    else
+                        actionToggleTask->setChecked(true);
+                } else
+                {
+                    actionToggleHideExport->setEnabled(false);
+                    actionToggleTask->setEnabled(false);
+                }
+
+
+                const QClipboard *clipboard = QApplication::clipboard();
+                const QMimeData *mimeData = clipboard->mimeData();
+                if (mimeData->formats().contains("application/x-vym") ||
+                    mimeData->hasImage())
+                    actionPaste->setEnabled(true);
+                else
+                    actionPaste->setEnabled(false);
+
+                actionToggleTarget->setEnabled(true);
+            } // end of BranchItem
+
+            if (selti && selti->getType() == TreeItem::Image) {
+                for (int i = 0; i < actionListBranches.size(); ++i)
+                    actionListBranches.at(i)->setEnabled(false);
+
+                standardFlagsMaster->setEnabled(false);
+                userFlagsMaster->setEnabled(false);
+
+                actionOpenURL->setEnabled(false);
+                actionOpenVymLink->setEnabled(false);
+                actionOpenVymLinkBackground->setEnabled(false);
+                actionDeleteVymLink->setEnabled(false);
+                actionToggleHideExport->setEnabled(true);
+                actionToggleHideExport->setChecked(selti->hideInExport());
+
+                actionToggleTarget->setEnabled(true);
+
+                actionPaste->setEnabled(false);
+                actionDelete->setEnabled(true);
+                actionDeleteAlt->setEnabled(true);
+
+                actionGrowSelectionSize->setEnabled(true);
+                actionShrinkSelectionSize->setEnabled(true);
+                actionResetSelectionSize->setEnabled(true);
+            } // Image
+        } // TreeItem
+        else
+        {
+            actionToggleHideExport->setEnabled(false);
+        }
+
+        // Check (at least for some) multiple selection //FIXME-4
+        if (seltis.count() > 0) {
+            actionDelete->setEnabled(true);
+            actionDeleteAlt->setEnabled(true);
+        }
+
+        if (selbis.count() > 0)
+        {
+            actionFormatColorBranch->setEnabled(true);
+            actionFormatColorSubtree->setEnabled(true);
+        }
+    }
+    else {
+        // No map available
+        for (int i = 0; i < actionListFiles.size(); ++i)
+            actionListFiles.at(i)->setEnabled(false);
+
+        foreach (QAction *a, unrestrictedMapActions)
+            a->setEnabled(false);
+
+        // Disable toolbars
+        standardFlagsMaster->setEnabled(false);
+        userFlagsMaster->setEnabled(false);
+        clipboardToolbar->setEnabled(false);
+        editActionsToolbar->setEnabled(false);
+        selectionToolbar->setEnabled(false);
+        editorsToolbar->setEnabled(false);
+        colorsToolbar->setEnabled(false);
+        zoomToolbar->setEnabled(false);
+        modModesToolbar->setEnabled(false);
+        referencesToolbar->setEnabled(false);
+        standardFlagsToolbar->setEnabled(false);
+        userFlagsToolbar->setEnabled(false);
+    }
+}
+
+Main::ModMode Main::getModMode()
+{
+    if (actionModModePoint->isChecked())
+        return ModModePoint;
+    if (actionModModeColor->isChecked())
+        return ModModeColor;
+    if (actionModModeXLink->isChecked())
+        return ModModeXLink;
+    if (actionModModeMoveObject->isChecked())
+        return ModModeMoveObject;
+    if (actionModModeMoveView->isChecked())
+        return ModModeMoveView;
+    return ModModeUndefined;
+}
+
+bool Main::autoSelectNewBranch()
+{
+    return actionSettingsAutoSelectNewBranch->isChecked();
+}
+
+QScriptValue scriptPrint(QScriptContext *context, QScriptEngine *)
+{
+    scriptOutput->append(context->argument(0).toString());
+    cout << context->argument(0).toString().toStdString() << endl;
+    return QScriptValue();
+}
+
+QScriptValue scriptAbort(QScriptContext *context, QScriptEngine *engine)
+{
+    scriptOutput->append("Abort called: " + context->argument(0).toString());
+    engine->abortEvaluation();
+    return QScriptValue();
+}
+
+QScriptValue scriptStatusMessage(QScriptContext *context, QScriptEngine *)
+{
+    mainWindow->statusMessage(context->argument(0).toString());
+    return QScriptValue();
+}
+
+QVariant Main::runScript(const QString &script)
+{
+    scriptEngine.globalObject().setProperty(
+        "print", scriptEngine.newFunction(scriptPrint));
+    scriptEngine.globalObject().setProperty(
+        "abort", scriptEngine.newFunction(scriptAbort));
+    scriptEngine.globalObject().setProperty(
+        "statusMessage", scriptEngine.newFunction(scriptStatusMessage));
+
+    // Create Wrapper object for VymModel
+    // QScriptValue val1 = scriptEngine.newQObject( m->getWrapper() );
+    // scriptEngine.globalObject().setProperty("model", val1);
+
+    // Create Wrapper object for vym itself (mainwindow)
+    VymWrapper vymWrapper;
+    QScriptValue val2 = scriptEngine.newQObject(&vymWrapper);
+    scriptEngine.globalObject().setProperty("vym", val2);
+
+    // Create wrapper object for selection
+    Selection selection;
+    QScriptValue val3 = scriptEngine.newQObject(&selection);
+    scriptEngine.globalObject().setProperty("selection", val3);
+
+    if (debug) {
+        cout << "MainWindow::runScript starting to execute:" << endl;
+        cout << qPrintable(script) << endl;
+    }
+
+    // Run script
+    QScriptValue result = scriptEngine.evaluate(script);
+
+    if (debug) {
+        qDebug() << "MainWindow::runScript finished:";
+        qDebug() << "   hasException: " << scriptEngine.hasUncaughtException();
+        qDebug() << "         result: "
+                 << result.toString(); // not used so far...
+        qDebug()
+            << "     lastResult: "
+            << scriptEngine.globalObject().property("lastResult").toVariant();
+    }
+
+    if (scriptEngine.hasUncaughtException()) {
+        // Warnings, in case that output window is not visible...
+        statusMessage("Script execution failed");
+        qWarning() << "Script execution failed";
+
+        int line = scriptEngine.uncaughtExceptionLineNumber();
+        scriptOutput->append(QString("uncaught exception at line %1: %2")
+                                 .arg(line)
+                                 .arg(result.toString()));
+    }
+    else
+        return scriptEngine.globalObject().property("lastResult").toVariant();
+
+    return QVariant("");
+}
+
+QObject *Main::getCurrentModelWrapper()
+{
+    // Called from VymWrapper to find out current model in a script
+    VymModel *m = currentModel();
+    if (m)
+        return m->getWrapper();
+    else
+        return NULL;
+}
+
+bool Main::gotoWindow(const int &n)
+{
+    if (n < tabWidget->count() && n >= 0) {
+        tabWidget->setCurrentIndex(n);
+        return true;
+    }
+    return false;
+}
+
+void Main::windowNextEditor()
+{
+    if (tabWidget->currentIndex() < tabWidget->count())
+        tabWidget->setCurrentIndex(tabWidget->currentIndex() + 1);
+}
+
+void Main::windowPreviousEditor()
+{
+    if (tabWidget->currentIndex() > 0)
+        tabWidget->setCurrentIndex(tabWidget->currentIndex() - 1);
+}
+
+void Main::nextSlide()
+{
+    VymView *cv = currentView();
+    if (cv)
+        cv->nextSlide();
+}
+
+void Main::previousSlide()
+{
+    VymView *cv = currentView();
+    if (cv)
+        cv->previousSlide();
+}
+
+void Main::flagChanged()
+{
+    MapEditor *me = currentMapEditor();
+    VymModel *m = currentModel();
+    if (me && m && me->getState() != MapEditor::EditingHeading) {
+        m->toggleFlagByUid(QUuid(sender()->objectName()),
+                           actionSettingsUseFlagGroups->isChecked());
+        updateActions();
+    }
+}
+
+void Main::testFunction1()
+{
+    // Avail. styles:
+    // Linux (KDE): Breeze,bb10dark,bb10bright,cleanlooks,gtk2,cde,motif,plastique,Windows,Fusion
+    // Windows: windowsvista,Windows,Fusion
+    //#include <QStyleFactory>
+    //qApp->setStyle(QStyleFactory::create("windowsvista"));
+
+    VymModel *m = currentModel();
+    if (m) {
+        qDebug() << "ME::vp->width()=" << m->getMapEditor()->viewport()->width();
+    }
+}
+
+void Main::testFunction2()
+{
+    VymModel *m = currentModel();
+    if (m) {
+        //m->repeatLastCommand();
+    }
+}
+
+void Main::toggleWinter()
+{
+    if (!currentMapEditor())
+        return;
+    currentMapEditor()->toggleWinter();
+}
+
+void Main::toggleHideExport()
+{
+    VymModel *m = currentModel();
+    if (!m)
+        return;
+    if (actionToggleHideMode->isChecked())
+        m->setHideTmpMode(TreeItem::HideExport);
+    else
+        m->setHideTmpMode(TreeItem::HideNone);
+}
+
+void Main::testCommand()
+{
+    if (!currentMapEditor())
+        return;
+    scriptEditor->show();
+}
+
+void Main::helpDoc()
+{
+    QString locale = QLocale::system().name();
+    QString docname;
+    if (locale.left(2) == "es")
+        docname = "vym_es.pdf";
+    else
+        docname = "vym.pdf";
+
+    QStringList searchList;
+    QDir docdir;
+#if defined(Q_OS_MACX)
+    searchList << vymBaseDir.path() + "/doc";
+#elif defined(Q_OS_WIN32)
+    searchList << vymInstallDir.path() + "doc/" + docname;
+#else
+#if defined(VYM_DOCDIR)
+    searchList << VYM_DOCDIR;
+#endif
+    // default path in SUSE LINUX
+    searchList << "/usr/share/doc/packages/vym";
+#endif
+
+    searchList << "doc"; // relative path for easy testing in tarball
+    searchList << "/usr/share/doc/vym";      // Debian
+    searchList << "/usr/share/doc/packages"; // Knoppix
+
+    bool found = false;
+    QFile docfile;
+    for (int i = 0; i < searchList.count(); ++i) {
+        docfile.setFileName(searchList.at(i) + "/" + docname);
+        if (docfile.exists()) {
+            found = true;
+            break;
+        }
+    }
+
+    if (!found) {
+        QMessageBox::critical(0, tr("Critcal error"),
+                              tr("Couldn't find the documentation %1 in:\n%2")
+                                  .arg(docname)
+                                  .arg(searchList.join("\n")));
+        return;
+    }
+
+    QStringList args;
+    VymProcess *pdfProc = new VymProcess();
+    args << QDir::toNativeSeparators(docfile.fileName());
+
+    if (!pdfProc->startDetached(settings.value("/system/readerPDF").toString(),
+                                args)) {
+        // error handling
+        QMessageBox::warning(
+            0, tr("Warning"),
+            tr("Couldn't find a viewer to open %1.\n").arg(docfile.fileName()) +
+                tr("Please use Settings->") +
+                tr("Set application to open PDF files"));
+        settingsPDF();
+        return;
+    }
+}
+
+void Main::helpDemo()
+{
+    QStringList filters;
+    filters << "VYM example map (*.vym)";
+    QFileDialog fd;
+    fd.setDirectory(vymBaseDir.path() + "/demos");
+    fd.setFileMode(QFileDialog::ExistingFiles);
+    fd.setNameFilters(filters);
+    fd.setWindowTitle(vymName + " - " + tr("Load vym example map"));
+    fd.setAcceptMode(QFileDialog::AcceptOpen);
+
+    QString fn;
+    if (fd.exec() == QDialog::Accepted) {
+        lastMapDir = fd.directory();
+        QStringList flist = fd.selectedFiles();
+        QStringList::Iterator it = flist.begin();
+        initProgressCounter(flist.count());
+        while (it != flist.end()) {
+            fn = *it;
+            fileLoad(*it, NewMap, VymMap);
+            ++it;
+        }
+        removeProgressCounter();
+    }
+}
+
+void Main::helpShortcuts()
+{
+    ShowTextDialog dia;
+    dia.useFixedFont(true);
+    dia.setText(switchboard.getASCII());
+    dia.exec();
+}
+
+void Main::helpMacros()
+{
+    ShowTextDialog dia;
+    dia.useFixedFont(true);
+    dia.setText(macros.help());
+    dia.exec();
+}
+
+void Main::helpScriptingCommands()
+{
+    ShowTextDialog dia;
+    dia.useFixedFont(true);
+    QString s;
+    s = "Available commands in map:\n";
+    s += "=========================:\n";
+    foreach (Command *c, modelCommands) {
+        s += c->getDescription();
+        s += "\n";
+    }
+
+    s += "Available commands in vym:\n";
+    s += "=========================:\n";
+    foreach (Command *c, vymCommands) {
+        s += c->getDescription();
+        s += "\n";
+    }
+
+    dia.setText(s);
+    dia.exec();
+}
+
+void Main::helpDebugInfo()
+{
+    ShowTextDialog dia;
+    dia.useFixedFont(true);
+    dia.setText(debugInfo());
+    dia.setMinimumWidth(900);
+    dia.exec();
+}
+
+void Main::helpAbout()
+{
+    AboutDialog ad;
+    ad.setMinimumSize(900, 700);
+    ad.resize(QSize(900, 700));
+    ad.exec();
+}
+
+void Main::helpAboutQT()
+{
+    QMessageBox::aboutQt(this, "Qt Application Example");
+}
+
+void Main::callMacro()
+{
+    QAction *action = qobject_cast<QAction *>(sender());
+    int i = -1;
+    if (action) {
+        QString s = macros.get();
+        QString shift;
+
+        i = action->data().toInt() + 1;
+
+        if (i > 12) {
+            shift = "shift_";
+            i = i - 12;
+        }
+
+        s += QString("macro_%1f%2();").arg(shift).arg(i);
+
+        VymModel *m = currentModel();
+        if (m)
+            m->execute(s);
+    }
+}
+
+void Main::downloadReleaseNotesFinished()
+{
+    DownloadAgent *agent = static_cast<DownloadAgent *>(sender());
+    QString s;
+
+    if (agent->isSuccess()) {
+        QString page;
+        if (agent->isSuccess()) {
+            if (loadStringFromDisk(agent->getDestination(), page)) {
+                ShowTextDialog dia(this);
+                dia.setText(page);
+                dia.exec();
+
+                // Don't load the release notes automatically again
+                settings.setValue("/downloads/releaseNotes/shownVersion",
+                                  vymVersion);
+            }
+        }
+    }
+    else {
+        statusMessage("Downloading release notes failed.");
+        if (debug) {
+            qDebug() << "Main::downloadReleaseNotesFinished ";
+            qDebug() << "  result: failed";
+            qDebug() << "     msg: " << agent->getResultMessage();
+        }
+    }
+    agent->deleteLater();
+
+    if (checkUpdatesAfterReleaseNotes)
+    {
+        // After startup we want to check also for updates, but only after
+        // releasenotes are there (and we have a cookie already)
+        checkUpdatesAfterReleaseNotes = false;
+        checkUpdates();
+    }
+}
+
+QUrl Main::serverUrl(const QString &scriptName)
+{
+    // Local URL for testing only
+    // QString("http://localhost/release-notes.php?vymVersion=%1") /
+    return QUrl(
+        QString("http://www.insilmaril.de/vym/%1?"
+                    "vymVersion=%2"
+                    "&config=darkTheme=%3+localeName=%4+buildDate=%5+codeQuality='%6'+codeName='%7'")
+            .arg(scriptName)
+            .arg(vymVersion)
+            .arg(usingDarkTheme)
+            .arg(localeName)
+            .arg(vymBuildDate)
+            .arg(vymCodeQuality)
+            .arg(vymCodeName)
+            );
+}
+
+void Main::checkReleaseNotesAndUpdates ()
+{
+    // Called once after startup
+    // checkUpdatesAfterReleaseNotes is already true then
+    checkReleaseNotes();
+}
+
+void Main::checkReleaseNotes ()
+{
+    bool userTriggered;
+    if (qobject_cast<QAction *>(sender()))
+        userTriggered = true;
+    else
+        userTriggered = false;
+
+    if (downloadsEnabled()) {
+        if (userTriggered ||
+            versionLowerThanVym(
+                settings.value("/downloads/releaseNotes/shownVersion", "0.0.1")
+                    .toString())) {
+            DownloadAgent *agent = new DownloadAgent(serverUrl("release-notes.php"));
+            connect(agent, SIGNAL(downloadFinished()), this,
+                    SLOT(downloadReleaseNotesFinished()));
+            QTimer::singleShot(0, agent, SLOT(execute()));
+        }
+    }
+    else {
+        // No downloads enabled
+        if (userTriggered) {
+            // Notification: vym could not download release notes
+            QMessageBox::warning(
+                0, tr("Warning"),
+                tr("Please allow vym to download release notes!"));
+            if (downloadsEnabled(userTriggered))
+                checkUpdates();
+        }
+    }
+}
+
+bool Main::downloadsEnabled(bool userTriggered)
+{
+    bool result;
+    if (!userTriggered &&
+        settings.value("/downloads/enabled", false).toBool()) {
+        result = true;
+    }
+    else {
+        QDate lastAsked =
+            settings.value("/downloads/permissionLastAsked", QDate(1970, 1, 1))
+                .toDate();
+        if (userTriggered ||
+            !settings.contains("/downloads/permissionLastAsked") ||
+            lastAsked.daysTo(QDate::currentDate()) > 7) {
+            QString infotext;
+            infotext =
+                tr("<html>"
+                   "<h3>Do you allow vym to check online for updates or "
+                   "release notes?</h3>"
+                   "If you allow, vym will "
+                   "<ul>"
+                   "<li>check once for release notes</li>"
+                   "<li>check regulary for updates and notify you in case you "
+                   "should update, e.g. if there are "
+                   "important bug fixes available</li>"
+                   "<li>receive a cookie with a random ID and send some anonymous data, like:"
+                   "<ul>"
+                   "<li>vym version</li>"
+                   "<li>platform name and the ID (e.g. \"Windows\" or \"Linux\")</li>"
+                   "<li>if you are using dark theme</li>"
+                   "</ul>"
+                   "This data is sent to me, Uwe Drechsel."
+                   "<p>As vym developer I am motivated to see "
+                   "many people using vym. Of course I am curious to see, on "
+                   "which system vym is used. Maintaining each "
+                   "of the systems requires a lot of my (spare) time.</p> "
+                   "<p>No other data than above will be sent, especially no "
+                   "private data will be collected or sent."
+                   "(Check the source code, if you don't believe.)"
+                   "</p>"
+                   "</li>"
+                   "</ul>"
+                   "If you do not allow, "
+                   "<ul>"
+                   "<li>nothing will be downloaded and especially I will "
+                   "<b>not be motivated</b> "
+                   "to spend some more thousands of hours on developing a free "
+                   "software tool."
+                   "</ul>"
+                   "Please allow vym to check for updates :-)");
+            QMessageBox mb(vymName, infotext, QMessageBox::Information,
+                           QMessageBox::Yes | QMessageBox::Default,
+                           QMessageBox::No | QMessageBox::Escape,
+                           QMessageBox::NoButton);
+
+            mb.setButtonText(QMessageBox::Yes, tr("Allow"));
+            mb.setButtonText(QMessageBox::No, tr("Do not allow"));
+            switch (mb.exec()) {
+            case QMessageBox::Yes: {
+                result = true;
+                QMessageBox msgBox;
+                msgBox.setText(tr("Thank you for enabling downloads!"));
+                msgBox.setStandardButtons(QMessageBox::Close);
+                msgBox.setIconPixmap(QPixmap(":/flag-face-smile.svg"));
+                msgBox.exec();
+                break;
+                                   }
+            default:
+                result = false;
+                QMessageBox msgBox;
+                msgBox.setText(tr("That's ok, though I would be happy to see many users working with vym and also on which platforms."));
+                msgBox.setStandardButtons(QMessageBox::Close);
+                msgBox.setIconPixmap(QPixmap(":/flag-face-sad.svg"));
+                msgBox.exec();
+                break;
+            }
+        }
+        else
+            result = false;
+        actionSettingsToggleDownloads->setChecked(result);
+        settings.setValue("/downloads/enabled", result);
+        settings.setValue("/downloads/permissionLastAsked",
+                          QDate::currentDate().toString(Qt::ISODate));
+    }
+    return result;
+}
+
+void Main::downloadUpdatesFinished(bool userTriggered)
+{
+    DownloadAgent *agent = static_cast<DownloadAgent *>(sender());
+    QString s;
+
+    if (agent->isSuccess()) {
+        ShowTextDialog dia;
+        dia.setWindowTitle(vymName + " - " + tr("Update information"));
+        QString page;
+        if (loadStringFromDisk(agent->getDestination(), page)) {
+            if (page.contains("vymisuptodate")) {
+                statusMessage(tr("vym is up to date.", "MainWindow"));
+                if (userTriggered) {
+                    // Notification: vym is up to date!
+                    dia.setHtml(page);
+                    dia.exec();
+                }
+            }
+            else if (page.contains("vymneedsupdate")) {
+                // Notification: updates available
+                dia.setHtml(page);
+                dia.exec();
+            }
+            else {
+                // Notification: Unknown version found
+                dia.setHtml(page);
+                dia.exec();
+            }
+
+            // Prepare to check again later
+            settings.setValue("/downloads/updates/lastChecked",
+                              QDate::currentDate().toString(Qt::ISODate));
+        }
+        else
+            statusMessage("Couldn't load update page from " +
+                          agent->getDestination());
+    }
+    else {
+        statusMessage("Check for updates failed.");
+        if (debug) {
+            qDebug() << "Main::downloadUpdatesFinished ";
+            qDebug() << "  result: failed";
+            qDebug() << "     msg: " << agent->getResultMessage();
+        }
+    }
+    agent->deleteLater();
+}
+
+void Main::downloadUpdatesFinishedInt() { downloadUpdatesFinished(true); }
+
+void Main::downloadUpdates(bool userTriggered)
+{
+    DownloadAgent *agent = new DownloadAgent(serverUrl("updates.php"));
+    if (userTriggered)
+        connect(agent, SIGNAL(downloadFinished()), this,
+                SLOT(downloadUpdatesFinishedInt()));
+    else
+        connect(agent, SIGNAL(downloadFinished()), this,
+                SLOT(downloadUpdatesFinished()));
+    statusMessage(tr("Checking for updates...", "MainWindow"));
+    QTimer::singleShot(0, agent, SLOT(execute()));
+}
+
+void Main::checkUpdates()
+{
+    bool userTriggered;
+    if (qobject_cast<QAction *>(sender()))
+        userTriggered = true;
+    else
+        userTriggered = false;
+
+    if (downloadsEnabled()) {
+        // Too much time passed since last update check?
+        QDate lastChecked =
+            settings.value("/downloads/updates/lastChecked", QDate(1970, 1, 1))
+                .toDate();
+        if (!lastChecked.isValid())
+            lastChecked = QDate(1970, 1, 1);
+        if (lastChecked.daysTo(QDate::currentDate()) >
+                settings.value("/downloads/updates/checkInterval", 3).toInt() ||
+            userTriggered == true) {
+            downloadUpdates(userTriggered);
+        }
+    }
+    else {
+        // No downloads enabled
+        if (userTriggered) {
+            // Notification: vym could not check for updates
+            QMessageBox::warning(0, tr("Warning"),
+                                 tr("Please allow vym to check for updates!"));
+            if (downloadsEnabled(userTriggered))
+                checkUpdates();
+        }
+    }
+}
+
+void Main::escapePressed()
+{
+    if (presentationMode)
+        togglePresentationMode();
+    else
+        setFocusMapEditor();
+}
+
+void Main::togglePresentationMode()
+{
+    QMap<QToolBar *, bool>::const_iterator i = toolbarStates.constBegin();
+    if (!presentationMode) {
+
+        presentationMode = true;
+        while (i != toolbarStates.constEnd()) {
+            toolbarStates[i.key()] = i.key()->isVisible();
+            i.key()->hide();
+            ++i;
+        }
+        menuBar()->hide();
+    }
+    else {
+        presentationMode = false;
+        while (i != toolbarStates.constEnd()) {
+            i.key()->setVisible(i.value());
+            ++i;
+        }
+        menuBar()->show();
+    }
+}
diff --git a/src/mainwindow.h b/src/mainwindow.h
new file mode 100644 (file)
index 0000000..08dfd22
--- /dev/null
@@ -0,0 +1,618 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+#include <QPrinter>
+#include <QProgressDialog>
+#include <QScriptContext>
+#include <QScriptEngine>
+#include <QScriptValue>
+#include <QTextStream>
+
+#include "branchpropeditor.h"
+#include "extrainfodialog.h"
+#include "file.h"
+#include "flag.h"
+#include "historywindow.h"
+#include "mapeditor.h"
+#include "scripting.h"
+#include "texteditor.h"
+#include "vymview.h"
+
+class Main : public QMainWindow {
+    Q_OBJECT
+
+  public:
+    /*! Modifier modes are used when SHIFT together with a mouse button is
+     * pressed */
+    enum ModMode {
+        ModModeUndefined,  //!< Unused
+        ModModePoint,      //!< Regular mode: Point and relink items
+        ModModeColor,      //!< Pick color from object
+        ModModeXLink,      //!< Create a XLink (XLinkObj) from selected object
+        ModModeMoveObject, //!< Move object without linking
+        ModModeMoveView    //!< Move view without changing
+    };
+
+    Main(QWidget *parent = 0);
+    ~Main();
+    void loadCmdLine();
+
+  private:
+    QProgressDialog progressDialog;
+    int progressMax;
+    int progressCounter;
+    int progressCounterTotal;
+
+  public:
+    void statusMessage(const QString &);
+    void setProgressMaximum(int max);
+    void addProgressValue(float v);
+    void initProgressCounter(uint n = 1);
+    void removeProgressCounter();
+
+  public slots:
+    void fileNew();
+    void fileNewCopy();
+
+  protected:
+    void closeEvent(QCloseEvent *);
+
+  public:
+    QPrinter *setupPrinter();
+
+  private:
+    void setupAPI();
+
+    /*! Helper method to clone actions later in MapEditor */
+    void cloneActionMapEditor(QAction *a, QKeySequence ks);
+
+    void setupFileActions();
+    void setupEditActions();
+    void setupSelectActions();
+    void setupFormatActions();
+    void setupViewActions();
+    void setupConnectActions();
+    void setupModeActions();
+    void setupWindowActions();
+    void setupFlagActions();
+
+  public slots:
+    void addUserFlag();
+
+  public:
+    Flag *setupFlag(const QString &path, Flag::FlagType type,
+                    const QString &name, const QString &tooltip,
+                    const QUuid &uid = QUuid(), const QKeySequence &ks = 0);
+
+  private:
+    void setupNetworkActions();
+    void setupSettingsActions();
+    void setupTestActions();
+    void setupHelpActions();
+    void setupContextMenus();
+    void setupRecentMapsMenu();
+    void setupMacros();
+    void setupToolbars();
+    VymView *currentView() const;
+    VymView *view(const int i);
+
+  public:
+    MapEditor *currentMapEditor() const;
+    VymModel *currentModel() const;
+    uint currentMapID() const;
+    int currentMapIndex() const;
+    VymModel *getModel(uint);
+    void gotoModel(VymModel *m);
+    void gotoModelWithID(uint id);
+    bool closeModelWithID(uint id);
+    int modelCount();
+    void updateTabName(VymModel *vm);
+
+  private slots:
+    void editorChanged();
+
+  public slots:
+    File::ErrorCode fileLoad(QString, const LoadMode &, const FileType &ftype);
+    void fileLoad(const LoadMode &);
+  private slots:
+    void fileLoad();
+    void fileSaveSession();
+  public slots:
+    void fileRestoreSession();
+  private slots:
+    void fileLoadRecent();
+    void addRecentMap(const QString &);
+    void fileSave(VymModel *, const SaveMode &);
+    void fileSave();
+  public slots:
+    void fileSave(VymModel *); // autosave from MapEditor
+  private slots:
+    void fileSaveAs();
+    void fileSaveAs(const SaveMode &);
+    void fileSaveAsDefault();
+    void fileImportFirefoxBookmarks();
+    void fileImportFreemind();
+    void fileImportMM();
+    void fileImportDir();
+    void fileExportAO();
+    void fileExportASCII();
+    void fileExportASCIITasks();
+    void fileExportCSV();
+    void fileExportConfluence();
+    void fileExportFirefoxBookmarks();
+    void fileExportHTML();
+    void fileExportImage();
+    void fileExportImpress();
+    void fileExportLaTeX();
+    void fileExportMarkdown();
+    void fileExportOrgMode();
+    void fileExportPDF();
+    void fileExportSVG();
+    void fileExportTaskjuggler();
+    void fileExportXML();
+    void fileExportLast();
+    bool fileCloseMap(int i = -1); // Optionally pass number of tab
+    void filePrint();
+    bool fileExitVYM();
+
+  public slots:
+    void editUndo();
+    void editRedo();
+    void gotoHistoryStep(int);
+  private slots:
+    void editCopy();
+    void editPaste();
+    void editCut();
+
+  public slots:
+    void updateQueries(VymModel *);
+    bool openURL(const QString &url);
+    void openTabs(QStringList);
+    void editOpenURL();
+    void editOpenURLTab();
+
+  private slots:
+    void editOpenMultipleVisURLTabs(bool ignoreScrolled = true);
+    void editOpenMultipleURLTabs();
+    void editNote2URLs();
+    void editURL();
+    void editLocalURL();
+    void editHeading2URL();
+    void getJiraDataSubtree();
+    void setHeadingConfluencePageName();
+    void getConfluenceUser();
+    void openVymLinks(const QStringList &, bool background = false);
+    void editVymLink();
+    void editOpenMultipleVymLinks();
+  public slots:
+    void editHeading();
+    void editHeadingFinished(VymModel *m);
+    void editOpenVymLink(bool background = false);
+    void editOpenVymLinkBackground();
+  private slots:
+    void editDeleteVymLink();
+    void editToggleHideExport();
+    void editToggleTask();
+    void editCycleTaskStatus();
+    void editTaskResetDeltaPrio();
+    void editTaskSleepN();
+    void editAddTimestamp();
+    void editMapProperties();
+    void editMoveUp();
+    void editMoveDown();
+    void editMoveUpDiagonally();
+    void editMoveDownDiagonally();
+    void editDetach();
+    void editSortChildren();
+    void editSortBackChildren();
+    void editToggleScroll();
+    void editExpandAll();
+    void editExpandOneLevel();
+    void editCollapseOneLevel();
+    void editCollapseUnselected();
+    void editUnscrollChildren();
+    void editGrowSelectionSize();
+    void editShrinkSelectionSize();
+    void editResetSelectionSize();
+    void editAddAttribute();
+    void editAddMapCenter();
+    void editNewBranch();
+    void editNewBranchBefore();
+    void editNewBranchAbove();
+    void editNewBranchBelow();
+    void editImportAdd();
+    void editImportReplace();
+    void editSaveBranch();
+    void editDeleteKeepChildren();
+    void editDeleteChildren();
+    void editDeleteSelection();
+    void editLoadImage();
+    void editSaveImage();
+    void popupFollowXLink();
+    void editFollowXLink(QAction *);
+    void editEditXLink(QAction *);
+
+  private slots:
+    bool initLinkedMapsMenu(VymModel *model, QMenu *menu);
+
+  public slots:
+    void editGoToLinkedMap();
+
+  private slots:
+    void editToggleTarget();
+    bool initTargetsMenu(VymModel *model, QMenu *menu);
+    void editGoToTarget();
+    void editMoveToTarget();
+    void editSelectPrevious();
+    void editSelectNext();
+    void editSelectNothing();
+    void editOpenFindResultWidget();
+    void editFindNext(QString s, bool searchNotesFlag);
+    void editFindDuplicateURLs();
+
+  public slots:
+    void selectQuickColor(int n);
+    void setQuickColor(QColor col);
+    void quickColorPressed();
+    void formatPickColor();
+    QColor getCurrentColor();
+    int getCurrentColorIndex();
+    void setCurrentColor(QColor);
+
+  private slots:
+    void formatColorBranch();
+    void formatColorSubtree();
+    void formatLinkStyleLine();
+    void formatLinkStyleParabel();
+    void formatLinkStylePolyLine();
+    void formatLinkStylePolyParabel();
+    void formatSelectBackColor();
+    void formatSelectBackImage();
+    void formatSelectLinkColor();
+    void formatSelectSelectionColor();
+    void formatSelectFont();
+    void formatToggleLinkColorHint();
+    void formatHideLinkUnselected();
+
+  public slots:
+    void viewZoomReset();
+    void viewZoomIn();
+    void viewZoomOut();
+    void viewRotateCounterClockwise();
+    void viewRotateClockwise();
+    void viewCenter();
+    void viewCenterScaled();
+
+  public slots:
+    void networkStartServer();
+    void networkConnect();
+    void downloadFinished();
+    bool settingsPDF();
+    bool settingsURL();
+    void settingsZipTool();
+    void settingsMacroPath();
+    void settingsUndoLevels();
+    void settingsDefaultMapPath();
+
+  public:
+    QString defaultMapPath();   // Default path, used with "auto" to define newMapPath
+    QString newMapPath();       // Depends on settings and dark theme
+    bool useAutosave();
+    void setAutosave(bool b);
+
+  public slots:
+    void settingsAutosaveTime();
+    void settingsDefaultMapAuthor();
+    void settingsDarkTheme();
+    void settingsShowParentsLevelTasks();
+    void settingsShowParentsLevelFindResults();
+    void settingsToggleAutoLayout();
+    void settingsToggleWriteBackupFile();
+    void settingsToggleAnimation();
+    void settingsToggleDownloads();
+    bool settingsConfluence();
+    bool settingsJIRA();
+
+    void windowToggleNoteEditor();
+    void windowToggleTreeEditor();
+    void windowToggleTaskEditor();
+    void windowToggleSlideEditor();
+    void windowToggleScriptEditor();
+    void windowToggleScriptOutput();
+    void windowToggleHistory();
+    void windowToggleProperty();
+    void windowShowHeadingEditor();
+    void windowToggleHeadingEditor();
+    void updateHistory(SimpleSettings &);
+    void windowToggleAntiAlias();
+    bool isAliased();
+    bool hasSmoothPixmapTransform();
+    void windowToggleSmoothPixmap();
+    void clearScriptOutput();
+    void updateHeading(const VymText &vt);
+    void updateNoteText(const VymText &vt);
+    void updateNoteEditor(TreeItem *ti);
+    void updateHeadingEditor(BranchItem *bi = nullptr);
+    void selectInNoteEditor(QString s, int i);
+    void setFocusMapEditor();
+    void changeSelection(VymModel *model, const QItemSelection &newSel,
+                         const QItemSelection &delSel);
+    void updateDockWidgetTitles(VymModel *model);
+
+    void updateActions();
+    ModMode getModMode();
+    bool autoSelectNewBranch();
+    QVariant runScript(const QString &);
+    QObject *getCurrentModelWrapper();
+    bool gotoWindow(const int &n);
+
+  private slots:
+    void windowNextEditor();
+    void windowPreviousEditor();
+    void nextSlide();
+    void previousSlide();
+
+    void flagChanged();
+
+    void testFunction1();
+    void testFunction2();
+    void toggleWinter();
+    void toggleHideExport();
+    void testCommand();
+
+    void helpDoc();
+    void helpDemo();
+    void helpShortcuts();
+    void helpMacros();
+    void helpScriptingCommands();
+    void helpDebugInfo();
+    void helpAbout();
+    void helpAboutQT();
+
+    void callMacro();
+    void downloadReleaseNotesFinished();
+
+  private:
+    QUrl serverUrl(const QString &scriptName);
+    bool checkUpdatesAfterReleaseNotes;
+
+  public:
+    void checkReleaseNotesAndUpdates();
+
+  public slots:
+    void checkReleaseNotes();
+    bool downloadsEnabled(bool userTriggered = false);
+    void downloadUpdatesFinished(bool userTriggered = false);
+    void downloadUpdatesFinishedInt();
+    void downloadUpdates(bool userTriggered);
+    void checkUpdates();
+    void escapePressed();
+    void togglePresentationMode();
+
+  private:
+    QString shortcutScope; //! For listing shortcuts
+    QTabWidget *tabWidget;
+    qint64 *browserPID;
+
+    QStringList imageTypes;
+
+    QScriptEngine scriptEngine;
+
+    QString prevSelection;
+
+    HistoryWindow *historyWindow;
+
+    QDockWidget *headingEditorDW;
+    QDockWidget *noteEditorDW;
+    QDockWidget *scriptEditorDW;
+    QDockWidget *branchPropertyEditorDW;
+
+  public:
+    QList<QAction *>
+        mapEditorActions; //! allows mapEditor to clone actions and shortcuts
+    QList<QAction *>
+        taskEditorActions; //! allows taskEditor to clone actions and shortcuts
+  private:
+    QList<QAction *>
+        restrictedMapActions; //! Actions reqire map and write access
+    QList<QAction *>
+        unrestrictedMapActions;       //! Actions require map, but work also in
+                                      //! readonly, e.g. print, copy
+    QList<QAction *> actionListFiles; //! File related actions, e.g. load, save,
+                                      //! restore session
+    QList<QAction *> actionListBranches;
+    QList<QAction *> actionListItems;
+
+    int xLinkMenuWidth;
+
+    QMenu *recentFilesMenu;
+    enum { MaxRecentFiles = 20 };
+    QAction *recentFileActions[MaxRecentFiles];
+
+    QAction *macroActions[24];
+    QStringList macro;
+
+    QList <QColor> quickColors;
+
+    QMenu *toolbarsMenu;
+    QToolBar *fileToolbar;
+    QToolBar *clipboardToolbar;
+    QToolBar *editActionsToolbar;
+    QToolBar *selectionToolbar;
+    QToolBar *editorsToolbar;
+    QToolBar *colorsToolbar;
+    QToolBar *zoomToolbar;
+    QToolBar *modModesToolbar;
+    QToolBar *referencesToolbar;
+    QToolBar *standardFlagsToolbar;
+    QToolBar *userFlagsToolbar;
+
+    bool presentationMode;
+    QMap<QToolBar *, bool>
+        toolbarStates; // Save visibilty of toolbars during presentation mode
+
+    QAction *actionFileNew;
+    QAction *actionFileNewCopy;
+    QAction *actionFileOpen;
+    QAction *actionFileRestoreSession;
+    QAction *actionFileSave;
+    QAction *actionFilePrint;
+    QAction *actionMapProperties;
+    QAction *actionFileExportLast;
+    QAction *actionFileExportConfluence;
+    QAction *actionUndo;
+    QAction *actionRedo;
+    QAction *actionCopy;
+    QAction *actionCut;
+    QAction *actionPaste;
+    QAction *actionMoveUp;
+    QAction *actionMoveDown;
+    QAction *actionMoveDownDiagonally;
+    QAction *actionMoveUpDiagonally;
+    QAction *actionDetach;
+    QAction *actionSortChildren;
+    QAction *actionSortBackChildren;
+    QAction *actionToggleScroll;
+    QAction *actionExpandAll;
+    QAction *actionExpandOneLevel;
+    QAction *actionCollapseOneLevel;
+    QAction *actionCollapseUnselected;
+    QAction *actionOpenURL;
+    QAction *actionOpenURLTab;
+    QAction *actionOpenMultipleVisURLTabs;
+    QAction *actionOpenMultipleURLTabs;
+    QAction *actionGetURLsFromNote;
+    QAction *actionURLNew;
+    QAction *actionLocalURL;
+    QAction *actionHeading2URL;
+    QAction *actionGetJiraDataSubtree;
+    QAction *actionGetConfluencePageName;
+    QAction *actionOpenVymLink;
+    QAction *actionOpenVymLinkBackground;
+    QAction *actionOpenMultipleVymLinks;
+    QAction *actionEditVymLink;
+    QAction *actionDeleteVymLink;
+    QAction *actionAddTimestamp;
+    QAction *actionToggleTask;
+    QAction *actionTogglePresentationMode;
+    QAction *actionCycleTaskStatus;
+    QAction *actionTaskResetDeltaPrio;
+    QAction *actionTaskSleep0;
+    QAction *actionTaskSleepN;
+    QAction *actionTaskSleep1;
+    QAction *actionTaskSleep2;
+    QAction *actionTaskSleep3;
+    QAction *actionTaskSleep4;
+    QAction *actionTaskSleep5;
+    QAction *actionTaskSleep7;
+    QAction *actionTaskSleep14;
+    QAction *actionTaskSleep28;
+    QAction *actionToggleHideExport;
+    QAction *actionMapInfo;
+    QAction *actionHeading;
+    QAction *actionDelete;
+    QAction *actionDeleteAlt;
+    QAction *actionAddAttribute;
+
+  public:
+    QAction *actionAddMapCenter;
+
+  private:
+    QAction *actionAddBranch;
+    QAction *actionAddBranchBefore;
+    QAction *actionAddBranchAbove;
+    QAction *actionAddBranchBelow;
+    QAction *actionDeleteKeepChildren;
+    QAction *actionDeleteChildren;
+    QAction *actionImportAdd;
+    QAction *actionImportReplace;
+    QAction *actionSaveBranch;
+    QAction *actionLoadImage;
+
+    QAction *actionGrowSelectionSize;
+    QAction *actionShrinkSelectionSize;
+    QAction *actionResetSelectionSize;
+
+    QAction *actionToggleTarget;
+    QAction *actionGoToTargetLinkedMap;
+    QAction *actionGoToTarget;
+    QAction *actionMoveToTarget;
+    QAction *actionSelectPrevious;
+    QAction *actionSelectNext;
+    QAction *actionSelectNothing;
+    QAction *actionFind;
+
+    QActionGroup *actionGroupQuickColors;
+    QAction *actionFormatQuickColor;
+    QAction *actionFormatPickColor;
+    QAction *actionFormatColorBranch;
+    QAction *actionFormatColorSubtree;
+    QAction *actionFormatLinkColorHint;
+    QAction *actionFormatBackColor;
+    QAction *actionFormatBackImage;
+    QAction *actionFormatLinkColor;
+    QAction *actionFormatSelectionColor;
+    QAction *actionFormatFont;
+
+    QAction *actionZoomIn;
+    QAction *actionZoomOut;
+    QAction *actionZoomReset;
+    QAction *actionRotateCounterClockwise;
+    QAction *actionRotateClockwise;
+    QAction *actionCenterOn;
+    QAction *actionFitToSelection;
+
+    QActionGroup *actionGroupModModes;
+    QAction *actionModModePoint;
+    QAction *actionModModeColor;
+    QAction *actionModModeCopy;
+    QAction *actionModModeXLink;
+    QAction *actionModModeMoveObject;
+    QAction *actionModModeMoveView;
+
+    QAction *actionToggleHideMode;
+
+    QAction *actionToggleWinter;
+
+    QActionGroup *actionGroupFormatFrameTypes;
+
+    QActionGroup *actionGroupFormatLinkStyles;
+    QAction *actionFormatLinkStyleLine;
+    QAction *actionFormatLinkStyleParabel;
+    QAction *actionFormatLinkStylePolyLine;
+    QAction *actionFormatLinkStylePolyParabel;
+    QAction *actionFormatHideLinkUnselected;
+
+    QAction *actionViewToggleNoteEditor;
+    QAction *actionViewToggleHeadingEditor;
+    QAction *actionViewToggleTreeEditor;
+    QAction *actionViewToggleTaskEditor;
+    QAction *actionViewToggleSlideEditor;
+    QAction *actionViewToggleScriptEditor;
+    QAction *actionViewToggleScriptOutput;
+    QAction *actionViewToggleHistoryWindow;
+    QAction *actionViewTogglePropertyEditor;
+    QAction *actionViewToggleAntiAlias;
+    QAction *actionViewToggleSmoothPixmapTransform;
+    QAction *actionViewCenter;
+
+    QAction *actionConnectGetConfluenceUser;
+    QAction *actionSettingsAutoSelectNewBranch;
+    QAction *actionSettingsAutoSelectText;
+    QAction *actionSettingsUseFlagGroups;
+    QAction *actionSettingsUseHideExport;
+    QAction *actionSettingsToggleAutosave;
+    QAction *actionSettingsAutosaveTime;
+    QAction *actionSettingsDarkTheme;
+    QAction *actionSettingsShowParentsLevelTasks;
+    QAction *actionSettingsShowParentsLevelFindResults;
+    QAction *actionSettingsToggleAutoLayout;
+    QAction *actionSettingsWriteBackupFile;
+    QAction *actionSettingsToggleDownloads;
+    QAction *actionSettingsUseAnimation;
+    QAction *actionSettingsJIRA;
+    QAction *actionSettingsConfluence;
+};
+
+#endif
diff --git a/src/mapeditor.cpp b/src/mapeditor.cpp
new file mode 100644 (file)
index 0000000..4da600b
--- /dev/null
@@ -0,0 +1,2366 @@
+#include "mapeditor.h"
+
+#include <QGraphicsProxyWidget>
+#include <QMenuBar>
+#include <QObject>
+#include <QPrintDialog>
+#include <QPrinter>
+#include <QScrollBar>
+
+#include "branchitem.h"
+#include "geometry.h"
+#include "mainwindow.h"
+#include "misc.h"
+#include "shortcuts.h"
+#include "warningdialog.h"
+#include "winter.h"
+#include "xlinkitem.h"
+
+extern Main *mainWindow;
+extern QString clipboardDir;
+extern QString clipboardFile;
+extern bool debug;
+extern QPrinter *printer;
+
+extern QMenu *branchContextMenu;
+extern QMenu *canvasContextMenu;
+extern QMenu *floatimageContextMenu;
+extern QMenu *taskContextMenu;
+
+extern Switchboard switchboard;
+extern Settings settings;
+
+extern QTextStream vout;
+
+extern QString editorFocusStyle;
+
+extern FlagRowMaster *systemFlagsMaster;
+
+///////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////
+MapEditor::MapEditor(VymModel *vm)
+{
+    // qDebug() << "Constructor ME " << this;
+
+    QString shortcutScope = tr("Map Editor", "Shortcut scope");
+    mapScene = new QGraphicsScene(NULL);
+    mapScene->setBackgroundBrush(QBrush(Qt::white, Qt::SolidPattern));
+
+    zoomFactor = zoomFactorTarget = 1;
+    angle = angleTarget = 0;
+
+    model = vm;
+    model->registerMapEditor(this);
+
+    setScene(mapScene);
+
+    setStyleSheet("QGraphicsView:focus {" + editorFocusStyle + "}");
+
+    // Create bitmap cursors, platform dependant
+    HandOpenCursor = QCursor(QPixmap(":/mode-move-view.png"), 1, 1);
+    PickColorCursor = QCursor(QPixmap(":/cursorcolorpicker.png"), 5, 27);
+    XLinkCursor = QCursor(QPixmap(":/cursorxlink.png"), 1, 7);
+
+    editingBO = NULL;
+
+    printFrame = true;
+    printFooter = true;
+
+    setAcceptDrops(true);
+
+    // Shortcuts and actions
+    QAction *a;
+
+    a = new QAction("Select upper branch", this);
+    a->setShortcut(Qt::Key_Up);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorUp()));
+    addAction(a);
+
+    a = new QAction("Add upper branch to selection", this);
+    a->setShortcut(Qt::Key_Up + Qt::SHIFT);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorUpToggleSelection()));
+
+    a = new QAction("Select lower branch", this);
+    a->setShortcut(Qt::Key_Down);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorDown()));
+
+    a = new QAction("Add lower branch to selection", this);
+    a->setShortcut(Qt::Key_Down + Qt::SHIFT);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorDownToggleSelection()));
+
+    a = new QAction("Select left branch", this);
+    a->setShortcut(Qt::Key_Left);
+    //  a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorLeft()));
+
+    a = new QAction("Select child branch", this);
+    a->setShortcut(Qt::Key_Right);
+    //  a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorRight()));
+
+    a = new QAction("Select first branch", this);
+    a->setShortcut(Qt::Key_Home);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorFirst()));
+
+    a = new QAction("Select last branch", this);
+    a->setShortcut(Qt::Key_End);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorLast()));
+
+    // Action to embed LineEdit for heading in Scene
+    lineEdit = NULL;
+
+    a = new QAction(tr("Edit heading", "MapEditor"), this);
+    a->setShortcut(Qt::Key_Return); // Edit heading
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editHeading()));
+    a = new QAction(tr("Edit heading", "MapEditor"), this);
+    a->setShortcut(Qt::Key_Enter); // Edit heading
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(editHeading()));
+
+    // Selections
+    selectionPen = QPen(QColor(255,255,0), 1);
+    selectionBrush = QBrush(QColor(255,255,0));
+
+    // Panning
+    panningTimer = new QTimer(this);
+    vPan = QPointF();
+    connect(panningTimer, SIGNAL(timeout()), this, SLOT(panView()));
+
+    // Clone actions defined in MainWindow
+    foreach (QAction *qa, mainWindow->mapEditorActions) {
+        a = new QAction(this);
+        a->setShortcut(qa->shortcut());
+        a->setShortcutContext(qa->shortcutContext());
+        connect(a, SIGNAL(triggered()), qa, SLOT(trigger()));
+        addAction(a);
+    }
+
+    setState(Neutral);
+
+    winter = NULL;
+}
+
+MapEditor::~MapEditor()
+{
+    // qDebug ()<<"Destr MapEditor this="<<this;
+
+    if (winter) {
+        delete winter;
+        winter = NULL;
+    }
+}
+
+VymModel *MapEditor::getModel() { return model; }
+
+QGraphicsScene *MapEditor::getScene() { return mapScene; }
+
+void MapEditor::panView()
+{
+    if (!vPan.isNull()) {
+        // Scroll if needed
+        // To avoid jumping of the sceneView, only
+        // show selection, if not tmp linked
+        qreal px = 0;
+        qreal py = 0;
+        if (vPan.x() < 0)
+            px = vPan.x();
+        else if (vPan.x() > 0)
+            px = width() + vPan.x();
+        if (vPan.y() < 0)
+            py = vPan.y();
+        else if (vPan.y() > 0)
+            py = height() + vPan.y();
+
+        QPointF q = mapToScene(QPoint(px, py));
+        QRectF r = QRectF(q, QPointF(q.x() + 1, q.y() + 1));
+
+        // Expand view if necessary
+        setScrollBarPosTarget(r);   // FIXME-2   mapToScene first?   
+
+        // Stop possible other animations
+        if (scrollBarPosAnimation.state() == QAbstractAnimation::Running)
+            scrollBarPosAnimation.stop();
+
+        // Do linear animation
+        horizontalScrollBar()->setValue(horizontalScrollBar()->value() +
+                                        vPan.x());
+        verticalScrollBar()->setValue(verticalScrollBar()->value() + vPan.y());
+
+        // Update currently moving object
+        moveObject();
+    }
+}
+
+void MapEditor::ensureAreaVisibleAnimated(const QRectF &area, bool maximizeArea) // FIXME-2 zooming in not working yet (fit to selection)
+{
+    // Changes viewCenter to make sure that 
+    // r is  within the margins of the viewport
+    //
+    // Only zooms, if r NOT fit into viewport 
+    // view is centered then on bounding box.
+    //
+    // Similar to QGraphicsItem::ensureVisible, 
+    // but with animation and (if necessary)
+    // zooming
+
+    int xmargin = settings.value("/mapeditor/scrollToMarginX/", 50).toInt();
+    int ymargin = settings.value("/mapeditor/scrollToMarginY/", 50).toInt();
+
+    // Do we need to zoom out to show area?
+    QRect areaViewCoord = mapFromScene(area).boundingRect();
+
+    // Visible area within margins
+    QRect visibleViewCoord = rect();
+    visibleViewCoord -= QMargins(xmargin, ymargin, xmargin, ymargin);
+
+
+    // Calculate required width and height considering rotation of view
+    qreal a = angle / 180 * M_PI;
+    qreal area_w_viewCoord = abs(sin(a) * area.height()) + abs(cos(a) * area.width());
+    qreal area_h_viewCoord = abs(sin(a) * area.width()) + abs(cos(a) * area.height());
+    qreal z_x = 1.0 * visibleViewCoord.width() / area_w_viewCoord;
+    qreal z_y = 1.0 * visibleViewCoord.height() / area_h_viewCoord;
+
+    qreal zf = min (z_x, z_y);
+
+    bool zoomOutRequired = 
+        (visibleViewCoord.width() < areaViewCoord.width() ||
+         visibleViewCoord.height() < areaViewCoord.height());
+    bool zoomInRequired = 
+        (visibleViewCoord.width() > areaViewCoord.width() &&
+         visibleViewCoord.height() > areaViewCoord.height());
+
+    //qDebug() << " zoom out: " << zoomOutRequired;
+    //qDebug() << " zoom  in: " << zoomInRequired << " zoomFactor=" << zoomFactor << " zf=" << zf;
+    if (zoomOutRequired || maximizeArea) {
+        setViewCenterTarget(area.center(), zf, angle);
+        return;
+    }
+
+
+    // After zooming bbox would fit into margins of viewport
+    long view_dx = 0;
+    long view_dy = 0;
+    if (areaViewCoord.left() < xmargin)
+        // move left
+        view_dx = areaViewCoord.left() - xmargin;
+    else if (areaViewCoord.right() > viewport()->width())
+        // move right
+        view_dx = areaViewCoord.x() + areaViewCoord.width() - viewport()->width() + xmargin;
+
+    if (areaViewCoord.top() < ymargin)
+        // move up
+        view_dy = areaViewCoord.top() - ymargin;
+    else if (areaViewCoord.bottom() > viewport()->height() - ymargin)
+        // move down
+        view_dy = areaViewCoord.y() + areaViewCoord.height() - viewport()->height() + ymargin;
+
+    if (abs(view_dx) > 5 || abs(view_dy) > 5)
+        setViewCenterTarget(
+                mapToScene(viewport()->geometry().center() + QPoint (view_dx, view_dy)),
+                zoomFactor,
+                angle,
+                2000,
+                QEasingCurve::OutQuint);
+}
+
+void MapEditor::ensureSelectionVisibleAnimated(bool maximizeArea)
+{
+    // Changes viewCenter to make sure that bounding box of all currently
+    // selected items is  within the margins of the viewport
+    //
+    // Only zooms, if bounding box of items does NOT fit into viewport 
+    // view is centered then on bounding box. (Useful also for big images)
+    //
+    // Similar to QGraphicsItem::ensureVisible, but with animation and (if necessary)
+    // zooming
+
+    QList <TreeItem*> selis = model->getSelectedItems();
+
+    // Nothing to do, if nothing is selected
+    if (selis.isEmpty()) return;
+
+    // Calculate total bounding box
+    QRectF bbox;
+    bool firstIteration = true;
+
+    foreach (TreeItem *ti, selis) {
+        LinkableMapObj *lmo = nullptr;
+        if (ti->getType() == TreeItem::Image || ti->isBranchLikeType())
+            lmo = ((MapItem *)ti)->getLMO();
+        if (lmo) {
+            if (firstIteration) {
+                bbox = lmo->getBBox();
+                firstIteration = false;
+            } else
+                bbox = bbox.united(lmo->getBBox());
+        }
+    }
+
+    ensureAreaVisibleAnimated(bbox, maximizeArea);
+}
+
+void MapEditor::scrollTo(const QModelIndex &index)
+{
+    if (index.isValid()) {
+        LinkableMapObj *lmo = NULL;
+        TreeItem *ti = static_cast<TreeItem *>(index.internalPointer());
+        if (ti->getType() == TreeItem::Image || ti->isBranchLikeType())
+            lmo = ((MapItem *)ti)->getLMO();
+        if (lmo) {
+            QRectF r = lmo->getBBox();
+            setScrollBarPosTarget(r);
+            animateScrollBars();
+        }
+    }
+}
+
+void MapEditor::setScrollBarPosTarget(QRectF rect)
+{
+    // Expand viewport, if rect is not contained
+    if (!sceneRect().contains(rect))
+        setSceneRect(sceneRect().united(rect));
+
+    int xmargin = settings.value("/mapeditor/scrollToMarginX/", 80).toInt();
+    int ymargin = settings.value("/mapeditor/scrollToMarginX/", 80).toInt();
+
+    // Prepare scrolling
+    qreal width = viewport()->width();
+    qreal height = viewport()->height();
+    QRectF viewRect = transform().scale(zoomFactorTarget, zoomFactorTarget).mapRect(rect);
+
+    qreal left = horizontalScrollBar()->value();
+    qreal right = left + width;
+    qreal top = verticalScrollBar()->value();
+    qreal bottom = top + height;
+
+    scrollBarPosTarget = getScrollBarPos();
+
+    if (viewRect.left() <= left + xmargin) {
+        // need to scroll from the left
+        scrollBarPosTarget.setX(int(viewRect.left() - xmargin - 0.5));
+    }
+    if (viewRect.right() >= right - xmargin) {
+        // need to scroll from the right
+        scrollBarPosTarget.setX(int(viewRect.right() - width + xmargin + 0.5));
+    }
+    if (viewRect.top() <= top + ymargin) {
+        // need to scroll from the top
+        scrollBarPosTarget.setY(int(viewRect.top() - ymargin - 0.5));
+    }
+    if (viewRect.bottom() >= bottom - ymargin) {
+        // need to scroll from the bottom
+        scrollBarPosTarget.setY(
+            int(viewRect.bottom() - height + ymargin + 0.5));
+    }
+}
+
+QPointF MapEditor::getScrollBarPosTarget() { return scrollBarPosTarget; }
+
+void MapEditor::setScrollBarPos(const QPointF &p)
+{
+    scrollBarPos = p;
+    horizontalScrollBar()->setValue(int(p.x()));
+    verticalScrollBar()->setValue(int(p.y()));
+}
+
+QPointF MapEditor::getScrollBarPos()
+{
+    return QPointF(horizontalScrollBar()->value(),
+                   verticalScrollBar()->value());
+    // return scrollBarPos;
+}
+
+void MapEditor::animateScrollBars()
+{
+    if (scrollBarPosAnimation.state() == QAbstractAnimation::Running)
+        scrollBarPosAnimation.stop();
+
+    if (settings.value("/animation/use/", true).toBool()) {
+        scrollBarPosAnimation.setTargetObject(this);
+        scrollBarPosAnimation.setPropertyName("scrollBarPos");
+        scrollBarPosAnimation.setDuration(
+            settings.value("/animation/duration/scrollbar", 2000).toInt());
+        scrollBarPosAnimation.setEasingCurve(QEasingCurve::OutQuint);
+        scrollBarPosAnimation.setStartValue(QPointF(
+            horizontalScrollBar()->value(), verticalScrollBar()->value()));
+        scrollBarPosAnimation.setEndValue(scrollBarPosTarget);
+        scrollBarPosAnimation.start();
+    }
+    else
+        setScrollBarPos(scrollBarPosTarget);
+}
+
+void MapEditor::setZoomFactorTarget(const qreal &zft)
+{
+    zoomFactorTarget = zft;
+    if (zoomAnimation.state() == QAbstractAnimation::Running)
+        zoomAnimation.stop();
+    if (settings.value("/animation/use/", true).toBool()) {
+        zoomAnimation.setTargetObject(this);
+        zoomAnimation.setPropertyName("zoomFactor");
+        zoomAnimation.setDuration(
+            settings.value("/animation/duration/zoom", 2000).toInt());
+        zoomAnimation.setEasingCurve(QEasingCurve::OutQuint);
+        zoomAnimation.setStartValue(zoomFactor);
+        zoomAnimation.setEndValue(zft);
+        zoomAnimation.start();
+    }
+    else
+        setZoomFactor(zft);
+}
+
+qreal MapEditor::getZoomFactorTarget() { return zoomFactorTarget; }
+
+void MapEditor::setZoomFactor(const qreal &zf)
+{
+    zoomFactor = zf;
+    updateMatrix();
+}
+
+qreal MapEditor::getZoomFactor() { return zoomFactor; }
+
+void MapEditor::setAngleTarget(const qreal &at)
+{
+    angleTarget = at;
+    if (rotationAnimation.state() == QAbstractAnimation::Running)
+        rotationAnimation.stop();
+    if (settings.value("/animation/use/", true).toBool()) {
+        rotationAnimation.setTargetObject(this);
+        rotationAnimation.setPropertyName("angle");
+        rotationAnimation.setDuration(
+            settings.value("/animation/duration/rotation", 2000).toInt());
+        rotationAnimation.setEasingCurve(QEasingCurve::OutQuint);
+        rotationAnimation.setStartValue(angle);
+        rotationAnimation.setEndValue(at);
+        rotationAnimation.start();
+    }
+    else
+        setAngle(angleTarget);
+}
+
+qreal MapEditor::getAngleTarget() { return angleTarget; }
+
+void MapEditor::setAngle(const qreal &a)
+{
+    angle = a;
+    updateMatrix();
+    if (winter)
+        winter->updateView();
+}
+
+qreal MapEditor::getAngle() { return angle; }
+
+void MapEditor::setViewCenterTarget(const QPointF &p, const qreal &zft,
+                                    const qreal &at, const int duration,
+                                    const QEasingCurve &easingCurve)
+{
+    viewCenterTarget = p;
+    zoomFactorTarget = zft;
+    angleTarget = at;
+
+    viewCenter = mapToScene(viewport()->geometry()).boundingRect().center();
+
+    if (viewCenterAnimation.state() == QAbstractAnimation::Running)
+        viewCenterAnimation.stop();
+    if (rotationAnimation.state() == QAbstractAnimation::Running)
+        rotationAnimation.stop();
+    if (zoomAnimation.state() == QAbstractAnimation::Running)
+        zoomAnimation.stop();
+
+    if (settings.value("/animation/use/", true).toBool()) {
+        viewCenterAnimation.setTargetObject(this);
+        viewCenterAnimation.setPropertyName("viewCenter");
+        viewCenterAnimation.setDuration(
+            settings.value("/animation/duration/scrollbar", duration).toInt());
+        viewCenterAnimation.setEasingCurve(easingCurve);
+        viewCenterAnimation.setStartValue(viewCenter);
+        viewCenterAnimation.setEndValue(viewCenterTarget);
+        viewCenterAnimation.start();
+
+        rotationAnimation.setTargetObject(this);
+        rotationAnimation.setPropertyName("angle");
+        rotationAnimation.setDuration(
+            settings.value("/animation/duration/rotation", duration).toInt());
+        rotationAnimation.setEasingCurve(easingCurve);
+        rotationAnimation.setStartValue(angle);
+        rotationAnimation.setEndValue(angleTarget);
+        rotationAnimation.start();
+
+        zoomAnimation.setTargetObject(this);
+        zoomAnimation.setPropertyName("zoomFactor");
+        zoomAnimation.setDuration(
+            settings.value("/animation/duration/zoom", duration).toInt());
+        zoomAnimation.setEasingCurve(easingCurve);
+        zoomAnimation.setStartValue(zoomFactor);
+        zoomAnimation.setEndValue(zoomFactorTarget);
+        zoomAnimation.start();
+    }
+    else {
+        setAngle(angleTarget);
+        setZoomFactor(zft);
+        setViewCenter(viewCenterTarget);
+    }
+}
+
+void MapEditor::setViewCenterTarget()
+{
+    MapItem *selti = (MapItem *)(model->getSelectedItem());
+    if (selti) {
+        LinkableMapObj *lmo = selti->getLMO();
+        if (lmo)
+            setViewCenterTarget(lmo->getBBox().center(), 1, 0);
+    }
+}
+
+QPointF MapEditor::getViewCenterTarget() { return viewCenterTarget; }
+
+void MapEditor::setViewCenter(const QPointF &vc) { centerOn(vc); }
+
+QPointF MapEditor::getViewCenter() { return viewCenter; }
+
+void MapEditor::updateMatrix()
+{
+    QTransform t_zoom;
+    t_zoom.scale(zoomFactor, zoomFactor);
+    QTransform t_rot;
+    t_rot.rotate(angle);
+    setTransform(t_zoom * t_rot);
+}
+
+void MapEditor::minimizeView() {
+    // If we only would set scene rectangle to existing items, then 
+    // view fould "jump", when Qt automatically tries to center. 
+    // Better consider the currently visible viewport (with slight offset)
+    QRectF r = mapToScene(viewport()->geometry()).boundingRect();
+    r.translate(-2,-3);
+    setSceneRect(scene()->itemsBoundingRect().united(r));
+}
+
+void MapEditor::print()
+{
+    QRectF totalBBox = getTotalBBox();
+
+    if (!printer)
+        printer = mainWindow->setupPrinter();
+
+    // Try to set orientation automagically
+    // Note: Interpretation of generated postscript is amibiguous, if
+    // there are problems with landscape mode, see
+    // http://sdb.suse.de/de/sdb/html/jsmeix_print-cups-landscape-81.html
+
+    if (totalBBox.width() > totalBBox.height())
+        // recommend landscape
+        printer->setPageOrientation(QPageLayout::Landscape);
+    else
+        // recommend portrait
+        printer->setPageOrientation(QPageLayout::Portrait);
+
+    QPrintDialog dialog(printer, this);
+    dialog.setWindowTitle(tr("Print vym map", "MapEditor"));
+    if (dialog.exec() == QDialog::Accepted) {
+        QPainter pp(printer);
+
+        pp.setRenderHint(QPainter::Antialiasing, true);
+
+        // Don't print the visualisation of selection
+        model->unselectAll();
+
+        QRectF mapRect = totalBBox;
+        QGraphicsRectItem *frame = NULL;
+
+        if (printFrame) {
+            // Print frame around map
+            mapRect.setRect(totalBBox.x() - 10, totalBBox.y() - 10,
+                            totalBBox.width() + 20, totalBBox.height() + 20);
+            frame = mapScene->addRect(mapRect, QPen(Qt::black),
+                                      QBrush(Qt::NoBrush));
+            frame->setZValue(0);
+            frame->show();
+        }
+
+        double paperAspect =
+            (double)printer->width() / (double)printer->height();
+        double mapAspect = (double)mapRect.width() / (double)mapRect.height();
+        int viewBottom;
+        if (mapAspect >= paperAspect) {
+            // Fit horizontally to paper width
+            // pp.setViewport(0,0,
+            // printer->width(),(int)(printer->width()/mapAspect) );
+            viewBottom = (int)(printer->width() / mapAspect);
+        }
+        else {
+            // Fit vertically to paper height
+            // pp.setViewport(0,0,(int)(printer->height()*mapAspect),printer->height());
+            viewBottom = printer->height();
+        }
+
+        if (printFooter) {
+            // Print footer below map
+            QFont font;
+            font.setPointSize(10);
+            pp.setFont(font);
+            QRectF footerBox(0, viewBottom, printer->width(), 15);
+            pp.drawText(footerBox, Qt::AlignLeft,
+                        "VYM - " + model->getFileName());
+            pp.drawText(footerBox, Qt::AlignRight,
+                        QDate::currentDate().toString(Qt::TextDate));
+        }
+        mapScene->render(&pp,
+                         QRectF(0, 0, printer->width(), printer->height() - 15),
+                         QRectF(mapRect.x(), mapRect.y(), mapRect.width(),
+                                mapRect.height()));
+
+        // Viewport has paper dimension
+        if (frame)
+            delete (frame);
+
+        // Restore selection
+        model->reselect();
+    }
+}
+
+QRectF MapEditor::getTotalBBox()    // FIXME-2 really needed? Overlaps with scene and VM...
+{
+    minimizeView();
+    return sceneRect();
+}
+
+QImage MapEditor::getImage(QPointF &offset)
+{
+    QRectF mapRect = getTotalBBox(); // minimized sceneRect
+
+    int d = 10; // border
+    offset = QPointF(mapRect.x() - d / 2, mapRect.y() - d / 2);
+    QImage pix(mapRect.width() + d, mapRect.height() + d, QImage::Format_RGB32);
+
+    QPainter pp(&pix);
+    pp.setRenderHints(renderHints());
+    mapScene->render(&pp,
+                     // Destination:
+                     QRectF(0, 0, mapRect.width() + d, mapRect.height() + d),
+                     // Source in scene:
+                     QRectF(mapRect.x() - d / 2, mapRect.y() - d / 2,
+                            mapRect.width() + d, mapRect.height() + d));
+    return pix;
+}
+
+void MapEditor::setAntiAlias(bool b)
+{
+    setRenderHint(QPainter::Antialiasing, b);
+}
+
+void MapEditor::setSmoothPixmap(bool b)
+{
+    setRenderHint(QPainter::SmoothPixmapTransform, b);
+}
+
+void MapEditor::autoLayout()
+{
+    // Create list with all bounding polygons
+    QList<LinkableMapObj *> mapobjects;
+    QList<ConvexPolygon> polys;
+    ConvexPolygon p;
+    QList<Vector> vectors;
+    QList<Vector> orgpos;
+    QStringList headings; // FIXME-3 testing only
+    Vector v;
+    BranchItem *bi;
+    BranchItem *bi2;
+    BranchObj *bo;
+
+    // Outer loop: Iterate until we no more changes in orientation
+    bool orientationChanged = true;
+    while (orientationChanged) {
+        BranchItem *ri = model->getRootItem();
+        for (int i = 0; i < ri->branchCount(); ++i) {
+            bi = ri->getBranchNum(i);
+            bo = (BranchObj *)bi->getLMO();
+            if (bo) {
+                mapobjects.append(bo);
+                p = bo->getBoundingPolygon();
+                p.calcCentroid();
+                polys.append(p);
+                vectors.append(QPointF(0, 0));
+                orgpos.append(p.at(0));
+                headings.append(bi->getHeadingPlain());
+            }
+            for (int j = 0; j < bi->branchCount(); ++j) {
+                bi2 = bi->getBranchNum(j);
+                bo = (BranchObj *)bi2->getLMO();
+                if (bo) {
+                    mapobjects.append(bo);
+                    p = bo->getBoundingPolygon();
+                    p.calcCentroid();
+                    polys.append(p);
+                    vectors.append(QPointF(0, 0));
+                    orgpos.append(p.at(0));
+                    headings.append(bi2->getHeadingPlain());
+                }
+            }
+        }
+
+        // Iterate moving bounding polygons until we have no more collisions
+        int collisions = 1;
+        while (collisions > 0) {
+            collisions = 0;
+            for (int i = 0; i < polys.size() - 1; ++i) {
+                for (int j = i + 1; j < polys.size(); ++j) {
+                    if (polygonCollision(polys.at(i), polys.at(j),
+                                         QPointF(0, 0))
+                            .intersect) {
+                        collisions++;
+                        if (debug)
+                            qDebug() << "Collision: " << headings[i] << " - "
+                                     << headings[j];
+                        v = polys.at(j).centroid() - polys.at(i).centroid();
+                        v.normalize();
+                        // Add random direction, if only two polygons with
+                        // identical y or x
+                        if (v.x() == 0 || v.y() == 0) {
+                            Vector w(cos(double((int)rand() % 1000)),
+                                     sin(double((int)rand() % 1000)));
+                            w.normalize();
+                            v = v + w;
+                        }
+
+                        // Scale translation vector by area of polygons
+                        vectors[j] = v * 10000 / polys.at(j).weight();
+                        vectors[i] = v * 10000 / polys.at(i).weight();
+                        vectors[i].invert();
+                        // FIXME-3 outer loop, "i" get's changed several
+                        // times...
+                        // Better not move away from centroid of 2 colliding
+                        // polys, but from centroid of _all_
+                    }
+                }
+            }
+            for (int i = 0; i < vectors.size(); i++) {
+                // qDebug() << " v="<<vectors[i]<<" "<<headings[i];
+                if (!vectors[i].isNull())
+                    polys[i].translate(vectors[i]);
+            }
+            // if (debug) qDebug()<< "Collisions total: "<<collisions;
+            // collisions=0;
+        }
+
+        // Finally move the real objects and update
+        QList<LinkableMapObj::Orientation> orients;
+        for (int i = 0; i < polys.size(); i++) {
+            Vector v = polys[i].at(0) - orgpos[i];
+            orients.append(mapobjects[i]->getOrientation());
+            if (!v.isNull()) {
+                if (debug)
+                    qDebug() << " Moving " << polys.at(i).weight() << " "
+                             << mapobjects[i]->getAbsPos() << " -> "
+                             << mapobjects[i]->getAbsPos() + v << "  "
+                             << headings[i];
+                // mapobjects[i]->moveBy(v.x(),v.y() );
+                // mapobjects[i]->setRelPos();
+                model->startAnimation((BranchObj *)mapobjects[i], v);
+                if (debug)
+                    qDebug() << i << " Weight: " << polys.at(i).weight() << " "
+                             << v << " " << headings.at(i);
+            }
+        }
+        /*
+        model->reposition();
+        orientationChanged=false;
+        for (int i=0;i<polys.size();i++)
+            if (orients[i]!=mapobjects[i]->getOrientation())
+            {
+            orientationChanged=true;
+            break;
+            }
+        */
+
+        break;
+
+        // orientationChanged=false;
+    } // loop if orientation has changed
+
+    model->emitSelectionChanged();
+}
+
+TreeItem *MapEditor::findMapItem(QPointF p, TreeItem *exclude)
+{
+    // Search XLinks
+    Link *link;
+    for (int i = 0; i < model->xlinkCount(); i++) {
+        link = model->getXLinkNum(i);
+        if (link) {
+            XLinkObj *xlo = link->getXLinkObj();
+            if (xlo && xlo->isInClickBox(p)) {
+                // Found XLink, now return the nearest XLinkItem of p
+                qreal d0 = Geometry::distance(p, xlo->getBeginPos());
+                qreal d1 = Geometry::distance(p, xlo->getEndPos());
+                if (d0 > d1)
+                    return link->getBeginLinkItem();
+                else
+                    return link->getEndLinkItem();
+            }
+        }
+    }
+
+    // Search branches (and their childs, e.g. images
+    // Start with mapcenter, no images allowed at rootItem
+    int i = 0;
+    BranchItem *bi = model->getRootItem()->getFirstBranch();
+    TreeItem *found = NULL;
+    while (bi) {
+        found = bi->findMapItem(p, exclude);
+        if (found)
+            return found;
+        i++;
+        bi = model->getRootItem()->getBranchNum(i);
+    }
+    return NULL;
+}
+
+void MapEditor::testFunction1() {}
+
+void MapEditor::testFunction2() { autoLayout(); }
+
+void MapEditor::toggleWinter()
+{
+    if (winter) {
+        delete winter;
+        winter = NULL;
+    }
+    else {
+        winter = new Winter(this);
+        QList<QRectF> obstacles;
+        BranchObj *bo;
+        BranchItem *cur = NULL;
+        BranchItem *prev = NULL;
+        model->nextBranch(cur, prev);
+        while (cur) {
+            if (!cur->hasHiddenExportParent()) {
+                // Branches
+                bo = (BranchObj *)(cur->getLMO());
+                if (bo && bo->isVisibleObj())
+                    obstacles.append(bo->getBBox());
+            }
+            model->nextBranch(cur, prev);
+        }
+        winter->setObstacles(obstacles);
+    }
+}
+
+BranchItem *MapEditor::getBranchDirectAbove(BranchItem *bi)
+{
+    if (bi) {
+        int i = bi->num();
+        if (i > 0)
+            return bi->parent()->getBranchNum(i - 1);
+    }
+    return NULL;
+}
+
+BranchItem *MapEditor::getBranchAbove(BranchItem *selbi)
+{
+    if (selbi) {
+        int dz = selbi->depth(); // original depth
+        bool invert = false;
+        if (selbi->getLMO()->getOrientation() == LinkableMapObj::LeftOfCenter)
+            invert = true;
+
+        BranchItem *bi;
+
+        // Look for branch with same parent but directly above
+        if (dz == 1 && invert)
+            bi = getBranchDirectBelow(selbi);
+        else
+            bi = getBranchDirectAbove(selbi);
+
+        if (bi)
+            // direct predecessor
+            return bi;
+
+        // Go towards center and look for predecessor
+        while (selbi->depth() > 0) {
+            selbi = (BranchItem *)(selbi->parent());
+            if (selbi->depth() == 1 && invert)
+                bi = getBranchDirectBelow(selbi);
+            else
+                bi = getBranchDirectAbove(selbi);
+            if (bi) {
+                // turn
+                selbi = bi;
+                while (selbi->depth() < dz) {
+                    // try to get back to original depth dz
+                    bi = selbi->getLastBranch();
+                    if (!bi) {
+                        return selbi;
+                    }
+                    selbi = bi;
+                }
+                return selbi;
+            }
+        }
+    }
+    return NULL;
+}
+
+BranchItem *MapEditor::getBranchDirectBelow(BranchItem *bi)
+{
+    if (bi) {
+        int i = bi->num();
+        if (i + 1 < bi->parent()->branchCount())
+            return bi->parent()->getBranchNum(i + 1);
+    }
+    return NULL;
+}
+
+BranchItem *MapEditor::getBranchBelow(BranchItem *selbi)
+{
+    if (selbi) {
+        BranchItem *bi;
+        int dz = selbi->depth(); // original depth
+        bool invert = false;
+        if (selbi->getLMO()->getOrientation() == LinkableMapObj::LeftOfCenter)
+            invert = true;
+
+        // Look for branch with same parent but directly below
+        if (dz == 1 && invert)
+            bi = getBranchDirectAbove(selbi);
+        else
+            bi = getBranchDirectBelow(selbi);
+        if (bi)
+            // direct successor
+            return bi;
+
+        // Go towards center and look for neighbour
+        while (selbi->depth() > 0) {
+            selbi = (BranchItem *)(selbi->parent());
+            if (selbi->depth() == 1 && invert)
+                bi = getBranchDirectAbove(selbi);
+            else
+                bi = getBranchDirectBelow(selbi);
+            if (bi) {
+                // turn
+                selbi = bi;
+                while (selbi->depth() < dz) {
+                    // try to get back to original depth dz
+                    bi = selbi->getFirstBranch();
+                    if (!bi) {
+                        return selbi;
+                    }
+                    selbi = bi;
+                }
+                return selbi;
+            }
+        }
+    }
+    return NULL;
+}
+
+BranchItem *MapEditor::getLeftBranch(TreeItem *ti)
+{
+    if (!ti)
+        return NULL;
+
+    if (ti->isBranchLikeType()) {
+        BranchItem *bi = (BranchItem *)ti;
+        if (bi->depth() == 0) {
+            // Special case: use alternative selection index
+            BranchItem *newbi = bi->getLastSelectedBranchAlt();
+            if (!newbi) {
+                BranchObj *bo;
+                // Try to find a mainbranch left of center
+                for (int i = 0; i < bi->branchCount(); i++) {
+                    newbi = bi->getBranchNum(i);
+                    bo = newbi->getBranchObj();
+                    if (bo &&
+                        bo->getOrientation() == LinkableMapObj::LeftOfCenter)
+                        break;
+                }
+            }
+            return newbi;
+        }
+        if (bi->getBranchObj()->getOrientation() ==
+            LinkableMapObj::RightOfCenter)
+            // right of center
+            return (BranchItem *)(bi->parent());
+        else
+            // left of center
+            if (bi->getType() == TreeItem::Branch)
+            return bi->getLastSelectedBranch();
+    }
+
+    if (ti->parent() && ti->parent()->isBranchLikeType())
+        return (BranchItem *)(ti->parent());
+    return NULL;
+}
+
+BranchItem *MapEditor::getRightBranch(TreeItem *ti)
+{
+    if (!ti)
+        return NULL;
+
+    if (ti->isBranchLikeType()) {
+        BranchItem *bi = (BranchItem *)ti;
+        if (bi->depth() == 0) {
+            // Special case: use alternative selection index
+            BranchItem *newbi = bi->getLastSelectedBranch();
+            if (!newbi) {
+                BranchObj *bo;
+                // Try to find a mainbranch right of center
+                for (int i = 0; i < bi->branchCount(); i++) {
+                    newbi = bi->getBranchNum(i);
+                    bo = newbi->getBranchObj();
+                    if (bo &&
+                        bo->getOrientation() == LinkableMapObj::RightOfCenter)
+                        qDebug()
+                            << "BI found right: " << newbi->getHeadingPlain();
+                }
+            }
+            return newbi;
+        }
+        if (bi->getBranchObj()->getOrientation() ==
+            LinkableMapObj::LeftOfCenter)
+            // left of center
+            return (BranchItem *)(bi->parent());
+        else
+            // right of center
+            if (bi->getType() == TreeItem::Branch)
+            return (BranchItem *)bi->getLastSelectedBranch();
+    }
+
+    if (ti->parent() && ti->parent()->isBranchLikeType())
+        return (BranchItem *)(ti->parent());
+
+    return NULL;
+}
+
+void MapEditor::cursorUp()
+{
+    if (state == MapEditor::EditingHeading)
+        return;
+
+    BranchItem *selbi = model->getSelectedBranch();
+    BranchItem *bi;
+    if (selbi) {
+        // Exactly one branch is currently selected
+        bi = getBranchAbove(selbi);
+        if (bi) {
+            model->select(bi);
+        } 
+    } else {
+        // Nothing selected or already multiple selections
+        TreeItem *ti = model->lastToggledItem();
+        if (ti && ti->isBranchLikeType()) {
+            bi = getBranchAbove( (BranchItem*)ti);
+            if (bi) 
+                model->select(bi);
+        }
+    }
+}
+
+void MapEditor::cursorUpToggleSelection()
+{
+    if (state == MapEditor::EditingHeading)
+        return;
+
+    BranchItem *selbi = model->getSelectedBranch();
+    BranchItem *bi;
+
+    if (selbi) {
+        // Exactly one branch is currently selected
+        bi = getBranchAbove(selbi);
+        if (bi) model->selectToggle(bi);
+    } else {
+        // Nothing selected or already multiple selections
+        TreeItem *ti = model->lastToggledItem();
+        if (ti && ti->isBranchLikeType()) {
+            if (lastToggleDirection == toggleUp)
+                bi = getBranchAbove( (BranchItem*)ti);
+            else
+                bi = (BranchItem*)ti;
+
+            if (bi) 
+                model->selectToggle(bi);
+        }
+    }
+    lastToggleDirection = toggleUp;
+}
+
+void MapEditor::cursorDown()
+{
+    if (state == MapEditor::EditingHeading)
+        return;
+
+    BranchItem *selbi = model->getSelectedBranch();
+    BranchItem *bi;
+    if (selbi) {
+        // Exactly one branch is currently selected
+        bi = getBranchBelow(selbi);
+        if (bi) {
+            model->select(bi);
+        } 
+    } else {
+        // Nothing selected or already multiple selections
+        TreeItem *ti = model->lastToggledItem();
+        if (ti && ti->isBranchLikeType()) {
+            bi = getBranchBelow( (BranchItem*)ti);
+
+            if (bi) 
+                model->select(bi);
+        }
+    }
+}
+
+void MapEditor::cursorDownToggleSelection()
+{
+    if (state == MapEditor::EditingHeading)
+        return;
+
+    BranchItem *selbi = model->getSelectedBranch();
+    BranchItem *bi;
+    if (selbi) {
+        // Exactly one branch is currently selected
+        bi = getBranchBelow(selbi);
+        if (bi) {
+            model->selectToggle(bi);
+        } 
+    } else {
+        // Nothing selected or already multiple selections
+        TreeItem *ti = model->lastToggledItem();
+        if (ti && ti->isBranchLikeType()) {
+            if (lastToggleDirection == toggleDown)
+                bi = getBranchBelow( (BranchItem*)ti);
+            else
+                bi = (BranchItem*)ti;
+
+            if (bi) 
+                model->selectToggle(bi);
+        }
+    }
+    lastToggleDirection = toggleDown;
+}
+
+void MapEditor::cursorLeft()
+{
+    TreeItem *ti = model->getSelectedItem();
+    if (!ti) {
+        ti = model->lastToggledItem();
+        if (!ti) return;
+    }
+
+    BranchItem *bi = getLeftBranch(ti);
+    if (bi)
+        model->select(bi);
+    else {
+        ImageItem *ii = ti->getFirstImage();
+        if (ii)
+            model->select(ii);
+    }
+}
+
+void MapEditor::cursorRight()
+{
+    TreeItem *ti = model->getSelectedItem();
+    if (!ti) {
+        ti = model->lastToggledItem();
+        if (!ti) return;
+    }
+
+    BranchItem *bi = getRightBranch(ti);
+    if (bi)
+        model->select(bi);
+    else {
+        ImageItem *ii = ti->getFirstImage();
+        if (ii)
+            model->select(ii);
+    }
+}
+
+void MapEditor::cursorFirst() { model->selectFirstBranch(); }
+
+void MapEditor::cursorLast() { model->selectLastBranch(); }
+
+void MapEditor::editHeading()
+{
+    if (state == EditingHeading) {
+        editHeadingFinished();
+        return;
+    }
+
+    BranchObj *bo = model->getSelectedBranchObj();
+    BranchItem *bi = model->getSelectedBranch();
+    if (bo && bo) {
+        VymText heading = bi->getHeading();
+        if (heading.isRichText() || bi->getHeadingPlain().contains("\n")) {
+            mainWindow->windowShowHeadingEditor();
+            ensureSelectionVisibleAnimated();
+            return;
+        }
+        model->setSelectionBlocked(true);
+
+        lineEdit = new QLineEdit;
+        QGraphicsProxyWidget *pw = mapScene->addWidget(lineEdit);
+        pw->setZValue(Z_LINEEDIT);
+        lineEdit->setCursor(Qt::IBeamCursor);
+        lineEdit->setCursorPosition(1);
+
+#if defined(Q_OS_WINDOWS)
+        QFont font = lineEdit->font();
+        font.setPointSize(font.pointSize() + 4);
+        lineEdit->setFont(font);
+#endif
+
+        QPointF tl;
+        QPointF br;
+        qreal w = 230;
+        qreal h = 30;
+        if (bo->getOrientation() != LinkableMapObj::LeftOfCenter) {
+            tl = bo->getOrnamentsBBox().topLeft();
+            br = tl + QPointF(w, h);
+        }
+        else {
+            br = bo->getOrnamentsBBox().bottomRight();
+            tl = br - QPointF(w, h);
+        }
+        QRectF r(tl, br);
+        lineEdit->setGeometry(r.toRect());
+        pw->setGeometry(r.toRect());
+
+        minimizeView();
+
+        // Set focus to MapEditor first
+        // To avoid problems with Cursor up/down
+        setFocus();
+
+        ensureAreaVisibleAnimated(r);
+
+        lineEdit->setText(heading.getTextASCII());
+        lineEdit->setFocus();
+        lineEdit->selectAll(); // Hack to enable cursor in lineEdit
+        lineEdit->deselect();  // probably a Qt bug...
+
+        setState(EditingHeading);
+    }
+}
+
+void MapEditor::editHeadingFinished()
+{
+    if (state != EditingHeading || !lineEdit ) {
+        qWarning() << "ME::editHeadingFinished not editing heading!";
+    } else {
+        lineEdit->clearFocus();
+        QString s = lineEdit->text();
+        s.replace(QRegExp("\\n"), " "); // Don't paste newline chars
+        if (s.length() == 0)
+            s = " "; // Don't allow empty lines, which would screw up drawing
+        model->setHeadingPlainText(s);
+        delete (lineEdit);
+        lineEdit = nullptr;
+
+        // FIXME-2 ensureAreaVisible like in starting editing?
+
+        // Maybe reselect previous branch
+        mainWindow->editHeadingFinished(model);
+
+        // Autolayout to avoid overlapping branches with longer headings
+        if (settings.value("/mainwindow/autoLayout/use", "true") == "true")
+            autoLayout();
+    }
+
+    model->setSelectionBlocked(false);
+    setState(Neutral);
+}
+
+void MapEditor::contextMenuEvent(QContextMenuEvent *e)
+{
+    // Lineedits are already closed by preceding
+    // mouseEvent, we don't need to close here.
+
+    QPointF p = mapToScene(e->pos());
+    TreeItem *ti = findMapItem(p, NULL);
+
+    if (ti) { // MapObj was found
+        model->select(ti);
+
+        LinkableMapObj *lmo = NULL;
+        BranchItem *selbi = model->getSelectedBranch();
+        if (ti)
+            lmo = ((MapItem *)ti)->getLMO();
+
+        // Context Menu
+        if (lmo && selbi) {
+            QString sysFlagName;
+            QUuid uid = ((BranchObj *)lmo)->findSystemFlagUidByPos(p);
+            if (!uid.isNull()) {
+                Flag *flag = systemFlagsMaster->findFlagByUid(uid);
+                if (flag)
+                    sysFlagName = flag->getName();
+            }
+
+            if (sysFlagName.startsWith("system-task"))
+                taskContextMenu->popup(e->globalPos());
+            else
+                // Context Menu on branch or mapcenter
+                branchContextMenu->popup(e->globalPos());
+        }
+        else {
+            if (model->getSelectedImage()) {
+                // Context Menu on floatimage
+                floatimageContextMenu->popup(e->globalPos());
+            }
+            else {
+                if (model->getSelectedXLink())
+                    // Context Menu on XLink
+                    model->editXLink();
+            }
+        }
+    }
+    else { // No MapObj found, we are on the Canvas itself
+        // Context Menu on scene
+
+        // Open context menu synchronously to position new mapcenter
+        model->setContextPos(p);
+        canvasContextMenu->exec(e->globalPos());
+        model->unsetContextPos();
+    }
+    e->accept();
+}
+
+void MapEditor::keyPressEvent(QKeyEvent *e)
+{
+    if (e->key() == Qt::Key_PageUp || e->key() == Qt::Key_PageDown)
+        // Ignore PageUP/Down to avoid scrolling with keys
+        return;
+
+    if (e->modifiers() & Qt::ShiftModifier) {
+        switch (mainWindow->getModMode()) {
+        case Main::ModModePoint:
+            setCursor(Qt::ArrowCursor);
+            break;
+        case Main::ModModeColor:
+            setCursor(PickColorCursor);
+            break;
+        case Main::ModModeXLink:
+            setCursor(XLinkCursor);
+            break;
+        case Main::ModModeMoveObject:
+            setCursor(Qt::PointingHandCursor);
+            break;
+        case Main::ModModeMoveView:
+            setCursor(QPixmap(":/mode-move-view.png"));
+            break;
+        default:
+            setCursor(Qt::ArrowCursor);
+            break;
+        }
+    }
+    QGraphicsView::keyPressEvent(e);
+}
+
+void MapEditor::keyReleaseEvent(QKeyEvent *e)
+{
+    if (!(e->modifiers() & Qt::ControlModifier))
+        setCursor(Qt::ArrowCursor);
+}
+
+void MapEditor::startMovingView(QMouseEvent *e)
+{
+    setState(MovingView);
+    movingObj = NULL; // move Content not Obj
+    movingObj_offset = e->globalPos();
+    movingCont_start =
+        QPointF(horizontalScrollBar()->value(), verticalScrollBar()->value());
+    movingVec = QPointF(0, 0);
+    setCursor(HandOpenCursor);
+}
+
+void MapEditor::mousePressEvent(QMouseEvent *e)
+{
+    // Ignore right clicks
+    if (e->button() == Qt::RightButton) {
+        e->ignore();
+        QGraphicsView::mousePressEvent(e);
+        return;
+    }
+
+    // Check if we need to reset zoomFactor for middle button + Ctrl
+    if (e->button() == Qt::MidButton && e->modifiers() & Qt::ControlModifier) {
+        setZoomFactorTarget(1);
+        setAngleTarget(0);
+        return;
+    }
+
+    QPointF p = mapToScene(e->pos());
+    TreeItem *ti_found = findMapItem(p, NULL);
+    LinkableMapObj *lmo_found = NULL;
+    if (ti_found)
+        lmo_found = ((MapItem *)ti_found)->getLMO();
+
+
+    // Allow selecting text in QLineEdit if necessary
+    if (model->isSelectionBlocked()) {
+        e->ignore();
+        QGraphicsView::mousePressEvent(e);
+        return;
+    }
+
+    // Stop editing in LineEdit
+    if (state == EditingHeading) editHeadingFinished();
+
+    QString sysFlagName;
+    QUuid uid;
+    if (lmo_found) {
+        uid = ((BranchObj *)lmo_found)->findSystemFlagUidByPos(p);
+        if (!uid.isNull()) {
+            Flag *flag = systemFlagsMaster->findFlagByUid(uid);
+            if (flag)
+                sysFlagName = flag->getName();
+        }
+    }
+
+    /*
+    qDebug() << "ME::mouse pressed\n";
+    qDebug() << "  lmo_found=" << lmo_found;
+    qDebug() << "   ti_found=" << ti_found;
+    //if (ti_found) qDebug() << "   ti_found="<<ti_found->getHeading();
+    qDebug() << " flag=" << sysFlagName;
+    */
+
+    // Check modifier key (before selecting object!)
+    if (ti_found && (e->modifiers() & Qt::ShiftModifier)) {
+        if (mainWindow->getModMode() == Main::ModModeColor) {
+            setState(PickingColor);
+            mainWindow->setCurrentColor(ti_found->getHeadingColor());
+            if (e->modifiers() & Qt::ControlModifier)
+                model->colorBranch(ti_found->getHeadingColor());
+            else
+                model->colorSubtree(ti_found->getHeadingColor());
+            return;
+        }
+
+        if (mainWindow->getModMode() == Main::ModModeMoveView) {
+            startMovingView(e);
+            return;
+        }
+    }
+
+    // Check vymlink  modifier (before selecting object!)
+    if (ti_found && sysFlagName == "system-vymLink") {
+        model->select(ti_found);
+        if (e->modifiers() & Qt::ControlModifier) {
+            if (e->modifiers() & Qt::ShiftModifier)
+                model->deleteVymLink();
+            else
+                mainWindow->editOpenVymLink(true);
+        } else
+            mainWindow->editOpenVymLink(false);
+        return;
+    }
+
+    // Select the clicked object, if not moving without linking
+    if (ti_found && (e->modifiers() & Qt::ShiftModifier)) {
+        if (mainWindow->getModMode() == Main::ModModePoint) {
+            model->selectToggle(ti_found);
+            lastToggleDirection = toggleUndefined;
+        }
+    }
+    else
+        model->select(ti_found);
+
+    e->accept();
+
+    // Take care of  remaining system flags _or_ modifier modes
+    if (lmo_found) {
+        if (!sysFlagName.isEmpty()) {
+            // systemFlag clicked
+            if (sysFlagName.contains("system-url")) {
+                if (e->modifiers() & Qt::ControlModifier)
+                    mainWindow->editOpenURLTab();
+                else
+                    mainWindow->editOpenURL();
+            }
+            else if (sysFlagName == "system-note")
+                mainWindow->windowToggleNoteEditor();
+            else if (sysFlagName == "hideInExport")
+                model->toggleHideExport();
+            else if (sysFlagName.startsWith("system-task-"))
+                model->cycleTaskStatus();
+            return;
+        }
+        else {
+            // Take care of xLink: Open context menu with targets
+            // if clicked near to begin of xlink
+            if (ti_found->xlinkCount() > 0 &&
+                ti_found->getType() != TreeItem::MapCenter &&
+                lmo_found->getBBox().width() > 30) {
+                if ((lmo_found->getOrientation() !=
+                         LinkableMapObj::RightOfCenter &&
+                     p.x() < lmo_found->getBBox().left() + 10) ||
+                    (lmo_found->getOrientation() !=
+                         LinkableMapObj::LeftOfCenter &&
+                     p.x() > lmo_found->getBBox().right() - 10)) {
+                    // FIXME-4 similar code in mainwindow::updateActions
+                    QMenu menu;
+                    QList<QAction *> alist;
+                    QList<BranchItem *> blist;
+                    for (int i = 0; i < ti_found->xlinkCount(); i++) {
+                        XLinkItem *xli = ti_found->getXLinkItemNum(i);
+                        BranchItem *bit = xli->getPartnerBranch();
+                        if (bit)
+                            alist.append(
+                                new QAction(ti_found->getXLinkItemNum(i)
+                                                ->getPartnerBranch()
+                                                ->getHeadingPlain(),
+                                            &menu));
+                    }
+                    menu.addActions(alist);
+                    QAction *ra = menu.exec(e->globalPos());
+                    if (ra)
+                        model->select(blist.at(alist.indexOf(ra)));
+                    while (!alist.isEmpty()) {
+                        QAction *a = alist.takeFirst();
+                        delete a;
+                    }
+                    return;
+                }
+            }
+        }
+    }
+
+    // XLink modifier, create new XLink
+    BranchItem *selbi = model->getSelectedBranch();
+    if (selbi && mainWindow->getModMode() == Main::ModModeXLink &&
+        (e->modifiers() & Qt::ShiftModifier)) {
+        setState(DrawingLink);
+        tmpLink = new Link(model);
+        tmpLink->setBeginBranch(selbi);
+        tmpLink->createMapObj();
+        tmpLink->setStyleBegin("None");
+        tmpLink->setStyleEnd("None");
+        tmpLink->setEndPoint(mapToScene(e->pos()));
+        tmpLink->updateLink();
+        return;
+    }
+
+    // Start moving around
+    if (lmo_found) {
+        // Left Button     Move Branches
+        if (e->button() == Qt::LeftButton) {
+            // No system flag clicked, take care of moving modes or simply
+            // moving
+            movingObj_offset.setX(p.x() - lmo_found->x());
+            movingObj_offset.setY(p.y() - lmo_found->y());
+            movingObj_orgPos.setX(lmo_found->x());
+            movingObj_orgPos.setY(lmo_found->y());
+            if (ti_found->depth() > 0) {
+                lmo_found->setRelPos();
+                movingObj_orgRelPos = lmo_found->getRelPos();
+            }
+
+            if (mainWindow->getModMode() == Main::ModModeMoveObject &&
+                e->modifiers() & Qt::ShiftModifier) {
+                setState(MovingObjectWithoutLinking);
+            }
+            else
+                setState(MovingObject);
+
+            movingObj = model->getSelectedLMO();
+        }
+        else
+            // Middle Button    Toggle Scroll
+            // (On Mac OS X this won't work, but we still have
+            // a button in the toolbar)
+            if (e->button() == Qt::MidButton)
+            model->toggleScroll();
+    }
+    else { // No lmo found, check XLinks
+        if (ti_found) {
+            if (ti_found->getType() == TreeItem::XLink) {
+                XLinkObj *xlo = (XLinkObj *)((MapItem *)ti_found)->getMO();
+                if (xlo) {
+                    setState(DrawingXLink);
+                    int i = xlo->ctrlPointInClickBox(p);
+                    if (i >= 0)
+                        xlo->setSelection(i);
+                    movingObj_offset.setX(p.x() - xlo->x());
+                    movingObj_offset.setY(p.y() - xlo->y());
+                    movingObj_orgPos.setX(xlo->x());
+                    movingObj_orgPos.setY(xlo->y());
+                }
+            }
+        }
+        else { // No MapObj found, we are on the scene itself
+            // Left Button         move Pos of sceneView
+            if (e->button() == Qt::LeftButton ||
+                e->button() == Qt::MiddleButton) {
+                startMovingView(e);
+                return;
+            }
+        }
+    }
+}
+
+void MapEditor::mouseMoveEvent(QMouseEvent *e)
+{
+    // Show mouse position for debugging in statusBar
+    if (debug && e->modifiers() & Qt::ControlModifier)
+        mainWindow->statusMessage(
+            QString("ME::mousePressEvent  Scene: %1  widget: %2")
+                .arg(qpointFToString(mapToScene(e->pos())))
+                .arg(qpointFToString(e->pos())));
+
+    // Allow selecting text in QLineEdit if necessary
+    if (model->isSelectionBlocked()) {
+        e->ignore();
+        QGraphicsView::mouseMoveEvent(e);
+        return;
+    }
+
+    // Move sceneView
+    if (state == MovingView &&
+        (e->buttons() == Qt::LeftButton || e->buttons() == Qt::MiddleButton)) {
+        QPointF p = e->globalPos();
+        movingVec.setX(-p.x() + movingObj_offset.x());
+        movingVec.setY(-p.y() + movingObj_offset.y());
+        horizontalScrollBar()->setSliderPosition(
+            (int)(movingCont_start.x() + movingVec.x()));
+        verticalScrollBar()->setSliderPosition(
+            (int)(movingCont_start.y() + movingVec.y()));
+        // Avoid flickering
+        scrollBarPosAnimation.stop();
+        viewCenterAnimation.stop();
+        rotationAnimation.stop();
+        // zoomAnimation.stop();
+
+        return;
+    }
+
+    TreeItem *seli = model->getSelectedItem();
+
+    MapObj *mosel = NULL;
+    if (seli)
+        mosel = ((MapItem *)seli)->getMO();
+
+    // If not already happened during mousepress, we might need to switch state
+    if (mainWindow->getModMode() == Main::ModModeMoveObject &&
+        e->modifiers() & Qt::ShiftModifier && e->buttons() == Qt::LeftButton) {
+        state = MovingObjectWithoutLinking;
+    }
+
+    // Move the selected MapObj
+    if (mosel &&
+        (state == MovingObject || state == MovingObjectWithoutLinking ||
+         state == DrawingXLink)) {
+        int margin = 50;
+
+        // Check if we have to scroll
+        vPan.setX(0);
+        vPan.setY(0);
+        if (e->y() >= 0 && e->y() <= margin)
+            vPan.setY(e->y() - margin);
+        else if (e->y() <= height() && e->y() > height() - margin)
+            vPan.setY(e->y() - height() + margin);
+        if (e->x() >= 0 && e->x() <= margin)
+            vPan.setX(e->x() - margin);
+        else if (e->x() <= width() && e->x() > width() - margin)
+            vPan.setX(e->x() - width() + margin);
+
+        pointerPos = e->pos();
+        pointerMod = e->modifiers();
+        moveObject();
+    } // selection && moving_obj
+
+    // Draw a link from one branch to another
+    if (state == DrawingLink) {
+        tmpLink->setEndPoint(mapToScene(e->pos()));
+        tmpLink->updateLink();
+    }
+}
+
+void MapEditor::moveObject()
+{
+    if (!panningTimer->isActive())
+        panningTimer->start(50);
+
+    QPointF p = mapToScene(pointerPos);
+    TreeItem *seli = model->getSelectedItem();
+    LinkableMapObj *lmosel = NULL;
+    if (seli)
+        lmosel = ((MapItem *)seli)->getLMO();
+
+    objectMoved = true;
+
+    // reset cursor if we are moving and don't copy
+
+    // Check if we could link
+    TreeItem *ti_found = findMapItem(p, seli);
+    BranchItem *bi_dst = NULL;
+    LinkableMapObj *lmo_dst = NULL;
+    if (ti_found && ti_found != seli && ti_found->isBranchLikeType()) {
+        bi_dst = (BranchItem *)ti_found;
+        lmo_dst = bi_dst->getLMO();
+    }
+    else
+        bi_dst = NULL;
+
+    if (lmosel) {
+        if (seli->getType() == TreeItem::Image) {
+            FloatImageObj *fio = (FloatImageObj *)lmosel;
+            fio->moveCenter(p.x() - movingObj_offset.x(),
+                            p.y() - movingObj_offset.y());
+            fio->setRelPos();
+            fio->updateLinkGeometry(); // no need for reposition, if we update
+                                       // link here
+            model->emitSelectionChanged(); // position has changed
+
+            // Relink float to new mapcenter or branch, if shift is pressed
+            // Only relink, if selection really has a new parent
+            if (pointerMod == Qt::ShiftModifier && bi_dst &&
+                bi_dst != seli->parent()) {
+                // Also save the move which was done so far
+                QString pold = qpointFToString(movingObj_orgRelPos);
+                QString pnow = qpointFToString(fio->getRelPos());
+                model->saveState(seli, "moveRel " + pold, seli,
+                                 "moveRel " + pnow,
+                                 QString("Move %1 to relative position %2")
+                                     .arg(model->getObjectName(lmosel))
+                                     .arg(pnow));
+                model->reposition();
+
+                model->relinkImage((ImageItem *)seli, bi_dst);
+                model->select(seli);
+            }
+        }
+        else if (seli->isBranchLikeType()) { // selection != a FloatObj
+            if (seli->depth() == 0) {
+                // Move mapcenter
+                lmosel->move(p - movingObj_offset);
+                if (pointerMod == Qt::ControlModifier) {
+                    // Move only mapcenter, leave its children where they are
+                    QPointF v;
+                    v = lmosel->getAbsPos();
+                    for (int i = 0; i < seli->branchCount(); ++i) {
+                        seli->getBranchObjNum(i)->setRelPos();
+                        seli->getBranchObjNum(i)->setOrientation();
+                    }
+                }
+            }
+            else {
+                if (seli->depth() == 1) {
+                    // Move mainbranch
+                    if (!lmosel->hasParObjTmp())
+                        lmosel->move(p - movingObj_offset);
+                    lmosel->setRelPos();
+                }
+                else {
+                    // d>1, move ordinary branch
+                    if (lmosel->getOrientation() ==
+                        LinkableMapObj::LeftOfCenter)
+                        // Add width of bbox here, otherwise alignRelTo will
+                        // cause jumping around
+                        lmosel->move(p.x() - movingObj_offset.x(),
+                                     p.y() - movingObj_offset.y() +
+                                         lmosel->getTopPad());
+                    else
+                        lmosel->move(p.x() - movingObj_offset.x(),
+                                     p.y() - movingObj_offset.y() -
+                                         lmosel->getTopPad());
+                    BranchItem *selbi = ((BranchItem *)seli);
+                    if (selbi->parentBranch()->getChildrenLayout() ==
+                        BranchItem::FreePositioning)
+                        lmosel->setRelPos();
+                }
+
+            } // depth>0
+
+            // Maybe we can relink temporary?
+            if (bi_dst && state != MovingObjectWithoutLinking) {
+                if (pointerMod == Qt::ControlModifier) {
+                    // Special case: CTRL to link below dst
+                    lmosel->setParObjTmp(lmo_dst, p, +1);
+                }
+                else if (pointerMod == Qt::ShiftModifier)
+                    lmosel->setParObjTmp(lmo_dst, p, -1);
+                else
+                    lmosel->setParObjTmp(lmo_dst, p, 0);
+            }
+            else
+                lmosel->unsetParObjTmp();
+
+            // reposition subbranch
+            lmosel->reposition();
+
+            QItemSelection sel = model->getSelectionModel()->selection();
+            updateSelection(sel, sel); // position has changed
+
+            // In winter mode shake snow from heading
+            if (winter)
+                model->emitDataChanged(seli);
+        } // Moving branchLikeType
+    }     // End of lmosel != NULL
+    else if (seli && seli->getType() == TreeItem::XLink) {
+        // Move XLink control point
+        MapObj *mosel = ((MapItem *)seli)->getMO();
+        if (mosel) {
+            mosel->move(p - movingObj_offset); // FIXME-3 Missing savestate
+            model->setChanged();
+            model->emitSelectionChanged();
+        }
+    }
+    else
+        qWarning("ME::moveObject  Huh? I'm confused.");
+
+    scene()->update();
+
+    return;
+}
+
+void MapEditor::mouseReleaseEvent(QMouseEvent *e)
+{
+    // Allow selecting text in QLineEdit if necessary
+    if (model->isSelectionBlocked()) {
+        e->ignore();
+        QGraphicsView::mouseReleaseEvent(e);
+        return;
+    }
+
+    QPointF p = mapToScene(e->pos());
+    TreeItem *seli = model->getSelectedItem();
+
+    TreeItem *dsti = NULL;
+    if (seli)
+        dsti = findMapItem(p, seli);
+    LinkableMapObj *dst = NULL;
+    BranchItem *selbi = model->getSelectedBranch();
+    if (dsti && dsti->isBranchLikeType())
+        dst = ((MapItem *)dsti)->getLMO();
+    else
+        dsti = NULL;
+
+    // Have we been picking color?
+    if (state == PickingColor) {
+        setCursor(Qt::ArrowCursor);
+        // Check if we are over another branch
+        if (dst) {
+            if (e->modifiers() & Qt::ShiftModifier)
+                model->colorBranch(mainWindow->getCurrentColor());
+            else
+                model->colorSubtree(mainWindow->getCurrentColor());
+        }
+        setState(Neutral);
+        return;
+    }
+
+    // Have we been drawing a link?
+    if (state == DrawingLink) {
+        setState(Neutral);
+        // Check if we are over another branch
+        if (dsti) {
+            tmpLink->setEndBranch(((BranchItem *)dsti));
+            tmpLink->activate();
+            tmpLink->updateLink();
+            if (model->createLink(tmpLink)) {
+                model->saveState(
+                    tmpLink->getBeginLinkItem(), "remove ()", seli,
+                    QString("addXLink (\"%1\",\"%2\",%3,\"%4\",\"%5\")")
+                        .arg(model->getSelectString(tmpLink->getBeginBranch()))
+                        .arg(model->getSelectString(tmpLink->getEndBranch()))
+                        .arg(tmpLink->getPen().width())
+                        .arg(tmpLink->getPen().color().name())
+                        .arg(penStyleToString(tmpLink->getPen().style())),
+                    QString("Adding Link from %1 to %2")
+                        .arg(model->getObjectName(seli))
+                        .arg(model->getObjectName(dsti)));
+                return;
+            }
+        }
+        delete (tmpLink);
+        tmpLink = NULL;
+        return;
+    }
+
+    // Have we been moving something?
+    if (seli && state == MovingObject) {
+        panningTimer->stop();
+        if (seli->getType() == TreeItem::Image) {
+            FloatImageObj *fio = (FloatImageObj *)(((MapItem *)seli)->getLMO());
+            if (fio) {
+                // Moved Image, we need to reposition
+                QString pold = qpointFToString(movingObj_orgRelPos);
+                QString pnow = qpointFToString(fio->getRelPos());
+                model->saveState(seli, "moveRel " + pold, seli,
+                                 "moveRel " + pnow,
+                                 QString("Move %1 to relative position %2")
+                                     .arg(model->getObjectName(seli))
+                                     .arg(pnow));
+
+                model->emitDataChanged(
+                    seli->parent()); // Parent of image has changed
+                model->reposition();
+            }
+        }
+
+        if (selbi && selbi->depth() == 0) {
+            if (movingObj_orgPos != selbi->getBranchObj()->getAbsPos()) {
+                QString pold = qpointFToString(movingObj_orgPos);
+                QString pnow =
+                    qpointFToString(selbi->getBranchObj()->getAbsPos());
+
+                model->saveState(selbi, "move " + pold, selbi, "move " + pnow,
+                                 QString("Move mapcenter %1 to position %2")
+                                     .arg(model->getObjectName(selbi))
+                                     .arg(pnow));
+            }
+        }
+
+        if (seli->isBranchLikeType()) //(seli->getType() == TreeItem::Branch )
+        {                             // A branch was moved
+            LinkableMapObj *lmosel = NULL;
+            lmosel = ((MapItem *)seli)->getLMO();
+
+            // save the position in case we link to mapcenter
+            QPointF savePos = QPointF(lmosel->getAbsPos());
+
+            // Reset the temporary drawn link to the original one
+            lmosel->unsetParObjTmp();
+
+            // For Redo we may need to save original selection
+            QString preSelStr = model->getSelectString(seli);
+
+            if (dsti && objectMoved && state != MovingObjectWithoutLinking) {
+                // We have a destination, relink to that
+                BranchObj *selbo = model->getSelectedBranchObj();
+
+                QString preParStr = model->getSelectString(seli->parent());
+                QString preNum = QString::number(seli->num(), 10);
+                QString preDstParStr;
+
+                if (e->modifiers() & Qt::ShiftModifier &&
+                    dsti->parent()) { // Link above dst
+                    preDstParStr = model->getSelectString(dsti->parent());
+                    model->relinkBranch((BranchItem *)seli,
+                                        (BranchItem *)dsti->parent(),
+                                        ((BranchItem *)dsti)->num(), true);
+                }
+                else if (e->modifiers() & Qt::ControlModifier &&
+                         dsti->parent()) {
+                    // Link below dst
+                    preDstParStr = model->getSelectString(dsti->parent());
+                    model->relinkBranch((BranchItem *)seli,
+                                        (BranchItem *)dsti->parent(),
+                                        ((BranchItem *)dsti)->num() + 1, true);
+                }
+                else { // Append to dst
+                    preDstParStr = model->getSelectString(dsti);
+                    model->relinkBranch((BranchItem *)seli, (BranchItem *)dsti,
+                                        -1, true, movingObj_orgPos);
+                    if (dsti->depth() == 0)
+                        selbo->move(savePos);
+                }
+            }
+            else {
+                // No destination, undo  temporary move
+
+                if (seli->depth() == 1) {
+                    // The select string might be different _after_ moving
+                    // around. Therefor reposition and then use string of old
+                    // selection, too
+                    model->reposition();
+
+                    QPointF rp(lmosel->getRelPos());
+                    if (rp != movingObj_orgRelPos) {
+                        QString ps = qpointFToString(rp);
+                        model->saveState(
+                            model->getSelectString(lmosel),
+                            "moveRel " + qpointFToString(movingObj_orgRelPos),
+                            preSelStr, "moveRel " + ps,
+                            QString("Move %1 to relative position %2")
+                                .arg(model->getObjectName(lmosel))
+                                .arg(ps));
+                    }
+                }
+
+                if (selbi->parentBranch()->getChildrenLayout() ==
+                    BranchItem::FreePositioning) {
+                    lmosel->setRelPos();
+                    model->reposition();
+                }
+                else {
+
+                    // Draw the original link, before selection was moved around
+                    if (settings.value("/animation/use", true).toBool() &&
+                        seli->depth() > 1
+                        //                 && distance
+                        //(lmosel->getRelPos(),movingObj_orgRelPos)<3
+                    ) {
+                        lmosel->setRelPos(); // calc relPos first for starting
+                                             // point
+
+                        model->startAnimation((BranchObj *)lmosel,
+                                              lmosel->getRelPos(),
+                                              movingObj_orgRelPos);
+                    }
+                    else
+                        model->reposition();
+                }
+            }
+        }
+        // Finally resize scene, if needed
+        scene()->update();
+        movingObj = NULL;
+        objectMoved = false;
+        vPan = QPoint();
+    }
+    else
+        // maybe we moved View: set old cursor
+        setCursor(Qt::ArrowCursor);
+
+    if (state != EditingHeading)
+        setState(Neutral); // Continue editing after double click!
+
+    QGraphicsView::mouseReleaseEvent(e);
+}
+
+void MapEditor::mouseDoubleClickEvent(QMouseEvent *e)
+{
+    // Allow selecting text in QLineEdit if necessary
+    if (model->isSelectionBlocked()) {
+        e->ignore();
+        QGraphicsView::mouseDoubleClickEvent(e);
+        return;
+    }
+
+    if (e->button() == Qt::LeftButton) {
+        QPointF p = mapToScene(e->pos());
+        TreeItem *ti = findMapItem(p, NULL);
+        LinkableMapObj *lmo;
+        if (ti) {
+            if (state == EditingHeading)
+                editHeadingFinished();
+            model->select(ti);
+            BranchItem *selbi = model->getSelectedBranch();
+            if (selbi) {
+                lmo = ((MapItem *)ti)->getLMO();
+                if (lmo) {
+                    QUuid uid = ((BranchObj *)lmo)->findSystemFlagUidByPos(p);
+
+                    // Don't edit heading when double clicking system flag:
+                    if (!uid.isNull())
+                        return;
+                }
+            }
+            e->accept();
+            editHeading();
+        }
+    }
+}
+
+void MapEditor::wheelEvent(QWheelEvent *e)
+{
+    if (e->modifiers() & Qt::ControlModifier &&
+        e->angleDelta().y() != 0) {
+        QPointF p = mapToScene(e->position().toPoint());
+        if (e->angleDelta().y() > 0)
+            // setZoomFactorTarget (zoomFactorTarget*1.15);
+            setViewCenterTarget(p, zoomFactorTarget * 1.15, angleTarget);
+        else
+            // setZoomFactorTarget (zoomFactorTarget*0.85);
+            setViewCenterTarget(p, zoomFactorTarget * 0.85, angleTarget);
+    }
+    else {
+        scrollBarPosAnimation.stop();
+        QGraphicsView::wheelEvent(e);
+    }
+}
+
+void MapEditor::focusOutEvent(QFocusEvent *)
+{
+    // qDebug()<<"ME::focusOutEvent"<<e->reason();
+    if (state == EditingHeading)
+        editHeadingFinished();
+}
+
+void MapEditor::resizeEvent(QResizeEvent *e) { QGraphicsView::resizeEvent(e); }
+
+void MapEditor::dragEnterEvent(QDragEnterEvent *event)
+{
+    // for (unsigned int i=0;event->format(i);i++) // Debug mime type
+    // cerr << event->format(i) << endl;
+
+    if (event->mimeData()->hasImage())
+        event->acceptProposedAction();
+    else if (event->mimeData()->hasUrls())
+        event->acceptProposedAction();
+}
+
+void MapEditor::dragMoveEvent(QDragMoveEvent *) {}
+
+void MapEditor::dragLeaveEvent(QDragLeaveEvent *event) { event->accept(); }
+
+void MapEditor::dropEvent(QDropEvent *event)
+{
+    BranchItem *selbi = model->getSelectedBranch();
+    if (selbi) {
+        if (debug) {
+            foreach (QString format, event->mimeData()->formats())
+                qDebug() << "MapEditor: Dropped format: " << qPrintable(format);
+            foreach (QUrl url, event->mimeData()->urls()) {
+                qDebug() << "  URL-path:" << url.path();
+                qDebug() << "URL-string:" << url.toString();
+                qDebug() << "       enc:" << url.toEncoded();
+                qDebug() << "     valid:" << url.isValid();
+            }
+            qDebug() << "============== mimeData ===================";
+            qDebug() << "has-img : " << event->mimeData()->hasImage();
+            qDebug() << "has-urls: " << event->mimeData()->hasUrls();
+            qDebug() << "    text: " << event->mimeData()->text();
+            qDebug() << "===========================================";
+        }
+
+        if (event->mimeData()->hasUrls()) {
+            // Try text representation first, which works on windows, but in
+            // Linux only for https, not local images
+            QString url = event->mimeData()->text();
+            if (url.isEmpty()) {
+                QByteArray ba =
+                    event->mimeData()->urls().first().path().toLatin1();
+                QByteArray ba2;
+                for (int i = 0; i < ba.count(); i++)
+                    if (ba.at(i) != 0)
+                        ba2.append(ba.at(i));
+                url = ba2;
+            }
+
+            BranchItem *bi = NULL;
+            // Workaround to avoid adding empty branches
+            if (!url.isEmpty()) {
+                if (url.startsWith("file://"))
+                    url.remove(0, 7);
+
+#if defined(Q_OS_WIN32)
+                if (url.startsWith("/"))
+                    url.remove(0, 1);
+#endif
+                if (isImage(url)) {
+                    if (debug)
+                        qDebug() << "dropped url seems to be image: " << url;
+                    // Image, try to download or set image from local file
+                    if (url.startsWith("http"))
+                        model->downloadImage(url);
+                    else
+                        model->loadImage(bi, url);
+                    if (debug)
+                        qDebug() << "finished loading image";
+                }
+                else {
+                    bi = model->addNewBranch();
+                    if (bi) {
+                        model->select(bi);
+                        if (url.endsWith(".vym", Qt::CaseInsensitive))
+                            model->setVymLink(url);
+                        else {
+                            model->setURL(url);
+                            model->setHeadingPlainText(url);
+                        }
+
+                        model->select(bi->parent());
+                    }
+                }
+            }
+        }
+    }
+    event->acceptProposedAction();
+}
+
+void MapEditor::setState(EditorState s)
+{
+    if (state != Neutral && s != Neutral)
+        qWarning() << "MapEditor::setState  switching directly from " << state
+                   << " to " << s;
+    state = s;
+    /* if (debug)
+    {
+        QString s;
+        switch (state)
+        {
+        case Neutral:
+            s = "Neutral";
+            break;
+        case EditingHeading:
+            s = "EditingHeading";
+            break;
+        case EditingLink:
+            s = "EditingLink";
+            break;
+        case MovingObject:
+            s = "MovingObject";
+            break;
+        case MovingObjectWithoutLinking:
+            s = "MovingObjectWithoutLinking";
+            break;
+        case MovingView:
+            s = "MovingView";
+            break;
+        case PickingColor:
+            s = "PickingColor";
+            break;
+        case DrawingLink:
+            s = "DrawingLink";
+            break;
+        }
+        qDebug() << "MapEditor: State " << s << " of " << model->getMapName();
+    }
+    */
+}
+
+MapEditor::EditorState MapEditor::getState() { return state; }
+
+void MapEditor::updateSelection(QItemSelection nsel, QItemSelection dsel)
+{
+    Q_UNUSED(nsel);
+
+    QList<MapItem *> itemsSelected;
+    QList<MapItem *> itemsDeselected;
+
+    QItemSelection sel = model->getSelectionModel()->selection();
+
+    LinkableMapObj *lmo;
+
+    // Add new selected objects
+    if (sel.indexes().count() > 1)
+        mainWindow->statusMessage(
+            tr("%1 items selected").arg(sel.indexes().count()));
+
+    foreach (QModelIndex ix, sel.indexes()) {
+        MapItem *mi = static_cast<MapItem *>(ix.internalPointer());
+        if (mi->isBranchLikeType() || mi->getType() == TreeItem::Image ||
+            mi->getType() == TreeItem::XLink)
+            if (!itemsSelected.contains(mi))
+                itemsSelected.append(mi);
+        lmo = mi->getLMO();
+        if (lmo)
+            mi->getLMO()->updateVisibility();
+    }
+
+    // Delete objects meanwhile removed from selection
+    foreach (QModelIndex ix, dsel.indexes()) {
+        MapItem *mi = static_cast<MapItem *>(ix.internalPointer());
+        if (mi->isBranchLikeType() || mi->getType() == TreeItem::Image ||
+            mi->getType() == TreeItem::XLink)
+            if (!itemsDeselected.contains(mi))
+                itemsDeselected.append(mi);
+        lmo = mi->getLMO(); // FIXME-2 xlink does return nullptr
+        if (lmo)
+            mi->getLMO()->updateVisibility();
+    }
+
+    // Trim list of selection paths
+    while (itemsSelected.count() < selPathList.count())
+        delete selPathList.takeFirst();
+
+    // Reduce polygons
+    while (itemsSelected.count() < selPathList.count())
+        delete selPathList.takeFirst();
+
+    // Add additonal polygons
+    QGraphicsPathItem *sp;
+    while (itemsSelected.count() > selPathList.count()) {
+        sp = mapScene->addPath(QPainterPath());
+        sp->show();
+        selPathList.append(sp);
+    }
+
+    // Reposition polygons
+    for (int i = 0; i < itemsSelected.count(); ++i) {
+        MapObj *mo = itemsSelected.at(i)->getMO();
+        sp = selPathList.at(i);
+        sp->setPath(mo->getSelectionPath());
+        sp->setPen(selectionPen);
+        sp->setBrush(selectionBrush);
+        sp->setParentItem(mo);
+        sp->setZValue(dZ_SELBOX);
+
+        // Reposition also LineEdit for heading during animation
+        if (lineEdit)
+            lineEdit->move(mo->getAbsPos().toPoint());
+    }
+
+    scene()->update();
+}
+
+void MapEditor::updateData(const QModelIndex &sel)
+{
+    TreeItem *ti = static_cast<TreeItem *>(sel.internalPointer());
+
+    /* testing
+        qDebug() << "ME::updateData";
+        if (!ti)
+        {
+        qDebug() << "  ti=NULL";
+        return;
+        }
+        qDebug() << "  ti="<<ti;
+        qDebug() << "  h="<<ti->getHeadingPlain();
+    */
+
+    if (ti && ti->isBranchLikeType()) {
+        BranchObj *bo = (BranchObj *)(((MapItem *)ti)->getLMO());
+        bo->updateVisuals();
+    }
+
+    if (winter) {
+        QList<QRectF> obstacles;
+        BranchObj *bo;
+        BranchItem *cur = NULL;
+        BranchItem *prev = NULL;
+        model->nextBranch(cur, prev);
+        while (cur) {
+            if (!cur->hasHiddenExportParent()) {
+                // Branches
+                bo = (BranchObj *)(cur->getLMO());
+                if (bo && bo->isVisibleObj())
+                    obstacles.append(bo->getBBox());
+            }
+            model->nextBranch(cur, prev);
+        }
+        winter->setObstacles(obstacles);
+    }
+}
+
+void MapEditor::togglePresentationMode()
+{
+    mainWindow->togglePresentationMode();
+}
+
+void MapEditor::setSelectionPen(const QPen &p)
+{
+    selectionPen = p;
+    QItemSelection sel = model->getSelectionModel()->selection();
+    updateSelection(sel, sel);
+}
+
+QPen MapEditor::getSelectionPen() { return selectionPen; }
+
+void MapEditor::setSelectionBrush(const QBrush &b)
+{
+    selectionBrush = b;
+    QItemSelection sel = model->getSelectionModel()->selection();
+    updateSelection(sel, sel);
+}
+
+QBrush MapEditor::getSelectionBrush() { return selectionBrush; }
diff --git a/src/mapeditor.h b/src/mapeditor.h
new file mode 100644 (file)
index 0000000..e21a3b7
--- /dev/null
@@ -0,0 +1,242 @@
+#ifndef MAPEDITOR_H
+#define MAPEDITOR_H
+
+#include <QGraphicsView>
+#include <QItemSelectionModel>
+#include <QLineEdit>
+#include <QPropertyAnimation>
+
+#include "ornamentedobj.h"
+#include "settings.h"
+#include "vymmodel.h"
+#include "xlink.h"
+
+class XLinkItem;
+class Winter;
+
+/*! \brief Main widget in vym to display and edit a map */
+
+class MapEditor : public QGraphicsView {
+    Q_OBJECT
+
+  public:
+    enum EditorState {
+        Neutral,
+        EditingHeading,
+        DrawingXLink,
+        MovingObject,
+        MovingObjectWithoutLinking,
+        MovingView,
+        PickingColor,
+        DrawingLink
+    };
+
+    MapEditor(VymModel *vm);
+    ~MapEditor();
+    VymModel *getModel();
+    QGraphicsScene *getScene();
+    MapEditor::EditorState getState();
+
+    // Animation of scrollbars
+    Q_PROPERTY(QPointF scrollBarPos READ getScrollBarPos WRITE setScrollBarPos)
+
+  protected:
+    QPointF scrollBarPos;
+    QPointF scrollBarPosTarget;
+    QPropertyAnimation scrollBarPosAnimation;
+    QTimer *panningTimer;
+    QPointF vPan;      //! Direction of panning during moving of object
+    QPoint pointerPos; //! Pointer position in widget coordinates
+    Qt::KeyboardModifiers pointerMod; //! modifiers of move event
+
+  private slots:
+    void panView();
+
+  public:
+    void ensureAreaVisibleAnimated(const QRectF &area, bool maximizeArea = false);
+    void ensureSelectionVisibleAnimated(bool maximizeArea = false);
+    void scrollTo(const QModelIndex &index);
+    void setScrollBarPosTarget(QRectF rect); //!  ensureVisible of rect
+    QPointF getScrollBarPosTarget();
+    void setScrollBarPos(const QPointF &p);
+    QPointF getScrollBarPos();
+    void animateScrollBars();
+
+    // Animation of zoom
+    Q_PROPERTY(qreal zoomFactor READ getZoomFactor WRITE setZoomFactor)
+
+  protected:
+    qreal zoomFactor;
+    qreal zoomFactorTarget;
+    QPropertyAnimation zoomAnimation;
+
+  public:
+    void setZoomFactorTarget(const qreal &zf);
+    qreal getZoomFactorTarget();
+    void setZoomFactor(const qreal &zf);
+    qreal getZoomFactor();
+
+    // Animation of rotation
+    Q_PROPERTY(qreal angle READ getAngle WRITE setAngle)
+
+  protected:
+    qreal angle;
+    qreal angleTarget;
+    QPropertyAnimation rotationAnimation;
+
+  public:
+    void setAngleTarget(const qreal &a);
+    qreal getAngleTarget();
+    void setAngle(const qreal &a);
+    qreal getAngle();
+
+    // Animation of viewCenter
+    Q_PROPERTY(QPointF viewCenter READ getViewCenter WRITE setViewCenter)
+
+  protected:
+    QPointF viewCenter;
+    QPointF viewCenterTarget;
+
+  public:
+    void setViewCenterTarget(
+        const QPointF &p, const qreal &zft, const qreal &at,
+        const int duration = 2000,
+        const QEasingCurve &easingCurve = QEasingCurve::OutQuint);
+    void
+    setViewCenterTarget(); //! Convenience function, center on selected item
+    QPointF getViewCenterTarget();
+    void setViewCenter(const QPointF &p);
+    QPointF getViewCenter();
+    QPropertyAnimation viewCenterAnimation;
+
+    void updateMatrix(); //! Sets transformation matrix with current rotation
+                         //! and zoom values
+    void minimizeView();
+
+    // xmas egg
+  protected:
+    Winter *winter;
+
+  public:
+    void print();                     //!< Print the map
+    QRectF getTotalBBox();            //!< Bounding box of all items in map
+    QImage getImage(QPointF &offset); //!< Get a pixmap of the map
+    void setAntiAlias(bool);          //!< Set or unset antialiasing
+    void setSmoothPixmap(bool);       //!< Set or unset smoothing of pixmaps
+  public slots:
+    void autoLayout();    //!< Auto layout of map by using collision detection
+    void testFunction1(); //! just testing new stuff
+    void testFunction2(); //! just testing new stuff
+
+  public:
+    TreeItem *findMapItem(QPointF p,
+                          TreeItem *exclude); //! find item in map at position
+                                              //! p. Ignore item exclude
+    void toggleWinter();
+
+    BranchItem *getBranchDirectAbove(
+        BranchItem *bi); //! get branch direct above bi (in TreeView)
+    BranchItem *
+    getBranchAbove(BranchItem *bi); //! get branch above bi (in TreeView)
+    BranchItem *getBranchDirectBelow(
+        BranchItem *bi); //! bet branch direct below bi (in TreeView)
+    BranchItem *
+    getBranchBelow(BranchItem *bi); //! bet branch below bi (in TreeView)
+    BranchItem *
+    getLeftBranch(TreeItem *ti); //! bet branch left of bi (in TreeView)
+    BranchItem *
+    getRightBranch(TreeItem *ti); //! bet branch right of bi (in TreeView)
+
+  private:
+      enum ToggleDirection {toggleUndefined, toggleUp, toggleDown};
+      ToggleDirection lastToggleDirection;
+
+  public slots:
+    void cursorUp();
+    void cursorUpToggleSelection();
+    void cursorDown();
+    void cursorDownToggleSelection();
+    void cursorLeft();
+    void cursorRight();
+    void cursorFirst();
+    void cursorLast();
+    void editHeading();
+    void editHeadingFinished();
+
+  private:
+    QLineEdit *lineEdit;
+
+  private:
+    void contextMenuEvent(QContextMenuEvent *e);
+    void keyPressEvent(QKeyEvent *);
+    void keyReleaseEvent(QKeyEvent *);
+    void startMovingView(QMouseEvent *);
+    void mousePressEvent(QMouseEvent *);
+    void mouseMoveEvent(QMouseEvent *);
+    void moveObject();
+    void mouseReleaseEvent(QMouseEvent *);
+    void mouseDoubleClickEvent(QMouseEvent *);
+    void wheelEvent(QWheelEvent *);
+    void focusOutEvent(QFocusEvent *);
+    void resizeEvent(QResizeEvent *);
+
+    void dragEnterEvent(QDragEnterEvent *);
+    void dragMoveEvent(QDragMoveEvent *);
+    void dragLeaveEvent(QDragLeaveEvent *);
+    void dropEvent(QDropEvent *);
+
+  private:
+    QGraphicsScene *mapScene;
+    VymModel *model; //!< Vym Map, includding several mapCenters
+
+    bool adjustCanvasRequested; // collect requests until end of user event
+    BranchObj *editingBO;       // entering Text into BO
+
+    QCursor HandOpenCursor;  // cursor while moving canvas view
+    QCursor PickColorCursor; // cursor while picking color
+    QCursor CopyCursor;      // cursor while picking color
+    QCursor XLinkCursor;     // cursor while picking color
+    EditorState state;
+
+    void setState(EditorState);
+    bool objectMoved; // true if object was not clicked, but moved with mouse
+
+    // Temporary used for linkx
+    Link *tmpLink;
+
+    MapObj *movingObj;           // moving a MapObj
+    QPointF movingObj_orgPos;    // org. pos of mouse before move
+    QPointF movingObj_orgRelPos; // org. relative pos of mouse before move
+    QPointF movingObj_offset;    // offset of mousepointer to object
+    QPointF movingCont_start;    // inital pos of moving Content or
+    QPointF movingVec;           // how far has Content moved
+
+    QPointF contextMenuPos; // position where context event was triggered
+
+    bool printFrame;  // Print frame around map
+    bool printFooter; // Print footer below map
+
+    QPoint exportOffset; // set before export, used in save
+
+    //////////// Selection related
+  signals:
+    void selectionChanged(const QItemSelection &, const QItemSelection &);
+
+  private:
+    QList<QGraphicsPathItem *> selPathList;
+    QColor selectionColor;
+    QPen selectionPen;
+    QBrush selectionBrush;
+
+  public slots:
+    void updateSelection(QItemSelection, QItemSelection); // update selection
+    void updateData(const QModelIndex &);                 // update data
+    void togglePresentationMode();
+
+  public:
+    void setSelectionPen(const QPen &p);
+    QPen getSelectionPen();
+    void setSelectionBrush(const QBrush &p);
+    QBrush getSelectionBrush();
+};
+#endif
diff --git a/src/mapitem.cpp b/src/mapitem.cpp
new file mode 100644 (file)
index 0000000..66dc81e
--- /dev/null
@@ -0,0 +1,170 @@
+#include "mapitem.h"
+
+#include "linkablemapobj.h"
+#include "ornamentedobj.h"
+
+#include <QDebug>
+
+extern FlagRowMaster *systemFlagsMaster;
+
+MapItem::MapItem(TreeItem *parent)
+    : TreeItem(parent)
+{
+    // qDebug() << "Constr. MapItem(" << parent << ")";
+    init();
+}
+
+void MapItem::init()
+{
+    mo = NULL;
+    posMode = Unused;
+    hideLinkUnselected = false;
+}
+
+void MapItem::appendChild(TreeItem *item)
+{
+    TreeItem::appendChild(item);
+
+    // FIXME-4 maybe access parent in MapObjs directly via treeItem
+    // and remove this here...
+
+    // If lmo exists, also set parObj there
+    LinkableMapObj *lmo = getLMO();
+    if (lmo) {
+        LinkableMapObj *itemLMO = ((MapItem *)item)->getLMO();
+        if (itemLMO)
+            itemLMO->setParObj(lmo);
+    }
+}
+
+void MapItem::setRelPos(const QPointF &p)
+{
+    posMode = Relative;
+    pos = p;
+    LinkableMapObj *lmo = getLMO();
+    if (lmo) {
+        ((OrnamentedObj *)lmo)->setUseRelPos(true);
+        ((OrnamentedObj *)lmo)->move2RelPos(p);
+    }
+}
+
+void MapItem::setAbsPos(const QPointF &p)
+{
+    posMode = Absolute;
+    pos = p;
+    if (mo)
+        mo->move(p);
+}
+
+void MapItem::setPositionMode(PositionMode mode) { posMode = mode; }
+
+MapItem::PositionMode MapItem::getPositionMode() { return posMode; }
+
+void MapItem::setHideLinkUnselected(bool b)
+{
+    hideLinkUnselected = b;
+    LinkableMapObj *lmo = getLMO();
+    if (lmo) {
+        // lmo->setHideLinkUnselected();
+        lmo->setVisibility(lmo->isVisibleObj());
+        lmo->updateLinkGeometry();
+    }
+}
+
+bool MapItem::getHideLinkUnselected() { return hideLinkUnselected; }
+
+QString MapItem::getMapAttr()
+{
+    QString s;
+    LinkableMapObj *lmo = getLMO();
+
+    if (parentItem == rootItem)
+        posMode = Absolute;
+    else {
+        if (type == TreeItem::Image || depth() == 1 || lmo->getUseRelPos())
+            posMode = Relative; // FiXME-2 shouldn't this be replaced by relPos?
+        else
+            posMode = Unused;
+    }
+    switch (posMode) {
+    case Relative:
+        if (lmo)
+            pos = lmo->getRelPos();
+        s = attribut("relPosX", QString().setNum(pos.x())) +
+            attribut("relPosY", QString().setNum(pos.y()));
+        break;
+    case Absolute:
+        if (mo)
+            pos = mo->getAbsPos();
+        s = attribut("absPosX", QString().setNum(pos.x())) +
+            attribut("absPosY", QString().setNum(pos.y()));
+        break;
+    default:
+        break;
+    }
+    if (hideLinkUnselected)
+        s += attribut("hideLink", "true");
+
+    // Rotation angle
+    MapObj *mo = getMO();
+    if (mo)
+        angle = mo->getRotation();
+    if (angle != 0)
+        s += attribut("rotation", QString().setNum(angle));
+
+    return s;
+}
+
+QRectF MapItem::getBBoxURLFlag()
+{
+    QString s = "system-url";
+    QStringList list = systemFlags.activeFlagNames().filter(s);
+    if (list.count() > 1) {
+        qWarning() << "MapItem::getBBoxURLFlag found more than one system-url*";
+        return QRectF();
+    }
+
+    Flag *f = systemFlagsMaster->findFlagByName(s);
+    if (f) {
+        QUuid u = f->getUuid();
+        LinkableMapObj *lmo = getLMO();
+        if (lmo)
+            return ((OrnamentedObj *)lmo)->getBBoxSystemFlagByUid(u);
+    }
+    return QRectF();
+}
+
+void MapItem::setRotation(const qreal &a)
+{
+    angle = a;
+    MapObj *mo = getMO();
+    if (mo)
+        mo->setRotation(a);
+}
+
+MapObj *MapItem::getMO() { return mo; }
+
+LinkableMapObj *MapItem::getLMO()
+{
+    if (isBranchLikeType() || type == Image)
+        return (LinkableMapObj *)mo;
+    else
+        return NULL;
+}
+
+void MapItem::initLMO()
+{
+    LinkableMapObj *lmo = getLMO();
+    if (!lmo)
+        return;
+    switch (posMode) {
+    case Relative:
+        lmo->setRelPos(pos);
+        break;
+    case Absolute:
+        lmo->move(pos);
+        break;
+    default:
+        break;
+    }
+}
diff --git a/src/mapitem.h b/src/mapitem.h
new file mode 100644 (file)
index 0000000..be20fbc
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef MAPITEM_H
+#define MAPITEM_H
+
+#include <QPointF>
+
+#include "treeitem.h"
+
+class MapObj;
+class LinkableMapObj;
+
+/*! /brief MapItem is used to store information of MapObj and inherited
+   classes.
+
+    This is done even while no QGraphicsView is availabe. This is useful
+    if e.g. on a small device like a cellphone the full map is not used,
+    but just a treeview instead.
+*/
+
+class MapItem : public TreeItem {
+  public:
+    enum PositionMode { Unused, Absolute, Relative };
+
+  protected:
+    QPointF pos;
+    PositionMode posMode;
+
+  public:
+    MapItem(TreeItem *parent = 0);
+
+    void init();
+
+    /*! Overloaded from TreeItem. Used to set parObj in LinkableMapObj */
+    virtual void appendChild(TreeItem *item);
+
+    /*! Used to save relative position while map is not in QGraphicsView */
+    virtual void setRelPos(const QPointF &);
+
+    /*! Used to save absolute position while map is not in QGraphicsView */
+    virtual void setAbsPos(const QPointF &);
+
+    /*! Tell object to use e.g. absolute positioning for mapcenter.
+    Defaulst is MapItem::Unused */
+    void setPositionMode(PositionMode mode);
+    PositionMode getPositionMode();
+
+  protected:
+    bool hideLinkUnselected;
+
+  public:
+    /*! Hide link if item is not selected */
+    virtual void setHideLinkUnselected(bool);
+
+    /*! Check if link is hidden for unselected items */
+    virtual bool getHideLinkUnselected();
+
+    virtual QString getMapAttr(); //! Get attributes for saving as XML
+
+    virtual QRectF getBBoxURLFlag(); //! get bbox of url flag
+    virtual void setRotation(const qreal &a);
+
+  protected:
+    MapObj *mo;
+    qreal angle;
+
+  public:
+    /*! Returns pointer to related LinkableMapObj in QGraphicsView */
+    virtual MapObj *getMO();
+    virtual LinkableMapObj *getLMO();
+
+    /*! Initialize LinkableMapObj with data in MapItem */
+    virtual void initLMO();
+};
+
+#endif
diff --git a/src/mapobj.cpp b/src/mapobj.cpp
new file mode 100644 (file)
index 0000000..8ade8ed
--- /dev/null
@@ -0,0 +1,117 @@
+#include <QDebug>
+
+#include "geometry.h"
+#include "mapobj.h"
+#include "misc.h"
+
+/////////////////////////////////////////////////////////////////
+// MapObj
+/////////////////////////////////////////////////////////////////
+MapObj::MapObj(QGraphicsItem *parent, TreeItem *ti) : QGraphicsItem(parent)
+{
+    // qDebug() << "Const MapObj (this,ti)=("<<this<<","<<ti<<")";
+    treeItem = ti;
+    init();
+}
+
+MapObj::~MapObj()
+{
+    // qDebug() << "Destr MapObj "<<this;
+    foreach (QGraphicsItem *i, childItems())
+        // Avoid tha QGraphicsScene deletes children
+        i->setParentItem(NULL);
+}
+
+void MapObj::init()
+{
+    absPos = QPointF(0, 0);
+    visible = true;
+}
+
+void MapObj::copy(MapObj *other)
+{
+    absPos = other->absPos;
+    bbox.setX(other->bbox.x());
+    bbox.setY(other->bbox.y());
+    bbox.setSize(QSizeF(other->bbox.width(), other->bbox.height()));
+}
+
+void MapObj::setTreeItem(TreeItem *ti) { treeItem = ti; }
+
+TreeItem *MapObj::getTreeItem() const { return treeItem; }
+
+qreal MapObj::x() { return getAbsPos().x(); }
+
+qreal MapObj::y() { return getAbsPos().y(); }
+
+qreal MapObj::width() { return bbox.width(); }
+
+qreal MapObj::height() { return bbox.height(); }
+
+QPointF MapObj::getAbsPos() { return absPos; }
+
+QString MapObj::getPos() { return qpointFToString(absPos); }
+
+void MapObj::move(double x, double y) { MapObj::move(QPointF(x, y)); }
+
+void MapObj::move(QPointF p)
+{
+    absPos = p;
+    bbox.moveTo(p);
+    clickPoly = QPolygonF(bbox);
+}
+
+void MapObj::moveBy(double x, double y)
+{
+    QPointF v(x, y);
+    MapObj::move(absPos + v);
+    bbox.moveTo(bbox.topLeft() + v);
+    clickPoly.translate(v);
+}
+
+QRectF MapObj::boundingRect() const { return QRectF(); }
+
+void MapObj::paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *) {}
+
+QRectF MapObj::getBBox() { return bbox; }
+
+ConvexPolygon MapObj::getBoundingPolygon()
+{
+    QPolygonF p;
+    p << bbox.topLeft() << bbox.topRight() << bbox.bottomRight()
+      << bbox.bottomLeft();
+    return p;
+}
+
+QPolygonF MapObj::getClickPoly() { return clickPoly; }
+
+QPainterPath MapObj::getSelectionPath()
+{
+    qreal d = 3; // Thickness of selection "border"
+    QPainterPath p;
+    QRectF br = clickPoly.boundingRect();
+    p.moveTo(br.topLeft() + QPointF(-d, -d));
+    p.lineTo(br.topRight() + QPointF(d, -d));
+    p.lineTo(br.bottomRight() + QPointF(d, d));
+    p.lineTo(br.bottomLeft() + QPointF(-d, d));
+    p.lineTo(br.topLeft() + QPointF(-d, -d));
+    return p;
+}
+
+bool MapObj::isInClickBox(const QPointF &p)
+{
+    return clickPoly.containsPoint(p, Qt::OddEvenFill);
+}
+
+QSizeF MapObj::getSize() { return bbox.size(); }
+
+void MapObj::setRotation(const qreal &a) { angle = a; }
+
+qreal MapObj::getRotation() { return angle; }
+
+bool MapObj::isVisibleObj() { return visible; }
+
+void MapObj::setVisibility(bool v) { visible = v; }
+
+void MapObj::positionBBox() {}
+void MapObj::calcBBoxSize() {}
diff --git a/src/mapobj.h b/src/mapobj.h
new file mode 100644 (file)
index 0000000..66dee77
--- /dev/null
@@ -0,0 +1,77 @@
+#ifndef MAPOBJ_H
+#define MAPOBJ_H
+
+#include <QGraphicsItem>
+
+#include "xmlobj.h"
+
+#define dZ_BBOX 0 // testing
+#define dZ_SELBOX 5
+#define dZ_FRAME_LOW 10
+#define dZ_LINK 20
+#define dZ_XLINK 40
+#define dZ_FLOATIMG 70
+#define dZ_ICON 80
+#define dZ_TEXT 90
+#define dZ_DEPTH 100
+#define Z_SNOW 2000
+#define Z_INIT 9999
+#define Z_LINEEDIT 10000
+
+class ConvexPolygon;
+
+#include "treeitem.h"
+
+/*! \brief Base class for all objects visible on a map
+ */
+
+class MapObj : public XMLObj, public QGraphicsItem {
+  public:
+    MapObj(QGraphicsItem *parent = NULL, TreeItem *ti = NULL);
+    virtual ~MapObj();
+    virtual void init();
+    virtual void copy(MapObj *);
+
+    virtual void setTreeItem(TreeItem *);
+    virtual TreeItem *getTreeItem() const;
+
+    virtual qreal x();
+    virtual qreal y();
+    virtual qreal width();
+    virtual qreal height();
+    virtual QPointF getAbsPos();
+    virtual QString getPos();              //! Return position as string (x,y)
+    virtual void move(double x, double y); //! move to absolute Position
+    virtual void move(QPointF p);
+    virtual void moveBy(double x, double y); //! move to relative Position
+
+    virtual QRectF boundingRect() const;
+    virtual void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
+
+    virtual QRectF getBBox(); //! returns bounding box
+    virtual ConvexPolygon
+    getBoundingPolygon();                    //! return bounding convex polygon
+    virtual QPolygonF getClickPoly();        //! returns polygon to click
+    virtual QPainterPath getSelectionPath(); //! returns path for selection
+    virtual bool isInClickBox(const QPointF &p); //! Checks if p is in clickBox
+    virtual QSizeF getSize(); //! returns size of bounding box
+
+    virtual void setRotation(const qreal &a);
+    virtual qreal getRotation();
+    virtual bool isVisibleObj();
+    virtual void setVisibility(bool);
+    virtual void positionBBox();
+    virtual void calcBBoxSize();
+
+  protected:
+    QRectF bbox;         // bounding box of MO itself
+    QPolygonF clickPoly; // area where mouseclicks are found
+    QPointF absPos;      // Position on canvas
+    bool visible;
+
+    qreal angle; //! Rotation angle
+
+    TreeItem *treeItem; //! Crossrefence to treemodel
+};
+
+#endif
diff --git a/src/misc.cpp b/src/misc.cpp
new file mode 100644 (file)
index 0000000..c75b24b
--- /dev/null
@@ -0,0 +1,321 @@
+#include "misc.h"
+
+#include "geometry.h"
+
+#include <math.h>
+#include <stdlib.h>
+
+#include <QDebug>
+#include <QDialog>
+#include <QString>
+
+extern QString vymVersion;
+
+QString richTextToPlain(QString r, const QString &indent, const int &width)
+{
+    Q_UNUSED(width);
+
+    // Avoid failing assert with mingw
+    if (r.isEmpty())
+        return r;
+
+    QRegExp rx;
+    rx.setMinimal(true);
+
+    // Remove all <style...> ...</style>
+    rx.setPattern("<style.*>.*</style>");
+    r.replace(rx, "");
+
+    // convert all "<br*>" to "\n"
+    rx.setPattern("<br.*>");
+    r.replace(rx, "\n");
+
+    // convert all "</p>" to "\n"
+    rx.setPattern("</p>");
+    r.replace(rx, "\n");
+
+    // remove all remaining tags
+    rx.setPattern("<.*>");
+    r.replace(rx, "");
+
+    // If string starts with \n now, remove it.
+    // It would be wrong in an OOo export for example
+    while (r.length() > 0 && r.at(0) == '\n')
+        r.remove(0, 1);
+
+    // convert "&", "<" and ">"
+    rx.setPattern("&gt;");
+    r.replace(rx, ">");
+    rx.setPattern("&lt;");
+    r.replace(rx, "<");
+    rx.setPattern("&amp;");
+    r.replace(rx, "&");
+    rx.setPattern("&quot;");
+    r.replace(rx, "\"");
+
+    // Indent everything
+    rx.setPattern("^\n");
+    r.replace(rx, indent);
+    r = indent + r; // Don't forget first line
+
+    return r;
+}
+
+QString qpointToString(const QPoint &p)
+{
+    return "(" + QString("%1").arg(p.x()) + "," + QString("%1").arg(p.y()) +
+           ")";
+}
+
+QString qpointFToString(const QPointF &p)
+{
+    return "(" + QString("%1").arg(p.x()) + "," + QString("%1").arg(p.y()) +
+           ")";
+}
+
+QString qrectFToString(const QRectF &r, int d)
+{
+    return QString("(%1, %2  %3x%4)")
+        .arg(QString::number(r.x(),'f', d))
+        .arg(QString::number(r.y(),'f', d))
+        .arg(QString::number(r.width(),'f', d))
+        .arg(QString::number(r.height(),'f', d));
+}
+
+QString VectorToString(const Vector &p)
+{
+    return "(" + QString("%1").arg(p.x()) + "," + QString("%1").arg(p.y()) +
+           ")";
+}
+
+ostream &operator<<(ostream &stream, QPoint const &p)
+{
+    stream << "(" << p.x() << "," << p.y() << ")";
+    return stream;
+}
+
+ostream &operator<<(ostream &stream, QPointF const &p)
+{
+    stream << "(" << p.x() << "," << p.y() << ")";
+    return stream;
+}
+
+ostream &operator<<(ostream &stream, QRectF const &r)
+{
+    stream << "tL=" << r.topLeft() << " - (w,h)=" << r.width() << ","
+           << r.height() << "  bR=" << r.bottomRight();
+    return stream;
+}
+
+ostream &operator<<(ostream &stream, Vector const &p)
+{
+    stream << "(" << p.x() << "," << p.y() << ")";
+    return stream;
+}
+
+qreal getAngle(const QPointF &p)
+{
+    // Calculate angle of vector to x-axis
+    if (p.x() == 0) {
+        if (p.y() >= 0)
+            return M_PI_2;
+        else
+            return 3 * M_PI_2;
+    }
+    else {
+        if (p.x() > 0) {
+            if (p.y() < 0)
+                return (qreal)(-atan((qreal)(p.y()) / (qreal)(p.x())));
+            else
+                return (qreal)(2 * M_PI -
+                               atan((qreal)(p.y()) / (qreal)(p.x())));
+        }
+        else
+            return (qreal)(M_PI - atan((qreal)(p.y()) / (qreal)(p.x())));
+    }
+    /*
+    // Calculate angle of vector to y-axis
+    if (p.y()==0)
+    {
+    if (p.x()>=0)
+        return M_PI_2;
+    else
+        return 3* M_PI_2;
+    } else
+    {
+    if (p.y()>0)
+        return (qreal)(M_PI  - atan ( (qreal)(p.x()) / (qreal)(p.y()) ) );
+    else
+        if (p.x()<0)
+        return (qreal)( 2*M_PI - atan ( (qreal)(p.x()) / (qreal)(p.y()) ) );
+        else
+        return (qreal)( - atan ( (qreal)(p.x()) / (qreal)(p.y()) ) );
+    }
+    */
+}
+
+qreal min(qreal a, qreal b)
+{
+    if (a < b)
+        return a;
+    return b;
+}
+
+qreal max(qreal a, qreal b)
+{
+    if (a > b)
+        return a;
+    return b;
+}
+
+qreal roof(qreal x)
+{
+    if (x <= 0.5)
+        return x;
+    else
+        return 1 - x;
+}
+
+int round_int(qreal x) { return (x > 0.0) ? (x + 0.5) : (x - 0.5); }
+
+Qt::PenStyle penStyle(const QString &s, bool &ok)
+{
+    ok = true;
+    Qt::PenStyle p(Qt::NoPen);
+    if (s == "Qt::NoPen")
+        p = Qt::SolidLine;
+    if (s == "Qt::SolidLine")
+        p = Qt::SolidLine;
+    else if (s == "Qt::DashLine")
+        p = Qt::DashLine;
+    else if (s == "Qt::DotLine")
+        p = Qt::DotLine;
+    else if (s == "Qt::DashDotLine")
+        p = Qt::DashDotLine;
+    else if (s == "Qt::DashDotDotLine")
+        p = Qt::DashDotDotLine;
+    else {
+        qWarning() << "misc.cpp penStyle - Unknown style s=" << s;
+        ok = false;
+    }
+    return p;
+}
+
+QString penStyleToString(Qt::PenStyle p)
+{
+    switch (p) {
+    case Qt::NoPen:
+        return "Qt::NoPen";
+    case Qt::SolidLine:
+        return "Qt::SolidLine";
+    case Qt::DashLine:
+        return "Qt::DashLine";
+    case Qt::DotLine:
+        return "Qt::DotLine";
+    case Qt::DashDotLine:
+        return "Qt::DashDotLine";
+    case Qt::DashDotDotLine:
+        return "Qt::DashDotDotLine";
+    default:
+        return "";
+    }
+}
+
+QPointF point(const QString &s, bool &ok)
+{
+    ok = true;
+    bool okx, oky;
+    qreal x = s.section(',', 0, 0).toFloat(&okx);
+    qreal y = s.section(',', 1, 1).toFloat(&oky);
+    if (okx && oky)
+        return QPointF(x, y);
+    else
+        qWarning() << "misc.cpp Couldn't create QPointF from " << s
+                   << "  ok=" << okx << "," << oky;
+    ok = false;
+    return QPointF();
+}
+
+QString pointToString(const QPointF &p)
+{
+    return QString("%1,%2").arg(p.x()).arg(p.y());
+}
+
+void centerDialog(QDialog *dia)
+{
+    dia->move(QCursor::pos() -
+              0.5 * QPoint(dia->rect().width(), dia->rect().height()));
+}
+
+// #include "version.h"
+
+// #include <QDebug>
+// #include <QRegExp>
+
+bool versionLowerThanVym(const QString &v)
+{
+    // returns true, if Version v <  VYM_VERSION
+    if (v == vymVersion)
+        return false;
+    else
+        return versionLowerOrEqualThanVym(v);
+}
+
+bool versionLowerOrEqualThanVym(const QString &v)
+{
+    // returns true, if Version v <=  VYM_VERSION
+    return versionLowerOrEqual(v, vymVersion);
+}
+
+bool versionLowerOrEqual(const QString &v, const QString &vstatic)
+{
+    // returns true, if version v <= vstatic
+    bool ok = false;
+    int v1 = 0;
+    int v2 = 0;
+    int v3 = 0;
+    int vs1 = 0;
+    int vs2 = 0;
+    int vs3 = 0;
+
+    QRegExp rx("(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})");
+    int pos = rx.indexIn(v);
+    if (pos > -1) {
+        v1 = rx.cap(1).toInt(&ok);
+        if (ok)
+            v2 = rx.cap(2).toInt(&ok);
+        if (ok)
+            v3 = rx.cap(3).toInt(&ok);
+    }
+
+    pos = rx.indexIn(vstatic);
+    if (ok && pos > -1) {
+        vs1 = rx.cap(1).toInt(&ok);
+        if (ok)
+            vs2 = rx.cap(2).toInt(&ok);
+        if (ok)
+            vs3 = rx.cap(3).toInt(&ok);
+    }
+
+    if (!ok) {
+        qWarning() << QString(
+                          "Warning: Checking version failed: v=%1  vstatic=%2")
+                          .arg(v)
+                          .arg(vstatic);
+        return false;
+    }
+
+    if (vs1 > v1)
+        return true;
+    if (vs1 < v1)
+        return false;
+    if (vs2 > v2)
+        return true;
+    if (vs2 < v2)
+        return false;
+    if (vs3 > v3)
+        return true;
+    if (vs3 < v3)
+        return false;
+    return true;
+}
diff --git a/src/misc.h b/src/misc.h
new file mode 100644 (file)
index 0000000..dda38c8
--- /dev/null
@@ -0,0 +1,43 @@
+#ifndef MISC_H
+#define MISC_H
+
+#include <Qt>
+#include <iostream>
+using namespace std;
+
+class QString;
+class QPoint;
+class QPointF;
+class QRectF;
+class Vector;
+class QDialog;
+
+/////////////////////////////////////////////////////////////////////////////
+QString richTextToPlain(QString r);
+QString qpointToString(const QPoint &p);
+QString qpointFToString(const QPointF &p);
+QString qrectFToString(const QRectF &r, int d = 1);
+QString VectorToString(const Vector &p);
+
+extern ostream &operator<<(ostream &stream, QPoint const &p);
+extern ostream &operator<<(ostream &stream, QPointF const &p);
+extern ostream &operator<<(ostream &stream, QRectF const &r);
+extern ostream &operator<<(ostream &stream, Vector const &p);
+
+qreal getAngle(const QPointF &);
+qreal min(qreal, qreal);
+qreal max(qreal, qreal);
+qreal roof(qreal x);
+int round_int(qreal x);
+
+Qt::PenStyle penStyle(const QString &, bool &ok);
+QString penStyleToString(Qt::PenStyle);
+QPointF point(const QString &s, bool &ok);
+QString pointToString(const QPointF &p);
+
+void centerDialog(QDialog *dia);
+
+bool versionLowerThanVym(const QString &);
+bool versionLowerOrEqualThanVym(const QString &);
+bool versionLowerOrEqual(const QString &, const QString &);
+#endif
diff --git a/src/mkdtemp.cpp b/src/mkdtemp.cpp
new file mode 100644 (file)
index 0000000..c74c925
--- /dev/null
@@ -0,0 +1,59 @@
+
+#include <QDir>
+#include <stdint.h>
+#ifndef _WIN32
+#include <sys/time.h>
+
+extern "C" {
+pid_t getpid(void);
+}
+#else
+#include <windows.h>
+#define getpid GetCurrentProcessId
+#include <direct.h>
+#include <time.h>
+#endif
+
+QString mkdtemp(QString tmpl)
+{
+    static const char letters[] =
+        "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+
+    static uint64_t value;
+
+    const unsigned int ATTEMPTS_MIN = (62 * 62 * 62);
+
+    if (tmpl.length() < 6 || !tmpl.endsWith("XXXXXX")) {
+        return QString();
+    }
+
+    uint64_t random_time_bits = time(NULL);
+
+    value += (random_time_bits ^ getpid());
+
+    unsigned int count;
+    for (count = 0; count < ATTEMPTS_MIN; value += 7777, ++count) {
+        uint64_t v = value;
+        QString XXXXXX;
+        XXXXXX.append(letters[v % 62]);
+        v /= 62;
+        XXXXXX.append(letters[v % 62]);
+        v /= 62;
+        XXXXXX.append(letters[v % 62]);
+        v /= 62;
+        XXXXXX.append(letters[v % 62]);
+        v /= 62;
+        XXXXXX.append(letters[v % 62]);
+        v /= 62;
+        XXXXXX.append(letters[v % 62]);
+
+        tmpl.replace(tmpl.length() - 6, 6, XXXXXX);
+        QDir dir;
+        if (dir.exists(tmpl))
+            continue;
+        if (dir.mkpath(tmpl)) {
+            return tmpl;
+        }
+    }
+    return QString();
+}
diff --git a/src/mkdtemp.h b/src/mkdtemp.h
new file mode 100644 (file)
index 0000000..ea4ecc5
--- /dev/null
@@ -0,0 +1,6 @@
+#ifndef MKDTEMP_H
+#define MKDTEMP_H
+
+extern QString mkdtemp(QString _template);
+
+#endif
diff --git a/src/mysortfilterproxymodel.cpp b/src/mysortfilterproxymodel.cpp
new file mode 100644 (file)
index 0000000..923c84d
--- /dev/null
@@ -0,0 +1,38 @@
+//#include <QtGui>
+
+#include "mysortfilterproxymodel.h"
+
+MySortFilterProxyModel::MySortFilterProxyModel(QObject *parent)
+    : QSortFilterProxyModel(parent)
+{
+}
+//! [0]
+
+/*
+//! [1]
+void MySortFilterProxyModel::setFilterMinimumDate(const QDate &date)
+{
+    minDate = date;
+    invalidateFilter();
+}
+//! [1]
+
+//! [2]
+void MySortFilterProxyModel::setFilterMaximumDate(const QDate &date)
+{
+    maxDate = date;
+    invalidateFilter();
+}
+*/
+
+bool MySortFilterProxyModel::filterAcceptsRow(
+    int sourceRow, // FIXME-3 find a way to show _all_ rows which match,
+                   // independent of parent
+    const QModelIndex &sourceParent) const
+{
+    QModelIndex index0 = sourceModel()->index(sourceRow, 0, sourceParent);
+    QModelIndex index1 = sourceModel()->index(sourceRow, 1, sourceParent);
+
+    return (sourceModel()->data(index0).toString().contains(filterRegExp()) ||
+            sourceModel()->data(index1).toString().contains(filterRegExp()));
+}
diff --git a/src/mysortfilterproxymodel.h b/src/mysortfilterproxymodel.h
new file mode 100644 (file)
index 0000000..546bce8
--- /dev/null
@@ -0,0 +1,34 @@
+#ifndef MYSORTFILTERPROXYMODEL_H
+#define MYSORTFILTERPROXYMODEL_H
+
+//#include <QDate>
+#include <QSortFilterProxyModel>
+
+//! [0]
+class MySortFilterProxyModel : public QSortFilterProxyModel {
+    Q_OBJECT
+
+  public:
+    MySortFilterProxyModel(QObject *parent = 0);
+    /*
+
+        QDate filterMinimumDate() const { return minDate; }
+        void setFilterMinimumDate(const QDate &date);
+
+        QDate filterMaximumDate() const { return maxDate; }
+        void setFilterMaximumDate(const QDate &date);
+    protected:
+    */
+    bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
+    /*
+    bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
+
+private:
+    bool dateInRange(const QDate &date) const;
+
+    QDate minDate;
+    QDate maxDate;
+*/
+};
+
+#endif
diff --git a/src/noteeditor.cpp b/src/noteeditor.cpp
new file mode 100644 (file)
index 0000000..56927d5
--- /dev/null
@@ -0,0 +1,47 @@
+#include "noteeditor.h"
+
+#include <QMenuBar>
+
+#include "settings.h"
+#include "vymnote.h"
+
+extern Settings settings;
+extern QString vymName;
+
+NoteEditor::NoteEditor(QString scope) : TextEditor()
+{
+    editorName = tr("Note Editor", "Name of editor shown as window title");
+    setWindowTitle("");
+
+    menuBar()->show();
+
+    setUseColorMapBackground(false);
+
+    // Load Settings
+    init(scope);
+}
+
+NoteEditor::~NoteEditor() {}
+
+VymNote NoteEditor::getNote()
+{
+    VymNote note;
+    if (actionFormatRichText->isChecked())
+        note.setRichText(getText());
+    else
+        note.setPlainText(getText());
+    note.setFontHint(getFontHint());
+    note.setFilenameHint(getFilenameHint());
+    return note;
+}
+
+void NoteEditor::setNote(const VymNote &note)
+{
+    if (note.isRichText())
+        setRichText(note.getText());
+    else {
+        setPlainText(note.getText());
+        setFontHint(note.getFontHint());
+    }
+    setFilenameHint(note.getFilenameHint());
+}
diff --git a/src/noteeditor.h b/src/noteeditor.h
new file mode 100644 (file)
index 0000000..6316674
--- /dev/null
@@ -0,0 +1,18 @@
+#ifndef NOTEEDITOR_H
+#define NOTEEDITOR_H
+
+#include "texteditor.h"
+
+class VymNote;
+
+class NoteEditor : public TextEditor {
+    Q_OBJECT
+  public:
+    NoteEditor(QString scope);
+    ~NoteEditor();
+
+    VymNote getNote();
+    void setNote(const VymNote &note);
+};
+
+#endif
diff --git a/src/options.cpp b/src/options.cpp
new file mode 100644 (file)
index 0000000..719c08e
--- /dev/null
@@ -0,0 +1,123 @@
+#include "options.h"
+
+#include <QApplication>
+#include <iostream>
+
+using namespace std;
+
+Option::Option()
+{
+    name = "";
+    sName = "";
+    lName = "";
+    type = Switch;
+    sarg = "";
+    active = false;
+}
+
+Option::Option(const QString &n, const Type &t, const QString &s,
+               const QString &l)
+{
+    sName = "-" + s;
+    lName = "--" + l;
+    type = t;
+    name = n;
+}
+
+void Option::set(const QString &n, const Type &t, const QString &s,
+                 const QString &l)
+{
+    sName = "-" + s;
+    lName = "--" + l;
+    type = t;
+    name = n;
+}
+
+QString Option::getName() { return name; }
+QString Option::getShort() { return sName; }
+QString Option::getLong() { return lName; }
+Option::Type Option::getType() { return type; }
+void Option::setArg(const QString &s) { sarg = s; }
+QString Option::getArg() { return sarg; }
+void Option::setActive() { active = true; }
+bool Option::isActive() { return active; }
+
+///////////////////////////////////////////////////////////////
+Options::Options() {}
+
+int Options::parse()
+{
+    QStringList arglist = qApp->arguments();
+
+    // Get program name
+    progname = arglist.first();
+    arglist.pop_front();
+
+    // Work through rest of options
+    bool isFile;
+    int i = 0;
+    for (i = 0; i < arglist.size(); ++i) {
+        isFile = true;
+        if (arglist[i].left(1) == "-") {
+            // Compare given option to all defined options
+            for (int j = 0; j < optlist.size(); ++j) {
+                if (arglist.at(i) == optlist.value(j).getShort() ||
+                    arglist.at(i) == optlist.value(j).getLong()) {
+                    optlist[j].setActive();
+                    isFile = false;
+                    if (optlist[j].getType() == Option::String) {
+                        i++;
+                        if (i == arglist.size()) {
+                            qWarning("Error: argument to option missing");
+                            return 1;
+                        }
+                        optlist[j].setArg(arglist[i]);
+                        isFile = false;
+                    }
+                    break;
+                }
+            }
+            if (isFile) {
+                qWarning("Error: Unknown argument ");
+                return 1;
+            }
+        }
+        else
+            filelist.append(arglist[i]);
+    }
+    return 0;
+}
+
+void Options::add(Option o) { optlist.append(o); }
+
+void Options::add(const QString &n, const Option::Type &t = Option::Switch,
+                  const QString &s = "", const QString &l = "")
+{
+    Option o;
+    o.set(n, t, s, l);
+    optlist.append(o);
+}
+
+void Options::setHelpText(const QString &s) { helptext = s; }
+
+QString Options::getHelpText() { return helptext; }
+
+QString Options::getProgramName() { return progname; }
+
+QStringList Options::getFileList() { return filelist; }
+
+bool Options::isOn(const QString &s)
+{
+    for (int i = 0; i < optlist.size(); ++i)
+        if (optlist[i].getName() == s && optlist[i].isActive())
+            return true;
+    return false;
+}
+
+QString Options::getArg(const QString &s)
+{
+    for (int i = 0; i < optlist.size(); ++i)
+        if (optlist[i].getName() == s)
+            return optlist[i].getArg();
+    return QString();
+}
diff --git a/src/options.h b/src/options.h
new file mode 100644 (file)
index 0000000..bc4f4cb
--- /dev/null
@@ -0,0 +1,59 @@
+#ifndef OPTIONS_H
+#define OPTIONS_H
+
+#include <QStringList>
+
+/*! \brief A single option which is listed in Options */
+class Option {
+  public:
+    /*! Types of options */
+    enum Type {
+        Switch, //!< No paramater
+        String  //!< Parameter is a string
+    };
+
+    Option();
+    Option(const QString &, const Type &, const QString &, const QString &);
+    void set(const QString &, const Type &, const QString &, const QString &);
+    QString getName();
+    QString getShort();
+    QString getLong();
+    Type getType();
+    void setArg(const QString &);
+    QString getArg();
+    void setActive();
+    bool isActive();
+
+  private:
+    QString name;
+    Type type;
+    QString sName;
+    QString lName;
+    QString sarg;
+    bool active;
+};
+
+/*! \brief Simple class to deal with command line options */
+
+class Options {
+  public:
+    Options();
+    int parse();
+    void add(Option);
+    void add(const QString &, const Option::Type &, const QString &,
+             const QString &);
+    void setHelpText(const QString &);
+    QString getHelpText();
+    QString getProgramName();
+    QStringList getFileList();
+    bool isOn(const QString &);
+    QString getArg(const QString &);
+
+  private:
+    QString progname;
+    QString helptext;
+    QStringList filelist;
+    QList<Option> optlist;
+};
+
+#endif
diff --git a/src/ornamentedobj.cpp b/src/ornamentedobj.cpp
new file mode 100644 (file)
index 0000000..acdb50c
--- /dev/null
@@ -0,0 +1,243 @@
+#include <QDebug>
+
+#include "branchitem.h"
+#include "linkablemapobj.h"
+#include "ornamentedobj.h"
+#include "vymmodel.h"
+
+extern bool debug;
+
+/////////////////////////////////////////////////////////////////
+// OrnamentedObj
+/////////////////////////////////////////////////////////////////
+
+OrnamentedObj::OrnamentedObj(QGraphicsItem *parent, TreeItem *ti)
+    : LinkableMapObj(parent, ti)
+{
+    // qDebug()<< "Const OrnamentedObj (s,ti) ti="<<ti;
+    treeItem = ti;
+    init();
+}
+
+OrnamentedObj::~OrnamentedObj()
+{
+    delete heading;
+    delete systemFlagRowObj;
+    delete standardFlagRowObj;
+    delete frame;
+}
+
+void OrnamentedObj::init()
+{
+    heading = new HeadingObj(this);
+    heading->setTreeItem(treeItem);
+    heading->move(absPos.x(), absPos.y());
+
+    systemFlagRowObj = new FlagRowObj(this);
+    standardFlagRowObj = new FlagRowObj(this);
+
+    frame = new FrameObj(this);
+    frame->setTreeItem(treeItem);
+
+    angle = 0;
+}
+
+void OrnamentedObj::copy(OrnamentedObj *other)
+{
+    LinkableMapObj::copy(other);
+    heading->copy(other->heading);
+    setColor(other->heading->getColor());
+
+    systemFlagRowObj->copy(other->systemFlagRowObj);
+    standardFlagRowObj->copy(other->standardFlagRowObj);
+
+    ornamentsBBox = other->ornamentsBBox;
+}
+
+void OrnamentedObj::setColor(QColor col)
+{
+    heading->setColor(col);
+    setLinkColor();
+}
+
+QColor OrnamentedObj::getColor() { return heading->getColor(); }
+
+QRectF OrnamentedObj::getBBoxHeading() { return heading->getBBox(); }
+
+void OrnamentedObj::setRotation(const qreal &a)
+{
+    MapObj::setRotation(a);
+    heading->setRotation(a); // FIXME-4 duplicated code...
+}
+
+FrameObj *OrnamentedObj::getFrame() { return frame; }
+
+FrameObj::FrameType OrnamentedObj::getFrameType()
+{
+    return frame->getFrameType();
+}
+
+QString OrnamentedObj::getFrameTypeName() { return frame->getFrameTypeName(); }
+
+void OrnamentedObj::setFrameType(const FrameObj::FrameType &t)
+{
+    frame->setFrameType(t);
+    if (t == FrameObj::NoFrame) {
+        linkpos = LinkableMapObj::Bottom;
+        useBottomline = true;
+    }
+    else {
+        linkpos = LinkableMapObj::Middle;
+        useBottomline = false;
+    }
+    updateVisibility(); // Update bottomline
+    calcBBoxSize();
+    positionBBox();
+    requestReposition();
+}
+
+void OrnamentedObj::setFrameType(const QString &s)
+{
+    setFrameType(frame->getFrameType(s));
+}
+
+void OrnamentedObj::setFramePadding(const int &i)
+{
+    frame->setPadding(i);
+    calcBBoxSize();
+    positionBBox();
+    requestReposition();
+}
+
+int OrnamentedObj::getFramePadding() { return frame->getPadding(); }
+
+void OrnamentedObj::setFrameBorderWidth(const int &i)
+{
+    frame->setBorderWidth(i);
+    calcBBoxSize();
+    positionBBox();
+    requestReposition();
+}
+
+int OrnamentedObj::getFrameBorderWidth() { return frame->getBorderWidth(); }
+
+void OrnamentedObj::setFramePenColor(QColor col) { frame->setPenColor(col); }
+
+QColor OrnamentedObj::getFramePenColor() { return frame->getPenColor(); }
+
+void OrnamentedObj::setFrameBrushColor(QColor col)
+{
+    frame->setBrushColor(col);
+}
+
+QColor OrnamentedObj::getFrameBrushColor() { return frame->getBrushColor(); }
+
+void OrnamentedObj::setFrameIncludeChildren(bool b)
+{
+    calcBBoxSizeWithChildren();
+    frame->setFrameIncludeChildren(b);
+    requestReposition();
+}
+
+bool OrnamentedObj::getFrameIncludeChildren()
+{
+    return frame->getFrameIncludeChildren();
+}
+
+QRectF OrnamentedObj::getOrnamentsBBox() { return ornamentsBBox; }
+
+void OrnamentedObj::positionContents()
+{
+    double x = absPos.x();
+    double y = absPos.y();
+    double dp = frame->getTotalPadding();
+    double dp2 = dp / 2;
+    double ox = leftPad + dp;
+    double oy = topPad + dp;
+
+    // vertical align heading to bottom
+    heading->setZValue(dZ_TEXT);
+    heading->setTransformOriginPoint(
+        QPointF(ox + systemFlagRowObj->getBBox().width(),
+                oy + ornamentsBBox.height() - heading->getHeight()));
+    heading->move(ox + x + systemFlagRowObj->getBBox().width(),
+                  oy + y + ornamentsBBox.height() - heading->getHeight());
+    // Flags
+    systemFlagRowObj->move(ox + x, oy + y);
+    systemFlagRowObj->setZValue(dZ_ICON);
+    standardFlagRowObj->move(ox + x + heading->getWidth() +
+                                 systemFlagRowObj->getBBox().width(),
+                             oy + y);
+    standardFlagRowObj->setZValue(dZ_ICON);
+
+    ornamentsBBox.moveTopLeft(QPointF(ox + x, oy + y));
+    clickPoly = QPolygonF(ornamentsBBox);
+
+    // Update bboxTotal coordinate (size set already)
+    if (orientation == LinkableMapObj::LeftOfCenter)
+        bboxTotal.setRect(bbox.x() + (bbox.width() - bboxTotal.width()),
+                          bbox.y() + bbox.height() / 2 - bboxTotal.height() / 2,
+                          bboxTotal.width(), bboxTotal.height());
+    else
+        bboxTotal.setRect(bbox.x(),
+                          bbox.y() + bbox.height() / 2 - bboxTotal.height() / 2,
+                          bboxTotal.width(), bboxTotal.height());
+
+    // Update frame
+    dp = frame->getXPadding();
+    dp2 = dp / 2;
+    frame->setZValue(dZ_FRAME_LOW);
+    if (treeItem && treeItem->isBranchLikeType() &&
+        ((BranchItem *)treeItem)->getFrameIncludeChildren())
+        frame->setRect(QRectF(bboxTotal.x() + dp2, bboxTotal.y() + dp2,
+                              bboxTotal.width() - dp, bboxTotal.height() - dp));
+    else
+        frame->setRect(QRectF(bbox.x() + dp, bbox.y() + dp,
+                              bbox.width() - 2 * dp, bbox.height() - 2 * dp));
+}
+
+void OrnamentedObj::move(double x, double y)
+{
+    MapObj::move(x, y);
+    positionBBox();
+}
+
+void OrnamentedObj::move(QPointF p) { move(p.x(), p.y()); }
+
+void OrnamentedObj::moveBy(double x, double y)
+{
+    MapObj::moveBy(x, y);
+    frame->moveBy(x, y);
+    systemFlagRowObj->moveBy(x, y);
+    standardFlagRowObj->moveBy(x, y);
+    heading->moveBy(x, y);
+    updateLinkGeometry();
+    requestReposition();
+}
+
+void OrnamentedObj::moveBy(QPointF p) { moveBy(p.x(), p.y()); }
+
+void OrnamentedObj::move2RelPos(double x, double y)
+{
+    setRelPos(QPointF(x, y));
+    if (parObj) {
+        QPointF p = parObj->getChildRefPos();
+        move(p.x() + x, p.y() + y);
+    }
+}
+
+void OrnamentedObj::move2RelPos(QPointF p) { move2RelPos(p.x(), p.y()); }
+
+QUuid OrnamentedObj::findSystemFlagUidByPos(const QPointF &p)
+{
+    return systemFlagRowObj->findFlagUidByPos(p);
+}
+
+QRectF OrnamentedObj::getBBoxSystemFlagByUid(const QUuid &u)
+{
+    FlagObj *fo = systemFlagRowObj->findFlagObjByUid(u);
+    if (fo)
+        return fo->getBBox();
+
+    return QRectF();
+}
diff --git a/src/ornamentedobj.h b/src/ornamentedobj.h
new file mode 100644 (file)
index 0000000..786c118
--- /dev/null
@@ -0,0 +1,70 @@
+#ifndef ORNAMENTEDOBJ_H
+#define ORNAMENTEDOBJ_H
+
+#include "frameobj.h"
+#include "linkablemapobj.h"
+
+class TreeItem;
+
+/*! \brief Adds various ornaments and data to the class LinkableMapObj
+
+The ornaments are:
+    - frame
+    - note
+    - references
+    - flags
+    - standard flags
+    - system flags
+ */
+//    - attributes (key/value pairs)
+
+class OrnamentedObj : public LinkableMapObj {
+  public:
+    OrnamentedObj(QGraphicsItem *parent, TreeItem *ti = NULL);
+    virtual ~OrnamentedObj();
+    virtual void init();
+    virtual void copy(OrnamentedObj *);
+
+    //virtual void
+    virtual void setColor(QColor); // set the color of text and link
+    QColor getColor();             // get color of heading
+    QRectF getBBoxHeading();
+
+    virtual void setRotation(const qreal &a);
+    virtual FrameObj *getFrame();
+    virtual FrameObj::FrameType getFrameType();
+    virtual QString getFrameTypeName();
+    virtual void setFrameType(const FrameObj::FrameType &);
+    virtual void setFrameType(const QString &);
+    virtual void setFramePadding(const int &);
+    virtual int getFramePadding();
+    virtual void setFrameBorderWidth(const int &);
+    virtual int getFrameBorderWidth();
+    virtual void setFramePenColor(QColor);
+    virtual QColor getFramePenColor();
+    virtual void setFrameBrushColor(QColor);
+    virtual QColor getFrameBrushColor();
+    virtual void setFrameIncludeChildren(bool);
+    virtual bool getFrameIncludeChildren();
+    virtual QRectF getOrnamentsBBox();
+
+    virtual void positionContents();
+    virtual void move(double, double);
+    virtual void move(QPointF);
+    virtual void moveBy(double, double);
+    virtual void moveBy(QPointF);
+    virtual void move2RelPos(QPointF); // move relativly to parent^
+    virtual void move2RelPos(double, double);
+
+    virtual QUuid findSystemFlagUidByPos(const QPointF &p);
+    virtual QRectF getBBoxSystemFlagByUid(const QUuid &u);
+
+  protected:
+    HeadingObj *heading;            // Heading
+    FlagRowObj *systemFlagRowObj;   // System Flags
+    FlagRowObj *standardFlagRowObj; // Standard Flags
+    FrameObj *frame;                // frame around object
+    QRectF ornamentsBBox;           // bbox of flags and heading
+};
+
+#endif
diff --git a/src/scripteditor.cpp b/src/scripteditor.cpp
new file mode 100644 (file)
index 0000000..a9b631d
--- /dev/null
@@ -0,0 +1,235 @@
+#include "scripteditor.h"
+
+#include <QFileDialog>
+#include <QMessageBox>
+#include <QTextStream>
+
+#include "command.h"
+#include "file.h"
+#include "macros.h"
+
+#include "mainwindow.h"
+#include "options.h"
+#include "settings.h"
+#include "slideitem.h"
+#include "slidemodel.h"
+#include "vymmodel.h"
+
+extern QString vymName;
+extern QList<Command *> modelCommands;
+extern QList<Command *> vymCommands;
+extern QDir lastMapDir;
+extern Macros macros;
+extern Main *mainWindow;
+extern Options options;
+extern Settings settings;
+
+ScriptEditor::ScriptEditor(QWidget *parent) : QWidget(parent)
+{
+    ui.setupUi(this);
+
+    codeEditor = new CodeEditor(this);
+    ui.fileVerticalLayout->insertWidget(0, codeEditor);
+
+    macroEditor = new CodeEditor(this);
+    ui.macroVerticalLayout->insertWidget(0, macroEditor);
+
+    slideEditor = new CodeEditor(this);
+    ui.slideVerticalLayout->insertWidget(0, slideEditor);
+
+    connect(ui.slideSaveButton, SIGNAL(clicked()), this, SLOT(saveSlide()));
+    connect(ui.slideRunButton, SIGNAL(clicked()), this, SLOT(runSlide()));
+    connect(ui.macroRunButton, SIGNAL(clicked()), this, SLOT(runMacro()));
+    connect(ui.fileRunButton, SIGNAL(clicked()), this, SLOT(runScript()));
+    connect(ui.macroLoadButton, SIGNAL(clicked()), this, SLOT(reloadMacros()));
+    connect(ui.macroSaveButton, SIGNAL(clicked()), this, SLOT(saveMacros()));
+    connect(ui.fileLoadButton, SIGNAL(clicked()), this, SLOT(loadScript()));
+    connect(ui.fileSaveButton, SIGNAL(clicked()), this, SLOT(saveScript()));
+    connect(ui.fileSaveAsButton, SIGNAL(clicked()), this, SLOT(saveScriptAs()));
+
+    vymModelID = -1;
+
+    // Initialize Editor
+    QFont font;
+    font.setFamily("Courier");
+    font.setFixedPitch(true);
+    font.setPointSize(12);
+    slideEditor->setFont(font);
+    macroEditor->setFont(font);
+    codeEditor->setFont(font);
+
+    // Define tab width
+    const int tabStop = 4; // 4 characters
+    QFontMetrics metrics(font);
+    int w = tabStop * metrics.width(' ');
+    codeEditor->setTabStopWidth(w);
+    slideEditor->setTabStopWidth(w);
+    macroEditor->setTabStopWidth(w);
+
+    ui.modeTabWidget->setTabText(0, tr("Slide", "Mode in scriptEditor"));
+    ui.modeTabWidget->setTabText(1, tr("Macro", "Mode in scriptEditor"));
+    ui.modeTabWidget->setTabText(2, tr("Script", "Mode in scriptEditor"));
+
+    ui.scriptPathLineEdit->setText(
+        tr("No script selected", "scriptname in scriptEditor"));
+
+    reloadMacros();
+
+    highlighterMacro = new Highlighter(macroEditor->document());
+    highlighterSlide = new Highlighter(slideEditor->document());
+    highlighterFile = new Highlighter(codeEditor->document());
+    QStringList list;
+    foreach (Command *c, modelCommands)
+        list.append(c->getName());
+    foreach (Command *c, vymCommands)
+        list.append(c->getName());
+    highlighterMacro->addKeywords(list);
+    highlighterSlide->addKeywords(list);
+    highlighterFile->addKeywords(list);
+
+    // QAction *a = new QAction( tr( "Save","ScriptEditor" ), ui.editor);
+    // a->setShortcut (Qt::CTRL + Qt::Key_S );
+    // a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
+    // addAction (a);
+    // connect( a, SIGNAL( triggered() ), this, SLOT( saveSlide() ) );
+}
+
+QString ScriptEditor::getScriptFile() { return codeEditor->toPlainText(); }
+
+void ScriptEditor::saveSlide()
+{
+    VymModel *vm = mainWindow->getModel(vymModelID);
+    if (!vm) {
+        QMessageBox::warning(
+            0, tr("Warning"),
+            tr("Couldn't get model to save script into slide!"));
+        return;
+    }
+    SlideItem *si = vm->getSlideModel()->findSlideID(slideID);
+    if (!si) {
+        QMessageBox::warning(
+            0, tr("Warning"),
+            tr("Couldn't find slide to save script into slide!"));
+        return;
+    }
+    si->setInScript(slideEditor->toPlainText());
+}
+
+void ScriptEditor::setSlideScript(uint model_id, uint slide_id,
+                                  const QString &s)
+{
+    vymModelID = model_id;
+    slideID = slide_id;
+    mode = Slide;
+    slideEditor->setPlainText(s);
+}
+
+void ScriptEditor::runMacro() { emit runScript(macroEditor->toPlainText()); }
+
+void ScriptEditor::runSlide() { emit runScript(slideEditor->toPlainText()); }
+
+void ScriptEditor::runScript() { emit runScript(codeEditor->toPlainText()); }
+
+void ScriptEditor::reloadMacros()
+{
+    QString m = macros.get();
+    if (!m.isEmpty()) {
+        macroEditor->setPlainText(m);
+        ui.macroPathLineEdit->setText(macros.getPath());
+    }
+}
+
+void ScriptEditor::saveMacros()
+{
+    if (saveStringToDisk(macros.getPath(), macroEditor->toPlainText()))
+        mainWindow->statusMessage(
+            tr("Macros saved to %1").arg(macros.getPath()));
+    else {
+        QString error(QObject::tr("Error"));
+        QString msg(QObject::tr("Couldn't write macros to \"%1\"\n.")
+                        .arg(macros.getPath()));
+        QMessageBox::warning(0, error, msg);
+    }
+}
+
+bool ScriptEditor::loadScript(QString fn)
+{
+    if (fn.isEmpty()) {
+        QString filter("VYM scripts (*.vys);;All (*)");
+        fn = QFileDialog::getOpenFileName(this,
+                                          vymName + " - " + tr("Load script"),
+                                          lastMapDir.path(), filter);
+    }
+
+    if (!fn.isEmpty()) {
+        filename = fn;
+        QString s;
+        if (loadStringFromDisk(filename, s)) {
+            codeEditor->setPlainText(s);
+            ui.scriptPathLineEdit->setText(filename);
+            lastMapDir.setPath(filename.left(filename.lastIndexOf("/")));
+            return true;
+        }
+        else {
+            QString error(QObject::tr("Error"));
+            QString msg(
+                QObject::tr("Couldn't read script from \"%1\"\n.").arg(fn));
+            QMessageBox::warning(0, error, msg);
+        }
+    }
+    return false;
+}
+
+void ScriptEditor::saveScript()
+{
+    if (filename.isEmpty())
+        saveScriptAs();
+    else {
+        if (saveStringToDisk(filename, codeEditor->toPlainText()))
+            mainWindow->statusMessage(tr("Script saved to %1").arg(filename));
+        else {
+            QString error(QObject::tr("Error"));
+            QString msg(QObject::tr("Couldn't write script to \"%1\"\n.")
+                            .arg(filename));
+            QMessageBox::warning(0, error, msg);
+        }
+    }
+}
+
+void ScriptEditor::saveScriptAs()
+{
+    QString filter("VYM scripts (*.vys *.js);;All (*)");
+    QString fn = QFileDialog::getSaveFileName(
+        this, QString(vymName + " - " + tr("Save script")), QString(),
+        "VYM script (*js *.vys);;All files (*)", 0,
+        QFileDialog::DontConfirmOverwrite);
+
+    if (!fn.isEmpty()) {
+        QFile file(fn);
+        if (file.exists()) {
+            QMessageBox mb(
+                vymName,
+                tr("The file %1\nexists already.\nDo you want to overwrite it?",
+                   "dialog 'save as'")
+                    .arg(fn),
+                QMessageBox::Warning, QMessageBox::Yes | QMessageBox::Default,
+                QMessageBox::Cancel | QMessageBox::Escape, Qt::NoButton);
+            mb.setButtonText(QMessageBox::Yes, tr("Overwrite"));
+            mb.setButtonText(QMessageBox::No, tr("Cancel"));
+            switch (mb.exec()) {
+            case QMessageBox::Yes:
+                // save
+                filename = fn;
+                ui.scriptPathLineEdit->setText(filename);
+                lastMapDir.setPath(filename.left(filename.lastIndexOf("/")));
+                saveScript();
+                return;
+            case QMessageBox::Cancel:
+                // do nothing
+                return;
+            }
+        }
+        filename = fn;
+        saveScript();
+    }
+}
diff --git a/src/scripteditor.h b/src/scripteditor.h
new file mode 100644 (file)
index 0000000..07c6acc
--- /dev/null
@@ -0,0 +1,51 @@
+#ifndef SCRIPTEDITOR_H
+#define SCRIPTEDITOR_H
+
+#include "codeeditor.h"
+#include "highlighter.h"
+#include "ui_scripteditor.h"
+
+class VymModel;
+
+class ScriptEditor : public QWidget {
+    Q_OBJECT
+
+  public:
+    enum Mode { Slide, File };
+
+  private:
+    Mode mode;
+    uint vymModelID;
+    uint slideID;
+
+  public:
+    ScriptEditor(QWidget *parent = 0);
+    QString getScriptFile();
+    void setSlideScript(uint vymModelID, uint slideID, const QString &);
+
+  public slots:
+    void runMacro();
+    void runSlide();
+    void runScript();
+    void saveSlide();
+    void reloadMacros();
+    void saveMacros();
+    bool loadScript(QString fn = "");
+    void saveScript();
+    void saveScriptAs();
+
+  signals:
+    void runScript(QString);
+
+  private:
+    Ui::ScriptEditor ui;
+    CodeEditor *slideEditor;
+    CodeEditor *macroEditor;
+    CodeEditor *codeEditor;
+    QString filename;
+    Highlighter *highlighterMacro;
+    Highlighter *highlighterSlide;
+    Highlighter *highlighterFile;
+};
+
+#endif
diff --git a/src/scripting.cpp b/src/scripting.cpp
new file mode 100644 (file)
index 0000000..788d8df
--- /dev/null
@@ -0,0 +1,157 @@
+#include "scripting.h"
+
+#include "branchitem.h"
+#include "confluence-agent.h"
+#include "imageitem.h"
+#include "mainwindow.h"
+#include "misc.h"
+#include "vymmodelwrapper.h"
+#include "vymtext.h"
+#include "xlink.h"
+
+extern Main *mainWindow;
+extern QString vymVersion;
+
+///////////////////////////////////////////////////////////////////////////
+void logError(QScriptContext *context, QScriptContext::Error error,
+              const QString &text)
+{
+    if (context)
+        context->throwError(error, text);
+    else
+        qDebug() << "VymWrapper: " << text;
+}
+
+///////////////////////////////////////////////////////////////////////////
+VymScriptContext::VymScriptContext() {}
+
+QString VymScriptContext::setResult(const QString &r)
+{
+    context()->engine()->globalObject().setProperty("lastResult", r);
+    return r;
+}
+
+bool VymScriptContext::setResult(bool r)
+{
+    context()->engine()->globalObject().setProperty("lastResult", r);
+    return r;
+}
+
+int VymScriptContext::setResult(int r)
+{
+    context()->engine()->globalObject().setProperty("lastResult", r);
+    return r;
+}
+
+uint VymScriptContext::setResult(uint r)
+{
+    context()->engine()->globalObject().setProperty("lastResult", r);
+    return r;
+}
+
+///////////////////////////////////////////////////////////////////////////
+VymWrapper::VymWrapper() {}
+
+void VymWrapper::clearConsole() { mainWindow->clearScriptOutput(); }
+
+bool VymWrapper::isConfluenceAgentAvailable()
+{
+    return ConfluenceAgent::available();
+}
+
+QObject *VymWrapper::currentMap()
+{
+    return mainWindow->getCurrentModelWrapper();
+}
+
+void VymWrapper::editHeading()
+{
+    MapEditor *me = mainWindow->currentMapEditor();
+    if (me) me->editHeading();
+}
+
+bool VymWrapper::loadMap(const QString &filename)
+{
+    bool r;
+    if (File::Success == mainWindow->fileLoad(filename, NewMap, VymMap))
+        r = true;
+    else
+        r = false;
+    return setResult(r);
+}
+
+int VymWrapper::mapCount()
+{
+    context()->engine()->globalObject().setProperty("lastResult",
+                                                    mainWindow->modelCount());
+    return setResult(mainWindow->modelCount());
+}
+
+void VymWrapper::gotoMap(uint n)
+{
+    if (!mainWindow->gotoWindow(n)) {
+        logError(context(), QScriptContext::RangeError,
+                 QString("Map '%1' not available.").arg(n));
+    }
+}
+
+bool VymWrapper::closeMapWithID(uint n)
+{
+    bool r = mainWindow->closeModelWithID(n);
+    if (!r)
+        logError(context(), QScriptContext::RangeError,
+                 QString("Map '%1' not available.").arg(n));
+    return setResult(r);
+}
+
+void VymWrapper::selectQuickColor(int n)
+{
+    mainWindow->selectQuickColor(n);
+}
+
+QString VymWrapper::currentColor()
+{
+    return mainWindow->getCurrentColor().name();
+}
+
+uint VymWrapper::currentMapID()
+{
+    uint id = mainWindow->currentMapID();
+    return setResult(id);
+}
+
+void VymWrapper::toggleTreeEditor() { mainWindow->windowToggleTreeEditor(); }
+
+QString VymWrapper::loadFile(
+    const QString
+        &filename) // FIXME-3 error handling missing (in vymmodel and here)
+{
+    QString s;
+    loadStringFromDisk(filename, s);
+    return s;
+}
+
+void VymWrapper::saveFile(
+    const QString &filename,
+    const QString &s) // FIXME-3 error handling missing (in vymmodel and here)
+{
+    saveStringToDisk(filename, s);
+}
+
+QString VymWrapper::version() { return setResult(vymVersion); }
+
+// See also http://doc.qt.io/qt-5/qscriptengine.html#newFunction
+Selection::Selection() { modelWrapper = NULL; }
+
+void Selection::test()
+{
+    qDebug() << "Selection::testSelection called"; // TODO debug
+    if (modelWrapper)
+        modelWrapper->setHeadingPlainText("huhu!");
+}
+
+void Selection::setModel(VymModelWrapper *mw)
+{
+    qDebug() << "Selection::setModel called: " << mw; // TODO debug
+    modelWrapper = mw;
+}
diff --git a/src/scripting.h b/src/scripting.h
new file mode 100644 (file)
index 0000000..c724512
--- /dev/null
@@ -0,0 +1,65 @@
+#ifndef SCRIPTING_H
+#define SCRIPTING_H
+
+#include <QColor>
+#include <QObject>
+#include <QScriptContext>
+#include <QScriptValue>
+#include <QScriptable>
+#include <QVariant>
+
+class BranchItem;
+class VymModelWrapper;
+
+void logError(QScriptContext *context, QScriptContext::Error error,
+              const QString &text);
+
+///////////////////////////////////////////////////////////////////////////
+class VymScriptContext : public QObject, protected QScriptable {
+    Q_OBJECT
+  public:
+    VymScriptContext();
+    QString setResult(const QString &r);
+    bool setResult(bool r);
+    int setResult(int r);
+    uint setResult(uint r);
+};
+
+///////////////////////////////////////////////////////////////////////////
+class VymWrapper : public VymScriptContext {
+    Q_OBJECT
+  public:
+    VymWrapper();
+
+  public slots:
+    void clearConsole();
+    bool isConfluenceAgentAvailable();
+    QObject *currentMap();
+    void editHeading();
+    bool loadMap(const QString &filename);
+    int mapCount();
+    void gotoMap(uint n);
+    bool closeMapWithID(uint n);
+    void selectQuickColor(int n);
+    QString currentColor();
+    uint currentMapID();
+    void toggleTreeEditor();
+    QString loadFile(const QString &filename);
+    void saveFile(const QString &filename, const QString &s);
+    QString version();
+};
+
+class Selection : public VymScriptContext {
+    Q_OBJECT
+  public:
+    Selection();
+
+  public slots:
+    void test();
+    void setModel(VymModelWrapper *mw);
+
+  private:
+    VymModelWrapper *modelWrapper;
+};
+
+#endif
diff --git a/src/scriptoutput.cpp b/src/scriptoutput.cpp
new file mode 100644 (file)
index 0000000..cf9dcea
--- /dev/null
@@ -0,0 +1,23 @@
+#include "scriptoutput.h"
+
+ScriptOutput::ScriptOutput(QWidget *parent) : QWidget(parent)
+{
+    editor = new QTextEdit(this);
+    layout = new QVBoxLayout;
+    layout->addWidget(editor);
+    setLayout(layout);
+}
+
+ScriptOutput::~ScriptOutput()
+{
+    delete layout;
+    delete editor;
+}
+
+void ScriptOutput::clear() { editor->clear(); }
+
+void ScriptOutput::setText(const QString &text) { editor->setText(text); }
+
+QString ScriptOutput::text() { return editor->toPlainText(); }
+
+void ScriptOutput::append(const QString &text) { editor->append(text); }
diff --git a/src/scriptoutput.h b/src/scriptoutput.h
new file mode 100644 (file)
index 0000000..e6dfeab
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef SCRIPTOUTPUT_H
+#define SCRIPTOUTPUT_H
+
+#include <QTextEdit>
+#include <QVBoxLayout>
+
+class ScriptOutput : public QWidget {
+    Q_OBJECT
+  public:
+    ScriptOutput(QWidget *parent);
+    ~ScriptOutput();
+    void clear();
+    void setText(const QString &text);
+    QString text();
+    void append(const QString &text);
+
+  private:
+    QTextEdit *editor;
+    QVBoxLayout *layout;
+};
+
+#endif // SCRIPTOUTPUT_H
diff --git a/src/settings.cpp b/src/settings.cpp
new file mode 100644 (file)
index 0000000..4e4f3b1
--- /dev/null
@@ -0,0 +1,223 @@
+#include <iostream>
+
+#include <QDebug>
+
+#include "file.h"
+#include "settings.h"
+#include <qregexp.h>
+
+/////////////////////////////////////////////////////////////////
+// SimpleSettings
+/////////////////////////////////////////////////////////////////
+SimpleSettings::SimpleSettings() { clear(); }
+
+SimpleSettings::~SimpleSettings() {}
+
+void SimpleSettings::clear()
+{
+    keylist.clear();
+    valuelist.clear();
+}
+
+bool SimpleSettings::readSettings(const QString &path)
+{
+    QString s;
+    if (!loadStringFromDisk(path, s)) {
+        qWarning() << "SimpleSettings::readSettings() Couldn't read " + path;
+        return false;
+    }
+    QStringList lines;
+    lines = s.split(QRegExp("\n"));
+    int i;
+    QStringList::Iterator it = lines.begin();
+    while (it != lines.end()) {
+        i = (*it).indexOf("=", 0);
+        keylist.append((*it).left(i));
+        valuelist.append((*it).right((*it).length() - i - 1));
+        it++;
+    }
+    return true;
+}
+
+void SimpleSettings::writeSettings(const QString &path)
+{
+    QString s;
+    QStringList::Iterator itk = keylist.begin();
+    QStringList::Iterator itv = valuelist.begin();
+
+    // First search for value in settings saved in map
+    while (itk != keylist.end()) {
+        s += *itk + "=" + *itv + "\n";
+        itk++;
+        itv++;
+    }
+    if (!saveStringToDisk(path, s))
+        qWarning() << "SimpleSettings::writeSettings() Couldn't write " + path;
+}
+
+/*
+QString SimpleSettings::readValue (const QString &key)
+{
+    QStringList::Iterator itk=keylist.begin();
+    QStringList::Iterator itv=valuelist.begin();
+
+    // First search for value in settings saved in map
+    while (itk !=keylist.end() )
+    {
+    if (*itk == key)
+        return *itv;
+    itk++;
+    itv++;
+    }
+    qWarning ("SimpleSettings::readValue()  Couldn't find key "+key);
+    return "";
+}
+*/
+
+QString SimpleSettings::value(const QString &key, const QString &def)
+{
+    QStringList::Iterator itk = keylist.begin();
+    QStringList::Iterator itv = valuelist.begin();
+
+    // First search for value in settings saved in map
+    while (itk != keylist.end()) {
+        if (*itk == key)
+            return *itv;
+        itk++;
+        itv++;
+    }
+    return def;
+}
+
+int SimpleSettings::numValue(const QString &key, const int &def)
+{
+    QStringList::Iterator itk = keylist.begin();
+    QStringList::Iterator itv = valuelist.begin();
+
+    // First search for value in settings saved in map
+    while (itk != keylist.end()) {
+        if (*itk == key) {
+            bool ok;
+            int i = (*itv).toInt(&ok, 10);
+            if (ok)
+                return i;
+            else
+                return def;
+        }
+        itk++;
+        itv++;
+    }
+    return def;
+}
+
+void SimpleSettings::setValue(const QString &key, const QString &value)
+{
+    QStringList::Iterator itk = keylist.begin();
+    QStringList::Iterator itv = valuelist.begin();
+
+    if (!key.isEmpty()) {
+        // Search for existing Value first
+        while (itk != keylist.end()) {
+            if (*itk == key) {
+                if (!value.isEmpty())
+                    *itv = value;
+                else
+                    *itv = "";
+                *itv = value;
+                return;
+            }
+            itk++;
+            itv++;
+        }
+
+        // If no Value exists, append a new one
+        keylist.append(key);
+        valuelist.append(value);
+    }
+}
+
+/////////////////////////////////////////////////////////////////
+// Settings
+/////////////////////////////////////////////////////////////////
+Settings::Settings() { clear(); }
+
+Settings::Settings(const QString &organization, const QString &application)
+    : QSettings(organization, application)
+{
+    clear();
+}
+
+Settings::~Settings() {}
+
+void Settings::clear()
+{
+    pathlist.clear();
+    keylist.clear();
+    valuelist.clear();
+}
+
+void Settings::clearLocal(const QString &fpath, const QString &key)
+{
+    int i = 0;
+    while (i < pathlist.count()) {
+        if (fpath == pathlist.at(i) && keylist.at(i).startsWith(key)) {
+            pathlist.removeAt(i);
+            keylist.removeAt(i);
+            valuelist.removeAt(i);
+        }
+        else
+            i++;
+    }
+}
+
+QVariant Settings::localValue(const QString &fpath, const QString &key,
+                              QVariant def)
+{
+    // First search for value in settings saved in map
+    int i = 0;
+    while (i < pathlist.count()) {
+        if (pathlist.at(i) == fpath && keylist.at(i) == key)
+            return valuelist.at(i);
+        i++;
+    }
+
+    // Fall back to global vym settings
+    return value(key, def);
+}
+
+void Settings::setLocalValue(const QString &fpath, const QString &key,
+                             QVariant value)
+{
+    if (!fpath.isEmpty() && !key.isEmpty() && !value.isNull()) {
+        // Search for existing Value first
+        int i = 0;
+        while (i < pathlist.count()) {
+            if (pathlist.at(i) == fpath && keylist.at(i) == key) {
+                valuelist[i] = value;
+                return;
+            }
+            i++;
+        }
+
+        // If no Value exists, append a new one
+        pathlist.append(fpath);
+        keylist.append(key);
+        valuelist.append(value);
+    }
+}
+
+QString Settings::getDataXML(const QString &fpath)
+{
+    QString s;
+    int i = 0;
+    while (i < pathlist.count()) {
+        if (pathlist.at(i) == fpath)
+            if (!valuelist.at(i).isNull())
+                s += indent() +
+                     valueElement("setting",
+                                  getCDATA(valuelist.at(i).toString()),
+                                  attribut("key", keylist.at(i)));
+        i++;
+    }
+    return s;
+}
diff --git a/src/settings.h b/src/settings.h
new file mode 100644 (file)
index 0000000..0fa436f
--- /dev/null
@@ -0,0 +1,50 @@
+#ifndef SETTINGS_H
+#define SETTINGS_H
+
+#include <qsettings.h>
+#include <qstring.h>
+#include <qstringlist.h>
+
+#include "xmlobj.h"
+
+// Some helper functions and simplified settings class
+// to read and parse settings e.g.  in undo/redo directories
+
+class SimpleSettings {
+  public:
+    SimpleSettings();
+    ~SimpleSettings();
+    void clear();
+    bool readSettings(const QString &);
+    void writeSettings(const QString &);
+    QString value(const QString &key, const QString &def = QString());
+    int numValue(const QString &, const int &def = 0);
+    void setValue(const QString &, const QString &);
+
+  private:
+    QStringList keylist;
+    QStringList valuelist;
+};
+
+// Overloaded QSettings class, used to save some settings in
+// a map instead of users home directory
+class Settings : public QSettings, public XMLObj {
+  public:
+    Settings();
+    Settings(const QString &, const QString &);
+    ~Settings();
+    void clear();
+    void
+    clearLocal(const QString &filepath,
+               const QString &key); //! Clear keys starting with key in filepath
+    QVariant localValue(const QString &, const QString &, QVariant);
+    void setLocalValue(const QString &, const QString &, QVariant);
+    QString getDataXML(const QString &);
+
+  protected:
+    QStringList pathlist;
+    QStringList keylist;
+    QList<QVariant> valuelist;
+};
+
+#endif
diff --git a/src/shortcuts.cpp b/src/shortcuts.cpp
new file mode 100644 (file)
index 0000000..7858fba
--- /dev/null
@@ -0,0 +1,106 @@
+#include <QDebug>
+#include <QMultiMap>
+
+#include <iostream>
+using namespace std;
+
+#include "shortcuts.h"
+
+/////////////////////////////////////////////////////////////////
+// KeySwitch
+/////////////////////////////////////////////////////////////////
+KeySwitch::KeySwitch(const QString &kIdentifier, const QString &kName,
+                     const QString &kGroup, const QString &kTag,
+                     const QKeySequence &kseq)
+{
+    identifier = kIdentifier;
+    name = kName;
+    group = kGroup;
+    tag = kTag;
+    keySequence = kseq;
+}
+
+/////////////////////////////////////////////////////////////////
+// Switchboard
+/////////////////////////////////////////////////////////////////
+Switchboard::Switchboard() {}
+
+void Switchboard::addGroup(QString gIdentifier, QString gName)
+{
+    if (groups.contains(gIdentifier)) {
+        qDebug() << "Warning switchboard: Shortcut group " << gIdentifier
+                 << " already exists";
+        return;
+    }
+    groups.insert(gIdentifier, gName);
+}
+
+void Switchboard::addSwitch(QString identifier, QString scope, QAction *action,
+                            QString tag)
+{
+    if (!switches.contains(identifier)) {
+        KeySwitch ksw(identifier, action->text(), scope, tag,
+                      action->shortcut());
+        switches.insert(scope, ksw);
+    }
+    else
+        qDebug()
+            << "Warning switchboard::addSwitch warning: Existing idenifier "
+            << identifier;
+}
+
+QString Switchboard::getASCII()
+{
+    QString s;
+    QString g;
+    foreach (g, switches.uniqueKeys()) {
+        s += "Scope " + g + ":\n";
+        QList<KeySwitch> values = switches.values(g);
+        for (int i = 0; i < values.size(); ++i) {
+            QString desc = values.at(i).name;
+            QString sc = values.at(i).keySequence.toString();
+            desc = desc.remove('&');
+            desc = desc.remove("...");
+            s += QString(" %1: %2\n").arg(sc, 12).arg(desc);
+        }
+        s += "\n";
+    }
+
+    /*
+    foreach (g, actions.uniqueKeys())
+    {
+        s += g +"\n";
+        QList <QAction*> values=actions.values(g);
+        for (int i=0;i<values.size();++i)
+        {
+            QString desc=values.at(i)->text();
+            QString   sc=values.at(i)->shortcut().toString();
+            desc=desc.remove('&');
+            desc=desc.remove("...");
+            s+= QString(" %1: %2\n").arg(sc,12).arg(desc);
+        }
+    }
+    */
+    return s;
+}
+
+void Switchboard::printASCII() { cout << qPrintable(getASCII()); }
+
+void Switchboard::printLaTeX()
+{
+    QString g;
+    foreach (g, actions.uniqueKeys()) {
+        cout << "Group: " << qPrintable(g) << "\\\\ \\hline" << endl;
+        QList<QAction *> values = actions.values(g);
+        for (int i = 0; i < values.size(); ++i)
+            if (!values.at(i)->shortcut().toString().isEmpty()) {
+                QString desc = values.at(i)->text();
+                QString sc = values.at(i)->shortcut().toString();
+                desc = desc.remove('&');
+                desc = desc.remove("...");
+                cout << qPrintable(QString(" %1& %2").arg(sc, 12).arg(desc))
+                     << endl;
+            }
+        cout << endl;
+    }
+}
diff --git a/src/shortcuts.h b/src/shortcuts.h
new file mode 100644 (file)
index 0000000..32f9d0d
--- /dev/null
@@ -0,0 +1,39 @@
+#ifndef SHORTCUTS_H
+#define SHORTCUTS_H
+
+#include <QAction>
+#include <QShortcut>
+#include <QString>
+
+class KeySwitch {
+  public:
+    KeySwitch(
+        const QString &kIdentifier, //! Unique identifier (still unused)
+        const QString &kName,      //! text saved in related action (translated)
+        const QString &kGroup,     //! Scope
+        const QString &kTag,       //! Tag, used for listing related shortcuts
+        const QKeySequence &kseq); //! Keysequence from action
+    QString group;
+    QString name;
+    QString identifier;
+    QString tag;
+    QKeySequence keySequence;
+};
+
+class Switchboard {
+  public:
+    Switchboard();
+    void addGroup(QString gIdentifier, QString gName);
+    void addSwitch(QString identifier, QString scope, QAction *a, QString tag);
+    QString getASCII();
+    void printASCII();
+    void printLaTeX();
+
+  protected:
+    QMultiMap<QString, QAction *> actions;
+    QMultiMap<QString, KeySwitch> switches;
+    QMap<QString, QString> groups;
+    QStringList tags;
+};
+
+#endif
diff --git a/src/showtextdialog.cpp b/src/showtextdialog.cpp
new file mode 100644 (file)
index 0000000..9051241
--- /dev/null
@@ -0,0 +1,36 @@
+#include "showtextdialog.h"
+
+#include "settings.h"
+#include <QFont>
+#include <QString>
+
+extern Settings settings;
+
+ShowTextDialog::ShowTextDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    ui.textBrowser->show();
+    ui.textBrowser->setOpenExternalLinks(true);
+}
+
+void ShowTextDialog::append(const QString &s) { ui.textBrowser->append(s); }
+
+void ShowTextDialog::setText(const QString &s) { ui.textBrowser->setText(s); }
+
+void ShowTextDialog::setHtml(const QString &s) { ui.textBrowser->setHtml(s); }
+
+void ShowTextDialog::useFixedFont(bool useFixedFont)
+{
+    QFont font;
+    if (useFixedFont)
+        font.fromString(settings
+                            .value("/satellite/noteeditor/fonts/fixedFont",
+                                   "Courier,10,-1,5,48,0,0,0,1,0")
+                            .toString());
+    else
+        font.fromString(settings
+                            .value("/satellite/noteeditor/fonts/varFont",
+                                   "DejaVu Sans Mono,12,-1,0,50,0,0,0,0,0")
+                            .toString());
+    ui.textBrowser->setFont(font);
+}
diff --git a/src/showtextdialog.h b/src/showtextdialog.h
new file mode 100644 (file)
index 0000000..693fd8c
--- /dev/null
@@ -0,0 +1,22 @@
+#ifndef SHOWTEXTDIALOG_H
+#define SHOWTEXTDIALOG_H
+
+#include "ui_showtextdialog.h"
+
+// #include <QLayout>
+// #include <QTextBrowser>
+
+class ShowTextDialog : public QDialog {
+    Q_OBJECT
+  public:
+    ShowTextDialog(QWidget *parent = 0);
+    void append(const QString &);
+    void setHtml(const QString &);
+    void setText(const QString &);
+    void useFixedFont(bool);
+
+  private:
+    Ui::ShowTextDialog ui;
+};
+
+#endif // SHOWTEXTDIALOG_H
diff --git a/src/slidecontrolwidget.cpp b/src/slidecontrolwidget.cpp
new file mode 100644 (file)
index 0000000..cc42329
--- /dev/null
@@ -0,0 +1,74 @@
+#include <QAction>
+#include <QDebug>
+#include <QLineEdit>
+#include <QVBoxLayout>
+
+#include <QLabel>
+#include <QPushButton>
+
+#include "mainwindow.h"
+#include "slidecontrolwidget.h"
+
+extern Main *mainWindow;
+
+SlideControlWidget::SlideControlWidget(QWidget *)
+{
+    QVBoxLayout *mainLayout = new QVBoxLayout;
+    QHBoxLayout *row2Layout = new QHBoxLayout;
+
+    previousButton = new QPushButton;
+    previousButton->setIcon(QPixmap(":/slideprevious.png"));
+    connect(previousButton, SIGNAL(clicked()), this, SLOT(previousPressed()));
+
+    nextButton = new QPushButton;
+    nextButton->setIcon(QPixmap(":/slidenext.png"));
+    connect(nextButton, SIGNAL(clicked()), this, SLOT(nextPressed()));
+
+    upButton = new QPushButton;
+    upButton->setIcon(QPixmap(":/up.png"));
+    connect(upButton, SIGNAL(clicked()), this, SLOT(upPressed()));
+
+    downButton = new QPushButton;
+    downButton->setIcon(QPixmap(":/down.png"));
+    connect(downButton, SIGNAL(clicked()), this, SLOT(downPressed()));
+
+    snapshotButton = new QPushButton;
+    // snapshotButton->setIcon (QPixmap ( ":/sliderecord.png" ));
+    // Original: /usr/share/icons/oxygen/32x32/devices/camera-photo.png
+    snapshotButton->setIcon(QPixmap(":/slide-camera.png"));
+    connect(snapshotButton, SIGNAL(clicked()), this, SLOT(snapshotPressed()));
+
+    editButton = new QPushButton;
+    editButton->setIcon(QPixmap(":/scripteditor.png"));
+    connect(editButton, SIGNAL(clicked()), this, SLOT(editPressed()));
+
+    deleteButton = new QPushButton;
+    deleteButton->setIcon(QPixmap(":/edittrash.png"));
+    connect(deleteButton, SIGNAL(clicked()), this, SLOT(deletePressed()));
+
+    row2Layout->addWidget(previousButton);
+    row2Layout->addWidget(nextButton);
+    row2Layout->addWidget(snapshotButton);
+    row2Layout->addWidget(editButton);
+    row2Layout->addWidget(deleteButton);
+    row2Layout->addWidget(upButton);
+    row2Layout->addWidget(downButton);
+
+    mainLayout->addLayout(row2Layout);
+
+    setLayout(mainLayout);
+}
+
+void SlideControlWidget::snapshotPressed() { emit(takeSnapshot()); }
+
+void SlideControlWidget::editPressed() { emit(editButtonPressed()); }
+
+void SlideControlWidget::deletePressed() { emit(deleteButtonPressed()); }
+
+void SlideControlWidget::previousPressed() { emit(previousButtonPressed()); }
+
+void SlideControlWidget::nextPressed() { emit(nextButtonPressed()); }
+
+void SlideControlWidget::upPressed() { emit(upButtonPressed()); }
+
+void SlideControlWidget::downPressed() { emit(downButtonPressed()); }
diff --git a/src/slidecontrolwidget.h b/src/slidecontrolwidget.h
new file mode 100644 (file)
index 0000000..d667022
--- /dev/null
@@ -0,0 +1,44 @@
+#ifndef SLIDECONTROLWIDGET_H
+#define SLIDECONTROLWIDGET_H
+
+#include <QWidget>
+
+class QAction;
+class QPushButton;
+
+class SlideControlWidget : public QWidget {
+    Q_OBJECT
+
+  public:
+    SlideControlWidget(QWidget *parent = NULL);
+
+  public slots:
+    void previousPressed();
+    void snapshotPressed();
+    void nextPressed();
+    void upPressed();
+    void downPressed();
+    void deletePressed();
+    void editPressed();
+
+  signals:
+    void hideFindWidget();
+    void takeSnapshot();
+    void deleteButtonPressed();
+    void editButtonPressed();
+    void previousButtonPressed();
+    void nextButtonPressed();
+    void upButtonPressed();
+    void downButtonPressed();
+
+  protected:
+    QPushButton *previousButton;
+    QPushButton *snapshotButton;
+    QPushButton *editButton;
+    QPushButton *deleteButton;
+    QPushButton *nextButton;
+    QPushButton *upButton;
+    QPushButton *downButton;
+};
+
+#endif
diff --git a/src/slideeditor.cpp b/src/slideeditor.cpp
new file mode 100644 (file)
index 0000000..88f0de8
--- /dev/null
@@ -0,0 +1,103 @@
+#include <QTreeView>
+#include <QVBoxLayout>
+
+#include "mainwindow.h"
+#include "slidecontrolwidget.h"
+#include "slideitem.h"
+#include "slidemodel.h"
+#include "vymmodel.h"
+
+#include "slideeditor.h"
+
+extern Main *mainWindow;
+extern SlideEditor *slideEditor;
+
+extern QString editorFocusStyle;
+
+SlideEditor::SlideEditor(VymModel *m)
+{
+    vymModel = m;
+
+    // Create slides model
+    slideModel = vymModel->getSlideModel();
+
+    // Create TreeView
+    view = new QTreeView(this);
+    view->setModel(slideModel);
+
+    slideModel->setSelectionModel(view->selectionModel());
+
+    view->setStyleSheet("QTreeView:focus {" + editorFocusStyle + "}");
+
+    // Create ControlWidget
+    slideControl = new SlideControlWidget(this);
+    connect(slideControl, SIGNAL(takeSnapshot()), this, SLOT(addSlide()));
+    connect(slideControl, SIGNAL(editButtonPressed()), mainWindow,
+            SLOT(windowToggleScriptEditor()));
+    connect(slideControl, SIGNAL(deleteButtonPressed()), this,
+            SLOT(deleteSlide()));
+    connect(slideControl, SIGNAL(previousButtonPressed()), this,
+            SLOT(previousSlide()));
+    connect(slideControl, SIGNAL(nextButtonPressed()), this, SLOT(nextSlide()));
+    connect(slideControl, SIGNAL(upButtonPressed()), this, SLOT(moveSlideUp()));
+    connect(slideControl, SIGNAL(downButtonPressed()), this,
+            SLOT(moveSlideDown()));
+
+    QVBoxLayout *mainLayout = new QVBoxLayout;
+
+    mainLayout->addWidget(view);
+    mainLayout->addWidget(slideControl);
+
+    setLayout(mainLayout);
+
+    // Selection
+    connect(view->selectionModel(),
+            SIGNAL(selectionChanged(QItemSelection, QItemSelection)), vymModel,
+            SLOT(updateSlideSelection(QItemSelection, QItemSelection)));
+    connect(view->selectionModel(),
+            SIGNAL(selectionChanged(QItemSelection, QItemSelection)), this,
+            SLOT(updateSelection(QItemSelection, QItemSelection)));
+
+    //    connect (resultsModel, SIGNAL(layoutChanged() ), view, SLOT
+    //    (expandAll() ));
+}
+
+void SlideEditor::previousSlide()
+{
+    QModelIndex ix = slideModel->getSelectedIndex();
+    if (ix.isValid())
+        ix = view->indexAbove(ix);
+
+    if (ix.isValid())
+        view->selectionModel()->select(ix, QItemSelectionModel::ClearAndSelect);
+}
+
+void SlideEditor::nextSlide()
+{
+    QModelIndex ix = slideModel->getSelectedIndex();
+    if (ix.isValid())
+        ix = view->indexBelow(ix);
+    if (ix.isValid())
+        view->selectionModel()->select(ix, QItemSelectionModel::ClearAndSelect);
+}
+
+void SlideEditor::addSlide() { vymModel->addSlide(); }
+
+void SlideEditor::editSlide() // FIXME-4 not used yet
+{
+}
+
+void SlideEditor::deleteSlide()
+{
+    SlideItem *si = slideModel->getSelectedItem();
+    vymModel->deleteSlide(si);
+}
+
+void SlideEditor::moveSlideUp() { vymModel->moveSlideUp(); }
+
+void SlideEditor::moveSlideDown() { vymModel->moveSlideDown(); }
+
+void SlideEditor::updateSelection(QItemSelection, QItemSelection)
+{
+    // FIXME-3 updateActions missing, e.g. state for moveUp/down
+}
diff --git a/src/slideeditor.h b/src/slideeditor.h
new file mode 100644 (file)
index 0000000..ab5f7d9
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef SLIDEEDITOR_H
+#define SLIDEEDITOR_H
+
+#include <QItemSelection>
+#include <QWidget>
+
+class SlideModel;
+class QTreeView;
+class SlideControlWidget;
+class VymModel;
+
+class SlideEditor : public QWidget {
+    Q_OBJECT
+
+  public:
+    SlideEditor(VymModel *);
+
+  public slots:
+    void previousSlide();
+    void nextSlide();
+    void addSlide();
+    void editSlide();
+    void deleteSlide();
+    void moveSlideUp();
+    void moveSlideDown();
+    void updateSelection(QItemSelection, QItemSelection);
+
+  private:
+    VymModel *vymModel;
+    SlideModel *slideModel;
+    QTreeView *view;
+    SlideControlWidget *slideControl;
+};
+
+#endif
diff --git a/src/slideitem.cpp b/src/slideitem.cpp
new file mode 100644 (file)
index 0000000..25804ba
--- /dev/null
@@ -0,0 +1,206 @@
+#include <QStringList>
+
+#include "slideitem.h"
+
+#include "slidemodel.h"
+#include "treeitem.h"
+#include "vymmodel.h"
+
+uint SlideItem::idLastSlide = 0; // make instance
+
+SlideItem::SlideItem(const QVector<QVariant> &data, SlideItem *parent,
+                     SlideModel *sm)
+{
+    parentItem = parent;
+    itemData = data;
+    idLastSlide++;
+    slideID = idLastSlide;
+    treeItemID = -1;
+    zoomFactor = -1;
+    duration = 2000;
+    easingCurve.setType(QEasingCurve::OutQuint);
+
+    if (sm)
+        model = sm;
+    else
+        model = parent->getModel();
+
+    if (data.isEmpty())
+        itemData.append(QVariant("empty"));
+}
+
+SlideItem::~SlideItem() { qDeleteAll(childItems); }
+
+SlideModel *SlideItem::getModel() { return model; }
+
+uint SlideItem::getID() { return slideID; }
+
+SlideItem *SlideItem::child(int number) { return childItems.value(number); }
+
+int SlideItem::childCount() const { return childItems.count(); }
+
+int SlideItem::childNumber() const
+{
+    if (parentItem)
+        return parentItem->childItems.indexOf(const_cast<SlideItem *>(this));
+
+    return 0;
+}
+
+int SlideItem::columnCount() const { return itemData.count(); }
+
+QVariant SlideItem::data(int column) const { return itemData.value(column); }
+
+int SlideItem::row() const
+{
+    if (parentItem)
+        return parentItem->childItems.indexOf(const_cast<SlideItem *>(this));
+
+    return 0;
+}
+
+void SlideItem::insertItem(int pos, SlideItem *si)
+{
+    if (pos < 0)
+        pos = 0;
+    if (pos > childItems.count())
+        pos = childItems.count();
+    childItems.insert(pos, si);
+    si->parentItem = this;
+}
+
+void SlideItem::removeItem(int pos)
+{
+    // Remove, but don't delete (needed for relinking)
+    if (pos < 0 || pos > childItems.size() - 1)
+        qWarning("TreeItem::removeChild tried to remove non existing item?!");
+    else
+        childItems.removeAt(pos);
+}
+
+bool SlideItem::insertChildren(int position, int count, int columns)
+{
+    if (position < 0 || position > childItems.size())
+        return false;
+
+    for (int row = 0; row < count; ++row) {
+        QVector<QVariant> data(columns);
+        SlideItem *item = new SlideItem(data, this);
+        childItems.insert(position, item);
+    }
+
+    return true;
+}
+
+bool SlideItem::insertColumns(int position, int columns)
+{
+    if (position < 0 || position > itemData.size())
+        return false;
+
+    for (int column = 0; column < columns; ++column)
+        itemData.insert(position, QVariant());
+
+    foreach (SlideItem *child, childItems)
+        child->insertColumns(position, columns);
+
+    return true;
+}
+
+SlideItem *SlideItem::parent() { return parentItem; }
+
+bool SlideItem::removeChildren(int position, int count)
+{
+    if (position < 0 || position + count > childItems.size())
+        return false;
+
+    for (int row = 0; row < count; ++row)
+        delete childItems.takeAt(position);
+
+    return true;
+}
+
+bool SlideItem::removeColumns(int position, int columns)
+{
+    if (position < 0 || position + columns > itemData.size())
+        return false;
+
+    for (int column = 0; column < columns; ++column)
+        itemData.remove(position);
+
+    foreach (SlideItem *child, childItems)
+        child->removeColumns(position, columns);
+
+    return true;
+}
+
+bool SlideItem::setData(int column, const QVariant &value)
+{
+    if (column < 0 || column >= itemData.size())
+        return false;
+
+    itemData[column] = value;
+    return true;
+}
+
+void SlideItem::setName(const QString &n) { setData(0, QVariant(n)); }
+
+QString SlideItem::getName() { return data(0).toString(); }
+
+void SlideItem::setTreeItem(TreeItem *ti)
+{
+    if (ti)
+        treeItemID = ti->getID();
+    else
+        qWarning() << "SlideItem::setTreeItem no ID!";
+}
+
+int SlideItem::getTreeItemID() { return treeItemID; }
+
+void SlideItem::setInScript(const QString &s) { inScript = s; }
+
+QString SlideItem::getInScript() { return inScript; }
+
+void SlideItem::setOutScript(const QString &s) { outScript = s; }
+
+QString SlideItem::getOutScript() { return outScript; }
+
+void SlideItem::setZoomFactor(const qreal &zf) { zoomFactor = zf; }
+
+qreal SlideItem::getZoomFactor() { return zoomFactor; }
+
+void SlideItem::setRotationAngle(const qreal &zf) { rotationAngle = zf; }
+
+qreal SlideItem::getRotationAngle() { return rotationAngle; }
+
+void SlideItem::setDuration(const int &d) { duration = d; }
+
+int SlideItem::getDuration() { return duration; }
+
+void SlideItem::setEasingCurve(const QEasingCurve &c) { easingCurve = c; }
+
+QEasingCurve SlideItem::getEasingCurve() { return easingCurve; }
+
+QString SlideItem::saveToDir()
+{
+    QString att_ins, att_outs;
+    if (inScript.isEmpty()) {
+        att_ins = attribut(
+            "inScript",
+            QString("select(\"%1\")")
+                .arg(model->getVymModel()->getSelectString(treeItemID)));
+    }
+    else
+        att_ins = attribut("inScript", inScript);
+    if (!outScript.isEmpty())
+        att_outs = attribut("outScript", outScript);
+
+    return singleElement(
+        "slide", attribut("name", data(0).toString()) +
+                     attribut("zoom", QString().setNum(zoomFactor)) +
+                     attribut("rotation", QString().setNum(rotationAngle)) +
+                     attribut("duration", QString().setNum(duration)) +
+                     attribut("curve", QString().setNum(easingCurve.type())) +
+                     attribut("mapitem", model->getVymModel()->getSelectString(
+                                             treeItemID)) +
+                     att_ins + att_outs);
+}
diff --git a/src/slideitem.h b/src/slideitem.h
new file mode 100644 (file)
index 0000000..097ecbd
--- /dev/null
@@ -0,0 +1,72 @@
+#ifndef SLIDEITEM_H
+#define SLIDEITEM_H
+
+#include <QEasingCurve>
+#include <QList>
+#include <QVariant>
+#include <QVector>
+
+#include "xmlobj.h"
+
+class TreeItem;
+class SlideModel;
+
+class SlideItem : public XMLObj {
+  public:
+    SlideItem(const QVector<QVariant> &data, SlideItem *parent = 0,
+              SlideModel *sm = 0);
+    ~SlideItem();
+    SlideModel *getModel();
+    uint getID();
+    SlideItem *child(int number);
+    int childCount() const;
+    int columnCount() const;
+    QVariant data(int column) const;
+    int row() const;
+    void insertItem(int pos, SlideItem *si);
+    void removeItem(int pos);
+    bool insertChildren(int position, int count, int columns);
+    bool insertColumns(int position, int columns);
+    SlideItem *parent();
+    bool removeChildren(int position, int count);
+    bool removeColumns(int position, int columns);
+    int childNumber() const;
+    bool setData(int column, const QVariant &value);
+    void setName(const QString &n);
+    QString getName();
+    void setTreeItem(TreeItem *ti);
+    int getTreeItemID();
+    void setInScript(const QString &);
+    QString getInScript();
+    void setOutScript(const QString &);
+    QString getOutScript();
+    void setZoomFactor(const qreal &);
+    qreal getZoomFactor();
+    void setRotationAngle(const qreal &);
+    qreal getRotationAngle();
+    void setDuration(const int &);
+    int getDuration();
+    void setEasingCurve(const QEasingCurve &);
+    QEasingCurve getEasingCurve();
+    QString saveToDir();
+
+  private:
+    SlideModel *model;
+    QList<SlideItem *> childItems;
+    QVector<QVariant> itemData;
+    SlideItem *parentItem;
+
+    static uint idLastSlide; //! Last used unique ID for slide
+    uint slideID;
+
+    QString inScript;
+    QString outScript;
+
+    int treeItemID;
+    qreal zoomFactor;
+    qreal rotationAngle;
+    int duration;
+    QEasingCurve easingCurve;
+};
+
+#endif
diff --git a/src/slidemodel.cpp b/src/slidemodel.cpp
new file mode 100644 (file)
index 0000000..0f08a99
--- /dev/null
@@ -0,0 +1,314 @@
+#include "slidemodel.h"
+
+#include "slideitem.h"
+#include "vymmodel.h"
+
+#include <QDebug>
+#include <QItemSelectionModel>
+
+SlideModel::SlideModel(VymModel *vm) : QAbstractItemModel(NULL)
+{
+    QVector<QVariant> rootData;
+    rootData << "Slide";
+    rootItem = new SlideItem(rootData, NULL, this);
+    vymModel = vm;
+}
+
+SlideModel::~SlideModel() { delete rootItem; }
+
+void SlideModel::clear()
+{
+    if (rootItem->childCount() > 0)
+        removeRows(0, rowCount(QModelIndex()));
+}
+
+VymModel *SlideModel::getVymModel() { return vymModel; }
+
+int SlideModel::columnCount(const QModelIndex & /* parent */) const
+{
+    return rootItem->columnCount();
+}
+
+QVariant SlideModel::data(const QModelIndex &index, int role) const
+{
+    if (!index.isValid())
+        return QVariant();
+
+    if (role != Qt::DisplayRole && role != Qt::EditRole)
+        return QVariant();
+
+    SlideItem *item = getItem(index);
+
+    return item->data(index.column());
+}
+
+Qt::ItemFlags SlideModel::flags(const QModelIndex &index) const
+{
+    if (!index.isValid())
+        return 0;
+
+    return Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
+}
+
+QVariant SlideModel::headerData(int section, Qt::Orientation orientation,
+                                int role) const
+{
+    if (orientation == Qt::Horizontal && role == Qt::DisplayRole)
+        return rootItem->data(section);
+
+    return QVariant();
+}
+
+QModelIndex SlideModel::index(SlideItem *fri)
+{
+    if (!fri || !fri->parent())
+        return QModelIndex();
+    else
+        return createIndex(fri->row(), 0, fri);
+}
+
+QModelIndex SlideModel::index(int row, int column,
+                              const QModelIndex &parent) const
+{
+    if (parent.isValid() && parent.column() != 0)
+        return QModelIndex();
+
+    SlideItem *parentItem = getItem(parent);
+
+    SlideItem *childItem = parentItem->child(row);
+    if (childItem)
+        return createIndex(row, column, childItem);
+    else
+        return QModelIndex();
+}
+
+bool SlideModel::insertColumns(int position, int columns,
+                               const QModelIndex &parent)
+{
+    bool success;
+
+    beginInsertColumns(parent, position, position + columns - 1);
+    success = rootItem->insertColumns(position, columns);
+    endInsertColumns();
+
+    return success;
+}
+
+bool SlideModel::insertRows(int position, int rows, const QModelIndex &parent)
+{
+    SlideItem *parentItem = getItem(parent);
+    bool success;
+
+    beginInsertRows(parent, position, position + rows - 1);
+    success =
+        parentItem->insertChildren(position, rows, rootItem->columnCount());
+    endInsertRows();
+
+    return success;
+}
+
+QModelIndex SlideModel::parent(const QModelIndex &index) const
+{
+    if (!index.isValid())
+        return QModelIndex();
+
+    SlideItem *childItem = getItem(index);
+    SlideItem *parentItem = childItem->parent();
+
+    if (parentItem == rootItem)
+        return QModelIndex();
+
+    return createIndex(parentItem->childNumber(), 0, parentItem);
+}
+
+bool SlideModel::removeColumns(int position, int columns,
+                               const QModelIndex &parent)
+{
+    bool success;
+
+    beginRemoveColumns(parent, position, position + columns - 1);
+    success = rootItem->removeColumns(position, columns);
+    endRemoveColumns();
+
+    if (rootItem->columnCount() == 0)
+        removeRows(0, rowCount());
+
+    return success;
+}
+
+bool SlideModel::removeRows(int position, int rows, const QModelIndex &parent)
+{
+    SlideItem *parentItem = getItem(parent);
+    bool success = true;
+
+    beginRemoveRows(parent, position, position + rows - 1);
+    success = parentItem->removeChildren(position, rows);
+    endRemoveRows();
+
+    return success;
+}
+
+int SlideModel::count() { return rootItem->childCount(); }
+
+int SlideModel::rowCount(const QModelIndex &parent) const
+{
+    SlideItem *parentItem = getItem(parent);
+
+    return parentItem->childCount();
+}
+
+bool SlideModel::setData(const QModelIndex &index, const QVariant &value,
+                         int role)
+{
+    if (role != Qt::EditRole)
+        return false;
+
+    SlideItem *item = getItem(index);
+    bool result = item->setData(index.column(), value);
+
+    if (result)
+        emit dataChanged(index, index);
+
+    return result;
+}
+
+bool SlideModel::setHeaderData(int section, Qt::Orientation orientation,
+                               const QVariant &value, int role)
+{
+    if (role != Qt::EditRole || orientation != Qt::Horizontal)
+        return false;
+
+    bool result = rootItem->setData(section, value);
+
+    if (result)
+        emit headerDataChanged(orientation, section, section);
+
+    return result;
+}
+
+SlideItem *SlideModel::addSlide(SlideItem *dst, int n)
+{
+    SlideItem *si = NULL;
+    if (!dst)
+        dst = rootItem;
+
+    emit(layoutAboutToBeChanged());
+
+    QModelIndex parix = index(dst);
+    if (n < 0)
+        n = dst->childCount();
+    beginInsertRows(parix, n, n);
+    if (rootItem->insertChildren(n, 1, 0)) {
+        QModelIndex ix = index(n, 0, QModelIndex());
+        si = getItem(ix);
+    }
+    endInsertRows();
+    emit(layoutChanged());
+
+    return si;
+}
+
+void SlideModel::deleteSlide(SlideItem *si)
+{
+    QModelIndex ix = index(si);
+    if (ix.isValid()) {
+        QModelIndex px = ix.parent();
+        int n = si->childNumber();
+        removeRows(n, 1, px);
+    }
+}
+
+bool SlideModel::relinkSlide(SlideItem *si, SlideItem *dst, int pos)
+{
+    if (si && dst) {
+        emit(layoutAboutToBeChanged());
+        SlideItem *pi = si->parent();
+
+        // Remove at current position
+        int n = si->childNumber();
+
+        beginRemoveRows(index(pi), n, n);
+        pi->removeItem(n);
+        endRemoveRows();
+
+        if (pos < 0 || pos > dst->childCount())
+            pos = dst->childCount();
+
+        // Insert at new position
+        beginInsertRows(index(dst), pos, pos);
+        dst->insertItem(pos, si);
+        endInsertRows();
+
+        emit(layoutChanged());
+
+        selModel->select(index(si), QItemSelectionModel::ClearAndSelect);
+
+        return true;
+    }
+    return false;
+}
+
+SlideItem *SlideModel::getItem(const QModelIndex &index) const
+{
+    if (index.isValid()) {
+        SlideItem *item = static_cast<SlideItem *>(index.internalPointer());
+        if (item)
+            return item;
+    }
+    return rootItem;
+}
+
+SlideItem *SlideModel::getSlide(int n)
+{
+    if (n >= count() || n < 0)
+        return NULL;
+    return getItem(index(n, 0, QModelIndex()));
+}
+
+SlideItem *SlideModel::findSlideID(uint n)
+{
+    for (int i = 0; i < rootItem->childCount(); i++)
+        if (rootItem->child(i)->getID() == n)
+            return rootItem->child(i);
+    return NULL;
+}
+
+QString SlideModel::saveToDir()
+{
+    QString s;
+    for (int i = 0; i < rootItem->childCount(); i++)
+        s += rootItem->child(i)->saveToDir();
+    return s;
+}
+
+void SlideModel::setSearchString(const QString &s) { searchString = s; }
+
+QString SlideModel::getSearchString() { return searchString; }
+
+void SlideModel::setSearchFlags(QTextDocument::FindFlags f) { searchFlags = f; }
+
+QTextDocument::FindFlags SlideModel::getSearchFlags() { return searchFlags; }
+
+void SlideModel::setSelectionModel(QItemSelectionModel *sm) { selModel = sm; }
+
+QItemSelectionModel *SlideModel::getSelectionModel() { return selModel; }
+
+QModelIndex SlideModel::getSelectedIndex()
+{
+    if (!selModel) {
+        qDebug() << "SlideModel: No selection model!";
+        return QModelIndex();
+    }
+    QModelIndexList list = selModel->selectedIndexes();
+    if (!list.isEmpty())
+        return list.first();
+    return QModelIndex();
+}
+
+SlideItem *SlideModel::getSelectedItem()
+{
+    QModelIndex ix = getSelectedIndex();
+    if (ix.isValid())
+        return getItem(ix);
+    return NULL;
+}
diff --git a/src/slidemodel.h b/src/slidemodel.h
new file mode 100644 (file)
index 0000000..6503ebc
--- /dev/null
@@ -0,0 +1,85 @@
+#ifndef SLIDEMODEL_H
+#define SLIDEMODEL_H
+
+#include <QAbstractItemModel>
+#include <QModelIndex>
+#include <QTextDocument>
+#include <QVariant>
+
+#include "xmlobj.h"
+
+class QItemSelectionModel;
+class SlideItem;
+class TreeItem;
+class VymModel;
+
+class SlideModel : public QAbstractItemModel, XMLObj {
+    Q_OBJECT
+
+  public:
+    SlideModel(VymModel *vm);
+    ~SlideModel();
+    void clear();
+
+    VymModel *getVymModel();
+    QVariant data(const QModelIndex &index, int role) const;
+    QVariant headerData(int section, Qt::Orientation orientation,
+                        int role = Qt::DisplayRole) const;
+
+    QModelIndex index(SlideItem *fri);
+    QModelIndex index(int row, int column,
+                      const QModelIndex &parent = QModelIndex()) const;
+    QModelIndex parent(const QModelIndex &index) const;
+
+    int count();
+    int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    int columnCount(const QModelIndex &parent = QModelIndex()) const;
+
+    Qt::ItemFlags flags(const QModelIndex &index) const;
+    bool setData(const QModelIndex &index, const QVariant &value,
+                 int role = Qt::EditRole);
+    bool setHeaderData(int section, Qt::Orientation orientation,
+                       const QVariant &value, int role = Qt::EditRole);
+
+    bool insertColumns(int position, int columns,
+                       const QModelIndex &parent = QModelIndex());
+    bool removeColumns(int position, int columns,
+                       const QModelIndex &parent = QModelIndex());
+    bool insertRows(int position, int rows,
+                    const QModelIndex &parent = QModelIndex());
+    bool removeRows(int position, int rows,
+                    const QModelIndex &parent = QModelIndex());
+
+    SlideItem *addSlide(SlideItem *dst = NULL, int n = -1);
+    void deleteSlide(SlideItem *si);
+    bool relinkSlide(SlideItem *si, SlideItem *dst, int pos);
+
+    SlideItem *getItem(const QModelIndex &index) const;
+    SlideItem *getSlide(int n);
+    SlideItem *findSlideID(uint n);
+    QString saveToDir();
+
+    void setSearchString(const QString &s);
+    QString getSearchString();
+    void setSearchFlags(QTextDocument::FindFlags f);
+    QTextDocument::FindFlags getSearchFlags();
+
+    // Selection related
+  public:
+    void setSelectionModel(QItemSelectionModel *);
+    QItemSelectionModel *getSelectionModel();
+    QModelIndex getSelectedIndex();
+    SlideItem *getSelectedItem();
+
+  private:
+    QItemSelectionModel *selModel;
+    VymModel *vymModel; // needed for saveToDir
+
+  private:
+    SlideItem *rootItem;
+
+    QString searchString;
+    QTextDocument::FindFlags searchFlags;
+};
+
+#endif
diff --git a/src/task.cpp b/src/task.cpp
new file mode 100644 (file)
index 0000000..cca1bcc
--- /dev/null
@@ -0,0 +1,326 @@
+#include "task.h"
+
+#include <QDebug>
+
+#include "branchitem.h"
+#include "taskmodel.h"
+#include "vymmodel.h"
+
+Task::Task(TaskModel *tm)
+{
+    //    qDebug()<<"Constr. Task";
+    status = NotStarted;
+    awake = Task::WideAwake;
+    branch = NULL;
+    prio = 0;
+    prio_delta = 0;
+    model = tm;
+    date_creation = QDateTime::currentDateTime();
+}
+
+Task::~Task()
+{
+    //    qDebug()<<"Destr. Task";
+    if (branch)
+        branch->setTask(NULL);
+}
+
+void Task::setModel(TaskModel *tm) { model = tm; }
+
+void Task::cycleStatus(bool reverse)
+{
+    if (awake == Morning)
+        setAwake(WideAwake);
+    else {
+        int i = status;
+        reverse ? i-- : i++;
+
+        if (i < 0)
+            i = 2;
+        if (i > 2)
+            i = 0;
+
+        setStatus((Task::Status)i);
+    }
+    if (branch)
+        branch->updateTaskFlag();
+}
+
+void Task::setStatus(const QString &s)
+{
+    if (s == "NotStarted")
+        setStatus(NotStarted);
+    else if (s == "WIP")
+        setStatus(WIP);
+    else if (s == "Finished")
+        setStatus(Finished);
+    else
+        qWarning() << "Task::setStatus Unknown value: " << s;
+}
+
+void Task::setStatus(Status s)
+{
+    if (s == status)
+        return;
+    status = s;
+    if (branch)
+        branch->updateTaskFlag();
+}
+
+Task::Status Task::getStatus() { return status; }
+
+QString Task::getStatusString()
+{
+    switch (status) {
+    case NotStarted:
+        return "NotStarted";
+    case WIP:
+        return "WIP";
+    case Finished:
+        return "Finished";
+    }
+    return "Undefined";
+}
+
+QString Task::getIconString()
+{
+    QString s;
+    switch (status) {
+    case NotStarted:
+        s = "task-new";
+        break;
+    case WIP:
+        s = "task-wip";
+        break;
+    case Finished:
+        s = "task-finished";
+        break;
+    default:
+        s = "status:undefined";
+    }
+    if (status != Finished)
+        switch (awake) {
+        case Sleeping:
+            s += "-sleeping";
+            break;
+        case Morning:
+            s += "-morning";
+            break;
+        default:
+            break;
+        }
+    return s;
+}
+
+void Task::setAwake(const QString &s)
+{
+    if (s == "Sleeping")
+        setAwake(Sleeping);
+    else if (s == "Morning")
+        setAwake(Morning);
+    else if (s == "WideAwake")
+        setAwake(WideAwake);
+    else
+        qWarning() << "Task::setAwake Unknown value: " << s;
+}
+
+void Task::setAwake(Task::Awake a)
+{
+    if (awake != a) {
+        awake = a;
+        if (branch)
+            branch->updateTaskFlag();
+    }
+}
+
+Task::Awake Task::getAwake() { return awake; }
+
+QString Task::getAwakeString()
+{
+    switch (getAwake()) {
+    case Sleeping:
+        return "Sleeping";
+    case Morning:
+        return "Morning";
+    case WideAwake:
+        return "WideAwake";
+    }
+    return "Undefined";
+}
+
+bool Task::updateAwake()
+{
+    qint64 secs = getSecsSleep();
+
+    if (secs < 0) {
+        if (awake == Task::Sleeping) {
+            setAwake(Task::Morning);
+            return true;
+        }
+    }
+    else if (secs > 0) {
+        if (awake != Task::Sleeping) {
+            setAwake(Task::Sleeping);
+            return true;
+        }
+    }
+    return false;
+}
+
+void Task::setPriority(int p) { prio = p; }
+
+int Task::getPriority() { return prio; }
+
+int Task::getAgeCreation()
+{
+    return date_creation.daysTo(QDateTime::currentDateTime());
+}
+
+int Task::getAgeModification()
+{
+    if (date_modification.isValid())
+        return date_modification.daysTo(QDateTime::currentDateTime());
+    else
+        return getAgeCreation();
+}
+
+void Task::setDateCreation(const QString &s)
+{
+    date_creation = QDateTime().fromString(s, Qt::ISODate);
+}
+
+QDateTime Task::getDateCreation() { return date_creation; }
+
+void Task::setDateModification()
+{
+    date_modification = QDateTime::currentDateTime();
+}
+
+void Task::setDateModification(const QString &s)
+{
+    date_modification = QDateTime().fromString(s, Qt::ISODate);
+}
+
+QDateTime Task::getDateModification() { return date_modification; }
+
+bool Task::setDaysSleep(qint64 n)
+{
+    return setDateSleep(QDate::currentDate().addDays(n).toString(Qt::ISODate));
+}
+
+bool Task::setHoursSleep(qint64 n)
+{
+    return setDateSleep(
+        QDateTime::currentDateTime().addSecs(n * 3600).toString(Qt::ISODate));
+}
+
+bool Task::setSecsSleep(qint64 n)
+{
+    if (n == 0)
+        setAwake(Morning);
+    return setDateSleep(
+        QDateTime::currentDateTime().addSecs(n).toString(Qt::ISODate));
+}
+
+bool Task::setDateSleep(const QString &s)
+{
+    if (setDateSleep(QDateTime().fromString(s, Qt::ISODate)))
+        return true;
+    else if (setDateSleep(QDateTime().fromString(s, Qt::TextDate)))
+        return true;
+    else if (setDateSleep(
+                 QDateTime().fromString(s, Qt::DefaultLocaleShortDate)))
+        return true;
+    else if (setDateSleep(QDateTime().fromString(s, Qt::DefaultLocaleLongDate)))
+        return true;
+    else
+        return false;
+}
+
+bool Task::setDateSleep(const QDateTime &d)
+{
+    if (!d.isValid())
+        return false;
+
+    date_sleep = d;
+    updateAwake();
+    return true;
+}
+
+qint64 Task::getDaysSleep()
+{
+    qint64 d = 1;
+    if (date_sleep.isValid())
+        d = QDateTime::currentDateTime().daysTo(date_sleep);
+    else {
+        // qWarning() << "Task::getDaysSleep date_sleep is invalid for branch "
+        // << branch->getHeadingPlain();
+        return -1;
+    }
+    return d;
+}
+
+qint64 Task::getSecsSleep()
+{
+    qint64 d = 0; // Meaning: No sleep time set so far
+    if (date_sleep.isValid())
+        d = QDateTime::currentDateTime().secsTo(date_sleep);
+    return d;
+}
+
+QDateTime Task::getSleep() { return date_sleep; }
+
+void Task::setPriorityDelta(const int &n) { prio_delta = n; }
+
+int Task::getPriorityDelta() { return prio_delta; }
+
+void Task::setBranch(BranchItem *bi)
+{
+    branch = bi;
+    mapName = bi->getModel()->getMapName();
+}
+
+BranchItem *Task::getBranch() { return branch; }
+
+QString Task::getName()
+{
+    if (branch)
+        return branch->getHeadingPlain();
+    else {
+        qWarning() << "Task::getName  no branch!";
+        return "UNDEFINED";
+    }
+}
+
+QString Task::getMapName() { return mapName; }
+
+QString Task::saveToDir()
+{
+    QString sleepAttr;
+    if (date_sleep.isValid())
+        sleepAttr = attribut("date_sleep", date_sleep.toString(Qt::ISODate));
+    else
+        sleepAttr = attribut("date_sleep", "2018-01-01T00:00:00");
+
+    // Experimental: Also output priority based on arrow flags for external
+    // sorting
+    QString prioAttr;
+    if (branch) {
+        if (branch->hasActiveFlag("2arrow-up"))
+            prioAttr = attribut("prio", "2");
+        if (branch->hasActiveFlag("arrow-up"))
+            prioAttr = attribut("prio", "1");
+    }
+
+    QString prioDeltaAttr;
+    if (prio_delta != 0)
+        prioDeltaAttr = attribut("prio_delta", QString("%1").arg(prio_delta));
+    return singleElement(
+        "task",
+        attribut("status", getStatusString()) +
+            attribut("awake", getAwakeString()) +
+            attribut("date_creation", date_creation.toString(Qt::ISODate)) +
+            attribut("date_modification",
+                     date_modification.toString(Qt::ISODate)) +
+            prioDeltaAttr + sleepAttr + prioAttr);
+}
diff --git a/src/task.h b/src/task.h
new file mode 100644 (file)
index 0000000..acad5ae
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef TASK_H
+#define TASK_H
+
+#include <QDateTime>
+#include <QString>
+
+#include "xmlobj.h"
+
+class BranchItem;
+class QString;
+class TaskModel;
+class VymModel;
+
+class Task : public XMLObj {
+  public:
+    enum Status { NotStarted, WIP, Finished };
+    enum Awake { Sleeping, Morning, WideAwake };
+
+    Task(TaskModel *tm);
+    ~Task();
+    void setModel(TaskModel *tm);
+    void cycleStatus(bool reverse = false);
+    void setStatus(const QString &s);
+    void setStatus(Status ts);
+    Status getStatus();
+    QString getStatusString();
+    QString
+    getIconString(); //! Used to create icons in task list and flags in mapview
+    void setAwake(const QString &s);
+    void setAwake(Awake a);
+    Awake getAwake();
+    QString getAwakeString();
+    bool updateAwake();
+
+  public:
+    void setPriority(int p);
+    int getPriority();
+    int getAgeCreation();
+    int getAgeModification();
+    void setDateCreation(const QString &s);
+    QDateTime getDateCreation();
+    void setDateModification();
+    void setDateModification(const QString &s);
+    QDateTime getDateModification();
+    bool setDaysSleep(qint64 n);
+    bool setHoursSleep(qint64 n);
+    bool setSecsSleep(qint64 n);
+    bool setDateSleep(const QString &s);
+    bool setDateSleep(const QDateTime &d);
+    qint64 getDaysSleep();
+    qint64 getSecsSleep();
+    QDateTime getSleep();
+    QString getName();
+    void setPriorityDelta(const int &n);
+    int getPriorityDelta();
+    void setBranch(BranchItem *bi);
+    BranchItem *getBranch();
+    QString getMapName();
+    QString saveToDir();
+
+  private:
+    TaskModel *model;
+    Status status;
+    Awake awake;
+    int prio;
+    int prio_delta;
+    BranchItem *branch;
+    QString mapName;
+    QDateTime date_creation;
+    QDateTime date_modification;
+    QDateTime date_sleep;
+};
+
+#endif
diff --git a/src/taskeditor.cpp b/src/taskeditor.cpp
new file mode 100644 (file)
index 0000000..e15d4b3
--- /dev/null
@@ -0,0 +1,443 @@
+#include "taskeditor.h"
+
+#include <QAbstractTableModel>
+#include <QAction>
+#include <QDebug>
+#include <QHeaderView>
+#include <QMenu>
+#include <QSortFilterProxyModel>
+#include <QTextEdit>
+#include <QToolBar>
+#include <QVBoxLayout>
+
+#include "branchitem.h"
+#include "mainwindow.h"
+#include "task.h"
+#include "taskmodel.h"
+#include "vymmodel.h"
+
+extern Main *mainWindow;
+extern Settings settings;
+extern QMenu *taskContextMenu;
+extern TaskModel *taskModel;
+
+extern QString editorFocusStyle;
+
+TaskEditor::TaskEditor(QWidget *)
+{
+    // Creat Table view
+    view = new QTableView;
+
+    setMinimumWidth(350);
+
+    QVBoxLayout *mainLayout = new QVBoxLayout;
+
+    QToolBar *tb = new QToolBar("TaskEditor filters");
+    tb->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+    mainLayout->addWidget(tb);
+
+    // Original icon from KDE:
+    // /usr/share/icons/oxygen/16x16/actions/view-filter.png
+
+    QIcon icon = QIcon(":/taskfilter-currentmap.png");
+    QAction *a =
+        new QAction(icon, "", this); // tr( "Current map","TaskEditor" ),this );
+    a->setToolTip(
+        tr("Show only tasks from current map", "Filters in task Editor"));
+    a->setCheckable(true);
+    a->setChecked(settings.value("/taskeditor/filterMap", true).toBool());
+    tb->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleFilterMap()));
+    actionToggleFilterMap = a;
+
+    icon = QIcon(":/taskfilter-activetask.png");
+    a = new QAction(icon, "", this); // tr( "Active tasks","TaskEditor" ),this
+                                     // );
+    a->setToolTip(tr("Show only active tasks", "Filters in task Editor"));
+    a->setCheckable(true);
+    a->setChecked(settings.value("/taskeditor/filterActive", true).toBool());
+    tb->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleFilterActive()));
+    actionToggleFilterActive = a;
+
+    icon = QIcon(":/taskfilter-newtask.png");
+    a = new QAction(icon, "", this); // tr( "New tasks","TaskEditor" ),this );
+    a->setToolTip(tr("Show only new tasks", "Filters in task Editor"));
+    a->setCheckable(true);
+    a->setChecked(settings.value("/taskeditor/filterNew", false).toBool());
+    tb->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleFilterNew()));
+    actionToggleFilterNew = a;
+
+    icon = QIcon(":/flag-stopsign.svg");
+    a = new QAction(icon, "", this); // tr( "New tasks","TaskEditor" ),this );
+    a->setToolTip(tr("Show only blocker tasks", "Filters in task Editor"));
+    a->setCheckable(true);
+    a->setChecked(settings.value("/taskeditor/filterBlocker", false).toBool());
+    tb->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleFilterBlocker()));
+    actionToggleFilterBlocker = a;
+
+    icon = QIcon(":/flag-arrow-up.svg");
+    a = new QAction(icon, "", this);
+    a->setToolTip(tr("Show only tasks marked with this arrow-up flag",
+                     "Filters in task Editor"));
+    a->setCheckable(true);
+    a->setChecked(settings.value("/taskeditor/filterFlags1", false).toBool());
+    tb->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleFilterFlags1()));
+    actionToggleFilterFlags1 = a;
+
+    icon = QIcon(":/flag-arrow-2up.svg");
+    a = new QAction(icon, "", this);
+    a->setToolTip(tr("Show only tasks marked with this arrow-up flag",
+                     "Filters in task Editor"));
+    a->setCheckable(true);
+    a->setChecked(settings.value("/taskeditor/filterFlags2", false).toBool());
+    tb->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleFilterFlags2()));
+    actionToggleFilterFlags2 = a;
+
+    icon = QIcon(":/flag-no-arrow-up.png");
+    a = new QAction(icon, "", this);
+    a->setToolTip(tr("Show only tasks marked without any arrow-up flag",
+                     "Filters in task Editor"));
+    a->setCheckable(true);
+    a->setChecked(settings.value("/taskeditor/filterFlags3", false).toBool());
+    tb->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleFilterFlags3()));
+    actionToggleFilterFlags3 = a;
+
+    // Clone actions defined in MainWindow
+    foreach (QAction *qa, mainWindow->taskEditorActions) {
+        a = new QAction(this);
+        a->setShortcut(qa->shortcut());
+        a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+        connect(a, SIGNAL(triggered()), qa, SLOT(trigger()));
+        addAction(a);
+    }
+
+    mainLayout->addWidget(view);
+    setLayout(mainLayout);
+
+    view->setSelectionBehavior(QAbstractItemView::SelectRows);
+    view->horizontalHeader()->setStretchLastSection(true);
+    view->verticalHeader()->hide();
+    // view->setEditTriggers(QAbstractItemView::NoEditTriggers);
+
+    filterActiveModel = new TaskFilterModel;
+    filterActiveModel->setSourceModel(taskModel);
+    filterActiveModel->setDynamicSortFilter(true);
+
+    view->setModel(filterActiveModel);
+    view->setSortingEnabled(true);
+    view->setIconSize(QSize(64, 64));
+
+    QHeaderView *hv = view->horizontalHeader();
+    hv->setSortIndicator(0, Qt::AscendingOrder);
+    view->sortByColumn(hv->sortIndicatorSection(), hv->sortIndicatorOrder());
+
+    view->setSelectionMode(QAbstractItemView::ExtendedSelection);
+    view->setDragEnabled(true);
+    view->setAcceptDrops(true);
+    view->setDropIndicatorShown(true);
+    view->setAutoScroll(false);
+
+    blockExternalSelect = false;
+
+    connect(view->selectionModel(),
+            SIGNAL(selectionChanged(QItemSelection, QItemSelection)), this,
+            SLOT(selectionChanged(QItemSelection, QItemSelection)));
+
+    connect(view, SIGNAL(clicked(QModelIndex)),
+            this, SLOT(cellClicked(QModelIndex)));
+
+    // Enable wordwrap when data changes
+    if (settings.value("/taskeditor/wordWrap", true)
+            .toBool()) // FIXME-3 not working or only sometimes?
+    {
+        connect(taskModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), view,
+                SLOT(resizeRowsToContents()));
+        connect(view->horizontalHeader(), SIGNAL(sectionResized(int, int, int)),
+                view, SLOT(resizeRowsToContents()));
+    }
+
+    // Initialize view filters according to previous settings
+    setFilterMap();
+    setFilterActive();
+    setFilterNew();
+    setFilterBlocker();
+    setFilterFlags1();
+    setFilterFlags2();
+    setFilterFlags3();
+
+    // Initialize display of parents of a task
+    bool ok;
+    int i = settings.value("/taskeditor/showParentsLevel", 0).toInt(&ok);
+    if (ok)
+        taskModel->setShowParentsLevel(i);
+
+    view->horizontalHeader()->setContextMenuPolicy(Qt::CustomContextMenu);
+    connect(view->horizontalHeader(),
+            SIGNAL(customContextMenuRequested(QPoint)),
+            SLOT(headerContextMenu()));
+
+    view->setStyleSheet("QTableView:focus {" + editorFocusStyle + "}");
+
+    updateColumnLayout();
+}
+
+TaskEditor::~TaskEditor()
+{
+    settings.setValue("/taskeditor/filterMap",
+                      actionToggleFilterMap->isChecked());
+    settings.setValue("/taskeditor/filterActive",
+                      actionToggleFilterActive->isChecked());
+    settings.setValue("/taskeditor/filterNew",
+                      actionToggleFilterNew->isChecked());
+    settings.setValue("/taskeditor/filterBlocker",
+                      actionToggleFilterBlocker->isChecked());
+    settings.setValue("/taskeditor/filterFlags1",
+                      actionToggleFilterFlags1->isChecked());
+    settings.setValue("/taskeditor/filterFlags2",
+                      actionToggleFilterFlags2->isChecked());
+    settings.setValue("/taskeditor/filterFlags3",
+                      actionToggleFilterFlags3->isChecked());
+    settings.setValue("/taskeditor/showParentsLevel",
+                      taskModel->getShowParentsLevel());
+
+    for (int i = 0; i <= 8; i++) {
+        settings.setValue(QString("/taskeditor/column/%1/width").arg(i),
+                          view->columnWidth(i));
+        settings.setValue(QString("/taskeditor/column/%1/hidden").arg(i),
+                          view->isColumnHidden(i));
+    }
+}
+
+void TaskEditor::setMapName(const QString &n)
+{
+    currentMapName = n;
+
+    setFilterMap();
+}
+
+bool TaskEditor::isUsedFilterMap()
+{
+    return actionToggleFilterMap->isChecked();
+}
+
+void TaskEditor::setFilterMap()
+{
+    if (isUsedFilterMap())
+        filterActiveModel->setMapFilter(currentMapName);
+    else
+        filterActiveModel->setMapFilter(QString());
+    updateFilters();
+}
+
+bool TaskEditor::isUsedFilterActive()
+{
+    return actionToggleFilterActive->isChecked();
+}
+
+void TaskEditor::setFilterActive()
+{
+    filterActiveModel->setFilter(actionToggleFilterActive->isChecked());
+    updateFilters();
+}
+
+void TaskEditor::setFilterNew()
+{
+    filterActiveModel->setFilterNew(actionToggleFilterNew->isChecked());
+    updateFilters();
+}
+
+void TaskEditor::setFilterBlocker()
+{
+    filterActiveModel->setFilterBlocker(actionToggleFilterBlocker->isChecked());
+    updateFilters();
+}
+
+void TaskEditor::setFilterFlags1()
+{
+    filterActiveModel->setFilterFlags1(actionToggleFilterFlags1->isChecked());
+    updateFilters();
+}
+
+void TaskEditor::setFilterFlags2()
+{
+    filterActiveModel->setFilterFlags2(actionToggleFilterFlags2->isChecked());
+    updateFilters();
+}
+
+void TaskEditor::setFilterFlags3()
+{
+    filterActiveModel->setFilterFlags3(actionToggleFilterFlags3->isChecked());
+    updateFilters();
+}
+
+void TaskEditor::updateFilters()
+{
+    // ugly, but calling twice updates rows as expected  // FIXME-3 review...
+    filterActiveModel->invalidate();
+    filterActiveModel->invalidate();
+}
+
+bool TaskEditor::taskVisible(Task *task)
+{
+    return filterActiveModel->taskVisible(task);
+}
+
+void TaskEditor::showSelection()
+{
+    QModelIndexList list = view->selectionModel()->selectedIndexes();
+    if (list.count() > 0)
+        // Usually whole row is selected, so just go for first cell
+        view->scrollTo(taskModel->index(taskModel->getTask(list.first())),
+                       QAbstractItemView::EnsureVisible);
+}
+
+bool TaskEditor::select(Task *task)
+{
+    if (task) {
+        blockExternalSelect = true;
+        QModelIndex i0b = taskModel->index(task);
+        QModelIndex i0e = taskModel->indexRowEnd(task);
+
+        QModelIndex i1b = filterActiveModel->mapFromSource(i0b);
+        QModelIndex i1e = filterActiveModel->mapFromSource(i0e);
+
+        QItemSelection sel(i1b, i1e);
+
+        view->selectionModel()->select(sel,
+                                       QItemSelectionModel::ClearAndSelect);
+        blockExternalSelect = false;
+        return true;
+    }
+    return false;
+}
+
+void TaskEditor::clearSelection() { view->selectionModel()->clearSelection(); }
+
+void TaskEditor::cellClicked(QModelIndex ix_unmapped)
+{
+    QModelIndex ix = filterActiveModel->mapToSource(ix_unmapped);
+    if (ix.isValid() && ix.column() == 2)
+        taskModel->getTask(ix)->getBranch()->getModel()->cycleTaskStatus();
+}
+
+void TaskEditor::headerContextMenu()
+{
+    // qDebug() << "TE::headerContextMenu()";
+    // Trying to workaround https://bugreports.qt.io/browse/QTBUG-52307
+    // view->horizontalHeader()->setStretchLastSection(true);
+    // view->resizeColumnsToContents();
+    // updateGeometry();
+    // show();
+}
+
+void TaskEditor::updateColumnLayout()
+{
+    // Update column widths and visibility
+
+    QString s = "/taskeditor/column/%1/";
+
+    // Priority
+    int i = 0;
+    view->setColumnWidth(i, settings.value(s.arg(i) + "width", 80).toInt());
+    view->setColumnHidden(i,
+                          settings.value(s.arg(i) + "hidden", false).toBool());
+
+    // Delta
+    i = 1;
+    view->setColumnWidth(i, settings.value(s.arg(i) + "width", 50).toInt());
+    view->setColumnHidden(i,
+                          settings.value(s.arg(i) + "hidden", false).toBool());
+
+    // Status
+    i = 2;
+    view->setColumnWidth(i, settings.value(s.arg(i) + "width", 50).toInt());
+    view->setColumnHidden(i,
+                          settings.value(s.arg(i) + "hidden", false).toBool());
+
+    // Age total
+    i = 3;
+    view->setColumnWidth(i, settings.value(s.arg(i) + "width", 50).toInt());
+    view->setColumnHidden(i,
+                          settings.value(s.arg(i) + "hidden", true).toBool());
+
+    // Age mod
+    i = 4;
+    view->setColumnWidth(i, settings.value(s.arg(i) + "width", 50).toInt());
+    view->setColumnHidden(i,
+                          settings.value(s.arg(i) + "hidden", true).toBool());
+
+    // Sleep
+    i = 5;
+    view->setColumnWidth(i, settings.value(s.arg(i) + "width", 80).toInt());
+    view->setColumnHidden(i,
+                          settings.value(s.arg(i) + "hidden", true).toBool());
+
+    // Map
+    i = 6;
+    view->setColumnWidth(i, settings.value(s.arg(i) + "width", 100).toInt());
+    view->setColumnHidden(i,
+                          settings.value(s.arg(i) + "hidden", true).toBool());
+
+    // Flags
+    i = 7;
+    view->setColumnWidth(i, settings.value(s.arg(i) + "width", 80).toInt());
+    view->setColumnHidden(i,
+                          settings.value(s.arg(i) + "hidden", false).toBool());
+
+    // Taskname
+    i = 8;
+    view->setColumnWidth(i, settings.value(s.arg(i) + "width", 80).toInt());
+    view->setColumnHidden(i,
+                          settings.value(s.arg(i) + "hidden", false).toBool());
+}
+
+void TaskEditor::selectionChanged(const QItemSelection &selected,
+                                  const QItemSelection &)
+{
+    // FIXME-3 what, if multiple selection in MapEditor?
+
+    if (selected.indexes().isEmpty())
+        // Avoid segfault on quit, when selected is empty
+        return;
+
+    QItemSelection sel0 = filterActiveModel->mapSelectionToSource(selected);
+    QModelIndex ix = sel0.indexes().first();
+    Task *t = taskModel->getTask(ix);
+    if (t) {
+        BranchItem *bi = t->getBranch();
+        if (bi) {
+            VymModel *m = bi->getModel();
+            if (!blockExternalSelect)
+                m->select(bi);
+            if (m != mainWindow->currentModel())
+                mainWindow->gotoModel(m);
+            view->setStyleSheet(
+                "QTableView {selection-background-color: " +
+                m->getSelectionBrushColor().name() +
+                "; selection-color:" + bi->getHeadingColor().name() + "}" +
+                "QTableView:focus {" + editorFocusStyle + "}");
+            view->scrollTo(selected.indexes().first());
+        }
+    }
+}
+
+void TaskEditor::contextMenuEvent(QContextMenuEvent *e)
+{
+    taskContextMenu->popup(e->globalPos());
+}
+
+void TaskEditor::toggleFilterMap() { setFilterMap(); }
+
+void TaskEditor::toggleFilterActive() { setFilterActive(); }
+void TaskEditor::toggleFilterNew() { setFilterNew(); }
+void TaskEditor::toggleFilterBlocker() { setFilterBlocker(); }
+
+void TaskEditor::toggleFilterFlags1() { setFilterFlags1(); }
+void TaskEditor::toggleFilterFlags2() { setFilterFlags2(); }
+void TaskEditor::toggleFilterFlags3() { setFilterFlags3(); }
diff --git a/src/taskeditor.h b/src/taskeditor.h
new file mode 100644 (file)
index 0000000..109634d
--- /dev/null
@@ -0,0 +1,67 @@
+#ifndef TASKEDITOR_H
+#define TASKEDITOR_H
+
+#include <QTableView>
+#include <QWidget>
+
+#include "taskfiltermodel.h"
+
+class BranchItem;
+class QTableView;
+class Task;
+class TaskModel;
+class QSortFilterProxyModel;
+
+class TaskEditor : public QWidget {
+    Q_OBJECT
+
+  public:
+    TaskEditor(QWidget *parent = NULL);
+    ~TaskEditor();
+    void setMapName(const QString &);
+    bool isUsedFilterMap();
+    void setFilterMap();
+    bool isUsedFilterActive();
+    void setFilterActive();
+    void setFilterNew();
+    void setFilterBlocker();
+    void setFilterFlags1();
+    void setFilterFlags2();
+    void setFilterFlags3();
+    void updateFilters();
+    bool taskVisible(Task*);
+    void resetDeltaPrio();
+    bool select(Task *task);
+    void clearSelection();
+    void showSelection();
+    void contextMenuEvent(QContextMenuEvent *e);
+
+  private slots:
+    void cellClicked(QModelIndex);
+    void headerContextMenu();
+    void updateColumnLayout();
+    void selectionChanged(const QItemSelection &selected,
+                          const QItemSelection &);
+    void toggleFilterMap();
+    void toggleFilterActive();
+    void toggleFilterNew();
+    void toggleFilterBlocker();
+    void toggleFilterFlags1();
+    void toggleFilterFlags2();
+    void toggleFilterFlags3();
+
+  private:
+    QTableView *view;
+    TaskFilterModel *filterActiveModel;
+    QString currentMapName;
+    QAction *actionToggleFilterMap;
+    QAction *actionToggleFilterActive;
+    QAction *actionToggleFilterNew;
+    QAction *actionToggleFilterBlocker;
+    QAction *actionToggleFilterFlags1;
+    QAction *actionToggleFilterFlags2;
+    QAction *actionToggleFilterFlags3;
+    bool blockExternalSelect;
+};
+
+#endif
diff --git a/src/taskfiltermodel.cpp b/src/taskfiltermodel.cpp
new file mode 100644 (file)
index 0000000..8346f22
--- /dev/null
@@ -0,0 +1,79 @@
+#include "taskfiltermodel.h"
+#include "taskmodel.h"
+
+#include <QSortFilterProxyModel>
+
+#include "branchitem.h"
+
+extern TaskModel *taskModel;
+
+void TaskFilterModel::setFilter(bool b) { useFilter = b; }
+
+void TaskFilterModel::setMapFilter(const QString &s) { mapFilter = s; }
+
+void TaskFilterModel::setFilterNew(bool b) { filterNew = b; }
+
+void TaskFilterModel::setFilterBlocker(bool b) { filterBlocker = b; }
+
+void TaskFilterModel::setFilterFlags1(bool b) { filterFlags1 = b; }
+
+void TaskFilterModel::setFilterFlags2(bool b) { filterFlags2 = b; }
+
+void TaskFilterModel::setFilterFlags3(bool b) { filterFlags3 = b; }
+
+bool TaskFilterModel::taskVisible(Task* task) const
+{
+    // Filter by mapname
+    QString mapname = task->getMapName();
+    if (mapname.isEmpty())
+        mapname = "justSomePseudoMapNameForFiltering";
+    if (!mapFilter.isEmpty() && mapname != mapFilter)
+        return false;
+
+    // Filter new tasks
+    if (filterNew && task->getAwake() != Task::Morning)
+        return false;
+
+    BranchItem *bi = task->getBranch();
+
+    // Filter blocker tasks (stopsign)
+    if (filterBlocker && !bi->hasActiveFlag("stopsign") )
+        return false;
+
+    // Filter active tasks
+    if (useFilter && ((task->getSecsSleep() > 0) ||
+                      (task->getStatus() == Task::Finished)))
+        return false;
+
+    // Filter arrow flags
+    if (filterFlags1 && filterFlags2) {
+        if (bi->hasActiveFlag("arrow-up") ||
+            bi->hasActiveFlag("2arrow-up"))
+            return true;
+        else
+            return false;
+    }
+
+    if (filterFlags1 &&
+        !bi->hasActiveFlag("arrow-up"))
+        return false;
+
+    if (filterFlags2 &&
+        !bi->hasActiveFlag("2arrow-up"))
+        return false;
+
+    // Filter flags: Flags, which have neither arrow-up nor 2arrow-up
+    if (filterFlags3 &&
+        (bi->hasActiveFlag("arrow-up") ||
+         bi->hasActiveFlag("2arrow-up")))
+        return false;
+    return true;
+}
+
+bool TaskFilterModel::filterAcceptsRow(int sourceRow,
+                                       const QModelIndex &sourceParent) const
+{
+    QModelIndex ix = sourceModel()->index(sourceRow, 0, sourceParent);
+
+    return taskVisible(taskModel->getTask(ix));
+}
diff --git a/src/taskfiltermodel.h b/src/taskfiltermodel.h
new file mode 100644 (file)
index 0000000..f16eaec
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef TASKFILTERMODEL_H
+#define TASKFILTERMODEL_H
+
+#include <QSortFilterProxyModel>
+
+class Task;
+
+class TaskFilterModel : public QSortFilterProxyModel {
+  public:
+    void setFilter(bool b);
+    void setFilterNew(bool b);
+    void setFilterBlocker(bool b);
+    void setMapFilter(const QString &s);
+    void setFilterFlags1(bool b);
+    void setFilterFlags2(bool b);
+    void setFilterFlags3(bool b);
+    bool taskVisible(Task*) const;
+
+  protected:
+    bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
+
+  private:
+    bool useFilter;
+    QString mapFilter;
+    bool filterNew;
+    bool filterBlocker;
+    bool filterFlags1;
+    bool filterFlags2;
+    bool filterFlags3;
+};
+
+#endif
diff --git a/src/taskmodel.cpp b/src/taskmodel.cpp
new file mode 100644 (file)
index 0000000..b76baf3
--- /dev/null
@@ -0,0 +1,529 @@
+#include "taskmodel.h"
+
+#include <QDebug>
+
+#include "branchitem.h"
+#include "branchobj.h"
+#include "task.h"
+#include "vymmodel.h"
+
+TaskModel::TaskModel(QObject *parent) : QAbstractTableModel(parent)
+{
+    showParentsLevel = 0;
+
+    QSize size = QSize(22, 22);
+    QSize size2 = QSize(44, 22);
+
+    arrow_up_icon =
+        QIcon(QPixmap(":/flag-arrow-up.svg").scaled(size, Qt::KeepAspectRatio));
+    arrow_2up_icon = QIcon(
+        QPixmap(":/flag-arrow-2up.svg").scaled(size, Qt::KeepAspectRatio));
+
+    task_new_icon =
+        QIcon(QPixmap(":/flag-task-new.svg").scaled(size, Qt::KeepAspectRatio));
+    task_new_morning_icon = QIcon(QPixmap(":/flag-task-new-morning.svg")
+                                      .scaled(size, Qt::KeepAspectRatio));
+    task_new_sleeping_icon = QIcon(QPixmap(":/flag-task-new-sleeping.svg")
+                                       .scaled(size, Qt::KeepAspectRatio));
+
+    task_wip_icon =
+        QIcon(QPixmap(":/flag-task-wip.svg").scaled(size, Qt::KeepAspectRatio));
+    task_wip_morning_icon = QIcon(QPixmap(":/flag-task-wip-morning.svg")
+                                      .scaled(size, Qt::KeepAspectRatio));
+    task_wip_sleeping_icon = QIcon(QPixmap(":/flag-task-wip-sleeping.svg")
+                                       .scaled(size, Qt::KeepAspectRatio));
+
+    task_finished_icon = QIcon(
+        QPixmap(":/flag-task-finished.svg").scaled(size, Qt::KeepAspectRatio));
+
+    taskfilter_stopsign_icon =
+        QIcon(QPixmap(":/flag-stopsign.svg").scaled(size, Qt::KeepAspectRatio));
+    taskfilter_stopsign_arrow_up_icon =
+        QIcon(QPixmap(":/flag-stopsign-arrow-up.png")
+                  .scaled(size2, Qt::KeepAspectRatio));
+    taskfilter_stopsign_arrow_2up_icon =
+        QIcon(QPixmap(":/flag-stopsign-arrow-2up.png")
+                  .scaled(size2, Qt::KeepAspectRatio));
+}
+
+QModelIndex TaskModel::index(Task *t) const
+{
+    int n = tasks.indexOf(t);
+    if (n < 0)
+        return QModelIndex();
+    else
+        return createIndex(n, 0, t);
+}
+
+QModelIndex TaskModel::indexRowEnd(Task *t)
+{
+    int n = tasks.indexOf(t);
+    if (n < 0)
+        return QModelIndex();
+    else
+        return createIndex(n, 8, t);
+}
+
+Task *TaskModel::getTask(const QModelIndex &ix) const
+{
+    if (ix.isValid())
+        return tasks.at(ix.row());
+    else
+        return NULL;
+}
+
+Task *TaskModel::getTask(const int i) const
+{
+    if (i >= 0 && i < count())
+        return getTask(createIndex(i, 0));
+    else
+        return NULL;
+}
+
+int TaskModel::rowCount(const QModelIndex &parent) const
+{
+    Q_UNUSED(parent);
+    return tasks.size();
+}
+
+int TaskModel::columnCount(const QModelIndex &parent) const
+{
+    Q_UNUSED(parent);
+    return 9;
+}
+
+QVariant TaskModel::data(const QModelIndex &index, int role) const
+{
+    if (!index.isValid())
+        return QVariant();
+
+    if (index.row() >= tasks.size() || index.row() < 0)
+        return QVariant();
+
+    BranchItem *bi = tasks.at(index.row())->getBranch();
+    Task *t = tasks.at(index.row());
+
+    if (role == Qt::DisplayRole) {
+        if (index.column() == 0)
+            return t->getPriority();
+        else if (index.column() == 1)
+            return t->getPriorityDelta();
+        else if (index.column() == 2)
+            return QString(); // return t->getStatusString() + " - "
+                              // +t->getAwakeString();
+        else if (index.column() == 3)
+            return t->getAgeCreation();
+        else if (index.column() == 4)
+            return t->getAgeModification();
+        else if (index.column() == 5) {
+            if (t->getDaysSleep() > 0)
+                return t->getDaysSleep();
+            else
+                return "-";
+        }
+        else if (index.column() == 6) {
+            QString s = bi->getModel()->getMapName();
+            if (s.isEmpty())
+                return "-";
+            else
+                return bi->getModel()->getMapName();
+        }
+        else if (index.column() == 8) {
+            BranchItem *bi = tasks.at(index.row())->getBranch();
+            return bi->getHeadingPlainWithParents(showParentsLevel);
+        }
+    }
+    else if (role == Qt::DecorationRole && index.column() == 2) {
+        QString s = t->getIconString();
+        if (s == "task-new")
+            return task_new_icon;
+        else if (s == "task-new-morning")
+            return task_new_morning_icon;
+        else if (s == "task-new-sleeping")
+            return task_new_sleeping_icon;
+        else if (s == "task-wip")
+            return task_wip_icon;
+        else if (s == "task-wip-sleeping")
+            return task_wip_sleeping_icon;
+        else if (s == "task-wip-morning")
+            return task_wip_morning_icon;
+        else if (s == "task-finished")
+            return task_finished_icon;
+        else {
+            qWarning() << "Unknown task type in TaskModel::data: " << s;
+            return QVariant();
+        }
+    }
+    else if (role == Qt::DecorationRole && index.column() == 7) {
+        BranchItem *bi = t->getBranch();
+        if (bi->hasActiveFlag("stopsign")) {
+            if (bi->hasActiveFlag("2arrow-up"))
+                return taskfilter_stopsign_arrow_2up_icon;
+            else if (bi->hasActiveFlag("arrow-up"))
+                return taskfilter_stopsign_arrow_up_icon;
+            else
+                return taskfilter_stopsign_icon;
+        }
+        else {
+            if (bi->hasActiveFlag("2arrow-up"))
+                return arrow_2up_icon;
+            else if (bi->hasActiveFlag("arrow-up"))
+                return arrow_up_icon;
+        }
+        return QIcon();
+    }
+    else // role != Qt::DisplayRole
+    {
+        if (role == Qt::EditRole && index.column() == 1) // DeltaPrio
+            return t->getPriorityDelta();
+        if (role == Qt::ForegroundRole && bi)
+            return bi->getHeadingColor();
+        if (role == Qt::BackgroundRole && bi) {
+            BranchItem *frameBI = bi->getFramedParentBranch(bi);
+            if (frameBI && index.column() != 5) {
+                BranchObj *bo = frameBI->getBranchObj();
+                if (bo)
+                    // Return frame background
+                    return bo->getFrameBrushColor();
+            }
+            else {
+                // Return map background
+                return bi->getModel()->getMapBackgroundColor();
+            }
+        }
+    }
+
+    return QVariant();
+}
+
+QVariant TaskModel::headerData(int section, Qt::Orientation orientation,
+                               int role) const
+{
+    if (role != Qt::DisplayRole)
+        return QVariant();
+
+    if (orientation == Qt::Horizontal) {
+        switch (section) {
+        case 0:
+            return tr("Prio", "TaskEditor");
+        case 1:
+            return tr("Delta", "TaskEditor");
+        case 2:
+            return tr("Status", "TaskEditor");
+        case 3:
+            return tr("Age total", "TaskEditor");
+        case 4:
+            return tr("Age mod.", "TaskEditor");
+        case 5:
+            return tr("Sleep", "TaskEditor");
+        case 6:
+            return tr("Map", "TaskEditor");
+        case 7:
+            return tr("Flags", "TaskEditor");
+        case 8:
+            return tr("Task", "TaskEditor");
+        default:
+            return QVariant();
+        }
+    }
+    return QVariant();
+}
+
+bool TaskModel::insertRows(int position, int rows, const QModelIndex &index,
+                           Task *t)
+{
+    Q_UNUSED(index);
+    beginInsertRows(QModelIndex(), position, position + rows - 1);
+
+    for (int row = 0; row < rows; row++)
+        tasks.insert(position, t);
+
+    endInsertRows();
+    return true;
+}
+
+bool TaskModel::removeRows(int position, int rows, const QModelIndex &index)
+{
+    Q_UNUSED(index);
+    beginRemoveRows(QModelIndex(), position, position + rows - 1);
+
+    for (int row = 0; row < rows; ++row)
+        delete (tasks.takeAt(position));
+
+    endRemoveRows();
+    return true;
+}
+
+bool TaskModel::setData(const QModelIndex &index, const QVariant &value,
+                        int role)
+{
+    if (index.isValid() && role == Qt::EditRole) {
+        Task *t = tasks.at(index.row());
+        if (!t) {
+            qWarning() << "TaskModel::setData  no task found";
+            return false;
+        }
+
+        if (index.column() == 1) // set Delta Priority
+        {
+            BranchItem *bi = t->getBranch();
+            VymModel *m = bi->getModel();
+            m->setTaskPriorityDelta(value.toInt(), bi);
+            recalcPriorities();
+            emit(dataChanged(index, index));
+            return true;
+        }
+        if (index.column() == 8) // set Heading
+        {
+            BranchItem *bi = t->getBranch();
+            VymModel *m = bi->getModel();
+            m->setHeadingPlainText(value.toString(), bi);
+            emit(dataChanged(index, index));
+            return true;
+        }
+    }
+
+    return false;
+}
+
+void TaskModel::emitDataChanged(Task *t)
+{
+    QModelIndex ix = index(t);
+    if (ix.isValid()) {
+        int row = ix.row();
+        int col = 0;
+        while (col < columnCount(QModelIndex())) {
+            ix = createIndex(row, col, t);
+            if (ix.isValid())
+                emit(dataChanged(ix, ix));
+            col++;
+        }
+    }
+}
+
+Qt::ItemFlags TaskModel::flags(const QModelIndex &index) const
+{
+    if (!index.isValid())
+        return Qt::ItemIsEnabled;
+
+    return QAbstractTableModel::flags(index) | Qt::ItemIsDragEnabled |
+           Qt::ItemIsDropEnabled | Qt::ItemIsEditable;
+}
+
+int TaskModel::count(VymModel *model) const
+{
+    if (!model)
+        return tasks.size();
+    int n = 0;
+    foreach (Task *t, tasks)
+        if (t->getBranch()->getModel() == model)
+            n++;
+    return n;
+}
+
+Task *TaskModel::createTask(BranchItem *bi)
+{
+    if (bi) {
+        foreach (Task *t, tasks) {
+            if (t->getBranch() == bi) {
+                qWarning() << "TaskModel::createTask Branch exists already!";
+                return NULL;
+            }
+        }
+        Task *task = new Task(this);
+        task->setBranch(bi);
+        task->setAwake(Task::Morning);
+        insertRows(tasks.count(), 1, QModelIndex(), task);
+
+        bi->setTask(task);
+
+        return task;
+    }
+    qWarning() << "TaskEditor::addItem - item exists";
+    return NULL;
+}
+
+void TaskModel::deleteTask(Task *t)
+{
+    int pos = tasks.indexOf(t);
+    if (pos >= 0)
+        removeRows(pos, 1, QModelIndex());
+}
+
+bool TaskModel::updateAwake(bool force)
+{
+    bool awake_changed = false;
+    foreach (Task *t, tasks) {
+        if (t->updateAwake() || force) {
+            t->getBranch()->updateTaskFlag();
+            awake_changed = true;
+        }
+    }
+    return awake_changed;
+}
+
+void TaskModel::recalcPriorities()
+{
+    emit(layoutAboutToBeChanged());
+    int minPrio = 1000000;
+    foreach (Task *t, tasks) {
+        int p = 0;
+        BranchItem *bi = t->getBranch();
+
+        // Status
+        switch (t->getStatus()) {
+        case Task::NotStarted:
+            break;
+        case Task::WIP:
+            p += 10;
+            break;
+        case Task::Finished:
+            p += 2000;
+            break;
+        }
+
+        // Awake and sleeping
+        switch (t->getAwake()) {
+        case Task::Morning:
+            p -= 1000;
+            break;
+        case Task::WideAwake:
+            break;
+        case Task::Sleeping:
+            //p += 1000 + t->getDaysSleep();
+            break;
+        }
+
+        // Color (importance)
+        QColor c = bi->getHeadingColor();
+
+        // light blueish green
+        if (c == QColor("#00aa7f"))
+            p -= 20;
+
+        // green (e.g. from vym < 2.6.3 with #005500)
+        if (c.red() == 0 && c.blue() == 0 && c.green() < 160)
+            p -= 40;
+
+        // orange
+        if (c == QColor("#d95100"))
+            p -= 60;
+
+        // red
+        if (c == QColor("#ff0000"))
+            p -= 80;
+
+        // Flags
+        if (bi->hasActiveFlag("stopsign"))
+            p -= 450;
+        if (bi->hasActiveFlag("2arrow-up"))
+            p -= 1000;
+        if (bi->hasActiveFlag("arrow-up"))
+            p -= 500;
+
+        // Age
+        p -= t->getAgeModification();
+        p -= t->getAgeCreation() * 1.0 / 365 *
+             80; // After a year, this is as important as "red"
+
+        // Position in subtree
+        p += bi->num();
+
+        // Priority delta (set menually)
+        p -= t->getPriorityDelta();
+
+        // Set priority finally
+        t->setPriority(p);
+        if (p < minPrio)
+            minPrio = p;
+    }
+    // Normalize, so that most important task has prio 1
+    foreach (Task *t, tasks) {
+        t->setPriority(1 - minPrio + t->getPriority());
+    }
+
+    emit(layoutChanged());
+}
+
+void TaskModel::setShowParentsLevel(uint i)
+{
+    showParentsLevel = i;
+    recalcPriorities(); // Triggers update of view
+}
+
+uint TaskModel::getShowParentsLevel() { return showParentsLevel; }
+
+Qt::DropActions TaskModel::supportedDropActions() const
+{
+    return Qt::MoveAction;
+}
+
+QStringList TaskModel::mimeTypes() const
+{
+    QStringList types;
+    types << "application/vnd.text.list";
+    return types;
+}
+
+QMimeData *TaskModel::mimeData(const QModelIndexList &indexes) const
+{
+    QMimeData *mimeData = new QMimeData();
+    QByteArray encodedData;
+
+    QDataStream stream(&encodedData, QIODevice::WriteOnly);
+
+    if (indexes.count() > 0 && indexes.first().isValid()) {
+        Task *task = getTask(indexes.first());
+
+        // Field 0: Heading
+        QString text = task->getBranch()->getHeadingPlain();
+        stream << text;
+
+        // Field 1: task row
+        stream << QString::number(index(task).row());
+    }
+
+    mimeData->setData("application/vnd.text.list", encodedData);
+    return mimeData;
+}
+
+bool TaskModel::dropMimeData(const QMimeData *data, Qt::DropAction action,
+                             int row, int column, const QModelIndex &parent)
+{
+    Q_UNUSED(row);
+
+    if (action == Qt::IgnoreAction)
+        return true;
+
+    if (!data->hasFormat("application/vnd.text.list"))
+        return false;
+
+    if (column > 0)
+        return false;
+
+    QByteArray encodedData = data->data("application/vnd.text.list");
+    QDataStream stream(&encodedData, QIODevice::ReadOnly);
+    QStringList newItems;
+    int rows = 0;
+
+    while (!stream.atEnd()) {
+        QString text;
+        stream >> text;
+        newItems << text;
+        ++rows;
+    }
+
+    Task *dst = getTask(parent);
+    Task *src = getTask(newItems[1].toInt());
+
+    // qDebug() << "Dropping: " <<  src->getBranch()->getHeadingPlain() << " on
+    // " << dst->getBranch()->getHeadingPlain();
+
+    int delta_p = dst->getPriority() - src->getPriority();
+
+    src->setPriorityDelta(src->getPriorityDelta() - delta_p + 1);
+    BranchItem *bi = src->getBranch();
+    bi->getModel()->emitDataChanged(bi);
+    bi->getModel()->setChanged();
+    return true;
+}
diff --git a/src/taskmodel.h b/src/taskmodel.h
new file mode 100644 (file)
index 0000000..d73681b
--- /dev/null
@@ -0,0 +1,74 @@
+#ifndef TASKMODEL_H
+#define TASKMODEL_H
+
+#include <QAbstractTableModel>
+#include <QIcon>
+#include <QList>
+
+#include "task.h"
+
+class BranchItem;
+class VymModel;
+
+class TaskModel : public QAbstractTableModel {
+    Q_OBJECT
+
+  public:
+    TaskModel(QObject *parent = 0);
+    QModelIndex index(Task *t) const;
+    QModelIndex indexRowEnd(Task *t);
+    Task *getTask(const QModelIndex &ix) const;
+    Task *getTask(const int i) const;
+    int rowCount(const QModelIndex &parent) const;
+    int columnCount(const QModelIndex &parent) const;
+    QVariant data(const QModelIndex &index, int role) const;
+    QVariant headerData(int section, Qt::Orientation orientation,
+                        int role) const;
+    Qt::ItemFlags flags(const QModelIndex &index) const;
+    bool setData(const QModelIndex &index, const QVariant &value,
+                 int role = Qt::EditRole);
+    //    bool setData(const QModelIndex &index, Task *t, int
+    //    role=Qt::EditRole);
+    void emitDataChanged(Task *t);
+    bool insertRows(int position, int rows,
+                    const QModelIndex &index = QModelIndex(), Task *t = nullptr);
+    bool removeRows(int position, int rows,
+                    const QModelIndex &index = QModelIndex());
+
+    int count(VymModel *model = nullptr) const;
+    Task *createTask(BranchItem *bi);
+    void deleteTask(Task *t);
+    bool updateAwake(bool force = false);
+    void recalcPriorities();
+
+    void setShowParentsLevel(uint i);
+    uint getShowParentsLevel();
+
+    // Drag and drop support
+    Qt::DropActions supportedDropActions() const;
+    QStringList mimeTypes() const;
+    QMimeData *mimeData(const QModelIndexList &indexes) const;
+    bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row,
+                      int column, const QModelIndex &parent);
+
+  private:
+    QList<Task *> tasks;
+    uint showParentsLevel;
+
+    QIcon arrow_up_icon;
+    QIcon arrow_2up_icon;
+    QIcon task_new_icon;
+    QIcon task_new_morning_icon;
+    QIcon task_new_sleeping_icon;
+    QIcon task_wip_icon;
+
+    QIcon task_wip_morning_icon;
+    QIcon task_wip_sleeping_icon;
+    QIcon task_finished_icon;
+
+    QIcon taskfilter_stopsign_icon;
+    QIcon taskfilter_stopsign_arrow_up_icon;
+    QIcon taskfilter_stopsign_arrow_2up_icon;
+};
+
+#endif
diff --git a/src/texteditor.cpp b/src/texteditor.cpp
new file mode 100644 (file)
index 0000000..196092c
--- /dev/null
@@ -0,0 +1,1227 @@
+#include "texteditor.h"
+
+#include <QAction>
+#include <QActionGroup>
+#include <QApplication>
+#include <QColorDialog>
+#include <QComboBox>
+#include <QFileDialog>
+#include <QFontDialog>
+#include <QMenuBar>
+#include <QMessageBox>
+#include <QPrintDialog>
+#include <QPrinter>
+#include <QStatusBar>
+#include <QTextEdit>
+#include <QToolBar>
+
+#include <typeinfo>
+
+#include "mainwindow.h"
+#include "settings.h"
+#include "shortcuts.h"
+
+extern Main *mainWindow;
+extern int statusbarTime;
+extern Settings settings;
+
+extern QAction *actionViewToggleNoteEditor;
+
+extern QString vymName;
+
+extern Switchboard switchboard;
+
+extern QPrinter *printer;
+extern bool debug;
+
+///////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////
+
+TextEditor::TextEditor()
+{
+    statusBar()->hide(); // Hide sizeGrip on default, which comes with statusBar
+
+    e = new QTextEdit(this);
+    e->setFocus();
+    e->setTabStopDistance(20); // unit is pixel, default would be 80
+    e->setAutoFillBackground(true);
+    e->installEventFilter(this);
+    connect(e, SIGNAL(textChanged()), this, SLOT(editorChanged()));
+    setCentralWidget(e);
+    statusBar()->showMessage(tr("Ready", "Statusbar message"), statusbarTime);
+
+    connect(e, SIGNAL(currentCharFormatChanged(const QTextCharFormat &)), this,
+            SLOT(formatChanged(const QTextCharFormat &)));
+
+    // Don't show menubar per default
+    menuBar()->hide();
+
+    // Toolbars
+    setupFileActions();
+    setupEditActions();
+    setupFormatActions();
+    setupSettingsActions();
+
+    // Various states
+    blockChangedSignal = false;
+    blockTextUpdate = false;
+    setInactive();
+
+    editorName = "Text editor";
+    setEditorTitle("");
+}
+
+TextEditor::~TextEditor()
+{
+    // Save Settings
+    QString n = QString("/satellite/%1/").arg(shortcutScope);
+    settings.setValue(n + "geometry/size", size());
+    settings.setValue(n + "geometry/pos", pos());
+    settings.setValue(n + "state", saveState(0));
+
+    QString s;
+    if (actionSettingsFonthintDefault->isChecked())
+        s = "fixed";
+    else
+        s = "variable";
+    settings.setValue(n + "fonts/fonthintDefault", s);
+    settings.setValue(n + "fonts/varFont", varFont.toString());
+    settings.setValue(n + "fonts/fixedFont", fixedFont.toString());
+
+    settings.setValue(n + "colors/richTextDefaultBackground", colorRichTextDefaultBackground.name());
+    settings.setValue(n + "colors/richTextDefaultForeground", colorRichTextDefaultForeground.name());
+}
+
+void TextEditor::init(const QString &scope)
+{
+    shortcutScope = scope;
+    QString n = QString("/satellite/%1/").arg(shortcutScope);
+    restoreState(settings.value(n + "state", 0).toByteArray());
+    filenameHint = "";
+    fixedFont.fromString(
+        settings.value(n + "fonts/fixedFont", "Courier,12,-1,5,48,0,0,0,1,0")
+            .toString());
+    varFont.fromString(
+        settings
+            .value(n + "fonts/varFont", "DejaVu Sans Mono,12,-1,0,50,0,0,0,0,0")
+            .toString());
+    QString s =
+        settings.value(n + "fonts/fonthintDefault", "variable").toString();
+    if (s == "fixed") {
+        actionSettingsFonthintDefault->setChecked(true);
+        e->setCurrentFont(fixedFont);
+    }
+    else {
+        actionSettingsFonthintDefault->setChecked(false);
+        e->setCurrentFont(varFont);
+    }
+
+    // Default colors for RichText  //FIXME-2 here? Though we use plainText as default?
+    QPixmap pix(16, 16);
+    colorRichTextDefaultBackground.setNamedColor(
+        settings.value(n + "colors/richTextDefaultBackground", "#ffffff").toString());
+    pix.fill(colorRichTextDefaultBackground);
+    actionFilledEditorColor->setIcon(pix);
+
+
+    colorRichTextDefaultForeground.setNamedColor(
+        settings.value(n + "colors/richTextDefaultForeground", "#000000").toString());
+    pix.fill(colorRichTextDefaultForeground);
+    actionFontColor->setIcon(pix);
+
+    // Default is PlainText
+    actionFormatRichText->setChecked(false);
+    clear();
+}
+
+bool TextEditor::isEmpty()
+{
+    if (e->toPlainText().length() > 0)
+        return false;
+    else
+        return true;
+}
+
+void TextEditor::setEditorTitle(const QString &s)
+{
+    editorTitle = (s.isEmpty()) ? editorName : editorName + ": " + s;
+
+    // Set title of parent dockWidget
+    if (parentWidget())
+        parentWidget()->setWindowTitle(editorTitle);
+
+    setWindowTitle(editorTitle);
+}
+
+QString TextEditor::getEditorTitle() { return editorTitle; }
+
+void TextEditor::setEditorName(const QString &s) { editorName = s; }
+
+void TextEditor::setFont(const QFont &font)
+{
+    blockChangedSignal = true;
+
+    QTextCursor tc = e->textCursor();
+    QTextCharFormat format = tc.charFormat();
+
+    tc.select(QTextCursor::Document);
+    format.setFont(font);
+    tc.setCharFormat(format);
+    tc.clearSelection();
+    fontChanged(fixedFont);
+
+    blockChangedSignal = false;
+}
+
+void TextEditor::setFontHint(const QString &fh)
+{
+    if (fh == "fixed") {
+        actionFormatUseFixedFont->setChecked(true);
+        e->setCurrentFont(fixedFont);
+        setFont(fixedFont);
+    }
+    else {
+        actionFormatUseFixedFont->setChecked(false);
+        e->setCurrentFont(varFont);
+        setFont(varFont);
+    }
+}
+
+QString TextEditor::getFontHint()
+{
+    if (actionFormatUseFixedFont->isChecked())
+        return "fixed";
+    else
+        return "var";
+}
+
+QString TextEditor::getFontHintDefault()
+{
+    if (actionSettingsFonthintDefault->isChecked())
+        return "fixed";
+    else
+        return "var";
+}
+
+void TextEditor::setFilename(const QString &fn)
+{
+    if (state == filledEditor) {
+        if (fn.isEmpty()) {
+            filename = "";
+            statusBar()->showMessage(
+                tr("No filename available for this note.", "Statusbar message"),
+                statusbarTime);
+        }
+        else {
+            filename = fn;
+            statusBar()->showMessage(
+                tr(QString("Current filename is %1").arg(filename).toUtf8(),
+                   "Statusbar message"),
+                statusbarTime);
+        }
+    }
+}
+
+QString TextEditor::getFilename() { return filename; }
+
+void TextEditor::setFilenameHint(const QString &fnh) { filenameHint = fnh; }
+
+QString TextEditor::getFilenameHint() { return filenameHint; }
+
+QString TextEditor::getText()
+{
+    if (e->toPlainText().isEmpty())
+        return QString();
+
+    if (actionFormatRichText->isChecked())
+        return e->toHtml();
+    else
+        return e->toPlainText();
+}
+
+VymText TextEditor::getVymText()
+{
+    VymText vt;
+
+    if (actionFormatRichText->isChecked())
+        vt.setRichText(e->toHtml());
+    else
+        vt.setPlainText(e->toPlainText());
+
+    if (actionFormatUseFixedFont->isChecked())
+        vt.setFontHint(getFontHint());
+
+    return vt;
+}
+
+bool TextEditor::findText(const QString &t,
+                          const QTextDocument::FindFlags &flags)
+{
+    if (e->find(t, flags))
+        return true;
+    else
+        return false;
+}
+
+bool TextEditor::findText(const QString &t,
+                          const QTextDocument::FindFlags &flags, int i)
+{
+    // Position at beginning
+    QTextCursor c = e->textCursor();
+    c.setPosition(0, QTextCursor::MoveAnchor);
+    e->setTextCursor(c);
+
+    // Search for t
+    int j = 0;
+    while (j <= i) {
+        if (!e->find(t, flags))
+            return false;
+        j++;
+    }
+    return true;
+}
+
+void TextEditor::setTextCursor(const QTextCursor &cursor)
+{
+    e->setTextCursor(cursor);
+}
+
+QTextCursor TextEditor::getTextCursor() { return e->textCursor(); }
+
+void TextEditor::setFocus() { e->setFocus(); }
+
+void TextEditor::setupFileActions()
+{
+    QToolBar *tb = addToolBar(tr("Note Actions"));
+    tb->setObjectName("noteEditorFileActions");
+    QMenu *fileMenu = menuBar()->addMenu(tr("&Note", "Menubar"));
+
+    QString tag = tr("Texteditor", "Shortcuts");
+    QAction *a;
+    a = new QAction(QPixmap(":/fileopen.png"), tr("&Import..."), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_O);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textLoad", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(textLoad()));
+    tb->addAction(a);
+    fileMenu->addAction(a);
+    actionFileLoad = a;
+
+    fileMenu->addSeparator();
+    a = new QAction(QPixmap(":/filesave.png"), tr("&Export..."), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_S);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textSave", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(textSave()));
+    tb->addAction(a);
+    fileMenu->addAction(a);
+    addAction(a);
+    actionFileSave = a;
+
+    a = new QAction(tr("Export &As... (HTML)"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(textSaveAs()));
+    fileMenu->addAction(a);
+    actionFileSaveAs = a;
+
+    a = new QAction(tr("Export &As...(ASCII)"), this);
+    a->setShortcut(Qt::ALT + Qt::Key_X);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textExportAsASCII", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(textExportAsASCII()));
+    fileMenu->addAction(a);
+    addAction(a);
+    actionFileSaveAs = a;
+
+    fileMenu->addSeparator();
+    a = new QAction(QPixmap(":/fileprint.png"), tr("&Print..."), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_P);
+    switchboard.addSwitch("textPrint", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(textPrint()));
+    tb->addAction(a);
+    fileMenu->addAction(a);
+    actionFilePrint = a;
+
+    a = new QAction(QPixmap(":/edittrash.png"), tr("&Delete All"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(deleteAll()));
+    fileMenu->addAction(a);
+    tb->addAction(a);
+    actionFileDeleteAll = a;
+}
+
+void TextEditor::setupEditActions()
+{
+    QString tag = tr("Texteditor", "Shortcuts");
+    QToolBar *editToolBar = addToolBar(tr("Edit Actions"));
+    editToolBar->setObjectName("noteEditorEditActions");
+    editToolBar->hide();
+    QMenu *editMenu = menuBar()->addMenu(tr("Edi&t"));
+
+    QAction *a;
+    a = new QAction(QPixmap(":/undo.png"), tr("&Undo"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_Z);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textUndo", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), e, SLOT(undo()));
+    editMenu->addAction(a);
+    editToolBar->addAction(a);
+    actionEditUndo = a;
+
+    a = new QAction(QPixmap(":/redo.png"), tr("&Redo"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_Y);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textRedo", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), e, SLOT(redo()));
+    editMenu->addAction(a);
+    editToolBar->addAction(a);
+    actionEditRedo = a;
+
+    editMenu->addSeparator();
+    a = new QAction(QPixmap(), tr("Select and copy &all"), this);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    a->setShortcut(Qt::CTRL + Qt::Key_A);
+    switchboard.addSwitch("textCopyAll", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(editCopyAll()));
+    editMenu->addAction(a);
+
+    editMenu->addSeparator();
+    a = new QAction(QPixmap(":/editcopy.png"), tr("&Copy"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_C);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textCopy", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), e, SLOT(copy()));
+    editMenu->addAction(a);
+    editToolBar->addAction(a);
+    actionEditCopy = a;
+
+    a = new QAction(QPixmap(":/editcut.png"), tr("Cu&t"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_X);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textCut", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), e, SLOT(cut()));
+    editMenu->addAction(a);
+    editToolBar->addAction(a);
+    actionEditCut = a;
+
+    a = new QAction(QPixmap(":/editpaste.png"), tr("&Paste"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_V);
+    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textPaste", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), e, SLOT(paste()));
+    editMenu->addAction(a);
+    editToolBar->addAction(a);
+    actionEditPaste = a;
+}
+
+void TextEditor::setupFormatActions()
+{
+    QString tag = tr("Texteditor", "Shortcuts");
+    fontHintsToolBar =
+        addToolBar(tr("Font hints", "toolbar in texteditor"));
+    fontHintsToolBar->setObjectName("noteEditorFontToolBar");
+    QMenu *formatMenu = menuBar()->addMenu(tr("F&ormat"));
+
+    QAction *a;
+
+    a = new QAction(QPixmap(":/formatfixedfont.png"), tr("&Font hint"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_H);
+    a->setCheckable(true);
+    a->setChecked(
+        settings.value("/noteeditor/fonts/useFixedByDefault", false).toBool());
+    switchboard.addSwitch("textToggleFonthint", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleFonthint()));
+    formatMenu->addAction(a);
+    fontHintsToolBar->addAction(a);
+    actionFormatUseFixedFont = a;
+
+    // Original icon: ./share/icons/oxygen/22x22/actions/format-text-color.png
+    a = new QAction(QPixmap(":/formatrichtext.png"), tr("&Richtext"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_R);
+    //    a->setShortcutContext (Qt::WidgetShortcut);
+    a->setCheckable(true);
+    switchboard.addSwitch("textToggleRichText", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(toggleRichText()));
+    formatMenu->addAction(a);
+    fontHintsToolBar->addAction(a);
+    actionFormatRichText = a;
+
+    fontToolBar = addToolBar(tr("Fonts", "toolbar in texteditor"));
+    fontToolBar->setObjectName("noteEditorFontToolBar");
+
+    comboFont = new QComboBox;
+    fontToolBar->addWidget(comboFont);
+    QFontDatabase fontDB;
+    comboFont->insertItems(0, fontDB.families());
+    connect(comboFont, SIGNAL(activated(const QString &)), this,
+            SLOT(textFamily(const QString &)));
+
+    comboSize = new QComboBox;
+    fontToolBar->addWidget(comboSize);
+    QList<int> sizes = fontDB.standardSizes();
+    QList<int>::iterator it = sizes.begin();
+    int i = 0;
+    while (it != sizes.end()) {
+        i++;
+        ++it; // increment i before using it
+        comboSize->insertItem(i, QString::number(*it));
+    }
+    connect(comboSize, SIGNAL(activated(const QString &)), this,
+            SLOT(textSize(const QString &)));
+
+    formatMenu->addSeparator();
+
+    formatToolBar = addToolBar(tr("Format", "toolbar in texteditor"));
+    formatToolBar->setObjectName("noteEditorFormatToolBar");
+
+    QPixmap pix(16, 16);
+    pix.fill(e->textColor());
+    a = new QAction(pix, tr("&Color..."), this);
+    formatMenu->addAction(a);
+    formatToolBar->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(textColor()));
+    actionTextColor = a;
+
+    a = new QAction(QPixmap(":/text_bold.png"), tr("&Bold"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_B);
+//    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textToggleBold", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(textBold()));
+    formatToolBar->addAction(a);
+    formatMenu->addAction(a);
+    a->setCheckable(true);
+    actionTextBold = a;
+
+    a = new QAction(QPixmap(":/text_italic.png"), tr("&Italic"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_I);
+//    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textToggleItalic", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(textItalic()));
+    formatToolBar->addAction(a);
+    formatMenu->addAction(a);
+    a->setCheckable(true);
+    actionTextItalic = a;
+
+    a = new QAction(QPixmap(":/text_under.png"), tr("&Underline"), this);
+    a->setShortcut(Qt::CTRL + Qt::Key_U);
+//    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    switchboard.addSwitch("textToggleUnderline", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(textUnderline()));
+    formatToolBar->addAction(a);
+    formatMenu->addAction(a);
+    a->setCheckable(true);
+    // richTextWidgets.append((QWidget*)a);
+    actionTextUnderline = a;
+    formatMenu->addSeparator();
+
+    QActionGroup *actGrp2 = new QActionGroup(this);
+    actGrp2->setExclusive(true);
+    a = new QAction(QPixmap(":/text_sub.png"), tr("Subs&cript"), actGrp2);
+    a->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_B);
+//    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    a->setCheckable(true);
+    formatToolBar->addAction(a);
+    formatMenu->addAction(a);
+    switchboard.addSwitch("textToggleSub", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(textVAlign()));
+    actionAlignSubScript = a;
+
+    a = new QAction(QPixmap(":/text_super.png"), tr("Su&perscript"), actGrp2);
+    a->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_P);
+//    a->setShortcutContext(Qt::WidgetWithChildrenShortcut);
+    a->setCheckable(true);
+    formatToolBar->addAction(a);
+    formatMenu->addAction(a);
+    switchboard.addSwitch("textToggleSuper", shortcutScope, a, tag);
+    connect(a, SIGNAL(triggered()), this, SLOT(textVAlign()));
+    actionAlignSuperScript = a;
+    QActionGroup *grp = new QActionGroup(this);
+    connect(grp, SIGNAL(triggered(QAction *)), this,
+            SLOT(textAlign(QAction *)));
+
+    formatMenu->addSeparator();
+
+    a = new QAction(QPixmap(":/text_left.png"), tr("&Left"), grp);
+    // a->setShortcut( Qt::CTRL+Qt::Key_L );
+    a->setCheckable(true);
+    formatToolBar->addAction(a);
+    formatMenu->addAction(a);
+    actionAlignLeft = a;
+    a = new QAction(QPixmap(":/text_center.png"), tr("C&enter"), grp);
+    // a->setShortcut(  Qt::CTRL + Qt::Key_E);
+    a->setCheckable(true);
+    formatToolBar->addAction(a);
+    formatMenu->addAction(a);
+    actionAlignCenter = a;
+    a = new QAction(QPixmap(":/text_right.png"), tr("&Right"), grp);
+    // a->setShortcut(Qt::CTRL + Qt::Key_R );
+    a->setCheckable(true);
+    formatToolBar->addAction(a);
+    formatMenu->addAction(a);
+    actionAlignRight = a;
+    a = new QAction(QPixmap(":/text_block.png"), tr("&Justify"), grp);
+    // a->setShortcut(Qt::CTRL + Qt::Key_J );
+    a->setCheckable(true);
+    formatToolBar->addAction(a);
+    formatMenu->addAction(a);
+    actionAlignJustify = a;
+}
+
+void TextEditor::setupSettingsActions()
+{
+    QMenu *settingsMenu = menuBar()->addMenu(tr("&Settings"));
+
+    QAction *a;
+    a = new QAction(tr("Set &fixed font"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(setFixedFont()));
+    settingsMenu->addAction(a);
+    actionSettingsFixedFont = a;
+
+    a = new QAction(tr("Set &variable font"), this);
+    connect(a, SIGNAL(triggered()), this, SLOT(setVarFont()));
+    settingsMenu->addAction(a);
+    actionSettingsVarFont = a;
+
+    a = new QAction(tr("&fixed font is default"), this);
+    a->setCheckable(true);
+    // set state later in constructor...
+    settingsMenu->addAction(a);
+    actionSettingsFonthintDefault = a;
+
+    settingsMenu->addSeparator();
+
+    a = new QAction(
+        tr("Set RichText default background color", "TextEditor") + "...", this);
+    settingsMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(selectColorRichTextDefaultBackground()));
+    actionFilledEditorColor = a;
+
+    a = new QAction(tr("Set RichText default font color", "TextEditor") + "...", this);
+    settingsMenu->addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(selectColorRichTextDefaultForeground()));
+    actionFontColor = a;
+}
+
+void TextEditor::textLoad()
+{
+    if (state != inactiveEditor) {
+        if (!isEmpty()) {
+            QMessageBox mb(vymName + " - " + tr("Note Editor"),
+                           "Loading will overwrite the existing note",
+                           QMessageBox::Warning,
+                           QMessageBox::Yes | QMessageBox::Default,
+                           QMessageBox::Cancel, 0);
+            mb.setButtonText(QMessageBox::Yes, "Load note");
+            switch (mb.exec()) {
+            case QMessageBox::Cancel:
+                return;
+                break;
+            }
+        }
+        // Load note
+        QFileDialog *fd = new QFileDialog(this);
+        QStringList types;
+        types << "Text (*.txt *.html)"
+              << "VYM notes and HTML (*.html)"
+              << "ASCII texts (*.txt)"
+              << "All files (*)";
+        fd->setNameFilters(types);
+        fd->setDirectory(QDir().current());
+        fd->show();
+        QString fn;
+        if (fd->exec() == QDialog::Accepted && !fd->selectedFiles().isEmpty())
+            fn = fd->selectedFiles().first();
+
+        if (!fn.isEmpty()) {
+            QFile f(fn);
+            if (!f.open(QIODevice::ReadOnly))
+                return;
+
+            QTextStream ts(&f);
+            setTextAuto(ts.readAll());
+            editorChanged();
+        }
+    }
+}
+
+void TextEditor::closeEvent(QCloseEvent *ce)
+{
+    ce->accept(); // TextEditor can be reopened with show()
+    hide();
+    emit(windowClosed());
+    return;
+}
+
+bool TextEditor::eventFilter(QObject *obj, QEvent *ev)
+{
+    if (obj == e) {
+        if (ev->type() == QEvent::KeyPress) {
+            QKeyEvent *keyEvent = static_cast<QKeyEvent *>(ev);
+            if (keyEvent == QKeySequence::Paste) {
+                // switch editor mode to match clipboard content before pasting
+                const QClipboard *clipboard = QApplication::clipboard();
+                const QMimeData *mimeData = clipboard->mimeData();
+
+                if (mimeData->hasHtml() && !actionFormatRichText->isChecked())
+                    setRichTextMode(true);
+            }
+        }
+    }
+    // pass the event on to the parent class
+    return QMainWindow::eventFilter(obj, ev);
+}
+
+void TextEditor::editorChanged()
+{
+    //qDebug() << "TE::editorChanged" << editorName << "blockChanged: " << blockChangedSignal;
+    EditorState oldState = state;
+    if (isEmpty())
+        state = emptyEditor;
+    else
+        state = filledEditor;
+
+    if (!blockChangedSignal) {
+        blockTextUpdate = true;
+        emit(textHasChanged(getVymText()));
+        blockTextUpdate = false;
+    }
+
+    if (state == oldState)
+        return;
+
+    updateState();
+}
+
+void TextEditor::setRichText(const QString &t)
+{
+    blockChangedSignal = true;
+    e->setReadOnly(false);
+    e->setHtml(t);
+    actionFormatRichText->setChecked(true);
+
+    // Update state including colors
+    updateState();
+
+    updateActions();
+    blockChangedSignal = false;
+}
+
+void TextEditor::setPlainText(const QString &t)
+{
+    blockChangedSignal = true;
+    e->setReadOnly(false);
+
+    e->setPlainText(t);
+    actionFormatRichText->setChecked(false);
+
+    // Reset also text format
+    QTextCharFormat textformat;
+    textformat.setForeground(qApp->palette().color(QPalette::WindowText));
+    textformat.setFont(varFont);
+    e->setCurrentCharFormat(textformat);
+
+    // Update state including colors
+    updateState();
+
+    updateActions();
+    blockChangedSignal = false;
+}
+
+void TextEditor::setTextAuto(const QString &t)
+{
+    if (Qt::mightBeRichText(t))
+        setRichText(t);
+    else
+        setPlainText(t);
+}
+
+void TextEditor::setVymText(const VymText &vt)
+{
+    // While a note is being edited, we are sending textHasChanged
+    // Then we don't want to update the text additionally from outside,
+    // as this would position cursor at beginning of text
+    if (blockTextUpdate) return;
+
+    if (vt.getText() == getText()) return;
+
+    if (vt.isRichText())
+        setRichText(vt.getText());
+    else
+        setPlainText(vt.getText());
+}
+
+void TextEditor::setInactive()
+{
+    setState(inactiveEditor);
+}
+
+void TextEditor::editCopyAll()
+{
+    e->selectAll();
+    e->copy();
+}
+
+void TextEditor::clear()
+{
+    //qDebug() << "TE::clear" << editorName;
+    bool blockChangedOrg = blockChangedSignal;
+
+    blockChangedSignal = true;
+    e->clear();
+    setState(emptyEditor);
+
+    blockChangedSignal = blockChangedOrg;
+}
+
+void TextEditor::deleteAll()
+{
+    e->clear();
+}
+
+void TextEditor::textSaveAs()
+{
+    QString caption = tr("Export Note to single file");
+    QString fn = QFileDialog::getSaveFileName(
+        this, caption, QString(), "VYM Note (HTML) (*.html);;All files (*)",
+        0, QFileDialog::DontConfirmOverwrite);
+
+    if (!fn.isEmpty()) {
+        QFile file(fn);
+        if (file.exists()) {
+            QMessageBox mb(
+                vymName,
+                tr("The file %1\nexists already.\nDo you want to overwrite it?",
+                   "dialog 'save note as'")
+                    .arg(fn),
+                QMessageBox::Warning, QMessageBox::Yes | QMessageBox::Default,
+                QMessageBox::Cancel | QMessageBox::Escape, Qt::NoButton);
+            mb.setButtonText(QMessageBox::Yes, tr("Overwrite"));
+            mb.setButtonText(QMessageBox::No, tr("Cancel"));
+            switch (mb.exec()) {
+            case QMessageBox::Yes:
+                // save
+                filename = fn;
+                textSave();
+                return;
+            case QMessageBox::Cancel:
+                // do nothing
+                break;
+            }
+        }
+        else {
+            filename = fn;
+            textSave();
+            return;
+        }
+    }
+    statusBar()->showMessage(
+        tr("Couldn't export note ", "dialog 'save note as'") + fn,
+        statusbarTime);
+}
+
+void TextEditor::textSave()
+{
+    if (filename.isEmpty()) {
+        textSaveAs();
+        return;
+    }
+
+    QString text = e->toHtml(); // FIXME-4 or plaintext? check...
+    QFile f(filename);
+    if (!f.open(QIODevice::WriteOnly)) {
+        statusBar()->showMessage(QString("Could not write to %1").arg(filename),
+                                 statusbarTime);
+        return;
+    }
+
+    QTextStream t(&f);
+    t.setCodec("UTF-8");
+    t << text;
+    f.close();
+
+    e->document()->setModified(false);
+
+    statusBar()->showMessage(QString("Note exported as %1").arg(filename),
+                             statusbarTime);
+}
+
+void TextEditor::textExportAsASCII()
+{
+    QString fn, s;
+    if (!filenameHint.isEmpty()) {
+        if (!filenameHint.contains(".txt"))
+            s = filenameHint + ".txt";
+        else
+            s = filenameHint;
+    }
+    else
+        s = QString();
+    QString caption = tr("Export Note to single file (ASCII)");
+    fn = QFileDialog::getSaveFileName(
+        this, caption, s, "VYM Note (ASCII) (*.txt);;All files (*)");
+    int ret = -1;
+
+    if (!fn.isEmpty()) {
+        QFile file(fn);
+        if (file.exists()) {
+            QMessageBox mb(
+                vymName,
+                tr("The file %1\nexists already.\nDo you want to overwrite it?",
+                   "dialog 'save note as'")
+                    .arg(fn),
+                QMessageBox::Warning, QMessageBox::Yes | QMessageBox::Default,
+                QMessageBox::Cancel | QMessageBox::Escape, Qt::NoButton);
+            mb.setButtonText(QMessageBox::Yes, tr("Overwrite"));
+            mb.setButtonText(QMessageBox::No, tr("Cancel"));
+            ret = mb.exec();
+        }
+        if (ret == QMessageBox::Cancel)
+            return;
+
+        // save
+        if (!file.open(QIODevice::WriteOnly))
+            statusBar()->showMessage(
+                QString("Could not write to %1").arg(filename), statusbarTime);
+        else {
+            QTextStream t(&file);
+            t << getVymText().getTextASCII();
+            file.close();
+
+            statusBar()->showMessage(QString("Note exported as %1").arg(fn),
+                                     statusbarTime);
+        }
+    }
+}
+
+void TextEditor::textPrint()
+{
+    QTextDocument *document = e->document();
+
+    if (!printer)
+        mainWindow->setupPrinter();
+
+    QPrintDialog dialog(printer, this);
+    dialog.setWindowTitle(tr("Print", "TextEditor"));
+    if (dialog.exec() != QDialog::Accepted)
+        return;
+
+    document->print(printer);
+}
+
+void TextEditor::textEditUndo() {}
+
+void TextEditor::toggleFonthint()
+{
+    if (!actionFormatUseFixedFont->isChecked()) {
+        e->setCurrentFont(varFont);
+        setFont(varFont);
+    }
+    else {
+        e->setCurrentFont(fixedFont);
+        setFont(fixedFont);
+    }
+    emit(textHasChanged(getVymText()));
+}
+
+void TextEditor::setRichTextMode(bool b)
+{
+    //qDebug() << "TE::setRichTextMode b=" << b;
+    actionFormatUseFixedFont->setEnabled(false);
+    if (b) {
+        setRichText(e->toHtml());
+
+        // Use default foreground color for all text when switching to RichText
+        QTextCursor cursor = e->textCursor();
+        e->selectAll();
+        e->setTextColor(colorRichTextDefaultForeground);
+        e->setTextCursor(cursor);
+        
+    } else {
+        setPlainText(e->toPlainText());
+    }
+    emit(textHasChanged(getVymText()));
+}
+
+void TextEditor::toggleRichText()
+{
+    if (actionFormatRichText->isChecked())
+        setRichTextMode(true);
+    else
+        setRichTextMode(false);
+}
+
+void TextEditor::setFixedFont()
+{
+    bool ok;
+    QFont font = QFontDialog::getFont(&ok, fixedFont, this);
+    if (ok)
+        fixedFont = font;
+}
+
+void TextEditor::setVarFont()
+{
+    bool ok;
+    QFont font = QFontDialog::getFont(&ok, varFont, this);
+    if (ok)
+        varFont = font;
+}
+
+void TextEditor::textBold()
+{
+    if (actionTextBold->isChecked())
+        e->setFontWeight(QFont::Bold);
+    else
+        e->setFontWeight(QFont::Normal);
+}
+
+void TextEditor::textUnderline()
+{
+    e->setFontUnderline(actionTextUnderline->isChecked());
+}
+
+void TextEditor::textItalic()
+{
+    e->setFontItalic(actionTextItalic->isChecked());
+}
+
+void TextEditor::textFamily(const QString &f) { e->setFontFamily(f); }
+
+void TextEditor::textSize(const QString &p) { e->setFontPointSize(p.toInt()); }
+
+void TextEditor::textColor()
+{
+    QColor col = QColorDialog::getColor(e->textColor(), this);
+    if (!col.isValid())
+        return;
+    e->setTextColor(col);
+    /*
+    QPixmap pix( 16, 16 );
+    pix.fill( col );
+    actionTextColor->setIcon( pix );
+    */
+}
+
+void TextEditor::textAlign(QAction *a)
+{
+    QTextCursor c = e->textCursor();
+
+    if (a == actionAlignLeft)
+        e->setAlignment(Qt::AlignLeft);
+    else if (a == actionAlignCenter)
+        e->setAlignment(Qt::AlignHCenter);
+    else if (a == actionAlignRight)
+        e->setAlignment(Qt::AlignRight);
+    else if (a == actionAlignJustify)
+        e->setAlignment(Qt::AlignJustify);
+}
+
+void TextEditor::textVAlign()
+{
+    QTextCharFormat format;
+
+    if (sender() == actionAlignSuperScript &&
+        actionAlignSuperScript->isChecked()) {
+        format.setVerticalAlignment(QTextCharFormat::AlignSuperScript);
+    }
+    else if (sender() == actionAlignSubScript &&
+             actionAlignSubScript->isChecked()) {
+        format.setVerticalAlignment(QTextCharFormat::AlignSubScript);
+    }
+    else {
+        format.setVerticalAlignment(QTextCharFormat::AlignNormal);
+    }
+    e->mergeCurrentCharFormat(format);
+}
+
+void TextEditor::fontChanged(const QFont &f)
+{
+    int i = comboFont->findText(f.family());
+    if (i >= 0)
+        comboFont->setCurrentIndex(i);
+    i = comboSize->findText(QString::number(f.pointSize()));
+    if (i >= 0)
+        comboSize->setCurrentIndex(i);
+    actionTextBold->setChecked(f.bold());
+    actionTextItalic->setChecked(f.italic());
+    actionTextUnderline->setChecked(f.underline());
+}
+
+void TextEditor::colorChanged(const QColor &c)
+{
+    QPixmap pix(16, 16);
+    pix.fill(c);
+    actionTextColor->setIcon(pix);
+}
+
+void TextEditor::formatChanged(const QTextCharFormat &f)
+{
+    if (!actionFormatRichText->isChecked())
+        return;
+    fontChanged(f.font());
+    colorChanged(f.foreground().color());
+    alignmentChanged(e->alignment());
+    verticalAlignmentChanged(f.verticalAlignment());
+}
+
+void TextEditor::alignmentChanged(int a)
+{
+    if ((a == Qt::AlignLeft) || (a & Qt::AlignLeft))
+        actionAlignLeft->setChecked(true);
+    else if ((a & Qt::AlignHCenter))
+        actionAlignCenter->setChecked(true);
+    else if ((a & Qt::AlignRight))
+        actionAlignRight->setChecked(true);
+    else if ((a & Qt::AlignJustify))
+        actionAlignJustify->setChecked(true);
+}
+
+void TextEditor::verticalAlignmentChanged(QTextCharFormat::VerticalAlignment a)
+{
+    actionAlignSubScript->setChecked(false);
+    actionAlignSuperScript->setChecked(false);
+    switch (a) {
+    case QTextCharFormat::AlignSuperScript:
+        actionAlignSuperScript->setChecked(true);
+        break;
+    case QTextCharFormat::AlignSubScript:
+        actionAlignSubScript->setChecked(true);
+        break;
+    default:;
+    }
+}
+
+void TextEditor::updateActions()
+{
+    bool b;
+    b = (state == inactiveEditor) ? false : true;
+
+    actionFileLoad->setEnabled(b);
+    actionFileSave->setEnabled(b);
+    actionFileSaveAs->setEnabled(b);
+    actionFilePrint->setEnabled(b);
+    actionFileDeleteAll->setEnabled(b);
+    actionEditUndo->setEnabled(b);
+    actionEditRedo->setEnabled(b);
+    actionEditCopy->setEnabled(b);
+    actionEditCut->setEnabled(b);
+    actionEditPaste->setEnabled(b);
+    actionFormatUseFixedFont->setEnabled(b);
+    actionFormatRichText->setEnabled(b);
+
+    if (!actionFormatRichText->isChecked() || !b) {
+        comboFont->setEnabled(false);
+        comboSize->setEnabled(false);
+        fontToolBar->hide();
+        formatToolBar->hide();
+        actionTextColor->setEnabled(false);
+        actionTextBold->setEnabled(false);
+        actionTextUnderline->setEnabled(false);
+        actionTextItalic->setEnabled(false);
+        actionTextColor->setEnabled(false);
+        actionAlignSubScript->setEnabled(false);
+        actionAlignSuperScript->setEnabled(false);
+        actionAlignLeft->setEnabled(false);
+        actionAlignCenter->setEnabled(false);
+        actionAlignRight->setEnabled(false);
+        actionAlignJustify->setEnabled(false);
+    }
+    else {
+        comboFont->setEnabled(true);
+        comboSize->setEnabled(true);
+        fontToolBar->show();
+        formatToolBar->show();
+        actionTextColor->setEnabled(true);
+        actionTextBold->setEnabled(true);
+        actionTextUnderline->setEnabled(true);
+        actionTextItalic->setEnabled(true);
+        actionTextColor->setEnabled(true);
+        actionAlignSubScript->setEnabled(true);
+        actionAlignSuperScript->setEnabled(true);
+        actionAlignLeft->setEnabled(true);
+        actionAlignCenter->setEnabled(true);
+        actionAlignRight->setEnabled(true);
+        actionAlignJustify->setEnabled(true);
+        actionFormatUseFixedFont->setEnabled(false);
+    }
+}
+
+void TextEditor::setState(EditorState s) // FIXME-2 called 12x when reselecting once in ME
+                                         // 5 alone for HeadingEditor
+{
+    //qDebug() << "TE::setState" << s << editorName;
+    QPalette p = qApp->palette();
+    QColor baseColor;
+    state = s;
+    switch (state) {
+        case emptyEditor:
+            if (actionFormatRichText->isChecked())
+                e->setTextColor(colorRichTextDefaultForeground);
+            else
+                e->setTextColor(p.color(QPalette::Text));
+
+        case filledEditor:
+            if (actionFormatRichText->isChecked()) {
+                if (useColorMapBackground)
+                    baseColor = colorMapBackground;
+                else
+                    baseColor = colorRichTextDefaultBackground;
+            } else {
+                baseColor = p.color(QPalette::Base);
+            }
+            e->setReadOnly(false);
+            break;
+        case inactiveEditor:
+            baseColor = Qt::black;
+            e->setReadOnly(true);
+    }
+    p.setColor(QPalette::Base, baseColor);
+    e->setPalette(p);
+
+    updateActions();
+}
+
+void TextEditor::updateState()
+{
+    //qDebug() << "TE::updateState" << editorName;
+    if (isEmpty())
+        setState(emptyEditor);
+    else
+        setState(filledEditor);
+}
+
+void TextEditor::selectColorRichTextDefaultBackground()
+{
+    QColor col = QColorDialog::getColor(colorRichTextDefaultBackground, nullptr);
+    if (!col.isValid())
+        return;
+    colorRichTextDefaultBackground = col;
+    QPixmap pix(16, 16);
+    pix.fill(colorRichTextDefaultBackground);
+    actionFilledEditorColor->setIcon(pix);
+}
+
+void TextEditor::selectColorRichTextDefaultForeground()
+{
+    QColor col = QColorDialog::getColor(colorRichTextDefaultForeground, nullptr);
+    if (!col.isValid())
+        return;
+    setColorRichTextDefaultForeground(col);
+}
+
+void TextEditor::setColorRichTextDefaultForeground(const QColor &col)
+{
+    if (!col.isValid()) return;
+
+    colorRichTextDefaultForeground = col;
+    QPixmap pix(16, 16);
+    pix.fill(colorRichTextDefaultForeground);
+    actionFontColor->setIcon(pix);
+}
+
+void TextEditor::setColorMapBackground(const QColor &col)
+{
+    colorMapBackground = col;
+}
+
+void TextEditor::setUseColorMapBackground(bool b)
+{
+    useColorMapBackground = b;
+}
\ No newline at end of file
diff --git a/src/texteditor.h b/src/texteditor.h
new file mode 100644 (file)
index 0000000..f159d1f
--- /dev/null
@@ -0,0 +1,147 @@
+#ifndef TEXTEDITOR_H
+#define TEXTEDITOR_H
+
+#include <QMainWindow>
+#include <QtGui>
+
+class QTextEdit;
+class QComboBox;
+
+#include "vymtext.h"
+
+enum EditorState { inactiveEditor, emptyEditor, filledEditor };
+
+class TextEditor : public QMainWindow {
+    Q_OBJECT
+  public:
+    TextEditor();
+    ~TextEditor();
+
+    void init(const QString &ename);
+    bool isEmpty();
+    void setEditorName(const QString &);
+    void setEditorTitle(const QString &t = "");
+    QString getEditorTitle();
+    void setFont(const QFont &);
+    void setFontHint(const QString &);
+    QString getFontHint();
+    QString getFontHintDefault();
+    void setFilename(const QString &);
+    QString getFilename();
+    void setFilenameHint(const QString &);
+    QString getFilenameHint();
+    QString getText();
+    VymText getVymText();
+
+    bool findText(const QString &, const QTextDocument::FindFlags &);
+    bool findText(const QString &, const QTextDocument::FindFlags &, int i);
+    void setTextCursor(const QTextCursor &cursor);
+    QTextCursor getTextCursor();
+    void setFocus();
+
+  protected:
+    void setupFileActions();
+    void setupEditActions();
+    void setupFormatActions();
+    void setupSettingsActions();
+    void closeEvent(QCloseEvent *);
+    bool eventFilter(QObject *obj, QEvent *ev);
+
+  public slots:
+    void editorChanged(); // received when text() changed
+    void setRichText(const QString &t);
+    void setPlainText(const QString &t);
+    void setTextAuto(const QString &); // set Text and autodetect mode
+    void setVymText(const VymText &vt);
+    void setInactive(); // Nothing can be entered
+    void editCopyAll();
+    void clear();
+
+  protected slots:
+    void deleteAll();
+
+  signals:
+    void textHasChanged(const VymText &vt);
+    void windowClosed();
+    void fontFamilyHasChanged();
+    void fontSizeHasChanged();
+
+  private slots:
+    void textLoad();
+    void textSaveAs();
+    void textSave();
+    void textExportAsASCII();
+    void textPrint();
+    void textEditUndo();
+    void toggleFonthint();
+    void setRichTextMode(bool b);
+    void toggleRichText();
+    void setFixedFont();
+    void setVarFont();
+    void textBold();
+    void textUnderline();
+    void textItalic();
+    void textFamily(const QString &f);
+    void textSize(const QString &p);
+    void textColor();
+    void textAlign(QAction *);
+    void textVAlign();
+    void fontChanged(const QFont &f);
+    void colorChanged(const QColor &c);
+    void formatChanged(const QTextCharFormat &f);
+    void alignmentChanged(int a);
+    void verticalAlignmentChanged(QTextCharFormat::VerticalAlignment);
+    void updateActions();
+    void setState(EditorState);
+    void updateState();
+    void selectColorRichTextDefaultBackground();
+    void selectColorRichTextDefaultForeground();
+
+  public:
+    void setColorRichTextDefaultForeground(const QColor &);
+    void setColorRichTextDefaultBackground(const QColor &);
+    void setColorMapBackground(const QColor&);
+    void setUseColorMapBackground(bool);
+
+  protected:
+    QString shortcutScope; // used for settings and shortcut scopes
+    QTextEdit *e;
+    QPoint lastPos;     // save last position of window
+    QString editorName; // Name of editor, e.g. note editor, heading editor, ...
+    QString editorTitle; // window title: Editor name + selected branch
+    QString filename;
+    QString filenameHint;
+
+    EditorState state;
+    bool blockChangedSignal;
+    bool blockTextUpdate;       // Set *while* textHasChanged is still being emitted
+
+    QColor colorRichTextDefaultBackground;
+    QColor colorRichTextDefaultForeground;
+    QColor colorMapBackground;
+    bool useColorMapBackground;
+
+    QFont varFont;
+    QFont fixedFont;
+    QComboBox *comboFont, *comboSize;
+
+    QToolBar *editToolBar;
+    QToolBar *fontToolBar;
+    QToolBar *fontHintsToolBar;
+    QToolBar *formatToolBar;
+
+    QAction *actionFileLoad, *actionFileSave, *actionFileSaveAs,
+        *actionFilePrint, *actionFileDeleteAll, *actionEditUndo,
+        *actionEditRedo, *actionEditCopy, *actionEditCut, *actionEditPaste,
+        *actionFormatUseFixedFont, *actionFormatRichText,
+        *actionSettingsVarFont, *actionSettingsFixedFont,
+        *actionSettingsFonthintDefault, *actionEmptyEditorColor,
+        *actionFilledEditorColor, *actionInactiveEditorColor, *actionFontColor;
+
+    QAction *actionTextBold, *actionTextUnderline, *actionTextItalic,
+        *actionTextColor, *actionAlignSubScript, *actionAlignSuperScript,
+        *actionAlignLeft, *actionAlignCenter, *actionAlignRight,
+        *actionAlignJustify;
+};
+
+#endif
diff --git a/src/treedelegate.cpp b/src/treedelegate.cpp
new file mode 100644 (file)
index 0000000..519ba78
--- /dev/null
@@ -0,0 +1,21 @@
+#include "treedelegate.h"
+
+TreeDelegate::TreeDelegate(QObject *) {}
+
+QString TreeDelegate::displayText(const QVariant &value, const QLocale &) const
+{
+    return value.toString().trimmed();
+}
+
+void TreeDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
+    const QModelIndex &index) const
+{
+    QStyleOptionViewItem local_option = option;
+    QVariant color_text_v = index.model()->data(index, Qt::ForegroundRole);
+    QColor color_text = color_text_v.isValid() ? color_text_v.value<QColor>()
+                                               : local_option.palette.color(QPalette::Text);
+    // clobber the selection coloring with ordinary coloring
+    // local_option.palette.setColor(QPalette::Highlight, color_base);
+    local_option.palette.setColor(QPalette::HighlightedText, color_text);
+    QStyledItemDelegate::paint(painter, local_option, index) ;
+}
diff --git a/src/treedelegate.h b/src/treedelegate.h
new file mode 100644 (file)
index 0000000..bb05021
--- /dev/null
@@ -0,0 +1,19 @@
+#ifndef TREEDELEGATE_H
+#define TREEDELEGATE_H
+
+#include <QStyledItemDelegate>
+
+class TreeDelegate : public QStyledItemDelegate {
+    Q_OBJECT
+  public:
+    TreeDelegate(QObject *parent = 0);
+    QString displayText(const QVariant &value, const QLocale &locale) const;
+    void paint(QPainter *painter, const QStyleOptionViewItem &option,
+        const QModelIndex &index) const;
+    /*
+    QSize sizeHint(const QStyleOptionViewItem &option,
+        const QModelIndex &index ) const;
+    */
+};
+
+#endif
diff --git a/src/treeeditor.cpp b/src/treeeditor.cpp
new file mode 100644 (file)
index 0000000..155848e
--- /dev/null
@@ -0,0 +1,125 @@
+#include "treeeditor.h"
+
+#include <QAction>
+#include <QMenu>
+#include <QRegExp>
+
+#include "mainwindow.h"
+#include "vymmodel.h"
+
+extern Main *mainWindow;
+extern QString editorFocusStyle;
+
+extern QMenu *branchContextMenu;
+extern QMenu *canvasContextMenu;
+extern QMenu *floatimageContextMenu;
+
+///////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////////////////
+TreeEditor::TreeEditor(VymModel *m)
+{
+    model = m;
+    if (model)
+        setModel(model);
+    init();
+}
+
+void TreeEditor::init()
+{
+    setSelectionMode(QAbstractItemView::ExtendedSelection);
+    header()->hide();
+
+    QAction *a;
+    // Shortcuts for navigating with cursor:
+    a = new QAction(tr("Select upper object", "Tree Editor"), this);
+    a->setShortcut(Qt::Key_Up);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorUp()));
+
+    a = new QAction(tr("Select lower object", "Tree Editor"), this);
+    a->setShortcut(Qt::Key_Down);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(cursorDown()));
+
+    a = new QAction(this);
+    a->setShortcut(Qt::Key_PageUp);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), mainWindow, SLOT(editMoveUp()));
+
+    a = new QAction(this);
+    a->setShortcut(Qt::Key_PageDown);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), mainWindow, SLOT(editMoveDown()));
+
+    a = new QAction(this);
+    a->setShortcut(Qt::Key_Return);
+    a->setShortcutContext(Qt::WidgetShortcut);
+    addAction(a);
+    connect(a, SIGNAL(triggered()), this, SLOT(startEdit()));
+
+    // Clone actions defined in MainWindow
+    foreach (QAction *qa, mainWindow->mapEditorActions) {
+        a = new QAction(this);
+        a->setShortcut(qa->shortcut());
+        a->setShortcutContext(qa->shortcutContext());
+        connect(a, SIGNAL(triggered()), qa, SLOT(trigger()));
+        addAction(a);
+    }
+
+    setStyleSheet("QTreeView:focus {" + editorFocusStyle + "}");
+}
+
+TreeEditor::~TreeEditor()
+{
+    // qDebug()<<"Destructor TreeEditor for "<<model->getMapName();
+}
+
+QModelIndex TreeEditor::getSelectedIndex()
+{
+    QModelIndexList list = selectionModel()->selectedIndexes();
+    if (list.isEmpty())
+        return QModelIndex();
+    else
+        return list.first();
+}
+
+void TreeEditor::contextMenuEvent(QContextMenuEvent *e) {
+    if (model->getSelectedBranch())
+        branchContextMenu->popup(e->globalPos());
+    else if (model->getSelectedImage())
+        floatimageContextMenu->popup(e->globalPos());
+    else if (model->getSelectedXLink())
+        model->editXLink();
+    else
+        canvasContextMenu->exec(e->globalPos());
+
+    e->accept();
+}
+
+void TreeEditor::cursorUp()
+{
+    QModelIndex ix = getSelectedIndex();
+    ix = indexAbove(ix);
+    if (ix.isValid())
+        model->select(ix);
+}
+
+void TreeEditor::cursorDown()
+{
+    QModelIndex ix = getSelectedIndex();
+    ix = indexBelow(ix);
+    if (ix.isValid())
+        model->select(ix);
+}
+
+void TreeEditor::startEdit()
+{
+
+    QModelIndex ix = getSelectedIndex();
+    if (ix.isValid())
+        edit(ix);
+}
diff --git a/src/treeeditor.h b/src/treeeditor.h
new file mode 100644 (file)
index 0000000..3f2e97e
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef TREEEDITOR_H
+#define TREEEDITOR_H
+
+#include <QTreeView>
+
+class VymModel;
+
+/*! \brief TreeView widget in vym to display and edit a map, based on
+ * QTreeView */
+
+class TreeEditor : public QTreeView {
+    Q_OBJECT
+
+  public:
+    TreeEditor(VymModel *m = NULL);
+    ~TreeEditor();
+    void init();
+    QModelIndex getSelectedIndex();
+
+  protected:
+    virtual void contextMenuEvent(QContextMenuEvent *e);
+
+  private slots:
+    void cursorUp();
+    void cursorDown();
+    void startEdit();
+
+  private:
+    VymModel *model;
+};
+
+#endif
diff --git a/src/treeitem.cpp b/src/treeitem.cpp
new file mode 100644 (file)
index 0000000..1beb13c
--- /dev/null
@@ -0,0 +1,773 @@
+#include <QStringList>
+#include <iostream>
+
+#include "attributeitem.h"
+#include "branchitem.h"
+#include "branchobj.h"
+#include "misc.h"
+#include "treeitem.h"
+#include "vymmodel.h"
+#include "xlinkitem.h"
+#include "xlinkobj.h"
+
+using namespace std;
+
+extern ulong itemLastID;
+extern FlagRowMaster *standardFlagsMaster;
+extern FlagRowMaster *systemFlagsMaster;
+extern FlagRowMaster *userFlagsMaster;
+
+extern QTextStream vout;
+
+TreeItem::TreeItem(TreeItem *parent)
+{
+    // qDebug() << "Constructor TreeItem this=" << this << "  parent=" << parent;
+    init();
+    parentItem = parent;
+
+    rootItem = this;
+    if (parentItem)
+        rootItem = parentItem->rootItem;
+}
+
+TreeItem::~TreeItem()
+{
+    // qDebug()<<"Destr TreeItem this="<<this<<"
+    // childcount="<<childItems.count();
+    TreeItem *ti;
+    while (!childItems.isEmpty()) {
+        ti = childItems.takeFirst();
+        delete ti;
+    }
+}
+
+void TreeItem::init()
+{
+    model = NULL;
+
+    // Assign ID
+    itemLastID++;
+    itemID = itemLastID;
+    uuid = QUuid::createUuid();
+
+    branchOffset = 0;
+    branchCounter = 0;
+
+    imageOffset = 0;
+    imageCounter = 0;
+
+    attributeCounter = 0;
+    attributeOffset = 0;
+
+    xlinkCounter = 0;
+    xlinkOffset = 0;
+
+    target = false;
+
+    heading.clear();
+    heading.setText(" ");
+    note.setText("");
+
+    hidden = false;
+    hideExport = false;
+
+    itemData.clear();
+    itemData << "";
+
+    backgroundColor = Qt::transparent;
+
+    standardFlags.setMasterRow(standardFlagsMaster);
+    userFlags.setMasterRow(userFlagsMaster);
+    systemFlags.setMasterRow(systemFlagsMaster);
+}
+
+void TreeItem::setModel(VymModel *m) { model = m; }
+
+VymModel *TreeItem::getModel() { return model; }
+
+int TreeItem::getRowNumAppend(TreeItem *item)
+{
+    switch (item->type) {
+    case Attribute:
+        return attributeOffset + attributeCounter;
+    case XLink:
+        return xlinkOffset + xlinkCounter;
+    case Image:
+        return imageOffset + imageCounter;
+    case MapCenter:
+        return branchOffset + branchCounter;
+    case Branch:
+        return branchOffset + branchCounter;
+    default:
+        return -1;
+    }
+}
+
+void TreeItem::appendChild(TreeItem *item)
+{
+    item->parentItem = this;
+    item->rootItem = rootItem;
+    item->setModel(model);
+
+    if (item->type == Attribute) {
+        // attribute are on top of list
+        childItems.insert(attributeCounter, item);
+        attributeCounter++;
+        xlinkOffset++;
+        imageOffset++;
+        branchOffset++;
+    }
+
+    if (item->type == XLink) {
+        childItems.insert(xlinkCounter + xlinkOffset, item);
+        xlinkCounter++;
+        imageOffset++;
+        branchOffset++;
+    }
+
+    if (item->type == Image) {
+        childItems.insert(imageCounter + imageOffset, item);
+        imageCounter++;
+        branchOffset++;
+    }
+
+    if (item->isBranchLikeType()) {
+        // branches are on bottom of list
+        childItems.append(item);
+        branchCounter++;
+
+        // Set correct type
+        if (this == rootItem)
+            item->setType(MapCenter);
+        else
+            item->setType(Branch);
+    }
+}
+
+void TreeItem::removeChild(int row)
+{
+    if (row < 0 || row > childItems.size() - 1)
+        qWarning("TreeItem::removeChild tried to remove non existing item?!");
+    else {
+        if (childItems.at(row)->type == Attribute) {
+            attributeCounter--;
+            xlinkOffset--;
+            imageOffset--;
+            branchOffset--;
+        }
+        if (childItems.at(row)->type == XLink) {
+            xlinkCounter--;
+            imageOffset--;
+            branchOffset--;
+        }
+        if (childItems.at(row)->type == Image) {
+            imageCounter--;
+            branchOffset--;
+        }
+        if (childItems.at(row)->isBranchLikeType())
+            branchCounter--;
+
+        childItems.removeAt(row);
+    }
+}
+
+TreeItem *TreeItem::child(int row) { return childItems.value(row); }
+
+int TreeItem::childCount() const { return childItems.count(); }
+
+int TreeItem::childNumber() const
+{
+    if (parentItem)
+        return parentItem->childItems.indexOf(const_cast<TreeItem *>(this));
+
+    return 0;
+}
+
+int TreeItem::columnCount() const { return 1; }
+
+int TreeItem::branchCount() const { return branchCounter; }
+
+int TreeItem::imageCount() const { return imageCounter; }
+
+int TreeItem::xlinkCount() const { return xlinkCounter; }
+
+int TreeItem::attributeCount() const { return attributeCounter; }
+
+int TreeItem::row() const
+{
+    if (parentItem)
+        return parentItem->childItems.indexOf(const_cast<TreeItem *>(this));
+
+    qDebug() << "TI::row() pI=NULL this=" << this << "  ***************";
+    return 0;
+}
+
+int TreeItem::depth()
+{
+    // Rootitem d=-1
+    // MapCenter d=0
+    int d = -2;
+    TreeItem *ti = this;
+    while (ti != NULL) {
+        ti = ti->parent();
+        d++;
+    }
+    return d;
+}
+
+TreeItem *TreeItem::parent()
+{
+    // qDebug() << "TI::parent of "<<getHeadingStd()<<"  is "<<parentItem;
+    return parentItem;
+}
+
+bool TreeItem::isChildOf(TreeItem *ti)
+{
+    if (this == rootItem)
+        return false;
+    if (parentItem == ti)
+        return true;
+    if (parentItem == rootItem)
+        return false;
+    return parentItem->isChildOf(ti);
+}
+
+int TreeItem::childNum() { return parentItem->childItems.indexOf(this); }
+
+int TreeItem::num()
+{
+    if (!parentItem)
+        return -1;
+    return parentItem->num(this);
+}
+
+int TreeItem::num(TreeItem *item)
+{
+    if (!item)
+        return -1;
+    if (!childItems.contains(item))
+        return -1;
+    switch (item->getType()) {
+    case MapCenter:
+        return childItems.indexOf(item) - branchOffset;
+    case Branch:
+        return childItems.indexOf(item) - branchOffset;
+    case Image:
+        return childItems.indexOf(item) - imageOffset;
+    case Attribute:
+        return childItems.indexOf(item) - attributeOffset;
+    case XLink:
+        return childItems.indexOf(item) - xlinkOffset;
+    default:
+        return -1;
+    }
+}
+void TreeItem::setType(const Type t)
+{
+    type = t;
+}
+
+TreeItem::Type TreeItem::getType()
+{
+    if (type == Branch && depth() == 0)
+        return MapCenter; // should not be necesssary
+    return type;
+}
+
+bool TreeItem::isBranchLikeType() const
+{
+    if (type == Branch || type == MapCenter)
+        return true;
+    else
+        return false;
+}
+
+QString TreeItem::getTypeName()
+{
+    switch (type) {
+        case Undefined:
+            return QString("Undefined");
+        case MapCenter:
+            return QString("MapCenter");
+        case Branch:
+            return QString("Branch");
+        case Image:
+            return QString("Image");
+        case Attribute:
+            return QString("Attribute");
+        case XLink:
+            return QString("XLink");
+        default:
+            return QString("TreeItem::getTypeName no typename defined?!");
+    }
+}
+
+QVariant TreeItem::data(int column) const { return itemData.value(column); }
+
+void TreeItem::setHeading(const VymText &vt)
+{
+    heading = vt;
+    itemData[0] = getHeadingPlain().replace("\n"," "); // used in TreeEditor
+}
+
+void TreeItem::setHeadingPlainText(const QString &s)
+{
+    VymText vt;
+
+    vt.setPlainText(s);
+
+    if (!heading.isRichText())
+        // Keep current color
+        vt.setColor(heading.getColor());
+    setHeading(vt);
+}
+
+Heading TreeItem::getHeading() const { return heading; }
+
+QString TreeItem::getHeadingText() { return heading.getText(); }
+
+std::string TreeItem::getHeadingStd() const
+{
+    return getHeadingPlain().toStdString();
+}
+
+QString TreeItem::getHeadingPlain() const
+{
+    // strip beginning and tailing WS
+    return heading.getTextASCII().trimmed();
+}
+
+QString TreeItem::getHeadingPlainWithParents(uint numberOfParents = 0)
+{
+    QString s = getHeadingPlain();
+    if (numberOfParents > 0) {
+        TreeItem *ti = this;
+        int l = numberOfParents;
+        while (l > 0 && ti->depth() > 0) {
+            ti = ti->parent();
+            if (ti)
+                s = ti->getHeadingPlain() + " -> " + s;
+            else
+                l = 0;
+            l--;
+        }
+    }
+    return s;
+}
+
+QString TreeItem::getHeadingDepth() // Indent by depth for debugging
+{
+    QString ds;
+    for (int i = 0; i < depth(); i++)
+        ds += "  ";
+    return ds + getHeadingPlain();
+}
+
+void TreeItem::setHeadingColor(QColor color) { heading.setColor(color); }
+
+QColor TreeItem::getHeadingColor() { return heading.getColor(); }
+
+void TreeItem::setBackgroundColor(QColor color) { backgroundColor = color; }
+
+void TreeItem::setURL(const QString &u)
+{
+    url = u;
+    if (!url.isEmpty())
+        systemFlags.activate(QString("system-url"));
+    else
+        systemFlags.deactivate(QString("system-url"));
+}
+
+QString TreeItem::getURL() { return url; }
+
+void TreeItem::setVymLink(const QString &vl)
+{
+    if (!vl.isEmpty()) {
+        // We need the relative (from loading)
+        // or absolute path (from User event)
+        // and build the absolute path.
+
+        QDir d(vl);
+        if (d.isAbsolute())
+            vymLink = vl;
+        else {
+            // If we have relative, use path of
+            // current map to build absolute path
+            // based on path of current map and relative
+            // path to linked map
+            QString p = dirname(model->getDestPath());
+            vymLink = convertToAbs(p, vl);
+        }
+        systemFlags.activate(QString("system-vymLink"));
+    }
+    else {
+        vymLink.clear();
+        systemFlags.deactivate(QString("system-vymLink"));
+    }
+}
+
+QString TreeItem::getVymLink() { return vymLink; }
+
+void TreeItem::toggleTarget()
+{
+    systemFlags.toggle(QString("system-target"));
+    target = systemFlags.isActive(QString("system-target"));
+    model->emitDataChanged(this); // FIXME-4 better call from VM?
+}
+
+bool TreeItem::isTarget() { return target; }
+
+bool TreeItem::isNoteEmpty() { return note.isEmpty(); }
+
+bool TreeItem::clearNote()
+{
+    note.clear();
+    return systemFlags.deactivate(QString("system-note"));
+}
+
+bool TreeItem::setNote(const VymText &vt)
+{
+    note = vt;
+
+    if (note.isEmpty()) {
+        if (systemFlags.isActive(QString("system-note")))
+            return systemFlags.deactivate(QString("system-note"));
+    }
+    else {
+        if (!systemFlags.isActive(QString("system-note")))
+            return systemFlags.activate(QString("system-note"));
+    }
+    return false; // No need to update flag and reposition later
+}
+
+bool TreeItem::setNote(const VymNote &vn) { return setNote((VymText)vn); }
+
+bool TreeItem::hasEmptyNote() { return note.isEmpty(); }
+
+VymNote TreeItem::getNote() { return note; }
+
+QString TreeItem::getNoteASCII(const QString &indent, const int &width)
+{
+    return note.getTextASCII(indent, width);
+}
+
+QString TreeItem::getNoteASCII() { return note.getTextASCII(); }
+
+void TreeItem::activateStandardFlagByName(const QString &name)
+{
+    standardFlags.activate(name);
+    //    model->emitDataChanged(this);
+}
+
+void TreeItem::deactivateStandardFlagByName(const QString &name)
+{
+    standardFlags.deactivate(name);
+    //    model->emitDataChanged(this);
+}
+
+void TreeItem::deactivateAllStandardFlags()
+{
+    standardFlags.deactivateAll();
+    userFlags.deactivateAll();
+    //    model->emitDataChanged(this);
+}
+
+Flag *TreeItem::findFlagByUid(const QUuid &uid)
+{
+    Flag *f = standardFlagsMaster->findFlagByUid(uid);
+    if (!f)
+        f = userFlagsMaster->findFlagByUid(uid);
+    return f;
+}
+
+Flag *TreeItem::toggleFlagByUid(const QUuid &uid, bool useGroups)
+{
+    Flag *f = standardFlagsMaster->findFlagByUid(uid);
+    if (f) {
+        standardFlags.toggle(uid, useGroups);
+    }
+    else {
+        f = userFlagsMaster->findFlagByUid(uid);
+        if (f) {
+            userFlags.toggle(uid, useGroups);
+        }
+        else {
+            qWarning() << "TI::toggleFlag failed for flag " << uid;
+            return nullptr;
+        }
+    }
+
+    return f;
+}
+
+void TreeItem::toggleSystemFlag(const QString &name, FlagRow *master)
+{
+    systemFlags.toggle(name, master);
+    model->emitDataChanged(this);
+}
+
+bool TreeItem::hasActiveFlag(const QString &name)
+{
+    return standardFlags.isActive(name);
+}
+
+bool TreeItem::hasActiveSystemFlag(const QString &name)
+{
+    return systemFlags.isActive(name);
+}
+
+QList<QUuid> TreeItem::activeFlagUids()
+{
+    return standardFlags.activeFlagUids() + userFlags.activeFlagUids();
+}
+
+QList<QUuid> TreeItem::activeSystemFlagUids()
+{
+    return systemFlags.activeFlagUids();
+}
+
+bool TreeItem::canMoveDown()
+{
+    switch (type) {
+    case Undefined:
+        return false;
+    case MapCenter:
+    case Branch:
+        if (!parentItem)
+            return false;
+        if (parentItem->num(this) < parentItem->branchCount() - 1)
+            return true;
+        else
+            return false;
+        break;
+    case Image:
+        return false;
+    default:
+        return false;
+    }
+}
+
+bool TreeItem::canMoveUp()
+{
+    switch (type) {
+    case MapCenter:
+    case Branch:
+        if (!parentItem)
+            return false;
+        if (parentItem->num(this) > 0)
+            return true;
+        else
+            return false;
+        break;
+    default:
+        return false;
+    }
+}
+
+ulong TreeItem::getID() { return itemID; }
+
+void TreeItem::setUuid(const QString &id) { uuid = QUuid(id); }
+
+QUuid TreeItem::getUuid() { return uuid; }
+
+TreeItem *TreeItem::getChildNum(const int &n)
+{
+    if (n >= 0 && n < childItems.count())
+        return childItems.at(n);
+    else
+        return NULL;
+}
+
+BranchItem *TreeItem::getFirstBranch()
+{
+    if (branchCounter > 0)
+        return getBranchNum(0);
+    else
+        return NULL;
+}
+
+BranchItem *TreeItem::getLastBranch()
+{
+    if (branchCounter > 0)
+        return getBranchNum(branchCounter - 1);
+    else
+        return NULL;
+}
+
+ImageItem *TreeItem::getFirstImage()
+{
+    if (imageCounter > 0)
+        return getImageNum(imageCounter - 1);
+    else
+        return NULL;
+}
+
+ImageItem *TreeItem::getLastImage()
+{
+    if (imageCounter > 0)
+        return getImageNum(imageCounter - 1);
+    else
+        return NULL;
+}
+
+BranchItem *TreeItem::getNextBranch(BranchItem *currentBranch)
+{
+    if (!currentBranch)
+        return NULL;
+    int n = num(currentBranch) + 1;
+    if (n < branchCounter)
+        return getBranchNum(branchOffset + n);
+    else
+        return NULL;
+}
+
+BranchItem *TreeItem::getBranchNum(const int &n)
+{
+    if (n >= 0 && n < branchCounter)
+        return (BranchItem *)getChildNum(branchOffset + n);
+    else
+        return NULL;
+}
+
+BranchObj *TreeItem::getBranchObjNum(const int &n)
+{
+    if (n >= 0 && n < branchCounter) {
+        BranchItem *bi = getBranchNum(n);
+        if (bi) {
+            BranchObj *bo = (BranchObj *)(bi->getLMO());
+            if (bo)
+                return bo;
+            else
+                qDebug() << "TI::getBONum bo=NULL";
+        }
+    }
+    return NULL;
+}
+
+ImageItem *TreeItem::getImageNum(const int &n)
+{
+    if (n >= 0 && n < imageCounter)
+        return (ImageItem *)getChildNum(imageOffset + n);
+    else
+        return NULL;
+}
+
+FloatImageObj *TreeItem::getImageObjNum(const int &n)
+{
+    if (imageCounter > 0)
+        return (FloatImageObj *)(getImageNum(n)->getLMO());
+    else
+        return NULL;
+}
+
+AttributeItem *TreeItem::getAttributeNum(const int &n)
+{
+    if (n >= 0 && n < attributeCounter)
+        return (AttributeItem *)getChildNum(attributeOffset + n);
+    else
+        return NULL;
+}
+
+AttributeItem *TreeItem::getAttributeByKey(const QString &k)
+{
+    AttributeItem *ai;
+    for (int i = 0; i < attributeCount(); i++) {
+        ai = getAttributeNum(i);
+        if (ai->getKey() == k) return ai;
+    }
+    return nullptr;
+}
+
+XLinkItem *TreeItem::getXLinkItemNum(const int &n)
+{
+    if (n >= 0 && n < xlinkCounter)
+        return (XLinkItem *)getChildNum(xlinkOffset + n);
+    else
+        return NULL;
+}
+
+XLinkObj *TreeItem::getXLinkObjNum(const int &n)
+{
+    if (xlinkCounter > 0) {
+        XLinkItem *xli = getXLinkItemNum(n);
+        if (xli) {
+            Link *l = xli->getLink();
+            if (l)
+                return l->getXLinkObj();
+        }
+    }
+    return NULL;
+}
+
+void TreeItem::setHideTmp(HideTmpMode mode)
+{
+    if (type == Image || type == Branch || type == MapCenter)
+    // ((ImageItem*)this)->updateVisibility();
+    {
+        // LinkableMapObj* lmo=((MapItem*)this)->getLMO();
+
+        if (mode == HideExport &&
+            (hideExport ||
+             hasHiddenExportParent())) // FIXME-4  try to avoid calling
+                                       // hasScrolledParent repeatedly
+
+            // Hide stuff according to hideExport flag and parents
+            hidden = true;
+        else
+            // Do not hide, but still take care of scrolled status
+            hidden = false;
+        updateVisibility();
+        // And take care of my children
+        for (int i = 0; i < branchCount(); ++i)
+            getBranchNum(i)->setHideTmp(mode);
+    }
+}
+
+bool TreeItem::hasHiddenExportParent()
+{
+    // Calls parents recursivly to
+    // find out, if we or parents are temp. hidden
+
+    if (hidden || hideExport)
+        return true;
+
+    if (parentItem)
+        return parentItem->hasHiddenExportParent();
+    else
+        return false;
+}
+
+void TreeItem::setHideInExport(bool b)
+{
+    if (type == MapCenter || type == Branch || type == Image) {
+        hideExport = b;
+        if (b)
+            systemFlags.activate(QString("system-hideInExport"));
+        else
+            systemFlags.deactivate(QString("system-hideInExport"));
+    }
+}
+
+bool TreeItem::hideInExport() { return hideExport; }
+
+void TreeItem::updateVisibility()
+{
+    // overloaded in derived objects
+}
+
+bool TreeItem::isHidden() { return hidden; }
+
+QString TreeItem::getGeneralAttr()
+{
+    QString s;
+    if (hideExport)
+        s += attribut("hideInExport", "true");
+    if (!url.isEmpty())
+        s += attribut("url", url);
+    if (!vymLink.isEmpty())
+        s += attribut("vymLink", convertToRel(model->getDestPath(), vymLink));
+
+    if (target)
+        s += attribut("localTarget", "true");
+    return s;
+}
diff --git a/src/treeitem.h b/src/treeitem.h
new file mode 100644 (file)
index 0000000..3e94c80
--- /dev/null
@@ -0,0 +1,236 @@
+#ifndef TREEITEM_H
+#define TREEITEM_H
+
+#include <QColor>
+#include <QList>
+#include <QUuid>
+#include <QVariant>
+
+#include "flagrow.h"
+#include "heading.h"
+#include "vymnote.h"
+#include "xmlobj.h"
+
+class AttributeItem;
+class BranchObj;
+class BranchItem;
+class FloatImageObj;
+class ImageItem;
+class LinkableMapObj;
+class QModelIndex;
+class VymModel;
+class XLinkItem;
+class XLinkObj;
+
+class TreeItem : public XMLObj {
+  public:
+    enum Type { Undefined, MapCenter, Branch, Image, Attribute, XLink };
+    enum HideTmpMode { HideNone, HideExport };
+
+    TreeItem(TreeItem *parent = nullptr);
+    virtual ~TreeItem();
+    void init();
+    virtual void clear() = 0;
+
+    // General housekeeping
+    virtual void setModel(VymModel *m);
+    virtual VymModel *getModel();
+
+    /*! Return number of item, as it would be after it would have been appended.
+    This is used to notify view about layout changes before model is modified.
+  */
+    virtual int getRowNumAppend(TreeItem *child);
+
+    virtual void appendChild(TreeItem *child);
+    virtual void removeChild(int row);
+
+    virtual TreeItem *child(int row);
+    virtual int childCount() const;
+    virtual int childNumber() const;
+    virtual int columnCount() const;
+    virtual int branchCount() const;
+    virtual int imageCount() const;
+    virtual int xlinkCount() const;
+    virtual int attributeCount() const;
+
+    virtual int row() const;
+    virtual int depth();
+    virtual TreeItem *parent();
+    virtual bool isChildOf(TreeItem *ti);
+
+    /*! Return number of item in parent by type,
+    e.g. first branch has number 0           */
+    virtual int childNum(); //! Return number of item in list of all children
+    virtual int num();      //! Return number of item by type
+    virtual int num(TreeItem *item); //! Return number of item by type
+
+  protected:
+    Type type;
+
+  public:
+    virtual void setType(const Type t);
+    virtual Type getType();
+    virtual bool isBranchLikeType() const;
+    virtual QString getTypeName();
+
+    // Accessing data
+    virtual QVariant data(int column) const;
+
+  protected:
+    Heading heading;
+    QColor backgroundColor;
+
+  public:
+    virtual void setHeading(const VymText &vt);
+    virtual void setHeadingPlainText(const QString &s);
+    Heading getHeading() const;
+    virtual QString getHeadingText();
+    virtual std::string
+    getHeadingStd() const; //! convenience function used for debugging
+    virtual QString
+    getHeadingPlain() const; //! Some views or methods can't cope with RichText
+    virtual QString getHeadingPlainWithParents(
+        uint numberOfParents); //! Show also some of the parents
+    virtual QString getHeadingDepth();
+    virtual void
+    setHeadingColor(QColor color);    //! Set color of heading. In BranchItem
+                                      //! overloaded to update QGraphicsView
+    virtual QColor getHeadingColor(); //! Returns color of heading
+    virtual void setBackgroundColor(
+        QColor color); //! Set color of frame brush, if LMO exists for item
+
+  protected:
+    QString url;
+
+  public:
+    void setURL(const QString &url); //! Set URL
+    QString getURL();                //! Get URL
+
+  protected:
+    QString vymLink;
+
+  public:
+    void setVymLink(const QString &url); //! Set URL
+    QString getVymLink();                //! Get URL
+
+  protected:
+    bool target;
+
+  public:
+    void toggleTarget(); //! Toggle target status
+    bool isTarget();     //! Returns true if item is is a target
+
+  protected:
+    VymNote note;
+
+  public:
+    bool isNoteEmpty();
+    virtual bool clearNote();
+    virtual bool hasEmptyNote();
+    virtual bool setNote(const VymText &vt); // FIXME-3 setNote is called for
+                                             // every select or so???
+    virtual bool setNote(const VymNote &vn);
+
+    virtual VymNote getNote();
+    virtual QString getNoteASCII(const QString &indent,
+                                 const int &width); // returns note  (ASCII)
+    virtual QString getNoteASCII();                 // returns note (ASCII)
+
+  protected:
+    FlagRow standardFlags;
+    FlagRow systemFlags;
+    FlagRow userFlags;
+
+  public:
+    virtual void activateStandardFlagByName(const QString &flag);
+    virtual void deactivateStandardFlagByName(const QString &flag);
+    virtual void deactivateAllStandardFlags();
+
+    Flag *findFlagByUid(const QUuid &uid);
+
+    /*! \brief Toggle a Flag
+    If master is not NULL,, only one Flag from FlagRow master may
+    be active simultanously, the others get deactivated.
+    */
+    // virtual void toggleFlag(const QString &name, bool useGroups = true);
+    Flag *toggleFlagByUid(const QUuid &uid, bool useGroups = true);
+    virtual void toggleSystemFlag(const QString &flag, FlagRow *master = NULL);
+    virtual bool hasActiveFlag(const QString &flag);
+    virtual bool hasActiveSystemFlag(const QString &flag);
+    QList<QUuid> activeFlagUids();
+
+    virtual QList<QUuid> activeSystemFlagUids();
+
+    virtual bool canMoveDown();
+    virtual bool canMoveUp();
+
+  protected:
+    ulong itemID;
+    QUuid uuid;
+
+  public:
+    virtual ulong getID();
+    virtual void setUuid(const QString &id);
+    virtual QUuid getUuid();
+
+    // Navigation and selection
+    virtual TreeItem *getChildNum(const int &n);
+    virtual BranchItem *getFirstBranch();
+    virtual BranchItem *getLastBranch();
+    virtual ImageItem *getFirstImage();
+    virtual ImageItem *getLastImage();
+
+    /*! Get next branch after current branch. Return NULL if there is no
+    next branch */
+    virtual BranchItem *getNextBranch(BranchItem *currentBranch);
+
+    virtual BranchItem *getBranchNum(const int &n);
+    virtual BranchObj *getBranchObjNum(const int &n);
+
+    virtual ImageItem *getImageNum(const int &n);
+    virtual FloatImageObj *getImageObjNum(const int &n);
+
+    virtual AttributeItem *getAttributeNum(const int &n);
+    virtual AttributeItem *getAttributeByKey(const QString &k);
+
+    virtual XLinkItem *getXLinkItemNum(const int &n);
+    virtual XLinkObj *getXLinkObjNum(const int &n);
+
+  protected:
+    bool hideExport; //! Hide this item in export
+    bool hidden;     //! Hidden in export if true
+  public:
+    virtual void setHideTmp(HideTmpMode);
+    virtual bool hasHiddenExportParent();
+    virtual void setHideInExport(bool); // set export of object (and children)
+    virtual bool hideInExport();
+    virtual bool isHidden();
+    virtual void
+    updateVisibility(); //! Sets visibility in LinkableMapObj, if existing
+
+    virtual QString getGeneralAttr();
+
+  protected:
+    VymModel *model;
+
+    QList<TreeItem *> childItems;
+    QList<QVariant> itemData;   // Heading for TreeEditor in first column
+    TreeItem *parentItem;
+
+    /*!  Set rootItem (does not change, needed for some quick checks
+     e.g. if some branch is mapCenter and isChildOf  */
+    TreeItem *rootItem;
+
+    int branchOffset;
+    int branchCounter;
+    int imageOffset;
+    int imageCounter;
+
+    int attributeOffset;
+    int attributeCounter;
+
+    int xlinkOffset;
+    int xlinkCounter;
+};
+
+#endif
diff --git a/src/treemodel.cpp b/src/treemodel.cpp
new file mode 100644 (file)
index 0000000..4151ce2
--- /dev/null
@@ -0,0 +1,304 @@
+#include <QtGui>
+
+#include "attributeitem.h"
+#include "branchitem.h"
+#include "branchobj.h"
+#include "imageitem.h"
+#include "treeitem.h"
+#include "treemodel.h"
+#include "xlinkitem.h"
+
+TreeModel::TreeModel(QObject *parent) : QAbstractItemModel(parent)
+{
+    // qDebug()<<"Constr TreeModel  this=" << this;
+    QList<QVariant> rootData;
+    rootData << "Heading";
+    // rootData << "Type";
+    rootItem = new BranchItem();
+}
+
+TreeModel::~TreeModel()
+{
+    // qDebug()<<"Destr TreeModel  this="<<this;
+    delete rootItem;
+}
+
+QVariant TreeModel::data(const QModelIndex &index, int role) const
+{
+    if (!index.isValid())
+        return QVariant();
+
+    TreeItem *item = getItem(index);
+    BranchItem *bi = nullptr;
+    if (item->isBranchLikeType())
+        bi = (BranchItem*)item;
+
+    if (role == Qt::EditRole || role == Qt::DisplayRole)
+        return item->data(index.column());
+
+    if (role == Qt::ForegroundRole)
+        return item->getHeadingColor();
+
+    if (role == Qt::BackgroundRole) {
+        if (bi) {
+            BranchItem *frameBI = bi->getFramedParentBranch(bi);
+            if (frameBI && index.column() != 5) {
+                BranchObj *bo = frameBI->getBranchObj();
+                if (bo)
+                    return bo->getFrameBrushColor();
+            }
+            else
+                return backgroundColor;
+        }
+    }
+
+    return QVariant();
+}
+
+Qt::ItemFlags TreeModel::flags(const QModelIndex &index) const
+{
+    if (!index.isValid())
+        return Qt::NoItemFlags;
+
+    return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable;
+}
+
+QVariant TreeModel::headerData(int section, Qt::Orientation orientation,
+                               int role) const
+{
+    if (orientation == Qt::Horizontal && role == Qt::DisplayRole)
+        return rootItem->data(section);
+
+    return QVariant();
+}
+
+QModelIndex TreeModel::index(TreeItem *ti)
+{
+    if (!ti->parent())
+        return QModelIndex();
+    else
+        return createIndex(ti->row(), 0, ti);
+}
+
+QModelIndex TreeModel::index(int row, int column,
+                             const QModelIndex &parent) const
+{
+    // Make sure to return invalid index for invalid values (see modeltest)
+    if (row < 0 || column < 0)
+        return QModelIndex();
+    if (column != 0)
+        return QModelIndex();
+
+    TreeItem *parentItem;
+
+    if (!parent.isValid())
+        parentItem = rootItem;
+    else
+        parentItem = getItem(parent);
+
+    TreeItem *childItem = parentItem->child(row);
+    if (childItem)
+        return createIndex(row, column, childItem);
+    else
+        return QModelIndex();
+}
+
+QModelIndex TreeModel::parent(const QModelIndex &index) const
+{
+    if (!index.isValid())
+        return QModelIndex();
+
+    TreeItem *ti = getItem(index);
+    TreeItem *parentItem = ti->parent();
+    if (parentItem == rootItem)
+        return QModelIndex();
+    return createIndex(parentItem->childNumber(), 0, parentItem);
+}
+
+int TreeModel::rowCount(const QModelIndex &parent) const
+{
+    TreeItem *parentItem;
+
+    if (!parent.isValid())
+        parentItem = rootItem;
+    else
+        parentItem = getItem(parent);
+
+    return parentItem->childCount();
+}
+
+int TreeModel::columnCount(const QModelIndex &parent) const
+{
+    int c;
+    if (parent.isValid())
+        c = getItem(parent)->columnCount();
+    else
+        c = rootItem->columnCount();
+    return c;
+}
+
+void TreeModel::nextBranch(BranchItem *&current, BranchItem *&previous,
+                           bool deepLevelsFirst, BranchItem *start)
+{
+    if (deepLevelsFirst) {
+        // Walk through map beginning at current with previous==0
+        // Start at root, if current==NULL
+        if (!current) {
+            if (start) {
+                current = start;
+                previous = current->parentBranch();
+            }
+            else {
+                previous = (BranchItem *)rootItem;
+                current = previous->getFirstBranch();
+                return;
+            }
+        }
+
+        // Walk the tree by always turning "left"
+        // and returning an element when going up
+        if (current == previous) {
+            // Had leaf before, go up again.
+            if (start && start == current) {
+                current = NULL;
+                return;
+            }
+            current = current->parentBranch();
+            if (!current)
+                return;
+            return nextBranch(current, previous, deepLevelsFirst, start);
+        }
+
+        if (current->depth() > previous->depth()) {
+            // Coming from above, try to go deeper
+            if (current->branchCount() > 0) {
+                // Turn "left" and go deeper
+                previous = current;
+                current = current->getFirstBranch();
+                return nextBranch(current, previous, deepLevelsFirst);
+            }
+            else {
+                // turn around and go up again
+                previous = current;
+                return;
+            }
+        }
+        else {
+            // Coming from below, try to go down again to siblings
+
+            BranchItem *sibling = current->getBranchNum(previous->num() + 1);
+            if (sibling) {
+                // Found sibling of previous, go there
+                previous = current;
+                current = sibling;
+                return nextBranch(current, previous, deepLevelsFirst, start);
+            }
+            else {
+                // and go further up
+                if (current == rootItem)
+                    current = NULL;
+                previous = current;
+                return;
+            }
+        }
+    }
+    else {
+        // Walk through map beginning at current with previous==0
+        // Start at root, if current==NULL
+        if (!current) {
+            if (start) {
+                current = start;
+                previous = (BranchItem *)(start->parent());
+                return;
+            }
+            else {
+                previous = (BranchItem *)rootItem;
+                current = previous->getFirstBranch();
+                return;
+            }
+        }
+
+        if (current->depth() > previous->depth()) {
+            // Going deeper
+            if (current->branchCount() > 0) {
+                // Turn "left" and go deeper
+                previous = current;
+                current = current->getFirstBranch();
+                return;
+            }
+            else {
+                // turn around and go up again
+                previous = current;
+                nextBranch(current, previous, deepLevelsFirst, start);
+                return;
+            }
+        }
+        else {
+            if (start && previous == start) {
+                current = NULL;
+                return;
+            }
+
+            BranchItem *sibling = current->getBranchNum(previous->num() + 1);
+            if (sibling) {
+                // Found sibling of previous, go there
+                previous = current;
+                current = sibling;
+                return;
+            }
+            else {
+                // no sibling, go further up left
+                previous = current;
+                current = current->parentBranch();
+                if (!current) {
+                    current = NULL;
+                    return;
+                }
+                else {
+                    nextBranch(current, previous, deepLevelsFirst, start);
+                }
+            }
+            return;
+        }
+    }
+}
+
+bool TreeModel::removeRows(int row, int count, const QModelIndex &parent)
+{
+    int last = row + count - 1;
+    TreeItem *pi;
+    if (parent.isValid())
+        pi = getItem(parent);
+    else
+        pi = rootItem;
+    TreeItem *ti;
+
+    for (int i = row; i <= last; i++) {
+        ti = pi->getChildNum(row);
+        pi->removeChild(row); // does not delete object!
+        delete ti;
+    }
+    return true;
+}
+
+TreeItem *TreeModel::getItem(const QModelIndex &index) const
+{
+    if (index.isValid()) {
+        TreeItem *item = static_cast<TreeItem *>(index.internalPointer());
+        if (item)
+            return item;
+    }
+    return NULL;
+}
+
+BranchItem *TreeModel::getRootItem() { return rootItem; }
+
+int TreeModel::xlinkCount() { return xlinks.count(); }
+
+Link *TreeModel::getXLinkNum(const int &n)
+{
+    if (n >= 0 && n < xlinks.count())
+        return xlinks.at(n);
+    else
+        return NULL;
+}
\ No newline at end of file
diff --git a/src/treemodel.h b/src/treemodel.h
new file mode 100644 (file)
index 0000000..af8a937
--- /dev/null
@@ -0,0 +1,53 @@
+#ifndef TREEMODEL_H
+#define TREEMODEL_H
+
+#include <QAbstractItemModel>
+#include <QModelIndex>
+#include <QVariant>
+
+class BranchItem;
+class TreeItem;
+class Link;
+class LinkableMapObj;
+
+class TreeModel : public QAbstractItemModel {
+    Q_OBJECT
+
+  public:
+    TreeModel(QObject *parent = 0);
+    ~TreeModel();
+
+    QVariant data(const QModelIndex &index, int role) const;
+    Qt::ItemFlags flags(const QModelIndex &index) const;
+    QVariant headerData(int section, Qt::Orientation orientation,
+                        int role = Qt::DisplayRole) const;
+    QModelIndex index(TreeItem *ti);
+    QModelIndex index(int row, int column,
+                      const QModelIndex &parent = QModelIndex()) const;
+    QModelIndex parent(const QModelIndex &index) const;
+    int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    int columnCount(const QModelIndex &parent = QModelIndex()) const;
+
+    void nextBranch(BranchItem *&current, BranchItem *&previous,
+                    bool deepLevelsFirst = false, BranchItem *start = NULL);
+
+    bool removeRows(int row, int count,
+                    const QModelIndex &parent = QModelIndex());
+
+    TreeItem *getItem(const QModelIndex &index) const;
+    BranchItem *getRootItem();
+
+    virtual int xlinkCount();
+    virtual Link *getXLinkNum(const int &n);
+
+  protected:
+    BranchItem *rootItem;
+
+    QList<Link *> xlinks;
+    QList<uint> deleteLaterIDs;
+
+    QColor backgroundColor; // Set in VymModel to optimize backgroundRole
+    QColor selectionColor;  // Set in VymModel to optimize highlightedText palette
+};
+
+#endif
diff --git a/src/version.cpp b/src/version.cpp
new file mode 100644 (file)
index 0000000..e03fdd4
--- /dev/null
@@ -0,0 +1 @@
+// No longer required, functions moved to misc.cc
diff --git a/src/version.h b/src/version.h
new file mode 100644 (file)
index 0000000..c99a127
--- /dev/null
@@ -0,0 +1,17 @@
+#ifndef VERSION_H
+#define VERSION_H
+
+#define __VYM_VERSION "2.9.22"
+#define __VYM_BUILD_DATE "2023-08-28"
+
+#define __VYM_CODE_QUALITY "Production"
+#define __VYM_CODENAME ""
+
+//#define __VYM_CODE_QUALITY "*Experimental*"
+//#define __VYM_CODE_QUALITY "*Beta*"
+//#define __VYM_CODENAME "Beta 8 of upcoming 2.9.0"
+
+#define __VYM_NAME "VYM"
+#define __VYM_HOME "http://www.insilmaril.de/vym"
+
+#endif
diff --git a/src/vymlock.cpp b/src/vymlock.cpp
new file mode 100644 (file)
index 0000000..1088793
--- /dev/null
@@ -0,0 +1,141 @@
+#include <QDebug>
+#include <QFile>
+#include <QRegularExpression>
+
+#include "file.h"
+
+#include "vymlock.h"
+
+void VymLock::operator==(const VymLock &other)
+{
+    author = other.author;
+    host = other.host;
+    mapPath = other.mapPath;
+    lockPath = other.lockPath;
+    state = other.state;
+}
+
+VymLock::VymLock() { init(); }
+
+VymLock::VymLock(const QString &path)
+{
+    init();
+    setMapPath(path);
+}
+
+VymLock::~VymLock()
+{
+}
+
+void VymLock::init()
+{
+    state = Undefined;
+}
+
+bool VymLock::tryLock()
+{
+    QFile lockFile(lockPath);
+    if (lockFile.exists()) {
+        // File is already locked
+        if (debug)
+            qDebug() << QString("VymLock::tryLock  failed: LockFile exists: %1").arg(lockFile.fileName());
+
+        QString s;
+        if (!loadStringFromDisk(lockFile.fileName(), s))
+            qWarning("Failed to read from existing lockFile");
+        else {
+            QRegularExpression re("^author:\\s\\\"(.*)\\\"$");
+            re.setPatternOptions(QRegularExpression::MultilineOption);
+            QRegularExpressionMatch match = re.match(s);
+            if (match.hasMatch())
+                author = match.captured(1);
+
+            re.setPattern("^host:\\s\\\"(.*)\\\"$");
+            match = re.match(s);
+            if (match.hasMatch())
+                host = match.captured(1);
+        }
+        state = LockedByOther;
+        return false;
+    }
+
+    if (!lockFile.open(QFile::WriteOnly | QFile::Text)) {
+        if (debug)
+            qWarning()
+                << QString(
+                       "VymLock::tryLock failed: Cannot open lockFile %1\n%2")
+                       .arg(lockFile.fileName())
+                       .arg(lockFile.errorString());
+        state = NotWritable;
+        return false;
+    }
+
+    QString s;
+    if (!author.isEmpty())
+        s = QString("author: \"%1\"\n").arg(author);
+    if (!host.isEmpty())
+        s += QString("host: \"%1\"\n").arg(host);
+
+    if (!s.isEmpty()) {
+        QTextStream out(&lockFile);
+        out.setCodec("UTF-8");
+        out << s;
+    }
+
+    state = LockedByMyself;
+    lockFile.close();
+
+    return true;
+}
+
+VymLock::LockState VymLock::getState() { return state; }
+
+bool VymLock::releaseLock()
+{
+    if (state == LockedByMyself) {
+        QFile lockFile(lockPath);
+        if (lockFile.remove()) {
+            state = Undefined;
+            return true;
+        }
+    }
+    if (state == Undefined)
+        // No lockfile yet, e.g. in new map
+        return true;
+
+    qWarning() << "VymLock::releaseLock  failed for " << lockPath;
+    return false;
+}
+
+bool VymLock::removeLockForced()
+{
+    QFile lockFile(lockPath);
+    if (lockFile.remove()) {
+        state = Undefined;
+        return true;
+    }
+    qWarning() << "VymLock::removeLockForced  failed for " << lockPath;
+    return false;
+}
+
+void VymLock::setAuthor(const QString &s) { author = s; }
+
+QString VymLock::getAuthor() { return author; }
+
+void VymLock::setHost(const QString &s) { host = s; }
+
+QString VymLock::getHost() { return host; }
+
+void VymLock::setMapPath(const QString &path)
+{
+    mapPath = path;
+    lockPath = path + ".lock";
+
+    // Reset state for a new path
+    state = Undefined;
+}
+
+QString VymLock::getMapPath()
+{
+    return mapPath;
+}
diff --git a/src/vymlock.h b/src/vymlock.h
new file mode 100644 (file)
index 0000000..c32a2a9
--- /dev/null
@@ -0,0 +1,33 @@
+#ifndef VYMLOCK_H
+#define VYMLOCK_H
+
+extern bool debug;
+
+class VymLock {
+  public:
+    enum LockState { Undefined, LockedByMyself, LockedByOther, NotWritable };
+    void operator==(const VymLock &);
+    VymLock();
+    VymLock(const QString &fn);
+    ~VymLock();
+    void init();
+    bool tryLock();
+    LockState getState();
+    bool releaseLock();
+    bool removeLockForced();
+    void setAuthor(const QString &s);
+    QString getAuthor();
+    void setHost(const QString &s);
+    QString getHost();
+    void setMapPath(const QString &path);
+    QString getMapPath();
+
+  private:
+    QString author;
+    QString host;
+    QString mapPath;
+    QString lockPath;
+    LockState state;
+};
+
+#endif
diff --git a/src/vymmodel.cpp b/src/vymmodel.cpp
new file mode 100644 (file)
index 0000000..d3ce384
--- /dev/null
@@ -0,0 +1,6371 @@
+#include <QApplication>
+#include <QSvgGenerator>
+
+#if defined(VYM_DBUS)
+#include <QtDBus/QDBusConnection>
+#endif
+
+#ifndef Q_OS_WINDOWS
+#include <unistd.h>
+#else
+#define sleep Sleep
+#endif
+
+#include <QColorDialog>
+#include <QFileDialog>
+#include <QMessageBox>
+#include <QPrinter>
+
+#include "vymmodel.h"
+
+#include "attributeitem.h"
+#include "branchitem.h"
+#include "confluence-agent.h"
+#include "download-agent.h"
+#include "editxlinkdialog.h"
+#include "export-ao.h"
+#include "export-ascii.h"
+#include "export-confluence.h"
+#include "export-csv.h"
+#include "export-firefox.h"
+#include "export-html.h"
+#include "export-impress.h"
+#include "export-latex.h"
+#include "export-markdown.h"
+#include "export-orgmode.h"
+#include "file.h"
+#include "findresultmodel.h"
+#include "jira-agent.h"
+#include "lockedfiledialog.h"
+#include "mainwindow.h"
+#include "misc.h"
+#include "noteeditor.h"
+#include "options.h"
+#include "scripteditor.h"
+#include "slideitem.h"
+#include "slidemodel.h"
+#include "taskeditor.h"
+#include "taskmodel.h"
+#include "treeitem.h"
+#include "vymprocess.h"
+#include "warningdialog.h"
+#include "xlinkitem.h"
+#include "xlinkobj.h"
+#include "xml-freemind.h"
+#include "xml-vym.h"
+#include "xmlobj.h"
+
+#ifdef Q_OS_WINDOWS
+#include <windows.h>
+#endif
+
+extern bool debug;
+extern bool testmode;
+extern bool restoreMode;
+extern QStringList ignoredLockedFiles;
+
+extern Main *mainWindow;
+
+extern QDir tmpVymDir;
+
+extern NoteEditor *noteEditor;
+extern TaskEditor *taskEditor;
+extern ScriptEditor *scriptEditor;
+extern FlagRowMaster *standardFlagsMaster;
+extern FlagRowMaster *userFlagsMaster;
+
+extern Options options;
+
+extern QString clipboardDir;
+extern QString clipboardFile;
+
+extern ImageIO imageIO;
+
+extern TaskModel *taskModel;
+
+extern QString vymName;
+extern QString vymVersion;
+extern QDir vymBaseDir;
+
+extern QDir lastImageDir;
+extern QDir lastMapDir;
+extern QDir lastExportDir;
+
+extern Settings settings;
+extern QTextStream vout;
+
+uint VymModel::idLast = 0; // make instance
+
+VymModel::VymModel()
+{
+    // qDebug()<< "Const VymModel" << this;
+    init();
+    rootItem->setModel(this);
+    wrapper = new VymModelWrapper(this);
+}
+
+VymModel::~VymModel()
+{
+    // out << "Destr VymModel begin this="<<this<<"  "<<mapName<<flush;
+    mapEditor = nullptr;
+    repositionBlocked = true;
+    autosaveTimer->stop();
+    fileChangedTimer->stop();
+    stopAllAnimation();
+
+    // qApp->processEvents();  // Update view (scene()->update() is not enough)
+    // qDebug() << "Destr VymModel end   this="<<this;
+
+    vymLock.releaseLock();
+
+    delete (wrapper);
+}
+
+void VymModel::clear()
+{
+    while (rootItem->childCount() > 0) {
+        // qDebug()<<"VM::clear  ri="<<rootItem<<"
+        // ri->count()="<<rootItem->childCount();
+        deleteItem(rootItem->getChildNum(0));
+    }
+}
+
+void VymModel::init()
+{
+    // No MapEditor yet
+    mapEditor = NULL;
+
+    // Use default author
+    author =
+        settings
+            .value("/user/name", tr("unknown user",
+                                    "default name for map author in settings"))
+            .toString();
+
+    // States and IDs
+    idLast++;
+    modelID = idLast;
+    mapChanged = false;
+    mapDefault = true;
+    mapUnsaved = false;
+
+    // Selection history
+    selModel = NULL;
+    selectionBlocked = false;
+    resetSelectionHistory();
+
+    resetHistory();
+
+    // Create tmp dirs
+    makeTmpDirectories();
+
+    // Files
+    readonly = false;
+    zipped = true;
+    filePath = "";
+    fileName = tr("unnamed");
+    mapName = fileName;
+    repositionBlocked = false;
+    saveStateBlocked = false;
+
+    autosaveTimer = new QTimer(this);
+    connect(autosaveTimer, SIGNAL(timeout()), this, SLOT(autosave()));
+
+    fileChangedTimer = new QTimer(this);
+    connect(fileChangedTimer, SIGNAL(timeout()), this, SLOT(fileChanged()));
+    fileChangedTimer->start(3000);
+
+    taskAlarmTimer = new QTimer(this);
+    connect(taskAlarmTimer, SIGNAL(timeout()), this, SLOT(updateTasksAlarm()));
+    taskAlarmTimer->start(3000);
+
+    // animations   // FIXME-4 switch to new animation system
+    animationUse =
+        settings.value("/animation/use", false)
+            .toBool(); // FIXME-4 add options to control _what_ is animated
+    animationTicks = settings.value("/animation/ticks", 20).toInt();
+    animationInterval = settings.value("/animation/interval", 5).toInt();
+    animObjList.clear();
+    animationTimer = new QTimer(this);
+    connect(animationTimer, SIGNAL(timeout()), this, SLOT(animate()));
+
+    // View - map
+    defaultFont.setPointSizeF(16);
+    defLinkColor = QColor(0, 0, 255);
+    linkcolorhint = LinkableMapObj::DefaultColor;
+    linkstyle = LinkableMapObj::PolyParabel;
+    defXLinkPen.setWidth(1);
+    defXLinkPen.setColor(QColor(50, 50, 255));
+    defXLinkPen.setStyle(Qt::DashLine);
+    defXLinkStyleBegin = "HeadFull";
+    defXLinkStyleEnd = "HeadFull";
+
+    hasContextPos = false;
+
+    hidemode = TreeItem::HideNone;
+
+    // Animation in MapEditor
+    zoomFactor = 1;
+    rotationAngle = 0;
+    animDuration = 2000;
+    animCurve = QEasingCurve::OutQuint;
+
+    // Initialize presentation slides
+    slideModel = new SlideModel(this);
+    blockSlideSelection = false;
+
+    // Avoid recursions later
+    cleaningUpLinks = false;
+
+    // Network
+    netstate = Offline;
+
+#if defined(VYM_DBUS)
+    // Announce myself on DBUS
+    new AdaptorModel(this); // Created and not deleted as documented in Qt
+    if (!QDBusConnection::sessionBus().registerObject(
+            QString("/vymmodel_%1").arg(modelID), this))
+        qWarning("VymModel: Couldn't register DBUS object!");
+#endif
+}
+
+void VymModel::makeTmpDirectories()
+{
+    // Create unique temporary directories
+    tmpMapDirPath = tmpVymDir.path() + QString("/model-%1").arg(modelID);
+    histPath = tmpMapDirPath + "/history";
+    QDir d;
+    d.mkdir(tmpMapDirPath);
+}
+
+QString VymModel::tmpDirPath() { return tmpMapDirPath; }
+
+MapEditor *VymModel::getMapEditor() { return mapEditor; }
+
+VymModelWrapper *VymModel::getWrapper() { return wrapper; }
+
+bool VymModel::isRepositionBlocked() { return repositionBlocked; }
+
+void VymModel::updateActions()
+{
+    // Tell mainwindow to update states of actions
+    mainWindow->updateActions();
+}
+
+bool VymModel::setData(const QModelIndex &, const QVariant &value, int role)
+{
+    if (role != Qt::EditRole)
+        return false;
+
+    setHeadingPlainText(value.toString());
+
+    return true;
+}
+
+void VymModel::resetUsedFlags()
+{
+    standardFlagsMaster->resetUsedCounter();
+    userFlagsMaster->resetUsedCounter();
+}
+
+QString VymModel::saveToDir(const QString &tmpdir, const QString &prefix,
+                            FlagRowMaster::WriteMode flagMode, const QPointF &offset,
+                            TreeItem *saveSel)
+{
+    // tmpdir      temporary directory to which data will be written
+    // prefix      mapname, which will be appended to images etc.
+    //
+    // writeflags   Only write flags for "real" save of map, not undo
+    // offset      offset of bbox of whole map in scene.
+    //             Needed for XML export
+
+    XMLObj xml;
+
+    // Save Header
+    QString ls;
+    switch (linkstyle) {
+    case LinkableMapObj::Line:
+        ls = "StyleLine";
+        break;
+    case LinkableMapObj::Parabel:
+        ls = "StyleParabel";
+        break;
+    case LinkableMapObj::PolyLine:
+        ls = "StylePolyLine";
+        break;
+    default:
+        ls = "StylePolyParabel";
+        break;
+    }
+
+    QString header =
+        "<?xml version=\"1.0\" encoding=\"utf-8\"?><!DOCTYPE vymmap>\n";
+    QString colhint = "";
+    if (linkcolorhint == LinkableMapObj::HeadingColor)
+        colhint = xml.attribut("linkColorHint", "HeadingColor");
+
+    QString mapAttr = xml.attribut("version", vymVersion);
+    if (!saveSel) {
+        QPen selPen = mapEditor->getSelectionPen();
+        QBrush selBrush = mapEditor->getSelectionBrush();
+
+        mapAttr +=
+            xml.attribut("author", author) + xml.attribut("title", title) +
+            xml.attribut("comment", comment) + xml.attribut("date", getDate()) +
+            xml.attribut("branchCount", QString().number(branchCount())) +
+            xml.attribut(
+                "backgroundColor",
+                mapEditor->getScene()->backgroundBrush().color().name()) +
+            xml.attribut("defaultFont", defaultFont.toString()) +
+            xml.attribut("selectionColor",  // FIXME-2 Only for compatibility until 2.9.513
+                         selBrush.color().name(QColor::HexArgb)) +
+            xml.attribut("selectionPenColor", selPen.color().name(QColor::HexArgb)) +
+            xml.attribut("selectionPenWidth", 
+                         QString().setNum(selPen.width())) + 
+            xml.attribut("selectionBrushColor", selBrush.color().name(QColor::HexArgb)) +
+            xml.attribut("linkStyle", ls) +
+            xml.attribut("linkColor", defLinkColor.name()) +
+            xml.attribut("defXLinkColor", defXLinkPen.color().name()) +
+            xml.attribut("defXLinkWidth",
+                         QString().setNum(defXLinkPen.width(), 10)) +
+            xml.attribut("defXLinkPenStyle",
+                         penStyleToString(defXLinkPen.style())) +
+            xml.attribut("defXLinkStyleBegin", defXLinkStyleBegin) +
+            xml.attribut("defXLinkStyleEnd", defXLinkStyleEnd) +
+            xml.attribut("mapZoomFactor",
+                         QString().setNum(mapEditor->getZoomFactorTarget())) +
+            xml.attribut("mapRotationAngle",
+                         QString().setNum(mapEditor->getAngleTarget())) +
+            colhint;
+    }
+    header += xml.beginElement("vymmap", mapAttr);
+    xml.incIndent();
+
+    // Find the used flags while traversing the tree
+    resetUsedFlags();
+
+    // Temporary list of links
+    QList<Link *> tmpLinks;
+
+    QString tree;
+    // Build xml recursivly
+    if (!saveSel) {
+        // Save all mapcenters as complete map, if saveSel not set
+        tree += saveTreeToDir(tmpdir, prefix, offset, tmpLinks);
+
+        // Save local settings
+        tree += settings.getDataXML(destPath);
+
+        // Save selection
+        if (getSelectedItem() && !saveSel)
+            tree += xml.valueElement("select", getSelectString());
+    }
+    else {
+        switch (saveSel->getType()) {
+        case TreeItem::Branch:
+            // Save Subtree
+            tree += ((BranchItem *)saveSel)
+                        ->saveToDir(tmpdir, prefix, offset, tmpLinks);
+            break;
+        case TreeItem::MapCenter:
+            // Save Subtree
+            tree += ((BranchItem *)saveSel)
+                        ->saveToDir(tmpdir, prefix, offset, tmpLinks);
+            break;
+        case TreeItem::Image:
+            // Save Image
+            tree += ((ImageItem *)saveSel)->saveToDir(tmpdir, prefix);
+            break;
+        default:
+            // other types shouldn't be safed directly...
+            break;
+        }
+    }
+
+    QString flags;
+
+    // Write images and definitions of used user flags
+    if (flagMode != FlagRowMaster::NoFlags) {
+        // First find out, which flags are used
+        // Definitions
+        flags += userFlagsMaster->saveDef(flagMode);
+
+        userFlagsMaster->saveDataToDir(tmpdir + "flags/user/", flagMode);
+        standardFlagsMaster->saveDataToDir(tmpdir + "flags/standard/",
+                                           flagMode);
+    }
+
+    QString footer;
+    // Save XLinks
+    for (int i = 0; i < tmpLinks.count(); ++i)
+        footer += tmpLinks.at(i)->saveToDir();
+
+    // Save slides
+    footer += slideModel->saveToDir();
+
+    xml.decIndent();
+    footer += xml.endElement("vymmap");
+
+    return header + flags + tree + footer;
+}
+
+QString VymModel::saveTreeToDir(const QString &tmpdir, const QString &prefix,
+                                const QPointF &offset, QList<Link *> &tmpLinks)
+{
+    QString s;
+    for (int i = 0; i < rootItem->branchCount(); i++)
+        s += rootItem->getBranchNum(i)->saveToDir(tmpdir, prefix, offset,
+                                                  tmpLinks);
+    return s;
+}
+
+void VymModel::setFilePath(QString fpath, QString destname)
+{
+    if (fpath.isEmpty() || fpath == "") {
+        filePath = "";
+        fileName = "";
+        destPath = "";
+    }
+    else {
+        filePath = fpath;    // becomes absolute path
+        fileName = fpath;    // gets stripped of path
+        destPath = destname; // needed for vymlinks and during load to reset
+                             // fileChangedTime
+
+        // If fpath is not an absolute path, complete it
+        filePath = QDir(fpath).absolutePath();
+        fileDir = filePath.left(1 + filePath.lastIndexOf("/"));
+
+        // Set short name, too. Search from behind:
+        fileName = basename(fileName);
+
+        // Forget the .vym (or .xml) for name of map
+        mapName =
+            fileName.left(fileName.lastIndexOf(".", -1, Qt::CaseSensitive));
+    }
+}
+
+void VymModel::setFilePath(QString fpath) { setFilePath(fpath, fpath); }
+
+QString VymModel::getFileDir() { return fileDir; }
+
+QString VymModel::getFilePath() { return filePath; }
+
+QString VymModel::getFileName() { return fileName; }
+
+QString VymModel::getMapName() { return mapName; }
+
+QString VymModel::getDestPath() { return destPath; }
+
+bool VymModel::parseVymText(const QString &s)
+{
+    bool ok = false;
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        parseBaseHandler *handler = new parseVYMHandler;
+
+        bool saveStateBlockedOrg = saveStateBlocked;
+        repositionBlocked = true;
+        saveStateBlocked = true;
+        QXmlInputSource source;
+        source.setData(s);
+        QXmlSimpleReader reader;
+        reader.setContentHandler(handler);
+        reader.setErrorHandler(handler);
+
+        handler->setInputString(s);
+        handler->setModel(this);
+        handler->setLoadMode(ImportReplace, 0);
+
+        ok = reader.parse(source);
+        repositionBlocked = false;
+        saveStateBlocked = saveStateBlockedOrg;
+        if (ok) {
+            if (s.startsWith("<vymnote"))
+                emitNoteChanged(bi);
+            emitDataChanged(bi);
+            reposition(); // to generate bbox sizes
+        }
+        else {
+            QMessageBox::critical(0, tr("Critical Parse Error"),
+                                  tr(handler->errorProtocol().toUtf8()));
+            // returnCode=1;
+            // Still return "success": the map maybe at least
+            // partially read by the parser
+        }
+    }
+    return ok;
+}
+
+File::ErrorCode VymModel::loadMap(QString fname, const LoadMode &lmode,
+                                  const FileType &ftype,
+                                  const int &contentFilter, int pos)
+{
+    File::ErrorCode err = File::Success;
+
+    // Get updated zoomFactor, before applying one read from file in the end
+    if (mapEditor) {
+        zoomFactor = mapEditor->getZoomFactorTarget();
+        rotationAngle = mapEditor->getAngleTarget();
+    }
+
+    parseBaseHandler *handler;
+    fileType = ftype;
+    switch (fileType) {
+    case VymMap:
+        handler = new parseVYMHandler;
+        ((parseVYMHandler *)handler)->setContentFilter(contentFilter);
+        break;
+    case FreemindMap:
+        handler = new parseFreemindHandler;
+        break;
+    default:
+        QMessageBox::critical(0, tr("Critical Parse Error"),
+                              "Unknown FileType in VymModel::load()");
+        return File::Aborted;
+    }
+
+    if (lmode == NewMap) {
+        // Reset timestamp to check for later updates of file
+        fileChangedTime = QFileInfo(destPath).lastModified();
+
+        selModel->clearSelection();
+    }
+
+    bool zipped_org = zipped;
+
+    // Create temporary directory for packing
+    bool ok;
+    QString tmpZipDir = makeTmpDir(ok, tmpDirPath(), "unzip");
+    if (!ok) {
+        QMessageBox::critical(
+            0, tr("Critical Load Error"),
+            tr("Couldn't create temporary directory before load\n"));
+        return File::Aborted;
+    }
+
+    QString xmlfile;
+    if (fname.right(4) == ".xml" || fname.right(3) == ".mm") {
+        xmlfile = fname;
+        zipped = false;
+
+        if (lmode == NewMap || lmode == DefaultMap)
+            zipped_org = false;
+    }
+    else {
+        // Try to unzip file
+        err = unzipDir(tmpZipDir, fname);
+    }
+
+    if (zipped) {
+        // Look for mapname.xml
+        xmlfile = fname.left(fname.lastIndexOf(".", -1, Qt::CaseSensitive));
+        xmlfile = xmlfile.section('/', -1);
+        QFile mfile(tmpZipDir + "/" + xmlfile + ".xml");
+        if (!mfile.exists()) {
+            // mapname.xml does not exist, well,
+            // maybe someone renamed the mapname.vym file...
+            // Try to find any .xml in the toplevel
+            // directory of the .vym file
+            QStringList filters;
+            filters << "*.xml";
+            QStringList flist = QDir(tmpZipDir).entryList(filters);
+            if (flist.count() == 1) {
+                // Only one entry, take this one
+                xmlfile = tmpZipDir + "/" + flist.first();
+            }
+            else {
+                for (QStringList::Iterator it = flist.begin();
+                     it != flist.end(); ++it)
+                    *it = tmpZipDir + "/" + *it;
+                // FIXME-4 Multiple entries, load all (but only the first one
+                // into this ME)
+                // mainWindow->fileLoadFromTmp (flist);
+                // returnCode = 1;     // Silently forget this attempt to load
+                qWarning("MainWindow::load (fn)  multimap found...");
+            }
+
+            if (flist.isEmpty()) {
+                QMessageBox::critical(
+                    0, tr("Critical Load Error"),
+                    tr("Couldn't find a map (*.xml) in .vym archive.\n"));
+                err = File::Aborted;
+            }
+        } // file doesn't exist
+        else
+            xmlfile = mfile.fileName();
+    }
+
+    QFile file(xmlfile);
+
+    // I am paranoid: file should exist anyway
+    // according to check in mainwindow.
+    if (!file.exists()) {
+        QMessageBox::critical(
+            0, tr("Critical Parse Error"),
+            tr(QString("Couldn't open map %1").arg(file.fileName()).toUtf8()));
+        err = File::Aborted;
+    }
+    else {
+        bool saveStateBlockedOrg = saveStateBlocked;
+        repositionBlocked = true;
+        saveStateBlocked = true;
+        mapEditor->setViewportUpdateMode(QGraphicsView::NoViewportUpdate);
+        QXmlInputSource source(&file);
+        QXmlSimpleReader reader;
+        reader.setContentHandler(handler);
+        reader.setErrorHandler(handler);
+        handler->setModel(this);
+
+        // We need to set the tmpDir in order  to load files with rel. path
+        QString tmpdir;
+        if (zipped)
+            tmpdir = tmpZipDir;
+        else
+            tmpdir = fname.left(fname.lastIndexOf("/", -1));
+        handler->setTmpDir(tmpdir);
+        handler->setInputFile(file.fileName());
+        if (lmode == ImportReplace)
+            handler->setLoadMode(ImportReplace, pos);
+        else
+            handler->setLoadMode(lmode, pos);
+
+        // Here we actually parse the XML file
+        bool ok = reader.parse(source);
+
+        // Aftermath
+        repositionBlocked = false;
+        saveStateBlocked = saveStateBlockedOrg;
+        mapEditor->setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate);
+        file.close();
+        if (ok) {
+            reposition(); // to generate bbox sizes
+            emitSelectionChanged();
+
+            if (lmode == NewMap) // no lockfile for default map!
+            {
+                mapDefault = false;
+                mapChanged = false;
+                mapUnsaved = false;
+                autosaveTimer->stop();
+
+                resetHistory();
+                resetSelectionHistory();
+
+                // Set treeEditor and slideEditor visibilty per map
+                vymView->readSettings();
+
+                if (!tryVymLock() && debug)
+                    qWarning() << "VM::loadMap  no lockfile created!";
+            }
+
+            // Recalc priorities and sort
+            taskModel->recalcPriorities();
+        }
+        else {
+            QMessageBox::critical(0, tr("Critical Parse Error"),
+                                  tr(handler->errorProtocol().toUtf8()));
+            // returnCode=1;
+            // Still return "success": the map maybe at least
+            // partially read by the parser
+        }
+    }
+
+    // Delete tmpZipDir
+    removeDir(QDir(tmpZipDir));
+
+    // Restore original zip state
+    zipped = zipped_org;
+
+    updateActions();
+
+    if (lmode != NewMap)
+        emitUpdateQueries();
+
+    if (mapEditor) {
+        mapEditor->setZoomFactorTarget(zoomFactor);
+        mapEditor->setAngleTarget(rotationAngle);
+    }
+
+    qApp->processEvents(); // Update view (scene()->update() is not enough)
+    return err;
+}
+
+File::ErrorCode VymModel::save(const SaveMode &savemode)
+{
+    QString tmpZipDir;
+    QString mapFileName;
+    QString saveFilePath;
+
+    File::ErrorCode err = File::Success;
+
+    if (zipped)
+        // save as .xml
+        mapFileName = mapName + ".xml";
+    else
+        // use name given by user, could be anything
+        mapFileName = fileName;
+
+    // Look, if we should zip the data:
+    if (!zipped)
+    {
+        QMessageBox mb(vymName,
+                       tr("The map %1\ndid not use the compressed "
+                          "vym file format.\nWriting it uncompressed will also "
+                          "write images \n"
+                          "and flags and thus may overwrite files into the "
+                          "given directory\n\nDo you want to write the map")
+                           .arg(filePath),
+                       QMessageBox::Warning,
+                       QMessageBox::Yes | QMessageBox::Default, QMessageBox::No,
+                       QMessageBox::Cancel | QMessageBox::Escape);
+        mb.setButtonText(QMessageBox::Yes, tr("compressed (vym default)"));
+        mb.setButtonText(
+            QMessageBox::No,
+            tr("uncompressed, potentially overwrite existing data"));
+        mb.setButtonText(QMessageBox::Cancel, tr("Cancel"));
+        switch (mb.exec()) {
+            case QMessageBox::Yes:
+                // save compressed (default file format)
+                zipped = true;
+                break;
+            case QMessageBox::No:
+                // save uncompressed
+                zipped = false;
+                break;
+            case QMessageBox::Cancel:
+                // do nothing
+                return File::Aborted;
+                break;
+        }
+    }
+
+    // First backup existing file, we
+    // don't want to add to old zip archives
+    QFile f(destPath);
+    if (f.exists()) {
+        if (settings.value("/system/writeBackupFile").toBool()) {
+            QString backupFileName(destPath + "~");
+            QFile backupFile(backupFileName);
+            if (backupFile.exists() && !backupFile.remove()) {
+                QMessageBox::warning(
+                    0, tr("Save Error"),
+                    tr("%1\ncould not be removed before saving")
+                        .arg(backupFileName));
+            }
+            else {
+                if (!f.rename(backupFileName)) {
+                    QMessageBox::warning(
+                        0, tr("Save Error"),
+                        tr("%1\ncould not be renamed before saving")
+                            .arg(destPath));
+                }
+            }
+        }
+    }
+
+    if (zipped) {
+        // Create temporary directory for packing
+        bool ok;
+        tmpZipDir = makeTmpDir(ok, tmpDirPath(), "zip");
+        if (!ok) {
+            QMessageBox::critical(
+                0, tr("Critical Save Error"),
+                tr("Couldn't create temporary directory before save\n"));
+            return File::Aborted;
+        }
+
+        saveFilePath = filePath;
+        setFilePath(tmpZipDir + "/" + mapName + ".xml", saveFilePath);
+    } // zipped
+
+    // Create mapName and fileDir
+    makeSubDirs(fileDir);
+
+    QString saveFile;
+    if (savemode == CompleteMap || selModel->selection().isEmpty()) {
+        // Save complete map
+        if (zipped)
+            // Use defined name for map within zipfile to avoid problems
+            // with zip library and umlauts (see #98)
+            saveFile =
+                saveToDir(fileDir, "", FlagRowMaster::UsedFlags, QPointF(), NULL);
+        else
+            saveFile = saveToDir(fileDir, mapName + "-", FlagRowMaster::UsedFlags,
+                                 QPointF(), NULL);
+        mapChanged = false;
+        mapUnsaved = false;
+        autosaveTimer->stop();
+    }
+    else {
+        // Save part of map
+        if (selectionType() == TreeItem::Image)
+            saveImage();
+        else
+            saveFile = saveToDir(fileDir, mapName + "-", FlagRowMaster::UsedFlags,
+                                 QPointF(), getSelectedBranch());
+        // FIXME-3 take care of multiselections when saving parts
+    }
+
+    bool saved;
+    if (zipped)
+        // Use defined map name "map.xml", if zipped. Introduce in 2.6.6
+        saved = saveStringToDisk(fileDir + "map.xml", saveFile);
+    else
+        // Use regular mapName, when saved as XML
+        saved = saveStringToDisk(fileDir + mapFileName, saveFile);
+    if (!saved) {
+        err = File::Aborted;
+        qWarning("ME::saveStringToDisk failed!");
+    }
+
+    if (zipped) {
+        // zip
+        if (err == File::Success)
+            err = zipDir(tmpZipDir, destPath);
+
+        // Delete tmpDir
+        removeDir(QDir(tmpZipDir));
+
+        // Restore original filepath outside of tmp zip dir
+        setFilePath(saveFilePath);
+    }
+
+    updateActions();
+
+    fileChangedTime = QFileInfo(destPath).lastModified();
+    return err;
+}
+
+ImageItem* VymModel::loadImage(BranchItem *dst, const QString &fn)  // FIXME-2 better move filedialog to MainWindow
+{
+    if (!dst)
+        dst = getSelectedBranch();
+    if (dst) {
+        QString filter = QString(tr("Images") +
+                                 " (*.png *.bmp *.xbm *.jpg *.png *.xpm *.gif "
+                                 "*.pnm *.svg *.svgz);;" +
+                                 tr("All", "Filedialog") + " (*.*)");
+        QStringList fns;
+        if (fn.isEmpty())
+            fns = QFileDialog::getOpenFileNames(
+                NULL, vymName + " - " + tr("Load image"), lastImageDir.path(),
+                filter);
+        else
+            fns.append(fn);
+
+        if (!fns.isEmpty()) {
+            lastImageDir.setPath(
+                fns.first().left(fns.first().lastIndexOf("/")));
+            QString s;
+            for (int j = 0; j < fns.count(); j++) {
+                s = fns.at(j);
+                ImageItem *ii = createImage(dst);
+                if (ii && ii->load(s)) {
+                    saveState((TreeItem *)ii, "remove()", dst,
+                              QString("loadImage (\"%1\")").arg(s),
+                              QString("Add image %1 to %2")
+                                  .arg(s)
+                                  .arg(getObjectName(dst)));
+                    // Find nice position for new image, take childPos // FIXME-1 position below last image
+                    FloatImageObj *fio = (FloatImageObj *)(ii->getMO());
+                    if (fio) {
+                        LinkableMapObj *parLMO = dst->getLMO();
+
+                        if (parLMO) {
+                            fio->move(parLMO->getChildRefPos());
+                            fio->setRelPos();
+                        }
+                    }
+
+                    // On default include image // FIXME-4 check, if we change
+                    // default settings...
+                    select(dst);
+                    setIncludeImagesHor(false);
+                    setIncludeImagesVer(true);
+
+                    reposition();
+                    return ii;
+                }
+                else {
+                    qWarning() << "vymmodel: Failed to load " + s;
+                    deleteItem(ii);
+                }
+            }
+        }
+    }
+    return nullptr;
+}
+
+void VymModel::saveImage(ImageItem *ii, QString fn)
+{
+    if (!ii)
+        ii = getSelectedImage();
+    if (ii) {
+        QString filter = QString(
+            tr("Images") +
+            " (*.png *.bmp *.xbm *.jpg *.png *.xpm *.gif *.pnm *.svg);;" +
+            tr("All", "Filedialog") + " (*.*)");
+        if (fn.isEmpty())
+            fn = QFileDialog::getSaveFileName(
+                NULL, vymName + " - " + tr("Save image"), lastImageDir.path(),
+                filter, NULL, QFileDialog::DontConfirmOverwrite);
+
+        if (!fn.isEmpty()) {
+            lastImageDir.setPath(fn.left(fn.lastIndexOf("/")));
+            if (QFile(fn).exists()) {
+                QMessageBox mb(vymName,
+                               tr("The file %1 exists already.\n"
+                                  "Do you want to overwrite it?")
+                                   .arg(fn),
+                               QMessageBox::Warning,
+                               QMessageBox::Yes | QMessageBox::Default,
+                               QMessageBox::Cancel | QMessageBox::Escape,
+                               QMessageBox::NoButton);
+
+                mb.setButtonText(QMessageBox::Yes, tr("Overwrite"));
+                mb.setButtonText(QMessageBox::No, tr("Cancel"));
+                switch (mb.exec()) {
+                case QMessageBox::Yes:
+                    // save
+                    break;
+                case QMessageBox::Cancel:
+                    // do nothing
+                    return;
+                    break;
+                }
+            }
+            if (!ii->saveImage(fn))
+                QMessageBox::critical(0, tr("Critical Error"),
+                                      tr("Couldn't save %1").arg(fn));
+        }
+    }
+}
+
+void VymModel::importDirInt(BranchItem *dst, QDir d)
+{
+    bool oldSaveState = saveStateBlocked;
+    saveStateBlocked = true;
+    BranchItem *bi = dst;
+    if (bi) {
+        int beginDepth = bi->depth();
+
+        d.setFilter(QDir::AllEntries | QDir::Hidden);
+        QFileInfoList list = d.entryInfoList();
+        QFileInfo fi;
+
+        // Traverse directories
+        for (int i = 0; i < list.size(); ++i) {
+            fi = list.at(i);
+            if (fi.isDir() && fi.fileName() != "." && fi.fileName() != "..") {
+                bi = addNewBranchInt(dst, -2);
+                bi->setHeadingPlainText(fi.fileName());
+                bi->setHeadingColor(QColor("blue"));
+                if (debug)
+                    qDebug() << "Added subdir: " << fi.fileName();
+                if (!d.cd(fi.fileName()))
+                    QMessageBox::critical(
+                        0, tr("Critical Import Error"),
+                        tr("Cannot find the directory %1").arg(fi.fileName()));
+                else {
+                    // Recursively add subdirs
+                    importDirInt(bi, d);
+                    d.cdUp();
+                }
+                emitDataChanged(bi);
+            }
+        }
+
+        for (int i = 0; i < list.size(); ++i) {
+            fi = list.at(i);
+            if (fi.isFile()) {
+                bi = addNewBranchInt(dst, -2);
+                bi->setHeadingPlainText(fi.fileName());
+                bi->setHeadingColor(QColor("black"));
+                if (fi.fileName().right(4) == ".vym")
+                    bi->setVymLink(fi.filePath());
+                emitDataChanged(bi);
+            }
+        }
+
+        // Scroll at least some stuff
+        if (dst->branchCount() > 1 && dst->depth() - beginDepth > 2)
+            dst->toggleScroll();
+    }
+    saveStateBlocked = oldSaveState;
+}
+
+void VymModel::importDir(const QString &s)
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        saveStateChangingPart(
+            selbi, selbi, QString("importDir (\"%1\")").arg(s),
+            QString("Import directory structure from %1").arg(s));
+
+        QDir d(s);
+        importDirInt(selbi, d);
+    }
+}
+
+void VymModel::importDir()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        QStringList filters;
+        filters << "VYM map (*.vym)";
+        QFileDialog fd;
+        fd.setWindowTitle(vymName + " - " +
+                          tr("Choose directory structure to import"));
+        fd.setFileMode(QFileDialog::DirectoryOnly);
+        fd.setNameFilters(filters);
+        fd.setWindowTitle(vymName + " - " +
+                          tr("Choose directory structure to import"));
+        fd.setAcceptMode(QFileDialog::AcceptOpen);
+
+        QString fn;
+        if (fd.exec() == QDialog::Accepted && !fd.selectedFiles().isEmpty()) {
+            importDir(fd.selectedFiles().first());
+            reposition();
+        }
+    }
+}
+
+bool VymModel::removeVymLock()
+{
+    if (vymLock.removeLockForced()) {
+        mainWindow->statusMessage(tr("Removed lockfile for %1").arg(mapName));
+        setReadOnly(false);
+        return true;
+    } else
+        return false;
+}
+
+bool VymModel::tryVymLock()
+{
+    // Defaults for author and host in vymLock
+    QString defAuthor =
+        settings
+            .value("/user/name",
+                   tr("unknown user", "Default for lockfiles of maps"))
+            .toString();
+    QString defHost = QHostInfo::localHostName();
+    vymLock.setMapPath(filePath);
+    vymLock.setAuthor(settings.value("/user/name", defAuthor).toString());
+    if (getenv("HOST") != 0)
+        vymLock.setHost(getenv("HOST"));
+    else
+        vymLock.setHost(defHost);
+
+    // Now try to lock
+    if (!vymLock.tryLock()) {
+        if (debug)
+            qDebug() << "VymModel::tryLock failed!";
+        setReadOnly(true);
+        if (vymLock.getState() == VymLock::LockedByOther) {
+            if (restoreMode) {
+                // While restoring maps, existing lockfiles will be ignored for
+                // loading, but listed in a warning dialog
+                ignoredLockedFiles << filePath;
+                return removeVymLock();
+            }
+            else {
+                LockedFileDialog dia;
+                QString a = vymLock.getAuthor();
+                QString h = vymLock.getHost();
+                QString s =
+                    QString(
+                        tr("Map seems to be already opened in another vym "
+                           "instance!\n\n "
+                           "Map is locked by \"%1\" on \"%2\"\n\n"
+                           "Please only delete the lockfile, if you are sure "
+                           "nobody else is currently working on this map."))
+                        .arg(a)
+                        .arg(h);
+                dia.setText(s);
+                dia.setWindowTitle(
+                    tr("Warning: Map already opended", "VymModel"));
+                if (dia.execDialog() == LockedFileDialog::DeleteLockfile) {
+                    if (!removeVymLock()) {
+                        // Could not remove existing lockfile, give up
+                        QMessageBox::warning(
+                            0, tr("Warning"),
+                            tr("Couldn't remove lockfile for %1").arg(mapName));
+                        return false;
+                    }
+                    if (!tryVymLock()) {
+                        // Was able to remove existing lockfile, but not able to 
+                        // create new one.
+                        qWarning() << "VymModel::tryVymLock could not create new lockfile after removing old";
+                        return false;
+                    }
+                }
+            }
+        }
+        else if (vymLock.getState() == VymLock::NotWritable) {
+            WarningDialog dia;
+            QString s = QString(tr("Cannot create lockfile of map! "
+                                   "It will be opened in readonly mode.\n\n"));
+            dia.setText(s);
+            dia.setWindowTitle(tr("Warning", "VymModel"));
+            dia.showCancelButton(false);
+            // dia.setShowAgainName("/mainwindow/mapIsLocked");
+            dia.exec();
+        }
+        return false;
+    }
+    return true;
+}
+
+bool VymModel::renameMap(const QString &newPath)
+{
+    QString oldPath = filePath;
+    if (vymLock.getState() == VymLock::LockedByMyself || vymLock.getState() == VymLock::Undefined) {
+        // vymModel owns the lockfile, try to create new lock
+        VymLock newLock;
+        newLock = vymLock;
+        newLock.setMapPath(newPath);    // Resets state for newLock to "Undefined"
+        if (!newLock.tryLock()) {
+            qWarning() << QString("VymModel::renameMap  could not create lockfile for %1").arg(newPath);
+            return false;
+        }
+
+        // Change lockfiles now
+        if (!vymLock.releaseLock())
+            qWarning() << "VymModel::renameMap failed to release lock for " << oldPath;
+        vymLock = newLock;
+        setFilePath(newPath);
+        return true;
+    }
+    qWarning() << "VymModel::renameMap failed to get lockfile. state=" << vymLock.getState();
+    return false;
+}
+
+void VymModel::setReadOnly(bool b)
+{
+    readonly = b;
+    mainWindow->updateTabName(this);
+}
+
+bool VymModel::isReadOnly() { return readonly; }
+
+void VymModel::autosave()
+{
+    // Check if autosave is disabled due to testmode
+    if (testmode)
+    {
+        qWarning()
+            << QString("VymModel::autosave disabled in testmode!  Current map: %1")
+                   .arg(filePath);
+        return;
+    }
+
+    // Check if autosave is disabled globally
+    if (!mainWindow->useAutosave()) {
+        qWarning()
+            << QString("VymModel::autosave disabled globally!  Current map: %1")
+                   .arg(filePath);
+        return;
+    }
+
+    QDateTime now = QDateTime().currentDateTime();
+
+    // Disable autosave, while we have gone back in history
+    int redosAvail = undoSet.numValue(QString("/history/redosAvail"));
+    if (redosAvail > 0)
+        return;
+
+    // Also disable autosave for new map without filename
+    if (filePath.isEmpty()) {
+        if (debug)
+            qWarning()
+                << "VymModel::autosave rejected due to missing filePath\n";
+        return;
+    }
+
+    if (mapUnsaved && mapChanged && mainWindow->useAutosave() && !testmode) {
+        if (QFileInfo(filePath).lastModified() <= fileChangedTime)
+            mainWindow->fileSave(this);
+        else if (debug)
+            qDebug() << "  ME::autosave  rejected, file on disk is newer than "
+                        "last save.\n";
+    }
+}
+
+void VymModel::fileChanged()
+{
+    // Check if file on disk has changed meanwhile
+    if (!filePath.isEmpty()) {
+        if (readonly) {
+            // unset readonly if lockfile is gone
+            if (vymLock.tryLock())
+                setReadOnly(false);
+        }
+        else {
+            // We could check, if somebody else removed/replaced lockfile
+            // (A unique vym ID would be needed)
+
+            QDateTime tmod = QFileInfo(filePath).lastModified();
+            if (tmod > fileChangedTime) {
+                // FIXME-4 VM switch to current mapeditor and finish
+                // lineedits...
+                QMessageBox mb(
+                    vymName,
+                    tr("The file of the map  on disk has changed:\n\n"
+                       "   %1\n\nDo you want to reload that map with the new "
+                       "file?")
+                        .arg(filePath),
+                    QMessageBox::Question, QMessageBox::Yes,
+                    QMessageBox::Cancel | QMessageBox::Default,
+                    QMessageBox::NoButton);
+
+                mb.setButtonText(QMessageBox::Yes, tr("Reload"));
+                mb.setButtonText(QMessageBox::No, tr("Ignore"));
+                switch (mb.exec()) {
+                case QMessageBox::Yes:
+                    // Reload map
+                    mainWindow->initProgressCounter(1);
+                    loadMap(filePath);
+                    mainWindow->removeProgressCounter();
+                    break;
+                case QMessageBox::Cancel:
+                    fileChangedTime =
+                        tmod; // allow autosave to overwrite newer file!
+                }
+            }
+        }
+    }
+}
+
+void VymModel::blockReposition()
+{
+    repositionBlocked = true;
+}
+
+void VymModel::unblockReposition()
+{
+    repositionBlocked = false;
+    reposition();
+}
+
+bool VymModel::isDefault() { return mapDefault; }
+
+void VymModel::makeDefault()
+{
+    mapChanged = false;
+    mapDefault = true;
+}
+
+bool VymModel::hasChanged() { return mapChanged; }
+
+void VymModel::setChanged()
+{
+    if (!mapChanged)
+        autosaveTimer->start(
+            settings.value("/system/autosave/ms/", 30000).toInt());
+    mapChanged = true;
+    mapDefault = false;
+    mapUnsaved = true;
+    updateActions();
+}
+
+QString VymModel::getObjectName(LinkableMapObj *lmo)
+{
+    if (!lmo || !lmo->getTreeItem())
+        return QString();
+    return getObjectName(lmo->getTreeItem());
+}
+
+QString VymModel::getObjectName(TreeItem *ti)
+{
+    QString s;
+    if (!ti)
+        return QString("Error: NULL has no name!");
+    s = ti->getHeadingPlain();
+    if (s == "")
+        s = "unnamed";
+
+    return QString("%1 (%2)").arg(ti->getTypeName()).arg(s);
+}
+
+void VymModel::redo()
+{
+    // Can we undo at all?
+    if (redosAvail < 1)
+        return;
+
+    bool saveStateBlockedOrg = saveStateBlocked;
+    saveStateBlocked = true;
+
+    redosAvail--;
+
+    if (undosAvail < stepsTotal)
+        undosAvail++;
+    curStep++;
+    if (curStep > stepsTotal)
+        curStep = 1;
+    QString undoCommand =
+        undoSet.value(QString("/history/step-%1/undoCommand").arg(curStep));
+    QString undoSelection =
+        undoSet.value(QString("/history/step-%1/undoSelection").arg(curStep));
+    QString redoCommand =
+        undoSet.value(QString("/history/step-%1/redoCommand").arg(curStep));
+    QString redoSelection =
+        undoSet.value(QString("/history/step-%1/redoSelection").arg(curStep));
+    QString comment =
+        undoSet.value(QString("/history/step-%1/comment").arg(curStep));
+    QString version = undoSet.value("/history/version");
+
+    /* TODO Maybe check for version, if we save the history
+    if (!checkVersion(version))
+    QMessageBox::warning(0,tr("Warning"),
+        tr("Version %1 of saved undo/redo data\ndoes not match current vym
+    version %2.").arg(version).arg(vymVersion));
+    */
+
+    // Find out current undo directory
+    QString bakMapDir(QString(tmpMapDirPath + "/undo-%1").arg(curStep));
+
+    if (debug) {
+        qDebug() << "VymModel::redo() begin\n";
+        qDebug() << "    undosAvail=" << undosAvail;
+        qDebug() << "    redosAvail=" << redosAvail;
+        qDebug() << "       curStep=" << curStep;
+        qDebug() << "    ---------------------------";
+        qDebug() << "    comment=" << comment;
+        qDebug() << "    undoSel=" << undoSelection;
+        qDebug() << "    redoSel=" << redoSelection;
+        qDebug() << "    undoCom:";
+        cout << qPrintable(undoCommand);
+        qDebug() << "    redoCom=";
+        cout << qPrintable(redoCommand);
+        qDebug() << "    ---------------------------";
+    }
+
+    // select  object before redo
+    if (!redoSelection.isEmpty())
+        select(redoSelection);
+
+    QString errMsg;
+    QString redoScript =
+        QString("model = vym.currentMap(); model.%1").arg(redoCommand);
+    errMsg = QVariant(execute(redoScript)).toString();
+    saveStateBlocked = saveStateBlockedOrg;
+
+    undoSet.setValue("/history/undosAvail", QString::number(undosAvail));
+    undoSet.setValue("/history/redosAvail", QString::number(redosAvail));
+    undoSet.setValue("/history/curStep", QString::number(curStep));
+    undoSet.writeSettings(histPath);
+
+    mainWindow->updateHistory(undoSet);
+    updateActions();
+
+    /* TODO remove testing
+    qDebug() << "ME::redo() end\n";
+    qDebug() << "    undosAvail="<<undosAvail;
+    qDebug() << "    redosAvail="<<redosAvail;
+    qDebug() << "       curStep="<<curStep;
+    qDebug() << "    ---------------------------";
+    */
+}
+
+bool VymModel::isRedoAvailable()
+{
+    if (undoSet.numValue("/history/redosAvail", 0) > 0)
+        return true;
+    else
+        return false;
+}
+
+QString VymModel::lastRedoSelection()
+{
+    if (isUndoAvailable())
+        return undoSet.value(
+            QString("/history/step-%1/redoSelection").arg(curStep));
+    else
+        return QString();
+}
+
+QString VymModel::lastRedoCommand()
+{
+    if (isUndoAvailable())
+        return undoSet.value(
+            QString("/history/step-%1/redoCommand").arg(curStep));
+    else
+        return QString();
+}
+
+QVariant VymModel::repeatLastCommand()
+{
+    QString command = "m = vym.currentMap();";
+    if (isUndoAvailable())
+        command += "m." +
+                   undoSet.value(
+                       QString("/history/step-%1/redoCommand").arg(curStep)) +
+                   ";";
+    else
+        return false;
+    return execute(command);
+}
+
+void VymModel::undo()
+{
+    // Can we undo at all?
+    if (undosAvail < 1)
+        return;
+
+    mainWindow->statusMessage(tr("Autosave disabled during undo."));
+
+    bool saveStateBlockedOrg = saveStateBlocked;
+    saveStateBlocked = true;
+
+    QString undoCommand =
+        undoSet.value(QString("/history/step-%1/undoCommand").arg(curStep));
+    QString undoSelection =
+        undoSet.value(QString("/history/step-%1/undoSelection").arg(curStep));
+    QString redoCommand =
+        undoSet.value(QString("/history/step-%1/redoCommand").arg(curStep));
+    QString redoSelection =
+        undoSet.value(QString("/history/step-%1/redoSelection").arg(curStep));
+    QString comment =
+        undoSet.value(QString("/history/step-%1/comment").arg(curStep));
+    QString version = undoSet.value("/history/version");
+
+    /* TODO Maybe check for version, if we save the history
+    if (!checkVersion(version))
+    QMessageBox::warning(0,tr("Warning"),
+        tr("Version %1 of saved undo/redo data\ndoes not match current vym
+    version %2.").arg(version).arg(vymVersion));
+    */
+
+    // Find out current undo directory
+    QString bakMapDir(QString(tmpMapDirPath + "/undo-%1").arg(curStep));
+
+    // select  object before undo
+    if (!undoSelection.isEmpty() && !select(undoSelection)) {
+        qWarning("VymModel::undo()  Could not select object for undo");
+        return;
+    }
+
+    if (debug) {
+        qDebug() << "VymModel::undo() begin\n";
+        qDebug() << "    undosAvail=" << undosAvail;
+        qDebug() << "    redosAvail=" << redosAvail;
+        qDebug() << "       curStep=" << curStep;
+        cout << "    ---------------------------" << endl;
+        qDebug() << "    comment=" << comment;
+        qDebug() << "    undoSel=" << undoSelection;
+        qDebug() << "    redoSel=" << redoSelection;
+        cout << "    undoCom:" << endl;
+        cout << qPrintable(undoCommand) << endl;
+        cout << "    redoCom:" << endl;
+        cout << qPrintable(redoCommand) << endl;
+        cout << "    ---------------------------" << endl;
+    }
+
+    // select  object before undo   // FIXME-2 double select, see above
+    if (!undoSelection.isEmpty())
+        select(undoSelection);
+
+    // bool noErr;
+    QString errMsg;
+    QString undoScript =
+        QString("model = vym.currentMap(); model.%1").arg(undoCommand);
+    errMsg = QVariant(execute(undoScript)).toString();
+
+    undosAvail--;
+    curStep--;
+    if (curStep < 1)
+        curStep = stepsTotal;
+
+    redosAvail++;
+
+    saveStateBlocked = saveStateBlockedOrg;
+    /* testing only
+        qDebug() << "VymModel::undo() end\n";
+        qDebug() << "    undosAvail="<<undosAvail;
+        qDebug() << "    redosAvail="<<redosAvail;
+        qDebug() << "       curStep="<<curStep;
+        qDebug() << "    ---------------------------";
+    */
+
+    undoSet.setValue("/history/undosAvail", QString::number(undosAvail));
+    undoSet.setValue("/history/redosAvail", QString::number(redosAvail));
+    undoSet.setValue("/history/curStep", QString::number(curStep));
+    undoSet.writeSettings(histPath);
+
+    mainWindow->updateHistory(undoSet);
+    updateActions();
+}
+
+bool VymModel::isUndoAvailable()
+{
+    if (undoSet.numValue("/history/undosAvail", 0) > 0)
+        return true;
+    return false;
+}
+
+void VymModel::gotoHistoryStep(int i)
+{
+    // Restore variables
+    int undosAvail = undoSet.numValue(QString("/history/undosAvail"));
+    int redosAvail = undoSet.numValue(QString("/history/redosAvail"));
+
+    if (i < 0)
+        i = undosAvail + redosAvail;
+
+    // Clicking above current step makes us undo things
+    if (i < undosAvail) {
+        for (int j = 0; j < undosAvail - i; j++)
+            undo();
+        return;
+    }
+    // Clicking below current step makes us redo things
+    if (i > undosAvail)
+        for (int j = undosAvail; j < i; j++) {
+            if (debug)
+                qDebug() << "VymModel::gotoHistoryStep redo " << j << "/"
+                         << undosAvail << " i=" << i;
+            redo();
+        }
+
+    // And ignore clicking the current row ;-)
+}
+
+QString VymModel::getHistoryPath()
+{
+    QString histName(QString("history-%1").arg(curStep));
+    return (tmpMapDirPath + "/" + histName);
+}
+
+void VymModel::resetHistory()
+{
+    curStep = 0;
+    redosAvail = 0;
+    undosAvail = 0;
+
+    stepsTotal = settings.value("/history/stepsTotal", 100).toInt();
+    undoSet.setValue("/history/stepsTotal", QString::number(stepsTotal));
+    mainWindow->updateHistory(undoSet);
+}
+
+void VymModel::saveState(const SaveMode &savemode, const QString &undoSelection,
+                         const QString &undoCom, const QString &redoSelection,
+                         const QString &redoCom, const QString &comment,
+                         TreeItem *saveSel, QString dataXML)
+{
+    sendData(redoCom); // FIXME-4 testing
+
+    // Main saveState
+
+    if (saveStateBlocked)
+        return;
+
+    if (debug)
+        qDebug() << "VM::saveState() for map " << mapName;
+
+    QString undoCommand = undoCom;
+    QString redoCommand = redoCom;
+
+
+    // Increase undo steps, but check for repeated actions
+    // like editing a vymNote - then do not increase but replace last command
+    /*
+    QRegExp re ("parseVymText.*\\(.*vymnote");
+    if (curStep > 0 && redoSelection == lastRedoSelection() &&
+        lastRedoCommand().contains(re)) {
+        undoCommand = undoSet.value(
+            QString("/history/step-%1/undoCommand").arg(curStep), undoCommand);
+    }
+    else {
+    */
+        if (undosAvail < stepsTotal)
+            undosAvail++;
+
+        curStep++;
+        if (curStep > stepsTotal)
+            curStep = 1;
+    //}
+
+    QString histDir = getHistoryPath();
+    QString bakMapPath = histDir + "/map.xml";
+
+    // Create histDir if not available
+    QDir d(histDir);
+    if (!d.exists())
+        makeSubDirs(histDir);
+
+    // Save depending on how much needs to be saved
+    QList<Link *> tmpLinks;
+    if (saveSel)
+        dataXML = saveToDir(histDir, mapName + "-", FlagRowMaster::NoFlags, QPointF(),
+                            saveSel);
+
+    if (savemode == PartOfMap) {
+        undoCommand.replace("PATH", bakMapPath);
+        redoCommand.replace("PATH", bakMapPath);
+    }
+
+    if (!dataXML.isEmpty())
+        // Write XML Data to disk
+        saveStringToDisk(bakMapPath, dataXML);
+
+    // We would have to save all actions in a tree, to keep track of
+    // possible redos after a action. Possible, but we are too lazy: forget
+    // about redos.
+    redosAvail = 0;
+
+    // Write the current state to disk
+    undoSet.setValue("/history/undosAvail", QString::number(undosAvail));
+    undoSet.setValue("/history/redosAvail", QString::number(redosAvail));
+    undoSet.setValue("/history/curStep", QString::number(curStep));
+    undoSet.setValue(QString("/history/step-%1/undoCommand").arg(curStep),
+                     undoCommand);
+    undoSet.setValue(QString("/history/step-%1/undoSelection").arg(curStep),
+                     undoSelection);
+    undoSet.setValue(QString("/history/step-%1/redoCommand").arg(curStep),
+                     redoCommand);
+    undoSet.setValue(QString("/history/step-%1/redoSelection").arg(curStep),
+                     redoSelection);
+    undoSet.setValue(QString("/history/step-%1/comment").arg(curStep), comment);
+    undoSet.setValue(QString("/history/version"), vymVersion);
+    undoSet.writeSettings(histPath);
+
+    if (debug) {
+        // qDebug() << "          into="<< histPath;
+        qDebug() << "    stepsTotal=" << stepsTotal
+                 << ", undosAvail=" << undosAvail
+                 << ", redosAvail=" << redosAvail << ", curStep=" << curStep;
+        cout << "    ---------------------------" << endl;
+        qDebug() << "    comment=" << comment;
+        qDebug() << "    undoSel=" << undoSelection;
+        qDebug() << "    redoSel=" << redoSelection;
+        if (saveSel)
+            qDebug() << "    saveSel=" << qPrintable(getSelectString(saveSel));
+        cout << "    undoCom:" << endl;
+        cout << qPrintable(undoCommand) << endl;
+        cout << "    redoCom:" << endl;
+        cout << qPrintable(redoCommand) << endl;
+        cout << "    ---------------------------" << endl;
+    }
+
+    mainWindow->updateHistory(undoSet);
+
+    setChanged();
+}
+
+void VymModel::saveStateChangingPart(TreeItem *undoSel, TreeItem *redoSel,
+                                     const QString &rc, const QString &comment)
+{
+    // save the selected part of the map, Undo will replace part of map
+    QString undoSelection = "";
+    if (undoSel)
+        undoSelection = getSelectString(undoSel);
+    else
+        qWarning("VymModel::saveStateChangingPart  no undoSel given!");
+    QString redoSelection = "";
+    if (redoSel)
+        redoSelection = getSelectString(undoSel);
+    else
+        qWarning("VymModel::saveStateChangingPart  no redoSel given!");
+
+    saveState(PartOfMap, undoSelection, "addMapReplace (\"PATH\")",
+              redoSelection, rc, comment, undoSel);
+}
+
+void VymModel::saveStateRemovingPart(TreeItem *redoSel, const QString &comment)
+{
+    if (!redoSel) {
+        qWarning("VymModel::saveStateRemovingPart  no redoSel given!");
+        return;
+    }
+    QString undoSelection;
+    QString redoSelection = getSelectString(redoSel);
+    if (redoSel->isBranchLikeType()) {
+        // save the selected branch of the map, Undo will insert part of map
+        if (redoSel->depth() > 0)
+            undoSelection = getSelectString(redoSel->parent());
+        saveState(PartOfMap, undoSelection,
+                  QString("addMapInsert (\"PATH\",%1,%2)")
+                      .arg(redoSel->num())
+                      .arg(SlideContent),
+                  redoSelection, "remove ()", comment, redoSel);
+    }
+}
+
+void VymModel::saveState(TreeItem *undoSel, const QString &uc,
+                         TreeItem *redoSel, const QString &rc,
+                         const QString &comment)
+{
+    // "Normal" savestate: save commands, selections and comment
+    // so just save commands for undo and redo
+    // and use current selection, if empty parameter passed
+
+    QString redoSelection = "";
+    if (redoSel)
+        redoSelection = getSelectString(redoSel);
+    QString undoSelection = "";
+    if (undoSel)
+        undoSelection = getSelectString(undoSel);
+
+    saveState(UndoCommand, undoSelection, uc, redoSelection, rc, comment, NULL);
+}
+
+void VymModel::saveState(const QString &undoSel, const QString &uc,
+                         const QString &redoSel, const QString &rc,
+                         const QString &comment)
+{
+    // "Normal" savestate: save commands, selections and comment
+    // so just save commands for undo and redo
+    // and use current selection
+    saveState(UndoCommand, undoSel, uc, redoSel, rc, comment, NULL);
+}
+
+void VymModel::saveState(const QString &uc, const QString &rc,
+                         const QString &comment)
+{
+    // "Normal" savestate applied to model (no selection needed):
+    // save commands  and comment
+    saveState(UndoCommand, NULL, uc, NULL, rc, comment, NULL);
+}
+
+void VymModel::saveStateMinimal(TreeItem *undoSel, const QString &uc,
+                                TreeItem *redoSel, const QString &rc,
+                                const QString &comment)
+{ //  Save a change in string and merge
+    //  minor sequential  changes  */
+    QString redoSelection = "";
+    if (redoSel)
+        redoSelection = getSelectString(redoSel);
+    QString undoSelection = "";
+    if (undoSel)
+        undoSelection = getSelectString(undoSel);
+
+    saveState(UndoCommand, undoSelection, uc, redoSelection, rc, comment, NULL);
+}
+
+void VymModel::saveStateBeforeLoad(LoadMode lmode, const QString &fname)
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        if (lmode == ImportAdd)
+            saveStateChangingPart(selbi, selbi,
+                                  QString("addMapInsert (\"%1\")").arg(fname),
+                                  QString("Add map %1 to %2")
+                                      .arg(fname)
+                                      .arg(getObjectName(selbi)));
+        if (lmode == ImportReplace) {
+            BranchItem *pi = (BranchItem *)(selbi->parent());
+            saveStateChangingPart(pi, pi,
+                                  QString("addMapReplace(%1)").arg(fname),
+                                  QString("Add map %1 to %2")
+                                      .arg(fname)
+                                      .arg(getObjectName(selbi)));
+        }
+    }
+}
+
+QGraphicsScene *VymModel::getScene() { return mapEditor->getScene(); }
+
+TreeItem *VymModel::findBySelectString(QString s)
+{
+    if (s.isEmpty())
+        return NULL;
+
+    // Old maps don't have multiple mapcenters and don't save full path
+    if (s.left(2) != "mc")
+        s = "mc:0," + s;
+
+    QStringList parts = s.split(",");
+    QString typ;
+    int n;
+    TreeItem *ti = rootItem;
+
+    while (!parts.isEmpty()) {
+        typ = parts.first().left(2);
+        n = parts.first().right(parts.first().length() - 3).toInt();
+        parts.removeFirst();
+        if (typ == "mc" || typ == "bo")
+            ti = ti->getBranchNum(n);
+        else if (typ == "fi")
+            ti = ti->getImageNum(n);
+        else if (typ == "ai")
+            ti = ti->getAttributeNum(n);
+        else if (typ == "xl")
+            ti = ti->getXLinkItemNum(n);
+        if (!ti)
+            return NULL;
+    }
+    return ti;
+}
+
+TreeItem *VymModel::findID(const uint &id)
+{
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    nextBranch(cur, prev);
+    while (cur) {
+        if (id == cur->getID())
+            return cur;
+        int j = 0;
+        while (j < cur->xlinkCount()) {
+            XLinkItem *xli = cur->getXLinkItemNum(j);
+            if (id == xli->getID())
+                return xli;
+            j++;
+        }
+        j = 0;
+        while (j < cur->imageCount()) {
+            ImageItem *ii = cur->getImageNum(j);
+            if (id == ii->getID())
+                return ii;
+            j++;
+        }
+        nextBranch(cur, prev);
+    }
+    return NULL;
+}
+
+TreeItem *VymModel::findUuid(const QUuid &id)
+{
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    nextBranch(cur, prev);
+    while (cur) {
+        if (id == cur->getUuid())
+            return cur;
+        int j = 0;
+        while (j < cur->xlinkCount()) {
+            XLinkItem *xli = cur->getXLinkItemNum(j);
+            if (id == xli->getUuid())
+                return xli;
+            j++;
+        }
+        j = 0;
+        while (j < cur->imageCount()) {
+            ImageItem *ii = cur->getImageNum(j);
+            if (id == ii->getUuid())
+                return ii;
+            j++;
+        }
+        nextBranch(cur, prev);
+    }
+    return NULL;
+}
+
+//////////////////////////////////////////////
+// Interface
+//////////////////////////////////////////////
+void VymModel::setVersion(const QString &s) { version = s; }
+
+QString VymModel::getVersion() { return version; }
+
+void VymModel::setTitle(const QString &s)
+{
+    saveState(QString("setMapTitle (\"%1\")").arg(title),
+              QString("setMapTitle (\"%1\")").arg(s),
+              QString("Set title of map to \"%1\"").arg(s));
+    title = s;
+}
+
+QString VymModel::getTitle() { return title; }
+
+void VymModel::setAuthor(const QString &s)
+{
+    saveState(QString("setMapAuthor (\"%1\")").arg(author),
+              QString("setMapAuthor (\"%1\")").arg(s),
+              QString("Set author of map to \"%1\"").arg(s));
+    author = s;
+}
+
+QString VymModel::getAuthor() { return author; }
+
+void VymModel::setComment(const QString &s)
+{
+    saveState(QString("setMapComment (\"%1\")").arg(comment),
+              QString("setMapComment (\"%1\")").arg(s),
+              QString("Set comment of map"));
+    comment = s;
+}
+
+QString VymModel::getComment() { return comment; }
+
+QString VymModel::getDate()
+{
+    return QDate::currentDate().toString("yyyy-MM-dd");
+}
+
+int VymModel::branchCount()
+{
+    int c = 0;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    nextBranch(cur, prev);
+    while (cur) {
+        c++;
+        nextBranch(cur, prev);
+    }
+    return c;
+}
+
+int VymModel::centerCount() { return rootItem->branchCount(); }
+
+void VymModel::setSortFilter(const QString &s)
+{
+    sortFilter = s;
+    emit(sortFilterChanged(sortFilter));
+}
+
+QString VymModel::getSortFilter() { return sortFilter; }
+
+void VymModel::setHeading(const VymText &vt, BranchItem *bi)
+{
+    Heading h_old;
+    Heading h_new;
+    h_new = vt;
+    QString s = vt.getTextASCII();
+    if (!bi)
+        bi = getSelectedBranch();
+    if (bi) {
+        h_old = bi->getHeading();
+        if (h_old == h_new)
+            return;
+        saveState(bi, "parseVymText (\"" + quoteQuotes(h_old.saveToDir()) + "\")", bi,
+                  "parseVymText (\"" + quoteQuotes(h_new.saveToDir()) + "\")",
+                  QString("Set heading of %1 to \"%2\"")
+                      .arg(getObjectName(bi))
+                      .arg(s));
+        bi->setHeading(vt);
+        emitDataChanged(bi);
+        emitUpdateQueries();
+        mainWindow->updateHeadingEditor(bi);    // Update HeadingEditor with new heading
+        reposition();
+    }
+}
+
+void VymModel::setHeadingPlainText(const QString &s, BranchItem *bi)
+{
+    if (!bi)
+        bi = getSelectedBranch();
+    if (bi) {
+        VymText vt = bi->getHeading();
+        vt.setPlainText(s);
+        if (bi->getHeading() == vt)
+            return;
+        setHeading(vt, bi);
+
+        // Set URL
+        if ((s.startsWith("http://") || s.startsWith("https://")) &&
+            bi->getURL().isEmpty())
+            setURL(s);
+    }
+}
+
+Heading VymModel::getHeading()
+{
+    TreeItem *selti = getSelectedItem();
+    if (selti)
+        return selti->getHeading();
+    qWarning() << "VymModel::getHeading Nothing selected.";
+    return Heading();
+}
+
+void VymModel::updateNoteText(const VymText &vt)
+{
+    bool editorStateChanged = false;
+
+    TreeItem *selti = getSelectedItem();
+    if (selti) {
+        VymNote note_old = selti->getNote();
+        VymNote note_new(vt);
+        if (note_new.getText() != note_old.getText()) {
+            if ((note_new.isEmpty() && !note_old.isEmpty()) ||
+                (!note_new.isEmpty() && note_old.isEmpty()))
+                editorStateChanged = true;
+
+            VymNote vn;
+            vn.copy(vt);
+
+            saveState(selti, "parseVymText (\"" + quoteQuotes(note_old.saveToDir()) + "\")",
+                      selti, "parseVymText (\"" + quoteQuotes(note_new.saveToDir()) + "\")",
+                      QString("Set note of %1 to \"%2\"")
+                          .arg(getObjectName(selti))
+                          .arg(note_new.getTextASCII().left(20)));
+
+            selti->setNote(vn);
+        }
+
+        // Update also flags after changes in NoteEditor
+        emitDataChanged(selti);
+
+        // Only update flag, if state has changed
+        if (editorStateChanged)
+            reposition();
+    }
+}
+
+void VymModel::setNote(const VymNote &vn)
+{
+    TreeItem *selti = getSelectedItem();
+    if (selti) {
+        VymNote n_old;
+        VymNote n_new;
+        n_old = selti->getNote();
+        n_new = vn;
+        saveState(selti, "parseVymText (\"" + quoteQuotes(n_old.saveToDir()) + "\")", selti,
+                  "parseVymText (\"" + quoteQuotes(n_new.saveToDir()) + "\")",
+                  QString("Set note of %1 to \"%2\"")
+                      .arg(getObjectName(selti))
+                      .arg(n_new.getTextASCII().left(40)));
+        selti->setNote(n_new);
+        emitNoteChanged(selti);
+        emitDataChanged(selti);
+    }
+}
+
+VymNote VymModel::getNote()
+{
+    TreeItem *selti = getSelectedItem();
+    if (selti) {
+        VymNote n = selti->getNote();
+        return n;
+    }
+    qWarning() << "VymModel::getNote Nothing selected.";
+    return VymNote();
+}
+
+bool VymModel::hasRichTextNote()
+{
+    TreeItem *selti = getSelectedItem();
+    if (selti) {
+        return selti->getNote().isRichText();
+    }
+    return false;
+}
+
+void VymModel::loadNote(const QString &fn)
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        QString n;
+        if (!loadStringFromDisk(fn, n))
+            qWarning() << "VymModel::loadNote Couldn't load " << fn;
+        else {
+            VymNote vn;
+            vn.setAutoText(n);
+            setNote(vn);
+            emitDataChanged(selbi);
+            emitUpdateQueries();
+            reposition();
+        }
+    }
+    else
+        qWarning("VymModel::loadNote no branch selected");
+}
+
+void VymModel::saveNote(const QString &fn)
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        VymNote n = selbi->getNote();
+        if (n.isEmpty())
+            qWarning() << "VymModel::saveNote  note is empty, won't save to "
+                       << fn;
+        else {
+            if (!saveStringToDisk(fn, n.saveToDir()))
+                qWarning() << "VymModel::saveNote Couldn't save " << fn;
+        }
+    }
+    else
+        qWarning("VymModel::saveNote no branch selected");
+}
+
+void VymModel::findDuplicateURLs() // FIXME-3 needs GUI
+{
+    // Generate map containing _all_ URLs and branches
+    QString u;
+    QMultiMap<QString, BranchItem *> map;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    nextBranch(cur, prev);
+    while (cur) {
+        u = cur->getURL();
+        if (!u.isEmpty())
+            map.insert(u, cur);
+        nextBranch(cur, prev);
+    }
+
+    // Extract duplicate URLs
+    QMultiMap<QString, BranchItem *>::const_iterator i = map.constBegin();
+    QMultiMap<QString, BranchItem *>::const_iterator firstdup =
+        map.constEnd(); // invalid
+    while (i != map.constEnd()) {
+        if (i != map.constBegin() && i.key() == firstdup.key()) {
+            if (i - 1 == firstdup) {
+                qDebug() << firstdup.key();
+                qDebug() << " - " << firstdup.value() << " - "
+                         << firstdup.value()->getHeading().getText();
+            }
+            qDebug() << " - " << i.value() << " - "
+                     << i.value()->getHeading().getText();
+        }
+        else
+            firstdup = i;
+
+        ++i;
+    }
+}
+
+bool VymModel::findAll(FindResultModel *rmodel, QString s,
+                       Qt::CaseSensitivity cs, bool searchNotes)
+{
+    rmodel->clear();
+    rmodel->setSearchString(s);
+    rmodel->setSearchFlags(QTextDocument::FindFlags()); // FIXME-4 translate cs to
+                               // QTextDocument::FindFlag
+    bool hit = false;
+
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    nextBranch(cur, prev);
+
+    FindResultItem *lastParent = NULL;
+    while (cur) {
+        lastParent = NULL;
+        if (cur->getHeading().getTextASCII().contains(s, cs)) {
+            lastParent = rmodel->addItem(cur);
+            hit = true;
+        }
+
+        if (searchNotes) {
+            QString n = cur->getNoteASCII();
+            int i = 0;
+            int j = 0;
+            while (i >= 0) {
+                i = n.indexOf(s, i, cs);
+                if (i >= 0) {
+                    // If not there yet, add "parent" item
+                    if (!lastParent) {
+                        lastParent = rmodel->addItem(cur);
+                        hit = true;
+                        if (!lastParent)
+                            qWarning()
+                                << "VymModel::findAll still no lastParent?!";
+                        /*
+                        else
+                            lastParent->setSelectable (false);
+                        */
+                    }
+
+                    // save index of occurence
+                    QString e = n.mid(i - 15, 30);
+                    n.replace('\n', ' ');
+                    rmodel->addSubItem(
+                        lastParent,
+                        QString(tr("Note", "FindAll in VymModel") +
+                                ": \"...%1...\"")
+                            .arg(n.mid(i - 8, 80)),
+                        cur, j);
+                    j++;
+                    i++;
+                }
+            }
+        }
+        nextBranch(cur, prev);
+    }
+    return hit;
+}
+
+void VymModel::setURL(QString url, bool updateFromCloud, BranchItem *bi)
+{
+    if (!bi) bi = getSelectedBranch();
+    if (bi->getURL() == url)
+        return;
+
+    if (bi) {
+        QString oldurl = bi->getURL();
+        bi->setURL(url);
+        saveState(
+            bi, QString("setURL (\"%1\")").arg(oldurl), bi,
+            QString("setURL (\"%1\")").arg(url),
+            QString("set URL of %1 to %2").arg(getObjectName(bi)).arg(url));
+        emitDataChanged(bi);
+        reposition();
+
+        if (updateFromCloud)    // FIXME-2 use oembed.com also for Youtube and other cloud providers
+            // Check for Confluence
+            setHeadingConfluencePageName();
+    }
+}
+
+QString VymModel::getURL()
+{
+    TreeItem *selti = getSelectedItem();
+    if (selti)
+        return selti->getURL();
+    else
+        return QString();
+}
+
+QStringList VymModel::getURLs(bool ignoreScrolled)
+{
+    QStringList urls;
+    BranchItem *selbi = getSelectedBranch();
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    nextBranch(cur, prev, true, selbi);
+    while (cur) {
+        if (!cur->getURL().isEmpty() &&
+            !(ignoreScrolled && cur->hasScrolledParent()))
+            urls.append(cur->getURL());
+        nextBranch(cur, prev, true, selbi);
+    }
+    return urls;
+}
+
+void VymModel::setFrameType(const FrameObj::FrameType &t)
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        BranchObj *bo = (BranchObj *)(bi->getLMO());
+        if (bo) {
+            QString s = bo->getFrameTypeName();
+            bo->setFrameType(t);
+            saveState(
+                bi, QString("setFrameType (\"%1\")").arg(s), bi,
+                QString("setFrameType (\"%1\")").arg(bo->getFrameTypeName()),
+                QString("set type of frame to %1").arg(s));
+            reposition();
+            bo->updateLinkGeometry();
+        }
+    }
+}
+
+void VymModel::setFrameType(const QString &s)
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        BranchObj *bo = (BranchObj *)(bi->getLMO());
+        if (bo) {
+            saveState(
+                bi,
+                QString("setFrameType (\"%1\")").arg(bo->getFrameTypeName()),
+                bi, QString("setFrameType (\"%1\")").arg(s),
+                QString("set type of frame to %1").arg(s));
+            bo->setFrameType(s);
+            reposition();
+            bo->updateLinkGeometry();
+        }
+    }
+}
+
+void VymModel::toggleFrameIncludeChildren()
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        bool b = bi->getFrameIncludeChildren();
+        setFrameIncludeChildren(!b);
+    }
+}
+
+void VymModel::setFrameIncludeChildren(bool b)
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        QString u = b ? "false" : "true";
+        QString r = !b ? "false" : "true";
+
+        saveState(bi, QString("setFrameIncludeChildren(%1)").arg(u), bi,
+                  QString("setFrameIncludeChildren(%1)").arg(r),
+                  QString("Include children in %1").arg(getObjectName(bi)));
+        bi->setFrameIncludeChildren(b);
+        emitDataChanged(bi);
+        reposition();
+    }
+}
+
+void VymModel::setFramePenColor(
+    const QColor &c) // FIXME-4 not saved if there is no LMO
+
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        BranchObj *bo = (BranchObj *)(bi->getLMO());
+        if (bo) {
+            saveState(bi,
+                      QString("setFramePenColor (\"%1\")")
+                          .arg(bo->getFramePenColor().name()),
+                      bi, QString("setFramePenColor (\"%1\")").arg(c.name()),
+                      QString("set pen color of frame to %1").arg(c.name()));
+            bo->setFramePenColor(c);
+        }
+    }
+}
+
+void VymModel::setFrameBrushColor(
+    const QColor &c) // FIXME-4 not saved if there is no LMO
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        BranchObj *bo = (BranchObj *)(bi->getLMO());
+        if (bo) {
+            saveState(bi,
+                      QString("setFrameBrushColor (\"%1\")")
+                          .arg(bo->getFrameBrushColor().name()),
+                      bi, QString("setFrameBrushColor (\"%1\")").arg(c.name()),
+                      QString("set brush color of frame to %1").arg(c.name()));
+            bo->setFrameBrushColor(c);
+            bi->setBackgroundColor(c); // FIXME-4 redundant with above
+        }
+        emitDataChanged(bi);  // Notify HeadingEditor to eventually change BG color
+    }
+}
+
+void VymModel::setFramePadding(
+    const int &i)
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        BranchObj *bo = (BranchObj *)(bi->getLMO());
+        if (bo) {
+            saveState(
+                bi,
+                QString("setFramePadding (\"%1\")").arg(bo->getFramePadding()),
+                bi, QString("setFramePadding (\"%1\")").arg(i),
+                QString("set brush color of frame to %1").arg(i));
+            bo->setFramePadding(i);
+            reposition();
+            bo->updateLinkGeometry();
+        }
+    }
+}
+
+void VymModel::setFrameBorderWidth(
+    const int &i)
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        BranchObj *bo = (BranchObj *)(bi->getLMO());
+        if (bo) {
+            saveState(bi,
+                      QString("setFrameBorderWidth (\"%1\")")
+                          .arg(bo->getFrameBorderWidth()),
+                      bi, QString("setFrameBorderWidth (\"%1\")").arg(i),
+                      QString("set border width of frame to %1").arg(i));
+            bo->setFrameBorderWidth(i);
+            reposition();
+            bo->updateLinkGeometry();
+        }
+    }
+}
+
+void VymModel::setIncludeImagesVer(bool b)
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi && b != bi->getIncludeImagesVer()) {
+        QString u = b ? "false" : "true";
+        QString r = !b ? "false" : "true";
+
+        saveState(
+            bi, QString("setIncludeImagesVertically (%1)").arg(u), bi,
+            QString("setIncludeImagesVertically (%1)").arg(r),
+            QString("Include images vertically in %1").arg(getObjectName(bi)));
+        bi->setIncludeImagesVer(b);
+        emitDataChanged(bi);
+        reposition();
+    }
+}
+
+void VymModel::setIncludeImagesHor(bool b)
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi && b != bi->getIncludeImagesHor()) {
+        QString u = b ? "false" : "true";
+        QString r = !b ? "false" : "true";
+
+        saveState(bi, QString("setIncludeImagesHorizontally (%1)").arg(u), bi,
+                  QString("setIncludeImagesHorizontally (%1)").arg(r),
+                  QString("Include images horizontally in %1")
+                      .arg(getObjectName(bi)));
+        bi->setIncludeImagesHor(b);
+        emitDataChanged(bi);
+        reposition();
+    }
+}
+
+void VymModel::setChildrenLayout(
+    BranchItem::LayoutHint layoutHint) // FIXME-3 no savestate yet
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        /*
+        QString u= b ? "false" : "true";
+        QString r=!b ? "false" : "true";
+
+        saveState(
+            bi,
+            QString("setIncludeImagesHorizontally (%1)").arg(u),
+            bi,
+            QString("setIncludeImagesHorizontally (%1)").arg(r),
+            QString("Include images horizontally in %1").arg(getObjectName(bi))
+        );
+        */
+        bi->setChildrenLayout(layoutHint);
+        emitDataChanged(bi);
+        reposition();
+    }
+}
+
+void VymModel::setHideLinkUnselected(bool b)
+{
+    TreeItem *ti = getSelectedItem();
+    if (ti && (ti->getType() == TreeItem::Image || ti->isBranchLikeType())) {
+        QString u = b ? "false" : "true";
+        QString r = !b ? "false" : "true";
+
+        saveState(
+            ti, QString("setHideLinkUnselected (%1)").arg(u), ti,
+            QString("setHideLinkUnselected (%1)").arg(r),
+            QString("Hide link of %1 if unselected").arg(getObjectName(ti)));
+        ((MapItem *)ti)->setHideLinkUnselected(b);
+    }
+}
+
+void VymModel::setHideExport(bool b, TreeItem *ti)
+{
+    if (!ti)
+        ti = getSelectedItem();
+    if (ti && (ti->getType() == TreeItem::Image || ti->isBranchLikeType()) &&
+        ti->hideInExport() != b) {
+        ti->setHideInExport(b);
+        QString u = b ? "false" : "true";
+        QString r = !b ? "false" : "true";
+
+        saveState(ti, QString("setHideExport (%1)").arg(u), ti,
+                  QString("setHideExport (%1)").arg(r),
+                  QString("Set HideExport flag of %1 to %2")
+                      .arg(getObjectName(ti))
+                      .arg(r));
+        emitDataChanged(ti);
+        emitSelectionChanged();
+        reposition();
+    }
+}
+
+void VymModel::toggleHideExport()
+{
+    QList<TreeItem *> selItems = getSelectedItems();
+    if (selItems.count() > 0) {
+        foreach (TreeItem *ti, selItems) {
+            bool b = !ti->hideInExport();
+            setHideExport(b, ti);
+        }
+    }
+}
+
+void VymModel::toggleTask()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        saveStateChangingPart(
+            selbi, selbi, QString("toggleTask()"),
+            QString("Toggle task of %1").arg(getObjectName(selbi)));
+        Task *task = selbi->getTask();
+        if (!task) {
+            task = taskModel->createTask(selbi);
+            taskEditor->select(task);
+        }
+        else
+            taskModel->deleteTask(task);
+
+        emitDataChanged(selbi);
+        emitSelectionChanged();
+        reposition();
+    }
+}
+
+bool VymModel::cycleTaskStatus(bool reverse)
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        Task *task = selbi->getTask();
+        if (task) {
+            saveStateChangingPart(
+                selbi, selbi, QString("cycleTask()"),
+                QString("Toggle task of %1").arg(getObjectName(selbi)));
+            task->cycleStatus(reverse);
+            task->setDateModification();
+
+            // make sure task is still visible
+            taskEditor->select(task);
+            emitDataChanged(selbi);
+            reposition();
+            return true;
+        }
+    }
+    return false;
+}
+
+bool VymModel::setTaskSleep(const QString &s)
+{
+    bool ok = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi && !s.isEmpty()) {
+        Task *task = selbi->getTask();
+        if (task) {
+            QDateTime oldSleep = task->getSleep();
+
+            // Parse the string, which could be days, hours or one of several
+            // time formats
+
+            if (s == "0") {
+                ok = task->setSecsSleep(0);
+            }
+            else {
+                QRegExp re("^\\s*(\\d+)\\s*$");
+                re.setMinimal(false);
+                int pos = re.indexIn(s);
+                if (pos >= 0) {
+                    // Found only digit, considered as days
+                    ok = task->setDaysSleep(re.cap(1).toInt());
+                }
+                else {
+                    QRegExp re("^\\s*(\\d+)\\s*h\\s*$");
+                    pos = re.indexIn(s);
+                    if (pos >= 0) {
+                        // Found digit followed by "h", considered as hours
+                        ok = task->setHoursSleep(re.cap(1).toInt());
+                    }
+                    else {
+                        QRegExp re("^\\s*(\\d+)\\s*w\\s*$");
+                        pos = re.indexIn(s);
+                        if (pos >= 0) {
+                            // Found digit followed by "w", considered as weeks
+                            ok = task->setDaysSleep(7 * re.cap(1).toInt());
+                        }
+                        else {
+                            QRegExp re("^\\s*(\\d+)\\s*s\\s*$");
+                            pos = re.indexIn(s);
+                            if (pos >= 0) {
+                                // Found digit followed by "s", considered as
+                                // seconds
+                                ok = task->setSecsSleep(re.cap(1).toInt());
+                            }
+                            else {
+                                ok = task->setDateSleep(
+                                    s); // ISO date YYYY-MM-DDTHH:mm:ss
+
+                                if (!ok) {
+                                    QRegExp re("(\\d+)\\.(\\d+)\\.(\\d+)");
+                                    re.setMinimal(false);
+                                    int pos = re.indexIn(s);
+                                    QStringList list = re.capturedTexts();
+                                    QDateTime d;
+                                    if (pos >= 0) {
+                                        d = QDateTime(
+                                            QDate(list.at(3).toInt(),
+                                                  list.at(2).toInt(),
+                                                  list.at(1).toInt()).startOfDay());
+                                        // d = QDate(list.at(3).toInt(),
+                                        // list.at(2).toInt(),
+                                        // list.at(1).toInt()).startOfDay();
+                                        ok = task->setDateSleep(
+                                            d); // German format,
+                                                // e.g. 24.12.2012
+                                    }
+                                    else {
+                                        re.setPattern("(\\d+)\\.(\\d+)\\.");
+                                        pos = re.indexIn(s);
+                                        list = re.capturedTexts();
+                                        if (pos >= 0) {
+                                            int month = list.at(2).toInt();
+                                            int day = list.at(1).toInt();
+                                            int year =
+                                                QDate::currentDate().year();
+                                            d = QDateTime(
+                                                QDate(year, month, day).startOfDay());
+                                            // d = QDate(year, month,
+                                            // day).startOfDay();
+                                            if (QDateTime::currentDateTime()
+                                                    .daysTo(d) < 0) {
+                                                year++;
+                                                d = QDateTime(
+                                                    QDate(year, month, day).startOfDay());
+                                                // d = QDate(year, month,
+                                                // day).startOfDay();
+                                            }
+                                            ok = task->setDateSleep(
+                                                d); // Short German format,
+                                                    // e.g. 24.12.
+                                        }
+                                        else {
+                                            re.setPattern("(\\d+)\\:(\\d+)");
+                                            pos = re.indexIn(s);
+                                            list = re.capturedTexts();
+                                            if (pos >= 0) {
+                                                int hour = list.at(1).toInt();
+                                                int min = list.at(2).toInt();
+                                                d = QDateTime(
+                                                    QDate::currentDate(),
+                                                    QTime(hour, min));
+                                                ok = task->setDateSleep(
+                                                    d); // Time HH:MM
+                                            }
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+
+            if (ok) {
+                QString oldSleepString;
+                if (oldSleep.isValid())
+                    oldSleepString = oldSleep.toString(Qt::ISODate);
+                else
+                    oldSleepString =
+                        "1970-01-26T00:00:00"; // Some date long ago
+
+                QString newSleepString = task->getSleep().toString(Qt::ISODate);
+                task->setDateModification();
+                selbi->updateTaskFlag(); // If tasks changes awake mode, then
+                                         // flag needs to change
+                saveState(
+                    selbi, QString("setTaskSleep (\"%1\")").arg(oldSleepString),
+                    selbi, QString("setTaskSleep (\"%1\")").arg(newSleepString),
+                    QString("setTaskSleep (\"%1\")").arg(newSleepString));
+                emitDataChanged(selbi);
+                reposition();
+            }
+
+        } // Found task
+    }     // Found branch
+    return ok;
+}
+
+void VymModel::setTaskPriorityDelta(const int &pd, BranchItem *bi)
+{
+    QList<BranchItem *> selbis;
+    if (bi)
+        selbis << bi;
+    else
+        selbis = getSelectedBranches();
+
+    foreach (BranchItem *selbi, selbis) {
+        Task *task = selbi->getTask();
+        if (task) {
+            saveState(selbi,
+                      QString("setTaskPriorityDelta (%1)")
+                          .arg(task->getPriorityDelta()),
+                      selbi,
+                      QString("setTaskPriorityDelta (%1)")
+                          .arg(pd),
+                      "Set delta for priority of task");
+            task->setPriorityDelta(pd);
+            emitDataChanged(selbi);
+        }
+    }
+}
+
+int VymModel::getTaskPriorityDelta()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        Task *task = selbi->getTask();
+        if (task)
+            return task->getPriorityDelta();
+    }
+    return 0;
+}
+
+int VymModel::taskCount() { return taskModel->count(this); }
+
+void VymModel::updateTasksAlarm(bool force)
+{
+    if (taskModel->updateAwake(force) || force) {
+        reposition();
+    }
+}
+
+BranchItem *VymModel::addTimestamp()
+{
+    BranchItem *selbi = addNewBranch();
+    if (selbi) {
+        QDate today = QDate::currentDate();
+        QChar c = '0';
+        selbi->setHeadingPlainText(QString("%1-%2-%3")
+                                       .arg(today.year(), 4, 10, c)
+                                       .arg(today.month(), 2, 10, c)
+                                       .arg(today.day(), 2, 10, c));
+        emitDataChanged(selbi);
+        reposition();
+        select(selbi);
+    }
+    return selbi;
+}
+
+void VymModel::copy()
+{
+    if (readonly)
+        return;
+
+    QList<TreeItem *> itemList = getSelectedItems();
+
+    QStringList clipboardFiles;
+
+    if (itemList.count() > 0) {
+        uint i = 1;
+        QString fn;
+        foreach (TreeItem *ti, itemList) {
+            fn = QString("%1/%2-%3.xml")
+                     .arg(clipboardDir)
+                     .arg(clipboardFile)
+                     .arg(i);
+            QString content = saveToDir(clipboardDir, clipboardFile,
+                                        FlagRowMaster::NoFlags, QPointF(), ti);
+
+            if (!saveStringToDisk(fn, content))
+                qWarning() << "ME::saveStringToDisk failed: " << fn;
+            else {
+                i++;
+                clipboardFiles.append(fn);
+            }
+        }
+        QClipboard *clipboard = QApplication::clipboard();
+        QMimeData *mimeData = new QMimeData;
+        mimeData->setData("application/x-vym", clipboardFiles.join(",").toLatin1());
+        clipboard->setMimeData(mimeData);
+    }
+}
+
+void VymModel::paste()
+{
+    if (readonly)
+        return;
+
+    BranchItem *selbi = getSelectedBranch();
+
+    if (selbi) {
+        const QClipboard *clipboard = QApplication::clipboard();
+        const QMimeData *mimeData = clipboard->mimeData();
+
+        if (mimeData->formats().contains("application/x-vym")) {
+            QStringList clipboardFiles = QString(mimeData->data("application/x-vym")).split(",");
+
+            saveStateChangingPart(selbi, selbi, QString("paste ()"),
+                                  QString("Paste"));
+
+            bool zippedOrg = zipped;
+            foreach(QString fn, clipboardFiles) {
+                if (File::Success != loadMap(fn, ImportAdd, VymMap, SlideContent))
+                    qWarning() << "VM::paste Loading clipboard failed: " << fn;
+            }
+            zipped = zippedOrg;
+            reposition();
+        } else if (mimeData->hasImage()) {
+            QImage image = qvariant_cast<QImage>(mimeData->imageData());
+            QString fn = clipboardDir + "/" + "image.png";
+            if (!image.save(fn))
+                qWarning() << "VM::paste  Could not save copy of image in system clipboard";
+            else {
+                ImageItem *ii = loadImage(selbi, fn);
+                if (ii)
+                    setScaleFactor(300.0 / image.width(), ii);    // FIXME-2 Better use user-defined fixed width
+            }
+        } else if (mimeData->hasHtml()) {
+            //setText(mimeData->html());
+            //setTextFormat(Qt::RichText);
+            qDebug() << "VM::paste found html...";
+        } else if (mimeData->hasText()) {
+            //setText(mimeData->text());
+            //setTextFormat(Qt::PlainText);
+            qDebug() << "VM::paste found text...";
+        } else {
+            qWarning() << "VM::paste Cannot paste data, mimeData->formats=" << mimeData->formats();
+        }
+    }
+}
+
+void VymModel::cut()
+{
+    if (readonly)
+        return;
+
+    copy();
+    deleteSelection();
+}
+
+bool VymModel::moveUp(BranchItem *bi)
+{
+    if (readonly)
+        return false;
+
+    bool oldState = saveStateBlocked;
+    saveStateBlocked = true;
+    bool result = false;
+    if (bi && bi->canMoveUp())
+        result =
+            relinkBranch(bi, (BranchItem *)bi->parent(), bi->num() - 1, false);
+    saveStateBlocked = oldState;
+    return result;
+}
+
+void VymModel::moveUp()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        QString oldsel = getSelectString(selbi);
+        if (moveUp(selbi)) {
+            saveState(getSelectString(selbi), "moveDown ()", oldsel,
+                      "moveUp ()",
+                      QString("Move up %1").arg(getObjectName(selbi)));
+            select(selbi);
+        }
+    }
+}
+
+bool VymModel::moveDown(BranchItem *bi)
+{
+    if (readonly)
+        return false;
+
+    bool oldState = saveStateBlocked;
+    saveStateBlocked = true;
+    bool result = false;
+    if (bi && bi->canMoveDown())
+        result =
+            relinkBranch(bi, (BranchItem *)bi->parent(), bi->num() + 1, false);
+    saveStateBlocked = oldState;
+    return result;
+}
+
+void VymModel::moveDown()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        QString oldsel = getSelectString(selbi);
+        if (moveDown(selbi)) {
+            saveState(getSelectString(selbi), "moveUp ()", oldsel,
+                      "moveDown ()",
+                      QString("Move down %1").arg(getObjectName(selbi)));
+            select(selbi);
+        }
+    }
+}
+
+void VymModel::moveUpDiagonally()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        BranchItem *parent = selbi->parentBranch();
+        if (parent == rootItem) return;
+
+        int n = selbi->num();
+        if (n == 0) return;
+
+        BranchItem *dst = parent->getBranchNum(n-1);
+        if (!dst) return;
+
+        relinkBranch(selbi, dst, dst->branchCount() + 1, true);
+     }
+}
+
+void VymModel::moveDownDiagonally()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        BranchItem *parent = selbi->parentBranch();
+        if (parent == rootItem) return;
+        BranchItem *parentParent = parent->parentBranch();
+        int n = parent->num();
+
+        relinkBranch(selbi, parentParent, n + 1, true);
+     }
+}
+
+void VymModel::detach()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi && selbi->depth() > 0) {
+        // if no relPos have been set before, try to use current rel positions
+        if (selbi->getLMO())
+            for (int i = 0; i < selbi->branchCount(); ++i)
+                selbi->getBranchNum(i)->getBranchObj()->setRelPos();
+
+        QString oldsel = getSelectString();
+        int n = selbi->num();
+        QPointF p;
+        BranchObj *bo = selbi->getBranchObj();
+        if (bo)
+            p = bo->getAbsPos();
+        QString parsel = getSelectString(selbi->parent());
+        if (relinkBranch(selbi, rootItem, -1, true))
+            saveState(getSelectString(selbi),
+                      QString("relinkTo (\"%1\",%2,%3,%4)")
+                          .arg(parsel)
+                          .arg(n)
+                          .arg(p.x())
+                          .arg(p.y()),
+                      oldsel, "detach ()",
+                      QString("Detach %1").arg(getObjectName(selbi)));
+    }
+}
+
+void VymModel::sortChildren(bool inverse)
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        if (selbi->branchCount() > 1) {
+            if (!inverse)
+                saveStateChangingPart(
+                    selbi, selbi, "sortChildren ()",
+                    QString("Sort children of %1").arg(getObjectName(selbi)));
+            else
+                saveStateChangingPart(selbi, selbi, "sortChildren (false)",
+                                      QString("Inverse sort children of %1")
+                                          .arg(getObjectName(selbi)));
+
+            selbi->sortChildren(inverse);
+            select(selbi);
+            reposition();
+        }
+    }
+}
+
+BranchItem *VymModel::createMapCenter()
+{
+    BranchItem *newbi = addMapCenter(QPointF(0, 0));
+    return newbi;
+}
+
+BranchItem *VymModel::createBranch(BranchItem *dst)
+{
+    if (dst)
+        return addNewBranchInt(dst, -2);
+    else
+        return NULL;
+}
+
+ImageItem *VymModel::createImage(BranchItem *dst)
+{
+    if (dst) {
+        QModelIndex parix;
+        int n;
+
+        ImageItem *newii = new ImageItem();
+        // newii->setHeading (QApplication::translate("Heading of new image in
+        // map", "new image"));
+
+        emit(layoutAboutToBeChanged());
+
+        parix = index(dst);
+        if (!parix.isValid())
+            qDebug() << "VM::createII invalid index\n";
+        n = dst->getRowNumAppend(newii);
+        beginInsertRows(parix, n, n);
+        dst->appendChild(newii);
+        endInsertRows();
+
+        emit(layoutChanged());
+
+        // save scroll state. If scrolled, automatically select
+        // new branch in order to tmp unscroll parent...
+        newii->createMapObj();
+        latestAddedItem = newii;
+        reposition();
+        return newii;
+    }
+    return NULL;
+}
+
+bool VymModel::createLink(Link *link)
+{
+    BranchItem *begin = link->getBeginBranch();
+    BranchItem *end = link->getEndBranch();
+
+    if (!begin || !end) {
+        qWarning() << "VM::createXLinkNew part of XLink is NULL";
+        return false;
+    }
+
+    if (begin == end) {
+        if (debug)
+            qDebug() << "VymModel::createLink begin==end, aborting";
+        return false;
+    }
+
+    // check, if link already exists
+    foreach (Link *l, xlinks) {
+        if ((l->getBeginBranch() == begin && l->getEndBranch() == end) ||
+            (l->getBeginBranch() == end && l->getEndBranch() == begin)) {
+            qWarning() << "VymModel::createLink link exists already, aborting";
+            return false;
+        }
+    }
+
+    QModelIndex parix;
+    int n;
+
+    XLinkItem *newli = new XLinkItem();
+    newli->setLink(link);
+    link->setBeginLinkItem(newli);
+
+    emit(layoutAboutToBeChanged());
+
+    parix = index(begin);
+    n = begin->getRowNumAppend(newli);
+    beginInsertRows(parix, n, n);
+    begin->appendChild(newli);
+    endInsertRows();
+
+    newli = new XLinkItem();
+    newli->setLink(link);
+    link->setEndLinkItem(newli);
+
+    parix = index(end);
+    n = end->getRowNumAppend(newli);
+    beginInsertRows(parix, n, n);
+    end->appendChild(newli);
+    endInsertRows();
+
+    emit(layoutChanged());
+
+    xlinks.append(link);
+    link->activate();
+
+    latestAddedItem = newli;
+
+    if (!link->getMO()) {
+        link->createMapObj();
+        reposition();
+    }
+    else
+        link->updateLink();
+
+    link->setStyleBegin(defXLinkStyleBegin);
+    link->setStyleEnd(defXLinkStyleEnd);
+    return true;
+}
+
+QColor VymModel::getXLinkColor()
+{
+    Link *l = getSelectedXLink();
+    if (l)
+        return l->getPen().color();
+    else
+        return QColor();
+}
+
+int VymModel::getXLinkWidth()
+{
+    Link *l = getSelectedXLink();
+    if (l)
+        return l->getPen().width();
+    else
+        return -1;
+}
+
+Qt::PenStyle VymModel::getXLinkStyle()
+{
+    Link *l = getSelectedXLink();
+    if (l)
+        return l->getPen().style();
+    else
+        return Qt::NoPen;
+}
+
+QString VymModel::getXLinkStyleBegin()
+{
+    Link *l = getSelectedXLink();
+    if (l)
+        return l->getStyleBeginString();
+    else
+        return QString();
+}
+
+QString VymModel::getXLinkStyleEnd()
+{
+    Link *l = getSelectedXLink();
+    if (l)
+        return l->getStyleEndString();
+    else
+        return QString();
+}
+
+AttributeItem *VymModel::setAttribute() // FIXME-3 Experimental, savestate missing
+
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        AttributeItem *ai = new AttributeItem();
+        ai->setAttributeType(AttributeItem::String);
+        ai->setKey("Foo Attrib");
+        ai->setValue(QString("Att val"));
+
+        return setAttribute(selbi, ai);
+    }
+    return nullptr;
+}
+
+AttributeItem *VymModel::setAttribute(BranchItem *dst, AttributeItem *ai_new)
+{
+    if (dst) {
+
+        // Check if there is already an attribute with same key
+        AttributeItem *ai;
+        for (int i = 0; i < dst->attributeCount(); i++) {
+            ai = dst->getAttributeNum(i);
+            if (ai->getKey() == ai_new->getKey()) 
+            {
+                // Key exists, overwrite value
+                ai->copy(ai_new);
+
+                // Delete original attribute, this is basically a move...
+                delete ai_new;
+                emitDataChanged(dst);
+                return ai;
+            }
+        }
+
+        // Create new attribute
+        emit(layoutAboutToBeChanged());
+
+        QModelIndex parix = index(dst);
+        int n = dst->getRowNumAppend(ai_new);
+        beginInsertRows(parix, n, n);
+        dst->appendChild(ai_new);
+        endInsertRows();
+
+        emit(layoutChanged());
+
+        emitDataChanged(dst);
+        return ai_new;  // FIXME-3 Check if ai is used or deleted - deep copy here?
+    }
+    return NULL;
+}
+
+BranchItem *VymModel::addMapCenter(bool saveStateFlag)
+{
+    if (!hasContextPos) {
+        // E.g. when called via keypresss:
+        // Place new MCO in middle of existing ones,
+        // Useful for "brainstorming" mode...
+        contextPos = QPointF();
+        BranchItem *bi;
+        BranchObj *bo;
+        for (int i = 0; i < rootItem->branchCount(); ++i) {
+            bi = rootItem->getBranchNum(i);
+            bo = (BranchObj *)bi->getLMO();
+            if (bo)
+                contextPos += bo->getAbsPos();
+        }
+        if (rootItem->branchCount() > 1)
+            contextPos *= 1 / (qreal)(rootItem->branchCount());
+    }
+
+    BranchItem *bi = addMapCenter(contextPos);
+    updateActions();
+    emitShowSelection();
+    if (saveStateFlag)
+        saveState(bi, "remove()", NULL,
+                  QString("addMapCenter (%1,%2)")
+                      .arg(contextPos.x())
+                      .arg(contextPos.y()),
+                  QString("Adding MapCenter to (%1,%2)")
+                      .arg(contextPos.x())
+                      .arg(contextPos.y()));
+    emitUpdateLayout();
+    return bi;
+}
+
+BranchItem *VymModel::addMapCenter(QPointF absPos)
+// createMapCenter could then probably be merged with createBranch
+{
+
+    // Create TreeItem
+    QModelIndex parix = index(rootItem);
+
+    BranchItem *newbi = new BranchItem(rootItem);
+    newbi->setHeadingPlainText(tr("New map", "New map"));
+    int n = rootItem->getRowNumAppend(newbi);
+
+    emit(layoutAboutToBeChanged());
+    beginInsertRows(parix, n, n);
+
+    rootItem->appendChild(newbi);
+
+    endInsertRows();
+    emit(layoutChanged());
+
+    // Create MapObj
+    newbi->setPositionMode(MapItem::Absolute);
+    BranchObj *bo = newbi->createMapObj(mapEditor->getScene());
+    if (bo)
+        bo->move(absPos);
+
+    return newbi;
+}
+
+BranchItem *VymModel::addNewBranchInt(BranchItem *dst, int pos)
+{
+    // Depending on pos:
+    // -3      insert in children of parent  above selection
+    // -2      add branch to selection
+    // -1      insert in children of parent below selection
+    // 0..n    insert in children of parent at pos
+
+    // Create TreeItem
+    BranchItem *parbi = dst;
+    int n;
+    BranchItem *newbi = new BranchItem();
+
+    emit(layoutAboutToBeChanged());
+
+    if (pos == -2) {
+        n = parbi->getRowNumAppend(newbi);
+        beginInsertRows(index(parbi), n, n);
+        parbi->appendChild(newbi);
+        endInsertRows();
+    }
+    else if (pos == -1 || pos == -3) {
+        // insert below selection
+        parbi = (BranchItem *)dst->parent();
+        n = dst->childNumber() + (3 + pos) / 2; //-1 |-> 1;-3 |-> 0
+        beginInsertRows(index(parbi), n, n);
+        parbi->insertBranch(n, newbi);
+        endInsertRows();
+    }
+    else { // pos >= 0
+        n = parbi->getRowNumAppend(newbi) - (parbi->branchCount() - pos);
+        beginInsertRows(index(parbi), n, n);
+        parbi->insertBranch(pos, newbi);
+        endInsertRows();
+    }
+    emit(layoutChanged());
+
+    newbi->createMapObj(mapEditor->getScene());
+
+    // Set color of heading to that of parent
+    newbi->setHeadingColor(parbi->getHeadingColor());
+
+    reposition();
+    return newbi;
+}
+
+BranchItem *VymModel::addNewBranch(BranchItem *bi, int pos)
+{
+    BranchItem *newbi = NULL;
+    if (!bi)
+        bi = getSelectedBranch();
+
+    if (bi) {
+        QString redosel = getSelectString(bi);
+        newbi = addNewBranchInt(bi, pos);
+        QString undosel = getSelectString(newbi);
+
+        if (newbi) {
+            saveState(undosel, "remove ()", redosel,
+                      QString("addBranch (%1)").arg(pos),
+                      QString("Add new branch to %1").arg(getObjectName(bi)));
+
+            latestAddedItem = newbi;
+            // In Network mode, the client needs to know where the new branch
+            // is, so we have to pass on this information via saveState.
+            // TODO: Get rid of this positioning workaround
+            /* FIXME-4  network problem:  QString ps=qpointfToString
+               (newbo->getAbsPos()); sendData ("selectLatestAdded ()"); sendData
+               (QString("move %1").arg(ps)); sendSelection();
+               */
+        }
+    }
+    return newbi;
+}
+
+BranchItem *VymModel::addNewBranchBefore()
+{
+    BranchItem *newbi = NULL;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi && selbi->getType() == TreeItem::Branch)
+    // We accept no MapCenter here, so we _have_ a parent
+    {
+        // add below selection
+        newbi = addNewBranchInt(selbi, -1);
+
+        if (newbi) {
+            saveState(
+                newbi, "remove ()", newbi, "addBranchBefore ()",
+                QString("Add branch before %1").arg(getObjectName(selbi)));
+
+            // newbi->move2RelPos (p);
+
+            // Move selection to new branch
+            relinkBranch(selbi, newbi, 0, true);
+
+            // Use color of child instead of parent
+            newbi->setHeadingColor(selbi->getHeadingColor());
+            emitDataChanged(newbi);
+        }
+    }
+    return newbi;
+}
+
+bool VymModel::relinkBranch(BranchItem *branch, BranchItem *dst, int pos,
+                            bool updateSelection, QPointF orgPos)
+{
+    if (branch && dst) {
+        // Check if we relink to ourselves
+        if (dst->isChildOf(branch))
+            return false;
+
+        if (updateSelection)
+            unselectAll();
+
+        // Do we need to update frame type?
+        bool keepFrame = true;
+
+        // Save old position for savestate
+        QString preSelStr = getSelectString(branch);
+        QString preNum = QString::number(branch->num(), 10);
+        QString preParStr = getSelectString(branch->parent());
+
+        emit(layoutAboutToBeChanged());
+        BranchItem *branchpi = (BranchItem *)branch->parent();
+        // Remove at current position
+        int n = branch->childNum();
+
+        // If branch and dst have same parent, then pos needs to be adjusted 
+        // after removing branch
+        if (branchpi == dst && pos - 1 > n ) pos--;
+
+        beginRemoveRows(index(branchpi), n, n);
+        branchpi->removeChild(n);
+        endRemoveRows();
+
+        if (pos < 0 || pos > dst->branchCount())
+            pos = dst->branchCount();
+
+        // Append as last branch to dst
+        if (dst->branchCount() == 0)
+            n = 0;
+        else
+            n = dst->getFirstBranch()->childNumber();
+        
+        beginInsertRows(index(dst), n + pos, n + pos);
+        dst->insertBranch(pos, branch);
+        endInsertRows();
+
+        // Correct type if necessesary
+        if (branch->getType() == TreeItem::MapCenter && branch->depth() > 0) {
+            branch->setType(TreeItem::Branch);
+            keepFrame = false;
+        }
+
+        // reset parObj, fonts, frame, etc in related LMO or other view-objects
+        branch->updateStyles(keepFrame);
+
+        emitDataChanged(branch);
+        reposition(); // both for moveUp/Down and relinking
+
+        // Savestate
+        QString postSelStr = getSelectString(branch);
+        QString postNum = QString::number(branch->num(), 10);
+
+        QPointF savePos;
+        LinkableMapObj *lmosel = branch->getLMO();
+        if (lmosel)
+            savePos = lmosel->getAbsPos();
+
+        if (!saveStateBlocked) { // Don't build strings when moving up/down
+            QString undoCom =
+                "relinkTo (\"" + preParStr + "\"," + preNum + "," +
+                QString("%1,%2").arg(orgPos.x()).arg(orgPos.y()) + ")";
+
+            QString redoCom =
+                "relinkTo (\"" + getSelectString(dst) + "\"," + postNum + "," +
+                QString("%1,%2").arg(savePos.x()).arg(savePos.y()) + ")";
+
+            saveState(postSelStr, undoCom, preSelStr, redoCom,
+                      QString("Relink %1 to %2")
+                          .arg(getObjectName(branch))
+                          .arg(getObjectName(dst)));
+        }
+
+        // New parent might be invisible
+        branch->updateVisibility();
+
+        if (dst->isScrolled()) {
+            if (updateSelection)
+                select(dst);
+        }
+        else if (updateSelection)
+            select(branch);
+        return true;
+    }
+    return false;
+}
+
+bool VymModel::relinkImage(ImageItem *image, BranchItem *dst)
+{
+    if (image && dst) {
+        emit(layoutAboutToBeChanged());
+
+        BranchItem *pi = (BranchItem *)(image->parent());
+        QString oldParString = getSelectString(pi);
+        // Remove at current position
+        int n = image->childNum();
+        beginRemoveRows(index(pi), n, n);
+        pi->removeChild(n);
+        endRemoveRows();
+
+        // Add at dst
+        QModelIndex dstix = index(dst);
+        n = dst->getRowNumAppend(image);
+        beginInsertRows(dstix, n, n);
+        dst->appendChild(image);
+        endInsertRows();
+
+        // Set new parent also for lmo
+        if (image->getLMO() && dst->getLMO())
+            image->getLMO()->setParObj(dst->getLMO());
+
+        emit(layoutChanged());
+        saveState(image, QString("relinkTo (\"%1\")").arg(oldParString), image,
+                  QString("relinkTo (\"%1\")").arg(getSelectString(dst)),
+                  QString("Relink floatimage to %1").arg(getObjectName(dst)));
+        return true;
+    }
+    return false;
+}
+
+bool VymModel::relinkTo(const QString &dest, int num, QPointF pos)
+{
+    TreeItem *selti = getSelectedItem();
+    if (!selti)
+        return false; // Nothing selected to relink
+
+    TreeItem *dst = findBySelectString(dest);
+
+    if (selti->isBranchLikeType()) {
+        BranchItem *selbi = (BranchItem *)selti;
+        if (!dst)
+            return false; // Could not find destination
+
+        if (dst->getType() == TreeItem::Branch) {
+            // Now try to relink to branch
+            if (relinkBranch(selbi, (BranchItem *)dst, num, true)) {
+                emitSelectionChanged();
+                return true;
+            }
+            else
+                return false; // Relinking failed
+        }
+        else if (dst->getType() == TreeItem::MapCenter) {
+            if (relinkBranch(selbi, (BranchItem *)dst, -1, true)) {
+                // Get coordinates of mainbranch
+                if (selbi->getLMO()) {
+                    ((BranchObj *)selbi->getLMO())->move(pos);
+                    ((BranchObj *)selbi->getLMO())->setRelPos();
+                }
+                reposition();
+                emitSelectionChanged();
+                return true;
+            }
+        }
+        return false; // Relinking failed
+    }
+    else if (selti->getType() == TreeItem::Image) {
+        if (dst->isBranchLikeType())
+            if (relinkImage(((ImageItem *)selti), (BranchItem *)dst))
+                return true;
+    }
+    return false; // Relinking failed
+}
+
+void VymModel::cleanupItems()
+{
+    while (!deleteLaterIDs.isEmpty()) {
+        TreeItem *ti = findID(deleteLaterIDs.takeFirst());
+        if (ti)
+            deleteItem(ti);
+    }
+}
+
+void VymModel::deleteLater(uint id)
+{
+    if (!deleteLaterIDs.contains(id))
+        deleteLaterIDs.append(id);
+}
+
+void VymModel::deleteSelection()
+{
+    QList<uint> selectedIDs = getSelectedIDs();
+    unselectAll();
+    QString fn;
+
+    foreach (uint id, selectedIDs) {
+        TreeItem *ti = findID(id);
+        if (ti) {
+            if (ti->isBranchLikeType()) { // Delete branch
+                BranchItem *selbi = (BranchItem *)ti;
+                saveStateRemovingPart(
+                    selbi, QString("remove %1").arg(getObjectName(selbi)));
+
+                BranchItem *pi = (BranchItem *)(deleteItem(selbi));
+                if (pi) {
+                    if (pi->isScrolled() && pi->branchCount() == 0)
+                        pi->unScroll();
+                    emitDataChanged(pi);
+                    select(pi);
+                }
+                else
+                    emitDataChanged(rootItem);
+                ti = NULL;
+            }
+            else {
+                // Delete other item
+                TreeItem *pi = ti->parent();
+                if (pi) {
+                    if (ti->getType() == TreeItem::Image ||
+                        ti->getType() == TreeItem::Attribute ||
+                        ti->getType() == TreeItem::XLink) {
+                        saveStateChangingPart(
+                            pi, ti, "remove ()",
+                            QString("Remove %1").arg(getObjectName(ti)));
+
+                        deleteItem(ti);
+                        emitDataChanged(pi);
+                        select(pi);
+                        reposition();
+                    }
+                    else
+                        qWarning(
+                            "VymmModel::deleteSelection()  unknown type?!");
+                }
+            }
+        }
+    }
+}
+
+void VymModel::deleteKeepChildren(bool saveStateFlag)
+// deleteKeepChildren FIXME-3+ does not work yet for mapcenters
+// deleteKeepChildren FIXME-3+ children of scrolled branch stay invisible...
+{
+    BranchItem *selbi = getSelectedBranch();
+    BranchItem *pi;
+    if (selbi) {
+        // Don't use this on mapcenter
+        if (selbi->depth() < 1)
+            return;
+
+        pi = (BranchItem *)(selbi->parent());
+        // Check if we have children at all to keep
+        if (selbi->branchCount() == 0) {
+            deleteSelection();
+            return;
+        }
+
+        QPointF p;
+        if (selbi->getLMO())
+            p = selbi->getLMO()->getRelPos();
+        if (saveStateFlag)
+            saveStateChangingPart(pi, pi, "removeKeepChildren ()",
+                                  QString("Remove %1 and keep its children")
+                                      .arg(getObjectName(selbi)));
+
+        QString sel = getSelectString(selbi);
+        unselectAll();
+        bool oldSaveState = saveStateBlocked;
+        saveStateBlocked = true;
+        int pos = selbi->num();
+        BranchItem *bi = selbi->getFirstBranch();
+        while (bi) {
+            relinkBranch(bi, pi, pos, true);
+            bi = selbi->getFirstBranch();
+            pos++;
+        }
+        deleteItem(selbi);
+        reposition();
+        emitDataChanged(pi);
+        select(sel);
+        BranchObj *bo = getSelectedBranchObj();
+        if (bo) {
+            bo->move2RelPos(p);
+            reposition();
+        }
+        saveStateBlocked = oldSaveState;
+    }
+}
+
+void VymModel::deleteChildren()
+
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        saveStateChangingPart(
+            selbi, selbi, "removeChildren ()",
+            QString("Remove children of branch %1").arg(getObjectName(selbi)));
+        emit(layoutAboutToBeChanged());
+
+        QModelIndex ix = index(selbi);
+        int n = selbi->branchCount() - 1;
+        beginRemoveRows(ix, 0, n);
+        removeRows(0, n + 1, ix);
+        endRemoveRows();
+        if (selbi->isScrolled())
+            unscrollBranch(selbi);
+        emit(layoutChanged());
+        reposition();
+    }
+}
+
+TreeItem *VymModel::deleteItem(TreeItem *ti)
+{
+    if (ti) {
+        TreeItem *pi = ti->parent();
+        // qDebug()<<"VM::deleteItem  start ti="<<ti<<"  "<<ti->getHeading()<<"
+        // pi="<<pi<<"="<<pi->getHeading();
+
+        TreeItem::Type t = ti->getType();
+
+        QModelIndex parentIndex = index(pi);
+
+        emit(layoutAboutToBeChanged());
+
+        int n = ti->childNum();
+        beginRemoveRows(parentIndex, n, n);
+        removeRows(n, 1, parentIndex);
+        endRemoveRows();
+
+        // Size of parent branch might change when deleting images
+        if (t == TreeItem::Image) {
+            BranchObj *bo = (BranchObj *)(((BranchItem *)pi)->getMO());
+            if (bo)
+                bo->calcBBoxSize();
+        }
+
+        reposition();
+
+        emit(layoutChanged());
+        emitUpdateQueries();
+        if (!cleaningUpLinks)
+            cleanupItems();
+
+        // qDebug()<<"VM::deleteItem  end   ti="<<ti;
+        if (pi->depth() >= 0)
+            return pi;
+    }
+    return NULL;
+}
+
+void VymModel::deleteLink(Link *l)
+{
+    if (xlinks.removeOne(l))
+        delete (l);
+}
+
+void VymModel::clearItem(TreeItem *ti)
+{
+    if (ti) {
+        // Clear task (or other data in item itself)
+        ti->clear();
+
+        QModelIndex parentIndex = index(ti);
+        if (!parentIndex.isValid())
+            return;
+
+        int n = ti->childCount();
+        if (n == 0)
+            return;
+
+        emit(layoutAboutToBeChanged());
+
+        beginRemoveRows(parentIndex, 0, n - 1);
+        removeRows(0, n, parentIndex);
+        endRemoveRows();
+
+        reposition();
+
+        emit(layoutChanged());
+    }
+    return;
+}
+
+bool VymModel::scrollBranch(BranchItem *bi)
+{
+    if (bi) {
+        if (bi->isScrolled())
+            return false;
+        if (bi->branchCount() == 0)
+            return false;
+        if (bi->depth() == 0)
+            return false;
+        if (bi->toggleScroll()) {
+            QString u, r;
+            r = "scroll";
+            u = "unscroll";
+            saveState(bi, QString("%1 ()").arg(u), bi, QString("%1 ()").arg(r),
+                      QString("%1 %2").arg(r).arg(getObjectName(bi)));
+            emitDataChanged(bi);
+            emitSelectionChanged();
+            reposition();
+            mapEditor->getScene()
+                ->update(); // Needed for _quick_ update,  even in 1.13.x
+            return true;
+        }
+    }
+    return false;
+}
+
+bool VymModel::unscrollBranch(BranchItem *bi)
+{
+    if (bi) {
+        if (!bi->isScrolled())
+            return false;
+        if (bi->toggleScroll()) {
+            QString u, r;
+            u = "scroll";
+            r = "unscroll";
+            saveState(bi, QString("%1 ()").arg(u), bi, QString("%1 ()").arg(r),
+                      QString("%1 %2").arg(r).arg(getObjectName(bi)));
+            emitDataChanged(bi);
+            emitSelectionChanged();
+            reposition();
+            mapEditor->getScene()
+                ->update(); // Needed for _quick_ update,  even in 1.13.x
+            return true;
+        }
+    }
+    return false;
+}
+
+void VymModel::toggleScroll()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        if (selbi->isScrolled())
+            unscrollBranch(selbi);
+        else
+            scrollBranch(selbi);
+        // Note: saveState & reposition are called in above functions
+    }
+}
+
+void VymModel::unscrollChildren()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        saveStateChangingPart(
+            selbi, selbi, QString("unscrollChildren ()"),
+            QString("unscroll all children of %1").arg(getObjectName(selbi)));
+        BranchItem *prev = NULL;
+        BranchItem *cur = NULL;
+        nextBranch(cur, prev, true, selbi);
+        while (cur) {
+            if (cur->isScrolled()) {
+                cur->toggleScroll();
+                emitDataChanged(cur);
+            }
+            nextBranch(cur, prev, true, selbi);
+        }
+        updateActions();
+        reposition();
+        // Would this help??? emitSelectionChanged();
+    }
+}
+
+void VymModel::setScaleFactor(qreal f, ImageItem *selii)
+{
+    if (!selii)
+        selii = getSelectedImage();
+
+    if (selii) {
+        qreal f_old = selii->getScaleFactor();
+        selii->setScaleFactor(f);
+        saveState(selii, QString("setScaleFactor(%1)").arg(f_old), selii,
+                  QString("setScaleFactor(%1)").arg(f),
+                  QString("Scale %1").arg(getObjectName(selii)));
+        reposition();
+    }
+}
+
+void VymModel::growSelectionSize() // FIXME-3 Also for heading in BranchItem?
+{
+    ImageItem *selii = getSelectedImage();
+    if (selii) {
+        qreal f = 0.05;
+        qreal sx = selii->getScaleFactor();
+        setScaleFactor(sx + f);
+    }
+}
+
+void VymModel::shrinkSelectionSize()
+{
+    ImageItem *selii = getSelectedImage();
+    if (selii) {
+        qreal f = 0.05;
+        qreal sx = selii->getScaleFactor();
+        setScaleFactor(sx - f);
+    }
+}
+
+void VymModel::resetSelectionSize()
+{
+    ImageItem *selii = getSelectedImage();
+    if (selii)
+        setScaleFactor(1);
+}
+
+void VymModel::emitExpandAll() { emit(expandAll()); }
+
+void VymModel::emitExpandOneLevel() { emit(expandOneLevel()); }
+
+void VymModel::emitCollapseOneLevel() { emit(collapseOneLevel()); }
+
+void VymModel::emitCollapseUnselected() { emit(collapseUnselected()); }
+
+void VymModel::toggleTarget()
+{
+    foreach (TreeItem *ti, getSelectedItems()) {
+        if (ti->isBranchLikeType()) {
+            ((BranchItem*)ti)->toggleTarget();
+            saveState(ti, "toggleTarget()", ti, "toggleTarget()",
+                      "Toggle target");
+        }
+    }
+    reposition();
+}
+
+ItemList VymModel::getLinkedMaps()
+{
+    ItemList targets;
+
+    // rmodel->setSearchString (s);
+
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    nextBranch(cur, prev);
+
+    QString s;
+
+    while (cur) {
+        if (cur->hasActiveSystemFlag("system-target") &&
+            !cur->getVymLink().isEmpty()) {
+            s = cur->getHeading().getTextASCII();
+            s.replace(QRegularExpression("\n+"), " ");
+            s.replace(QRegularExpression("\\s+"), " ");
+            s.replace(QRegularExpression("^\\s+"), "");
+
+            QStringList sl;
+            sl << s;
+            sl << cur->getVymLink();
+
+            targets[cur->getID()] = sl;
+        }
+        nextBranch(cur, prev);
+    }
+    return targets;
+}
+
+ItemList VymModel::getTargets()
+{
+    ItemList targets;
+
+    // rmodel->setSearchString (s);
+
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    nextBranch(cur, prev);
+
+    QString s;
+
+    while (cur) {
+        if (cur->hasActiveSystemFlag("system-target")) {
+            s = cur->getHeading().getTextASCII();
+            s.replace(QRegularExpression("\n+"), " ");
+            s.replace(QRegularExpression("\\s+"), " ");
+            s.replace(QRegularExpression("^\\s+"), "");
+
+            QStringList sl;
+            sl << s;
+
+            targets[cur->getID()] = sl;
+        }
+        nextBranch(cur, prev);
+    }
+    return targets;
+}
+
+Flag* VymModel::findFlagByName(const QString &name)
+{
+    BranchItem *bi = getSelectedBranch();
+
+    if (bi) {
+        Flag *f = standardFlagsMaster->findFlagByName(name);
+        if (!f) {
+            f = userFlagsMaster->findFlagByName(name);
+            if (!f) {
+                qWarning() << "VymModel::findFlagByName failed for flag named "
+                           << name;
+                return nullptr;
+            }
+        }
+        return f;
+    }
+
+    // Nothing selected, so no flag found
+    return nullptr;
+}
+
+void VymModel::setFlagByName(const QString &name, bool useGroups)
+{
+    BranchItem *bi = getSelectedBranch();
+
+    if (bi && !bi->hasActiveFlag(name)) {
+        toggleFlagByName(name, useGroups);
+    }
+}
+
+void VymModel::unsetFlagByName(const QString &name)
+{
+    BranchItem *bi = getSelectedBranch();
+
+    if (bi && bi->hasActiveFlag(name)) {
+        toggleFlagByName(name);
+    }
+}
+
+void VymModel::toggleFlagByName(const QString &name, bool useGroups)
+{
+    BranchItem *bi = getSelectedBranch();
+
+    if (bi) {
+        Flag *f = findFlagByName(name);
+
+        if (!f) {
+            qWarning() << "VymModel::toggleFlagByName could not find flag named " << name;
+            return;
+        }
+
+        toggleFlagByUid(f->getUuid(), useGroups);
+    }
+}
+
+void VymModel::toggleFlagByUid(
+    const QUuid &uid,
+    bool useGroups)
+    // FIXME-2  saveState not correct when toggling flags in groups
+    // (previous flags not saved!)
+{
+    QStringList itemList = getSelectedUUIDs();
+
+    if (itemList.count() > 0) {
+        QString fn;
+        TreeItem *ti;
+        BranchItem *bi;
+        Flag *f;
+        foreach (QString id, itemList) {
+            ti = findUuid(QUuid(id));
+            if (ti && ti->isBranchLikeType()) {
+                    bi = (BranchItem*)ti;
+                f = bi->toggleFlagByUid(uid, useGroups);
+
+                if (f) {
+                    QString u = "toggleFlagByUid";
+                    QString name = f->getName();
+                    saveState(bi, QString("%1 (\"%2\")").arg(u).arg(uid.toString()), bi,
+                              QString("%1 (\"%2\")").arg(u).arg(uid.toString()),
+                              QString("Toggling flag \"%1\" of %2")
+                                  .arg(name)
+                                  .arg(getObjectName(bi)));
+                    emitDataChanged(bi);
+                } else
+                    qWarning() << "VymModel::toggleFlag failed for flag with uid "
+                               << uid;
+            }
+        }
+        reposition();
+    }
+}
+
+
+void VymModel::clearFlags()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        selbi->deactivateAllStandardFlags();
+        reposition();
+        emitDataChanged(selbi);
+        setChanged();
+    }
+}
+
+void VymModel::colorBranch(QColor c)
+{
+    QList<BranchItem *> selbis = getSelectedBranches();
+    foreach (BranchItem *selbi, selbis) {
+        saveState(selbi,
+                  QString("colorBranch (\"%1\")")
+                      .arg(selbi->getHeadingColor().name()),
+                  selbi, QString("colorBranch (\"%1\")").arg(c.name()),
+                  QString("Set color of %1 to %2")
+                      .arg(getObjectName(selbi))
+                      .arg(c.name()));
+        selbi->setHeadingColor(c); // color branch
+        emitDataChanged(selbi);
+        taskEditor->showSelection();
+    }
+    mapEditor->getScene()->update();
+}
+
+void VymModel::colorSubtree(QColor c, BranchItem *b)
+{
+    QList<BranchItem *> selbis;
+    if (b)
+        selbis.append(b);
+    else
+        selbis = getSelectedBranches();
+
+    foreach (BranchItem *bi, selbis) {
+        saveStateChangingPart(bi, bi,
+                              QString("colorSubtree (\"%1\")").arg(c.name()),
+                              QString("Set color of %1 and children to %2")
+                                  .arg(getObjectName(bi))
+                                  .arg(c.name()));
+        BranchItem *prev = NULL;
+        BranchItem *cur = NULL;
+        nextBranch(cur, prev, true, bi);
+        while (cur) {
+            cur->setHeadingColor(c); // color links, color children
+            emitDataChanged(cur);
+            nextBranch(cur, prev, true, bi);
+        }
+    }
+    taskEditor->showSelection();
+    mapEditor->getScene()->update();
+}
+
+QColor VymModel::getCurrentHeadingColor()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi)
+        return selbi->getHeadingColor();
+
+    QMessageBox::warning(
+        0, "Warning",
+        "Can't get color of heading,\nthere's no branch selected");
+    return Qt::black;
+}
+
+void VymModel::note2URLs()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        saveStateChangingPart(
+            selbi, selbi, QString("note2URLs()"),
+            QString("Extract URLs from note of %1").arg(getObjectName(selbi)));
+
+        QString n = selbi->getNoteASCII();
+        if (n.isEmpty())
+            return;
+        QRegExp re("(http.*)(\\s|\"|')");
+        re.setMinimal(true);
+
+        BranchItem *bi;
+        int pos = 0;
+        while ((pos = re.indexIn(n, pos)) != -1) {
+            bi = createBranch(selbi);
+            bi->setHeadingPlainText(re.cap(1));
+            bi->setURL(re.cap(1));
+            emitDataChanged(bi);
+            pos += re.matchedLength();
+        }
+    }
+}
+
+void VymModel::editHeading2URL()
+{
+    TreeItem *selti = getSelectedItem();
+    if (selti)
+        setURL(selti->getHeadingPlain());
+}
+
+void VymModel::getJiraData(bool subtree) // FIXME-2 update error message, check
+                                         // if jiraClientAvail is set correctly
+{
+    if (!JiraAgent::available()) {
+        WarningDialog dia;
+        QString w = QObject::tr("JIRA agent not setup.");
+        dia.setText(w);
+        dia.setWindowTitle( tr("Warning") + ": " + w);
+        dia.setShowAgainName("/JiraAgent/notdefined");
+        dia.exec();
+
+        if (!mainWindow->settingsJIRA())
+            return;
+    }
+
+    BranchItem *selbi = getSelectedBranch();
+    QRegExp re("(\\w+[-|\\s]\\d+)");
+
+    if (selbi) {
+        QString url;
+        BranchItem *prev = nullptr;
+        BranchItem *cur = nullptr;
+        nextBranch(cur, prev, true, selbi);
+        while (cur) {
+            QString heading = cur->getHeadingPlain();
+
+            if (re.indexIn(heading) >= 0) {
+                // Create agent
+                JiraAgent *agent = new JiraAgent;
+                agent->setJobType(JiraAgent::GetTicketInfo);
+                if (!agent->setBranch(cur)) {
+                    qWarning () << "Could not set branch in JiraAgent to " << cur->getHeadingPlain();
+                    delete agent;
+                    return;
+                }
+                if (!agent->setTicket(heading)) {
+                    mainWindow->statusMessage(tr("Could not find Jira ticket pattern in %1", "VymModel").arg(cur->getHeadingPlain()));
+                    delete agent;
+                    return;
+                }
+
+                //setURL(agent->url(), false, cur);
+
+                connect(agent, &JiraAgent::jiraTicketReady, this, &VymModel::updateJiraData);
+
+                // Start contacting JIRA in background
+                agent->startJob();
+                mainWindow->statusMessage(tr("Contacting Jira...", "VymModel"));
+            }
+
+
+            if (subtree)
+                nextBranch(cur, prev, true, selbi);
+            else
+                cur = nullptr;
+        }
+    }
+}
+
+void VymModel::updateJiraData(QJsonObject jsobj)
+{
+    QJsonDocument jsdoc = QJsonDocument (jsobj);
+    QString key = jsobj["key"].toString();
+    QJsonObject fields = jsobj["fields"].toObject();
+
+    QJsonObject assigneeObj = fields["assignee"].toObject();
+    QString assignee = assigneeObj["emailAddress"].toString();
+
+    QJsonObject reporterObj = fields["reporter"].toObject();
+    QString reporter  = reporterObj["emailAddress"].toString();
+
+    QJsonObject resolutionObj = fields["resolution"].toObject();
+    QString resolution  = resolutionObj["name"].toString();
+
+    QJsonObject statusObj = fields["status"].toObject();
+    QString status  = statusObj["name"].toString();
+
+    QString summary = fields["summary"].toString();
+
+    QJsonArray componentsArray = fields["components"].toArray();
+    QJsonObject compObj;
+    QString components;
+    for (int i = 0; i < componentsArray.size(); ++i) {
+        compObj = componentsArray[i].toObject();
+        components += compObj["name"].toString();
+    }
+
+    int branchID = jsobj["vymBranchId"].toInt();
+
+    QStringList solvedStates;
+    solvedStates << "Verification Done";
+    solvedStates << "Resolved";
+    solvedStates << "Closed";
+
+    QString keyName = key;
+    BranchItem *bi = (BranchItem*)findID(branchID);
+    if (bi) {
+        if (solvedStates.contains(status))    {
+            keyName = "(" + keyName + ")";
+            colorSubtree (Qt::blue, bi);
+        }
+
+        setHeadingPlainText(keyName + ": " + summary, bi);
+        setURL(jsobj["vymTicketUrl"].toString());
+
+        AttributeItem *ai;
+
+        ai = new AttributeItem("JIRA.assignee", assignee);
+        setAttribute(bi, ai);
+
+        ai = new AttributeItem("JIRA.reporter", reporter);
+        setAttribute(bi, ai);
+
+        ai = new AttributeItem("JIRA.resolution", resolution);
+        setAttribute(bi, ai);
+
+        ai = new AttributeItem("JIRA.status", status);
+        setAttribute(bi, ai);
+
+        ai = new AttributeItem("JIRA.components", components);
+        setAttribute(bi, ai);
+    }
+
+    /* Pretty print JIRA ticket
+    vout << jsdoc.toJson(QJsonDocument::Indented) << endl;
+    vout << "       Key: " + key << endl;
+    vout << "      Desc: " + summary << endl;
+    vout << "  Assignee: " + assignee << endl;
+    vout << "Components: " + components << endl;
+    vout << "  Reporter: " + reporter << endl;
+    vout << "Resolution: " + resolution << endl;
+    vout << "    Status: " + status << endl;
+    */
+
+    mainWindow->statusMessage(tr("Received Jira data.", "VymModel"));
+}
+
+
+void VymModel::setHeadingConfluencePageName()   // FIXME-2 always asks for Confluence credentials when adding any URL
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        QString url = selbi->getURL();
+        if (!url.isEmpty() && 
+                settings.contains("/atlassian/confluence/url") &&
+                url.contains(settings.value("/atlassian/confluence/url").toString())) {
+
+            ConfluenceAgent *ca_setHeading = new ConfluenceAgent(selbi);
+            ca_setHeading->setPageURL(url);
+            ca_setHeading->setJobType(ConfluenceAgent::CopyPagenameToHeading);
+            ca_setHeading->startJob();
+        }
+    }
+}
+
+void VymModel::setVymLink(const QString &s)
+{
+    if (s.isEmpty()) return;
+
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        saveState(
+            bi, "setVymLink (\"" + bi->getVymLink() + "\")", bi,
+            "setVymLink (\"" + s + "\")",
+            QString("Set vymlink of %1 to %2").arg(getObjectName(bi)).arg(s));
+        bi->setVymLink(s);
+        emitDataChanged(bi);
+        reposition();
+    }
+}
+
+void VymModel::deleteVymLink()
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        saveState(bi, "setVymLink (\"" + bi->getVymLink() + "\")", bi,
+                  "setVymLink (\"\")",
+                  QString("Unset vymlink of %1").arg(getObjectName(bi)));
+        bi->setVymLink("");
+        emitDataChanged(bi);
+        reposition();
+        updateActions();
+    }
+}
+
+QString VymModel::getVymLink()
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi)
+        return bi->getVymLink();
+    else
+        return "";
+}
+
+QStringList VymModel::getVymLinks()
+{
+    QStringList links;
+    BranchItem *selbi = getSelectedBranch();
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    nextBranch(cur, prev, true, selbi);
+    while (cur) {
+        if (!cur->getVymLink().isEmpty())
+            links.append(cur->getVymLink());
+        nextBranch(cur, prev, true, selbi);
+    }
+    return links;
+}
+
+void VymModel::followXLink(int i)
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        selbi = selbi->getXLinkItemNum(i)->getPartnerBranch();
+        if (selbi)
+            select(selbi);
+    }
+}
+
+void VymModel::editXLink()
+{
+    Link *l = getSelectedXLink();
+    if (l) {
+        EditXLinkDialog dia;
+        dia.setLink(l);
+        if (dia.exec() == QDialog::Accepted) {
+            if (dia.useSettingsGlobal()) {
+                setMapDefXLinkPen(l->getPen());
+                setMapDefXLinkStyleBegin(l->getStyleBeginString());
+                setMapDefXLinkStyleEnd(l->getStyleEndString());
+            }
+        }
+    }
+}
+
+void VymModel::setXLinkColor(const QString &new_col)
+{
+    Link *l = getSelectedXLink();
+    if (l) {
+        QPen pen = l->getPen();
+        QColor new_color = QColor(new_col);
+        QColor old_color = pen.color();
+        if (new_color == old_color)
+            return;
+        pen.setColor(new_color);
+        l->setPen(pen);
+        saveState(l->getBeginLinkItem(),
+                  QString("setXLinkColor(\"%1\")").arg(old_color.name()),
+                  l->getBeginLinkItem(),
+                  QString("setXLinkColor(\"%1\")").arg(new_color.name()),
+                  QString("set color of xlink to %1").arg(new_color.name()));
+    }
+}
+
+void VymModel::setXLinkStyle(const QString &new_style)
+{
+    Link *l = getSelectedXLink();
+    if (l) {
+        QPen pen = l->getPen();
+        QString old_style = penStyleToString(pen.style());
+        if (new_style == old_style)
+            return;
+        bool ok;
+        pen.setStyle(penStyle(new_style, ok));
+        l->setPen(pen);
+        saveState(l->getBeginLinkItem(),
+                  QString("setXLinkStyle(\"%1\")").arg(old_style),
+                  l->getBeginLinkItem(),
+                  QString("setXLinkStyle(\"%1\")").arg(new_style),
+                  QString("set style of xlink to %1").arg(new_style));
+    }
+}
+
+void VymModel::setXLinkStyleBegin(const QString &new_style)
+{
+    Link *l = getSelectedXLink();
+    if (l) {
+        QString old_style = l->getStyleBeginString();
+        if (new_style == old_style)
+            return;
+        l->setStyleBegin(new_style);
+        saveState(l->getBeginLinkItem(),
+                  QString("setXLinkStyleBegin(\"%1\")").arg(old_style),
+                  l->getBeginLinkItem(),
+                  QString("setXLinkStyleBegin(\"%1\")").arg(new_style),
+                  "set style of xlink begin");
+    }
+}
+
+void VymModel::setXLinkStyleEnd(const QString &new_style)
+{
+    Link *l = getSelectedXLink();
+    if (l) {
+        QString old_style = l->getStyleEndString();
+        if (new_style == old_style)
+            return;
+        l->setStyleEnd(new_style);
+        saveState(l->getBeginLinkItem(),
+                  QString("setXLinkStyleEnd(\"%1\")").arg(old_style),
+                  l->getBeginLinkItem(),
+                  QString("setXLinkStyleEnd(\"%1\")").arg(new_style),
+                  "set style of xlink end");
+    }
+}
+
+void VymModel::setXLinkWidth(int new_width)
+{
+    Link *l = getSelectedXLink();
+    if (l) {
+        QPen pen = l->getPen();
+        int old_width = pen.width();
+        if (new_width == old_width)
+            return;
+        pen.setWidth(new_width);
+        l->setPen(pen);
+        saveState(
+            l->getBeginLinkItem(), QString("setXLinkWidth(%1)").arg(old_width),
+            l->getBeginLinkItem(), QString("setXLinkWidth(%1)").arg(new_width),
+            "set width of xlink");
+    }
+}
+
+//////////////////////////////////////////////
+// Scripting
+//////////////////////////////////////////////
+
+QVariant VymModel::execute(
+    const QString &script) // FIXME-3 still required???
+                           // Called from these places:
+                           //
+                           // scripts/vym-ruby.rb  (and adaptormodel) used for
+                           // testing Main::callMacro Main::checkReleaseNotes
+                           // VymModel::undo
+                           // VymModel::redo
+                           // VymModel::exportLast
+                           // VymModel::updateSlideSelection
+{
+    // qDebug()<<"VM::execute called: "<<script;
+    return mainWindow->runScript(script);
+}
+
+void VymModel::setExportMode(bool b)
+{
+    // should be called before and after exports
+    // depending on the settings
+    if (b && settings.value("/export/useHideExport", "true") == "true")
+        setHideTmpMode(TreeItem::HideExport);
+    else
+        setHideTmpMode(TreeItem::HideNone);
+}
+
+QPointF VymModel::exportImage(QString fname, bool askName, QString format)
+{
+    QPointF offset; // set later, when getting image from MapEditor
+
+    if (fname == "") {
+        if (!askName) {
+            qWarning("VymModel::exportImage called without filename (and "
+                     "askName==false)");
+            return offset;
+        }
+
+        fname = lastImageDir.absolutePath() + "/" + getMapName() + ".png";
+        format = "PNG";
+    }
+
+    ExportBase ex;
+    ex.setName("Image");
+    ex.setModel(this);
+    ex.setFilePath(fname);
+    ex.setWindowTitle(tr("Export map as image"));
+    ex.addFilter(
+        "PNG (*.png);;All (* *.*)"); //  imageIO.getFilters().join(";;")
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (askName) {
+        if (!ex.execDialog())
+            return offset;
+        fname = ex.getFilePath();
+        lastImageDir = QDir(fname);
+    }
+
+    setExportMode(true);
+
+    mapEditor->minimizeView();
+
+    QImage img(mapEditor->getImage(offset));
+    if (!img.save(fname, format.toLocal8Bit())) {
+        QMessageBox::critical(
+            0, tr("Critical Error"),
+            tr("Couldn't save QImage %1 in format %2").arg(fname).arg(format));
+        ex.setResult(ExportBase::Failed);
+    } else
+        ex.setResult(ExportBase::Success);
+
+    setExportMode(false);
+
+    ex.completeExport();
+
+    return offset;
+}
+
+void VymModel::exportPDF(QString fname, bool askName)
+{
+    if (fname == "") {
+        if (!askName) {
+            qWarning("VymModel::exportPDF called without filename (and "
+                     "askName==false)");
+            return;
+        }
+
+        fname = lastExportDir.absolutePath() + "/" + getMapName() + ".pdf";
+    }
+
+    ExportBase ex;
+    ex.setName("PDF");
+    ex.setModel(this);
+    ex.setFilePath(fname);
+    ex.setWindowTitle(tr("Export map as PDF"));
+    ex.addFilter("PDF (*.pdf);;All (* *.*)");
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (askName) {
+        if (!ex.execDialog())
+            return;
+        fname = ex.getFilePath();
+    }
+
+    setExportMode(true);
+
+    // To PDF
+    QPrinter pdfPrinter(QPrinter::HighResolution);
+    pdfPrinter.setOutputFormat(QPrinter::PdfFormat);
+    pdfPrinter.setOutputFileName(fname);
+    pdfPrinter.setPageSize(QPageSize(QPageSize::A3));
+
+    QRectF bbox = mapEditor->getTotalBBox();
+    if (bbox.width() > bbox.height())
+        // recommend landscape
+        pdfPrinter.setPageOrientation(QPageLayout::Landscape);
+    else
+        // recommend portrait
+        pdfPrinter.setPageOrientation(QPageLayout::Portrait);
+
+    QPainter *pdfPainter = new QPainter(&pdfPrinter);
+    getScene()->render(pdfPainter);
+    pdfPainter->end();
+    delete pdfPainter;
+
+    setExportMode(false);
+
+    ex.completeExport();
+}
+
+QPointF VymModel::exportSVG(QString fname, bool askName)
+{
+    QPointF offset; // FIXME-3 not needed?
+
+    if (fname == "") {
+        if (!askName) {
+            qWarning("VymModel::exportSVG called without filename (and "
+                     "askName==false)");
+            return offset;
+        }
+
+        fname = lastImageDir.absolutePath() + "/" + getMapName() + ".svg";
+    }
+
+    ExportBase ex;
+    ex.setName("SVG");
+    ex.setModel(this);
+    ex.setFilePath(fname);
+    ex.setWindowTitle(tr("Export map as SVG"));
+    ex.addFilter("SVG (*.svg);;All (* *.*)");
+
+    if (askName) {
+        if (!ex.execDialog())
+            return offset;
+        fname = ex.getFilePath();
+        lastImageDir = QDir(fname);
+    }
+
+    setExportMode(true);
+
+    QSvgGenerator generator;
+    generator.setFileName(fname);
+    QSize sceneSize = getScene()->sceneRect().size().toSize();
+    generator.setSize(sceneSize);
+    generator.setViewBox(QRect(0, 0, sceneSize.width(), sceneSize.height()));
+    QPainter *svgPainter = new QPainter(&generator);
+    getScene()->render(svgPainter);
+    svgPainter->end();
+    delete svgPainter;
+
+    setExportMode(false);
+    ex.completeExport();
+
+    return offset;
+}
+
+void VymModel::exportXML(QString fpath, QString dpath, bool useDialog)
+{
+    ExportBase ex;
+    ex.setName("XML");
+    ex.setModel(this);
+    ex.setWindowTitle(tr("Export map as XML"));
+    ex.addFilter("XML (*.xml);;All (* *.*)");
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (useDialog) {
+        QFileDialog fd;
+        fd.setWindowTitle(vymName + " - " + tr("Export XML to directory"));
+        QStringList filters;
+        filters << "XML data (*.xml)";
+        fd.setNameFilters(filters);
+        fd.setOption(QFileDialog::DontConfirmOverwrite, true);
+        fd.setAcceptMode(QFileDialog::AcceptSave);
+        fd.selectFile(mapName + ".xml");
+
+        QString fn;
+        if (fd.exec() != QDialog::Accepted || fd.selectedFiles().isEmpty())
+            return;
+
+        fpath = fd.selectedFiles().first();
+        dpath = fpath.left(fpath.lastIndexOf("/"));
+
+        if (!confirmDirectoryOverwrite(QDir(dpath)))
+            return;
+    }
+    ex.setFilePath(fpath);
+
+    QString mname = basename(fpath);
+
+    // Hide stuff during export, if settings want this
+    setExportMode(true);
+
+    // Create subdirectories
+    makeSubDirs(dpath);
+
+    // write image and calculate offset (Remember old mapSaved setting while
+    // exporting image)
+    bool mchanged = mapChanged;
+    bool munsaved = mapUnsaved;
+
+    QPointF offset =
+        exportImage(dpath + "/images/" + mname + ".png", false, "PNG");
+
+    mapChanged = mchanged;
+    mapUnsaved = munsaved;
+
+    // write to directory   //FIXME-3 check totalBBox here...
+    QString saveFile =
+        saveToDir(dpath, mname + "-", FlagRowMaster::NoFlags, offset, NULL);
+    QFile file;
+
+    file.setFileName(fpath);
+    if (!file.open(QIODevice::WriteOnly)) {
+        // This should neverever happen
+        QMessageBox::critical(0, tr("Critical Export Error"),
+                              QString("VymModel::exportXML couldn't open %1")
+                                  .arg(file.fileName()));
+        return;
+    }
+
+    // Write it finally, and write in UTF8, no matter what
+    QTextStream ts(&file);
+    ts.setCodec("UTF-8");
+    ts << saveFile;
+    file.close();
+
+    setExportMode(false);
+
+    QStringList args;
+    args << fpath;
+    args << dpath;
+    ex.completeExport(args);
+}
+
+void VymModel::exportAO(QString fname, bool askName)
+{
+    ExportAO ex;
+    ex.setModel(this);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (fname == "")
+        ex.setFilePath(mapName + ".txt");
+    else
+        ex.setFilePath(fname);
+
+    if (askName) {
+        ex.setDirPath(lastExportDir.absolutePath());
+        ex.execDialog();
+    }
+    if (!ex.canceled()) {
+        setExportMode(true);
+        ex.doExport();
+        setExportMode(false);
+    }
+}
+
+void VymModel::exportASCII(const QString &fname, bool listTasks, bool askName)
+{
+    ExportASCII ex;
+    ex.setModel(this);
+    ex.setListTasks(listTasks);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (fname == "")
+        ex.setFilePath(mapName + ".txt");
+    else
+        ex.setFilePath(fname);
+
+    if (askName) {
+        ex.setDirPath(lastExportDir.absolutePath());
+        ex.execDialog();
+    }
+
+    if (!ex.canceled()) {
+        setExportMode(true);
+        ex.doExport();
+        setExportMode(false);
+    }
+}
+
+void VymModel::exportCSV(const QString &fname, bool askName)
+{
+    ExportCSV ex;
+    ex.setModel(this);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (fname == "")
+        ex.setFilePath(mapName + ".csv");
+    else
+        ex.setFilePath(fname);
+
+    if (askName) {
+        ex.addFilter("CSV (*.csv);;All (* *.*)");
+        ex.setDirPath(lastExportDir.absolutePath());
+        ex.setWindowTitle(vymName + " -" + tr("Export as csv") + " " +
+                          tr("(still experimental)"));
+        ex.execDialog();
+    }
+
+    if (!ex.canceled()) {
+        setExportMode(true);
+        ex.doExport();
+        setExportMode(false);
+    }
+}
+
+void VymModel::exportFirefoxBookmarks(const QString &fname, bool askName)
+{
+    ExportFirefox ex;
+    ex.setModel(this);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (fname == "")
+        ex.setFilePath(mapName + ".csv");
+    else
+        ex.setFilePath(fname);
+
+    if (askName) {
+        ex.addFilter("JSON (*.json);;All (* *.*)");
+        ex.setDirPath(lastExportDir.absolutePath());
+        ex.setWindowTitle(vymName + " -" + tr("Export as csv") + " " +
+                          tr("(still experimental)"));
+        ex.execDialog();
+    }
+
+    if (!ex.canceled()) {
+        setExportMode(true);
+        ex.doExport();
+        setExportMode(false);
+    }
+}
+
+void VymModel::exportHTML(const QString &fpath, const QString &dpath,
+                          bool useDialog)
+{
+    ExportHTML ex(this);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (!dpath.isEmpty())
+        ex.setDirPath(dpath);
+    if (!fpath.isEmpty())
+        ex.setFilePath(fpath);
+
+    ex.doExport(useDialog);
+}
+
+void VymModel::exportConfluence(bool createPage, const QString &pageURL,
+                                const QString &pageName, bool useDialog)
+{
+    ExportConfluence ex(this);
+    ex.setCreateNewPage(createPage);
+    ex.setURL(pageURL);
+    ex.setPageName(pageName);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    ex.doExport(useDialog);
+}
+
+void VymModel::exportImpress(const QString &fn, const QString &cf)
+{
+    ExportOO ex;
+    ex.setFilePath(fn);
+    ex.setModel(this);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (ex.setConfigFile(cf)) {
+        QString lastCommand =
+            settings.localValue(filePath, "/export/last/command", "")
+                .toString();
+
+        setExportMode(true);
+        ex.exportPresentation();
+        setExportMode(false);
+
+        QString command =
+            settings.localValue(filePath, "/export/last/command", "")
+                .toString();
+        if (lastCommand != command)
+            setChanged();
+    }
+}
+
+bool VymModel::exportLastAvailable(QString &description, QString &command,
+                                   QString &dest)
+{
+    command =
+        settings.localValue(filePath, "/export/last/command", "").toString();
+
+    description = settings.localValue(filePath, "/export/last/description", "")
+                      .toString();
+    dest = settings.localValue(filePath, "/export/last/displayedDestination", "")
+               .toString();
+    if (!command.isEmpty() && command.contains("exportMap"))
+        return true;
+    else
+        return false;
+}
+
+void VymModel::exportLast()
+{
+    QString desc, command,
+        dest; // FIXME-3 better integrate configFile into command
+    if (exportLastAvailable(desc, command, dest)) {
+        //qDebug() << "VM::exportLast: " << command;
+        execute(command);
+    }
+}
+
+void VymModel::exportLaTeX(const QString &fname, bool askName)
+{
+    ExportLaTeX ex;
+    ex.setModel(this);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (fname == "")
+        ex.setFilePath(mapName + ".tex");
+    else
+        ex.setFilePath(fname);
+
+    if (askName)
+        ex.execDialog();
+    if (!ex.canceled()) {
+        setExportMode(true);
+        ex.doExport();
+        setExportMode(false);
+    }
+}
+
+void VymModel::exportOrgMode(const QString &fname, bool askName)
+{
+    ExportOrgMode ex;
+    ex.setModel(this);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (fname == "")
+        ex.setFilePath(mapName + ".org");
+    else
+        ex.setFilePath(fname);
+
+    if (askName) {
+        ex.setDirPath(lastExportDir.absolutePath());
+        ex.execDialog();
+    }
+
+    if (!ex.canceled()) {
+        setExportMode(true);
+        ex.doExport();
+        setExportMode(false);
+    }
+}
+
+void VymModel::exportMarkdown(const QString &fname, bool askName)
+{
+    ExportMarkdown ex;
+    ex.setModel(this);
+    ex.setLastCommand(
+        settings.localValue(filePath, "/export/last/command", "").toString());
+
+    if (fname == "")
+        ex.setFilePath(mapName + ".md");
+    else
+        ex.setFilePath(fname);
+
+    if (askName) {
+        ex.setDirPath(lastExportDir.absolutePath());
+        ex.execDialog();
+    }
+
+    if (!ex.canceled()) {
+        setExportMode(true);
+        ex.doExport();
+        setExportMode(false);
+    }
+}
+//////////////////////////////////////////////
+// View related
+//////////////////////////////////////////////
+
+void VymModel::registerMapEditor(QWidget *e) { mapEditor = (MapEditor *)e; }
+
+void VymModel::setMapZoomFactor(const double &d)
+{
+    zoomFactor = d;
+    mapEditor->setZoomFactorTarget(d);
+}
+
+void VymModel::setMapRotationAngle(const double &d)
+{
+    rotationAngle = d;
+    mapEditor->setAngleTarget(d);
+}
+
+void VymModel::setMapAnimDuration(const int &d) { animDuration = d; }
+
+void VymModel::setMapAnimCurve(const QEasingCurve &c) { animCurve = c; }
+
+bool VymModel::centerOnID(const QString &id)
+{
+    TreeItem *ti = findUuid(QUuid(id));
+    if (ti) {
+        LinkableMapObj *lmo = ((MapItem *)ti)->getLMO();
+        if (zoomFactor > 0 && lmo) {
+            mapEditor->setViewCenterTarget(lmo->getBBox().center(), zoomFactor,
+                                           rotationAngle, animDuration,
+                                           animCurve);
+            return true;
+        }
+    }
+    return false;
+}
+
+void VymModel::setContextPos(QPointF p)
+{
+    contextPos = p;
+    hasContextPos = true;
+}
+
+void VymModel::unsetContextPos()
+{
+    contextPos = QPointF();
+    hasContextPos = false;
+}
+
+void VymModel::reposition()
+{
+    if (repositionBlocked)
+        return;
+
+    BranchObj *bo;
+    for (int i = 0; i < rootItem->branchCount(); i++) {
+        bo = rootItem->getBranchObjNum(i);
+        if (bo)
+            bo->reposition(); //  for positioning heading
+        else
+            qDebug() << "VM::reposition bo=0";
+    }
+    mapEditor->getTotalBBox();
+
+    // required to *reposition* the selection box. size is already correct:
+    emitSelectionChanged(); //FIXME-2 better only update selection geometry
+}
+
+bool VymModel::setMapLinkStyle(const QString &s)
+{
+    QString snow;
+    switch (linkstyle) {
+    case LinkableMapObj::Line:
+        snow = "StyleLine";
+        break;
+    case LinkableMapObj::Parabel:
+        snow = "StyleParabel";
+        break;
+    case LinkableMapObj::PolyLine:
+        snow = "StylePolyLine";
+        break;
+    case LinkableMapObj::PolyParabel:
+        snow = "StylePolyParabel";
+        break;
+    default:
+        return false;
+        break;
+    }
+
+    saveState(QString("setMapLinkStyle (\"%1\")").arg(s),
+              QString("setMapLinkStyle (\"%1\")").arg(snow),
+              QString("Set map link style (\"%1\")").arg(s));
+
+    if (s == "StyleLine")
+        linkstyle = LinkableMapObj::Line;
+    else if (s == "StyleParabel")
+        linkstyle = LinkableMapObj::Parabel;
+    else if (s == "StylePolyLine")
+        linkstyle = LinkableMapObj::PolyLine;
+    else if (s == "StylePolyParabel")
+        linkstyle = LinkableMapObj::PolyParabel;
+    else
+        linkstyle = LinkableMapObj::UndefinedStyle;
+
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    BranchObj *bo;
+    nextBranch(cur, prev);
+    while (cur) {
+        bo = (BranchObj *)(cur->getLMO());
+        bo->setLinkStyle(bo->getDefLinkStyle(
+            cur->parent())); // FIXME-4 better emit dataCHanged and leave the
+                             // changes to View
+        nextBranch(cur, prev);
+    }
+    reposition();
+    return true;
+}
+
+LinkableMapObj::Style VymModel::getMapLinkStyle() { return linkstyle; }
+
+uint VymModel::getModelID() { return modelID; }
+
+void VymModel::setView(VymView *vv) { vymView = vv; }
+
+void VymModel::setMapDefLinkColor(QColor col)
+{
+    if (!col.isValid())
+        return;
+    saveState(
+        QString("setMapDefLinkColor (\"%1\")").arg(getMapDefLinkColor().name()),
+        QString("setMapDefLinkColor (\"%1\")").arg(col.name()),
+        QString("Set map link color to %1").arg(col.name()));
+
+    defLinkColor = col;
+
+    // Set color for "link arrows" in TreeEditor
+    vymView->setLinkColor(col);
+
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    BranchObj *bo;
+    nextBranch(cur, prev);
+    while (cur) {
+        bo = (BranchObj *)(cur->getLMO());
+        bo->setLinkColor();
+
+        for (int i = 0; i < cur->imageCount(); ++i)
+            cur->getImageNum(i)->getLMO()->setLinkColor();
+
+        nextBranch(cur, prev);
+    }
+    updateActions();
+}
+
+void VymModel::setMapLinkColorHintInt()
+{
+    // called from setMapLinkColorHint(lch) or at end of parse
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    BranchObj *bo;
+    nextBranch(cur, prev);
+    while (cur) {
+        bo = (BranchObj *)(cur->getLMO());
+        bo->setLinkColor();
+
+        for (int i = 0; i < cur->imageCount(); ++i)
+            cur->getImageNum(i)->getLMO()->setLinkColor();
+
+        nextBranch(cur, prev);
+    }
+}
+
+void VymModel::setMapLinkColorHint(LinkableMapObj::ColorHint lch)
+{
+    linkcolorhint = lch;
+    setMapLinkColorHintInt();
+}
+
+void VymModel::toggleMapLinkColorHint()
+{
+    if (linkcolorhint == LinkableMapObj::HeadingColor)
+        linkcolorhint = LinkableMapObj::DefaultColor;
+    else
+        linkcolorhint = LinkableMapObj::HeadingColor;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    BranchObj *bo;
+    nextBranch(cur, prev);
+    while (cur) {
+        bo = (BranchObj *)(cur->getLMO());
+        bo->setLinkColor();
+
+        for (int i = 0; i < cur->imageCount(); ++i)
+            cur->getImageNum(i)->getLMO()->setLinkColor();
+
+        nextBranch(cur, prev);
+    }
+}
+
+void VymModel::
+    selectMapBackgroundImage() // FIXME-3 for using background image:
+                               // view.setCacheMode(QGraphicsView::CacheBackground);
+                               // Also this belongs into ME
+{
+    QStringList filters;
+    filters << tr("Images") +
+                   " (*.png *.bmp *.xbm *.jpg *.png *.xpm *.gif *.pnm)";
+    QFileDialog fd;
+    fd.setFileMode(QFileDialog::ExistingFile);
+    fd.setWindowTitle(vymName + " - " + tr("Load background image"));
+    fd.setDirectory(lastImageDir);
+    fd.setAcceptMode(QFileDialog::AcceptOpen);
+
+    if (fd.exec() == QDialog::Accepted && !fd.selectedFiles().isEmpty()) {
+        // TODO selectMapBackgroundImg in QT4 use:  lastImageDir=fd.directory();
+        lastImageDir = QDir(fd.directory().path());
+        setMapBackgroundImage(fd.selectedFiles().first());
+    }
+}
+
+void VymModel::setMapBackgroundImage(
+    const QString &fn) // FIXME-3 missing savestate, move to ME
+{
+    /*
+    QColor oldcol=mapEditor->getScene()->backgroundBrush().color();
+    saveState(
+    selection,
+    QString ("setMapBackgroundImage (%1)").arg(oldcol.name()),
+    selection,
+    QString ("setMapBackgroundImage (%1)").arg(col.name()),
+    QString("Set background color of map to %1").arg(col.name()));
+    */
+    QBrush brush;
+    brush.setTextureImage(QImage(fn));
+    mapEditor->getScene()->setBackgroundBrush(brush);
+}
+
+void VymModel::selectMapBackgroundColor()
+{
+    QColor col = QColorDialog::getColor(
+        mapEditor->getScene()->backgroundBrush().color(), NULL);
+    if (!col.isValid())
+        return;
+    setMapBackgroundColor(col);
+}
+
+void VymModel::setMapBackgroundColor(QColor col)
+{
+    QColor oldcol = mapEditor->getScene()->backgroundBrush().color();
+    saveState(QString("setMapBackgroundColor (\"%1\")").arg(oldcol.name()),
+              QString("setMapBackgroundColor (\"%1\")").arg(col.name()),
+              QString("Set background color of map to %1").arg(col.name()));
+    backgroundColor = col;  // Used for backroundRole in TreeModel::data()
+    vymView->setBackgroundColor(backgroundColor);
+}
+
+QColor VymModel::getMapBackgroundColor() // FIXME-4 move to ME
+{
+    return mapEditor->getScene()->backgroundBrush().color();
+}
+
+QFont VymModel::getMapDefaultFont() { return defaultFont; }
+
+void VymModel::setMapDefaultFont(const QFont &f) { defaultFont = f; }
+
+LinkableMapObj::ColorHint VymModel::getMapLinkColorHint() // FIXME-4 move to ME
+{
+    return linkcolorhint;
+}
+
+QColor VymModel::getMapDefLinkColor() // FIXME-4 move to ME
+{
+    return defLinkColor;
+}
+
+void VymModel::setMapDefXLinkPen(const QPen &p) // FIXME-4 move to ME
+{
+    defXLinkPen = p;
+}
+
+QPen VymModel::getMapDefXLinkPen() // FIXME-4 move to ME
+{
+    return defXLinkPen;
+}
+
+void VymModel::setMapDefXLinkStyleBegin(const QString &s)
+{
+    defXLinkStyleBegin = s;
+}
+
+QString VymModel::getMapDefXLinkStyleBegin() { return defXLinkStyleBegin; }
+
+void VymModel::setMapDefXLinkStyleEnd(const QString &s)
+{
+    defXLinkStyleEnd = s;
+}
+
+QString VymModel::getMapDefXLinkStyleEnd() { return defXLinkStyleEnd; }
+
+void VymModel::move(const double &x, const double &y)
+{
+    MapItem *seli = (MapItem *)getSelectedItem();
+    if (seli &&
+        (seli->isBranchLikeType() || seli->getType() == TreeItem::Image)) {
+        LinkableMapObj *lmo = seli->getLMO();
+        if (lmo) {
+            QPointF ap(lmo->getAbsPos());
+            QPointF to(x, y);
+            if (ap != to) {
+                QString ps = qpointFToString(ap);
+                QString s = getSelectString(seli);
+                saveState(
+                    s, "move " + ps, s, "move " + qpointFToString(to),
+                    QString("Move %1 to %2").arg(getObjectName(seli)).arg(ps));
+                lmo->move(x, y);
+                reposition();
+                emitSelectionChanged();
+            }
+        }
+    }
+}
+
+void VymModel::moveRel(const double &x, const double &y)
+{
+    MapItem *seli = (MapItem *)getSelectedItem();
+    if (seli &&
+        (seli->isBranchLikeType() || seli->getType() == TreeItem::Image)) {
+        LinkableMapObj *lmo = seli->getLMO();
+        if (lmo) {
+            QPointF rp(lmo->getRelPos());
+            QPointF to(x, y);
+            if (rp != to) {
+                QString ps = qpointFToString(lmo->getRelPos());
+                QString s = getSelectString(seli);
+                saveState(s, "moveRel " + ps, s,
+                          "moveRel " + qpointFToString(to),
+                          QString("Move %1 to relative position %2")
+                              .arg(getObjectName(seli))
+                              .arg(ps));
+                ((OrnamentedObj *)lmo)->move2RelPos(x, y);
+                reposition();
+                lmo->updateLinkGeometry();
+                emitSelectionChanged();
+            }
+        }
+    }
+}
+
+void VymModel::animate()
+{
+    animationTimer->stop();
+    BranchObj *bo;
+    int i = 0;
+    while (i < animObjList.size()) {
+        bo = (BranchObj *)animObjList.at(i);
+        if (!bo->animate()) {
+            if (i >= 0) {
+                animObjList.removeAt(i);
+                i--;
+            }
+        }
+        bo->reposition();
+        i++;
+    }
+    emitSelectionChanged();
+
+    if (!animObjList.isEmpty())
+        animationTimer->start(animationInterval);
+}
+
+void VymModel::startAnimation(BranchObj *bo, const QPointF &v)
+{
+    if (!bo)
+        return;
+
+    if (bo->getUseRelPos())
+        startAnimation(bo, bo->getRelPos(), bo->getRelPos() + v);
+    else
+        startAnimation(bo, bo->getAbsPos(), bo->getAbsPos() + v);
+}
+
+void VymModel::startAnimation(BranchObj *bo, const QPointF &start,
+                              const QPointF &dest)
+{
+    if (start == dest)
+        return;
+    if (bo && bo->getTreeItem()->depth() >= 0) {
+        AnimPoint ap;
+        ap.setStart(start);
+        ap.setDest(dest);
+        ap.setTicks(animationTicks);
+        ap.setAnimated(true);
+        bo->setAnimation(ap);
+        if (!animObjList.contains(bo))
+            animObjList.append(bo);
+        animationTimer->setSingleShot(true);
+        animationTimer->start(animationInterval);
+    }
+}
+
+void VymModel::stopAnimation(MapObj *mo)
+{
+    int i = animObjList.indexOf(mo);
+    if (i >= 0)
+        animObjList.removeAt(i);
+}
+
+void VymModel::stopAllAnimation()
+{
+    BranchObj *bo;
+    int i = 0;
+    while (i < animObjList.size()) {
+        bo = (BranchObj *)animObjList.at(i);
+        bo->stopAnimation();
+        bo->requestReposition();
+        i++;
+    }
+    reposition();
+}
+
+void VymModel::sendSelection()
+{
+    if (netstate != Server)
+        return;
+    sendData(QString("select (\"%1\")").arg(getSelectString()));
+}
+
+void VymModel::newServer()
+{
+    port = 54321;
+    sendCounter = 0;
+    tcpServer = new QTcpServer(this);
+    if (!tcpServer->listen(QHostAddress::Any, port)) {
+        QMessageBox::critical(NULL, "vym server",
+                              QString("Unable to start the server: %1.")
+                                  .arg(tcpServer->errorString()));
+        // FIXME-3 needed? we are no widget any longer... close();
+        return;
+    }
+    connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newClient()));
+    netstate = Server;
+    qDebug() << "Server is running on port " << tcpServer->serverPort();
+}
+
+void VymModel::connectToServer()
+{
+    port = 54321;
+    server = "salam.suse.de";
+    server = "localhost";
+    clientSocket = new QTcpSocket(this);
+    clientSocket->abort();
+    clientSocket->connectToHost(server, port);
+    connect(clientSocket, SIGNAL(readyRead()), this, SLOT(readData()));
+    connect(clientSocket, SIGNAL(error(QAbstractSocket::SocketError)), this,
+            SLOT(displayNetworkError(QAbstractSocket::SocketError)));
+    netstate = Client;
+    qDebug() << "connected to " << qPrintable(server) << " port " << port;
+}
+
+void VymModel::newClient()
+{
+    QTcpSocket *newClient = tcpServer->nextPendingConnection();
+    connect(newClient, SIGNAL(disconnected()), newClient, SLOT(deleteLater()));
+
+    qDebug() << "ME::newClient  at "
+             << qPrintable(newClient->peerAddress().toString());
+
+    clientList.append(newClient);
+}
+
+void VymModel::sendData(const QString &s)
+{
+    if (clientList.size() == 0)
+        return;
+
+    // Create bytearray to send
+    QByteArray block;
+    QDataStream out(&block, QIODevice::WriteOnly);
+    out.setVersion(QDataStream::Qt_4_0);
+
+    // Reserve some space for blocksize
+    out << (quint16)0;
+
+    // Write sendCounter
+    out << sendCounter++;
+
+    // Write data
+    out << s;
+
+    // Go back and write blocksize so far
+    out.device()->seek(0);
+    quint16 bs = (quint16)(block.size() - 2 * sizeof(quint16));
+    out << bs;
+
+    if (debug)
+        qDebug() << "ME::sendData  bs=" << bs << "  counter=" << sendCounter
+                 << "  s=" << qPrintable(s);
+
+    for (int i = 0; i < clientList.size(); ++i) {
+        // qDebug() << "Sending \""<<qPrintable (s)<<"\" to "<<qPrintable
+        // (clientList.at(i)->peerAddress().toString());
+        clientList.at(i)->write(block);
+    }
+}
+
+void VymModel::readData()
+{
+    while (clientSocket->bytesAvailable() >= (int)sizeof(quint16)) {
+        if (debug)
+            qDebug() << "readData  bytesAvail="
+                     << clientSocket->bytesAvailable();
+        quint16 recCounter;
+        quint16 blockSize;
+
+        QDataStream in(clientSocket);
+        in.setVersion(QDataStream::Qt_4_0);
+
+        in >> blockSize;
+        in >> recCounter;
+
+        QString t;
+        in >> t;
+        if (debug)
+            qDebug() << "VymModel::readData  command=" << qPrintable(t);
+        // bool noErr;
+        // QString errMsg;
+        // parseAtom (t,noErr,errMsg);    //FIXME-4 needs rework using scripts
+    }
+    return;
+}
+
+void VymModel::displayNetworkError(QAbstractSocket::SocketError socketError)
+{
+    switch (socketError) {
+    case QAbstractSocket::RemoteHostClosedError:
+        break;
+    case QAbstractSocket::HostNotFoundError:
+        QMessageBox::information(NULL, vymName + " Network client",
+                                 "The host was not found. Please check the "
+                                 "host name and port settings.");
+        break;
+    case QAbstractSocket::ConnectionRefusedError:
+        QMessageBox::information(NULL, vymName + " Network client",
+                                 "The connection was refused by the peer. "
+                                 "Make sure the fortune server is running, "
+                                 "and check that the host name and port "
+                                 "settings are correct.");
+        break;
+    default:
+        QMessageBox::information(NULL, vymName + " Network client",
+                                 QString("The following error occurred: %1.")
+                                     .arg(clientSocket->errorString()));
+    }
+}
+
+void VymModel::downloadImage(const QUrl &url, BranchItem *bi)
+{
+    if (!bi)
+        bi = getSelectedBranch();
+    if (!bi) {
+        qWarning("VM::download bi==NULL");
+        return;
+    }
+
+    // FIXME-3 download img to tmpfile and delete after running script in
+    // mainWindow
+    QString script;
+    script += QString("m = vym.currentMap();m.selectID(\"%1\");")
+                  .arg(bi->getUuid().toString());
+    script += QString("m.loadImage(\"$TMPFILE\");");
+
+    DownloadAgent *agent = new DownloadAgent(url);
+    agent->setFinishedAction(this, script);
+    connect(agent, SIGNAL(downloadFinished()), mainWindow,
+            SLOT(downloadFinished()));
+    QTimer::singleShot(0, agent, SLOT(execute()));
+}
+
+void VymModel::selectMapSelectionColor()    // FIXME-2 move out of VymModel, consider Pen/Brush
+{
+    QColor col = QColorDialog::getColor(defLinkColor, NULL);
+    setSelectionPenColor(col);
+    setSelectionBrushColor(col);
+}
+
+void VymModel::emitSelectionChanged(const QItemSelection &newsel)
+{
+    emit(selectionChanged(newsel,
+                          newsel)); // needed e.g. to update geometry in editor
+    sendSelection();
+}
+
+void VymModel::emitSelectionChanged()
+{
+    QItemSelection newsel = selModel->selection();
+    emitSelectionChanged(newsel);
+}
+
+void VymModel::setSelectionPenColor(QColor col)
+{
+    if (!col.isValid())
+        return;
+
+    QPen selPen = mapEditor->getSelectionPen();
+    saveState(QString("setSelectionPenColor (\"%1\")")
+                  .arg(selPen.color().name()),
+              QString("setSelectionPenColor (\"%1\")").arg(col.name()),
+              QString("Set pen color of selection box to %1").arg(col.name()));
+
+    selPen.setColor(col);
+    mapEditor->setSelectionPen(selPen);
+}
+
+QColor VymModel::getSelectionPenColor() {
+    return mapEditor->getSelectionPen().color();
+}
+
+void VymModel::setSelectionPenWidth(qreal w)
+{
+    QPen selPen = mapEditor->getSelectionPen();
+    
+    saveState(QString("setSelectionPenWidth (\"%1\")")
+                  .arg(mapEditor->getSelectionPen().width()),
+              QString("setSelectionPenWidth (\"%1\")").arg(w),
+              QString("Set pen width of selection box to %1").arg(w));
+
+    selPen.setWidth(w);
+    mapEditor->setSelectionPen(selPen);
+    //vymView->setSelectionColor(col);
+}
+
+qreal VymModel::getSelectionPenWidth() {
+    return mapEditor->getSelectionPen().width();
+}
+
+void VymModel::setSelectionBrushColor(QColor col)
+{
+    if (!col.isValid())
+        return;
+
+    QBrush selBrush = mapEditor->getSelectionBrush();
+    saveState(QString("setSelectionBrushColor (\"%1\")")
+                  .arg(selBrush.color().name()),
+              QString("setSelectionBrushColor (\"%1\")").arg(col.name()),
+              QString("Set Brush color of selection box to %1").arg(col.name()));
+
+    selBrush.setColor(col);
+    vymView->setSelectionBrush(selBrush);
+}
+
+QColor VymModel::getSelectionBrushColor() {
+    return mapEditor->getSelectionBrush().color();
+}
+
+bool VymModel::initIterator(const QString &iname, bool deepLevelsFirst)
+{
+    Q_UNUSED(deepLevelsFirst);
+
+    // Remove existing iterators first
+    selIterCur.remove(iname);
+    selIterPrev.remove(iname);
+    selIterStart.remove(iname);
+    selIterActive.remove(iname);
+
+    QList<BranchItem *> selbis;
+    selbis = getSelectedBranches();
+    if (selbis.count() == 1) {
+        BranchItem *prev = NULL;
+        BranchItem *cur = NULL;
+        nextBranch(cur, prev, false, selbis.first());
+        if (cur) {
+            selIterCur.insert(iname, cur->getUuid());
+            selIterPrev.insert(iname, prev->getUuid());
+            selIterStart.insert(iname, selbis.first()->getUuid());
+            selIterActive.insert(iname, false);
+            // qDebug() << "Created iterator " << iname;
+            return true;
+        }
+    }
+    return false;
+}
+
+bool VymModel::nextIterator(const QString &iname)
+{
+    if (selIterCur.keys().indexOf(iname) < 0) {
+        qWarning()
+            << QString("VM::nextIterator couldn't find %1 in hash of iterators")
+                   .arg(iname);
+        return false;
+    }
+
+    BranchItem *cur = (BranchItem *)(findUuid(selIterCur.value(iname)));
+    if (!cur) {
+        qWarning() << "VM::nextIterator couldn't find cur" << selIterCur;
+        return false;
+    }
+
+    qDebug() << "  " << iname << "selecting " << cur->getHeadingPlain();
+    select(cur);
+
+    if (!selIterActive.value(iname)) {
+        // Select for the first time
+        select(cur);
+        selIterActive[iname] = true;
+        return true;
+    }
+
+    BranchItem *prev = (BranchItem *)(findUuid(selIterPrev.value(iname)));
+    BranchItem *start = (BranchItem *)(findUuid(selIterStart.value(iname)));
+    if (!prev)
+        qWarning() << "VM::nextIterator couldn't find prev"
+                   << selIterPrev.value(iname);
+    if (!start)
+        qWarning() << "VM::nextIterator couldn't find start "
+                   << selIterStart.value(iname);
+
+    if (cur && prev && start) {
+        nextBranch(cur, prev, false, start);
+        if (cur) {
+            selIterCur[iname] = cur->getUuid();
+            selIterPrev[iname] = prev->getUuid();
+            select(cur);
+            return true;
+        }
+        else
+            return false;
+    }
+    return false;
+}
+
+void VymModel::setHideTmpMode(TreeItem::HideTmpMode mode)
+{
+    hidemode = mode;
+    for (int i = 0; i < rootItem->branchCount(); i++)
+        rootItem->getBranchNum(i)->setHideTmp(mode);
+    reposition();
+    if (mode == TreeItem::HideExport)
+        unselectAll();
+    else
+        reselect();
+
+    qApp->processEvents();
+}
+
+//////////////////////////////////////////////
+// Selection related
+//////////////////////////////////////////////
+
+void VymModel::updateSelection(QItemSelection newsel, QItemSelection dsel)
+{
+    QModelIndex ix;
+    MapItem *mi;
+    BranchItem *bi;
+    bool do_reposition = false;
+    foreach (ix, dsel.indexes()) {
+        mi = static_cast<MapItem *>(ix.internalPointer());
+        if (mi->isBranchLikeType())
+            do_reposition =
+                do_reposition || ((BranchItem *)mi)->resetTmpUnscroll();
+        if (mi->getType() == TreeItem::XLink) {
+            Link *li = ((XLinkItem *)mi)->getLink();
+            XLinkObj *xlo = li->getXLinkObj();
+            if (xlo)
+                xlo->setSelection(XLinkObj::Unselected);
+
+            do_reposition =
+                do_reposition || li->getBeginBranch()->resetTmpUnscroll();
+            do_reposition =
+                do_reposition || li->getEndBranch()->resetTmpUnscroll();
+        }
+    }
+
+    foreach (ix, newsel.indexes()) {
+        mi = static_cast<MapItem *>(ix.internalPointer());
+        if (mi->isBranchLikeType()) {
+            bi = (BranchItem *)mi;
+            if (bi->hasScrolledParent()) {
+                bi->tmpUnscroll();
+                do_reposition = true;
+            }
+        }
+        if (mi->getType() == TreeItem::XLink) {
+            ((XLinkItem *)mi)->setSelection();
+
+            // begin/end branches need to be tmp unscrolled
+            Link *li = ((XLinkItem *)mi)->getLink();
+            bi = li->getBeginBranch();
+            if (bi->hasScrolledParent()) {
+                bi->tmpUnscroll();
+                do_reposition = true;
+            }
+            bi = li->getEndBranch();
+            if (bi->hasScrolledParent()) {
+                bi->tmpUnscroll();
+                do_reposition = true;
+            }
+        }
+    }
+    if (do_reposition)
+        reposition();
+}
+
+void VymModel::setSelectionModel(QItemSelectionModel *sm) { selModel = sm; }
+
+QItemSelectionModel *VymModel::getSelectionModel() { return selModel; }
+
+void VymModel::setSelectionBlocked(bool b) { selectionBlocked = b; }
+
+bool VymModel::isSelectionBlocked() { return selectionBlocked; }
+
+bool VymModel::select(const QString &s) // FIXME-2 Does not support multiple selections yet
+{
+    if (s.isEmpty())
+        return false;
+    TreeItem *ti = findBySelectString(s);
+    if (ti)
+        return select(index(ti));
+    return false;
+}
+
+bool VymModel::selectID(const QString &s)
+{
+    if (s.isEmpty())
+        return false;
+    TreeItem *ti = findUuid(QUuid(s));
+    if (ti)
+        return select(index(ti));
+    return false;
+}
+
+bool VymModel::select(LinkableMapObj *lmo)
+{
+    QItemSelection oldsel = selModel->selection();
+
+    if (lmo)
+        return select(lmo->getTreeItem());
+    else
+        return false;
+}
+
+bool VymModel::selectToggle(TreeItem *ti)
+{
+    if (ti) {
+        selModel->select(index(ti), QItemSelectionModel::Toggle);
+        // appendSelectionToHistory(); // FIXME-4 selection history not implemented yet
+        // for multiselections
+        lastToggledUuid = ti->getUuid();
+        return true;
+    }
+    return false;
+}
+
+bool VymModel::selectToggle(const QString &selectString)
+{
+    TreeItem *ti = findBySelectString(selectString);
+    return selectToggle(ti);
+}
+
+bool VymModel::select(TreeItem *ti)
+{
+    if (ti)
+        return select(index(ti));
+    else
+        return false;
+}
+
+bool VymModel::select(const QModelIndex &index)
+{
+    if (index.isValid()) {
+        TreeItem *ti = getItem(index);
+        if (ti->isBranchLikeType()) {
+            if (((BranchItem *)ti)->tmpUnscroll())
+                reposition();
+        }
+        selModel->select(index, QItemSelectionModel::ClearAndSelect);
+        appendSelectionToHistory();
+        return true;
+    }
+    return false;
+}
+
+void VymModel::unselectAll() { unselect(selModel->selection()); }
+
+void VymModel::unselect(QItemSelection desel)
+{
+    if (!desel.isEmpty()) {
+        lastSelectString = getSelectString();
+        selModel->clearSelection();
+    }
+}
+
+bool VymModel::reselect()
+{
+    bool b = select(lastSelectString);
+    return b;
+}
+
+bool VymModel::canSelectPrevious()
+{
+    if (currentSelection > 0)
+        return true;
+    else
+        return false;
+}
+
+bool VymModel::selectPrevious()
+{
+    keepSelectionHistory = true;
+    bool result = false;
+    while (currentSelection > 0) {
+        currentSelection--;
+        TreeItem *ti = findID(selectionHistory.at(currentSelection));
+        if (ti) {
+            result = select(ti);
+            break;
+        }
+        else
+            selectionHistory.removeAt(currentSelection);
+    }
+    keepSelectionHistory = false;
+    return result;
+}
+
+bool VymModel::canSelectNext()
+{
+    if (currentSelection < selectionHistory.count() - 1)
+        return true;
+    else
+        return false;
+}
+
+bool VymModel::selectNext()
+{
+    keepSelectionHistory = true;
+    bool result = false;
+    while (currentSelection < selectionHistory.count() - 1) {
+        currentSelection++;
+        TreeItem *ti = findID(selectionHistory.at(currentSelection));
+        if (ti) {
+            result = select(ti);
+            break;
+        }
+        else
+            selectionHistory.removeAt(currentSelection);
+    }
+    keepSelectionHistory = false;
+    return result;
+}
+
+void VymModel::resetSelectionHistory()
+{
+    selectionHistory.clear();
+    currentSelection = -1;
+    keepSelectionHistory = false;
+    appendSelectionToHistory();
+}
+
+void VymModel::appendSelectionToHistory() // FIXME-4 history unable to cope with multiple
+                                          // selections
+{
+    uint id = 0;
+    TreeItem *ti = getSelectedItem();
+    if (ti && !keepSelectionHistory) {
+        if (ti->isBranchLikeType())
+            ((BranchItem *)ti)->setLastSelectedBranch();
+        id = ti->getID();
+        selectionHistory.append(id);
+        currentSelection = selectionHistory.count() - 1;
+        updateActions();
+    }
+}
+
+void VymModel::emitShowSelection(bool scaled)
+{
+    if (!repositionBlocked)
+        emit(showSelection(scaled));
+}
+
+TreeItem* VymModel::lastToggledItem()
+{
+    return findUuid(lastToggledUuid);
+}
+
+void VymModel::emitNoteChanged(TreeItem *ti)
+{
+    QModelIndex ix = index(ti);
+    emit(noteChanged(ix));
+    mainWindow->updateNoteEditor(ti);
+}
+
+void VymModel::emitDataChanged(TreeItem *ti)
+{
+    QModelIndex ix = index(ti);
+    emit(dataChanged(ix, ix));
+    emitSelectionChanged();
+    if (!repositionBlocked) {
+        // Update taskmodel and recalc priorities there
+        if (ti->isBranchLikeType() && ((BranchItem *)ti)->getTask()) {
+            taskModel->emitDataChanged(((BranchItem *)ti)->getTask());
+            taskModel->recalcPriorities();
+        }
+    }
+}
+
+void VymModel::emitUpdateQueries()
+{
+    // Used to tell MainWindow to update query results
+    if (repositionBlocked)
+        return;
+    emit(updateQueries(this));
+}
+void VymModel::emitUpdateLayout()
+{
+    if (settings.value("/mainwindow/autoLayout/use", "true") == "true")
+        emit(updateLayout());
+}
+
+bool VymModel::selectFirstBranch()
+{
+    TreeItem *ti = getSelectedBranch();
+    if (ti) {
+        TreeItem *par = ti->parent();
+        if (par) {
+            TreeItem *ti2 = par->getFirstBranch();
+            if (ti2)
+                return select(ti2);
+        }
+    }
+    return false;
+}
+
+bool VymModel::selectFirstChildBranch()
+{
+    TreeItem *ti = getSelectedBranch();
+    if (ti) {
+        BranchItem *bi = ti->getFirstBranch();
+        if (bi)
+            return select(bi);
+    }
+    return false;
+}
+
+bool VymModel::selectLastBranch()
+{
+    TreeItem *ti = getSelectedBranch();
+    if (ti) {
+        TreeItem *par = ti->parent();
+        if (par) {
+            TreeItem *ti2 = par->getLastBranch();
+            if (ti2)
+                return select(ti2);
+        }
+    }
+    return false;
+}
+
+bool VymModel::selectLastChildBranch()
+{
+    TreeItem *ti = getSelectedBranch();
+    if (ti) {
+        BranchItem *bi = ti->getLastBranch();
+        if (bi)
+            return select(bi);
+    }
+    return false;
+}
+
+bool VymModel::selectLastSelectedBranch()
+{
+    BranchItem *bi = getSelectedBranch();
+    if (bi) {
+        bi = bi->getLastSelectedBranch();
+        if (bi)
+            return select(bi);
+    }
+    return false;
+}
+
+bool VymModel::selectLastImage()
+{
+    TreeItem *ti = getSelectedBranch();
+    if (ti) {
+        TreeItem *par = ti->parent();
+        if (par) {
+            TreeItem *ti2 = par->getLastImage();
+            if (ti2)
+                return select(ti2);
+        }
+    }
+    return false;
+}
+
+bool VymModel::selectLatestAdded() { return select(latestAddedItem); }
+
+bool VymModel::selectParent()
+{
+    TreeItem *ti = getSelectedItem();
+    TreeItem *par;
+    if (ti) {
+        par = ti->parent();
+        if (par)
+            return select(par);
+    }
+    return false;
+}
+
+TreeItem::Type VymModel::selectionType()
+{
+    TreeItem *ti = getSelectedItem();
+    if (ti)
+        return ti->getType();
+    else
+        return TreeItem::Undefined;
+}
+
+LinkableMapObj *VymModel::getSelectedLMO()
+{
+    QModelIndexList list = selModel->selectedIndexes();
+    if (list.count() == 1) {
+        TreeItem *ti = getItem(list.first());
+        TreeItem::Type type = ti->getType();
+        if (type == TreeItem::Branch || type == TreeItem::MapCenter ||
+            type == TreeItem::Image)
+            return ((MapItem *)ti)->getLMO();
+    }
+    return NULL;
+}
+
+BranchObj *VymModel::getSelectedBranchObj() // convenience function
+{
+    TreeItem *ti = getSelectedBranch();
+    if (ti)
+        return (BranchObj *)(((MapItem *)ti)->getLMO());
+    else
+        return NULL;
+}
+
+BranchItem *VymModel::getSelectedBranch()
+{
+    TreeItem *ti = getSelectedItem();
+    if (ti) {
+        TreeItem::Type type = ti->getType();
+        if (type == TreeItem::Branch || type == TreeItem::MapCenter)
+            return (BranchItem *)ti;
+    }
+    return NULL;
+}
+
+QList<BranchItem *> VymModel::getSelectedBranches()
+{
+    QList<BranchItem *> bis;
+    foreach (TreeItem *ti, getSelectedItems()) {
+        TreeItem::Type type = ti->getType();
+        if (type == TreeItem::Branch || type == TreeItem::MapCenter)
+            bis.append((BranchItem *)ti);
+    }
+    return bis;
+}
+
+ImageItem *VymModel::getSelectedImage()
+{
+    TreeItem *ti = getSelectedItem();
+    if (ti && ti->getType() == TreeItem::Image)
+        return (ImageItem *)ti;
+    else
+        return NULL;
+}
+
+Task *VymModel::getSelectedTask()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi)
+        return selbi->getTask();
+    else
+        return NULL;
+}
+
+Link *VymModel::getSelectedXLink()
+{
+    XLinkItem *xli = getSelectedXLinkItem();
+    if (xli)
+        return xli->getLink();
+    return NULL;
+}
+
+XLinkItem *VymModel::getSelectedXLinkItem()
+{
+    TreeItem *ti = getSelectedItem();
+    if (ti && ti->getType() == TreeItem::XLink)
+        return (XLinkItem *)ti;
+    else
+        return NULL;
+}
+
+AttributeItem *VymModel::getSelectedAttribute()
+{
+    TreeItem *ti = getSelectedItem();
+    if (ti && ti->getType() == TreeItem::Attribute)
+        return (AttributeItem *)ti;
+    else
+        return NULL;
+}
+
+TreeItem *VymModel::getSelectedItem()
+{
+    if (!selModel)
+        return NULL;
+    QModelIndexList list = selModel->selectedIndexes();
+    if (list.count() == 1)
+        return getItem(list.first());
+    else
+        return NULL;
+}
+
+QList<TreeItem *> VymModel::getSelectedItems()
+{
+    QList<TreeItem *> l;
+    if (!selModel)
+        return l;
+    QModelIndexList list = selModel->selectedIndexes();
+    foreach (QModelIndex ix, list)
+        l.append(getItem(ix));
+    return l;
+}
+
+QModelIndex VymModel::getSelectedIndex()
+{
+    QModelIndexList list = selModel->selectedIndexes();
+    if (list.count() == 1)
+        return list.first();
+    else
+        return QModelIndex();
+}
+
+QList<uint> VymModel::getSelectedIDs()
+{
+    QList<uint> uids;
+    foreach (TreeItem *ti, getSelectedItems())
+        uids.append(ti->getID());
+    return uids;
+}
+
+QStringList VymModel::getSelectedUUIDs()
+{
+    QStringList uids;
+    foreach (TreeItem *ti, getSelectedItems())
+        uids.append(ti->getUuid().toString());
+    return uids;
+}
+
+bool VymModel::isSelected(TreeItem *ti)
+{
+    return getSelectedItems().contains(ti);
+}
+
+QString VymModel::getSelectString()
+{
+    return getSelectString(getSelectedItem());
+}
+
+QString VymModel::getSelectString(
+    LinkableMapObj *lmo) // only for convenience. Used in MapEditor
+{
+    if (!lmo)
+        return QString();
+    return getSelectString(lmo->getTreeItem());
+}
+
+QString VymModel::getSelectString(TreeItem *ti)
+{
+    QString s;
+    if (!ti || ti->depth() < 0)
+        return s;
+    switch (ti->getType()) {
+    case TreeItem::MapCenter:
+        s = "mc:";
+        break;
+    case TreeItem::Branch:
+        s = "bo:";
+        break;
+    case TreeItem::Image:
+        s = "fi:";
+        break;
+    case TreeItem::Attribute:
+        s = "ai:";
+        break;
+    case TreeItem::XLink:
+        s = "xl:";
+        break;
+    default:
+        s = "unknown type in VymModel::getSelectString()";
+        break;
+    }
+    s = s + QString("%1").arg(ti->num());
+    if (ti->depth() > 0)
+        // call myself recursively
+        s = getSelectString(ti->parent()) + "," + s;
+    return s;
+}
+
+QString VymModel::getSelectString(BranchItem *bi)
+{
+    return getSelectString((TreeItem *)bi);
+}
+
+QString VymModel::getSelectString(const uint &i)
+{
+    return getSelectString(findID(i));
+}
+
+void VymModel::setLatestAddedItem(TreeItem *ti) { latestAddedItem = ti; }
+
+TreeItem *VymModel::getLatestAddedItem() { return latestAddedItem; }
+
+SlideModel *VymModel::getSlideModel() { return slideModel; }
+
+int VymModel::slideCount() { return slideModel->count(); }
+
+SlideItem *VymModel::addSlide()
+{
+    SlideItem *si = slideModel->getSelectedItem();
+    if (si)
+        si = slideModel->addSlide(NULL, si->childNumber() + 1);
+    else
+        si = slideModel->addSlide();
+
+    TreeItem *seli = getSelectedItem();
+
+    if (si && seli) {
+        QString inScript;
+        if (!loadStringFromDisk(vymBaseDir.path() +
+                                    "/macros/slideeditor-snapshot.vys",
+                                inScript)) {
+            qWarning() << "VymModel::addSlide couldn't load template for "
+                          "taking snapshot";
+            return NULL;
+        }
+
+        inScript.replace(
+            "CURRENT_ZOOM",
+            QString().setNum(getMapEditor()->getZoomFactorTarget()));
+        inScript.replace("CURRENT_ANGLE",
+                         QString().setNum(getMapEditor()->getAngleTarget()));
+        inScript.replace("CURRENT_ID",
+                         "\"" + seli->getUuid().toString() + "\"");
+
+        si->setInScript(inScript);
+        slideModel->setData(slideModel->index(si), seli->getHeadingPlain());
+    }
+    QString s = "<vymmap>" + si->saveToDir() + "</vymmap>";
+    int pos = si->childNumber();
+    saveState(PartOfMap, getSelectString(),
+              QString("removeSlide (%1)").arg(pos), getSelectString(),
+              QString("addMapInsert (\"PATH\",%1)").arg(pos), "Add slide", NULL,
+              s);
+    return si;
+}
+
+void VymModel::deleteSlide(SlideItem *si)
+{
+    if (si) {
+        QString s = "<vymmap>" + si->saveToDir() + "</vymmap>";
+        int pos = si->childNumber();
+        saveState(PartOfMap, getSelectString(),
+                  QString("addMapInsert (\"PATH\",%1)").arg(pos),
+                  getSelectString(), QString("removeSlide (%1)").arg(pos),
+                  "Remove slide", NULL, s);
+        slideModel->deleteSlide(si);
+    }
+}
+
+void VymModel::deleteSlide(int n) { deleteSlide(slideModel->getSlide(n)); }
+
+void VymModel::relinkSlide(SlideItem *si, int pos)
+{
+    if (si && pos >= 0)
+        slideModel->relinkSlide(si, si->parent(), pos);
+}
+
+bool VymModel::moveSlideDown(int n)
+{
+    SlideItem *si = NULL;
+    if (n < 0) // default if called without parameters
+    {
+        si = slideModel->getSelectedItem();
+        if (si)
+            n = si->childNumber();
+        else
+            return false;
+    }
+    else
+        si = slideModel->getSlide(n);
+    if (si && n >= 0 && n < slideModel->count() - 1) {
+        blockSlideSelection = true;
+        slideModel->relinkSlide(si, si->parent(), n + 1);
+        blockSlideSelection = false;
+        saveState(getSelectString(), QString("moveSlideUp (%1)").arg(n + 1),
+                  getSelectString(), QString("moveSlideDown (%1)").arg(n),
+                  QString("Move slide %1 down").arg(n));
+        return true;
+    }
+    else
+        return false;
+}
+
+bool VymModel::moveSlideUp(int n)
+{
+    SlideItem *si = NULL;
+    if (n < 0) // default if called without parameters
+    {
+        si = slideModel->getSelectedItem();
+        if (si)
+            n = si->childNumber();
+        else
+            return false;
+    }
+    else
+        si = slideModel->getSlide(n);
+    if (si && n > 0 && n < slideModel->count()) {
+        blockSlideSelection = true;
+        slideModel->relinkSlide(si, si->parent(), n - 1);
+        blockSlideSelection = false;
+        saveState(getSelectString(), QString("moveSlideDown (%1)").arg(n - 1),
+                  getSelectString(), QString("moveSlideUp (%1)").arg(n),
+                  QString("Move slide %1 up").arg(n));
+        return true;
+    }
+    else
+        return false;
+}
+
+void VymModel::updateSlideSelection(QItemSelection newsel, QItemSelection)
+{
+    if (blockSlideSelection)
+        return;
+    QModelIndex ix;
+    foreach (ix, newsel.indexes()) {
+        SlideItem *si = static_cast<SlideItem *>(ix.internalPointer());
+        QString inScript = si->getInScript();
+
+        // show inScript in ScriptEditor
+        scriptEditor->setSlideScript(modelID, si->getID(), inScript);
+
+        // Execute inScript
+        execute(inScript);
+    }
+}
diff --git a/src/vymmodel.h b/src/vymmodel.h
new file mode 100644 (file)
index 0000000..c6d05ef
--- /dev/null
@@ -0,0 +1,899 @@
+#ifndef VYMMODEL_H
+#define VYMMODEL_H
+
+#include <QtNetwork>
+
+#include <QPointF>
+#include <QTextCursor>
+
+#if defined(VYM_DBUS)
+#include "adaptormodel.h"
+#endif
+
+#include "branchitem.h"
+#include "file.h"
+#include "imageitem.h"
+#include "mapeditor.h"
+#include "treeitem.h"
+#include "treemodel.h"
+#include "vymlock.h"
+#include "vymmodelwrapper.h"
+
+class AttributeItem;
+class BranchItem;
+class FindResultModel;
+class Link;
+class MapEditor;
+class SlideItem;
+class SlideModel;
+class Task;
+class XLinkItem;
+class VymView;
+
+class QGraphicsScene;
+class QJsonObject;
+
+typedef QMap<uint, QStringList> ItemList;
+
+class VymModel : public TreeModel {
+    Q_OBJECT
+    Q_CLASSINFO("D-Bus Interface", "org.insilmaril.vym.VymModel-h")
+
+    ////////////////////////////////////////////
+    // General housekeeping
+    ////////////////////////////////////////////
+  private:
+    QString version; //!< version string saved in vym file
+    QString title;
+    QString author;
+    QString comment;
+    QDate date;
+
+    static uint idLast; //! the last used unique ID
+    uint modelID;
+    VymModelWrapper *wrapper;
+
+  public:
+    VymModel();
+    ~VymModel();
+    void clear();
+    void init();
+    void
+    makeTmpDirectories(); //!< create temporary directories e.g. for history
+    QString tmpDirPath(); //!< Return path to temporary directory
+
+    MapEditor *getMapEditor();
+    uint getModelID(); //! Return unique ID of model
+    VymModelWrapper *getWrapper();
+
+    void setView(VymView *); //! Set vymView for resizing editors after load
+  private:
+    VymView *vymView;
+
+  public:
+    bool isRepositionBlocked(); //!< While load or undo there is no need to
+                                //!< update graphicsview
+    void updateActions();       //!< Update buttons in mainwindow
+
+    bool setData(const QModelIndex &index, const QVariant &value, int role) override;
+
+    ////////////////////////////////////////////
+    // Load/save
+    ////////////////////////////////////////////
+  private:
+    bool zipped;       // should map be zipped
+    static int mapNum; // unique number for model used in save/undo
+    FileType fileType; // type of file, e.g. vym, freemind...
+    QString fileName;  // short name of file (for tab)
+                      // example.vym
+
+    QString filePath; // path to file which will be saved
+                      // /home/tux/example.vym
+
+    QString fileDir; // dir where file is saved
+                     // /home/tux/
+
+    QString destPath; // path to .vym file (needed for vymlinks)
+                      // /home/tux/example.vym
+
+    QString mapName; // fileName without ".vym"
+                     // example
+
+    QString tmpMapDirPath; // tmp directory with undo history
+
+    QTimer *autosaveTimer;
+    QTimer *fileChangedTimer;
+    QDateTime fileChangedTime;
+
+  public:
+    void resetUsedFlags(); //! Before exports or saving, reset the flags
+
+    /*! This function saves all information of the map to disc.
+    saveToDir also calls the functions for all BranchObj and other objects in
+    the map. The structure of the map itself is returned as QString and passed
+    back to Main, where saveToDir is called initially
+    */
+    QString saveToDir(const QString &tmpdir, const QString &prefix,
+                      FlagRowMaster::WriteMode flagMode, const QPointF &offset,
+                      TreeItem *saveSel);
+
+    /*! Save all data in tree*/
+    QString
+    saveTreeToDir(const QString &, const QString &, const QPointF &,
+                  QList<Link *> &tmpLinks); // Save data recursivly to tempdir
+
+    /*! \brief Sets filepath, filename and mapname
+
+     If the filepath is "/home/tux/map.xml", then the filename will be set
+     to map.xml. The destname is needed for vymLinks, pointing to another map.
+     The destname holds the real name of the file, after it has been compressed,
+     e.g. "map.vym"
+    */
+
+    /*! \brief Set File path
+
+     The destname is needed to construct the references between maps
+    */
+    void setFilePath(QString filepath, QString destname);
+    void setFilePath(QString); //!< Overloaded for convenience
+    QString getFilePath();     //!< Full path e.g. "/home/tux/map.xml"
+    QString getFileDir();      //!< e.g. "/home/tux"
+    QString getFileName();     //!< e.g. "map.xml"
+    QString getMapName();      //!< e.g. "map"
+    QString getDestPath();     //!< e.g. "/home/tux/map.vym"
+
+    bool parseVymText(const QString &s);
+
+    /*! \brief Load map
+
+    The data is read from file. Depending on LoadMode the current
+    selection gets replaced by data or the data is appended.
+    */
+    File::ErrorCode
+    loadMap(QString, //!< Path
+            const LoadMode &lmode =
+                NewMap, //!< New map, replace or add to selection
+            const FileType &ftype = VymMap, //!< VymMap or FreeMind
+            const int &contentFilter =
+                0x0000,  //!< For undo types of content can be filterd
+            int pos = -1 //!< Optionally tell position where to add data
+    );
+
+  public:
+    /*! \brief Save the map to file */
+    File::ErrorCode save(const SaveMode &);
+
+  public:
+    ImageItem* loadImage(BranchItem *dst = NULL, const QString &fn = "");
+    void saveImage(ImageItem *ii = NULL, QString fn = "");
+
+  private:
+    void importDirInt(BranchItem *, QDir);
+
+  public:
+    void importDir(const QString &);
+    void importDir();
+
+  private:
+    bool removeVymLock();
+
+  public:
+    bool tryVymLock();
+    bool renameMap(const QString &newPath); //! Rename map and change lockfile
+    void setReadOnly(bool b);
+    bool isReadOnly();
+
+  private:
+    VymLock vymLock; //! Handle lockfiles and related information
+    bool readonly;   //! if map is locked, it can be opened readonly
+
+  private slots:
+    void autosave();
+    void fileChanged();
+
+    ////////////////////////////////////////////
+    // history (undo/redo)
+    ////////////////////////////////////////////
+  private:
+    bool mapDefault; //!< Flag if map is untouched
+    bool mapChanged; //!< Flag if undo is possible
+    bool mapUnsaved; //!< Flag if map should be saved
+
+    QString histPath;       //!< Path to history file
+    SimpleSettings undoSet; //!< undo/redo commands, saved in histPath
+    int stepsTotal;         //!< total number of steps (undos+redos)
+    int curStep;            //!< Current step in history (ring buffer)
+    int curClipboard;       //!< number of history step, which is the current
+                            //!< clipboard
+    int redosAvail;         //!< Available number of redo steps
+    int undosAvail;         //!< Available number of undo steps
+    bool repositionBlocked; //!< block while load or undo
+    bool saveStateBlocked;  //!< block saving current state
+  public:
+    void blockReposition();   //! Block reposition while bigger changes, e.g. an import
+    void unblockReposition(); //! Unblock reposition and do repositon
+    bool isDefault();   //!< true, if map is still the empty default map
+    void makeDefault(); //!< Reset changelog, declare this as default map
+    bool hasChanged();  //!< true, if something has changed and is not saved yet
+    void setChanged();  //!< called from TextEditor via LinkableMapObj
+
+    /*! \brief Get name of object
+
+      Returns heading of a branch or name of an object for use in comment
+      of undo/redo history
+    */
+    QString getObjectName(LinkableMapObj *);
+    QString getObjectName(TreeItem *);
+
+    void redo();            //!< Redo last action
+    bool isRedoAvailable(); //!< True, if redo is available
+    QString lastRedoSelection();
+    QString lastRedoCommand();
+    QVariant repeatLastCommand(); //!< Repeat last command on current selection
+
+    void undo();               //!< Undo last action
+    bool isUndoAvailable();    //!< True, if undo is available
+    void gotoHistoryStep(int); //!< Goto a specifig step in history
+
+    QString getHistoryPath(); //!< Path to directory containing the history
+    void resetHistory();      //!< Initialize history
+
+    /*! \brief Save the current changes in map
+
+    Two commands and selections are saved:
+
+        - undocommand and undoselection to undo the change
+        - redocommand and redoselection to redo the action after an undo
+
+    Additionally a comment is logged.
+
+    */
+    void saveState(const SaveMode &savemode, const QString &undoSelection,
+                   const QString &undoCommand, const QString &redoSelection,
+                   const QString &redoCommand, const QString &comment,
+                   TreeItem *saveSelection, QString dataXML = "");
+
+    /*! Overloaded for convenience */
+    void saveStateChangingPart(TreeItem *undoSelection, TreeItem *redoSelection,
+                               const QString &redoCommand,
+                               const QString &comment);
+
+    /*! Overloaded for convenience */
+    void saveStateRemovingPart(TreeItem *redoSelection, const QString &comment);
+
+    /*! Overloaded for convenience */
+    void saveState(TreeItem *undoSelection, const QString &undoCommand,
+                   TreeItem *redoSelection, const QString &redoCommand,
+                   const QString &comment);
+
+    /*! Overloaded for convenience */
+    void saveState(const QString &undoSelection, const QString &undoCommand,
+                   const QString &redoSelection, const QString &redoCommand,
+                   const QString &comment);
+
+    /*! Overloaded for convenience */
+    void saveState(const QString &undoCommand, const QString &redoCommand,
+                   const QString &comment);
+
+    /*! Save a change in string and merge
+    minor sequential  changes  */
+    void saveStateMinimal(TreeItem *undoSelection, const QString &undoCommand,
+                          TreeItem *redoSelection, const QString &redoCommand,
+                          const QString &comment);
+
+    /*! Save state before loading a map */
+    void saveStateBeforeLoad(LoadMode lmode, const QString &fname);
+
+    ////////////////////////////////////////////
+    // unsorted so far
+    ////////////////////////////////////////////
+  public:
+    QGraphicsScene *getScene();
+
+    TreeItem *findBySelectString(QString s);
+    TreeItem *findID(const uint &i);    // find MapObj by unique ID
+    TreeItem *findUuid(const QUuid &i); // find MapObj by unique ID
+
+    ////////////////////////////////////////////
+    // Interface
+    ////////////////////////////////////////////
+  public:
+    void setVersion(const QString &);
+    QString getVersion();
+    void setTitle(const QString &);
+    QString getTitle();
+    void setAuthor(const QString &);
+    QString getAuthor();
+    void setComment(const QString &);
+    QString getComment();
+    QString getDate();
+    int branchCount();
+    int centerCount();
+
+    void setSortFilter(const QString &);
+    QString getSortFilter();
+
+  protected:
+    QString sortFilter;
+  signals:
+    void sortFilterChanged(QString); //!< Notify editors of new filter
+
+  public:
+    void setHeading(const VymText &vt,
+                    BranchItem *bi = NULL); //!< Set heading of item
+    void setHeadingPlainText(const QString &s,
+                             BranchItem *bi = NULL); //!< Set heading of item
+    Heading getHeading();                            //!< Get heading of item
+    void updateNoteText(
+        const VymText &); //!< Signal emmited in NoteEditor via MainWindow
+    void setNote(const VymNote &vn);  //!< Set note text
+    VymNote getNote();                //!< Get note text
+    bool hasRichTextNote();           //!< Check type of vymText used
+    void loadNote(const QString &fn); //!< Load note from file
+    void saveNote(const QString &fn); //!< Save note to file
+
+  private:
+    BranchItem *findCurrent;  // next object in find process
+    BranchItem *findPrevious; // next object in find process
+    bool EOFind;              // true, if search failed
+
+  public:
+    void findDuplicateURLs();       // find duplicate URLs, testing only so far
+    bool findAll(FindResultModel *, // Search all objects at once, also notes
+                 QString s, Qt::CaseSensitivity cs = Qt::CaseInsensitive,
+                 bool searchNotes = true);
+
+  private:
+    QString findString;
+
+  public:
+    void setURL(QString url, bool updateFromCloud = true, BranchItem *bi = nullptr);
+    QString getURL(); // returns URL of selection or ""
+    QStringList getURLs(bool ignoreScrolled = true); // returns URLs of subtree
+
+    void setFrameType(const FrameObj::FrameType &);
+    void setFrameType(const QString &);
+    void toggleFrameIncludeChildren();
+    void setFrameIncludeChildren(bool);
+    void setFramePenColor(const QColor &);
+    void setFrameBrushColor(const QColor &);
+    void setFramePadding(const int &);
+    void setFrameBorderWidth(const int &);
+    void setIncludeImagesVer(bool);
+    void setIncludeImagesHor(bool);
+    void setChildrenLayout(BranchItem::LayoutHint layoutHint);
+    void setHideLinkUnselected(bool);
+
+    /*! Should object be hidden in exports (clouded)? */
+    void setHideExport(bool, TreeItem *ti = NULL);
+
+    /*! Should object be hidden in exports (clouded)? */
+    void toggleHideExport();
+
+    /*! Toggle task for branch */
+    void toggleTask();
+
+    /*! Cycle through task states */
+    bool cycleTaskStatus(bool reverse = false);
+
+    /*! Set task to sleep for number of days or until a given date*/
+    bool setTaskSleep(const QString &s);
+
+    /*! Set manual delta for priority of task */
+    void setTaskPriorityDelta(const int &n, BranchItem *bi = nullptr);
+
+    /*! Get manual delta for priority of task */
+    int getTaskPriorityDelta();
+
+    /*! count tasks in this model */
+    int taskCount();
+
+    /*! Update task priorities */
+  private slots:
+    void updateTasksAlarm(bool force = false);
+
+  private:
+    /*! Timer to check if tasks need to be awoken */
+    QTimer *taskAlarmTimer;
+
+  public:
+    BranchItem *addTimestamp();
+
+    void copy();  //!< Copy to clipboard
+    void paste(); //!< Paste clipboard to branch and backup
+    void cut();   //!< Cut to clipboard (and copy)
+
+    bool moveUp(BranchItem *bi);   //!< Move branch up without saving state
+    void moveUp();                 //!< Move branch up with saving state
+    bool moveDown(BranchItem *bi); //!< Move branch down without saving state
+    void moveDown();               //!< Move branch down
+    void moveUpDiagonally();       //!< Move branch up diagonally: Branchs becomes child of branch above
+    void moveDownDiagonally();     //!< Move branch down diagonally: Branchs becomes sibling of parent
+    void detach();                 //!< Detach branch and use as new mapcenter
+    void sortChildren(bool inverse = false); //!< Sort children lexically
+
+    // The create methods are used to quickly parse a XML file
+    BranchItem *createMapCenter();             //!< Create MapCenter
+    BranchItem *createBranch(BranchItem *dst); //!< Create Branch
+    ImageItem *createImage(BranchItem *dst);   //!< Create image
+
+  public:
+    bool createLink(
+        Link *l); //!< Create XLink, will create MO automatically if needed
+    QColor getXLinkColor();
+    int getXLinkWidth();
+    Qt::PenStyle getXLinkStyle();
+    QString getXLinkStyleBegin();
+    QString getXLinkStyleEnd();
+
+    AttributeItem *setAttribute();
+    AttributeItem *setAttribute(BranchItem *dst, AttributeItem *);
+
+    /*! \brief Add new mapcenter
+
+    Disclaimer: Still experimental, not fully supported yet.
+    */
+    BranchItem *addMapCenter(bool saveStateFlag = true);
+    BranchItem *addMapCenter(QPointF absPos);
+
+    /*! \brief Add new branch
+
+    Depending on num the new branch is created
+
+    -3 above selection as child of selections parent
+    -2 as child of selection
+    -1 below selection as child of selections parent
+    0..n       insert at a specific position in selections parent
+    (needed for free relinking)
+    */
+
+  private:
+    BranchItem *addNewBranchInt(BranchItem *dst,
+                                int pos); // pos allows to add above/below
+                                          // selection, or as child  at pos
+  public:
+    /*! \Add new branch
+
+    // Depending on pos:
+    // -3      insert in children of parent  above selection
+    // -2      add branch to selection
+    // -1      insert in children of parent below selection
+    // 0..n    insert in children of parent at pos
+    */
+    BranchItem *addNewBranch(BranchItem *bi = NULL, int pos = -2);
+    BranchItem *
+    addNewBranchBefore(); //!< Insert branch between selection and its parent
+    /*! \brief Relink a branch to a new destination dst
+    Relinks branch to dst at branch position pos. There is no saveState
+    here, as for example moveUp or moving in MapEditor have
+    different needs to call saveState
+    Returns true if relinking was successful.
+    */
+    bool relinkBranch(BranchItem *branch, BranchItem *dst, int pos = -1,
+                      bool updateSelection = false, QPointF orgPos = QPointF());
+    bool relinkImage(ImageItem *image, BranchItem *dst);
+
+    bool relinkTo(const QString &dest, int num, QPointF pos);
+
+  private:
+    bool cleaningUpLinks; //!< True while cleaning up to avoid recursion
+  public:
+    void cleanupItems();    //!< Delete orphaned Items
+    void deleteLater(uint); //!< Delete later with new beginRemoveRow
+    void deleteSelection(); //!< Delete selection
+    void deleteKeepChildren(
+        bool saveStateFlag = true); //!< remove branch, but keep children
+  public:
+    void deleteChildren(); //!< keep branch, but remove children
+
+    TreeItem *deleteItem(
+        TreeItem *); //!< Delete item and return parent (if parent!= rootItem)
+    void deleteLink(Link *); //!< Remove Link and related LinkItems in TreeModel
+    void clearItem(TreeItem *ti); //!< Remove all children of TreeItem ti
+    bool scrollBranch(BranchItem *);
+    bool unscrollBranch(BranchItem *);
+    void toggleScroll();
+    void unscrollChildren();
+    void setScaleFactor(qreal, ImageItem *ii = nullptr);
+    void growSelectionSize();
+    void shrinkSelectionSize();
+    void resetSelectionSize();
+    void emitExpandAll();
+    void emitExpandOneLevel();
+    void emitCollapseOneLevel();
+    void emitCollapseUnselected();
+  signals:
+    void expandAll();
+    void expandOneLevel();
+    void collapseOneLevel();
+    void collapseUnselected();
+
+  public:
+    void toggleTarget();
+    ItemList getLinkedMaps();
+    ItemList getTargets();
+
+  private:
+    Flag* findFlagByName(const QString &name);
+  public:
+    void setFlagByName(const QString &name, bool useGroups = true);
+    void unsetFlagByName(const QString &name);
+    void toggleFlagByName(const QString &name, bool useGroups = true);
+    void toggleFlagByUid(const QUuid &uid, bool useGroups = true);
+    void clearFlags();
+
+    void colorBranch(QColor);
+    void colorSubtree(QColor, BranchItem *bi = NULL);
+    QColor getCurrentHeadingColor();
+
+    void note2URLs();                    // get URLs from note
+    void editHeading2URL();              // copy heading to URL
+    void getJiraData(bool subtree = true);      // get data from Jira
+
+  public slots:
+    void updateJiraData(QJsonObject);
+
+  public:
+    void setHeadingConfluencePageName(); // get page details from Confluence
+    void setVymLink(const QString &);    // Set vymLink for selection
+    void deleteVymLink();                // delete link to another map
+    QString getVymLink();                // return path to map
+    QStringList getVymLinks();           // return paths in subtree
+    void followXLink(int);
+    void editXLink();
+    void setXLinkColor(const QString &);
+    void setXLinkStyle(const QString &);
+    void setXLinkStyleBegin(const QString &);
+    void setXLinkStyleEnd(const QString &);
+    void setXLinkWidth(int);
+
+    ////////////////////////////////////////////
+    // Scripting
+    ////////////////////////////////////////////
+  public:
+    /* \brief Runs the script */
+    QVariant execute(const QString &script);
+
+    ////////////////////////////////////////////
+    // Exports
+    ////////////////////////////////////////////
+  private:
+    TreeItem::HideTmpMode hidemode; // true while exporting to hide some stuff
+
+  public:
+    /*! Set or unset temporary hiding of objects during export  */
+    void setExportMode(bool);
+
+    /*! Save as image. Returns offset to upper left corner of image */
+    QPointF exportImage(QString fname = "", bool askForName = true,
+                        QString format = "PNG");
+
+    /*! Save as PDF  . Returns offset to upper left corner of image */
+    void exportPDF(QString fname = "", bool askForName = true);
+
+    /*! Save as SVG  . Returns offset to upper left corner of image */
+    QPointF exportSVG(QString fname = "", bool askForName = true);
+
+    /*! Export as XML to directory */
+    void exportXML(QString fname = "", QString dir = "", bool useDialog = true);
+
+    /*! Export as A&O report text to file */
+    void exportAO(QString fname = "", bool askForName = true);
+
+    /*! Export as ASCII text to file */
+    void exportASCII(const QString &fname = "", bool listTasks = false,
+                     bool askForName = true);
+
+    /*! Export as CSV text to file */
+    void exportCSV(const QString &fname = "", bool askForName = true);
+
+    /*! Export as Firefox bookmarks to JSON file */
+    void exportFirefoxBookmarks(const QString &fname = "", bool askForName = true);
+
+    /*! Export as HTML to directory */
+    void exportHTML(const QString &fname = "", const QString &dir = "", 
+                    bool useDialog = true);
+
+    /*! Export as HTML to Confluence*/
+    void exportConfluence(bool createPage = true, const QString &pageURL = "", 
+                    const QString &pageName = "", 
+                    bool useDialog = true);
+
+    /*! Export as OpenOfficeOrg presentation */
+    void exportImpress(const QString &, const QString &);
+
+    /*! Returns if Export in recently used format is possible*/
+    bool exportLastAvailable(QString &description, QString &command,
+                             QString &dest);
+
+    /*! Export in recently used format (saved in map)*/
+    void exportLast();
+
+    /*! Export as LaTeX */
+    void exportLaTeX(const QString &fname = "", bool useDialog = true);
+
+    /*! Export as Markdown */
+    void exportMarkdown(const QString &fname = "", bool useDialog = true);
+
+    /*! Export as OrgMode input for emacs*/
+    void exportOrgMode(const QString &fname = "", bool useDialog = true);
+
+    ////////////////////////////////////////////
+    // View related
+    ////////////////////////////////////////////
+  public:
+    void registerMapEditor(QWidget *);
+
+    void setMapZoomFactor(const double &);
+    void setMapRotationAngle(const double &);
+    void setMapAnimDuration(const int &d);
+    void setMapAnimCurve(const QEasingCurve &c);
+    bool centerOnID(const QString &id);
+
+  private:
+    double zoomFactor;
+    double rotationAngle;
+    int animDuration;
+    QEasingCurve animCurve;
+
+    bool hasContextPos; //!< True, if we have a context pos
+    QPointF contextPos; //!< local position during context menu
+  public:
+    void setContextPos(QPointF); //!< local position during context menu
+    void unsetContextPos();      //!< forget local position after context menu
+
+    void reposition(); //!< Call reposition for all MCOs
+    void setHideTmpMode(TreeItem::HideTmpMode mode);
+
+    void emitNoteChanged(TreeItem *ti);
+    void emitDataChanged(TreeItem *ti);
+    void emitUpdateQueries(); //!< tell MainWindow to update find results...
+    void emitUpdateLayout();
+
+  signals:
+    void updateQueries(VymModel *m);
+    void updateLayout();
+    void noteChanged(QModelIndex ix);
+    void newChildObject(QModelIndex ix);
+
+  private:
+    MapEditor *mapEditor;
+
+    QColor defLinkColor;        // default color for links
+    QPen defXLinkPen;           // default pen for xlinks
+    QString defXLinkStyleBegin; // default style begin
+    QString defXLinkStyleEnd;
+    ;                                        // default style end
+    LinkableMapObj::ColorHint linkcolorhint; // use heading color or own color
+    LinkableMapObj::Style linkstyle;         // default style for links
+    QFont defaultFont;
+
+  public:
+    bool setMapLinkStyle(const QString &);   // Set style of link
+    LinkableMapObj::Style getMapLinkStyle(); // requested in LMO
+    void setMapDefLinkColor(QColor);         // default color of links
+    void setMapLinkColorHintInt();           // color of links
+    void setMapLinkColorHint(LinkableMapObj::ColorHint); // color of links
+    void toggleMapLinkColorHint(); // after changing linkStyles
+    void selectMapBackgroundImage();
+    void setMapBackgroundImage(const QString &);
+    void selectMapBackgroundColor();
+    void setMapBackgroundColor(QColor);
+    QColor getMapBackgroundColor();
+
+    QFont getMapDefaultFont();
+    void setMapDefaultFont(const QFont &);
+
+    LinkableMapObj::ColorHint getMapLinkColorHint();
+    QColor getMapDefLinkColor();
+    void setMapDefXLinkPen(const QPen &p);
+    QPen getMapDefXLinkPen();
+
+    void setMapDefXLinkStyleBegin(const QString &s);
+    QString getMapDefXLinkStyleBegin();
+    void setMapDefXLinkStyleEnd(const QString &s);
+    QString getMapDefXLinkStyleEnd();
+
+    /*!  Move absolutly to (x,y).  */
+    void move(const double &x, const double &y);
+
+    /*!  Move relativly to (x,y).  */
+    void moveRel(const double &x, const double &y);
+
+    ////////////////////////////////////////////
+    // Animation  **experimental**
+    ////////////////////////////////////////////
+  private:
+    QTimer *animationTimer;
+    bool animationUse;
+    uint animationTicks;
+    uint animationInterval;
+    int timerId;                 // animation timer
+    QList<MapObj *> animObjList; // list with animated objects
+
+  private slots:
+    void animate(); //!< Called by timer to animate stuff
+  public:
+    void startAnimation(BranchObj *bo, const QPointF &v);
+    void startAnimation(BranchObj *bo, const QPointF &start,
+                        const QPointF &dest);
+    void stopAnimation(MapObj *mo);
+    void stopAllAnimation();
+
+    ////////////////////////////////////////////
+    // Network related
+    ////////////////////////////////////////////
+  public:
+    /*! \brief Networking states
+
+    In Network modus we want to switch of saveState, autosave, ...
+    */
+    enum NetState {
+        Offline, //!< Offline
+        Client,  //!< I am the client and connected to server
+        Server   //!< I am the server
+    };
+
+  private:
+    // Network connections **Experimental**
+    NetState netstate;     // offline, client, server
+    QTcpServer *tcpServer; // Act as server in conference mode (experimental)
+    QList<QTcpSocket *> clientList; // List of connected clients
+    quint16 sendCounter;            // Increased with every sent command
+
+    QTcpSocket *clientSocket; // socket of this client
+    QString server;           // server address of this client
+    int port;                 // server port of this client
+
+  protected:
+    void sendSelection();
+
+  public:
+    void newServer();
+    void connectToServer();
+
+  private slots:
+    void newClient();
+    void sendData(const QString &s);
+    void readData();
+    void displayNetworkError(QAbstractSocket::SocketError);
+
+  public:
+    void downloadImage(const QUrl &url, BranchItem *bi = NULL);
+
+    ////////////////////////////////////////////
+    // Selection related
+    ////////////////////////////////////////////
+  private:
+    TreeItem *latestAddedItem; // latest added object, reset on setChanged()
+    QUuid lastToggledUuid;     // Latest toggled object 
+    QList<uint> selectionHistory;
+    int currentSelection;
+    bool keepSelectionHistory; // If set, selection doesn't change history
+
+  public slots:
+    void updateSelection(QItemSelection, QItemSelection); // update selection
+
+  public:
+    void setSelectionModel(QItemSelectionModel *); // Set common selectionModel
+    QItemSelectionModel *getSelectionModel();
+
+    void setSelectionBlocked(bool);
+    bool isSelectionBlocked();
+
+    bool select(const QString &);          //! Select by string
+    bool selectID(const QString &);        //! select by unique ID (QUuid)
+    bool select(LinkableMapObj *lmo);      //! Select by pointer to LMO
+    bool selectToggle(TreeItem *ti);       //! Toggle select state
+    bool selectToggle(const QString &selectString); //! Overloaded function to toggle select state
+    bool select(TreeItem *ti);             //! Select by pointer to TreeItem
+    bool select(const QModelIndex &index); //! Select by ModelIndex
+    void unselectAll();
+    void unselect(QItemSelection desel);
+    bool reselect();
+    bool canSelectPrevious();
+    bool selectPrevious();
+    bool canSelectNext();
+    bool selectNext();
+    void resetSelectionHistory();
+    void appendSelectionToHistory();
+    void emitShowSelection(bool scaled = false); //!< Show selection in all views
+
+  signals:
+    void showSelection(bool scaled);
+
+  public:
+    TreeItem *lastToggledItem();
+    bool selectFirstBranch();
+    bool selectFirstChildBranch();
+    bool selectLastBranch();
+    bool selectLastChildBranch();
+    bool selectLastSelectedBranch();
+    bool selectLastImage();
+    bool selectLatestAdded();
+    bool selectParent();
+
+  public:
+    TreeItem::Type selectionType();
+    LinkableMapObj *getSelectedLMO();
+    BranchObj *getSelectedBranchObj();
+    BranchItem *getSelectedBranch();
+    QList<BranchItem *> getSelectedBranches();
+    ImageItem *getSelectedImage();
+    Task *getSelectedTask();
+    XLinkItem *getSelectedXLinkItem();
+    Link *getSelectedXLink();
+    AttributeItem *getSelectedAttribute();
+    TreeItem *getSelectedItem();
+    QList<TreeItem *> getSelectedItems();
+    QModelIndex getSelectedIndex();
+    QList<uint> getSelectedIDs();
+    QStringList getSelectedUUIDs();
+    bool isSelected(TreeItem *);
+    QString getSelectString();
+    QString getSelectString(LinkableMapObj *lmo);
+    QString getSelectString(TreeItem *item);
+    QString getSelectString(BranchItem *item);
+    QString getSelectString(const uint &i);
+    void setLatestAddedItem(TreeItem *ti);
+    TreeItem *getLatestAddedItem();
+
+  signals:
+    void selectionChanged(const QItemSelection &newsel,
+                          const QItemSelection &oldsel);
+
+  public:
+    void emitSelectionChanged(const QItemSelection &oldsel);
+    void emitSelectionChanged();
+    void selectMapLinkColor();
+    void selectMapSelectionColor();
+
+  private:
+    QItemSelectionModel *selModel;
+    QString lastSelectString;
+    bool selectionBlocked; //! Used to block changes of selection while editing
+                           //! a heading
+
+  public:
+    void setSelectionPenColor(QColor);
+    QColor getSelectionPenColor();
+    void setSelectionPenWidth(qreal);
+    qreal getSelectionPenWidth();
+    void setSelectionBrushColor(QColor);
+    QColor getSelectionBrushColor();
+
+    ////////////////////////////////////////////
+    // Iterating and selecting branches
+    ////////////////////////////////////////////
+  public:
+    bool initIterator(const QString &iname,
+                      bool deepLevelsFirst = false); //! Named iterator
+    bool nextIterator(const QString &iname);         //! Select next iterator
+  private:
+    QHash<QString, QUuid> selIterCur;
+    QHash<QString, QUuid> selIterPrev;
+    QHash<QString, QUuid> selIterStart;
+    QHash<QString, bool> selIterActive;
+
+    ////////////////////////////////////////////
+    // Slide related
+    ////////////////////////////////////////////
+  public:
+    SlideModel *getSlideModel();
+    int slideCount();
+    SlideItem *addSlide();
+    void deleteSlide(SlideItem *si);
+    void deleteSlide(int n);
+    void relinkSlide(SlideItem *si, int pos);
+    bool moveSlideDown(int n = -1);
+    bool moveSlideUp(int n = -1);
+    SlideItem *findSlideID(uint id);
+  public slots:
+    void updateSlideSelection(QItemSelection, QItemSelection);
+
+  private:
+    SlideModel *slideModel;
+    bool blockSlideSelection;
+};
+
+#endif
diff --git a/src/vymmodelwrapper.cpp b/src/vymmodelwrapper.cpp
new file mode 100644 (file)
index 0000000..31574a8
--- /dev/null
@@ -0,0 +1,1078 @@
+#include "vymmodelwrapper.h"
+
+#include "branchitem.h"
+#include "branchobj.h"
+#include "imageitem.h"
+#include "misc.h"
+#include "scripting.h"
+#include "vymmodel.h"
+#include "vymtext.h"
+#include "xlink.h"
+#include "xmlobj.h" // include quoteQuotes
+
+///////////////////////////////////////////////////////////////////////////
+VymModelWrapper::VymModelWrapper(VymModel *m) { model = m; }
+
+/*
+QString VymModelWrapper::setResult( const QString r )
+{
+    context()->engine()->globalObject().setProperty("lastResult", r );
+}
+
+bool VymModelWrapper::setResult( bool r )
+{
+    context()->engine()->globalObject().setProperty("lastResult", r );
+}
+
+int  VymModelWrapper::setResult( int r )
+{
+    context()->engine()->globalObject().setProperty("lastResult", r );
+}
+*/
+
+BranchItem *VymModelWrapper::getSelectedBranch()
+{
+    BranchItem *selbi = model->getSelectedBranch();
+    if (!selbi)
+        logError(context(), QScriptContext::ReferenceError,
+                 "No branch selected");
+    return selbi;
+}
+
+QVariant VymModelWrapper::getParameter(bool &ok, const QString &key,
+                                       const QStringList &parameters)
+{
+    // loop through parameters and try to find the one named "key"
+    foreach (QString par, parameters) {
+        if (par.startsWith(key)) {
+            qDebug() << "getParam: " << key << "  has: " << par;
+            ok = true;
+            return QVariant(par);
+        }
+    }
+
+    // Nothing found
+    ok = false;
+    return QVariant::Invalid;
+}
+
+void VymModelWrapper::addBranch()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        if (argumentCount() > 1) {
+            logError(context(), QScriptContext::SyntaxError,
+                     "Too many arguments");
+            return;
+        }
+
+        int pos = -2;
+        if (argumentCount() == 1) {
+            pos = argument(0).toInteger();
+        }
+
+        if (!model->addNewBranch(selbi, pos))
+            logError(context(), QScriptContext::UnknownError,
+                     "Couldn't add branch to map");
+    }
+}
+
+void VymModelWrapper::addBranchBefore()
+{
+    if (!model->addNewBranchBefore())
+        logError(context(), QScriptContext::UnknownError,
+                 "Couldn't add branch before selection to map");
+}
+
+void VymModelWrapper::addMapCenter(qreal x, qreal y)
+{
+    if (!model->addMapCenter(QPointF(x, y)))
+        logError(context(), QScriptContext::UnknownError,
+                 "Couldn't add mapcenter");
+}
+
+void VymModelWrapper::addMapInsert(QString fileName, int pos, int contentFilter)
+{
+    if (QDir::isRelativePath(fileName))
+        fileName = QDir::currentPath() + "/" + fileName;
+
+    model->saveStateBeforeLoad(ImportAdd, fileName);
+
+    if (File::Aborted ==
+        model->loadMap(fileName, ImportAdd, VymMap, contentFilter, pos))
+        logError(context(), QScriptContext::UnknownError,
+                 QString("Couldn't load %1").arg(fileName));
+}
+
+void VymModelWrapper::addMapInsert(const QString &fileName, int pos)
+{
+    addMapInsert(fileName, pos, 0x0000);
+}
+
+void VymModelWrapper::addMapInsert(const QString &fileName)
+{
+    addMapInsert(fileName, -1, 0x0000);
+}
+
+void VymModelWrapper::addMapReplace(QString fileName)
+{
+    if (QDir::isRelativePath(fileName))
+        fileName = QDir::currentPath() + "/" + fileName;
+
+    model->saveStateBeforeLoad(ImportReplace, fileName);
+
+    if (File::Aborted == model->loadMap(fileName, ImportReplace, VymMap))
+        logError(context(), QScriptContext::UnknownError,
+                 QString("Couldn't load %1").arg(fileName));
+}
+
+void VymModelWrapper::addSlide() { model->addSlide(); }
+
+void VymModelWrapper::addXLink(const QString &begin, const QString &end,
+                               int width, const QString &color,
+                               const QString &penstyle)
+{
+    BranchItem *bbegin = (BranchItem *)(model->findBySelectString(begin));
+    BranchItem *bend = (BranchItem *)(model->findBySelectString(end));
+    if (bbegin && bend) {
+        if (bbegin->isBranchLikeType() && bend->isBranchLikeType()) {
+            Link *li = new Link(model);
+            li->setBeginBranch((BranchItem *)bbegin);
+            li->setEndBranch((BranchItem *)bend);
+
+            model->createLink(li);
+            QPen pen = li->getPen();
+            if (width > 0)
+                pen.setWidth(width);
+            QColor col(color);
+            if (col.isValid())
+                pen.setColor(col);
+            else {
+                logError(context(), QScriptContext::UnknownError,
+                         QString("Could not set color to %1").arg(color));
+                return;
+            }
+
+            bool ok;
+            Qt::PenStyle st1 = penStyle(penstyle, ok);
+            if (ok) {
+                pen.setStyle(st1);
+                li->setPen(pen);
+            }
+            else
+                logError(context(), QScriptContext::UnknownError,
+                         QString("Couldn't set penstyle %1").arg(penstyle));
+        }
+        else
+            logError(context(), QScriptContext::UnknownError,
+                     "Begin or end of xLink are not branch or mapcenter");
+    }
+    else
+        logError(context(), QScriptContext::UnknownError,
+                 "Begin or end of xLink not found");
+}
+
+int VymModelWrapper::branchCount()
+{
+    int r;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi)
+        r = selbi->branchCount();
+    else
+        r = -1;
+    return setResult(r);
+}
+
+int VymModelWrapper::centerCount()
+{
+    int r = model->centerCount();
+    return setResult(r);
+}
+
+void VymModelWrapper::centerOnID(const QString &id)
+{
+    if (!model->centerOnID(id))
+        logError(context(), QScriptContext::UnknownError,
+                 QString("Could not center on ID %1").arg(id));
+}
+
+void VymModelWrapper::clearFlags() { model->clearFlags(); }
+
+void VymModelWrapper::colorBranch(const QString &color)
+{
+    QColor col(color);
+    if (!col.isValid())
+        logError(context(), QScriptContext::SyntaxError,
+                 QString("Could not set color to %1").arg(color));
+    else
+        model->colorBranch(col);
+}
+
+void VymModelWrapper::colorSubtree(const QString &color)
+{
+    QColor col(color);
+    if (!col.isValid())
+        logError(context(), QScriptContext::SyntaxError,
+                 QString("Could not set color to %1").arg(color));
+    else
+        model->colorSubtree(col);
+}
+
+void VymModelWrapper::copy() { model->copy(); }
+
+void VymModelWrapper::cut() { model->cut(); }
+
+void VymModelWrapper::cycleTask()
+{
+    if (!model->cycleTaskStatus())
+        logError(context(), QScriptContext::SyntaxError,
+                 "Couldn't cycle task status");
+}
+
+int VymModelWrapper::depth()
+{
+    TreeItem *selti = model->getSelectedItem();
+    if (selti)
+        return setResult(selti->depth());
+    else
+        return setResult (-2);  // FIXME-2 should throw error
+}
+
+bool VymModelWrapper::exportMap()
+{
+    bool r = false;
+
+    if (argumentCount() == 0) {
+        logError(context(), QScriptContext::SyntaxError,
+                 "Not enough arguments");
+        return setResult(r);
+    }
+
+    QString format;
+    format = argument(0).toString();
+
+    if (argumentCount() == 1) {
+        if (format == "Last") {
+            model->exportLast();
+            r = true;
+        }
+        else
+            logError(context(), QScriptContext::SyntaxError,
+                     "Filename missing");
+        return setResult(r);
+    }
+
+    QString filename;
+
+    filename = argument(1).toString();
+
+    if (format == "AO") {
+        model->exportAO(filename, false);
+    }
+    else if (format == "ASCII") {
+        bool listTasks = false;
+        if (argumentCount() == 3 && argument(2).toString() == "true")
+            listTasks = true;
+        model->exportASCII(filename, listTasks, false);
+    }
+    else if (format == "ConfluenceNewPage") {
+        // 0: General export format
+        // 1: URL of parent page (required)
+        // 2: page title (required)
+        if (argumentCount() < 3) {
+            logError(context(), QScriptContext::SyntaxError,
+                 QString("Confluence export new page: Only %1 instead of 3 parameters given")
+                 .arg(argumentCount()));
+            return setResult(r);
+        }
+
+        QString url = argument(2).toString();
+        QString pageName = argument(3).toString();
+
+        model->exportConfluence(true, url, pageName, false);
+    }
+    else if (format == "ConfluenceUpdatePage") {
+        // 0: General export format
+        // 1: URL of  page to be updated
+        // 2: page title (optional)
+        if (argumentCount() == 1) {
+            logError(context(), QScriptContext::SyntaxError,
+                     "URL of new page missing in Confluence export");
+            return setResult(r);
+        }
+        QString url = argument(1).toString();
+
+        QString title = "";
+        if (argumentCount() == 3) {
+            title = argument(2).toString();
+        }
+
+        model->exportConfluence(false, url, title, false);
+    }
+    else if (format == "CSV") {
+        model->exportCSV(filename, false);
+    }
+    else if (format == "HTML") {
+        if (argumentCount() < 3) {
+            logError(context(), QScriptContext::SyntaxError,
+                     "Path missing in HTML export");
+            return setResult(r);
+        }
+        QString dpath = argument(2).toString();
+        model->exportHTML(filename, dpath, false);
+    }
+    else if (format == "Image") {
+        QString imgFormat;
+        if (argumentCount() == 2)
+            imgFormat = "PNG";
+        else if (argumentCount() == 3)
+            imgFormat = argument(2).toString();
+
+        QStringList formats;
+        formats << "PNG";
+        formats << "GIF";
+        formats << "JPG";
+        formats << "JPEG", formats << "PNG", formats << "PBM", formats << "PGM",
+            formats << "PPM", formats << "TIFF", formats << "XBM",
+            formats << "XPM";
+        if (formats.indexOf(imgFormat) < 0) {
+            logError(context(), QScriptContext::SyntaxError,
+                     QString("%1 not one of the known export formats: ")
+                         .arg(imgFormat)
+                         .arg(formats.join(",")));
+            return setResult(r);
+        }
+        model->exportImage(filename, false, imgFormat);
+    }
+    else if (format == "Impress") {
+        if (argumentCount() < 3) {
+            logError(context(), QScriptContext::SyntaxError,
+                     "Template file  missing in export to Impress");
+            return setResult(r);
+        }
+        QString templ = argument(2).toString();
+        model->exportImpress(filename, templ);
+    }
+    else if (format == "LaTeX") {
+        model->exportLaTeX(filename, false);
+    }
+    else if (format == "Markdown") {
+        model->exportMarkdown(filename, false);
+    }
+    else if (format == "OrgMode") {
+        model->exportOrgMode(filename, false);
+    }
+    else if (format == "PDF") {
+        model->exportPDF(filename, false);
+    }
+    else if (format == "SVG") {
+        model->exportSVG(filename, false);
+    }
+    else if (format == "XML") {
+        if (argumentCount() < 3) {
+            logError(context(), QScriptContext::SyntaxError,
+                     "path missing in export to Impress");
+            return setResult(r);
+        }
+        QString dpath = argument(2).toString();
+        model->exportXML(filename, dpath, false);
+    }
+    else {
+        logError(context(), QScriptContext::SyntaxError,
+                 QString("Unknown export format: %1").arg(format));
+        return setResult(r);
+    }
+    return setResult(true);
+}
+
+int VymModelWrapper::getBranchIndex()
+{
+    int r;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        r = selbi->num();
+    } else
+        r = -1;
+    return setResult(r);
+}
+
+QString VymModelWrapper::getDestPath()
+{
+    QString r = model->getDestPath();
+    return setResult(r);
+}
+
+QString VymModelWrapper::getFileDir() { return setResult(model->getFileDir()); }
+
+QString VymModelWrapper::getFileName()
+{
+    return setResult(model->getFileName());
+}
+
+QString VymModelWrapper::getFrameType()
+{
+    QString r;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        BranchObj *bo = (BranchObj *)(selbi->getLMO());
+        if (!bo)
+            logError(context(), QScriptContext::UnknownError,
+                     QString("No BranchObj available"));
+        else
+            r = bo->getFrame()->getFrameTypeName();
+    }
+    return setResult(r);
+}
+
+QString VymModelWrapper::getHeadingPlainText()
+{
+    QString r = model->getHeading().getTextASCII();
+    return setResult(r);
+}
+
+QString VymModelWrapper::getHeadingXML()
+{
+    QString r = model->getHeading().saveToDir();
+    return setResult(r);
+}
+
+QString VymModelWrapper::getMapAuthor()
+{
+    return setResult(model->getAuthor());
+}
+
+QString VymModelWrapper::getMapComment()
+{
+    return setResult(model->getComment());
+}
+
+QString VymModelWrapper::getMapTitle() { return setResult(model->getTitle()); }
+
+QString VymModelWrapper::getNotePlainText()
+{
+    return setResult(model->getNote().getTextASCII());
+}
+
+QString VymModelWrapper::getNoteXML()
+{
+    return setResult(model->getNote().saveToDir());
+}
+
+QString VymModelWrapper::getSelectionString()
+{
+    return setResult(model->getSelectString());
+}
+
+int VymModelWrapper::getTaskPriorityDelta()
+{
+    return model->getTaskPriorityDelta();
+}
+
+QString VymModelWrapper::getTaskSleep()
+{
+    QString r;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        Task *task = selbi->getTask();
+        if (task)
+            r = task->getSleep().toString(Qt::ISODate);
+        else
+            logError(context(), QScriptContext::UnknownError,
+                     "Branch has no task");
+    }
+    return setResult(r);
+}
+
+int VymModelWrapper::getTaskSleepDays()
+{
+    int r = -1;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        Task *task = selbi->getTask();
+        if (task)
+            r = task->getDaysSleep();
+        else
+            logError(context(), QScriptContext::UnknownError,
+                     "Branch has no task");
+    }
+    return setResult(r);
+}
+
+QString VymModelWrapper::getURL() { return setResult(model->getURL()); }
+
+QString VymModelWrapper::getVymLink() { return setResult(model->getVymLink()); }
+
+QString VymModelWrapper::getXLinkColor()
+{
+    return setResult(model->getXLinkColor().name());
+}
+
+int VymModelWrapper::getXLinkWidth()
+{
+    return setResult(model->getXLinkWidth());
+}
+
+QString VymModelWrapper::getXLinkPenStyle()
+{
+    QString r = penStyleToString(model->getXLinkStyle());
+    return setResult(r);
+}
+
+QString VymModelWrapper::getXLinkStyleBegin()
+{
+    return setResult(model->getXLinkStyleBegin());
+}
+
+QString VymModelWrapper::getXLinkStyleEnd()
+{
+    return setResult(model->getXLinkStyleEnd());
+}
+
+bool VymModelWrapper::hasActiveFlag(const QString &flag)
+{
+    bool r = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi)
+        r = selbi->hasActiveFlag(flag);
+    return setResult(r);
+}
+
+bool VymModelWrapper::hasNote()
+{
+    bool r = !model->getNote().isEmpty();
+    return setResult(r);
+}
+
+bool VymModelWrapper::hasRichTextNote()
+{
+    return setResult(model->hasRichTextNote());
+}
+
+bool VymModelWrapper::hasTask()
+{
+    bool r = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        Task *task = selbi->getTask();
+        if (task)
+            r = true;
+    }
+    else
+        logError(context(), QScriptContext::UnknownError,
+                 "Selected item is not a branch");
+
+    return setResult(r);
+}
+
+void VymModelWrapper::importDir(const QString &path)
+{
+    model->importDir(
+        path); // FIXME-3 error handling missing (in vymmodel and here)
+}
+
+bool VymModelWrapper::initIterator(const QString &iname, bool deepLevelsFirst)
+{
+    return model->initIterator(iname, deepLevelsFirst);
+}
+
+bool VymModelWrapper::nextIterator(const QString &iname)
+{
+    return model->nextIterator(iname);
+}
+
+bool VymModelWrapper::isScrolled()
+{
+    bool r = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi)
+        r = selbi->isScrolled();
+    return setResult(r);
+}
+
+void VymModelWrapper::loadImage(const QString &filename)
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        model->loadImage(
+            selbi,
+            filename); // FIXME-3 error handling missing (in vymmodel and here)
+    }
+}
+
+void VymModelWrapper::loadNote(const QString &filename)
+{
+    model->loadNote(
+        filename); // FIXME-3 error handling missing (in vymmodel and here)
+}
+
+void VymModelWrapper::move(qreal x, qreal y)
+{
+    model->move(x, y);
+    ;
+}
+
+void VymModelWrapper::moveRel(qreal x, qreal y)
+{
+    model->moveRel(x, y);
+    ;
+}
+
+void VymModelWrapper::moveDown() { model->moveDown(); }
+
+void VymModelWrapper::moveUp() { model->moveUp(); }
+
+void VymModelWrapper::moveSlideDown(int n)
+{
+    if (!model->moveSlideDown(n))
+        logError(context(), QScriptContext::UnknownError,
+                 "Could not move slide down");
+}
+
+void VymModelWrapper::moveSlideDown() { moveSlideDown(-1); }
+
+void VymModelWrapper::moveSlideUp(int n)
+{
+    if (!model->moveSlideUp(n))
+        logError(context(), QScriptContext::UnknownError,
+                 "Could not move slide up");
+}
+
+void VymModelWrapper::moveSlideUp() { moveSlideUp(-1); }
+
+void VymModelWrapper::nop() {}
+
+void VymModelWrapper::note2URLs() { model->note2URLs(); }
+
+bool VymModelWrapper::parseVymText(const QString &text)
+{
+    return setResult(model->parseVymText(unquoteQuotes(text)));
+}
+
+void VymModelWrapper::paste() { model->paste(); }
+
+void VymModelWrapper::redo() { model->redo(); }
+
+bool VymModelWrapper::relinkTo(const QString &parent, int num, qreal x, qreal y)
+{
+    bool r;
+    r = model->relinkTo(parent, num, QPointF(x, y));
+    if (!r)
+        logError(context(), QScriptContext::UnknownError, "Could not relink");
+    return setResult(r);
+}
+
+bool VymModelWrapper::relinkTo(const QString &parent, int num)
+{
+    bool r = relinkTo(parent, num, 0, 0);
+    return setResult(r);
+}
+
+bool VymModelWrapper::relinkTo(const QString &parent)
+{
+    bool r = relinkTo(parent, -1, 0, 0);
+    return setResult(r);
+}
+
+void VymModelWrapper::remove() { model->deleteSelection(); }
+
+void VymModelWrapper::removeChildren() { model->deleteChildren(); }
+
+void VymModelWrapper::removeKeepChildren() { model->deleteKeepChildren(); }
+
+void VymModelWrapper::removeSlide(int n)
+{
+    if (n < 0 || n >= model->slideCount() - 1)
+        logError(context(), QScriptContext::RangeError,
+                 QString("Slide '%1' not available.").arg(n));
+}
+
+QVariant VymModelWrapper::repeatLastCommand()
+{
+    return model->repeatLastCommand();
+}
+
+void VymModelWrapper::saveImage(const QString &filename)
+{
+    model->saveImage(NULL, filename);
+}
+
+void VymModelWrapper::saveNote(const QString &filename)
+{
+    model->saveNote(filename);
+}
+
+void VymModelWrapper::scroll()
+{
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        if (!model->scrollBranch(selbi))
+            logError(context(), QScriptContext::UnknownError,
+                     "Couldn't scroll branch");
+    }
+}
+
+bool VymModelWrapper::select(const QString &s)
+{
+    bool r = model->select(s);
+    if (!r)
+        logError(context(), QScriptContext::UnknownError,
+                 QString("Couldn't select %1").arg(s));
+    return setResult(r);
+}
+
+bool VymModelWrapper::selectID(const QString &s)
+{
+    bool r = model->selectID(s);
+    if (!r)
+        logError(context(), QScriptContext::UnknownError,
+                 QString("Couldn't select ID %1").arg(s));
+    return setResult(r);
+}
+
+bool VymModelWrapper::selectFirstBranch()
+{
+    bool r = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        r = model->selectFirstBranch();
+        if (!r)
+            logError(context(), QScriptContext::UnknownError,
+                     "Couldn't select first branch");
+    }
+    return setResult(r);
+}
+
+bool VymModelWrapper::selectFirstChildBranch()
+{
+    bool r = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        r = model->selectFirstChildBranch();
+        if (!r)
+            logError(context(), QScriptContext::UnknownError,
+                     "Couldn't select first child branch");
+    }
+    return setResult(r);
+}
+
+bool VymModelWrapper::selectLastBranch()
+{
+    bool r = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        r = model->selectLastBranch();
+        if (!r)
+            logError(context(), QScriptContext::UnknownError,
+                     "Couldn't select last branch");
+    }
+    return setResult(r);
+}
+
+bool VymModelWrapper::selectLastChildBranch()
+{
+    bool r = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        r = model->selectLastChildBranch();
+        if (!r)
+            logError(context(), QScriptContext::UnknownError,
+                     "Couldn't select last child branch");
+    }
+    return setResult(r);
+}
+bool VymModelWrapper::selectLastImage()
+{
+    bool r = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        ImageItem *ii = selbi->getLastImage();
+        if (!ii)
+            logError(context(), QScriptContext::UnknownError,
+                     "Couldn't get last image");
+        else {
+            r = model->select(ii);
+            if (!r)
+                logError(context(), QScriptContext::UnknownError,
+                         "Couldn't select last image");
+        }
+    }
+    return setResult(r);
+}
+
+bool VymModelWrapper::selectParent()
+{
+    bool r = model->selectParent();
+    if (!r)
+        logError(context(), QScriptContext::UnknownError,
+                 "Couldn't select parent item");
+    return setResult(r);
+}
+
+bool VymModelWrapper::selectLatestAdded()
+{
+    bool r = model->selectLatestAdded();
+    if (!r)
+        logError(context(), QScriptContext::UnknownError,
+                 "Couldn't select latest added item");
+    return setResult(r);
+}
+
+bool VymModelWrapper::selectToggle(const QString &selectString)
+{
+    bool r = model->selectToggle(selectString);
+    if (!r)
+        logError(context(), QScriptContext::UnknownError,
+                 "Couldn't toggle item with select string " + selectString);
+    return setResult(r);
+}
+
+void VymModelWrapper::setFlagByName(const QString &s)
+{
+    model->setFlagByName(s);
+}
+
+void VymModelWrapper::setHeadingConfluencePageName()
+{
+    model->setHeadingConfluencePageName();
+}
+
+void VymModelWrapper::setHeadingPlainText(
+    const QString &text) // FIXME-3  what about RT?
+{
+    model->setHeadingPlainText(text);
+}
+
+void VymModelWrapper::setHideExport(bool b) { model->setHideExport(b); }
+
+void VymModelWrapper::setIncludeImagesHorizontally(bool b)
+{
+    model->setIncludeImagesHor(b);
+}
+
+void VymModelWrapper::setIncludeImagesVertically(bool b)
+{
+    model->setIncludeImagesVer(b);
+}
+
+void VymModelWrapper::setHideLinkUnselected(bool b)
+{
+    model->setHideLinkUnselected(b);
+}
+
+void VymModelWrapper::setMapAnimCurve(int n)
+{
+    if (n < 0 || n > QEasingCurve::OutInBounce)
+        logError(context(), QScriptContext::RangeError,
+                 "Unknown animation curve type");
+    else {
+        QEasingCurve c;
+        c.setType((QEasingCurve::Type)n);
+        model->setMapAnimCurve(c);
+    }
+}
+
+void VymModelWrapper::setMapAnimDuration(int n)
+{
+    model->setMapAnimDuration(n);
+}
+
+void VymModelWrapper::setMapAuthor(const QString &s) { model->setAuthor(s); }
+
+void VymModelWrapper::setMapBackgroundColor(const QString &color)
+{
+    QColor col(color);
+    if (col.isValid()) {
+        model->setMapBackgroundColor(col);
+    }
+    else
+        logError(context(), QScriptContext::UnknownError,
+                 QString("Could not set color to %1").arg(color));
+}
+
+void VymModelWrapper::setMapComment(const QString &s) { model->setComment(s); }
+
+void VymModelWrapper::setMapDefLinkColor(const QString &color)
+{
+    QColor col(color);
+    if (col.isValid()) {
+        model->setMapDefLinkColor(col);
+    }
+    else
+        logError(context(), QScriptContext::UnknownError,
+                 QString("Could not set color to %1").arg(color));
+}
+
+void VymModelWrapper::setMapLinkStyle(const QString &style)
+{
+    if (!model->setMapLinkStyle(style))
+        logError(context(), QScriptContext::UnknownError,
+                 QString("Could not set linkstyle to %1").arg(style));
+}
+
+void VymModelWrapper::setMapRotation(float a) { model->setMapRotationAngle(a); }
+
+void VymModelWrapper::setMapTitle(const QString &s) { model->setTitle(s); }
+
+void VymModelWrapper::setMapZoom(float z) { model->setMapZoomFactor(z); }
+
+void VymModelWrapper::setNotePlainText(const QString &s)
+{
+    VymNote vn;
+    vn.setPlainText(s);
+    model->setNote(vn);
+}
+
+void VymModelWrapper::setFrameBorderWidth(int width)
+{
+    model->setFrameBorderWidth(width);
+}
+
+void VymModelWrapper::setFrameBrushColor(const QString &color)
+{
+    model->setFrameBrushColor(color);
+}
+
+void VymModelWrapper::setFrameIncludeChildren(bool b)
+{
+    model->setFrameIncludeChildren(b);
+}
+
+void VymModelWrapper::setFramePadding(int padding)
+{
+    model->setFramePadding(padding);
+}
+
+void VymModelWrapper::setFramePenColor(const QString &color)
+{
+    model->setFramePenColor(color);
+}
+
+void VymModelWrapper::setFrameType(const QString &type)
+{
+    model->setFrameType(type);
+}
+
+void VymModelWrapper::setScaleFactor(qreal f) { model->setScaleFactor(f); }
+
+void VymModelWrapper::setSelectionBrushColor(const QString &color)
+{
+    QColor col(color);
+    if (!col.isValid())
+        logError(context(), QScriptContext::SyntaxError,
+                 QString("Could not set color to %1").arg(color));
+    else
+        model->setSelectionBrushColor(col);
+}
+
+void VymModelWrapper::setSelectionPenColor(const QString &color)
+{
+    QColor col(color);
+    if (!col.isValid())
+        logError(context(), QScriptContext::SyntaxError,
+                 QString("Could not set color to %1").arg(color));
+    else
+        model->setSelectionPenColor(col);
+}
+
+void VymModelWrapper::setSelectionPenWidth(const qreal &w)
+{
+    model->setSelectionPenWidth(w);
+}
+
+void VymModelWrapper::setTaskPriorityDelta(const int &n)
+{
+    model->setTaskPriorityDelta(n);
+}
+
+bool VymModelWrapper::setTaskSleep(const QString &s)
+{
+    bool r = model->setTaskSleep(s);
+    return setResult(r);
+}
+
+void VymModelWrapper::setURL(const QString &s) { model->setURL(s); }
+
+void VymModelWrapper::setVymLink(const QString &s) { model->setVymLink(s); }
+
+void VymModelWrapper::setXLinkColor(const QString &color)
+{
+    QColor col(color);
+    if (!col.isValid())
+        logError(context(), QScriptContext::SyntaxError,
+                 QString("Could not set color to %1").arg(color));
+    else
+        model->setXLinkColor(color); // FIXME-3 try to use QColor here...
+}
+
+void VymModelWrapper::setXLinkStyle(const QString &style)
+{
+    model->setXLinkStyle(style);
+}
+
+void VymModelWrapper::setXLinkStyleBegin(const QString &style)
+{
+    model->setXLinkStyleBegin(style);
+}
+
+void VymModelWrapper::setXLinkStyleEnd(const QString &style)
+{
+    model->setXLinkStyleEnd(style);
+}
+
+void VymModelWrapper::setXLinkWidth(int w) { model->setXLinkWidth(w); }
+
+void VymModelWrapper::sleep(int n)
+{
+    // sleep is not avail on windows VCEE, workaround could be using
+    // this->thread()->wait(x ms)
+    sleep(n);
+}
+
+void VymModelWrapper::sortChildren(bool b) { model->sortChildren(b); }
+
+void VymModelWrapper::sortChildren() { sortChildren(false); }
+
+void VymModelWrapper::toggleFlagByUid(const QString &s)
+{
+    model->toggleFlagByUid(QUuid(s));
+}
+
+void VymModelWrapper::toggleFlagByName(const QString &s)
+{
+    model->toggleFlagByName(s);
+}
+
+void VymModelWrapper::toggleFrameIncludeChildren()
+{
+    model->toggleFrameIncludeChildren();
+}
+
+void VymModelWrapper::toggleScroll() { model->toggleScroll(); }
+
+void VymModelWrapper::toggleTarget() { model->toggleTarget(); }
+
+void VymModelWrapper::toggleTask() { model->toggleTask(); }
+
+void VymModelWrapper::undo() { model->undo(); }
+
+bool VymModelWrapper::unscroll()
+{
+    bool r = false;
+    BranchItem *selbi = getSelectedBranch();
+    if (selbi) {
+        r = model->unscrollBranch(selbi);
+        if (!r)
+            logError(context(), QScriptContext::UnknownError,
+                     "Couldn't unscroll branch");
+    }
+    return setResult(r);
+}
+
+void VymModelWrapper::unscrollChildren() { model->unscrollChildren(); }
+
+void VymModelWrapper::unselectAll() { model->unselectAll(); }
+
+void VymModelWrapper::unsetFlagByName(const QString &s)
+{
+    model->unsetFlagByName(s);
+}
diff --git a/src/vymmodelwrapper.h b/src/vymmodelwrapper.h
new file mode 100644 (file)
index 0000000..13052d4
--- /dev/null
@@ -0,0 +1,175 @@
+#ifndef VYMMODELWRAPPER_H
+#define VYMMODELWRAPPER_H
+
+#include "scripting.h"
+#include <QColor>
+#include <QObject>
+#include <QScriptContext>
+#include <QScriptValue>
+#include <QScriptable>
+#include <QVariant>
+
+class BranchItem;
+class VymModel;
+
+class VymModelWrapper : public VymScriptContext {
+    Q_OBJECT
+  public:
+    VymModelWrapper(VymModel *m);
+    /*
+    QString setResult( QString r );
+    bool setResult( bool r );
+    int setResult( int r );
+    */
+
+  private:
+    BranchItem *getSelectedBranch();
+    QVariant getParameter(bool &ok, const QString &key,
+                          const QStringList &parameters);
+
+  public slots:
+    void addBranch();
+    void addBranchBefore();
+    void addMapCenter(qreal x, qreal y);
+    void addMapInsert(QString filename, int pos, int contentFilter);
+    void addMapInsert(const QString &filename, int pos);
+    void addMapInsert(const QString &filename);
+    void addMapReplace(QString filename);
+    void addSlide();
+    void addXLink(const QString &begin, const QString &end, int width,
+                  const QString &color, const QString &penstyle);
+    int branchCount();
+    int centerCount();
+    void centerOnID(const QString &id); // tested: ok
+    void clearFlags();
+    void colorBranch(const QString &color);
+    void colorSubtree(const QString &color);
+    void copy();
+    void cut();
+    void cycleTask();
+    int depth();
+    bool exportMap();
+    int getBranchIndex();
+    QString getDestPath();
+    QString getFileDir();
+    QString getFileName();
+    QString getFrameType();
+    QString getHeadingPlainText();
+    QString getHeadingXML();
+    QString getMapAuthor();
+    QString getMapComment();
+    QString getMapTitle();
+    QString getNotePlainText();
+    QString getNoteXML();
+    QString getSelectionString();
+    int getTaskPriorityDelta();
+    QString getTaskSleep();
+    int getTaskSleepDays();
+    QString getURL();
+    QString getVymLink();
+    QString getXLinkColor();
+    int getXLinkWidth();
+    QString getXLinkPenStyle();
+    QString getXLinkStyleBegin();
+    QString getXLinkStyleEnd();
+    bool hasActiveFlag(const QString &flag);
+    bool hasNote();
+    bool hasRichTextNote();
+    bool hasTask();
+    void importDir(const QString &path);
+    bool initIterator(const QString &iname, bool deepLevelsFirst = false);
+    bool isScrolled();
+    void loadImage(const QString &filename);
+    void loadNote(const QString &filename);
+    void move(qreal x, qreal y);
+    void moveRel(qreal x, qreal y);
+    void moveDown();
+    void moveUp();
+    void moveSlideDown(int n);
+    void moveSlideDown();
+    void moveSlideUp(int n);
+    void moveSlideUp();
+    bool nextIterator(const QString &iname);
+    void nop();
+    void note2URLs();
+    bool parseVymText(const QString &text);
+    void paste();
+    void redo();
+    bool relinkTo(const QString &parent, int num, qreal x, qreal y);
+    bool relinkTo(const QString &parent, int num);
+    bool relinkTo(const QString &parent);
+    void remove();
+    void removeChildren();
+    void removeKeepChildren();
+    void removeSlide(int n);
+    QVariant repeatLastCommand();
+    void saveImage(const QString &filename);
+    void saveNote(const QString &filename);
+    void scroll();
+    bool select(const QString &s);
+    bool selectID(const QString &s);
+    bool selectFirstBranch();
+    bool selectFirstChildBranch();
+    bool selectLastBranch();
+    bool selectLastChildBranch();
+    bool selectLastImage();
+    bool selectParent();
+    bool selectLatestAdded();
+    bool selectToggle(const QString &selectString);
+    void setFlagByName(const QString &s);
+    void setHeadingConfluencePageName();
+    void setHeadingPlainText(const QString &s);
+    void setHideExport(bool b);
+    void setHideLinkUnselected(bool b);
+    void setIncludeImagesHorizontally(bool b);
+    void setIncludeImagesVertically(bool b);
+    void setMapAnimCurve(int n);
+    void setMapAnimDuration(int n);
+    void setMapAuthor(const QString &s);
+    void setMapBackgroundColor(const QString &color);
+    void setMapComment(const QString &s);
+    void setMapDefLinkColor(const QString &color);
+    void setMapLinkStyle(const QString &style);
+    void setMapRotation(float a); // tested: ok
+    void setMapTitle(const QString &s);
+    void setMapZoom(float z); // tested: ok
+    void setNotePlainText(const QString &s);
+    void setFrameBorderWidth(int border);
+    void setFrameBrushColor(const QString &color);
+    void setFrameIncludeChildren(bool b);
+    void setFramePadding(int padding);
+    void setFramePenColor(const QString &color);
+    void setFrameType(const QString &type);
+    void setScaleFactor(qreal f);
+    void setSelectionBrushColor(const QString &color);
+    void setSelectionPenColor(const QString &color);
+    void setSelectionPenWidth(const qreal &);
+    void setTaskPriorityDelta(const int &n);
+    bool setTaskSleep(const QString &s);
+    void setURL(const QString &s);
+    void setVymLink(const QString &s);
+    void setXLinkColor(const QString &color);
+    void setXLinkStyle(const QString &style);
+    void setXLinkStyleBegin(const QString &style);
+    void setXLinkStyleEnd(const QString &style);
+    void setXLinkWidth(int w);
+    void sleep(int n);
+    void sortChildren(bool b);
+    void sortChildren();
+    void toggleFlagByUid(const QString &s);
+    void toggleFlagByName(const QString &s);
+    void toggleFrameIncludeChildren();
+    void toggleScroll();
+    void toggleTarget();
+    void toggleTask();
+    void undo();
+    bool unscroll();
+    void unscrollChildren();
+    void unselectAll();
+    void unsetFlagByName(const QString &s);
+
+  private:
+    VymModel *model;
+};
+
+#endif
diff --git a/src/vymnote.cpp b/src/vymnote.cpp
new file mode 100644 (file)
index 0000000..0978de6
--- /dev/null
@@ -0,0 +1,16 @@
+#include "vymnote.h"
+
+/////////////////////////////////////////////////////////////////
+// VymNote
+/////////////////////////////////////////////////////////////////
+
+VymNote::VymNote() { clear(); }
+
+VymNote::VymNote(const VymText &other) { VymText::copy(other); }
+
+void VymNote::operator=(const VymText &other) { copy(other); }
+
+QString VymNote::saveToDir()
+{
+    return singleElement("vymnote", getAttributes());
+}
diff --git a/src/vymnote.h b/src/vymnote.h
new file mode 100644 (file)
index 0000000..9d584a5
--- /dev/null
@@ -0,0 +1,15 @@
+#ifndef VYMNOTE_H
+#define VYMNOTE_H
+
+#include "vymtext.h"
+
+/*! \brief The text note belonging to one OrnamentedObj */
+
+class VymNote : public VymText {
+  public:
+    VymNote();
+    VymNote(const VymText &vt);
+    void operator=(const VymText &other);
+    QString saveToDir();
+};
+#endif
diff --git a/src/vymprocess.cpp b/src/vymprocess.cpp
new file mode 100644 (file)
index 0000000..f87c20a
--- /dev/null
@@ -0,0 +1,67 @@
+#include "vymprocess.h"
+#include <cstdlib>
+
+#include <QDebug>
+#include <QMessageBox>
+
+extern bool debug;
+
+/////////////////////////////////////////////////////////////////
+// Process
+/////////////////////////////////////////////////////////////////
+VymProcess::VymProcess()
+{
+    connect(this, SIGNAL(readyReadStandardError()), this,
+            SLOT(readProcErrout()));
+    connect(this, SIGNAL(readyReadStandardOutput()), this,
+            SLOT(readProcStdout()));
+    clear();
+}
+
+VymProcess::~VymProcess() {}
+
+void VymProcess::clear()
+{
+    errOut = "";
+    stdOut = "";
+}
+
+void VymProcess::runScript(QString spath, QString fpath)
+{
+    spath.replace("%f", fpath);
+    QStringList args = spath.split(' ');
+    spath = args.takeFirst();
+
+    if (debug)
+        qDebug() << "Process::runScript : " + spath + " " + args.join(" ");
+
+    start(spath, args);
+    if (!waitForStarted()) {
+        QMessageBox::critical(0, tr("Critical Error"),
+                              tr("Could not start %1").arg(spath));
+    }
+    else {
+        if (!waitForFinished())
+            QMessageBox::critical(0, tr("Critical Error"),
+                                  tr("%1 didn't exit normally").arg(spath) +
+                                      getErrout());
+        //     else
+        //         if (exitStatus()>0) showOutput=true;
+    }
+    /* TODO output for Process::runScript
+    qDebug()<<readAllStandardOutput();
+    qDebug()<<getStdout();
+    qDebug()<<getErrout();
+    addOutput ("\n");
+    addOutput (getErrout());
+    addOutput (getStdout());
+    */
+}
+
+void VymProcess::readProcErrout() { errOut += readAllStandardError(); }
+
+void VymProcess::readProcStdout() { stdOut += readAllStandardOutput(); }
+
+QString VymProcess::getErrout() { return errOut; }
+
+QString VymProcess::getStdout() { return stdOut; }
diff --git a/src/vymprocess.h b/src/vymprocess.h
new file mode 100644 (file)
index 0000000..5f45b45
--- /dev/null
@@ -0,0 +1,26 @@
+#ifndef VYMPROCESS_H
+#define VYMPROCESS_H
+
+#include <QProcess>
+#include <QString>
+
+class VymProcess : public QProcess {
+    Q_OBJECT
+  public:
+    VymProcess();
+    ~VymProcess();
+    void clear();
+    void runScript(QString spath, QString fpath);
+    QString getErrout();
+    QString getStdout();
+
+  public slots:
+    virtual void readProcErrout();
+    virtual void readProcStdout();
+
+  private:
+    QString errOut;
+    QString stdOut;
+};
+
+#endif
diff --git a/src/vymtext.cpp b/src/vymtext.cpp
new file mode 100644 (file)
index 0000000..f17faf3
--- /dev/null
@@ -0,0 +1,250 @@
+#include "vymtext.h"
+#include "misc.h"
+
+#include <QDebug>
+#include <QRegExp>
+#include <QTextDocument>
+
+/////////////////////////////////////////////////////////////////
+// VymText  Base class for Vymnotes and Headings
+/////////////////////////////////////////////////////////////////
+
+VymText::VymText() { clear(); }
+
+VymText::VymText(const VymText &other)
+{
+    clear();
+    copy(other);
+    return;
+}
+
+VymText::VymText(const QString &s)
+{
+    clear();
+    setPlainText(s);
+}
+
+bool VymText::operator==(const VymText &other)
+{
+    if (text == other.text && fonthint == other.fonthint &&
+        textmode == other.textmode && filenamehint == other.filenamehint &&
+        color == other.color)
+        return true;
+    else
+        return false;
+}
+
+void VymText::operator=(const VymText &other) { copy(other); }
+
+void VymText::copy(const VymText &other)
+{
+    text = other.text;
+    fonthint = other.fonthint;
+    filenamehint = other.filenamehint;
+    textmode = other.textmode;
+    color = other.color;
+}
+
+void VymText::clear()
+{
+    text = "";
+    fonthint = "";
+    filenamehint = "";
+    textmode = AutoText;
+    color = Qt::black;
+}
+
+void VymText::setRichText(bool b)
+{
+    if (b)
+        textmode = RichText;
+    else
+        textmode = PlainText;
+}
+
+bool VymText::isRichText() const
+{
+    if (textmode == RichText)
+        return true;
+    else
+        return false;
+}
+
+void VymText::setText(const QString &s) { text = s; }
+
+void VymText::setRichText(const QString &s)
+{
+    text = s;
+    textmode = RichText;
+}
+
+void VymText::setPlainText(const QString &s)
+{
+    text = s;
+    textmode = PlainText;
+}
+
+void VymText::setAutoText(const QString &s)
+{
+    clear();
+    if (Qt::mightBeRichText(s))
+        setRichText(s);
+    else
+        setPlainText(s);
+}
+
+QString VymText::getText() const { return text; }
+
+QString VymText::getTextASCII() const { return getTextASCII("", 0); } // FIXME-2 use setting, see TreeItem::setHeading
+
+QString VymText::getTextASCII(QString indent, const int &width) const
+{
+    if (text.isEmpty())
+        return text;
+
+    QString s;
+    QRegExp rx;
+    rx.setMinimal(true);
+
+    if (isRichText())
+        s = text;
+    else {
+        if (fonthint == "fixed" || width == 0) {
+            s = text;
+        } else {
+            // Wordwrap, if width > 0 
+
+            QString newnote;
+            QString curline;
+            uint n = 0;
+            while ((int)n < text.length()) {
+                curline = curline + text.at(n);
+                if (text.at(n) == '\n') {
+                    s = s + curline;
+                    curline = "";
+                }
+
+                if (curline.length() > width) {
+                    // Try to find last previous whitespace in curline
+                    uint i = curline.length() - 1;
+                    while (i > 0) {
+                        if (curline.at(i) == ' ') {
+                            s = s + curline.left(i) + '\n';
+                            curline = curline.right(curline.length() - i - 1);
+                            break;
+                        }
+                        i--;
+                        if (i == 0) {
+                            // Cannot break this line into smaller parts
+                            s = s + curline;
+                            curline = "";
+                        }
+                    }
+                }
+                n++;
+            }
+            s = s + curline;
+        }
+
+        // Indent lines
+        rx.setPattern("^");
+        s = s.replace(rx, indent);
+        rx.setPattern("\n");
+        s = s.replace(rx, "\n" + indent) + "\n";
+
+        return s.trimmed();
+    }
+
+    // Remove all <style...> ...</style>
+    rx.setPattern("<style.*>.*</style>");
+    s.replace(rx, "");
+
+    // convert all "<br*>" to "\n"
+    rx.setPattern("<br.*>");
+    s.replace(rx, "\n");
+
+    // convert all "</p>" to "\n"
+    rx.setPattern("</p>");
+    s.replace(rx, "\n");
+
+    // remove all remaining tags
+    rx.setPattern("<.*>");
+    s.replace(rx, "");
+
+    // If string starts with \n now, remove it.
+    // It would be wrong in an OOo export for example
+    while (s.at(0) == '\n')
+        s.remove(0, 1);
+
+    // convert "&", "<" and ">"
+    rx.setPattern("&gt;");
+    s.replace(rx, ">");
+    rx.setPattern("&lt;");
+    s.replace(rx, "<");
+    rx.setPattern("&amp;");
+    s.replace(rx, "&");
+    rx.setPattern("&quot;");
+    s.replace(rx, "\"");
+
+    // Indent everything
+    rx.setPattern("^\n");
+    s.replace(rx, indent);
+    s = indent + s; // Don't forget first line
+
+    /* FIXME-3  wrap text at width
+        if (fonthint !="fixed")
+        {
+        }
+    */
+    return s;
+}
+
+void VymText::setFontHint(const QString &s)
+{
+    if (s == "undef") return;
+
+    // only for backward compatibility (pre 1.5 )
+    fonthint = s;
+}
+
+QString VymText::getFontHint() const
+{
+    // only for backward compatibility (pre 1.5 )
+    return fonthint;
+}
+
+void VymText::setFilenameHint(const QString &s) { filenamehint = s; }
+
+QString VymText::getFilenameHint() const { return filenamehint; }
+
+bool VymText::isEmpty() const
+{
+    if (!isRichText())
+        return text.isEmpty();
+    else {
+        QTextDocument td;
+        td.setHtml(text);
+        return td.isEmpty();
+    }
+}
+
+void VymText::setColor(QColor col) { color = col; }
+
+QColor VymText::getColor() { return color; }
+
+QStringList VymText::getAttributes() const
+{
+    QStringList ret;
+    if (textmode == RichText)
+        ret << attribut("textMode", "richText");
+    else {
+        ret << attribut("textMode", "plainText");
+        if (!fonthint.isEmpty())
+            ret << attribut("fonthint", fonthint);
+    }
+    ret << attribut("textColor", color.name());
+    ret << attribut("text", quoteQuotes(text));
+    return ret;
+}
+
+QString VymText::saveToDir() { return ""; }
diff --git a/src/vymtext.h b/src/vymtext.h
new file mode 100644 (file)
index 0000000..afe507b
--- /dev/null
@@ -0,0 +1,49 @@
+#ifndef VYMTEXT_H
+#define VYMTEXT_H
+
+#include <qcolor.h>
+#include <qstring.h>
+
+//  class VymText;
+
+#include "xmlobj.h"
+
+/*! \brief base class for headings of branches and vymnotes */
+
+class VymText : public XMLObj {
+  public:
+    enum TextMode { AutoText, PlainText, RichText };
+    VymText();
+    VymText(const VymText &vt);
+    VymText(const QString &s);
+    bool operator==(const VymText &other);
+    void operator=(const VymText &);
+    virtual void copy(const VymText &);
+    virtual void clear();
+    void setText(const QString &);
+    void setRichText(const QString &);
+    void setPlainText(const QString &);
+    void setAutoText(const QString &);
+    QString getText() const;
+    QString getTextASCII() const;
+    QString getTextASCII(QString igdent, const int &width = 0) const;
+    void setRichText(bool b);
+    bool isRichText() const;
+    void setFontHint(const QString &);
+    QString getFontHint() const;
+    void setFilenameHint(const QString &);
+    QString getFilenameHint() const;
+    bool isEmpty() const;
+    void setColor(QColor color);
+    QColor getColor();
+    QStringList getAttributes() const;
+    QString saveToDir(); // Needs to be overloaded!
+
+  protected:
+    QString text;
+    QString fonthint;
+    QString filenamehint;
+    TextMode textmode;
+    QColor color; // used for plaintext
+};
+#endif
diff --git a/src/vymview.cpp b/src/vymview.cpp
new file mode 100644 (file)
index 0000000..fcef03b
--- /dev/null
@@ -0,0 +1,336 @@
+#include "vymview.h"
+
+#include "branchitem.h"
+#include "dockeditor.h"
+#include "mainwindow.h"
+#include "mapeditor.h"
+#include "slideeditor.h"
+#include "treedelegate.h"
+#include "treeeditor.h"
+
+extern Main *mainWindow;
+extern Settings settings;
+
+VymView::VymView(VymModel *m)
+{
+    model = m;
+    model->setView(this);
+
+    // Create TreeView
+    treeEditor = new TreeEditor(model);
+
+    selModel = new QItemSelectionModel(model);
+    model->setSelectionModel(selModel);
+
+    treeEditor->setSelectionModel(selModel);
+    treeEditor->setColumnWidth(0, 150);
+    treeEditor->setAnimated(true);
+    treeEditor->resize(20, 200);
+
+    TreeDelegate *delegate = new TreeDelegate(this);
+    treeEditor->setItemDelegate(delegate);
+
+    DockEditor *de;
+    de = new DockEditor(tr("Tree Editor", "Title of dockable editor widget"),
+                        this, model);
+    de->setWidget(treeEditor);
+    de->setAllowedAreas(Qt::AllDockWidgetAreas);
+    addDockWidget(Qt::LeftDockWidgetArea, de);
+    treeEditorDE = de;
+
+    connect(treeEditorDE, SIGNAL(visibilityChanged(bool)), mainWindow,
+            SLOT(updateActions()));
+
+    // Create good old MapEditor
+    mapEditor = model->getMapEditor();
+    if (!mapEditor)
+        mapEditor = new MapEditor(model);
+    setCentralWidget(mapEditor);
+
+    // Create SlideEditor
+    slideEditor = new SlideEditor(model);
+
+    de = new DockEditor(tr("Slide Editor", "Title of dockable editor widget"),
+                        this, model);
+    de->setWidget(slideEditor);
+    de->setAllowedAreas(Qt::AllDockWidgetAreas);
+    addDockWidget(Qt::RightDockWidgetArea, de);
+    slideEditorDE = de;
+    slideEditorDE->hide();
+    connect(slideEditorDE, SIGNAL(visibilityChanged(bool)), mainWindow,
+            SLOT(updateActions()));
+
+    // Connect selections
+
+    // Selection in Model changed
+    connect(
+        selModel,
+        SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
+        this,
+        SLOT(changeSelection(const QItemSelection &, const QItemSelection &)));
+
+    // Needed to update selbox during animation
+    connect(
+        model,
+        SIGNAL(
+            selectionChanged(const QItemSelection &, const QItemSelection &)),
+        mapEditor,
+        SLOT(updateSelection(const QItemSelection &, const QItemSelection &)));
+
+    // Connect data changed signals
+    connect(model,
+            SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
+            mapEditor, SLOT(updateData(const QModelIndex &)));
+
+    connect(model,
+            SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)), this,
+            SLOT(updateDockWidgetTitles())); // FIXME-3 connect directly to
+                                             // MainWindow and rename method
+                                             // (also updates selection in BPE)
+
+    connect(model,
+            SIGNAL(dataChanged(const QModelIndex &, const QModelIndex &)),
+            mainWindow, SLOT(updateHeadingEditor()));   // FIXME-2 introduced new to update BG color when frameBrush changes
+
+    connect(model, SIGNAL(updateQueries(VymModel *)), mainWindow,
+            SLOT(updateQueries(VymModel *)));
+
+    connect(model, SIGNAL(expandAll()), this, SLOT(expandAll()));
+
+    connect(model, SIGNAL(expandOneLevel()), this, SLOT(expandOneLevel()));
+
+    connect(model, SIGNAL(collapseOneLevel()), this, SLOT(collapseOneLevel()));
+
+    connect(model, SIGNAL(collapseUnselected()), this,
+            SLOT(collapseUnselected()));
+
+    connect(model, SIGNAL(showSelection(bool)), this, SLOT(showSelection(bool)));
+
+    connect(model, SIGNAL(updateLayout()), mapEditor, SLOT(autoLayout()));
+
+    mapEditor->setAntiAlias(mainWindow->isAliased());
+    mapEditor->setSmoothPixmap(mainWindow->hasSmoothPixmapTransform());
+
+    readSettings();
+}
+
+VymView::~VymView()
+{
+    settings.setLocalValue(model->getFilePath(), "/treeEditor/visible",
+                               treeEditorIsVisible());
+    settings.setLocalValue(model->getFilePath(), "/slideEditor/visible",
+                               slideEditorIsVisible());
+}
+
+void VymView::readSettings()
+{
+    if (settings
+            .localValue(model->getFilePath(), "/slideEditor/visible", "false")
+            .toBool())
+        slideEditorDE->show();
+    else
+        slideEditorDE->hide();
+
+    if (settings.localValue(model->getFilePath(), "/treeEditor/visible", "true")
+            .toBool())
+        treeEditorDE->show();
+    else
+        treeEditorDE->hide();
+}
+
+VymModel *VymView::getModel() { return model; }
+
+MapEditor *VymView::getMapEditor() { return mapEditor; }
+
+bool VymView::treeEditorIsVisible() { return treeEditorDE->isVisible(); }
+
+bool VymView::slideEditorIsVisible() { return slideEditorDE->isVisible(); }
+
+void VymView::initFocus() { mapEditor->setFocus(); }
+
+void VymView::nextSlide() { slideEditor->nextSlide(); }
+
+void VymView::previousSlide() { slideEditor->previousSlide(); }
+
+void VymView::setSelectionBrush(const QBrush &brush)
+{
+    mapEditor->setSelectionBrush(brush);
+    treeEditor->setStyleSheet(
+        "selection-background-color: " + brush.color().name(QColor::HexArgb) + ";" +
+        "background-color: " + mapEditor->getScene()->backgroundBrush().color().name());
+}
+
+void VymView::setBackgroundColor(const QColor &col)
+{
+    mapEditor->getScene()->setBackgroundBrush(col);
+    treeEditor->setStyleSheet(
+        "selection-background-color: " + mapEditor->getSelectionBrush().color().name() + ";" +
+        "background-color: " + col.name());
+    mainWindow->updateHeadingEditor();
+}
+
+void VymView::setLinkColor(const QColor &col)
+{
+    // Set color for "link arrows" in TreeEditor
+    //
+    // Alternatively one could use stylesheets
+    // https://doc.qt.io/qt-6/stylesheet-examples.html#customizing-qtreeview
+    QPalette palette = treeEditor->palette();
+    palette.setColor(QPalette::Text, col);
+    treeEditor->setPalette(palette);
+}
+
+void VymView::changeSelection(const QItemSelection &newsel,
+                              const QItemSelection &desel)
+{
+    // Update note editor and heading editor // FIXME-3 improve this, evtl. move
+    // from mainwindow to here
+    model->updateSelection(newsel, desel);
+    mainWindow->changeSelection(model, newsel, desel);
+    mainWindow->updateDockWidgetTitles(model);
+    mapEditor->updateSelection(newsel, desel);
+
+    showSelection(false);
+}
+
+void VymView::updateDockWidgetTitles()
+{
+    mainWindow->updateDockWidgetTitles(model);
+}
+
+void VymView::expandAll() { treeEditor->expandAll(); }
+
+void VymView::expandOneLevel()
+{
+    int level = 999999;
+    int d;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    QModelIndex pix;
+
+    // Find level to expand
+    model->nextBranch(cur, prev);
+    while (cur) {
+        pix = model->index(cur);
+        d = cur->depth();
+        if (!treeEditor->isExpanded(pix) && d < level)
+            level = d;
+        model->nextBranch(cur, prev);
+    }
+
+    // Expand all to level
+    cur = NULL;
+    prev = NULL;
+    model->nextBranch(cur, prev);
+    while (cur) {
+        pix = model->index(cur);
+        d = cur->depth();
+        if (!treeEditor->isExpanded(pix) && d <= level &&
+            cur->branchCount() > 0)
+            treeEditor->setExpanded(pix, true);
+        model->nextBranch(cur, prev);
+    }
+}
+
+void VymView::collapseOneLevel()
+{
+    int level = -1;
+    int d;
+    BranchItem *cur = NULL;
+    BranchItem *prev = NULL;
+    QModelIndex pix;
+
+    // Find level to collapse
+    model->nextBranch(cur, prev);
+    while (cur) {
+        pix = model->index(cur);
+        d = cur->depth();
+        if (treeEditor->isExpanded(pix) && d > level)
+            level = d;
+        model->nextBranch(cur, prev);
+    }
+
+    // collapse all to level
+    cur = NULL;
+    prev = NULL;
+    model->nextBranch(cur, prev);
+    while (cur) {
+        pix = model->index(cur);
+        d = cur->depth();
+        if (treeEditor->isExpanded(pix) && d >= level)
+            treeEditor->setExpanded(pix, false);
+        model->nextBranch(cur, prev);
+    }
+}
+
+void VymView::collapseUnselected()
+{
+    QModelIndex pix;
+
+    // Find level to collapse
+    BranchItem *selbi = model->getSelectedBranch();
+    if (!selbi)
+        return;
+
+    QList<BranchItem *> itemPath;
+
+    // Do not include selected branch,
+    // this one also should be collapsed later
+    BranchItem *cur = selbi->parentBranch();
+    BranchItem *prev = NULL;
+
+    while (cur->parentBranch()) {
+        itemPath << cur;
+        cur = cur->parentBranch();
+    }
+
+    cur = NULL;
+
+    // collapse all to level
+    model->nextBranch(cur, prev);
+    while (cur) {
+        pix = model->index(cur);
+        if (treeEditor->isExpanded(pix) && itemPath.indexOf(cur) < 0) {
+            treeEditor->setExpanded(pix, false);
+        }
+        model->nextBranch(cur, prev);
+    }
+}
+
+void VymView::showSelection(bool scaled)
+{
+    QModelIndex ix = model->getSelectedIndex();
+    treeEditor->scrollTo(ix, QAbstractItemView::EnsureVisible);
+    mapEditor->ensureSelectionVisibleAnimated(scaled);
+}
+
+void VymView::toggleTreeEditor()
+{
+    if (treeEditorDE->isVisible()) {
+        treeEditorDE->hide();
+        settings.setLocalValue(model->getFilePath(), "/treeEditor/visible",
+                               "false");
+    }
+    else {
+        treeEditorDE->show();
+        settings.setLocalValue(model->getFilePath(), "/treeEditor/visible",
+                               "true");
+    }
+    model->setChanged();
+}
+
+void VymView::toggleSlideEditor()
+{
+    if (slideEditorDE->isVisible()) {
+        slideEditorDE->hide();
+        settings.setLocalValue(model->getFilePath(), "/slideEditor/visible",
+                               "false");
+    }
+    else {
+        slideEditorDE->show();
+        settings.setLocalValue(model->getFilePath(), "/slideEditor/visible",
+                               "true");
+    }
+}
+
+void VymView::setFocusMapEditor() { mapEditor->setFocus(); }
diff --git a/src/vymview.h b/src/vymview.h
new file mode 100644 (file)
index 0000000..cd1530d
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef VYMVIEW_H
+#define VYMVIEW_H
+
+#include <QItemSelectionModel>
+#include <QMainWindow>
+#include <QWidget>
+
+class DockEditor;
+class VymModel;
+class MapEditor;
+class SlideEditor;
+class TreeEditor;
+class QTreeView;
+
+class VymView : public QMainWindow {
+    Q_OBJECT
+  public:
+    VymView(VymModel *model);
+    ~VymView();
+    void readSettings();
+    VymModel *getModel();
+    MapEditor *getMapEditor();
+    bool treeEditorIsVisible();
+    bool slideEditorIsVisible();
+    void initFocus();
+    void nextSlide();
+    void previousSlide();
+    void setSelectionBrush(const QBrush &);
+    void setBackgroundColor(const QColor &);
+    void setLinkColor(const QColor &);
+
+  public slots:
+    void changeSelection(const QItemSelection &newSel,
+                         const QItemSelection &delSel);
+    void updateDockWidgetTitles();
+    void expandAll();
+    void expandOneLevel();
+    void collapseOneLevel();
+    void collapseUnselected();
+    void showSelection(bool scaled);
+    void toggleTreeEditor();
+    void toggleSlideEditor();
+    void setFocusMapEditor();
+
+  private:
+    VymModel *model;
+    TreeEditor *treeEditor;
+    DockEditor *treeEditorDE;
+    SlideEditor *slideEditor;
+    DockEditor *slideEditorDE;
+
+    MapEditor *mapEditor;
+    // DockEditor *mapEditorDE;
+    QItemSelectionModel *selModel;
+};
+
+#endif
diff --git a/src/warningdialog.cpp b/src/warningdialog.cpp
new file mode 100644 (file)
index 0000000..6af81fd
--- /dev/null
@@ -0,0 +1,73 @@
+#include "warningdialog.h"
+#include "settings.h"
+
+extern Settings settings;
+
+WarningDialog::WarningDialog(QWidget *parent) : QDialog(parent)
+{
+    ui.setupUi(this);
+    // TODO proper icon for proceed needed
+    ui.okButton->setText(tr("Proceed"));
+    // ui.warningSign->setPixmap (QPixmap(":/vym.png"));
+    ui.showAgainBox->setText(tr("Show this message again"));
+    useShowAgain = false;
+    ui.showAgainBox->hide();
+    QDialog::setWindowTitle(
+        "VYM - " + tr("Warning", "Warning dialog default window name"));
+}
+
+int WarningDialog::exec()
+{
+    int result;
+    if (settings.value("/warningDialog/" + showAgainName + "/showAgain", true)
+            .toBool()) {
+        // Really show dialog
+        result = QDialog::exec();
+        if (result == QDialog::Accepted) {
+            if (useShowAgain) {
+                settings.setValue("/warningDialog/" + showAgainName + "/value",
+                                  result);
+                settings.setValue("/warningDialog/" + showAgainName +
+                                      "/showAgain",
+                                  ui.showAgainBox->isChecked());
+                settings.setValue("/warningDialog/" + showAgainName +
+                                      "/showAgain",
+                                  ui.showAgainBox->isChecked());
+            }
+        }
+    }
+    else {
+        // Surpress dialog and use result from last shown dialog
+        result = settings.value("/warningDialog/" + showAgainName + "/value", 0)
+                     .toInt();
+    }
+    return result;
+}
+
+void WarningDialog::showCancelButton(bool b)
+{
+    if (b) {
+        ui.cancelButton->show();
+        ui.cancelButton->setText(tr("Cancel"));
+    }
+    else
+        ui.cancelButton->hide();
+}
+
+void WarningDialog::setShowAgainName(const QString &s)
+{
+    showAgainName = s;
+    useShowAgain = true;
+    ui.showAgainBox->show();
+}
+
+void WarningDialog::setText(const QString &s) { ui.warningTE->setText(s); }
+
+void WarningDialog::setCaption(const QString &s)
+{
+    QDialog::setWindowTitle("VYM - " + s);
+}
+void WarningDialog::setAcceptedText(const QString &s)
+{
+    ui.okButton->setText(s);
+}
diff --git a/src/warningdialog.h b/src/warningdialog.h
new file mode 100644 (file)
index 0000000..4d2fc3e
--- /dev/null
@@ -0,0 +1,27 @@
+#ifndef WARNINGDIALOG_H
+#define WARNINGDIALOG_H
+
+#include "ui_warningdialog.h"
+
+class WarningDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    WarningDialog(QWidget *parent = 0);
+    int exec();
+
+  public slots:
+    virtual void showCancelButton(bool b);
+    virtual void setShowAgainName(const QString &s);
+    virtual void setText(const QString &s);
+    virtual void setCaption(const QString &s);
+    virtual void setAcceptedText(const QString &s);
+
+  private:
+    void init();
+    bool useShowAgain;
+    QString showAgainName;
+    Ui::WarningDialog ui;
+};
+
+#endif // WARNINGDIALOG_H
diff --git a/src/winter.cpp b/src/winter.cpp
new file mode 100644 (file)
index 0000000..996e763
--- /dev/null
@@ -0,0 +1,290 @@
+#include "winter.h"
+
+#include <QDebug>
+#include <QGraphicsScene>
+#include <QGraphicsView>
+#include <QPen>
+#include <QRandomGenerator>
+
+
+#include "mapobj.h"
+#include "misc.h"
+
+SnowFlake::SnowFlake(QGraphicsScene *scene, SnowType t)
+{
+    type = t;
+
+    size = QRandomGenerator::global()->bounded(10) + 3;
+    QPen p(Qt::white);
+    dv = QPointF(
+            QRandomGenerator::global()->bounded(10) / 10.0 - 0.5,
+            QRandomGenerator::global()->bounded(10) / 10.0 + 1);
+
+    switch (type) {
+        case Smilla: {
+            int s4 = size / 4;
+            int s3 = size / 3;
+            int s6 = size / 6;
+
+            for (int a = 0; a < 6; a++) {
+                lines.append(scene->addLine(0, -s6, 0, -size));
+                lines.last()->setRotation(a * 60);
+
+                lines.append(scene->addLine(-s4, -size + s6, 0, -size + s3));
+                lines.last()->setRotation(a * 60);
+
+                lines.append(scene->addLine(s4, -size + s6, 0, -size + s3));
+                lines.last()->setRotation(a * 60);
+            }
+
+            foreach (QGraphicsLineItem *l, lines) {
+                l->setZValue(1000);
+                l->setPen(p);
+                l->setParentItem(this);
+                l->setZValue(Z_SNOW);
+            }
+            da = QRandomGenerator::global()->bounded(20) / 10.0 - 1;
+        }
+            setRotation(QRandomGenerator::global()->bounded(60));
+            break;
+        case Disc:
+            disc = scene->addEllipse(0, 0, size, size, p);
+            disc->setParentItem(this);
+            disc->setBrush(Qt::white);
+            disc->setZValue(Z_SNOW);
+            break;
+        case Egg:
+            disc = scene->addEllipse(0, 0, size, size * 1.5, p);
+            disc->setParentItem(this);
+            disc->setBrush(QColor(
+                QRandomGenerator::global()->bounded(100) + 150,
+                QRandomGenerator::global()->bounded(100) + 150,
+                QRandomGenerator::global()->bounded(100) + 150, 255));
+            disc->setZValue(Z_SNOW);
+            break;
+        default:
+            break;
+    }
+}
+
+SnowFlake::~SnowFlake()
+{
+    // qDebug()<<"Destr. SnowFlake";
+    switch (type) {
+        case (Smilla):
+            while (lines.isEmpty())
+                delete lines.takeFirst();
+            break;
+        case Egg:
+            delete disc;
+            break;
+        case Disc:
+            delete disc;
+            break;
+        default:
+            break;
+    }
+}
+
+QRectF SnowFlake::boundingRect() const
+{
+    return QRectF(-size, -size, size * 2, size * 2);
+}
+
+void SnowFlake::paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *)
+{
+}
+
+void SnowFlake::animate()
+{
+    moveBy(dv.x() + dblow.x(), dv.y() + dblow.y());
+
+    if (type == SnowFlake::Smilla)
+        setRotation(rotation() + da);
+
+    dblow = dblow * 0.9;
+}
+
+void SnowFlake::blow(const QPointF &v) { dblow = v; }
+
+Winter::Winter(QGraphicsView *v)
+{
+    view = v;
+
+    updateView();
+    /*
+    test = view->scene()->addRect(
+            QRectF(viewRect.topLeft(), viewRect.bottomRight()),
+            QPen(Qt::blue) );
+    */
+
+    type = SnowFlake::Egg;
+
+    switch (type) {
+        case SnowFlake::Smilla:
+            maxFlakes = 1500;
+            maxFalling = 140;
+            maxUnfreeze = 50;
+            break;
+        case SnowFlake::Egg:
+            maxFlakes = 500;
+            maxFalling = 150;
+            maxUnfreeze = 50;
+            break;
+        default:
+            maxFlakes = 6500;
+            maxFalling = 850;
+            maxUnfreeze = 50;
+            break;
+    }
+
+    animTimer = new QTimer;
+    connect(animTimer, SIGNAL(timeout()), this, SLOT(animate()));
+    animTimer->start(50);
+
+    snowTimer = new QTimer;
+    connect(snowTimer, SIGNAL(timeout()), this, SLOT(makeSnow()));
+    //snowTimer->setSingleShot(true);
+
+    makeSnow();
+}
+
+Winter::~Winter()
+{
+    delete animTimer;
+    delete snowTimer;
+    while (!fallingSnow.isEmpty())
+        delete fallingSnow.takeFirst();
+    while (!frozenSnow.isEmpty())
+        delete frozenSnow.takeFirst();
+}
+
+void Winter::updateView()
+{
+    QPointF topLeft = view->mapToScene(0, 0);
+    QPointF topRight = view->mapToScene(view->rect().width(), 0);
+    QPointF botLeft = view->mapToScene(0, view->rect().height());
+    QPointF botRight =
+        view->mapToScene(view->rect().width(), view->rect().height());
+
+    QPointF p0;
+    QPointF p1;
+
+    topLeft.y() < topRight.y() ? p0.setY(topLeft.y()) : p0.setY(topRight.y());
+    topLeft.x() < topRight.x() ? p0.setX(topLeft.x()) : p0.setX(topRight.x());
+
+    botLeft.y() > botRight.y() ? p1.setY(botLeft.y()) : p1.setY(botRight.y());
+    botLeft.x() > botRight.x() ? p1.setX(botLeft.x()) : p1.setX(botRight.x());
+
+    viewRect = QRectF(p0, p1);
+}
+
+void Winter::setObstacles(QList<QRectF> obslist)
+{
+    obstacles = obslist;
+
+    QList<SnowFlake *> unfreeze;
+
+    // Find frozen snowflakes, which are free again
+    QPointF p;
+    int i = 0;
+    bool frozen;
+    while (i < frozenSnow.count()) {
+        p = frozenSnow.at(i)->pos();
+        frozen = false;
+
+        int j = 0;
+        while (j < obstacles.count() && !frozen)
+
+        {
+            if (obstacles.at(j).contains(p))
+                frozen = true;
+            j++;
+        }
+        if (!frozen) {
+            unfreeze.append(frozenSnow.at(i));
+            frozenSnow.removeAt(i);
+        }
+        else
+            i++;
+    }
+
+    // Remove some flakes, if too many
+    while (fallingSnow.count() + unfreeze.count() > maxFalling + maxUnfreeze)
+        delete unfreeze.takeFirst();
+
+    while (!unfreeze.isEmpty()) {
+        // Blow a bit up
+        unfreeze.first()->blow(
+            QPointF(
+                QRandomGenerator::global()->bounded(10) / 10.0 - 0.5,
+                QRandomGenerator::global()->bounded(10) / 10.0 - 5));
+        fallingSnow.append(unfreeze.takeFirst());
+    }
+}
+
+void Winter::animate()
+{
+    // test->setRect(QRectF(viewRect.topLeft(), viewRect.bottomRight()));
+
+    QPointF p;
+    int i = 0;
+    bool cont;
+    while (i < fallingSnow.count()) {
+        p = fallingSnow.at(i)->pos();
+        cont = true;
+
+        int j = 0;
+        while (j < obstacles.count() && cont) {
+            if (obstacles.at(j).contains(p) &&
+                QRandomGenerator::global()->bounded(obstacles.count() + 1) > obstacles.count() - 1) {
+                // Freeze snowflake on obstacle
+                // Probality is equale for obstacles or falling through
+                frozenSnow.append(fallingSnow.at(i));
+                fallingSnow.removeAt(i);
+                cont = false;
+            }
+            j++;
+        }
+        if (cont && p.y() > viewRect.bottomRight().y() + 20)
+
+        {
+            delete fallingSnow.takeAt(i);
+            cont = false;
+        }
+        // Let snowflake fall further
+        if (cont)
+            fallingSnow.at(i)->animate();
+        i++;
+    }
+}
+
+void Winter::makeSnow()
+{
+    // qDebug()<<"falling: "<<fallingSnow.count()<<"  frozen:
+    // "<<frozenSnow.count();
+    if (fallingSnow.count() + frozenSnow.count() < maxFlakes) {
+        if (fallingSnow.count() < maxFalling) {
+            // Create more snowflakes
+            SnowFlake *snowflake;
+            for (int i = 0; i < 10; i++) {
+                snowflake = new SnowFlake(view->scene(), type);
+                view->scene()->addItem(snowflake);
+                snowflake->setPos(rand() % round_int(viewRect.width()) +
+                                      viewRect.x(),
+                                  viewRect.y() - 20);
+                fallingSnow.append(snowflake);
+            }
+        }
+    }
+    else {
+        // Remove some of the existing frozen flakes
+        for (int i = 0; i < 10; i++) {
+            if (frozenSnow.count() > 0) {
+                int j = QRandomGenerator::global()->bounded(frozenSnow.count());
+                delete frozenSnow.takeAt(j);
+            }
+        }
+    }
+    snowTimer->start(2000);
+}
diff --git a/src/winter.h b/src/winter.h
new file mode 100644 (file)
index 0000000..9667541
--- /dev/null
@@ -0,0 +1,62 @@
+#ifndef WINTER_H
+#define WINTER_H
+
+#include <QGraphicsItem>
+#include <QObject>
+#include <QRectF>
+#include <QTimer>
+
+class QGraphicsView;
+class QGraphicsScene;
+
+class SnowFlake : public QGraphicsItem {
+  public:
+    enum SnowType { Smilla, Disc, Egg };
+
+    SnowFlake(QGraphicsScene *scene, SnowType type);
+    ~SnowFlake();
+    QRectF boundingRect() const;
+    void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
+    void animate();
+    void blow(const QPointF &v);
+
+  private:
+    SnowType type;
+    int size;
+    QList<QGraphicsLineItem *> lines;
+    QGraphicsEllipseItem *disc;
+    QPointF dv;
+    QPointF dblow;
+    qreal da;
+};
+
+class Winter : public QObject {
+    Q_OBJECT
+  public:
+    Winter(QGraphicsView *view);
+    ~Winter();
+    void updateView();
+    void setObstacles(QList<QRectF> obslist);
+
+  public slots:
+    void animate();
+    void makeSnow();
+
+  private:
+    QGraphicsView *view;
+    QList<SnowFlake *> fallingSnow;
+    QList<SnowFlake *> frozenSnow;
+    int maxFlakes;
+    QTimer *animTimer;
+    QTimer *snowTimer;
+    QList<QRectF> obstacles;
+
+    SnowFlake::SnowType type;
+    int maxFalling;
+    int maxUnfreeze;
+    // QGraphicsRectItem *test;
+
+    QRectF viewRect;
+};
+
+#endif
diff --git a/src/xlink.cpp b/src/xlink.cpp
new file mode 100644 (file)
index 0000000..1be589d
--- /dev/null
@@ -0,0 +1,264 @@
+#include <QDebug>
+
+#include "xlink.h"
+
+#include "branchitem.h"
+#include "misc.h"
+#include "vymmodel.h"
+#include "xlinkitem.h"
+#include "xlinkobj.h"
+
+class VymModel;
+
+/////////////////////////////////////////////////////////////////
+// Link
+/////////////////////////////////////////////////////////////////
+
+Link::Link(VymModel *m)
+{
+    // qDebug() << "Const Link () this="<<this;
+    model = m;
+    init();
+}
+
+Link::~Link()
+{
+    //    qDebug()<<"* Destr Link begin this="<<this<<"  bLI="<<beginLinkItem<<"
+    //    eLI="<<endLinkItem;
+    deactivate();
+    //    qDebug()<<"* Destr Link end   this="<<this;
+}
+
+void Link::init()
+{
+    xlo = NULL;
+    beginBranch = NULL;
+    endBranch = NULL;
+    beginLinkItem = NULL;
+    endLinkItem = NULL;
+    xLinkState = Link::undefinedXLink;
+
+    type = Bezier;
+    pen = model->getMapDefXLinkPen();
+}
+
+VymModel *Link::getModel() { return model; }
+
+void Link::setBeginBranch(BranchItem *bi)
+{
+    if (bi) {
+        xLinkState = initXLink;
+        beginBranch = bi;
+    }
+}
+
+BranchItem *Link::getBeginBranch() { return beginBranch; }
+
+void Link::setEndBranch(BranchItem *bi)
+{
+    if (bi) {
+        endBranch = bi;
+        if (xlo)
+            xlo->initC1();
+    }
+}
+
+BranchItem *Link::getEndBranch() { return endBranch; }
+
+void Link::setEndPoint(QPointF p)
+{
+    // Used only while creating the link, without endBranch
+    if (xlo)
+        xlo->setEnd(p);
+}
+
+void Link::setBeginLinkItem(XLinkItem *li)
+{
+    if (li) {
+        xLinkState = initXLink;
+        beginLinkItem = li;
+    }
+}
+
+XLinkItem *Link::getBeginLinkItem() { return beginLinkItem; }
+
+void Link::setEndLinkItem(XLinkItem *li)
+{
+    if (li) {
+        xLinkState = initXLink;
+        endLinkItem = li;
+    }
+}
+
+XLinkItem *Link::getEndLinkItem() { return endLinkItem; }
+
+XLinkItem *Link::getOtherEnd(XLinkItem *xli)
+{
+    if (xli == beginLinkItem)
+        return endLinkItem;
+    if (xli == endLinkItem)
+        return beginLinkItem;
+    return NULL;
+}
+
+void Link::setPen(const QPen &p)
+{
+    pen = p;
+    if (xlo)
+        xlo->updateXLink();
+}
+
+QPen Link::getPen() { return pen; }
+
+void Link::setLinkType(const QString &s)
+{
+    if (s == "Linear")
+        type = Linear;
+    else if (s == "Bezier")
+        type = Bezier;
+    else
+        qWarning() << "Link::setLinkType  Unknown type: " << s;
+}
+
+void Link::setStyleBegin(const QString &s)
+{
+    if (xlo) {
+        xlo->setStyleBegin(s);
+        xlo->updateXLink();
+    }
+}
+
+QString Link::getStyleBeginString()
+{
+    if (xlo)
+        return ArrowObj::styleToString(xlo->getStyleBegin());
+    else
+        return QString();
+}
+
+void Link::setStyleEnd(const QString &s)
+{
+    if (xlo) {
+        xlo->setStyleEnd(s);
+        xlo->updateXLink();
+    }
+}
+
+QString Link::getStyleEndString()
+{
+    if (xlo)
+        return ArrowObj::styleToString(xlo->getStyleEnd());
+    else
+        return QString();
+}
+
+bool Link::activate()
+{
+    if (beginBranch && endBranch) {
+        if (beginBranch == endBranch)
+            return false;
+        xLinkState = activeXLink;
+        model->updateActions();
+        return true;
+    }
+    else
+        return false;
+}
+
+void Link::deactivate()
+{
+    // Remove pointers from XLinkItem to Link and
+    // delete XLinkObj
+
+    //    qDebug()<<"Link::deactivate ******************************";
+    xLinkState = deleteXLink;
+    if (beginLinkItem)
+        beginLinkItem->setLink(NULL);
+    if (endLinkItem)
+        endLinkItem->setLink(NULL);
+    if (xlo) {
+        delete (xlo);
+        xlo = NULL;
+    }
+}
+
+Link::XLinkState Link::getState() { return xLinkState; }
+
+void Link::removeXLinkItem(XLinkItem *xli)
+{
+    // Only mark _one_ end for removal here!
+    if (xli == beginLinkItem)
+        beginLinkItem = NULL;
+    if (xli == endLinkItem)
+        endLinkItem = NULL;
+    xLinkState = deleteXLink;
+}
+
+void Link::updateLink()
+{
+    if (xlo)
+        xlo->updateXLink();
+}
+
+QString Link::saveToDir()
+{
+    //    qDebug()<<"Link::saveToDir  this="<<this<<"
+    //    beginBranch="<<beginBranch<<"  endBranch="<<endBranch<<"
+    //    state="<<xLinkState;
+    QString s = "";
+    if (beginBranch && endBranch && xLinkState == activeXLink) {
+        if (beginBranch == endBranch)
+            qWarning(
+                "Link::saveToDir  ignored, because beginBranch==endBranch, ");
+        else {
+            QString colAttr = attribut("color", pen.color().name());
+            QString widAttr =
+                attribut("width", QString().setNum(pen.width(), 10));
+            QString styAttr =
+                attribut("penstyle", penStyleToString(pen.style()));
+            QString ctrlAttr;
+            QString typeAttr;
+            switch (type) {
+            case Linear:
+                typeAttr = attribut("type", "Linear");
+                break;
+            case Bezier:
+                typeAttr = attribut("type", "Bezier");
+                if (xlo) {
+                    ctrlAttr += attribut("c0", pointToString(xlo->getC0()));
+                    ctrlAttr += attribut("c1", pointToString(xlo->getC1()));
+                }
+                break;
+            }
+            QString begSelAttr =
+                attribut("beginID", model->getSelectString(beginBranch));
+            QString endSelAttr =
+                attribut("endID", model->getSelectString(endBranch));
+            QString styleAttr;
+            if (xlo) {
+                styleAttr =
+                    QString(" styleBegin=\"%1\"")
+                        .arg(ArrowObj::styleToString(xlo->getStyleBegin()));
+                styleAttr +=
+                    QString(" styleEnd=\"%1\"")
+                        .arg(ArrowObj::styleToString(xlo->getStyleEnd()));
+            }
+            s = singleElement("xlink", colAttr + widAttr + styAttr + typeAttr +
+                                           ctrlAttr + begSelAttr + endSelAttr +
+                                           styleAttr);
+        }
+    }
+    return s;
+}
+
+XLinkObj *Link::getXLinkObj() { return xlo; }
+
+XLinkObj *Link::createMapObj()
+{
+    if (!xlo)
+        xlo = new XLinkObj(beginBranch->getLMO(), this);
+    xlo->setVisibility();
+    return xlo;
+}
+
+MapObj *Link::getMO() { return xlo; }
diff --git a/src/xlink.h b/src/xlink.h
new file mode 100644 (file)
index 0000000..66f0fb5
--- /dev/null
@@ -0,0 +1,70 @@
+#ifndef LINK_H
+#define LINK_H
+
+#include <QColor>
+#include <QPen>
+
+#include "xmlobj.h"
+
+class QPointF;
+class QGraphicsScene;
+class QString;
+
+class BranchItem;
+class MapObj;
+class LinkableMapObj;
+class VymModel;
+class XLinkItem;
+class XLinkObj;
+
+class Link : public XMLObj {
+  public:
+    enum XLinkState { undefinedXLink, initXLink, activeXLink, deleteXLink };
+    enum LinkType { Linear, Bezier };
+
+    Link(VymModel *m);
+    virtual ~Link();
+    virtual void init();
+    VymModel *getModel();
+    void setBeginBranch(BranchItem *);
+    BranchItem *getBeginBranch();
+    void setEndBranch(BranchItem *);
+    void setEndPoint(QPointF);
+    BranchItem *getEndBranch();
+    void setBeginLinkItem(XLinkItem *);
+    XLinkItem *getBeginLinkItem();
+    void setEndLinkItem(XLinkItem *);
+    XLinkItem *getEndLinkItem();
+    XLinkItem *getOtherEnd(XLinkItem *);
+    void setPen(const QPen &p);
+    QPen getPen();
+    void setLinkType(const QString &s);
+    void setStyleBegin(const QString &s);
+    QString getStyleBeginString();
+    void setStyleEnd(const QString &s);
+    QString getStyleEndString();
+    bool activate();
+    void deactivate();
+    XLinkState getState();
+    void removeXLinkItem(XLinkItem *xli);
+    void updateLink();
+    QString saveToDir();
+    XLinkObj *getXLinkObj();
+    XLinkObj *createMapObj();
+    MapObj *getMO();
+
+  private:
+    XLinkState xLinkState; // init during drawing or active
+    LinkType type;
+    QPen pen;
+
+    XLinkObj *xlo;
+    VymModel *model;
+
+    BranchItem *beginBranch;
+    BranchItem *endBranch;
+    XLinkItem *beginLinkItem;
+    XLinkItem *endLinkItem;
+};
+
+#endif
diff --git a/src/xlinkitem.cpp b/src/xlinkitem.cpp
new file mode 100644 (file)
index 0000000..e3df3e1
--- /dev/null
@@ -0,0 +1,81 @@
+#include "xlinkitem.h"
+#include <QGraphicsScene>
+
+#include "branchitem.h"
+#include "linkablemapobj.h"
+#include "vymmodel.h"
+#include "xlinkobj.h"
+
+/////////////////////////////////////////////////////////////////
+// XLinkItem
+/////////////////////////////////////////////////////////////////
+
+XLinkItem::XLinkItem(TreeItem *parent)
+    : MapItem(parent)
+
+{
+    // qDebug() << "Const XLinkItem () "<<this;
+    init();
+}
+
+XLinkItem::~XLinkItem()
+{
+    //   qDebug() << "Destr XLinkItem begin "<<this<<"  pI="<<parentItem<<"
+    //   link="<<link;
+    if (link) {
+        XLinkItem *xli = link->getOtherEnd(this);
+        if (xli)
+            model->deleteLater(xli->getID());
+        model->deleteLink(link);
+    }
+    //    qDebug() << "Destr XLinkItem end";
+}
+
+void XLinkItem::init()
+{
+    setType(XLink);
+    link = nullptr;
+}
+
+void XLinkItem::clear() {}
+
+void XLinkItem::setLink(Link *l) { link = l; }
+
+Link *XLinkItem::getLink() { return link; }
+
+void XLinkItem::updateXLink()
+{
+    if (link)
+        link->updateLink();
+}
+
+MapObj *XLinkItem::getMO()
+{
+    if (link)
+        return link->getMO();
+    return nullptr;
+}
+
+void XLinkItem::setSelection()
+{
+    if (link) {
+        XLinkObj *xlo = (XLinkObj *)getMO();
+        if (xlo) {
+            if (parentItem == link->getBeginBranch())
+                xlo->setSelection(XLinkObj::C0);
+            else if (parentItem == link->getEndBranch())
+                xlo->setSelection(XLinkObj::C1);
+        }
+    }
+}
+
+BranchItem *XLinkItem::getPartnerBranch()
+{
+    if (link && link->getBeginBranch() && link->getEndBranch()) {
+        if (parentItem == link->getBeginBranch())
+            return link->getEndBranch();
+        else
+            return link->getBeginBranch();
+    }
+    return NULL;
+}
diff --git a/src/xlinkitem.h b/src/xlinkitem.h
new file mode 100644 (file)
index 0000000..016b869
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef XLINKITEM_H
+#define XLINKITEM_H
+
+class BranchItem;
+class QGraphicsScene;
+class XLinkObj;
+
+#include "mapitem.h"
+#include "xlink.h"
+
+/*! \brief xlinks are used to draw arbitrary connections between branches
+ * (BranchObj) in the map. */
+
+/////////////////////////////////////////////////////////////////////////////
+
+class XLinkItem : public MapItem {
+  public:
+    enum XLinkState { undefinedXLink, initXLink, activeXLink, deleteXLink };
+
+    XLinkItem(TreeItem *parent = NULL);
+    ~XLinkItem();
+    void init();
+    void clear();
+    void setLink(Link *);
+    Link *getLink();
+    void updateXLink();
+    MapObj *getMO();
+    void setSelection();
+    BranchItem *getPartnerBranch();
+
+  private:
+    Link *link;
+};
+
+#endif
diff --git a/src/xlinkobj.cpp b/src/xlinkobj.cpp
new file mode 100644 (file)
index 0000000..eae7421
--- /dev/null
@@ -0,0 +1,491 @@
+#include <QDebug>
+
+#include "xlinkobj.h"
+
+#include "branchitem.h"
+#include "branchobj.h"
+#include "math.h" // atan
+#include "misc.h" // max
+
+/////////////////////////////////////////////////////////////////
+// XLinkObj
+/////////////////////////////////////////////////////////////////
+
+int XLinkObj::arrowSize = 6; // make instances
+int XLinkObj::clickBorder = 8;
+int XLinkObj::pointRadius = 10;
+int XLinkObj::d_control = 300;
+
+XLinkObj::XLinkObj(QGraphicsItem *parent, Link *l) : MapObj(parent)
+{
+    // qDebug()<< "Const XLinkObj (parent,Link)";
+    link = l;
+    init();
+}
+
+XLinkObj::~XLinkObj()
+{
+    // qDebug() << "Destr XLinkObj";
+    delete (poly);
+    delete (path);
+    delete (ctrl_p0);
+    delete (ctrl_p1);
+    delete (pointerEnd);
+    delete (pointerBegin);
+}
+
+void XLinkObj::init()
+{
+    visBranch = NULL;
+
+    stateVis = Hidden;
+
+    QPen pen = link->getPen();
+
+    path = scene()->addPath(QPainterPath(), pen, Qt::NoBrush);
+    path->setZValue(dZ_XLINK);
+
+    pointerBegin = new ArrowObj(this);
+    pointerBegin->setPen(pen);
+    pointerBegin->setUseFixedLength(true);
+    pointerBegin->setFixedLength(0);
+
+    pointerEnd = new ArrowObj(this);
+    pointerEnd->setPen(pen);
+    pointerEnd->setUseFixedLength(true);
+    pointerEnd->setFixedLength(0);
+
+    pen.setStyle(Qt::SolidLine);
+    poly = scene()->addPolygon(QPolygonF(), pen, pen.color());
+    poly->setZValue(dZ_XLINK);
+
+    // Control points for bezier path
+    // (We have at least a begin branch, consider its orientation)
+    initC0();
+    initC1();
+
+    ctrl_p0 = scene()->addEllipse(c0.x(), c0.y(), clickBorder * 2,
+                                  clickBorder * 2, pen, pen.color());
+    ctrl_p1 = scene()->addEllipse(c1.x(), c1.y(), clickBorder * 2,
+                                  clickBorder * 2, pen, pen.color());
+
+    beginOrient = endOrient = LinkableMapObj::UndefinedOrientation;
+    pen.setWidth(1);
+    pen.setStyle(Qt::DashLine);
+
+    curSelection = Unselected;
+
+    setVisibility(true);
+}
+
+QPointF XLinkObj::getAbsPos()
+{
+    switch (curSelection) {
+    case C0:
+        return c0;
+        break;
+    case C1:
+        return c1;
+        break;
+    default:
+        return QPointF();
+        break;
+    }
+}
+
+void XLinkObj::setStyleBegin(const QString &s) { pointerBegin->setStyleEnd(s); }
+
+void XLinkObj::setStyleBegin(ArrowObj::OrnamentStyle os)
+{
+    pointerBegin->setStyleEnd(os);
+}
+
+ArrowObj::OrnamentStyle XLinkObj::getStyleBegin()
+{
+    return pointerBegin->getStyleEnd();
+}
+
+void XLinkObj::setStyleEnd(const QString &s) { pointerEnd->setStyleEnd(s); }
+
+void XLinkObj::setStyleEnd(ArrowObj::OrnamentStyle os)
+{
+    pointerEnd->setStyleEnd(os);
+}
+
+ArrowObj::OrnamentStyle XLinkObj::getStyleEnd()
+{
+    return pointerEnd->getStyleEnd();
+}
+
+QPointF XLinkObj::getBeginPos() { return beginPos; }
+
+QPointF XLinkObj::getEndPos() { return endPos; }
+
+void XLinkObj::move(QPointF p)
+{
+    switch (curSelection) {
+    case C0:
+        c0 = p;
+        break;
+    case C1:
+        c1 = p;
+        break;
+    default:
+        break;
+    }
+    updateXLink();
+}
+
+void XLinkObj::setEnd(QPointF p) { endPos = p; }
+
+void XLinkObj::setSelection(CurrentSelection s)
+{
+    curSelection = s;
+    setVisibility();
+}
+
+void XLinkObj::setSelection(int cp)
+{
+    if (cp == 0)
+        setSelection(C0);
+    else if (cp == 1)
+        setSelection(C1);
+    else
+        qWarning() << "XLO::setSelection cp=" << cp;
+}
+
+void XLinkObj::updateXLink()
+{
+    QPointF a, b;
+    QPolygonF pa;
+
+    BranchObj *beginBO = NULL;
+    BranchObj *endBO = NULL;
+    BranchItem *bi = link->getBeginBranch();
+    if (bi)
+        beginBO = (BranchObj *)(bi->getLMO());
+    bi = link->getEndBranch();
+    if (bi)
+        endBO = (BranchObj *)(bi->getLMO());
+
+    if (beginBO) {
+        if (beginOrient != LinkableMapObj::UndefinedOrientation &&
+            beginOrient != beginBO->getOrientation())
+            c0.setX(-c0.x());
+        beginOrient = beginBO->getOrientation();
+    }
+    if (endBO) {
+        if (endOrient != LinkableMapObj::UndefinedOrientation &&
+            endOrient != endBO->getOrientation())
+            c1.setX(-c1.x());
+        endOrient = endBO->getOrientation();
+    }
+
+    if (visBranch) {
+        // Only one of the linked branches is visible
+        // Draw arrowhead   //FIXME-3 missing shaft of arrow
+        BranchObj *bo = (BranchObj *)(visBranch->getLMO());
+        if (!bo)
+            return;
+
+        a = b = bo->getChildRefPos();
+
+        if (bo->getOrientation() == LinkableMapObj::RightOfCenter) {
+            b.setX(b.x() + 2 * arrowSize);
+            pa.clear();
+            pa << a << b << QPointF(b.x(), b.y() - arrowSize)
+               << QPointF(b.x() + arrowSize, b.y())
+               << QPointF(b.x(), b.y() + arrowSize) << b << a;
+            poly->setPolygon(pa);
+        }
+        else {
+            b.setX(b.x() - 2 * arrowSize);
+            pa.clear();
+            pa << a << b << QPointF(b.x(), b.y() - arrowSize)
+               << QPointF(b.x() - arrowSize, b.y())
+               << QPointF(b.x(), b.y() + arrowSize) << b << a;
+            poly->setPolygon(pa);
+        }
+    }
+    else {
+        // Both linked branches are visible
+
+        // If a link is just drawn in the editor,
+        // we have already a beginBranch
+        if (beginBO)
+            beginPos = beginBO->getChildRefPos();
+        if (endBO)
+            endPos = endBO->getChildRefPos();
+
+        if (beginBO && endBO) {
+            pointerBegin->move(beginPos + c0);
+            pointerBegin->setEndPoint(beginPos);
+
+            pointerEnd->move(endPos + c1);
+            pointerEnd->setEndPoint(endPos);
+        }
+    }
+
+    // Update control points for bezier
+    QPainterPath p(beginPos);
+    p.cubicTo(beginPos + c0, endPos + c1, endPos);
+
+    clickPath = p;
+    path->setPath(p);
+
+    // Go back to create closed curve,
+    // needed for intersection check:
+    clickPath.cubicTo(endPos + c1, beginPos + c0, beginPos);
+
+    QPen pen = link->getPen();
+    path->setPen(pen);
+    poly->setBrush(pen.color());
+
+    pointerBegin->setPen(pen);
+    pointerEnd->setPen(pen);
+
+    pen.setStyle(Qt::SolidLine);
+
+    ctrl_p0->setRect(beginPos.x() + c0.x() - pointRadius / 2,
+                     beginPos.y() + c0.y() - pointRadius / 2, pointRadius,
+                     pointRadius);
+    ctrl_p0->setPen(pen);
+    ctrl_p0->setBrush(pen.color());
+
+    ctrl_p1->setRect(endPos.x() + c1.x() - pointRadius / 2,
+                     endPos.y() + c1.y() - pointRadius / 2, pointRadius,
+                     pointRadius);
+    ctrl_p1->setPen(pen);
+    ctrl_p1->setBrush(pen.color());
+
+    BranchItem *bi_begin = link->getBeginBranch();
+    BranchItem *bi_end = link->getEndBranch();
+    if (bi_begin && bi_end && link->getState() == Link::activeXLink)
+        // Note: with MapObj being a GraphicsItem now, maybe better reparent the
+        // xlinkobj line->setZValue (dZ_DEPTH *
+        // max(bi_begin->depth(),bi_end->depth()) + dZ_XLINK);
+        path->setZValue(dZ_XLINK);
+    else
+        path->setZValue(dZ_XLINK);
+
+    setVisibility();
+}
+
+void XLinkObj::positionBBox() {}
+
+void XLinkObj::calcBBoxSize() {}
+
+void XLinkObj::setVisibility(bool b)
+{
+    if (stateVis == FullShowControls) {
+        ctrl_p0->show();
+        ctrl_p1->show();
+        pointerBegin->setUseFixedLength(false);
+        pointerEnd->setUseFixedLength(false);
+    }
+    else {
+        ctrl_p0->hide();
+        ctrl_p1->hide();
+        pointerBegin->setUseFixedLength(true);
+        pointerBegin->setFixedLength(0);
+        pointerEnd->setUseFixedLength(true);
+        pointerEnd->setFixedLength(0);
+    }
+
+    MapObj::setVisibility(b);
+    if (b) {
+        if (stateVis == OnlyBegin) {
+            path->hide();
+            poly->show();
+            pointerBegin->hide();
+            pointerEnd->hide();
+        }
+        else if (stateVis == OnlyEnd) {
+            path->hide();
+            poly->show();
+            pointerBegin->hide();
+            pointerEnd->hide();
+        }
+        else {
+            path->show();
+            poly->hide();
+            pointerBegin->show();
+            pointerEnd->show();
+        }
+    }
+    else {
+        poly->hide();
+        path->hide();
+        pointerBegin->hide();
+        pointerEnd->hide();
+    }
+}
+
+void XLinkObj::setVisibility()
+{
+    BranchItem *beginBI = link->getBeginBranch();
+    BranchObj *beginBO = NULL;
+    if (beginBI)
+        beginBO = (BranchObj *)(beginBI->getLMO());
+
+    BranchObj *endBO = NULL;
+    BranchItem *endBI = link->getEndBranch();
+    if (endBI)
+        endBO = (BranchObj *)(endBI->getLMO());
+    if (beginBO && endBO) {
+        if (beginBO->isVisibleObj() &&
+            endBO->isVisibleObj()) { // Both ends are visible
+            visBranch = NULL;
+            if (curSelection != Unselected)
+                stateVis = FullShowControls;
+            else
+                stateVis = Full;
+            setVisibility(true);
+        }
+        else {
+            if (!beginBO->isVisibleObj() &&
+                !endBO->isVisibleObj()) { // None of the ends is visible
+                visBranch = NULL;
+                stateVis = Hidden;
+                setVisibility(false);
+            }
+            else { // Just one end is visible, draw a symbol that shows
+                // that there is a link to a scrolled branch
+                if (beginBO->isVisibleObj()) {
+                    stateVis = OnlyBegin;
+                    visBranch = beginBI;
+                }
+                else {
+                    visBranch = endBI;
+                    stateVis = OnlyEnd;
+                }
+                setVisibility(true);
+            }
+        }
+    }
+}
+
+void XLinkObj::initC0()
+{
+    if (!link)
+        return;
+    BranchItem *beginBranch = link->getBeginBranch();
+    if (!beginBranch)
+        return;
+    BranchObj *bo = beginBranch->getBranchObj();
+    if (!bo)
+        return;
+    if (bo->getOrientation() == LinkableMapObj::RightOfCenter)
+        c0 = QPointF(d_control, 0);
+    else
+        c0 = QPointF(-d_control, 0);
+}
+
+void XLinkObj::initC1()
+{
+    if (!link)
+        return;
+    BranchItem *endBranch = link->getEndBranch();
+    if (!endBranch)
+        return;
+    BranchObj *bo = endBranch->getBranchObj();
+    if (!bo)
+        return;
+    if (bo->getOrientation() == LinkableMapObj::RightOfCenter)
+        c1 = QPointF(d_control, 0);
+    else
+        c1 = QPointF(-d_control, 0);
+}
+
+void XLinkObj::setC0(const QPointF &p) { c0 = p; }
+
+QPointF XLinkObj::getC0() { return c0; }
+
+void XLinkObj::setC1(const QPointF &p) { c1 = p; }
+
+QPointF XLinkObj::getC1() { return c1; }
+
+int XLinkObj::ctrlPointInClickBox(const QPointF &p)
+{
+    CurrentSelection oldSel = curSelection;
+    int ret = -1;
+
+    QRectF r(p.x() - clickBorder, p.y() - clickBorder, clickBorder * 2,
+             clickBorder * 2);
+
+    if (curSelection == C0 || curSelection == C1) {
+        // If Cx selected, check both ctrl points
+        curSelection = C0;
+        if (getClickPath().intersects(r))
+            ret = 0;
+        curSelection = C1;
+        if (getClickPath().intersects(r))
+            ret = 1;
+    }
+    curSelection = oldSel;
+    return ret;
+}
+
+bool XLinkObj::isInClickBox(const QPointF &p)
+{
+    // Return, if not visible at all...
+    if (stateVis == Hidden)
+        return false;
+
+    CurrentSelection oldSel = curSelection;
+    bool b = false;
+
+    QRectF r(p.x() - clickBorder, p.y() - clickBorder, clickBorder * 2,
+             clickBorder * 2);
+
+    switch (stateVis) {
+    case FullShowControls:
+        // If Cx selected, check both ctrl points
+        if (ctrlPointInClickBox(p) > -1)
+            b = true;
+
+        // Enable selecting the path, when a ctrl point is already selected
+        if (!b && curSelection != Unselected && clickPath.intersects(r))
+            b = true;
+        break;
+    case OnlyBegin:
+    case OnlyEnd:
+        // not selected, only partially visible
+        if (poly->boundingRect().contains(p))
+            b = true;
+        break;
+    default:
+        // not selected, but path is fully visible
+        curSelection = Path;
+        if (getClickPath().intersects(r))
+            b = true;
+        break;
+    }
+    curSelection = oldSel;
+    return b;
+}
+
+QPainterPath
+XLinkObj::getClickPath() // also needs mirroring if oriented left. Create method
+                         // to generate the coordinates
+{
+    QPainterPath p;
+    switch (curSelection) {
+    case C0:
+        p.addEllipse(beginPos + c0, 15, 15);
+        return p;
+        break;
+    case C1:
+        p.addEllipse(endPos + c1, 15, 15);
+        return p;
+        break;
+    default:
+        return clickPath;
+        break;
+    }
+}
+
+QPainterPath XLinkObj::getSelectionPath()
+{
+    return getClickPath();
+}
diff --git a/src/xlinkobj.h b/src/xlinkobj.h
new file mode 100644 (file)
index 0000000..24fc632
--- /dev/null
@@ -0,0 +1,80 @@
+#ifndef XLINKOBJ_H
+#define XLINKOBJ_H
+
+#include <QPen>
+
+#include "arrowobj.h"
+#include "linkablemapobj.h"
+#include "mapobj.h"
+#include "xlink.h"
+
+class BranchObj;
+class BranchItem;
+
+/*! \brief xlinks are used to draw arbitrary connections between branches
+ * (BranchObj) in the map. */
+
+/////////////////////////////////////////////////////////////////////////////
+class XLinkObj : public MapObj {
+  public:
+    enum CurrentSelection { Unselected, Path, C0, C1 };
+    XLinkObj(QGraphicsItem *, Link *l);
+    virtual ~XLinkObj();
+    virtual void init();
+    virtual QPointF getAbsPos();
+    void setStyleBegin(const QString &s);
+    void setStyleBegin(ArrowObj::OrnamentStyle os);
+    ArrowObj::OrnamentStyle getStyleBegin();
+    void setStyleEnd(const QString &s);
+    void setStyleEnd(ArrowObj::OrnamentStyle os);
+    ArrowObj::OrnamentStyle getStyleEnd();
+    QPointF getBeginPos();
+    QPointF getEndPos();
+    virtual void move(QPointF p);
+    virtual void setEnd(QPointF);
+    void setSelection(int cp);
+    void setSelection(CurrentSelection s);
+    void updateXLink();
+    void positionBBox();
+    void calcBBoxSize();
+    void setVisibility(bool);
+    void setVisibility();
+    void initC0();
+    void setC0(const QPointF &p);
+    QPointF getC0();
+    void initC1();
+    void setC1(const QPointF &p);
+    QPointF getC1();
+    bool isInClickBox(const QPointF &p);
+    int ctrlPointInClickBox(const QPointF &p);
+    QPainterPath getClickPath();
+    QPainterPath getSelectionPath();
+
+  private:
+    enum StateVis { Hidden, OnlyBegin, OnlyEnd, Full, FullShowControls };
+    StateVis stateVis;
+    static int arrowSize;
+    static int clickBorder;
+    static int pointRadius;
+    static int d_control;
+    QPainterPath clickPath;
+    QGraphicsPolygonItem *poly; // Arrowhead, when one end is not visible
+    ArrowObj *pointerBegin;     // Arrowhead
+    ArrowObj *pointerEnd;       // Arrowhead
+    QGraphicsPathItem *path;
+
+    QPointF beginPos;
+    QPointF endPos;
+    QPointF c0, c1; // Controlpoints for Bezier path
+    LinkableMapObj::Orientation beginOrient;
+    LinkableMapObj::Orientation endOrient;
+    QGraphicsEllipseItem *ctrl_p0;
+    QGraphicsEllipseItem *ctrl_p1;
+
+    CurrentSelection curSelection;
+
+    BranchItem *visBranch; // the "visible" part of a partially scrolled li
+    Link *link;
+};
+
+#endif
diff --git a/src/xml-base.cpp b/src/xml-base.cpp
new file mode 100644 (file)
index 0000000..3345f25
--- /dev/null
@@ -0,0 +1,69 @@
+#include "xml-base.h"
+
+#include "vymmodel.h"
+
+parseBaseHandler::parseBaseHandler() {}
+
+parseBaseHandler::~parseBaseHandler() {}
+
+QString parseBaseHandler::errorProtocol() { return errorProt; }
+
+QString parseBaseHandler::parseHREF(QString href)
+{
+    QString type = href.section(":", 0, 0);
+    QString path = href.section(":", 1, 1);
+    if (!tmpDir.endsWith("/"))
+        return tmpDir + "/" + path;
+    else
+        return tmpDir + path;
+}
+
+bool parseBaseHandler::fatalError(const QXmlParseException &exception)
+{
+    errorProt += QString("Fatal parsing error: %1 in line %2, column %3\n")
+                     .arg(exception.message())
+                     .arg(exception.lineNumber())
+                     .arg(exception.columnNumber());
+    // Try to read the bogus line
+    errorProt += QString("File is: %1\n").arg(inputFile);
+    if (!inputFile.isEmpty()) { // Input was from file
+        if (!loadStringFromDisk(inputFile, inputString)) {
+            qWarning() << "parseBaseHandler::fatalError Couldn't read from "
+                       << inputFile;
+            return QXmlDefaultHandler::fatalError(exception);
+        }
+    }
+    QString s;
+    QStringList sl = inputString.split("\n");
+    int i = 1;
+    QStringList::Iterator it = sl.begin();
+    while (i < exception.lineNumber()) {
+        it++;
+        i++;
+    }
+    s = *it;
+    s.insert(exception.columnNumber() - 1, "<ERROR>");
+    errorProt += s;
+    return QXmlDefaultHandler::fatalError(exception);
+}
+
+void parseBaseHandler::setModel(VymModel *m) { model = m; }
+
+void parseBaseHandler::setTmpDir(QString tp) { tmpDir = tp; }
+
+void parseBaseHandler::setInputFile(const QString &s) { inputFile = s; }
+
+void parseBaseHandler::setInputString(const QString &s) { inputString = s; }
+
+void parseBaseHandler::setLoadMode(const LoadMode &lm, int p)
+{
+    loadMode = lm;
+    insertPos = p;
+}
+
+bool parseBaseHandler::readHtmlAttr(const QXmlAttributes &a)
+{
+    for (int i = 1; i <= a.count(); i++)
+        htmldata += " " + a.localName(i - 1) + "=\"" + a.value(i - 1) + "\"";
+    return true;
+}
diff --git a/src/xml-base.h b/src/xml-base.h
new file mode 100644 (file)
index 0000000..7ec9a31
--- /dev/null
@@ -0,0 +1,50 @@
+#ifndef XML_BASE
+#define XML_BASE
+
+//#include <QString>
+#include <QXmlAttributes>
+
+#include "file.h"
+
+class VymModel;
+
+/*! \brief Base class for parsing maps from XML documents */
+
+class parseBaseHandler : public QXmlDefaultHandler {
+  public:
+    parseBaseHandler();
+    ~parseBaseHandler();
+    QString errorProtocol();
+    QString parseHREF(QString);
+    virtual bool startElement(const QString &, const QString &,
+                              const QString &eName,
+                              const QXmlAttributes &atts) = 0;
+    virtual bool endElement(const QString &, const QString &,
+                            const QString &) = 0;
+    virtual bool characters(const QString &) = 0;
+
+    virtual QString errorString() = 0;
+    bool fatalError(const QXmlParseException &);
+    void setModel(VymModel *);
+    void setTmpDir(QString);
+    void setInputFile(const QString &);
+    void setInputString(const QString &);
+    void setLoadMode(const LoadMode &, int p = -1);
+    bool readHtmlAttr(const QXmlAttributes &);
+
+  protected:
+    QString errorProt;
+
+    LoadMode loadMode;
+    int insertPos;
+
+    bool isVymPart;
+    int branchDepth;
+    VymModel *model;
+    QString tmpDir;
+    QString inputFile;
+    QString inputString;
+    QString htmldata;
+    QString version;
+};
+#endif
diff --git a/src/xml-freemind.cpp b/src/xml-freemind.cpp
new file mode 100644 (file)
index 0000000..12bf161
--- /dev/null
@@ -0,0 +1,382 @@
+#include "xml-freemind.h"
+
+#include <QDebug>
+#include <QMessageBox>
+
+#include "branchitem.h"
+#include "misc.h"
+#include "vymmodel.h"
+
+extern Settings settings;
+extern QString vymVersion;
+
+bool parseFreemindHandler::nodeLikeState() 
+{
+    if (state == StateCenter || state == StateMainNode || state == StateNode)
+        return true;
+    else
+        return false;
+}
+
+bool parseFreemindHandler::startDocument() // FIXME-3 import not complete yet
+{
+    errorProt = "";
+    state = StateInit;
+    stateStack.clear();
+    stateStack.append(StateInit);
+    isVymPart = false;
+    return true;
+}
+
+QString parseFreemindHandler::parseHREF(QString href)
+{
+    QString type = href.section(":", 0, 0);
+    QString path = href.section(":", 1, 1);
+    if (!tmpDir.endsWith("/"))
+        return tmpDir + "/" + path;
+    else
+        return tmpDir + path;
+}
+
+bool parseFreemindHandler::startElement(const QString &, const QString &,
+                                        const QString &eName,
+                                        const QXmlAttributes &atts)
+{
+    QColor col;
+    /* Testing
+    if (eName.contains("node"))
+    qDebug() << "startElement: <" << eName
+             << ">     state=" << state
+             << "  laststate=" << stateStack.last();
+             //<< "   loadMode=" << loadMode
+             //<<"       line=" << QXmlDefaultHandler::lineNumber();
+    */
+
+    stateStack.append(state);
+    if (state == StateInit && (eName == "map")) {
+        state = StateMap;
+        if (!atts.value("version").isEmpty()) {
+            QString v = "0.9.0";
+            if (!versionLowerOrEqual(atts.value("version"), v))
+                QMessageBox::warning(
+                    0, "Warning: Version Problem",
+                    "<h3>Freemind map is newer than version " + v +
+                        " </h3>"
+                        "<p>The map you are just trying to load was "
+                        "saved using freemind " +
+                        atts.value("version") +
+                        ". "
+                        "Your version of vym can parse freemind " +
+                        v + ".");
+        }
+        // Create mapcenter
+        model->clear();
+        mapCenter = model->createMapCenter();
+        lastBranch = mapCenter;
+
+        // Create two hidden branches, because Freemind has no relative
+        // positioning for mainbranches
+        mainBranchLeft = model->createBranch(lastBranch);
+        mainBranchRight = model->createBranch(lastBranch);
+
+        mainBranchLeft->setRelPos(QPointF(-200, 0));
+        mainBranchLeft->setHeadingPlainText(" ");
+        model->emitDataChanged(mainBranchLeft);
+
+        mainBranchRight->setRelPos(QPointF(200, 0));
+        mainBranchRight->setHeadingPlainText(" ");
+        model->emitDataChanged(mainBranchRight);
+    }
+    else if (eName == "attribute_registry" && state == StateMap) {
+        state = StateAttributeRegistry;
+    }
+    else if (eName == "attribute_name" && state == StateAttributeRegistry) {
+        state = StateAttributeName;
+    }
+    else if (eName == "attribute_value" && state == StateAttributeName) {
+        state = StateAttributeValue;
+    }
+    else if (eName == "node" && state == StateMap) {
+        state = StateCenter;
+        lastBranch = mapCenter;
+        readNodeAttr(atts);
+    }
+    else if (eName == "node" && state == StateCenter) {
+        state = StateMainNode;
+        lastBranch = model->createBranch(lastBranch);
+        readNodeAttr(atts);
+    }
+    else if (eName == "node" && (state == StateNode || state == StateMainNode)) {
+        state = StateNode;
+        lastBranch = model->createBranch(lastBranch);
+        readNodeAttr(atts);
+    }
+    else if (eName == "properties") {
+    }
+    else if (eName == "map_styles") {
+    }
+    else if (eName == "font" && nodeLikeState())
+    { 
+        // FIXME-3 not implemented
+        state = StateFont;
+    }
+    else if (eName == "edge" && nodeLikeState())
+    {
+         // FIXME-3 xlink not implemented
+        state = StateEdge;
+    }
+    else if (eName == "hook" && nodeLikeState()) {
+        state = StateHook;
+    }
+    else if (eName == "icon" && nodeLikeState()) {
+        state = StateIcon;
+        if (!atts.value("BUILTIN").isEmpty()) {
+            QString f = atts.value("BUILTIN");
+            QString v;
+            if (f == "help")
+                v = "questionmark";
+            else if (f == "messagebox_warning")
+                v = "freemind-warning";
+            else if (f == "idea")
+                v = "lamp";
+            else if (f == "button_ok")
+                v = "hook-green";
+            else if (f == "button_cancel")
+                v = "cross-red";
+            else if (f.contains("full-"))
+                v = f.replace("full-", "freemind-priority-");
+            else if (f == "back")
+                v = "freemind-back";
+            else if (f == "forward")
+                v = "freemind-forward";
+            else if (f == "attach")
+                v = "freemind-attach";
+            else if (f == "ksmiletris")
+                v = "smiley-good"; //
+            else if (f == "clanbomber")
+                v = "freemind-clanbomber";
+            else if (f == "desktop_new")
+                v = "freemind-desktopnew";
+            else if (f == "flag")
+                v = "freemind-flag";
+            else if (f == "gohome")
+                v = "freemind-gohome";
+            else if (f == "kaddressbook")
+                v = "freemind-kaddressbook";
+            else if (f == "knotify")
+                v = "freemind-knotify";
+            else if (f == "korn")
+                v = "freemind-korn";
+            else if (f == "Mail")
+                v = "freemind-mail";
+            else if (f == "password")
+                v = "freemind-password";
+            else if (f == "pencil")
+                v = "freemind-pencil";
+            else if (f == "stop")
+                v = "freemind-stop";
+            else if (f == "wizard")
+                v = "freemind-wizard";
+            else if (f == "xmag")
+                v = "freemind-xmag";
+            else if (f == "bell")
+                v = "freemind-bell";
+            else if (f == "bookmark")
+                v = "freemind-bookmark";
+            else if (f == "penguin")
+                v = "freemind-penguin";
+            else if (f == "licq")
+                v = "freemind-licq";
+            else
+                qWarning() << "parseFreemindHandler: Unknown icon found: " << f;
+
+            lastBranch->activateStandardFlagByName(v);
+        }
+    }
+    else if (eName == "arrowlink" && nodeLikeState()) {
+        state = StateArrowLink;
+    }
+    else if (eName == "cloud" && nodeLikeState()) {
+        state = StateCloud;
+    }
+    else if (eName == "richcontent" && nodeLikeState()) {
+        state = StateRichContent;
+        return readRichContentAttr(atts);
+    }
+    else if (eName == "html" && state == StateRichContent) {
+        state = StateHtml;
+        htmldata = "<" + eName;
+        readHtmlAttr(atts);
+        htmldata += ">";
+    }
+    else if (eName == "text" && state == StateHook) {
+        state = StateText;
+    }
+    else if (state == StateHtml) {
+        // accept all while in html mode,
+        htmldata += "<" + eName;
+        readHtmlAttr(atts);
+        htmldata += ">";
+    }
+    else {
+        // Usually we would return an error here
+        // In order to not break with every new element in FreeMind or
+        // FreePlane, better ignore the new element for now
+        state = StateUnknown;
+        qWarning()
+            << "parseFreemindHandler: Unknown element found and ignoring:: "
+            << eName;
+    }
+    return true;
+}
+
+bool parseFreemindHandler::endElement(const QString &, const QString &,
+                                      const QString &eName)
+{
+    /* Testing
+    QString h;
+    lastBranch ? h = lastBranch->getHeadingPlain() : h = "";
+    if (eName.contains("node"))
+    qDebug() << "endElement </" << eName << ">  state=" << state << " lastBranch=" << h;
+    */
+
+    switch (state) {
+        case StateMap:
+            // Freemind does not have the two "extra" mainbranches used here,
+            // so we have to update mapcenter
+            model->emitDataChanged(mapCenter);
+
+            // Remove helper branches, if not needed
+            if (mainBranchLeft->childCount() == 0)
+                model->deleteItem(mainBranchLeft);
+            if (mainBranchRight->childCount() == 0)
+                model->deleteItem(mainBranchRight);
+            break;
+        case StateCenter:
+        case StateMainNode:
+        case StateNode:
+            model->emitDataChanged(lastBranch);
+            lastBranch = (BranchItem *)lastBranch->parent();
+            if (lastBranch) 
+                lastBranch->setLastSelectedBranch(0);
+            else
+                qWarning() << "xml-vym:  lastBranch == nullptr";
+            break;
+        case StateRichContent:
+            if (!htmldata.isEmpty()) {
+                vymtext.setAutoText(htmldata);
+                if (htmlPurpose == Node)
+                    lastBranch->setHeading(vymtext);
+                else if (htmlPurpose == Note)
+                    lastBranch->setNote(vymtext);
+            }
+            break;
+        case StateHtml:
+            htmldata += "</" + eName + ">";
+            if (eName == "html") {
+                htmldata = htmldata.replace("<br></br>", "<br />");
+                htmldata = htmldata.replace("\\n</p>", "</p>");
+            }
+            break;
+        default:
+            break;
+    }
+    state = stateStack.takeLast();
+    return true;
+}
+
+bool parseFreemindHandler::characters(const QString &ch)
+{
+    //qDebug() << "characters \"" << qPrintable(ch) << "\"  state=" << state;
+
+    QString ch_org = quoteMeta(ch);
+    QString ch_simplified = ch.simplified();
+    if (ch_simplified.isEmpty())
+        return true;
+
+    switch (state) {
+    case StateInit:
+        break;
+    case StateMap:
+        break;
+    case StateNode:
+        break;
+    case StateCloud:
+        break;
+    case StateEdge:
+        break;
+    case StateIcon:
+        break;
+    case StateArrowLink:
+        break;
+    case StateFont:
+        break;
+    case StateHook:
+        break;
+    case StateText:
+        lastBranch->setNote(ch_simplified);
+        break;
+    case StateHtml:
+        htmldata += ch_org;
+        break;
+    case StateUnknown:
+        break;
+    default:
+        return false;
+    }
+    return true;
+}
+
+QString parseFreemindHandler::errorString()
+{
+    return "the document is not in the Freemind file format";
+}
+
+bool parseFreemindHandler::readNodeAttr(const QXmlAttributes &a)
+{
+    if (state == StateMainNode)
+    {
+        // Freemind has a different concept for mainbranches
+        // Move either to left or right side of mapcenter
+        if (!a.value("POSITION").isEmpty()) {
+            if (a.value("POSITION") == "left")
+                model->relinkBranch(lastBranch, mainBranchLeft);
+            else if (a.value("POSITION") == "right")
+                model->relinkBranch(lastBranch, mainBranchRight);
+        }
+    }
+
+    if (a.value("FOLDED") == "true")
+        lastBranch->toggleScroll();
+
+    if (!a.value("TEXT").isEmpty()) {
+        lastBranch->setHeadingPlainText(
+            a.value("TEXT")); // FIXME-3 what about RT?
+        // model->setHeading (a.value ("TEXT"), lastBranch);
+    }
+
+    if (!a.value("COLOR").isEmpty())
+        lastBranch->setHeadingColor(QColor(a.value("COLOR")));
+
+    if (!a.value("LINK").isEmpty())
+        lastBranch->setURL(a.value("LINK"));
+    return true;
+}
+
+bool parseFreemindHandler::readRichContentAttr(const QXmlAttributes &a)
+{
+    if (a.value("TYPE") == "NODE")
+        htmlPurpose = Node;
+    else if (a.value("TYPE") == "NOTE")
+        htmlPurpose = Note;
+    else {
+        htmlPurpose = Unknown;
+        qWarning()
+            << "parseFreemindHandler: Unknown purpose of richContent found: "
+            << a.value("TYPE");
+        ;
+        // FIXME-3 Usually we would stop here, ignore for now
+        // return false;
+    }
+    return true;
+}
diff --git a/src/xml-freemind.h b/src/xml-freemind.h
new file mode 100644 (file)
index 0000000..325f195
--- /dev/null
@@ -0,0 +1,63 @@
+#ifndef XML_FREEMIND_H
+#define XML_FREEMIND_H
+
+#include "xml-base.h"
+
+#include "vymnote.h"
+
+class BranchItem;
+class VymModel;
+
+/*! \brief Parsing Freemind maps from XML documents */
+
+class parseFreemindHandler : public parseBaseHandler {
+  private:
+    bool nodeLikeState();
+
+  public:
+    bool startDocument();
+    QString parseHREF(QString);
+    bool startElement(const QString &, const QString &, const QString &eName,
+                      const QXmlAttributes &atts);
+    bool endElement(const QString &, const QString &, const QString &);
+    bool characters(const QString &);
+    QString errorString();
+    bool readNodeAttr(const QXmlAttributes &);
+    bool readRichContentAttr(const QXmlAttributes &);
+
+  private:
+    QString errorProt;
+    enum State {
+        StateInit,
+        StateAttributeRegistry,
+        StateAttributeName,
+        StateAttributeValue,
+        StateMap,
+        StateCenter,
+        StateMainNode,
+        StateNode,
+        StateProperties,
+        StateMapStyles,
+        StateCloud,
+        StateEdge,
+        StateIcon,
+        StateFont,
+        StateArrowLink,
+        StateHook,
+        StateText,
+        StateRichContent,
+        StateHtml,
+        StateUnknown
+    };
+    enum HtmlPurpose { Node, Note, Unknown };
+    HtmlPurpose htmlPurpose;
+
+    State state;
+    QList<State> stateStack;
+    VymText vymtext;
+    BranchItem *lastBranch;
+    BranchItem *mapCenter;
+    BranchItem *mainBranchLeft;
+    BranchItem *mainBranchRight;
+};
+#endif
diff --git a/src/xml-vym.cpp b/src/xml-vym.cpp
new file mode 100644 (file)
index 0000000..d4f9228
--- /dev/null
@@ -0,0 +1,1147 @@
+#include "xml-vym.h"
+
+#include <QColor>
+#include <QMessageBox>
+#include <QTextStream>
+#include <typeinfo>
+
+#include "attributeitem.h"
+#include "branchitem.h"
+#include "flag.h"
+#include "linkablemapobj.h"
+#include "mainwindow.h"
+#include "misc.h"
+#include "settings.h"
+#include "slideitem.h"
+#include "task.h"
+#include "taskmodel.h"
+#include "xlinkitem.h"
+
+extern Main *mainWindow;
+extern Settings settings;
+extern TaskModel *taskModel;
+extern QString vymVersion;
+
+parseVYMHandler::parseVYMHandler()
+{
+    // Default is to load everything
+    contentFilter = 0x0000; // TODO  use filters for all content types below
+}
+
+void parseVYMHandler::setContentFilter(const int &c) { contentFilter = c; }
+
+bool parseVYMHandler::startDocument()
+{
+    errorProt = "";
+    state = StateInit;
+    stateStack.clear();
+    stateStack.append(StateInit);
+    htmldata = "";
+    isVymPart = false;
+    useProgress = false;
+    return true;
+}
+
+bool parseVYMHandler::startElement(const QString &, const QString &,
+                                   const QString &eName,
+                                   const QXmlAttributes &atts)
+{
+    QColor col;
+    /* Testing
+    qDebug() << "startElement: <" << eName
+             << ">     state=" << state
+             << "  laststate=" << stateStack.last()
+             << "   loadMode=" << loadMode
+            //<<"       line=" << QXmlDefaultHandler::lineNumber();
+             << "contentFilter=" << contentFilter;
+    */
+
+    stateStack.append(state);
+    if (state == StateInit && (eName == "vymmap")) {
+        state = StateMap;
+        branchesTotal = 0;
+        branchesCounter = 0;
+
+        if (loadMode == NewMap || loadMode == DefaultMap) {
+            // Create mapCenter
+            model->clear();
+            lastBranch = NULL;
+
+            readMapAttr(atts);
+        }
+        // Check version
+        if (!atts.value("version").isEmpty()) {
+            version = atts.value("version");
+            if (!versionLowerOrEqualThanVym(version)) {
+                QMessageBox::warning(
+                    0, QObject::tr("Warning: Version Problem"),
+                    QObject::tr(
+                        "<h3>Map is newer than VYM</h3>"
+                        "<p>The map you are just trying to load was "
+                        "saved using vym %1. "
+                        "The version of this vym is %2. "
+                        "If you run into problems after pressing "
+                        "the ok-button below, updating vym should help.</p>")
+                        .arg(version)
+                        .arg(vymVersion) +
+                    QObject::tr(
+                        "<p>The map will be opened readonly, because not "
+                        "all information from new maps can be saved with this "
+                        "version of vym. Please be careful!"));
+                model->setReadOnly(true);
+            }
+            else
+                model->setVersion(version);
+        }
+    }
+    else if (eName == "mapdesign" && state == StateMap) {
+        state = StateMapDesign;
+    }
+    else if (eName == "md" && state == StateMapDesign) {
+        state = StateMD;
+        readMapDesignCompatibleAttr(atts);
+    }
+    else if (eName == "select" && state == StateMap) {
+        state = StateMapSelect;
+    }
+    else if (eName == "setting" && state == StateMap) {
+        state = StateMapSetting;
+        if (loadMode == NewMap) {
+            htmldata.clear();
+            readSettingAttr(atts);
+        }
+    }
+    else if (eName == "slide" && state == StateMap) {
+        state = StateMapSlide;
+        if (!(contentFilter & SlideContent)) {
+            // Ignore slides during paste
+            lastSlide = model->addSlide();
+            if (insertPos >= 0)
+                model->relinkSlide(lastSlide, insertPos);
+
+            readSlideAttr(atts);
+        }
+    }
+    else if (eName == "mapcenter" && state == StateMap) {
+        state = StateMapCenter;
+        if (loadMode == NewMap) {
+            // Really use the found mapcenter as MCO in a new map
+            lastBranch = model->createMapCenter();
+        }
+        else {
+            // Treat the found mapcenter as a branch
+            // in an existing map
+            BranchItem *bi = model->getSelectedBranch();
+            if (bi) {
+                lastBranch = bi;
+                if (loadMode == ImportAdd) {
+                    // Import Add
+                    if (insertPos < 0)
+                        lastBranch = model->createBranch(lastBranch);
+                    else {
+                        lastBranch = model->addNewBranch(lastBranch, insertPos);
+                        insertPos++;
+                    }
+                }
+                else {
+                    // Import Replace
+                    if (insertPos < 0) {
+                        insertPos = lastBranch->num() + 1;
+                        model->clearItem(lastBranch);
+                    }
+                    else {
+                        BranchItem *pi = bi->parentBranch();
+                        lastBranch = model->addNewBranch(pi, insertPos);
+                        insertPos++;
+                    }
+                }
+            }
+            else
+                // if nothing selected, add mapCenter without parent
+                lastBranch = model->createMapCenter();
+        }
+        readBranchAttr(atts);
+    }
+    else if ((eName == "standardflag" || eName == "standardFlag") &&
+             (state == StateMapCenter || state == StateBranch)) {
+        state = StateStandardFlag;
+    }
+    else if (eName == "userflagdef" && state == StateMap) {
+        state = StateUserFlagDef;
+        return (readUserFlagDefAttr(atts));
+    }
+    else if (eName == "userflag" &&
+             (state == StateMapCenter || state == StateBranch)) {
+        state = StateUserFlag;
+        return (readUserFlagAttr(atts));
+    }
+    else if (eName == "heading" &&
+             (state == StateMapCenter || state == StateBranch ||
+              state == StateInit)) {
+        if (state == StateInit) {
+            // Only read some stuff like VymNote or Heading
+            // e.g. for undo/redo
+            lastBranch = model->getSelectedBranch();
+            if (version.isEmpty())
+                version = "0.0.0";
+        }
+        if (!lastBranch)
+            return false;
+
+        state = StateHeading;
+        htmldata.clear();
+        vymtext.clear();
+        if (!atts.value("fonthint").isEmpty())
+            vymtext.setFontHint(atts.value("fonthint"));
+        if (!atts.value("textMode").isEmpty()) {
+            if (atts.value("textMode") == "richText")
+                vymtext.setRichText(true);
+            else
+                vymtext.setRichText(false);
+        }
+        if (!atts.value("textColor").isEmpty()) {
+            // For compatibility with <= 2.4.0 set both branch and
+            // heading color
+            col.setNamedColor(atts.value("textColor"));
+            lastBranch->setHeadingColor(col);
+            vymtext.setColor(col);
+        }
+        if (!atts.value("text").isEmpty())
+            vymtext.setText(unquoteQuotes(atts.value("text")));
+    }
+    else if (eName == "task" &&
+             (state == StateMapCenter || state == StateBranch)) {
+        state = StateTask;
+        lastTask = taskModel->createTask(lastBranch);
+        if (!readTaskAttr(atts))
+            return false;
+    }
+    else if (eName == "note" &&
+             (state == StateMapCenter ||
+              state == StateBranch)) { // only for backward compatibility
+                                       // (<1.4.6). Use htmlnote now.
+        state = StateNote;
+        htmldata.clear();
+        vymtext.clear();
+        if (!readNoteAttr(atts))
+            return false;
+    }
+    else if (eName == "htmlnote" &&
+             state == StateMapCenter) { // only for backward compatibility. Use
+                                        // vymnote now
+        state = StateHtmlNote;
+        vymtext.clear();
+        if (!atts.value("fonthint").isEmpty())
+            vymtext.setFontHint(atts.value("fonthint"));
+    }
+    else if (eName == "vymnote" &&
+             (state == StateMapCenter || state == StateBranch ||
+              state == StateInit)) {
+        if (state == StateInit)
+        // Only read some stuff like VymNote or Heading
+        // e.g. for undo/redo
+        {
+            lastBranch = model->getSelectedBranch();
+            if (version.isEmpty())
+                version = "0.0.0";
+        }
+        state = StateVymNote;
+        htmldata.clear();
+        vymtext.clear();
+        if (!atts.value("fonthint").isEmpty())
+            vymtext.setFontHint(atts.value("fonthint"));
+        if (!atts.value("textMode").isEmpty()) {
+            if (atts.value("textMode") == "richText")
+                vymtext.setRichText(true);
+            else
+                vymtext.setRichText(false);
+        }
+        if (!atts.value("text").isEmpty())
+            vymtext.setText(unquoteQuotes(atts.value("text")));
+    }
+    else if (eName == "floatimage" &&
+             (state == StateMapCenter || state == StateBranch)) {
+        state = StateImage;
+        lastImage = model->createImage(lastBranch);
+        if (!readImageAttr(atts))
+            return false;
+    }
+    else if ((eName == "branch" || eName == "floatimage") &&
+             state == StateMap) {
+        // This is used in vymparts, which have no mapcenter or for undo
+        isVymPart = true;
+        TreeItem *ti = model->getSelectedItem();
+        if (!ti) {
+            // If a vym part is _loaded_ (not imported),
+            // selection==lmo==NULL
+            // Treat it like ImportAdd then...
+            loadMode = ImportAdd;
+            // we really have no MCO at this time
+            lastBranch = model->createMapCenter();
+            model->select(lastBranch);
+            model->setHeadingPlainText("Import");
+            ti = lastBranch;
+        }
+        if (ti && ti->isBranchLikeType()) {
+            lastBranch = (BranchItem *)ti;
+            if (eName == "branch") {
+                state = StateBranch;
+                if (loadMode == ImportAdd) {
+                    lastBranch = model->createBranch(lastBranch);
+                    model->setLatestAddedItem(lastBranch);
+                    if (insertPos >= 0)
+                        model->relinkBranch(lastBranch, (BranchItem *)ti,
+                                            insertPos);
+                }
+                else
+                    model->clearItem(lastBranch);
+                readBranchAttr(atts);
+            }
+            else if (eName == "floatimage") {
+                state = StateImage;
+                lastImage = model->createImage(lastBranch);
+                model->setLatestAddedItem(lastImage);
+                if (!readImageAttr(atts))
+                    return false;
+            }
+            else
+                return false;
+        }
+        else
+            return false;
+    }
+    else if (eName == "branch" && state == StateMapCenter) {
+        state = StateBranch;
+        lastBranch = model->createBranch(lastBranch);
+        readBranchAttr(atts);
+    }
+    else if (eName == "htmlnote" &&
+             state == StateBranch) { // only for backward compatibility. Use
+                                     // vymnote now
+        state = StateHtmlNote;
+        vymtext.clear();
+        if (!atts.value("fonthint").isEmpty())
+            vymtext.setFontHint(atts.value("fonthint"));
+    }
+    else if (eName == "frame" &&
+             (state == StateBranch || state == StateMapCenter)) {
+        state = StateFrame;
+        if (!readFrameAttr(atts))
+            return false;
+    }
+    else if (eName == "xlink" && state == StateBranch) {
+        // Obsolete after 1.13.2
+        state = StateBranchXLink;
+        if (!readXLinkAttr(atts))
+            return false;
+    }
+    else if (eName == "xlink" && state == StateMap) {
+        state = StateLink;
+        if (!readLinkNewAttr(atts))
+            return false;
+    }
+    else if (eName == "branch" && state == StateBranch) {
+        lastBranch = model->createBranch(lastBranch);
+        readBranchAttr(atts);
+    }
+    else if (eName == "html" &&
+             (state == StateHtmlNote ||
+              state == StateNote ||
+              state == StateVymNote)) { // Only for backward compatibility
+        state = StateHtml;
+        htmldata = "<" + eName;
+        readHtmlAttr(atts);
+        htmldata += ">";
+    }
+    else if (eName == "attribute" &&
+             (state == StateBranch || state == StateMapCenter)) {
+        state = StateAttribute;
+        AttributeItem *ai = new AttributeItem(lastBranch);
+        if (ai) {
+            if (!atts.value("key").isEmpty())
+                ai->setKey(atts.value("key"));
+
+            QString type = atts.value("type");
+            QString val = atts.value("value");
+            if (!type.isEmpty()) {
+                if (type == "Integer")
+                    ai->setValue(val.toInt());
+                else if (type == "String")
+                    ai->setValue(val);
+                else if (type == "Undefined") {
+                    ai->setValue(val);
+                    ai->setAttributeType(AttributeItem::Undefined);
+                    qWarning() << "Found attribute type 'Undefined'";
+                } else if (type == "DateTime") {
+                    ai->setValue(QDateTime::fromString(val, Qt::ISODate));
+                } else
+                    qWarning() << "Found unknown attribute type: " << type;
+            } else {
+                if (!atts.value("value").isEmpty())
+                    ai->setValue(atts.value("value"));
+            }
+        }
+        model->setAttribute(lastBranch, ai);
+    }
+    else if (state == StateHtml) {
+        // Only for backward compatibility
+        // accept all while in html mode,
+        htmldata += "<" + eName;
+        readHtmlAttr(atts);
+        htmldata += ">";
+    }
+    else
+        return false; // Error
+    return true;
+}
+
+bool parseVYMHandler::endElement(const QString &, const QString &,
+                                 const QString &eName)
+{
+    /* Testing
+    QString h;
+    lastBranch ? h = lastBranch->getHeadingPlain() : h = "";
+    qDebug() << "endElement </" << eName << ">  state=" << state << " lastBranch=" << h;
+    */
+
+    switch (state) {
+    case StateMap:
+    case StateMapDesign:
+    case StateMD:
+        break;
+    case StateMapCenter:
+        model->emitDataChanged(lastBranch);
+        lastBranch = (BranchItem *)(lastBranch->parent());
+        break;
+    case StateBranch:
+        // Empty branches may not be scrolled
+        // (happens if bookmarks are imported)
+        if (lastBranch->isScrolled() && lastBranch->branchCount() == 0)
+            lastBranch->unScroll();
+
+        model->emitDataChanged(lastBranch);
+        lastBranch = (BranchItem *)(lastBranch->parent());
+        lastBranch->setLastSelectedBranch(0);
+        break;
+    case StateTask:
+        break;
+    case StateHeading:
+        if (versionLowerOrEqual(version, "2.4.99") &&
+            htmldata.contains("<html>"))
+            // versions before 2.5.0 didn't use CDATA to save richtext
+            vymtext.setAutoText(htmldata);
+        else {
+            // Versions 2.5.0 to 2.7.562  had HTML data encoded as CDATA
+            // Later versions use the <vymnote  text="...">  attribute,
+            // which is set already in begin element
+            // If both htmldata and vymtext are already available, use the
+            // vymtext
+            if (vymtext.isEmpty())
+                vymtext.setText(htmldata);
+        }
+        lastBranch->setHeading(vymtext);
+        break;
+    case StateHtmlNote: // Richtext note, needed anyway for backward
+                        // compatibility
+        if (htmldata.contains("<html"))
+            vymtext.setRichText(htmldata);
+        else
+            vymtext.setPlainText(htmldata);
+        lastBranch->setNote(vymtext);
+        break;
+    case StateMapSlide:
+        lastSlide = NULL;
+        break;
+    case StateNote:
+        // version < 1.4.6
+        if (!htmldata.isEmpty()) {
+            if (htmldata.contains("<html"))
+                vymtext.setRichText(htmldata);
+            else
+                vymtext.setPlainText(htmldata);
+        }
+        lastBranch->setNote(vymtext);
+        break;
+    case StateMapSetting:
+        // version >= 2.5.0  previously value only as attribut
+        settings.setLocalValue(model->getDestPath(), lastSetting, htmldata);
+        break;
+    case StateVymNote: // Might be richtext or plaintext with
+        // version >= 1.13.8
+        if (versionLowerOrEqual(version, "2.4.99") &&
+            htmldata.contains("<html>"))
+            // versions before 2.5.0 didn't use CDATA to save richtext
+            vymtext.setAutoText(htmldata);
+        else {
+            // Versions 2.5.0 to 2.7.562  had HTML data encoded as CDATA
+            // Later versions use the <vymnote  text="...">  attribute,
+            // which is set already in begin element
+            // If both htmldata and vymtext are already available, use the
+            // vymtext
+            if (vymtext.isEmpty())
+                vymtext.setText(htmldata);
+        }
+        lastBranch->setNote(vymtext);
+        break;
+    case StateHtml:
+        htmldata += "</" + eName + ">";
+        if (eName == "html")
+            htmldata.replace("<br></br>", "<br />");
+        break;
+    default:
+        break;
+    }
+    state = stateStack.takeLast();
+    return true;
+}
+
+bool parseVYMHandler::characters(const QString &ch)
+{
+    // qDebug()<< "xml-vym: characters " << ch << "  state=" << state;
+
+    QString ch_org = quoteMeta(ch);
+    QString ch_simplified = ch.simplified();
+
+    switch (state) {
+    case StateInit:
+    case StateMap:
+    case StateMapDesign:
+    case StateMD:
+        break;
+    case StateMapSelect:
+        model->select(ch_simplified);
+        break;
+    case StateMapSetting:
+        htmldata += ch;
+        break;
+    case StateMapCenter:
+        break;
+    case StateNote: // only in vym <1.4.6
+        htmldata += ch_simplified;
+        break;
+    case StateBranch:
+        break;
+    case StateStandardFlag:
+        lastBranch->activateStandardFlagByName(ch_simplified);
+        break;
+    case StateImage:
+        break;
+    case StateVymNote:
+        htmldata += ch;
+        break;
+    case StateHtmlNote: // Only for compatibility
+        htmldata += ch;
+        break;
+    case StateHtml:
+        htmldata += ch_simplified;
+        break;
+    case StateHeading:
+        htmldata += ch;
+        break;
+    default:
+        return false;
+    }
+    return true;
+}
+
+QString parseVYMHandler::errorString()
+{
+    return "the document is not in the VYM file format";
+}
+
+bool parseVYMHandler::readMapAttr( const QXmlAttributes &a)
+{
+    if (!a.value("author").isEmpty())
+        model->setAuthor(a.value("author"));
+    if (!a.value("title").isEmpty())
+        model->setTitle(a.value("title"));
+    if (!a.value("comment").isEmpty())
+        model->setComment(unquoteMeta(a.value("comment")));
+    if (!a.value("branchCount").isEmpty()) {
+        branchesTotal = a.value("branchCount").toInt();
+        if (branchesTotal > 10) {
+            useProgress = true;
+            mainWindow->setProgressMaximum(branchesTotal);
+        }
+    }
+
+    if (!a.value("mapZoomFactor").isEmpty())
+        model->setMapZoomFactor(a.value("mapZoomFactor").toDouble());
+    if (!a.value("mapRotationAngle").isEmpty())
+        model->setMapRotationAngle(a.value("mapRotationAngle").toDouble());
+
+    return readMapDesignCompatibleAttr(a);
+}
+
+bool parseVYMHandler::readMapDesignCompatibleAttr( const QXmlAttributes &a)
+{
+    // Some attributes moved in version 2.9.514 from
+    // <vymmap> to <mapdesign> and <md>
+    // This code here will allow to parse also newer maps.
+    // Some elements though are not available in older versions, especially
+    // <frame frameUsage="outerFrame" ...>
+    // <branch rotHeading=... rotContent=... >
+
+    QColor col;
+    if (!a.value("backgroundColor").isEmpty()) {
+        col.setNamedColor(a.value("backgroundColor"));
+        model->setMapBackgroundColor(col);
+    }
+    if (!a.value("defaultFont").isEmpty()) {
+        QFont font;
+        font.fromString(a.value("defaultFont"));
+        model->setMapDefaultFont(font);
+    }
+    if (!a.value("selectionColor").isEmpty()) {
+        // Only for compatibility
+        col.setNamedColor(a.value("selectionColor"));
+        model->setSelectionBrushColor(col);
+        model->setSelectionPenColor(col);
+        model->setSelectionPenWidth(1);
+    }
+    if (!a.value("selectionPenColor").isEmpty()) {
+        // Introduced in 2.9.12
+        col.setNamedColor(a.value("selectionPenColor"));
+        model->setSelectionPenColor(col);
+    }
+    if (!a.value("selectionPenWidth").isEmpty()) {
+        // Introduced in 2.9.12
+        bool ok;
+        qreal w = a.value("selectionPenWidth").toFloat(&ok);
+        if (ok)
+            model->setSelectionPenWidth(w);
+    }
+    if (!a.value("selectionBrushColor").isEmpty()) {
+        // Introduced in 2.9.12
+        col.setNamedColor(a.value("selectionBrushColor"));
+        model->setSelectionBrushColor(col);
+    }
+    if (!a.value("linkColorHint").isEmpty()) {
+        if (a.value("linkColorHint") == "HeadingColor")
+            model->setMapLinkColorHint(LinkableMapObj::HeadingColor);
+        else
+            model->setMapLinkColorHint(LinkableMapObj::DefaultColor);
+    }
+    if (!a.value("linkStyle").isEmpty())
+        model->setMapLinkStyle(a.value("linkStyle"));
+    if (!a.value("linkColor").isEmpty()) {
+        col.setNamedColor(a.value("linkColor"));
+        model->setMapDefLinkColor(col);
+    }
+
+    QPen pen(model->getMapDefXLinkPen());
+    if (!a.value("defXLinkColor").isEmpty()) {
+        col.setNamedColor(a.value("defXLinkColor"));
+        pen.setColor(col);
+    }
+    if (!a.value("defXLinkWidth").isEmpty())
+        pen.setWidth(a.value("defXLinkWidth").toInt());
+    if (!a.value("defXLinkPenStyle").isEmpty()) {
+        bool ok;
+        Qt::PenStyle ps = penStyle(a.value("defXLinkPenStyle"), ok);
+        if (!ok)
+            return false;
+        pen.setStyle(ps);
+    }
+    model->setMapDefXLinkPen(pen);
+
+    if (!a.value("defXLinkStyleBegin").isEmpty())
+        model->setMapDefXLinkStyleBegin(a.value("defXLinkStyleBegin"));
+    if (!a.value("defXLinkStyleEnd").isEmpty())
+        model->setMapDefXLinkStyleEnd(a.value("defXLinkStyleEnd"));
+    return true;
+}
+
+bool parseVYMHandler::readBranchAttr(const QXmlAttributes &a)
+{
+    branchesCounter++;
+    if (useProgress)
+        mainWindow->addProgressValue((float)branchesCounter / branchesTotal);
+
+    lastMI = lastBranch;
+
+    if (!readOOAttr(a))
+        return false;
+
+    if (!a.value("scrolled").isEmpty())
+        lastBranch->toggleScroll();
+
+    if (!a.value("incImgV").isEmpty()) {
+        if (a.value("incImgV") == "true")
+            lastBranch->setIncludeImagesVer(true);
+        else
+            lastBranch->setIncludeImagesVer(false);
+    }
+    if (!a.value("incImgH").isEmpty()) {
+        if (a.value("incImgH") == "true")
+            lastBranch->setIncludeImagesHor(true);
+        else
+            lastBranch->setIncludeImagesHor(false);
+    }
+    if (a.value("childrenFreePos") == "true")
+        lastBranch->setChildrenLayout(BranchItem::FreePositioning);
+
+    return true;
+}
+
+bool parseVYMHandler::readFrameAttr(const QXmlAttributes &a)
+{
+    if (lastMI) {
+        OrnamentedObj *oo = (OrnamentedObj *)(lastMI->getLMO());
+        if (oo) {
+            bool ok;
+            int x;
+            {
+                if (!a.value("frameType").isEmpty())
+                    oo->setFrameType(a.value("frameType"));
+                if (!a.value("penColor").isEmpty())
+                    oo->setFramePenColor(a.value("penColor"));
+                if (!a.value("brushColor").isEmpty()) {
+                    oo->setFrameBrushColor(a.value("brushColor"));
+                    lastMI->setBackgroundColor(a.value("brushColor"));
+                }
+                if (!a.value("padding").isEmpty()) {
+                    x = a.value("padding").toInt(&ok);
+                    if (ok)
+                        oo->setFramePadding(x);
+                }
+                if (!a.value("borderWidth").isEmpty()) {
+                    x = a.value("borderWidth").toInt(&ok);
+                    if (ok)
+                        oo->setFrameBorderWidth(x);
+                }
+                if (!a.value("includeChildren").isEmpty()) {
+                    if (a.value("includeChildren") == "true")
+                        oo->setFrameIncludeChildren(true);
+                    else
+                        oo->setFrameIncludeChildren(false);
+                }
+            }
+            return true;
+        }
+    }
+    return false;
+}
+
+bool parseVYMHandler::readOOAttr(const QXmlAttributes &a)
+{
+    if (lastMI) {
+        bool okx, oky;
+        float x, y;
+        if (!a.value("posX").isEmpty()) {   // Introduced in 2.9.501, added here for file compatibility
+            if (!a.value("posY").isEmpty()) {
+                x = a.value("posX").toFloat(&okx);
+                y = a.value("posY").toFloat(&oky);
+                if (okx && oky)
+                    lastMI->setRelPos(QPointF(x, y));
+                else
+                    return false; // Couldn't read relPos
+            }
+        }
+        if (!a.value("relPosX").isEmpty()) {
+            if (!a.value("relPosY").isEmpty()) {
+                x = a.value("relPosX").toFloat(&okx);
+                y = a.value("relPosY").toFloat(&oky);
+                if (okx && oky)
+                    lastMI->setRelPos(QPointF(x, y));
+                else
+                    return false; // Couldn't read relPos
+            }
+        }
+        if (!a.value("absPosX").isEmpty()) {
+            if (!a.value("absPosY").isEmpty()) {
+                x = a.value("absPosX").toFloat(&okx);
+                y = a.value("absPosY").toFloat(&oky);
+                if (okx && oky)
+                    lastMI->setAbsPos(QPointF(x, y));
+                else
+                    return false; // Couldn't read absPos
+            }
+        }
+        if (!a.value("url").isEmpty())
+            lastMI->setURL(a.value("url"));
+        if (!a.value("vymLink").isEmpty())
+            lastMI->setVymLink(a.value("vymLink"));
+        if (!a.value("hideInExport").isEmpty())
+            if (a.value("hideInExport") == "true")
+                lastMI->setHideInExport(true);
+
+        if (!a.value("hideLink").isEmpty()) {
+            if (a.value("hideLink") == "true")
+                lastMI->setHideLinkUnselected(true);
+            else
+                lastMI->setHideLinkUnselected(false);
+        }
+
+        if (!a.value("localTarget").isEmpty())
+            if (a.value("localTarget") == "true")
+                lastMI->toggleTarget();
+        if (!a.value("rotation").isEmpty()) {
+            x = a.value("rotation").toFloat(&okx);
+            if (okx)
+                lastMI->setRotation(x);
+            else
+                return false; // Couldn't read rotation
+        }
+
+        if (!a.value("uuid").isEmpty()) {
+            // While pasting, check for existing UUID
+            if (loadMode != ImportAdd && !model->findUuid(a.value("uuid")))
+                lastMI->setUuid(a.value("uuid"));
+        }
+    }
+    return true;
+}
+
+bool parseVYMHandler::readNoteAttr(const QXmlAttributes &a)
+{ // only for backward compatibility (<1.4.6). Use htmlnote now.
+    vymtext.clear();
+    QString fn;
+    if (!a.value("href").isEmpty()) {
+        // Load note
+        fn = parseHREF(a.value("href"));
+        QFile file(fn);
+        QString s; // Reading a note
+
+        if (!file.open(QIODevice::ReadOnly)) {
+            qWarning() << "parseVYMHandler::readNoteAttr:  Couldn't load " + fn;
+            return false;
+        }
+        QTextStream stream(&file);
+        stream.setCodec("UTF-8");
+        QString lines;
+        while (!stream.atEnd()) {
+            lines += stream.readLine() + "\n";
+        }
+        file.close();
+
+        if (lines.contains("<html")) {
+            vymtext.setRichText(lines);
+        } else
+            vymtext.setPlainText(lines);
+    }
+    if (!a.value("fonthint").isEmpty())
+        vymtext.setFontHint(a.value("fonthint"));
+    return true;
+}
+
+bool parseVYMHandler::readImageAttr(const QXmlAttributes &a)
+{
+    lastMI = lastImage;
+
+    if (!readOOAttr(a))
+        return false;
+
+    if (!a.value("href").isEmpty()) {
+        // Load Image
+        if (!lastImage->load(parseHREF(a.value("href")))) {
+            QMessageBox::warning(0, "Warning: ",
+                                 "Couldn't load image\n" +
+                                     parseHREF(a.value("href")));
+            lastImage = NULL;
+            return true;
+        }
+    }
+    if (!a.value("zPlane").isEmpty())
+        lastImage->setZValue(a.value("zPlane").toInt());
+    float x, y;
+    bool okx, oky;
+    if (!a.value("posX").isEmpty()) {   // Introduced in 2.9.501, added here for file compatibility
+        if (!a.value("posY").isEmpty()) {
+            x = a.value("posX").toFloat(&okx);
+            y = a.value("posY").toFloat(&oky);
+            if (okx && oky)
+                lastImage->setRelPos(QPointF(x, y));
+            else
+                return false; // Couldn't read relPos
+        }
+    }
+    if (!a.value("relPosX").isEmpty()) {
+        if (!a.value("relPosY").isEmpty()) {
+            // read relPos
+            x = a.value("relPosX").toFloat(&okx);
+            y = a.value("relPosY").toFloat(&oky);
+            if (okx && oky)
+                lastImage->setRelPos(QPointF(x, y));
+            else
+                // Couldn't read relPos
+                return false;
+        }
+    }
+
+    // Scale image
+    // scaleX and scaleY are no longer used since 2.7.509 and replaced by
+    // scaleFactor
+    x = y = 1;
+    if (!a.value("scaleX").isEmpty()) {
+        x = a.value("scaleX").toFloat(&okx);
+        if (!okx)
+            return false;
+    }
+
+    if (!a.value("scaleY").isEmpty()) {
+        x = a.value("scaleY").toFloat(&oky);
+        if (!oky)
+            return false;
+    }
+
+    if (!a.value("scaleFactor").isEmpty()) {
+        x = a.value("scaleFactor").toFloat(&okx);
+        if (!okx)
+            return false;
+    }
+
+    if (x != 1)
+        lastImage->setScaleFactor(x);
+
+    if (!readOOAttr(a))
+        return false;
+
+    if (!a.value("originalName").isEmpty())
+    {
+        lastImage->setOriginalFilename(a.value("originalName"));
+    }
+    return true;
+}
+
+bool parseVYMHandler::readXLinkAttr(const QXmlAttributes &a)
+{
+    // Obsolete, see also readLinkAttr
+
+    if (!a.value("beginID").isEmpty()) {
+        if (!a.value("endID").isEmpty()) {
+            TreeItem *beginBI = model->findBySelectString(a.value("beginID"));
+            TreeItem *endBI = model->findBySelectString(a.value("endID"));
+            if (beginBI && endBI && beginBI->isBranchLikeType() &&
+                endBI->isBranchLikeType()) {
+                Link *li = new Link(model);
+                li->setBeginBranch((BranchItem *)beginBI);
+                li->setEndBranch((BranchItem *)endBI);
+                QPen pen = li->getPen();
+
+                if (!a.value("color").isEmpty()) {
+                    QColor col;
+                    col.setNamedColor(a.value("color"));
+                    pen.setColor(col);
+                }
+
+                if (!a.value("width").isEmpty()) {
+                    bool okx;
+                    pen.setWidth(a.value("width").toInt(&okx, 10));
+                }
+                li->setPen(pen);
+                model->createLink(li);
+            }
+        }
+    }
+    return true;
+}
+
+bool parseVYMHandler::readLinkNewAttr(const QXmlAttributes &a)
+{
+    // object ID is used starting in version 1.8.76
+    // (before there was beginBranch and endBranch)
+    //
+    // Starting in 1.13.2 xlinks are no longer subitems of branches,
+    // but listed at the end of the data in a map. This makes handling
+    // of links much safer and easier
+
+    if (!a.value("beginID").isEmpty()) {
+        if (!a.value("endID").isEmpty()) {
+            TreeItem *beginBI = model->findBySelectString(a.value("beginID"));
+            TreeItem *endBI = model->findBySelectString(a.value("endID"));
+            if (beginBI && endBI && beginBI->isBranchLikeType() &&
+                endBI->isBranchLikeType()) {
+                Link *li = new Link(model);
+                li->setBeginBranch((BranchItem *)beginBI);
+                li->setEndBranch((BranchItem *)endBI);
+
+                model->createLink(li);
+
+                bool okx;
+                QPen pen = li->getPen();
+                if (!a.value("type").isEmpty()) {
+                    li->setLinkType(a.value("type"));
+                }
+                if (!a.value("color").isEmpty()) {
+                    QColor col;
+                    col.setNamedColor(a.value("color"));
+                    pen.setColor(col);
+                }
+                if (!a.value("width").isEmpty()) {
+                    pen.setWidth(a.value("width").toInt(&okx, 10));
+                }
+                if (!a.value("penstyle").isEmpty()) {
+                    pen.setStyle(penStyle(a.value("penstyle"), okx));
+                }
+                li->setPen(pen);
+
+                if (!a.value("styleBegin").isEmpty())
+                    li->setStyleBegin(a.value("styleBegin"));
+                if (!a.value("styleEnd").isEmpty())
+                    li->setStyleEnd(a.value("styleEnd"));
+
+                XLinkObj *xlo = (XLinkObj *)(li->getMO());
+                if (xlo && !a.value("c0").isEmpty()) {
+                    QPointF p = point(a.value("c0"), okx);
+                    if (okx)
+                        xlo->setC0(p);
+                }
+                if (xlo && !a.value("c1").isEmpty()) {
+                    QPointF p = point(a.value("c1"), okx);
+                    if (okx)
+                        xlo->setC1(p);
+                }
+            }
+        }
+    }
+    return true;
+}
+
+bool parseVYMHandler::readSettingAttr(const QXmlAttributes &a)
+{
+    if (!a.value("key").isEmpty()) {
+        lastSetting = a.value("key");
+        if (!a.value("value").isEmpty())
+            settings.setLocalValue(
+                    model->getDestPath(), a.value("key"),
+                    a.value("value"));
+        else
+            return false;
+    }
+    else
+        return false;
+
+    return true;
+}
+
+bool parseVYMHandler::readSlideAttr(const QXmlAttributes &a)
+{
+    QStringList scriptlines; // FIXME-3 needed for switching to inScript
+                             // Most attributes are obsolete with inScript
+    if (!lastSlide)
+        return false;
+    {
+        if (!a.value("name").isEmpty())
+            lastSlide->setName(a.value("name"));
+        if (!a.value("zoom").isEmpty()) {
+            bool ok;
+            qreal z = a.value("zoom").toDouble(&ok);
+            if (!ok)
+                return false;
+            scriptlines.append(QString("setMapZoom(%1)").arg(z));
+        }
+        if (!a.value("rotation").isEmpty()) {
+            bool ok;
+            qreal z = a.value("rotation").toDouble(&ok);
+            if (!ok)
+                return false;
+            scriptlines.append(QString("setMapRotation(%1)").arg(z));
+        }
+        if (!a.value("duration").isEmpty()) {
+            bool ok;
+            int d = a.value("duration").toInt(&ok);
+            if (!ok)
+                return false;
+            scriptlines.append(QString("setMapAnimDuration(%1)").arg(d));
+        }
+        if (!a.value("curve").isEmpty()) {
+            bool ok;
+            int i = a.value("curve").toInt(&ok);
+            if (!ok)
+                return false;
+            if (i < 0 || i > QEasingCurve::OutInBounce)
+                return false;
+            scriptlines.append(QString("setMapAnimCurve(%1)").arg(i));
+        }
+        if (!a.value("mapitem").isEmpty()) {
+            TreeItem *ti = model->findBySelectString(a.value("mapitem"));
+            if (!ti)
+                return false;
+            scriptlines.append(
+                QString("centerOnID(\"%1\")").arg(ti->getUuid().toString()));
+        }
+        if (!a.value("inScript").isEmpty()) {
+            lastSlide->setInScript(unquoteMeta(a.value("inScript")));
+        }
+        else
+            lastSlide->setInScript(unquoteMeta(scriptlines.join(";\n")));
+
+        if (!a.value("outScript").isEmpty()) {
+            lastSlide->setOutScript(unquoteMeta(a.value("outScript")));
+        }
+    }
+    return true;
+}
+
+bool parseVYMHandler::readTaskAttr(const QXmlAttributes &a)
+{
+    if (!lastTask)
+        return false;
+    {
+        if (!a.value("status").isEmpty())
+            lastTask->setStatus(a.value("status"));
+        if (!a.value("awake").isEmpty())
+            lastTask->setAwake(a.value("awake"));
+        if (!a.value("date_creation").isEmpty())
+            lastTask->setDateCreation(a.value("date_creation"));
+        if (!a.value("date_modification").isEmpty())
+            lastTask->setDateModification(a.value("date_modification"));
+        if (!a.value("date_sleep").isEmpty()) {
+            if (!lastTask->setDateSleep(a.value("date_sleep")))
+                return false;
+        }
+        if (!a.value("prio_delta").isEmpty()) {
+            lastTask->setPriorityDelta(a.value("prio_delta").toInt());
+        }
+    }
+    return true;
+}
+
+bool parseVYMHandler::readUserFlagDefAttr(const QXmlAttributes &a)
+{
+    QString name;
+    QString path;
+    QString tooltip;
+    QUuid uid;
+
+    if (!a.value("name").isEmpty())
+        name = a.value("name");
+    if (!a.value("tooltip").isEmpty())
+        tooltip = a.value("tooltip");
+    if (!a.value("uuid").isEmpty())
+        uid = QUuid(a.value("uuid"));
+
+    Flag *flag;
+
+    if (!a.value("href").isEmpty()) {
+        // Setup flag with image
+        flag = mainWindow->setupFlag(parseHREF(a.value("href")), Flag::UserFlag,
+                                     name, tooltip, uid);
+    }
+    else {
+        qWarning() << "readUserFlagDefAttr:  Couldn't read href of flag "
+                   << a.value("name");
+        return false;
+    }
+
+    if (!a.value("group").isEmpty())
+        flag->setGroup(a.value("group"));
+
+    return true;
+}
+
+bool parseVYMHandler::readUserFlagAttr(const QXmlAttributes &a)
+{
+    QString name;
+    QString uuid;
+
+    if (!a.value("name").isEmpty())
+        name = a.value("name");
+    if (!a.value("uuid").isEmpty())
+        uuid = a.value("uuid");
+
+    lastBranch->toggleFlagByUid(QUuid(uuid));
+
+    return true;
+}
diff --git a/src/xml-vym.h b/src/xml-vym.h
new file mode 100644 (file)
index 0000000..abab5c3
--- /dev/null
@@ -0,0 +1,95 @@
+#ifndef XML_H
+#define XML_H
+
+#include "xml-base.h"
+
+#include "vymnote.h"
+
+class BranchItem;
+class ImageItem;
+class MapItem;
+class SlideItem;
+class Task;
+
+/*! \brief Parsing VYM maps from XML documents */
+
+enum Content {
+    TreeContent = 0x0001,
+    SlideContent = 0x0002,
+    XLinkContent = 0x0004
+};
+
+class parseVYMHandler : public parseBaseHandler {
+  public:
+    parseVYMHandler();
+    void setContentFilter(const int &);
+
+  private:
+    int contentFilter;
+
+  public:
+    bool startDocument();
+    bool startElement(const QString &, const QString &, const QString &eName,
+                      const QXmlAttributes &atts);
+    bool endElement(const QString &, const QString &, const QString &);
+    bool characters(const QString &);
+    QString errorString();
+    bool readMapAttr(const QXmlAttributes &);
+    bool readMapDesignCompatibleAttr(const QXmlAttributes &);
+    bool readBranchAttr(const QXmlAttributes &);
+    bool readFrameAttr(const QXmlAttributes &);
+    bool readOOAttr(const QXmlAttributes &);
+    bool readNoteAttr(const QXmlAttributes &);
+    bool readImageAttr(const QXmlAttributes &);
+    bool readXLinkAttr(const QXmlAttributes &);
+    bool readLinkNewAttr(const QXmlAttributes &);
+    bool readSettingAttr(const QXmlAttributes &);
+    bool readSlideAttr(const QXmlAttributes &);
+    bool readTaskAttr(const QXmlAttributes &);
+    bool readUserFlagDefAttr(const QXmlAttributes &);
+    bool readUserFlagAttr(const QXmlAttributes &);
+
+  private:
+    enum State {
+        StateInit,
+        StateMap,
+        StateMapDesign,  // Introduced 2.9.514
+        StateMD,         // Introduced 2.9.514
+        StateMapSelect,
+        StateMapSetting,
+        StateMapSlide,
+        StateMapCenter,
+        StateBranch,
+        StateBranchXLink, // Obsolete
+        StateVymNote,
+        StateHtmlNote, // Obsolete >= 1.13.6
+        StateHtml,
+        StateFrame,
+        StateStandardFlag, // New in 2.7.509
+        StateUserFlagDef,  // New in 2.7.509
+        StateUserFlag,
+        StateNote, // Obsolete >= 1.4.6
+        StateImage,
+        StateHeading,
+        StateLink,
+        StateAttribute,
+        StateTask
+    };
+
+    int branchesCounter;
+    int branchesTotal;
+
+    State state;
+    QList<State> stateStack;
+    VymText vymtext;
+
+    BranchItem *lastBranch;
+    ImageItem *lastImage;
+    MapItem *lastMI;
+    SlideItem *lastSlide;
+    Task *lastTask;
+    QString lastSetting;
+
+    bool useProgress;
+};
+#endif
diff --git a/src/xmlobj.cpp b/src/xmlobj.cpp
new file mode 100644 (file)
index 0000000..50d1b42
--- /dev/null
@@ -0,0 +1,148 @@
+#include "xmlobj.h"
+
+#include <QRegExp>
+#include <QStringList>
+
+// returns masked '<' '>' '&'  '"'
+QString quoteMeta(const QString &s)
+{
+    QString r = s;
+    QRegExp rx("&(?!amp;)");
+    r.replace(rx, "&amp;");
+    rx.setPattern(">");
+    r.replace(rx, "&gt;");
+    rx.setPattern("<");
+    r.replace(rx, "&lt;");
+    rx.setPattern("\"");
+    r.replace(rx, "&quot;");
+    rx.setPattern("\n");
+    r.replace(rx, "\\n");
+    return r;
+}
+
+QString unquoteMeta(const QString &s)
+{
+    QString r = s;
+    QRegExp rx("&amp;)");
+    r.replace(rx, "&");
+    rx.setPattern("&gt;");
+    r.replace(rx, ">");
+    rx.setPattern("&lt;");
+    r.replace(rx, "<");
+    rx.setPattern("&quot;");
+    r.replace(rx, "\"");
+    rx.setPattern("\\\\n");
+    r.replace(rx, "\n");
+    return r;
+}
+
+QString quoteQuotes(const QString &s)
+{
+    QString r = s;
+
+    QRegExp rx("\"");
+    r.replace(rx, "\\\"");
+
+    rx.setPattern("\n");
+    r.replace(rx, "\\n");
+
+    return r;
+}
+
+QString unquoteQuotes(const QString &s)
+{
+    QString r = s;
+
+    QRegExp rx("\\\\\"");
+    r.replace(rx, "\"");
+
+    rx.setPattern("\\\\n");
+    r.replace(rx, "\n");
+
+    return r;
+}
+
+QString getCDATA(const QString &s)
+{
+    // Check, if we need to use CDATA after all
+    if (s.contains("<") || s.contains(">") || s.contains("\"") ||
+        s.contains("&")) {
+        QStringList list = s.split("]]>");
+        int i = s.indexOf("]]>");
+        if (i >= 0)
+            // split up and calculate recursively
+            return getCDATA(s.left(i + 2)) +
+                   getCDATA(s.right(s.length() - i - 2));
+        else
+            return "<![CDATA[" + s + "]]>";
+    }
+    else
+        return s;
+}
+
+int XMLObj::curIndent = 0; // make instance of curIndent
+
+XMLObj::XMLObj() { indentWidth = 4; }
+
+XMLObj::~XMLObj() {}
+
+// returns <s at />
+QString XMLObj::singleElement(QString s, QString at)
+{
+    return indent() + "<" + s + " " + at + " />";
+}
+
+// returns <s at at at at ... />
+QString XMLObj::singleElement(QString s, QStringList attributes)
+{
+    return indent() + "<" + s + " " + attributes.join(" ") + " />";
+}
+
+// returns <s>
+QString XMLObj::beginElement(QString s) { return indent() + "<" + s + ">"; }
+
+// returns <s at>
+QString XMLObj::beginElement(QString s, QString at)
+{
+    return indent() + "<" + s + " " + at + ">";
+}
+
+// returns </s>
+QString XMLObj::endElement(QString s) { return indent() + "</" + s + ">"; }
+
+// returns  at="val"
+QString XMLObj::attribut(QString at, QString val) const
+{
+    return " " + at + "=\"" + quoteMeta(val) + "\"";
+}
+
+// returns <s> val </s>
+QString XMLObj::valueElement(QString el, QString val)
+{
+    return indent() + "<" + el + ">" + val + "</" + el + ">";
+}
+
+// returns <s at> val </s>
+QString XMLObj::valueElement(QString el, QString val, QString at)
+{
+    return "<" + el + " " + at + ">" + val + "</" + el + ">";
+}
+
+void XMLObj::incIndent() { curIndent++; }
+
+void XMLObj::decIndent()
+{
+    curIndent--;
+    if (curIndent < 0)
+        curIndent = 0;
+}
+
+QString XMLObj::indent()
+{
+    QString s = "\n";
+    int i;
+    for (i = 0; i < curIndent * indentWidth; i++) {
+        s += " ";
+    }
+    return s;
+}
diff --git a/src/xmlobj.h b/src/xmlobj.h
new file mode 100644 (file)
index 0000000..f60e016
--- /dev/null
@@ -0,0 +1,35 @@
+#ifndef XMLOBJ_H
+#define XMLOBJ_H
+
+class QString;
+class QStringList;
+
+QString quoteMeta(const QString &);
+QString unquoteMeta(const QString &);
+QString quoteQuotes(const QString &);
+QString unquoteQuotes(const QString &);
+QString getCDATA(const QString &s);
+
+/////////////////////////////////////////////////////////////////////////////
+class XMLObj {
+  public:
+    XMLObj();
+    virtual ~XMLObj();
+    QString singleElement(QString, QString);         // name,attr
+    QString singleElement(QString, QStringList);     // name,attributes
+    QString beginElement(QString, QString);          // name,attr
+    QString beginElement(QString);                   // name
+    QString endElement(QString);                     // name
+    QString attribut(QString, QString) const;        // name, val
+    QString valueElement(QString, QString);          // name, val
+    QString valueElement(QString, QString, QString); // name, val, attr
+    void incIndent();
+    void decIndent();
+    static int curIndent;
+
+  protected:
+    QString indent();
+    int indentWidth;
+};
+
+#endif
diff --git a/src/xsltproc.cpp b/src/xsltproc.cpp
new file mode 100644 (file)
index 0000000..42b60e7
--- /dev/null
@@ -0,0 +1,81 @@
+#include "xsltproc.h"
+
+#include <QDebug>
+#include <QMessageBox>
+#include <iostream>
+
+#include "vymprocess.h"
+
+extern bool debug;
+
+XSLTProc::XSLTProc()
+{
+    xsltprocessor = "xsltproc";
+    showOutput = false;
+    dia = new ShowTextDialog;
+}
+
+XSLTProc::~XSLTProc() { delete (dia); }
+
+void XSLTProc::addStringParam(const QString &k, const QString &v)
+{
+    stringParamKey.append(k);
+    stringParamVal.append(v);
+}
+
+void XSLTProc::setOutputFile(const QString &s) { outputFile = s; }
+
+void XSLTProc::setXSLFile(const QString &s) { xslFile = s; }
+
+void XSLTProc::setInputFile(const QString &s) { inputFile = s; }
+
+void XSLTProc::addOutput(const QString &s) { dia->append(s); }
+
+void XSLTProc::process()
+{
+    ShowTextDialog dia;
+    dia.useFixedFont(true);
+    QStringList args;
+    VymProcess *xsltProc = new VymProcess();
+
+    QStringList::Iterator itk;
+    QStringList::Iterator itv = stringParamVal.begin();
+
+    for (itk = stringParamKey.begin(); itk != stringParamKey.end(); ++itk) {
+        args << "--stringparam";
+        args << *itk;
+        args << *itv;
+        ++itv;
+    }
+
+    args << "--output";
+    args << outputFile;
+    args << xslFile;
+    args << inputFile;
+    QString com = xsltprocessor + " " + args.join(" ");
+    if (debug)
+        qDebug() << "xsltproc executing:\n" << qPrintable(com);
+    dia.append("vym is executing: \n" + com);
+    xsltProc->start(xsltprocessor, args);
+    if (!xsltProc->waitForStarted()) {
+        QMessageBox::critical(
+            0, QObject::tr("Critical Error"),
+            QObject::tr("Could not start %1").arg(xsltprocessor));
+    }
+    else {
+        if (!xsltProc->waitForFinished()) {
+            QMessageBox::critical(
+                0, QObject::tr("Critical Error"),
+                QObject::tr("%1 didn't exit normally").arg(xsltprocessor) +
+                    xsltProc->getErrout());
+            if (xsltProc->exitStatus() > 0)
+                showOutput = true;
+        }
+    }
+    dia.append("\n");
+    dia.append(xsltProc->getErrout());
+    dia.append(xsltProc->getStdout());
+
+    if (showOutput)
+        dia.exec();
+}
diff --git a/src/xsltproc.h b/src/xsltproc.h
new file mode 100644 (file)
index 0000000..dcfb02b
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef XSLTPROC_H
+#define XSLTPROC_H
+
+#include <qstring.h>
+#include <qstringlist.h>
+
+#include "showtextdialog.h"
+
+class XSLTProc {
+  public:
+    XSLTProc();
+    ~XSLTProc();
+    void addStringParam(const QString &, const QString &);
+    void setOutputFile(const QString &);
+    void setXSLFile(const QString &);
+    void setInputFile(const QString &);
+    void addOutput(const QString &);
+    void process();
+
+  private:
+    QStringList stringParamKey;
+    QStringList stringParamVal;
+    QString outputFile;
+    QString inputFile;
+    QString xslFile;
+    QString xsltprocessor;
+    bool showOutput;
+    ShowTextDialog *dia;
+};
+
+#endif
diff --git a/src/zip-settings-dialog.cpp b/src/zip-settings-dialog.cpp
new file mode 100644 (file)
index 0000000..f632e01
--- /dev/null
@@ -0,0 +1,127 @@
+#include "zip-settings-dialog.h"
+
+#include <QDebug>
+#include <QFileDialog>
+#include <QString>
+
+#include "file.h"
+
+extern QString vymName;
+extern QString zipToolPath;
+extern QString unzipToolPath;
+extern bool zipToolAvailable;
+extern bool unzipToolAvailable;
+
+ZipSettingsDialog::ZipSettingsDialog(QWidget *parent) : QDialog(parent)
+{
+
+    ui.setupUi(this);
+    init();
+
+    QDialog::setWindowTitle("VYM - " +
+                            tr("zip settings", "dialog window title"));
+
+    connect(ui.zipToolPathLE, SIGNAL(textChanged(const QString &)), this,
+            SLOT(zipToolPathChanged()));
+    connect(ui.zipToolButton, SIGNAL(clicked()), this,
+            SLOT(zipToolButtonPressed()));
+    connect(ui.closeButton, SIGNAL(clicked()), this, SLOT(accept()));
+
+#if defined(Q_OS_WIN32)
+    ui.zipToolLabel->setText(tr("Path to 7z.exe", "zip tool settings dialog"));
+
+    ui.unzipToolPathLE->hide();
+    ui.unzipToolButton->hide();
+    ui.unzipToolStatusLabel->hide();
+    ui.unzipToolLabel->hide();
+#else
+    connect(ui.unzipToolPathLE, SIGNAL(textChanged(const QString &)), this,
+            SLOT(unzipToolPathChanged()));
+    connect(ui.unzipToolButton, SIGNAL(clicked()), this,
+            SLOT(unzipToolButtonPressed()));
+#endif
+}
+
+void ZipSettingsDialog::zipToolPathChanged()
+{
+    zipToolPath = ui.zipToolPathLE->text();
+    updateCheckResults();
+}
+
+void ZipSettingsDialog::unzipToolPathChanged()
+{
+    unzipToolPath = ui.unzipToolPathLE->text();
+    updateCheckResults();
+}
+
+void ZipSettingsDialog::zipToolButtonPressed()
+{
+    QString filter;
+    QString text;
+
+#if defined(Q_OS_WIN32)
+    filter = "Windows executable (*.exe);;";
+    text = QString(tr("Set path to 7z to zip/unzip files"));
+#else
+    filter = "All (*);;";
+    text = QString(tr("Set path to zip files"));
+#endif
+
+    QString fn = QFileDialog::getOpenFileName(
+        this, vymName + " - " + text + ":", zipToolPath, filter);
+
+    if (!fn.isEmpty()) {
+        zipToolPath = fn;
+        ui.zipToolPathLE->setText(fn);
+        updateCheckResults();
+    }
+}
+
+void ZipSettingsDialog::unzipToolButtonPressed()
+{
+    QString filter;
+    QString text;
+
+#if defined(Q_OS_WIN32)
+    // On windows we just use 7z for both zip/unzip
+    return;
+#else
+    filter = "All (*);;";
+    text = QString(tr("Set path to unzip files"));
+#endif
+
+    QString fn = QFileDialog::getOpenFileName(
+        this, vymName + " - " + text + ":", zipToolPath, filter);
+
+    if (!fn.isEmpty()) {
+        unzipToolPath = fn;
+        ui.unzipToolPathLE->setText(fn);
+        updateCheckResults();
+    }
+}
+
+void ZipSettingsDialog::init()
+{
+    ui.zipToolPathLE->setText(zipToolPath);
+    ui.unzipToolPathLE->setText(unzipToolPath);
+    updateCheckResults();
+}
+
+void ZipSettingsDialog::updateCheckResults()
+{
+    checkZipTool();
+    checkUnzipTool();
+    QString zipStatus;
+    if (zipToolAvailable)
+        zipStatus = QString(tr("Status: %1").arg("ok"));
+    else
+        zipStatus = QString(tr("Status: %1").arg("not ok"));
+    ui.zipToolStatusLabel->setText(zipStatus);
+
+    QString unzipStatus;
+    if (unzipToolAvailable)
+        unzipStatus = QString(tr("Status: %1").arg("ok"));
+    else
+        unzipStatus = QString(tr("Status: %1").arg("not ok"));
+    ui.unzipToolStatusLabel->setText(unzipStatus);
+}
diff --git a/src/zip-settings-dialog.h b/src/zip-settings-dialog.h
new file mode 100644 (file)
index 0000000..919a8e3
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef ZIPSETTINGSDIALOG_H
+#define ZIPSETTINGSDIALOG_H
+
+#include "ui_zip-settings-dialog.h"
+
+class ZipSettingsDialog : public QDialog {
+    Q_OBJECT
+
+  public:
+    ZipSettingsDialog(QWidget *parent = 0);
+
+  public slots:
+    void zipToolPathChanged();
+    void unzipToolPathChanged();
+    void zipToolButtonPressed();
+    void unzipToolButtonPressed();
+
+  private:
+    void init();
+    Ui::ZipSettingsDialog ui;
+
+    void updateCheckResults();
+};
+
+#endif
diff --git a/task.cpp b/task.cpp
deleted file mode 100644 (file)
index 588f280..0000000
--- a/task.cpp
+++ /dev/null
@@ -1,259 +0,0 @@
-#include "task.h"
-
-#include <QDebug>
-
-#include "branchitem.h"
-#include "taskmodel.h"
-#include "vymmodel.h"
-
-
-Task::Task(TaskModel *tm)
-{
-//    qDebug()<<"Constr. Task";
-    status=NotStarted;
-    awake=Task::WideAwake;
-    branch=NULL;
-    prio='X';
-    model=tm;
-    date_creation=QDateTime::currentDateTime();
-    date_sleep=QDate::currentDate();
-}
-
-Task::~Task()
-{
-//    qDebug()<<"Destr. Task";
-    if (branch) branch->setTask (NULL);
-}
-
-void Task::setModel (TaskModel* tm)
-{
-    model=tm;
-}
-
-void Task::cycleStatus(bool reverse)
-{
-    if (awake==Morning)
-    {
-       setAwake (WideAwake);
-       return;
-    }
-    int i=status;
-    reverse ?  i-- : i++;
-
-    if (i<0) i=2;
-    if (i>2) i=0;
-
-    setStatus ( (Task::Status) i );
-
-    if (branch) branch->updateTaskFlag ();
-}
-
-void Task::setStatus(const QString &s)
-{
-    if (s=="NotStarted")
-       setStatus(NotStarted);
-    else if (s=="WIP")
-       setStatus(WIP);
-    else if (s=="Finished")
-       setStatus(Finished);
-    else
-       qWarning()<<"Task::setStatus Unknown value: "<<s;
-}
-
-void Task::setStatus(Status s)
-{
-    if (s==status) return;
-    status=s;
-    if (branch) branch->updateTaskFlag();
-}
-
-Task::Status Task::getStatus()
-{
-    return status;
-}
-
-QString Task::getStatusString()            
-{
-    switch (status)
-    {
-       case NotStarted: return "NotStarted";
-       case WIP: return "WIP";
-       case Finished: return "Finished";
-    }
-    return "Undefined";
-}
-
-QString Task::getIconString()
-{
-    QString s;
-    switch (status) 
-    {
-        case NotStarted: 
-            s="task-new";
-            break;
-        case WIP: 
-            s="task-wip";
-            break;
-        case Finished: 
-            s="task-finished";
-        break;
-    }
-    if (status != Finished)
-        switch (awake) 
-        {
-            case Sleeping: 
-                s+="-sleeping";
-                break;
-            case Morning: 
-                s+="-morning";
-                break;
-            default: break;
-        }
-    return s;
-}
-
-void Task::setAwake(const QString &s)
-{
-    if (s=="Sleeping")
-       setAwake(Sleeping);
-    else if (s=="Morning")
-       setAwake(Morning);
-    else if (s=="WideAwake")
-       setAwake(WideAwake);
-    else
-       qWarning()<<"Task::setAwake Unknown value: "<<s;
-}
-
-void Task::setAwake(Task::Awake a)
-{
-    if (a==awake) return;
-    awake=a;
-    recalcAwake();
-    if (branch) branch->updateTaskFlag();
-}
-
-Task::Awake Task::getAwake()
-{
-    return awake;
-}
-
-QString Task::getAwakeString()     
-{
-    switch (getAwake() )
-    {
-       case Sleeping: return "Sleeping";
-       case Morning: return "Morning";
-       case WideAwake: return "WideAwake";
-    }
-    return "Undefined";
-}
-
-void Task::recalcAwake()
-{
-    if ( getDaysSleep() <= 0 && awake==Task::Sleeping)
-       setAwake(Task::Morning);
-}
-
-void Task::setPriority (int p)
-{
-    prio=p;
-}
-
-int Task::getPriority()
-{
-    return prio;
-}
-
-int Task::getAgeCreation()
-{
-    return date_creation.daysTo (QDateTime::currentDateTime() );
-}
-
-int Task::getAgeModified()
-{
-    if (date_modified.isValid() )
-       return date_modified.daysTo (QDateTime::currentDateTime() );
-    else
-       return getAgeCreation();
-}
-
-void Task::setDateCreation (const QString &s)
-{
-    date_creation=QDateTime().fromString (s,Qt::ISODate);
-}
-
-
-void Task::setDateModified()
-{
-    date_modified=QDateTime::currentDateTime();
-}
-
-void Task::setDateModified(const QString &s)
-{
-    date_modified=QDateTime().fromString (s,Qt::ISODate);
-}
-
-void Task::setDateSleep(int n)
-{
-    setDateSleep ( QDate::currentDate().addDays (n).toString(Qt::ISODate) );
-}
-
-void Task::setDateSleep(const QString &s)
-{
-    date_sleep=QDate().fromString (s,Qt::ISODate);
-    if (getDaysSleep()>0) 
-       setAwake(Sleeping);
-    else
-       setAwake (Morning);
-    if (status == Finished) setStatus(WIP); 
-}
-
-int Task::getDaysSleep()
-{
-    int d=0;
-    if (date_sleep.isValid() )
-       d=QDate::currentDate().daysTo (date_sleep);
-    return d;
-}
-
-void Task::setBranch (BranchItem *bi)
-{
-    branch=bi;
-    mapName=bi->getModel()->getMapName();
-}
-
-BranchItem* Task::getBranch ()
-{
-    return branch;
-}
-
-QString Task::getName ()
-{
-    if (branch)
-        return branch->getHeadingPlain();
-    else
-    {
-        qWarning()<<"Task::getName  no branch!";
-        return "UNDEFINED";
-    }
-}
-
-QString Task::getMapName ()
-{
-    return mapName;
-}
-
-QString Task::saveToDir()
-{
-    QString sleepAttr;
-    if (getDaysSleep()>0)
-       sleepAttr = attribut ("date_sleep",date_sleep.toString (Qt::ISODate) );
-    return singleElement ("task",
-       attribut ("status",getStatusString() ) +
-       attribut ("awake",getAwakeString() ) +
-       attribut ("date_creation",date_creation.toString (Qt::ISODate) ) +
-       attribut ("date_modified",date_modified.toString (Qt::ISODate) ) +
-       sleepAttr
-     );
-}
-
diff --git a/task.h b/task.h
deleted file mode 100644 (file)
index 9dd21b3..0000000
--- a/task.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef TASK_H
-#define TASK_H
-
-#include <QString>
-
-#include <QDateTime>
-#include "xmlobj.h"
-
-class BranchItem;
-class QString;
-class TaskModel;
-class VymModel;
-
-class Task:public XMLObj {
-public:
-    enum Status {NotStarted,WIP,Finished};
-    enum Awake {Sleeping,Morning,WideAwake};
-
-    Task(TaskModel* tm);
-    ~Task();
-    void setModel (TaskModel* tm);
-    void cycleStatus(bool reverse=false);
-    void setStatus(const QString &s);
-    void setStatus(Status ts);
-    Status getStatus();        
-    QString getStatusString();
-    QString getIconString();    //! Used to create icons in task list and flags in mapview
-    void setAwake(const QString &s);
-    void setAwake(Awake a);
-    Awake getAwake();
-    QString getAwakeString();
-private:
-    void recalcAwake();
-public:
-    void setPriority(int  p);
-    int getPriority();
-    int getAgeCreation();
-    int getAgeModified();
-    void setDateCreation (const QString &s);
-    void setDateModified ();
-    void setDateModified (const QString &s);
-    void setDateSleep    (int n);
-    void setDateSleep    (const QString &s);
-    int getDaysSleep();
-    QString getName();
-    void setBranch (BranchItem *bi);
-    BranchItem* getBranch();
-    QString getMapName();
-    QString saveToDir();
-
-private:
-    TaskModel* model;
-    Status status; 
-    Awake awake;
-    int prio;
-    BranchItem *branch;
-    QString mapName;
-    QDateTime date_creation;
-    QDateTime date_modified;
-    QDate     date_sleep;
-};
-
-#endif
diff --git a/taskeditor.cpp b/taskeditor.cpp
deleted file mode 100644 (file)
index a6f6919..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-#include "taskeditor.h"
-
-#include <QAbstractTableModel>
-#include <QAction>
-#include <QDebug>
-#include <QHeaderView>
-#include <QMenu>
-#include <QSortFilterProxyModel>
-#include <QTextEdit>
-#include <QToolBar>
-#include <QVBoxLayout>
-
-#include "branchitem.h"
-#include "mainwindow.h"
-#include "task.h"
-#include "taskmodel.h"
-#include "vymmodel.h"
-
-extern Main *mainWindow;
-extern Settings settings;
-extern QMenu* taskContextMenu;
-extern TaskModel* taskModel;
-
-TaskEditor::TaskEditor(QWidget *)
-{
-    // Creat Table view
-    view = new QTableView; 
-
-    QVBoxLayout* mainLayout = new QVBoxLayout;
-
-    QToolBar *tb=new QToolBar ("TaskEditor filters");
-    tb->setToolButtonStyle (Qt::ToolButtonTextBesideIcon);
-    mainLayout->addWidget (tb);
-
-    // Original icon from KDE: /usr/share/icons/oxygen/16x16/actions/view-filter.png
-
-    QIcon icon=QIcon (":/view-filter.png");
-    QAction *a = new QAction(icon,  tr( "Current map","TaskEditor" ),this );
-    a->setCheckable(true);
-    a->setChecked  (settings.value("/taskeditor/filterMap", false).toBool());
-    tb->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(toggleFilterMap() ) );
-    actionToggleFilterMap = a;
-
-    a = new QAction(icon,  tr( "Active tasks","TaskEditor" ),this );
-    a->setCheckable(true);
-    a->setChecked  (settings.value("/taskeditor/filterActive", false).toBool());
-    tb->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(toggleFilterActive() ) );
-    actionToggleFilterActive = a;
-
-    a = new QAction(icon,  tr( "New tasks","TaskEditor" ),this );
-    a->setCheckable(true);
-    a->setChecked  (settings.value("/taskeditor/filterNew", false).toBool());
-    tb->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(toggleFilterNew() ) );
-    actionToggleFilterNew = a;
-
-    a = new QAction(icon,  "Flag", this); //tr( "Flags","TaskEditor" ),this );   // FIXME-1 add translation
-    a->setCheckable(true);
-    a->setChecked  (settings.value("/taskeditor/filterNew", false).toBool());
-    if (settings.value( "/mainwindow/showTestMenu",false).toBool())
-        tb->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT(toggleFilterFlags() ) );
-    actionToggleFilterFlags = a;
-
-    // Forward Enter and Return to MapEditor
-    a = new QAction(icon, tr( "Edit heading","TaskEditor" ), this);
-    a->setShortcut ( Qt::Key_Return);          
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), mainWindow, SLOT( editHeading() ) );
-    a = new QAction( tr( "Edit heading","TaskEditor" ), this);
-    a->setShortcut ( Qt::Key_Enter);                   
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), mainWindow, SLOT( editHeading() ) );
-
-    // Clone actions defined in MainWindow
-    foreach (QAction* qa, mainWindow->taskEditorActions)
-    {
-        a = new QAction( this );
-        a->setShortcut( qa->shortcut() );
-        a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-        connect( a, SIGNAL( triggered() ), qa, SLOT( trigger() ) );
-        addAction(a);
-    }
-
-    mainLayout->addWidget (view);
-    setLayout (mainLayout);
-
-    view->setSelectionBehavior(QAbstractItemView::SelectRows);
-    view->horizontalHeader()->setStretchLastSection(true);
-    view->verticalHeader()->hide();
-    view->setEditTriggers(QAbstractItemView::NoEditTriggers);
-
-    filterActiveModel = new TaskFilterModel;
-    filterActiveModel->setSourceModel(taskModel);
-
-    view->setModel (filterActiveModel);
-    view->setSortingEnabled(true);
-    view->horizontalHeader()->setSortIndicator (0,Qt::AscendingOrder);
-
-    blockExternalSelect=false;
-
-    connect (
-       view->selectionModel(),SIGNAL (selectionChanged (QItemSelection,QItemSelection)),
-       this, SLOT (selectionChanged (QItemSelection,QItemSelection)));
-    
-    // layout changes trigger resorting
-    connect( taskModel, SIGNAL( layoutChanged() ), this, SLOT(sort() ) );
-
-    // Enable wordwrap when data changes
-    connect ( 
-        taskModel, SIGNAL( dataChanged( QModelIndex, QModelIndex)),
-        view, SLOT( resizeRowsToContents() ) );
-    connect ( 
-        view->horizontalHeader(), SIGNAL( sectionResized(int, int, int)),
-        view, SLOT( resizeRowsToContents() ) );
-
-
-    // Initialize view filters according to previous settings
-    setFilterMap();
-    setFilterActive();
-    setFilterNew();
-    setFilterFlags();
-
-    // Initialize column widths
-    QString s;
-    for (int i=0; i<6; i++)
-    {
-       s=QString("/taskeditor/columnWidth/%1").arg(i);
-       if (settings.contains (s) )
-           view->setColumnWidth (i, settings.value(s, 100).toInt() );
-    }
-
-    // Initialize display of parents of a task
-    bool ok;
-    int i=settings.value ("/taskeditor/showParentsLevel", 0).toInt(&ok);
-    if (ok) taskModel->setShowParentsLevel(i);
-
-}
-
-TaskEditor::~TaskEditor()
-{
-    settings.setValue ("/taskeditor/filterMap",actionToggleFilterMap->isChecked());
-    settings.setValue ("/taskeditor/filterActive",actionToggleFilterActive->isChecked());
-    settings.setValue ("/taskeditor/filterNew",actionToggleFilterNew->isChecked());
-    settings.setValue ("/taskeditor/showParentsLevel",taskModel->getShowParentsLevel() );
-    for (int i=0; i<7; i++)
-       settings.setValue (QString("/taskeditor/columnWidth/%1").arg(i),view->columnWidth(i) );
-}
-
-void TaskEditor::setMapName (const QString &n)
-{
-    currentMapName=n;
-    setFilterMap();
-}
-
-bool TaskEditor::isUsedFilterMap()
-{
-    return actionToggleFilterMap->isChecked();
-}
-
-void TaskEditor::setFilterMap () 
-{
-    if (isUsedFilterMap() )
-        filterActiveModel->setMapFilter(currentMapName);
-    else
-        filterActiveModel->setMapFilter(QString() );
-    sort();
-}
-
-bool TaskEditor::isUsedFilterActive()
-{
-    return actionToggleFilterActive->isChecked();
-}
-
-void TaskEditor::setFilterActive () 
-{
-    filterActiveModel->setFilter (actionToggleFilterActive->isChecked() );   
-    sort();    
-}
-
-void TaskEditor::setFilterNew ()
-{
-    filterActiveModel->setFilterNew (actionToggleFilterNew->isChecked() );
-    sort();
-}
-
-void TaskEditor::setFilterFlags ()  // FIXME-1 experimental
-{
-    filterActiveModel->setFilterFlags (actionToggleFilterFlags->isChecked() );
-    sort();
-}
-
-void TaskEditor::showSelection()
-{
-    QModelIndexList list=view->selectionModel()->selectedIndexes();
-    if (list.count()>0)
-       // Usually whole row is selected, so just go for first cell
-       view->scrollTo(taskModel->index(taskModel->getTask(list.first())), QAbstractItemView::EnsureVisible);
-}
-
-bool TaskEditor::select (Task *task)   
-{
-    if (task)
-    {
-       blockExternalSelect=true;
-       QModelIndex i0b=taskModel->index (task); 
-       QModelIndex i0e=taskModel->indexRowEnd (task); 
-
-       QModelIndex i1b=filterActiveModel->mapFromSource(i0b ); 
-       QModelIndex i1e=filterActiveModel->mapFromSource(i0e ); 
-
-       QItemSelection sel (i1b, i1e);
-
-       view->selectionModel()->select (sel, QItemSelectionModel::ClearAndSelect  );
-       blockExternalSelect=false;
-       return true;
-    }
-    return false;
-}
-
-void TaskEditor::clearSelection()
-{
-    view->selectionModel()->clearSelection();
-}
-
-void TaskEditor::selectionChanged ( const QItemSelection & selected, const QItemSelection & )
-{// FIXME-3 what, if multiple selection in MapEditor?
-    // Avoid segfault on quit, when selected is empty
-    if (selected.indexes().isEmpty() ) return;
-
-    QItemSelection sel0=filterActiveModel->mapSelectionToSource (selected);
-    QModelIndex ix=sel0.indexes().first();
-    Task *t=taskModel->getTask (ix);
-    if (t) 
-    {
-       BranchItem *bi=t->getBranch();
-       if (bi) 
-       {
-           VymModel *m=bi->getModel();
-           if (!blockExternalSelect) m->select (bi);
-           if (m!=mainWindow->currentModel() )
-               mainWindow->gotoModel (m);
-           view->setStyleSheet( 
-           QString ("selection-color: %1;" 
-                    "selection-background-color: %2;").arg(bi->getHeadingColor().name() ).arg(m->getSelectionColor().name() ) );
-           view->scrollTo (selected.indexes().first() );   
-       }
-    }
-}
-
-void TaskEditor::contextMenuEvent ( QContextMenuEvent * e )
-{
-    taskContextMenu->popup (e->globalPos() );
-}
-
-void TaskEditor::sort()
-{
-    QHeaderView *hv=view->horizontalHeader();
-    view->sortByColumn( hv->sortIndicatorSection(), hv->sortIndicatorOrder() );
-    filterActiveModel->invalidate();   
-
-}
-
-void TaskEditor::toggleFilterMap ()
-{
-    setFilterMap ();
-}
-
-void TaskEditor::toggleFilterActive ()
-{
-    setFilterActive();
-
-}
-void TaskEditor::toggleFilterNew ()
-{
-    setFilterNew();
-}
-
-void TaskEditor::toggleFilterFlags ()
-{
-    setFilterFlags();
-}
diff --git a/taskeditor.h b/taskeditor.h
deleted file mode 100644 (file)
index da35836..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef TASKEDITOR_H 
-#define TASKEDITOR_H
-
-#include <QWidget>
-#include <QTableView>
-
-#include "taskfiltermodel.h"
-
-class BranchItem;
-class QTableView;
-class Task;
-class TaskModel;
-class QSortFilterProxyModel;
-
-class TaskEditor : public QWidget
-{
-    Q_OBJECT
-
-public:
-    TaskEditor (QWidget *parent=NULL);
-    ~TaskEditor ();
-    void setMapName (const QString &);
-    bool isUsedFilterMap ();
-    void setFilterMap  ();
-    bool isUsedFilterActive ();
-    void setFilterActive ();
-    void setFilterNew ();
-    void setFilterFlags ();
-    bool select (Task *task);
-    void clearSelection ();
-    void showSelection ();
-    void contextMenuEvent ( QContextMenuEvent * e );
-
-public slots:
-    void sort();
-
-private slots:
-    void selectionChanged (const QItemSelection & selected, const QItemSelection & );
-    void toggleFilterMap ();
-    void toggleFilterActive ();
-    void toggleFilterNew ();
-    void toggleFilterFlags ();
-
-private:
-    QTableView *view;
-    TaskFilterModel *filterActiveModel;
-    QString currentMapName;
-    QAction *actionToggleFilterMap;
-    QAction *actionToggleFilterActive;
-    QAction *actionToggleFilterNew;
-    QAction *actionToggleFilterFlags;
-    bool blockExternalSelect;
-};
-
-#endif
-
diff --git a/taskfiltermodel.cpp b/taskfiltermodel.cpp
deleted file mode 100644 (file)
index fa3bde7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#include "taskfiltermodel.h"
-#include "taskmodel.h"
-
-#include <QSortFilterProxyModel>
-
-#include "branchitem.h"
-
-extern TaskModel *taskModel;
-
-void TaskFilterModel::setFilter (bool b)
-{
-    useFilter = b;
-}
-
-void TaskFilterModel::setMapFilter (const QString &s)  
-{
-    mapFilter = s;
-}
-
-void TaskFilterModel::setFilterNew (bool b)
-{
-    filterNew = b;
-}
-
-void TaskFilterModel::setFilterFlags (bool b)
-{
-    filterFlags = b;
-}
-bool TaskFilterModel::filterAcceptsRow(int sourceRow, 
-         const QModelIndex &sourceParent) const
-{
-    QModelIndex ix = sourceModel()->index(sourceRow, 0, sourceParent);
-
-    // Filter by mapname
-    QString mapname = taskModel->getTask(ix)->getMapName();
-    if (mapname.isEmpty()) mapname = "justSomePseudoMapNameForFiltering";
-    if ( !mapFilter.isEmpty() && mapname != mapFilter )
-        return false;
-
-    // Filter new tasks
-    if (filterNew && taskModel->getTask(ix)->getAwake() != Task::Morning)
-        return false;
-
-    // Filter active tasks
-    if (useFilter && ((taskModel->getTask(ix)->getDaysSleep() > 0) || (taskModel->getTask(ix)->getStatus() == Task::Finished) ) )
-        return false;
-
-    // Filter flags  // FIXME-1 currently only "arrow-up"
-    if (filterFlags && !taskModel->getTask(ix)->getBranch()->hasActiveStandardFlag("arrow-up") )
-        return false;
-
-    return true;
-}
-
diff --git a/taskfiltermodel.h b/taskfiltermodel.h
deleted file mode 100644 (file)
index 6e02327..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef TASKFILTERMODEL_H
-#define TASKFILTERMODEL_H
-
-#include <QSortFilterProxyModel>
-
-class TaskFilterModel:public QSortFilterProxyModel
-{
-public:
-    void setFilter (bool b);
-    void setFilterNew (bool b);
-    void setMapFilter (const QString &s);
-    void setFilterFlags (bool b);
-protected:    
-    bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
-private:
-    bool useFilter;
-    QString mapFilter;
-    bool filterNew;
-    bool filterFlags;
-};
-
-#endif
diff --git a/taskmodel.cpp b/taskmodel.cpp
deleted file mode 100644 (file)
index 65b2f27..0000000
+++ /dev/null
@@ -1,323 +0,0 @@
-#include "taskmodel.h"
-
-#include <QDebug>
-
-#include "branchitem.h"
-#include "branchobj.h"
-#include "task.h"
-#include "vymmodel.h"
-
-TaskModel::TaskModel(QObject *parent)
-    : QAbstractTableModel(parent)
-{
-    showParentsLevel = 0;
-}
-
-QModelIndex TaskModel::index (Task* t)
-{
-    int n=tasks.indexOf (t);
-    if (n<0)
-       return QModelIndex();
-    else    
-       return createIndex (n,0,t);
-}
-
-QModelIndex TaskModel::indexRowEnd (Task* t)
-{
-    int n=tasks.indexOf (t);
-    if (n<0)
-       return QModelIndex();
-    else    
-       return createIndex (n,6,t);
-}
-
-Task* TaskModel::getTask (const QModelIndex &ix) const
-{
-    if (ix.isValid() )
-       return tasks.at (ix.row() );
-    else
-       return NULL;
-}
-
-int TaskModel::rowCount(const QModelIndex &parent) const
-{
-    Q_UNUSED(parent);
-    return tasks.size();
-}
-
-int TaskModel::columnCount(const QModelIndex &parent) const
-{
-    Q_UNUSED(parent);
-    return 7;
-}
-
-QVariant TaskModel::data(const QModelIndex &index, int role) const
-{
-    if (!index.isValid())
-        return QVariant();
-    
-    if (index.row() >= tasks.size() || index.row() < 0)
-        return QVariant();
-
-    BranchItem *bi=tasks.at(index.row())->getBranch();
-    Task *t=tasks.at(index.row() );
-
-    if (role == Qt::DisplayRole) 
-    {
-        if (index.column() == 0)
-            return t->getPriority();
-        else if (index.column() == 1)
-            return t->getStatusString() + " - " +t->getAwakeString();
-        else if (index.column() == 2)
-            return t->getAgeCreation();
-        else if (index.column() == 3)
-            return t->getAgeModified();
-        else if (index.column() == 4)
-            return t->getDaysSleep();
-        else if (index.column() == 5)
-        {
-            QString s = bi->getModel()->getMapName();
-            if (s.isEmpty() )
-                return "-";    
-            else
-                return bi->getModel()->getMapName();
-        }
-        else if (index.column() == 6)
-        {
-            BranchItem *bi = tasks.at(index.row())->getBranch();
-            return bi->getHeadingPlainWithParents( showParentsLevel );
-        }
-    } else if (role == Qt::DecorationRole && index.column() == 1)
-    {
-        return QIcon(":/flag-" + t->getIconString() + ".png");
-    }
-    else // role != Qt::DisplayRole
-    {
-       if (role == Qt::ForegroundRole && bi ) 
-           return bi->getHeadingColor();
-       if (role == Qt::BackgroundRole && bi ) 
-        {
-            BranchItem *frameBI=bi->getFramedParentBranch(bi);
-            if (frameBI && index.column() != 5)
-            {
-                BranchObj *bo=frameBI->getBranchObj();
-                if (bo) 
-                    // Return frame background
-                    return bo->getFrameBrushColor();
-            }
-            else
-            {
-                // Return map background
-                return bi->getModel()->getMapBackgroundColor();
-            }
-        }
-    }  
-
-    return QVariant();
-}
-
-QVariant TaskModel::headerData(int section, Qt::Orientation orientation, int role) const
-{
-    if (role != Qt::DisplayRole)
-        return QVariant();
-
-    if (orientation == Qt::Horizontal) {
-        switch (section) {
-            case 0:
-                return tr("Prio","TaskEditor");
-            case 1:
-                return tr("Status","TaskEditor");
-            case 2:
-                return tr("Age total","TaskEditor");
-            case 3:
-                return tr("Age mod.","TaskEditor");
-            case 4:
-                return tr("Sleep","TaskEditor");
-            case 5:
-                return tr("Map","TaskEditor");
-            case 6:
-                return tr("Task","TaskEditor");
-            default:
-                return QVariant();
-        }
-    }
-    return QVariant();
-}
-
-bool TaskModel::insertRows(int position, int rows, const QModelIndex &index, Task* t)
-{
-    Q_UNUSED(index);
-    beginInsertRows(QModelIndex(), position, position+rows-1);
-
-    for (int row=0; row < rows; row++) 
-        tasks.insert(position, t);
-
-    endInsertRows();
-    return true;
-}
-
-bool TaskModel::removeRows(int position, int rows, const QModelIndex &index)
-{
-    Q_UNUSED(index);
-    beginRemoveRows(QModelIndex(), position, position+rows-1);
-
-    for (int row=0; row < rows; ++row) 
-        delete (tasks.takeAt(position)) ;
-
-    endRemoveRows();
-    return true;
-}
-
-bool TaskModel::setData(const QModelIndex &index, Task* t, int role)
-{
-    if (index.isValid() && role == Qt::EditRole) 
-    {
-        int row = index.row();
-
-        tasks.replace(row, t);
-        emit(dataChanged(index, index));
-
-        return true;
-    }
-
-    return false;
-}
-
-void TaskModel::emitDataChanged (Task* t)
-{
-    QModelIndex ix=index (t);
-    if (ix.isValid() )
-    {
-       int row=ix.row();
-       int col=0;
-       while (col<columnCount(QModelIndex() ) )
-       {
-           ix=createIndex (row, col, t);
-           if (ix.isValid() ) emit(dataChanged(ix,ix) );
-           col++;  
-       }    
-    }
-}
-
-Qt::ItemFlags TaskModel::flags(const QModelIndex &index) const
-{
-    if (!index.isValid())
-        return Qt::ItemIsEnabled;
-
-    return QAbstractTableModel::flags(index) | Qt::ItemIsEditable;
-}
-
-int TaskModel::count (VymModel *model)
-{
-    if (!model) return tasks.size();
-    int n=0;
-    foreach (Task *t,tasks) if (t->getBranch()->getModel()==model) n++;
-    return n;
-}
-
-Task* TaskModel::createTask (BranchItem *bi)
-{
-    if (bi)
-    {
-       foreach (Task* t, tasks)
-       {
-           if (t->getBranch()==bi)
-           {
-               qWarning()<<"TaskModel::createTask Branch exists already!";
-               return NULL;
-           }
-       }
-       Task* task=new Task(this);
-       task->setBranch (bi);
-        task->setAwake(Task::Morning);
-        insertRows(tasks.count(), 1, QModelIndex(),task);
-
-       bi->setTask (task);
-
-       return task;
-    }
-    qWarning()<<"TaskEditor::addItem - item exists";
-    return NULL;
-}
-
-void TaskModel::deleteTask (Task* t)
-{
-    int pos=tasks.indexOf(t);
-    if (pos>=0)
-       removeRows(pos, 1,QModelIndex() );
-}
-
-void TaskModel::recalcPriorities() 
-{
-    emit (layoutAboutToBeChanged() );
-    int minPrio=1000000;
-    foreach (Task *t,tasks)
-    {   
-       int p=0;
-       BranchItem *bi=t->getBranch();
-
-       // Status
-       switch (t->getStatus() )
-       {
-           case Task::NotStarted: break;
-           case Task::WIP: p+=10; break;
-           case Task::Finished: p+=2000; break;
-       }
-
-       // Awake and sleeping
-       switch (t->getAwake() )
-       {
-           case Task::Morning: p-=1000; break;
-           case Task::WideAwake: break;
-           case Task::Sleeping: p+=1000 + t->getDaysSleep(); break;
-       }
-
-       // Color (importance)
-       QColor c = bi->getHeadingColor();
-
-        // light blueish green
-       if (c == QColor ("#00aa7f") ) p -= 20;
-
-        // green (e.g. from vym < 2.6.3 with #005500)
-       if (c.red() == 0 && c.blue() == 0 && c.green() < 160) p -= 40;
-
-        // orange
-       if (c == QColor ("#d95100") ) p -= 60;
-
-        // red
-       if (c == QColor ("#ff0000") ) p -= 80;
-
-       // Flags
-       if (bi->hasActiveStandardFlag ("stopsign") ) p-=800;
-
-       // Age
-       p-=t->getAgeModified();
-       p-=t->getAgeCreation() * 1.0 / 365 * 80; // After a year, this is as important as "red"
-
-        // Position in subtree
-        p += bi->num();
-
-       t->setPriority (p);
-       if (p<minPrio) minPrio=p;
-    }
-    // Normalize, so that most important task has prio 1
-    foreach (Task *t,tasks)
-    {   
-       t->setPriority (1-  minPrio + t->getPriority() );
-       //emitDataChanged (t);
-    }
-
-    emit (layoutChanged() );
-}
-
-void TaskModel::setShowParentsLevel(uint i)
-{
-    showParentsLevel = i;
-    recalcPriorities(); // Triggers update of view
-}
-
-uint TaskModel::getShowParentsLevel()
-{
-    return showParentsLevel;
-}
-
diff --git a/taskmodel.h b/taskmodel.h
deleted file mode 100644 (file)
index eab06d1..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef TASKMODEL_H
-#define TASKMODEL_H
-
-#include <QAbstractTableModel>
-#include <QList>
-
-#include "task.h"
-
-class BranchItem;
-class VymModel;
-
-class TaskModel : public QAbstractTableModel
-{
-    Q_OBJECT
-    
-public:
-    TaskModel(QObject *parent=0);
-    QModelIndex index (Task* t);
-    QModelIndex indexRowEnd (Task* t);
-    Task* getTask (const QModelIndex &ix) const;
-    int rowCount(const QModelIndex &parent) const;
-    int columnCount(const QModelIndex &parent) const;
-    QVariant data(const QModelIndex &index, int role) const;
-    QVariant headerData(int section, Qt::Orientation orientation, int role) const;
-    Qt::ItemFlags flags(const QModelIndex &index) const;
-//    bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole);
-    bool setData(const QModelIndex &index, Task *t, int role=Qt::EditRole);
-    void emitDataChanged (Task *t);
-    bool insertRows(int position, int rows, const QModelIndex &index=QModelIndex(),Task *t=NULL);
-    bool removeRows(int position, int rows, const QModelIndex &index=QModelIndex());
-
-    int count (VymModel *model=NULL);
-    Task* createTask (BranchItem *bi);
-    void deleteTask (Task* t);
-    void recalcPriorities();
-
-    void setShowParentsLevel (uint i);
-    uint getShowParentsLevel ();
-
-private:
-    QList <Task*> tasks;
-    uint showParentsLevel;
- };
-
-#endif
index 47da18a76373f432f911ea740fc283f2243a65de..aff292eec59f5471503fcd0f07cb47175224e1da 100644 (file)
Binary files a/test/default.vym and b/test/default.vym differ
diff --git a/test/maps/legacy/external-note-plaintext.txt b/test/maps/legacy/external-note-plaintext.txt
new file mode 100644 (file)
index 0000000..557236a
--- /dev/null
@@ -0,0 +1 @@
+PlainText note in file
diff --git a/test/maps/legacy/external-note-richtext.html b/test/maps/legacy/external-note-richtext.html
new file mode 100644 (file)
index 0000000..e2ca2dc
--- /dev/null
@@ -0,0 +1,5 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans Mono'; font-size:12pt; color:#00aa7f;">Rich</span><span style=" font-family:'DejaVu Sans Mono'; font-size:12pt; color:#ff0000;">Text note in file</span></p></body></html>
\ No newline at end of file
diff --git a/test/maps/legacy/faq-2.5.21.xml b/test/maps/legacy/faq-2.5.21.xml
new file mode 100644 (file)
index 0000000..9f775be
--- /dev/null
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?><!DOCTYPE vymmap>
+
+<vymmap  version="2.5.21" author="Uwe (inventor of vym)" title="" comment="" date="2016-08-17" branchCount="24" backgroundColor="#ffffff" defaultFont="Sans Serif,16,-1,0,50,0,0,0,0,0" selectionColor="#ffff00" linkStyle="StylePolyLine" linkColor="#0000ff" defXLinkColor="#e6e6e6" defXLinkWidth="1" defXLinkPenStyle="Qt::DashLine" defXLinkStyleBegin="HeadFull" defXLinkStyleEnd="HeadFull" mapZoomFactor="1" mapRotationAngle="0" linkColorHint="HeadingColor">
+    <mapcenter absPosX="27" absPosY="245" hideLink="false" uuid="{e5e8967d-ed26-47e2-942d-e1ae6db1c6d0}"><heading  textMode="plainText"  fonthint="undef"  textColor="#000000">vym - FAQ</heading>
+        <frame  frameType="Rectangle" penColor="#000000" brushColor="#ffffff" padding="0" borderWidth="1" />
+        <branch relPosX="307" relPosY="-214" hideLink="false" uuid="{0b38c4e5-e0df-4fb6-8195-810789d4c6c4}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa0000">How to make vym better</heading>
+            <branch hideLink="false" uuid="{840f205a-79ee-48a8-99d5-a639f6633305}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa0000">How to get the sources</heading><vymnote  textMode="richText"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">Since vym is under the GPL, the sources should be part of your distribution e.g. in SUSE LINUX they can be installed easily with YaST from the CD/DVD.</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">You find the latest version at the project site.:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">     https://sourceforge.net/projects/vym/</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">See the questions about Documentation-&gt;git-&gt; How to do an anonymous checkout </span>                </p></body></html>]]></vymnote>
+            </branch>
+            <branch hideLink="false" scrolled="yes" uuid="{a498d3ad-6625-45d9-bde0-e17c0376605a}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa0000">How to translate vym</heading><vymnote  textMode="richText"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">You need </span></p>
+<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans Serif';" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The sources of vym. (See the question about getting the sources)</li>
+<li style=" font-family:'Sans Serif';" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">a installation of Nokias (former Trolltechs) Qt. A part of Qt are the development tools, from those tools especially the translation tool &quot;Linguist&quot; is needed. <br /><br />Note: In some Linux distributions the development tools are in an extra package, e.g. on openSUSE you should have installed:<br />   <span style=" color:#0000ff;">libqt5-devel.rpm <br /><br /></span>If you don't have Qt in your system, you can get it from <br /><span style=" color:#0000ff;"> http://qt.io</span></li></ul>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">Once you are able to compile vym yourself, you can translate the text in vym itself by performing the following steps:</span></p>
+<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans Serif';" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Let's assume now your encoding is &quot;NEW&quot; instead of for example &quot;de&quot; for german or &quot;en&quot; for english</li>
+<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Add <span style=" color:#0000ff;">lang/vym.NEW.ts</span> to the TRANSLATIONS section of <span style=" font-family:'Courier';">vym.pro</span></li></ul>
+<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run <span style=" color:#0000ff;">lupdate</span> to create vym_NEW.ts file:</li></ul>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;"><span style=" font-family:'Adobe Courier';">    lupdate vym.pro</span></p>
+<li style=" font-family:'Sans Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run Linguist on vym_NEW.ts and do the translation:</li>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;"><span style=" font-family:'Adobe Courier';">linguist vym.NEW.ts</span></p>
+<li style=" font-family:'Sans Serif';" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run <span style=" color:#0000ff;">lrelease</span> to create vym_NEW.qm:</li>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;"><span style=" font-family:'Adobe Courier';">    lrelease vym.NEW.qm</span></p>
+<li style=" font-family:'Sans Serif';" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Run the local copy of vym to check your changes: <span style=" color:#0000ff;">vym -l <br /></span><span style=" color:#000000;">(Alternatively you can do a</span><span style=" color:#0000ff;"> make install</span><span style=" color:#000000;"> to install vym completely in your system.)</span><br /></li></ul>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">If you feel brave, you can also translate the manual. It is written in LaTeX, you just have to change the file </span><span style=" font-family:'Sans Serif'; color:#0000ff;">tex/vym.tex</span><span style=" font-family:'Sans Serif';">. (Linguist and QT are not needed, but it is useful to know how to work with LaTeX and esp. pdflatex to create the PDF.)</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">Please mail me every translation you have done. I can also give you a developer access to the project, if you want to provide translations regulary.</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">Thanks for helping to make vym more popular!</span></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">-Uwe</span>                </p></body></html>]]></vymnote>
+                <branch hideLink="false" url="http://doc.trolltech.com/3.3/linguist-manual.html" uuid="{8ae0fdd0-72d4-4d88-8b5b-e70b8e619595}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa0000">Documentation on QT Linguist</heading>
+                </branch>
+            </branch>
+            <branch hideLink="false" uuid="{699f93bd-0d05-4464-9578-2b75a98f9001}"><heading  fonthint="undef"  textColor="#005500" textMode="richText"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif'; color:#ff0000;">CDATA heading</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif'; color:#0000ff;">https://sourceforge.net/projects/vym/</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';"><br /></p></body></html>]]></heading>
+            </branch>
+            <branch hideLink="false" uuid="{461e6f39-faac-4133-8c5a-5c9a2aa59524}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa0000">How to get a new feature</heading><vymnote  textMode="richText"><![CDATA[<html><head><meta name="qrichtext" content="1"></meta></head><body style="font-size:10pt;font-family:Sans Serif"><p>The best way to get a new feature into vym is to code it yourself ;-)</p><p>If you can't code it or don't want to, you can ask on the mailing list (see project site at https://sourceforge.net/projects/vym/) or contact me directly.</p><p>Unfortunatly I am quite busy with my &quot;real life&quot; work and my family, so I don't have as much time to improve vym as I would like to have. The most important features are already there, I think, I will concentrate on adding an infrastructure for scripting and connectivity to other software, I guess.</p><p></p></body></html>
+                ]]></vymnote>
+            </branch>
+        </branch>
+        <branch relPosX="305" relPosY="-86" hideLink="false" uuid="{ab33a7c8-a33d-4a28-80bd-9ef07935356a}"><heading  textMode="plainText"  fonthint="undef"  textColor="#005500">Supported systems</heading>
+            <branch hideLink="false" uuid="{fb51c658-8c91-4e81-9550-d44f317401a1}"><heading  textMode="plainText"  fonthint="undef"  textColor="#005500">Is there a version for KDE?</heading>
+                <standardflag>cross-red</standardflag><vymnote  textMode="richText"><![CDATA[<html><head><meta name="qrichtext" content="1"></meta></head><body style="font-size:10pt;font-family:Sans Serif"><p>vym runs perfectly under KDE, but doesn't make use of KDE libraries so far. There are some things which could be improved by using KDE:</p><ul type="disc"><li>Better file dialogs (network transparency e.g. with FTP and webDAV support)</li><li>Better printer support through kprinter</li><li>unique look and feel on KDE desktop</li></ul><p>But: at the moment I do not intend to port vym to KDE. It would make cross platform builds more difficult, as people would also need KDE development environment. </p><p>A compromise could be to use a small wrapper library which provides access to the most important KDE features (see above), if KDE is present on the system. Unfortunatly I don't have time at the moment to implement this, so if you want to help, please contact me.</p></body></html>
+                ]]></vymnote>
+            </branch>
+            <branch hideLink="false" uuid="{699f93bd-0d05-4464-9578-2b75a98f9e9d}"><heading  textMode="plainText"  fonthint="undef"  textColor="#005500">Is there a version for Windows?</heading>
+                <standardflag>hook-green</standardflag><vymnote  textMode="richText"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">Yes. Please download from </span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif'; color:#0000ff;">https://sourceforge.net/projects/vym/</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';"><br /></p></body></html>]]></vymnote>
+            </branch>
+            <branch hideLink="false" uuid="{5edcadc6-b3a1-47dd-bd0d-75a1f1de2159}"><heading  textMode="plainText"  fonthint="undef"  textColor="#005500">Is there a version for Mac OS X?</heading>
+                <standardflag>wip</standardflag><vymnote  textMode="plainText"  fonthint="var"  textColor="#000000">2011-06-28: Unfortunatly the last and quite ancient available version for Mac is 1.10.0.
+
+
+2016-08-17: I plan to release 2.6.0 also for Mac OSX, stay tuned.</vymnote>
+            </branch>
+        </branch>
+        <branch relPosX="300" relPosY="15" hideLink="false" uuid="{25719270-400e-4649-a192-856beb354b67}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa00ff">Most wanted features</heading>
+            <branch hideLink="false" uuid="{2ca83853-21d9-4948-8b03-8c85801fe733}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa00ff">Free positioning of branches</heading><vymnote  textMode="richText"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">Beginning with vym 2.5.21 there is an experimental feature to position branches freely. You could also use the folloing workaround:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">Mainbranches (these are the ones closest to the mapcenter) can be positioned freely, so just use one of those. You can then &quot;hide&quot; their link to the mapcenter in the context menu.</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">The &quot;Back to Main Page&quot; branch in this map is an example.</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';"><br /></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif';">Another workaround is to use more mapcenters in one map. Use the &quot;C&quot; key or the context menu to create a new mapcenter.</span>                </p></body></html>]]></vymnote>
+            </branch>
+            <branch hideLink="false" uuid="{c8984f73-411f-414f-add0-29b5a4a585f3}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa00ff">done already</heading>
+                <branch hideLink="false" uuid="{c98613ca-3542-4ecd-8579-570d0a5e9e57}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa00ff">Cross references between branches</heading>
+                    <standardflag>hook-green</standardflag><vymnote  textMode="richText"><![CDATA[<html><head><meta name="qrichtext" content="1"></meta></head><body style="font-size:10pt;font-family:Sans Serif"><p>Linking two branches is possible since version 1.7.0. See the section about &quot;xLinks&quot; in the documentation.</p></body></html>
+                    ]]></vymnote>
+                </branch>
+                <branch hideLink="false" uuid="{1af7336a-77fc-48e2-920c-f54a79e6fb49}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa00ff">Export to Open Office</heading>
+                    <standardflag>hook-green</standardflag>
+                </branch>
+            </branch>
+        </branch>
+        <branch relPosX="321" relPosY="153" hideLink="false" uuid="{0be19d8d-92be-4c6c-b130-252cda7af89a}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa5500">Documentation</heading>
+            <standardflag>lifebelt</standardflag>
+            <branch hideLink="false" uuid="{7620e802-9937-4ec8-808d-8a2dff6a70e4}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa5500">git</heading>
+                <branch hideLink="false" uuid="{90f3ae17-9ce9-4899-9a7a-aa0a70afc42f}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa5500">How to do a git checkout</heading><vymnote  textMode="richText"><![CDATA[<html><head><meta name="qrichtext" content="1"></meta><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Of course you need to have git installed on your system. For just having a peek, you could also use the webaccess, see next branch.</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Once you have git, you can do an anonymous checkout:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; color:#000080;">  git clone git://git.code.sf.net/p/vym/code vym-code</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; color:#000000;">If you already have a sourceforge account of course you can also:</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; color:#000080;">  git clone ssh://insilmaril@git.code.sf.net/p/vym/code vym-code</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; color:#000080;"><br /></p></body></html>
+                    ]]></vymnote>
+                </branch>
+                <branch hideLink="false" uuid="{1adb79a2-9e53-4ada-a818-da3ac749d094}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa5500">How to build vym</heading><vymnote  textMode="plainText"  fonthint="var"  textColor="#000000">To compile and install vym from the sources:
+download the sources
+need to have QT4.7 (or newer) from Nokia
+run qmake
+run make  
+run vym
+</vymnote>
+                </branch>
+                <branch hideLink="false" url="https://sourceforge.net/p/vym/code/" uuid="{168b93c4-8b2b-4a11-8741-8c98ce71d8c7}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa5500">vym webaccess</heading>
+                </branch>
+                <branch hideLink="false" url="https://sourceforge.net/scm/?type=git&amp;group_id=127802" uuid="{9274a650-7c17-48e6-a1d5-a21a1dc34e54}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa5500">Sourceforge git documentation</heading>
+                    <standardflag>info</standardflag>
+                </branch>
+            </branch>
+            <branch hideLink="false" url="http://qt.io" uuid="{269977f9-5535-4cb7-bce9-a8efcdb83370}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa5500">QT</heading>
+            </branch>
+            <branch hideLink="false" url="download/vym.pdf" uuid="{b15a49ee-788b-4c3e-ab36-3eca9c47a323}"><heading  textMode="plainText"  fonthint="undef"  textColor="#aa5500">vym Documentation</heading>
+            </branch>
+        </branch>
+        <branch relPosX="-89" relPosY="166" hideLink="true" url="http://www.InSilmaril.de/vym/index.html" uuid="{6f41aa87-460f-4db8-a709-05d5eee6860e}"><heading  textMode="plainText"  fonthint="undef"  textColor="#0432ff">Back to Main Page</heading>
+        </branch>
+    </mapcenter><setting  key="/vym/export/xhtml/exportDir">/suse/uwedr/tmp/insilmaril/vym/</setting><setting  key="/vym/export/xhtml/useImage">yes</setting><setting  key="/vym/export/xhtml/useTextColor">yes</setting><setting  key="/vym/export/xhtml/saveSettingsInMap">yes</setting><setting  key="/export/xhtml/exportDir">/suse/uwedr/share/uwe/insilmaril/vym/</setting><setting  key="/export/xhtml/useImage">yes</setting><setting  key="/export/xhtml/useTextColor">yes</setting><setting  key="/export/xhtml/xsl">/usr/share/vym/styles/vym2xhtml.xsl</setting><setting  key="/export/xhtml/css">/usr/share/vym/styles/vym.css</setting><setting  key="/export/xhtml/saveSettingsInMap">yes</setting><setting  key="/export/last/exportPath">/home/uwe/ownCloud8/vym/maps/exports/faq.html</setting><setting  key="/export/last/command"><![CDATA[exportHTML("/home/uwe/ownCloud8/vym/maps/exports","/home/uwe/ownCloud8/vym/maps/exports/faq.html")]]></setting><setting  key="/export/last/description">HTML</setting><setting  key="/export/html/exportDir">/home/uwe/ownCloud8/vym/maps/exports</setting><setting  key="/export/html/useImage">true</setting><setting  key="/export/html/useTextColor">true</setting><setting  key="/export/html/saveSettingsInMap">yes</setting><setting  key="/export/html/useTOC">false</setting><setting  key="/export/html/useNumbering">true</setting><setting  key="/export/html/useTaskFlags">false</setting><setting  key="/export/html/useUserFlags">true</setting><setting  key="/export/html/css_copy">true</setting><setting  key="/export/html/css_src">/usr/share/vym/styles/vym.css</setting><setting  key="/export/html/css_dst">vym.css</setting><setting  key="/export/html/includeMapImage">true</setting><setting  key="/export/html/includeImages">true</setting><setting  key="/export/html/postscript"></setting>
+    <select>mc:0,bo:0,bo:1</select>
+</vymmap>
\ No newline at end of file
diff --git a/test/maps/legacy/legacy-text-2.4.0.xml b/test/maps/legacy/legacy-text-2.4.0.xml
new file mode 100644 (file)
index 0000000..b176852
--- /dev/null
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?><!DOCTYPE vymmap>
+<vymmap  version="2.4.0" author="Uwe Drechsel" title="VYM - View Your Mind" 
+    date="2015-04-24" branchCount="6" backgroundColor="#ffffff" defaultFont="Sans Serif,16,-1,0,50,0,0,0,0,0" selectionColor="#ffff00" linkStyle="StylePolyParabel" linkColor="#0000ff" defXLinkColor="#0211e6" defXLinkWidth="1" defXLinkPenStyle="Qt::DashLine" defXLinkStyleBegin="HeadFull" defXLinkStyleEnd="HeadFull" mapZoomFactor="1" mapRotationAngle="0" linkColorHint="HeadingColor">
+    <mapcenter absPosX="314" absPosY="0" hideLink="false" uuid="{27bcd406-6fd4-455a-9323-c4cecc5c2498}">
+        <heading  textColor="#000000">View Your Mind</heading>
+        <frame  frameType="Cloud" penColor="#000000" brushColor="#ffffff" padding="5" borderWidth="3" />
+        <vymnote  fonthint="undef">
+<html>
+        <head>
+          <meta name="qrichtext" content="1"></meta>
+          <style type="text/css">
+p, li { white-space: pre-wrap; }
+</style>
+        </head>
+        <body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
+          <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">
+            <span style=" font-size:11pt;">This page was exported directly from </span>
+            <span style=" font-size:11pt; color:#5500ff;">vym</span>
+            <span style=" font-size:11pt;">. It shows some of the features </span>
+            <span style=" font-size:11pt; color:#5500ff;">vym</span>
+            <span style=" font-size:11pt;"> offers to collect and present ideas and data. Editing the content of the page in </span>
+            <span style=" font-size:11pt; color:#5500ff;">vym</span>
+            <span style=" font-size:11pt;"> is really easy and intuitive, just grab something with the mouse and move it to another place.</span>
+          </p>
+          <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">
+            <span style=" font-size:11pt;">Usually you will work with two windows:</span>
+          </p>
+          <ul style="-qt-list-indent: 1;">
+            <li style=" font-size:10pt;  margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
+              <span style=" font-size:11pt;">Mainwindow shows the map as seen in the image above</span>
+            </li>
+            <li style=" font-size:10pt;  margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">
+              <span style=" font-size:11pt;">Noteeditor which is used to edit larger text like this one (and the others) in grey boxes here. The noteeditor always shows the content of the branch selected in the mainwindow.</span>
+            </li>
+          </ul>
+          <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">
+            <span style=" font-size:11pt; color:#0000ff;">vym</span>
+            <span style=" font-size:11pt;"> is not another drawing tool, it is a thinking tool. It is also a planning tool. Maybe some kind of database, too. The idea is to use it dynamically, just change the map when your thoughts change. The possibility to export the content e.g. to a website as seen here, was added recently. Another new export filter allows to easily create a presentation in Open Office.</span>
+          </p>
+          <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">
+            <span style=" font-size:11pt;">Enjoy </span>
+            <span style=" font-size:11pt; color:#5500ff;">vym!</span>
+          </p>
+          <p align="justify" style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;">
+            <span style=" font-size:11pt;">Uwe Drechsel                  &lt;vym at insilmaril dot de&gt;</span>
+          </p>
+          <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"></p>
+        </body>
+      </html>
+        </vymnote>
+        <branch relPosX="123" relPosY="42" hideLink="false" incImgV="true" incImgH="true" uuid="{d91a5a92-151b-45ac-bb07-7292f27ad43d}">
+            <heading  textColor="#ff5500">Examples</heading>
+            <frame  frameType="RoundedRectangle" penColor="#ff8000" brushColor="#ececec" padding="5" borderWidth="1" includeChildren="true" />
+            <standardflag>lamp</standardflag>
+            <branch hideLink="false" uuid="{b001fe07-3734-48d6-a992-582250fb9bb8}">
+                <heading  textColor="#ff5500">Heading in characters</heading>
+            </branch>
+            <branch hideLink="false" uuid="{b001fe07-3735-48d6-a992-582250fb9bb8}">
+                <heading  textColor="#ff5500">RichText in Noteeditor</heading>
+                <vymnote  fonthint="fixed">
+<html><head><meta name="qrichtext" content="1"></meta><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif'; font-size:22pt;">The</span><span style=" font-family:'Sans Serif'; font-size:9pt;">   </span><span style=" font-family:'Sans Serif'; font-size:22pt; text-decoration: underline; color:#0432ff;">Note Editor</span><span style=" font-family:'Sans Serif'; font-size:9pt;">  </span><span style=" font-family:'Sans Serif'; font-size:16pt; font-style:italic;">can be used to edit</span></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans Serif'; font-size:9pt;">   </span><span style=" font-family:'Sans Serif'; font-size:22pt; font-weight:600; color:#ff0000;">R</span><span style=" font-family:'Sans Serif'; font-size:22pt; font-weight:600; color:#ff0af3;">i</span><span style=" font-family:'Sans Serif'; font-size:22pt; font-weight:600; color:#a77709;">c</span><span style=" font-family:'Sans Serif'; font-size:22pt; font-weight:600; color:#0432ff;">h</span><span style=" font-family:'Sans Serif'; font-size:22pt; font-weight:600; color:#be03b5;">T</span><span style=" font-family:'Sans Serif'; font-size:22pt; font-weight:600; color:#ff0000;">e</span><span style=" font-family:'Sans Serif'; font-size:22pt; font-weight:600; color:#ff0af3;">x</span><span style=" font-family:'Sans Serif'; font-size:22pt; font-weight:600; color:#0432ff;">t</span><span style=" font-family:'Sans Serif'; font-size:9pt;">                          </span>                                                                                  </p></body></html>
+
+                </vymnote>
+            </branch>
+            <branch hideLink="false" uuid="{08ac4b95-1fc5-4ba5-9ca5-473199f66d13}">
+                <heading  textColor="#ff5500">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Arial'; font-size:12pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'DejaVu Sans Mono'; font-weight:600; color:#ff007f;&quot;&gt;RichText&lt;/span&gt;&lt;span style=&quot; font-family:'DejaVu Sans Mono'; color:#000000;&quot;&gt; in &lt;/span&gt;&lt;span style=&quot; font-family:'DejaVu Sans Mono'; font-weight:600; color:#55ff00;&quot;&gt;Heading&lt;/span&gt;&lt;span style=&quot; font-family:'DejaVu Sans Mono'; color:#000000;&quot;&gt; which is &amp;lt;b&amp;gt;not bold&amp;lt;/b&amp;gt;!&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</heading>
+            </branch>
+        </branch>
+    </mapcenter>
+    <select>mc:0</select>
+</vymmap>
diff --git a/test/maps/legacy/lifeforms-2.1.11.vym b/test/maps/legacy/lifeforms-2.1.11.vym
new file mode 100644 (file)
index 0000000..978389c
Binary files /dev/null and b/test/maps/legacy/lifeforms-2.1.11.vym differ
diff --git a/test/maps/legacy/notes.xml b/test/maps/legacy/notes.xml
new file mode 100644 (file)
index 0000000..05aa458
--- /dev/null
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?><!DOCTYPE vymmap>
+
+<vymmap  version="1.4.0" author="Uwe (inventor of vym)" title="" comment="Manually created map to test very old maps with notes" date="2023-04-11" backgroundColor="#ffffff" defaultFont="Sans Serif,16,-1,0,50,0,0,0,0,0" selectionColor="#ffff00" linkStyle="StylePolyLine" linkColor="#0000ff" defXLinkColor="#e6e6e6" defXLinkWidth="1" defXLinkPenStyle="Qt::DashLine" defXLinkStyleBegin="HeadFull" defXLinkStyleEnd="HeadFull" mapZoomFactor="1" mapRotationAngle="0" linkColorHint="HeadingColor">
+    <mapcenter absPosX="27" absPosY="245" hideLink="false" uuid="{e5e8967d-ed26-47e2-942d-e1ae6db1c6d0}"><heading  textMode="plainText"  fonthint="undef"  textColor="#000000">Legacy notes</heading>
+        <frame  frameType="Rectangle" penColor="#000000" brushColor="#ffffff" padding="0" borderWidth="1" />
+        <branch relPosX="150" relPosY="-150" hideLink="false" uuid="{0b38c4e5-e0df-4fb6-8195-810789d4c6c4}">
+            <heading  textMode="plainText"  fonthint="undef"  textColor="#aa0000" text="Legacy &lt;note&gt; pre 1.4.6" />
+            <branch uuid="{0b38c4e5-e0df-4fb6-8195-810789d4c6c4}">
+                <heading  textMode="plainText"  fonthint="undef"  textColor="#aa0000" text="plaintext &lt;note&gt; in external file" />
+                <note href="file:external-note-plaintext.txt" />
+            </branch>
+            <branch uuid="{ab33a7c8-a33d-4a28-80bd-9ef07935356a}">
+                <heading  textMode="plainText"  fonthint="undef"  textColor="#005500" text="plaintext &lt;note&gt; in characters" />
+                <note>PlainText note in characters</note>
+            </branch>
+            <branch uuid="{0b38c4e5-e0df-4fb6-8195-810789d4c654}">
+                <heading  textMode="plainText"  fonthint="undef"  textColor="#aa0000" text="RichText &lt;note&gt; in external file" />
+                <note href="file:external-note-richtext.html" />
+            </branch>
+            <branch uuid="{ab33a7c8-a33d-4a28-80bd-9ef07935355a}">
+                <heading  textMode="plainText"  fonthint="undef"  textColor="#005500" text="RichText &lt;note&gt; in characters" />
+                <note>
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans Mono'; font-size:12pt; color:#00aa7f;">Rich</span><span style=" font-family:'DejaVu Sans Mono'; font-size:12pt; color:#ff0000;">Text note in characters</span></p></body></html>
+                </note>
+            </branch>
+        </branch>
+        <branch relPosX="150" relPosY="150" hideLink="false" uuid="{0b38c4e5-e0df-4fb6-8195-810789d4c002}">
+            <heading  textMode="plainText"  fonthint="undef"  textColor="#aa0000" text="Legacy &lt;htmlnote&gt;" />
+            <branch>
+                <heading  textMode="plainText"  fonthint="undef"  textColor="#005500" text="PlainText &lt;htmlnote&gt; in characters" />
+                <htmlnote  fonthint="var">PlainText note in characters</htmlnote>
+            </branch>
+            <branch>
+                <heading  textMode="plainText"  fonthint="undef"  textColor="#005500" text="RichText &lt;htmlnote&gt; in characters" />
+                <htmlnote  fonthint="var">
+
+
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Noto Sans'; font-size:10pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'DejaVu Sans Mono'; font-size:12pt; color:#00aa7f;">Rich</span><span style=" font-family:'DejaVu Sans Mono'; font-size:12pt; color:#ff0000;">Text note in characters</span></p></body></html>
+
+
+                </htmlnote>
+            </branch>
+        </branch>
+    </mapcenter>
+    <select>mc:0,bo:0</select>
+</vymmap>
\ No newline at end of file
diff --git a/test/maps/legacy/time-management-1.13.33.vym b/test/maps/legacy/time-management-1.13.33.vym
new file mode 100644 (file)
index 0000000..d807925
Binary files /dev/null and b/test/maps/legacy/time-management-1.13.33.vym differ
diff --git a/test/maps/test-default.vym b/test/maps/test-default.vym
new file mode 100644 (file)
index 0000000..aff292e
Binary files /dev/null and b/test/maps/test-default.vym differ
diff --git a/test/start-internal-tests.sh b/test/start-internal-tests.sh
new file mode 100644 (file)
index 0000000..088c727
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+SRCDIR=test
+VYMTESTDIR=$(mktemp -d /tmp/vym-test-XXXX)
+
+DEFAULTMAP=$SRCDIR/default.vym
+TESTMAP=$VYMTESTDIR/testmap.vym
+
+echo Copying $DEFAULTMAP to $TESTMAP
+cp $DEFAULTMAP $TESTMAP
+
+vym  -l -t -n test -R test/vym-selftest.vys $TESTMAP -geometry 768x576-0+0 &
+
+#PID=$!
+
+#$SRCDIR/vym-test.rb -d $VYMTESTDIR $TESTMAP
+
+#kill -s 15 $PID
+echo To clean up, do: rm -rf $VYMTESTDIR
diff --git a/test/start-ruby-tests-legacy.sh b/test/start-ruby-tests-legacy.sh
new file mode 100644 (file)
index 0000000..c198ce7
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+SRCDIR=test
+OLDDIR=$(pwd)
+
+VYMTESTDIR=$(mktemp -d /tmp/vym-test-XXXX)
+
+echo Created $VYMTESTDIR
+
+vym  -l -t -n test  -geometry 768x576-0+0 &
+
+PID=$!
+
+cd $SRCDIR
+
+vym-test-legacy.rb -d $VYMTESTDIR
+
+kill -s 15 $PID
+echo To clean up, do: rm -rf $VYMTESTDIR
+
+cd $OLDDIR
diff --git a/test/start-ruby-tests.sh b/test/start-ruby-tests.sh
new file mode 100755 (executable)
index 0000000..35bab73
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+SRCDIR=test
+VYMTESTDIR=$(mktemp -d /tmp/vym-test-XXXX)
+
+DEFAULTMAP=$SRCDIR/default.vym
+TESTMAP=$VYMTESTDIR/testmap.vym
+
+cp $DEFAULTMAP $TESTMAP
+
+vym  -l -t -n test  -geometry 768x576-0+0 &
+
+PID=$!
+
+$SRCDIR/vym-test.rb -d $VYMTESTDIR $TESTMAP
+
+kill -s 15 $PID
+echo To clean up, do: rm -rf $VYMTESTDIR
diff --git a/test/start-test.sh b/test/start-test.sh
deleted file mode 100755 (executable)
index 76565ec..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-
-SRCDIR=test
-VYMTESTDIR=$(mktemp -d /tmp/vym-test-XXXX)
-
-DEFAULTMAP=$SRCDIR/default.vym
-TESTMAP=$VYMTESTDIR/testmap.vym
-
-cp $DEFAULTMAP $TESTMAP
-
-vym  -l -t -n test $TESTMAP  & #-geometry 768x576-0+0 &
-
-PID=$!
-
-sleep 1
-
-$SRCDIR/vym-test.rb -d $VYMTESTDIR
-
-kill -s 15 $PID
-echo To clean up, do: rm -rf $VYMTESTDIR
diff --git a/test/vym-selftest.vys b/test/vym-selftest.vys
new file mode 100644 (file)
index 0000000..6591c7e
--- /dev/null
@@ -0,0 +1,45 @@
+// vym selftest script
+
+vym.clearConsole();
+m1 = vym.currentMap();
+
+tests_total  = 0;
+tests_passed = 0;
+tests_failed = 0;
+
+// Function to compare and log values
+function expect(comment, v_real, v_expected) {
+       tests_total = tests_total +1;
+    if (v_real == v_expected) {
+        print ("PASS: " + comment);
+               tests_passed = tests_passed +1;
+    } else {
+        print ("FAIL: '" + comment + "' - Expected " + v_expected + ", but got " + v_real);
+               tests_failed = tests_failed +1;
+    }
+}
+
+// Summary
+function summary()
+{
+       print ("Tests total: " + tests_total);
+       print ("Tests passed: " + tests_passed);
+       print ("Tests failed: " + tests_failed);
+}
+center_0 = "mc:0";
+center_1 = "mc:1";
+main_a = "mc:0,bo:0";
+  branch_a = main_a + ",bo:0";
+  branch_b = main_a + ",bo:1";
+  branch_c = main_a + ",bo:2";
+main_b = "mc:0,bo:1"
+
+n_centers = 2
+
+
+// Testing the test function
+expect ("1 should equal 3", 1, 3);
+expect ("2 should equal 2", 2, 2);
+
+
+summary();
\ No newline at end of file
diff --git a/test/vym-test-legacy.rb b/test/vym-test-legacy.rb
new file mode 100644 (file)
index 0000000..0d90cf4
--- /dev/null
@@ -0,0 +1,1313 @@
+#!/usr/bin/env ruby
+
+require "#{ENV['PWD']}/../scripts/vym-ruby"
+require 'colorize'
+require 'date'
+require 'fileutils'
+require 'optparse'
+
+def waitkey
+  puts "Press return to continue..."
+  STDIN.gets
+end
+
+def expect (comment, v_real, v_exp)
+  if v_exp == v_real
+    puts "    Ok: #{comment}".green
+    $tests_passed += 1
+    # waitkey
+  else
+    puts "Failed: #{comment}. Expected '#{v_exp}', but got '#{v_real}'".red
+    $tests_failed += 1
+    waitkey
+  end
+  $tests_total += 1
+end
+
+def expectInclude (comment, s, substring)
+  if s.include? substring
+    puts "    Ok: #{comment}".green
+    $tests_passed += 1
+    # waitkey
+  else
+    puts "Failed: #{comment}. Could not find '#{substring}' in string below:".red
+    puts "'#{s}'"
+    $tests_failed += 1
+    waitkey
+  end
+  $tests_total += 1
+end
+
+def expectNot (comment, v_real, v_exp)
+  if v_exp != v_real
+    puts "    Ok: #{comment}".green
+    $tests_passed += 1
+    # waitkey
+  else
+    puts "Failed: #{comment}. Expected not to get '#{v_exp}'".red
+    $tests_failed += 1
+    waitkey
+  end
+  $tests_total += 1
+end
+
+def expect_warning_only (comment, v_real, v_exp)
+  if v_exp == v_real
+    puts "    Ok: #{comment}".green
+    $tests_passed += 1
+    # waitkey
+  else
+    puts "Warning: #{comment}. Expected '#{v_exp}', but got '#{v_real}'".red
+    $tests_warnings += 1
+  end
+  $tests_total += 1
+end
+
+def expect_error (comment, error)
+  if error.length ==  0
+    puts "Failed: #{comment}. Command did not return error.".red
+    $tests_failed += 1
+  else
+    puts "    Ok: #{comment}".green
+    $tests_passed += 1
+  end
+  $tests_total += 1
+end
+
+def heading (s)
+  puts "\n#{s}\n#{'-' * s.length}\n".yellow
+end
+
+def init_map( mapPath, files = [])
+  # Copy the map referenced above to @testDir/test-current.[vym|xml]
+  # and try to load it
+  @currentMapPath = "#{@testDir}/test-current#{File.extname(mapPath)}"
+
+  begin
+    FileUtils.cp mapPath, @currentMapPath
+  rescue
+    puts "Failed to copy #{mapPath} to #{@currentMapPath}".red
+    exit
+  end
+
+  files.each do |fn|
+    begin
+      FileUtils.cp fn, @testDir
+      puts "# Copied #{fn} to #{@testDir}".light_black
+    rescue
+      puts "Failed to copy #{fn} to #{@testDir}".red
+      exit
+    end
+  end
+
+  if @vym.loadMap (@currentMapPath)
+    id = @vym.currentMapID
+    puts "# Loaded #{mapPath} -> #{@currentMapPath} (id: #{id})".light_black
+    return @vym.map (id)
+  end
+
+  puts "Failed to load #{mapPath}".red
+  exit
+end
+
+def close_current_map
+  id = @vym.currentMapID
+  r = @vym.closeMapWithID(id)
+  if r
+    puts "# Closed map (id: #{id})".light_black
+  else
+    puts "# Failed to close map with id = #{id}. CurrentMapID = #{id}".red
+  end
+end
+
+def summary
+  puts "\nTests done  : #{$tests_total}"
+  puts "Tests passed: #{$tests_passed}"
+  puts "Warnings:     #{$tests_warnings}"
+  puts "Tests failed: #{$tests_failed}"
+end
+
+#######################
+def test_vym
+  #@vym.clearConsole
+
+  heading "Mainwindow checks:"
+  version = "2.9.0"
+  expect_warning_only "Version is #{version}", @vym.version, version
+
+  expect "Temporary directory exists at '#{@testDir}'", File.exists?(@testDir), true
+
+
+  map = init_map @testMapDefault
+  expect "init_map copies default testmap to '#{@currentMapPath}'", File.file?(@currentMapPath), true
+  expect "Title of copied map title is accessible and not empty", map.getMapTitle.length > 0, true
+
+  close_current_map
+end
+
+#######################
+def test_basics
+  heading "Basic checks:"
+  map = init_map @testMapDefault
+
+  title = "vym map used for testing"
+  expect "map title is '#{title}'", map.getMapTitle, title
+  author ="Uwe Drechsel"
+  expect "Author is '#{author}'", map.getMapAuthor, author
+
+  map.select @main_A
+  expect "select mainbranch A", map.getSelectionString, @main_A
+  expect "getHeadingPlainText", map.getHeadingPlainText, "Main A"
+  expect "branchCount", map.branchCount, 3
+
+  map.selectLastBranch
+  expect "selectLastBranch", map.getHeadingPlainText, "Main B"
+
+  map.selectFirstBranch
+  expect "selectFirstBranch", map.getHeadingPlainText, "Main A"
+
+  map.selectParent
+  expect "selectParent", map.getHeadingPlainText, "MapCenter 0"
+
+  expect "getDestPath: Got #{map.getDestPath}", map.getDestPath, @testDir + "/test-current.vym"
+  expect "getFileDir:  Got #{map.getFileDir}", map.getFileDir, @testDir + "/"
+
+  close_current_map
+end
+
+#######################
+def test_adding_branches
+  heading "Adding branches:"
+  map = init_map @testMapDefault
+  map.select @main_A
+  n = map.branchCount.to_i
+  map.addBranch()
+  expect( "addBranch", map.branchCount.to_i, n + 1 )
+
+  map.selectLatestAdded
+  expect "selectLatestAdded", map.getSelectionString, @main_A + ",bo:3"
+
+  map.undo
+  expect( "Undo: addBranch", map.branchCount.to_i, n )
+
+  close_current_map
+  map = init_map @testMapDefault
+
+  map.select @main_A
+  n = map.branchCount.to_i
+  map.select @branch_0Aa
+  map.addBranch( -3 )
+  map.addBranch( -1 )
+  map.select @main_A
+  expect "addBranchAbove/Below", map.branchCount.to_i, n + 2
+
+  map.undo
+  map.undo
+  expect "Undo: addBranchAbove/Below", map.branchCount.to_i, n
+
+  close_current_map
+  map = init_map @testMapDefault
+
+  map.select @branch_0Aa
+  map.addBranchBefore
+  map.select @main_A
+  expect "addBranchBefore: check branchcount",  map.branchCount.to_i, n
+  map.select @branch_0Aa
+  expect "addBranchBefore: check heading", map.getHeadingPlainText, ""
+
+  # Undo twice: addBranchNew and relinkTo
+  map.undo
+  map.undo
+  map.select @main_A
+  expect "Undo: addBranchBefore", map.branchCount.to_i, n
+
+  close_current_map
+end
+
+#######################
+def test_adding_maps
+  heading "Adding maps"
+  map = init_map @testMapDefault
+  map.select @branch_0Aa
+  n = map.branchCount.to_i
+  map.addMapReplace @currentMapPath
+  map.select @main_A
+  expect "addMapReplace: check branch count in #{@main_A}", map.branchCount.to_i, n + 1
+  map.select @branch_0Aa
+  expect "addMapReplace: check if #{@branch_0Aa} is new", map.branchCount.to_i, 2
+  expect "addMapReplace: Loaded MapCenter 0", map.getHeadingPlainText, "MapCenter 0"
+  map.select @branch_0Ab
+  expect "addMapReplace: Loaded MapCenter 1", map.getHeadingPlainText, "MapCenter 1"
+
+  map.undo
+  map.select @main_A
+  expect "Undo: check branch count in #{@main_A}", map.branchCount.to_i, 3
+  map.select @branch_0Aa
+  expect "Undo: check if #{@branch_0Aa} is back", map.branchCount.to_i, 3
+  close_current_map
+
+  map = init_map @testMapDefault
+  map.select @branch_0Aa
+  n = map.branchCount.to_i
+  map.addMapInsert @currentMapPath, 1  # Create testmap with several MCs
+  map.select @branch_0Aa
+  expect "addMapInsert: branch count",  map.branchCount.to_i, n + 2
+  map.select @branch_0Aa + ",bo:1"
+  expect "addMapInsert: new heading", map.getHeadingPlainText, "MapCenter 0"
+  map.select @branch_0Aa + ",bo:2"
+  expect "addMapInsert: new heading", map.getHeadingPlainText, "MapCenter 1"
+
+  map.undo
+  map.select @branch_0Aa
+  expect "Undo: check branch count in #{@branch_0Aa}", map.branchCount.to_i, 3
+  map.select @branch_0Ab
+  expect "Undo: check heading of  #{@branch_0Ab}",  map.getHeadingPlainText, "branch b"
+  close_current_map
+end
+
+#######################
+def test_attributes
+  heading "Attributes:"
+  map = init_map "maps/test-attributes.xml"
+
+  map.select @main_A
+  expect "String attribute is '6 * 9'", map.getStringAttribute("string-attribute"), "6 * 9"
+  expect "Integer attribute is 42", map.getIntAttribute("int-attribute"), 42
+
+  close_current_map
+end
+
+######################
+def test_bugfixes
+  heading "Bugfixes:"
+  map = init_map @testMapDefault
+
+  close_current_map
+end
+
+#######################
+def test_copy_paste
+  heading "Copy, cut & Paste"
+
+  map = init_map @testMapDefault
+  map.select @main_A
+  n = map.branchCount.to_i
+
+  map.copy
+  map.paste
+  map.selectLatestAdded     #FIXME-2 not set for ImportAdd, which is used by paste
+  s = map.getSelectionString
+  expect "Normal paste of branch, check heading of #{s}", map.getHeadingPlainText, "Main A"
+
+  map.undo
+  map.select @main_A
+  expect "Undo paste: branchCount of #{@main_A}", map.branchCount.to_i, n
+
+  map.redo
+  map.select s
+  expect "redo paste: check heading", map.getHeadingPlainText, "Main A"
+
+  map.select @branch_0Aa
+  map.cut
+  map.select @main_A
+  expect "cut: branchCount of #{@main_A}", map.branchCount.to_i, n
+
+  map.paste
+  map.selectLastChildBranch
+  s = map.getSelectionString
+  expect "Normal paste of branch, check heading of #{s}", map.getHeadingPlainText, "branch a"
+  map.cut
+
+  close_current_map
+end
+
+#######################
+def test_delete_parts
+  heading "Deleting parts"
+
+  map = init_map @testMapDefault
+  map.select @main_A
+  n=map.branchCount.to_i
+  map.select @branch_0Aa
+  m=map.branchCount.to_i
+  map.remove
+  map.select @main_A
+  expect "Remove branch: branchcount",  map.branchCount.to_i, n - 1
+  map.undo
+  map.select @main_A
+  expect "Undo Remove branch: branchcount parent", map.branchCount.to_i, n
+  map.select @branch_0Aa
+  expect "Undo Remove branch: branchcount restored branch", map.branchCount.to_i, m
+
+  close_current_map
+
+  map = init_map @testMapDefault
+  map.select @branch_0Aa
+  n = map.branchCount.to_i
+  map.removeChildren
+  map.select @branch_0Aa
+  expect "removeChildren: branchcount", map.branchCount.to_i, 0
+  map.undo
+  map.select @branch_0Aa
+  expect "Undo: removeChildren: branchcount", map.branchCount.to_i, n
+
+  close_current_map
+  map = init_map @testMapDefault
+
+  map.select @main_A
+  n=map.branchCount.to_i
+  map.select @branch_0Aa
+  m=map.branchCount.to_i
+  map.removeKeepChildren
+  map.select @main_A
+  expect "removeKeepChildren: branchcount", map.branchCount.to_i, n + m - 1
+  map.undo
+  map.select @main_A
+  expect "Undo: removeKeepChildren: branchcount of parent", map.branchCount.to_i, n
+  map.select @branch_0Aa
+  expect "Undo: removeKeepChildren: branchcount of branch", map.branchCount.to_i, m
+
+  close_current_map
+  map = init_map @testMapDefault
+
+  n = map.centerCount.to_i
+  map.select @center_1
+  map.remove
+  expect "remove mapCenter: number of centers decreased", map.centerCount.to_i, n - 1
+  map.undo
+  expect "Undo remove mapCenter: number of centers increased", map.centerCount.to_i, n
+
+  close_current_map
+end
+
+#######################
+def test_export
+  heading "Export:"
+  map = init_map @testMapDefault
+
+  #HTML
+  exportdir = "#{@testDir}/export-html"
+  Dir.mkdir(exportdir)
+  htmlpath = "#{exportdir}/output.html"
+  flagdir  = "#{exportdir}/flags"
+  pngpath = "#{exportdir}/output.png"
+  csspath = "#{exportdir}/vym.css"
+  map.exportMap("HTML", htmlpath, exportdir)
+  expect "exportHTML: HTML file exists", File.exists?(htmlpath), true
+  expect "exportHTML: HTML image exists", File.exists?(pngpath), true
+  expect "exportHTML: HTML flags dir exists", Dir.exists?(flagdir), true
+  if Dir.exists?(flagdir)
+    expect "exportHTML: HTML flags dir not empty", Dir.empty?(flagdir), false
+  end
+  expect "exportHTML: HTML CSS exists", File.exists?(csspath), true
+  File.delete(htmlpath)
+  FileUtils.rm_r(flagdir)
+  File.delete(pngpath)
+  File.delete(csspath)
+  map.exportMap("Last")
+  expect "exportLast: HTML #{htmlpath} file exists", File.exists?(htmlpath), true
+  expect "exportLast: HTML image exists", File.exists?(pngpath), true
+  expect "exportHTML: HTML flags dir exists", Dir.exists?(flagdir), true
+  if Dir.exists?(flagdir)
+    expect "exportHTML: HTML flags dir not empty", Dir.empty?(flagdir), false
+  end
+  expect "exportLast: HTML CSS exists", File.exists?(csspath), true
+
+  #AO
+  exportdir = "#{@testDir}/export-ao"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.txt"
+  map.exportMap("AO", filepath)
+  expect "exportAO:    AO file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast:  AO file exists", File.exists?(filepath), true
+
+  #ASCII
+  exportdir = "#{@testDir}/export-ascii"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.txt"
+  map.exportMap("ASCII", filepath, false)
+  expect "exportASCII: ASCII file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast:  ASCII file exists", File.exists?(filepath), true
+
+  #CSV
+  exportdir = "#{@testDir}/export-csv"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.csv"
+  map.exportMap("CSV", filepath)
+  expect "exportCSV:    CSV file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast:  CSV file exists", File.exists?(filepath), true
+
+  #Image
+  exportdir = "#{@testDir}/export-image"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.png"
+  map.exportMap("Image", filepath,"PNG")
+  expect "exportImage: PNG file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast:  PNG file exists", File.exists?(filepath), true
+
+  #LaTeX
+  exportdir = "#{@testDir}/export-latex"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.tex"
+  map.exportMap("LaTeX", filepath)
+  expect "exportLaTeX:  LaTeX file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast:   LaTeX file exists", File.exists?(filepath), true
+
+  #Markdown
+  exportdir = "#{@testDir}/export-markdown"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.md"
+  map.exportMap("Markdown", filepath)
+  expect "exportMarkdown:  Markdown file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast:     Markdown file exists", File.exists?(filepath), true
+
+  #OrgMode
+  exportdir = "#{@testDir}/export-orgmode"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.org"
+  map.exportMap("OrgMode", filepath)
+  expect "exportOrgMode:  OrgMode file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast:     OrgMode file exists", File.exists?(filepath), true
+
+  #PDF
+  exportdir = "#{@testDir}/export-pdf"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.pdf"
+  map.exportMap("PDF", filepath)
+  expect "exportPDF:  PDF file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast: PDF file exists", File.exists?(filepath), true
+
+  #SVG
+  exportdir = "#{@testDir}/export-svg"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.svg"
+  map.exportMap("SVG", filepath)
+  expect "exportSVG:  SVG file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast: SVG file exists", File.exists?(filepath), true
+
+  #XML
+  exportdir = "#{@testDir}/export-xml"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.xml"
+  map.exportMap("XML", filepath, @testDir)
+  expect "exportXML: XML file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast: XML file exists", File.exists?(filepath), true
+
+  #OpenOffice Impress //FIXME-2
+  #Taskjuggler //FIXME-3
+
+  close_current_map
+end
+
+#######################
+def test_extrainfo
+  heading "Extra information:"
+  map = init_map @testMapDefault
+  map.setMapAuthor("Fra Erasmas")
+  expect "Set and get map author", map.getMapAuthor, "Fra Erasmas"
+  map.setMapComment("xy z")
+  expect "Set and get map comment", map.getMapComment, "xy z"
+  map.setMapTitle("vym rules!")
+  expect "Set and get map title", map.getMapTitle, "vym rules!"
+
+  close_current_map
+end
+
+######################
+def test_frames
+  heading "Frames:"
+  map = init_map @testMapFrames
+
+  map.select @center_0
+  expect "Mapcenter of #{@center_0} has no inner frame", map.getFrameType(true), "NoFrame"
+  expect "Mapcenter of #{@center_0} has no outer frame", map.getFrameType(true), "NoFrame"
+
+  map.select @center_1
+  expect "Mapcenter of #{@center_1} has no inner frame", map.getFrameType(true), "NoFrame"
+  expectNot "Mapcenter of #{@center_1} has outer frame", map.getFrameType(false), "NoFrame"
+
+  map.select @center_2
+  expectNot "Mapcenter of #{@center_2} has inner frame", map.getFrameType(true), "NoFrame"
+  expect "Mapcenter of #{@center_2} has no outer frame", map.getFrameType(false), "NoFrame"
+
+  map.select @center_3
+  expectNot "Mapcenter of #{@center_3} has inner frame", map.getFrameType(true), "NoFrame"
+  expectNot "Mapcenter of #{@center_3} has outer frame", map.getFrameType(false), "NoFrame"
+  close_current_map
+end
+
+def test_headings
+  heading "Headings:"
+  # FIXME same checks like for notes above for headings
+end
+
+#######################
+def test_history
+  heading "History"
+
+  map = init_map @testMapDefault
+  map.select @main_A
+  map.setHeadingPlainText "A"
+  map.setHeadingPlainText "B"
+  map.setHeadingPlainText "C"
+  map.undo
+  map.undo
+  map.undo
+  expect "Undo 3 times, after changing heading -> 'A' -> 'B' -> 'C'", map.getHeadingPlainText, "Main A"
+  map.redo
+  expect "Redo once", map.getHeadingPlainText, "A"
+  map.copy
+  map.redo
+  expect "Redo once more", map.getHeadingPlainText, "B"
+  map.redo
+  expect "Redo yet again", map.getHeadingPlainText, "C"
+  map.setHeadingPlainText "Main A"
+  map.paste
+  map.selectLastChildBranch
+  expect "Paste from the past", map.getHeadingPlainText, "A"
+  map.remove
+
+  close_current_map
+end
+
+#######################
+def test_scrolling
+  heading "Scrolling and unscrolling"
+  map = init_map @testMapDefault
+
+  map.select @main_A
+  map.toggleScroll
+  expect "toggleScroll", map.isScrolled, true
+  map.undo
+  expect "undo toggleScroll", map.isScrolled, false
+  map.scroll
+  expect "scroll", map.isScrolled, true
+  map.unscroll
+  expect "unscroll", map.isScrolled, false
+
+  map.scroll
+  map.select @branch_0Aa
+  map.scroll
+  map.select @main_A
+  map.unscrollChildren
+  map.select @branch_0Aa
+  expect "unscrollChildren", map.isScrolled, false
+  map.undo
+  expect "undo unscrollChildren", map.isScrolled, true
+
+  close_current_map
+end
+
+#######################
+def test_slides
+  heading "Slides"
+  map = init_map "maps/test-slides.xml"
+
+  map.select @main_A
+  expect "Successfully loaded map with slides", map.slideCount, 3
+
+  close_current_map
+end
+
+#######################
+def test_modify_branches
+  heading "Modifying branches"
+  map = init_map @testMapDefault
+
+  map.select @branch_0Aa
+  map.setHeadingPlainText "Changed!"
+  expect "setHeadingPlainText", map.getHeadingPlainText, "Changed!"
+  map.undo
+  expect "Undo: setHeadingPlainText", map.getHeadingPlainText, "branch a"
+  map.redo
+  expect "redo: setHeadingPlainText", map.getHeadingPlainText, "Changed!"
+  map.undo
+
+  close_current_map
+end
+
+#######################
+def test_moving_parts
+  heading "Moving parts"
+  map = init_map @testMapDefault
+
+  map.select @branch_0Aa
+  map.moveDown
+  map.select @branch_0Aa
+  expect "Moving down", map.getHeadingPlainText, "branch b"
+  map.undo
+  map.select @branch_0Aa
+  expect "Undo Moving down", map.getHeadingPlainText, "branch a"
+
+  #map = init_map( vym )
+  map.select @branch_0Ab
+  map.moveUp
+  map.select @branch_0Aa
+  expect "Moving up", map.getHeadingPlainText, "branch b"
+  map.undo
+  map.select @branch_0Ab
+  expect "Undo Moving up", map.getHeadingPlainText, "branch b"
+
+  #map = init_map( vym )
+  map.select @main_B
+  n=map.branchCount.to_i
+  map.select @branch_0Aa
+  map.relinkTo @main_B,0,0,0
+  map.select @main_B
+  expect "RelinkTo #{@main_B}: branchCount increased there",  map.branchCount.to_i, n+1
+
+  map.undo
+  map.select @branch_0Ab
+  expect "Undo: RelinkTo #{@main_B}: branchCount decreased there", map.branchCount.to_i, n
+
+  #map = init_map( vym )
+  map.select @main_A
+  err = map.relinkTo @branch_0Aa,0,0,0
+  #FIXME-2 disabled, error not supported atm expect_error "RelinkTo myself fails.", err
+
+  #map = init_map( vym )
+  map.select @branch_0Aa
+  n=map.branchCount.to_i
+  map.select @main_B
+  map.relinkTo @branch_0Aa, 1, 0, 0
+  map.select @branch_0Aa
+  expect "RelinkTo #{@branch_0Aa}, pos 1: branchCount increased there",  map.branchCount.to_i, n+1
+  map.select "#{@branch_0Aa},bo:1"
+  expect "RelinkTo #{@branch_0Aa}, pos 1: Mainbranch really moved", map.getHeadingPlainText, "Main B"
+  map.undo
+  map.select @center_0
+  expect "Undo RelinkTo pos 1: branchCount of center", map.branchCount.to_i, 2
+
+  close_current_map
+end
+
+######################
+def test_notes
+  heading "Notes:"
+
+  # Plaintext notes basic actions
+  map = init_map @testMapDefault
+
+  map.select @main_A
+  note_plain = "vymnote plaintext"
+  map.setNotePlainText(note_plain)
+  expect "Set note to \"#{note_plain}\". Still plaintext?", map.hasRichTextNote, false
+  map.select @center_0
+  map.select @main_A
+  expect "After reselect, is note plaintext?", map.hasRichTextNote, false
+
+  note_plain = "<b>plaintext, not bold!</b>"
+  map.setNotePlainText(note_plain)
+  expect "Set note to plaintext containing html tags. Still plaintext", map.hasRichTextNote, false
+  note_new = map.getNotePlainText
+  map.select @center_0
+  map.select @main_A
+  expect "After reselect, is note text unchanged?", map.getNotePlainText, note_new
+  expect "After reselect, is note plaintext?", map.hasRichTextNote, false
+
+  # Plaintext notes copy & paste
+  map.copy
+  map.paste
+  map.selectLastChildBranch
+  s=map.getSelectionString
+  expect "After copy& paste: New note unchanged?", map.getNotePlainText, note_plain
+  expect "After copy& paste: New note Still plaintext?", map.hasRichTextNote, false
+  map.remove
+
+  # Plaintext notes undo & redo
+  map.select @main_A
+  map.setNotePlainText('Foobar')
+  map.undo
+  expect "Undo after setNotePlainText restores previous note", map.getNotePlainText, note_plain
+  map.redo
+  map.select @main_A
+  expect "Redo restores previous note", map.getNotePlainText, 'Foobar'
+
+  # Plaintext notes load & save
+  note_org = IO.read('notes/note-plain.txt')
+  map.loadNote("test/notes/note-plain.txt")
+  expect "Load plain text note from file. Still plaintext?", map.hasRichTextNote, false
+  expect "Note contains 'not bold'", map.getNotePlainText.include?("not bold"), true
+  filepath = "#{@testDir}/save-note.txt"
+  map.saveNote(filepath)
+  expect "Save note to file. Check if it contains 'textMode=\"plainText\"'", IO.read(filepath).include?("textMode=\"plainText\""), true
+  expect "Save note to file. Check if it contains 'not bold'", IO.read(filepath).include?("not bold"), true
+  expect "Save note to file. Check new format: no longer contains '<b>' element", IO.read(filepath).include?("<b>"), false
+  expect "Save note to file. Check new format: no longer contains '<![CDATA['", IO.read(filepath).include?("<![CDATA["), false
+  expect "Save note to file. Check new format: contains 'text=\"Plaintext'", IO.read(filepath).include?("text=\"Plaintext"), true
+
+  # Delete note
+  map.setNotePlainText("")
+  expect "setNotePlainText(\"\") deletes note", map.hasNote, false
+
+  close_current_map
+
+  # RichText basic actions
+  map = init_map @testMapDefault
+  map.select @main_A
+  rt_note = '<vymnote  textMode="richText"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:"Arial"; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:"DejaVu Sans Mono"; color:#000000;">Rich Text note with <b>not bold text</b></span></p></body></html>]]></vymnote>'
+  map.parseVymText(rt_note)
+  expect "parseVymText of richText note produces note", map.hasNote, true
+  expect "parseVymText of richText note produces richText note", map.hasRichTextNote, true
+  map.select @center_0
+  map.select @main_A
+  expect "After reselect, is note RichText?", map.hasRichTextNote, true
+
+
+  # RichText notes copy & paste
+  rt_note = map.getNoteXML
+  map.copy
+  map.paste
+  map.selectLastChildBranch
+  s = map.getSelectionString
+  expect "After copy & paste: New note Still RichText?", map.hasRichTextNote, true
+  expect "After copy & paste: New note unchanged?", map.getNoteXML, rt_note
+  map.remove
+
+  # RichText notes undo & redo
+  map.select @main_A
+  map.setNotePlainText('Foobar')
+  map.undo
+  expect "Undo after setNotePlainText restores RichText note", map.getNoteXML, rt_note
+  map.redo
+  map.select @main_A
+  expect "Redo restores previous plaintext note", map.getNotePlainText, 'Foobar'
+
+  # RichText notes load & save
+  map.loadNote("test/notes/note.html")
+  expect "Load HTML note from file and try to detect textMode. Is RichText?", map.hasRichTextNote, true
+  filepath = "#{@testDir}/save-note.txt"
+  map.saveNote(filepath)
+  expect "Save note to file. Check if it contains 'textMode=\"richText\"'", IO.read(filepath).include?("textMode=\"richText\""), true
+  expect "Save note to file. Check if it contains 'bold'", IO.read(filepath).include?("bold"), true
+  expect "Save note to file. Check new format: no longer contains '<b>' element", IO.read(filepath).include?("<b>"), false
+  expect "Save note to file. Check new format: no longer contains '<![CDATA['", IO.read(filepath).include?("<![CDATA["), false
+  expect "Save note to file. Check new format: contains 'text=\"&lt;'", IO.read(filepath).include?("text=\"&lt;"), true
+
+  # Delete note
+  map.setNotePlainText("")
+  expect "setNotePlainText(\"\") deletes note", map.hasNote, false
+
+  # Compatibility with version < 2.5.0  # FIXME-2 missing
+
+  close_current_map
+end
+
+#######################
+def test_references
+  heading "References"
+  map = init_map @testMapDefault
+
+  map.select @main_A
+  url = "www.insilmaril.de"
+  map.setURL url
+  expect "setURL to '#{url}'", map.getURL, url
+
+  map.undo
+  expect "undo setURL", map.getURL, ""
+  map.redo
+  expect "redo setURL", map.getURL, url
+  map.setURL ""
+  expect "setURL: unset URL with empty string", map.getURL, ""
+
+  vl = "default.vym"
+  map.setVymLink vl
+  s = map.getVymLink
+  expect "setVymLink returns absolute path", map.getFileDir + vl, s
+  map.undo
+  expect "undo: setVymLink", map.getVymLink, ""
+  map.redo
+  expect "redo: setVymLink", map.getVymLink, s
+  map.undo
+
+  close_current_map
+end
+
+#######################
+def test_standard_flags
+  heading "Standard flags"
+  map = init_map @testMapDefault
+  map.select @main_A
+
+  def set_flags (map, flags)
+    flags.each do |f|
+      map.setFlagByName( f )
+      expect "Flag set: #{f}", map.hasActiveFlag( f ), true
+    end
+  end
+
+  def unset_flags (map, flags)
+    flags.each do |f|
+      map.unsetFlagByName( f )
+      expect "Flag unset: #{f}", map.hasActiveFlag( f ), false
+    end
+  end
+
+  # Group standard-mark
+  set_flags( map, [ "exclamationmark","questionmark"] )
+
+  # Group standard-status
+  set_flags( map, [ "hook-green",
+    "wip",
+    "cross-red",
+    "stopsign" ] )
+
+  # Group standard-smiley
+  smileys = [ "smiley-good",
+      "smiley-sad",
+      "smiley-omb" ]
+  set_flags( map, smileys )
+
+  # Group standard-arrow
+  set_flags( map, [ "arrow-up",
+    "arrow-down",
+    "2arrow-up",
+    "2arrow-down" ] )
+
+  # Group standard-thumb
+  set_flags( map, [ "thumb-up", "thumb-down" ] )
+
+  # Without group
+  set_flags( map, [ "clock",
+    "phone",
+    "lamp",
+    "rose",
+    "heart",
+    "present",
+    "flash",
+    "info",
+    "lifebelt" ] )
+
+  unset_flags( map, smileys )
+
+  map.clearFlags
+
+  expect "clearFlags cleared exclamationmark", map.hasActiveFlag( "exclamationmark" ), false
+  expect "clearFlags cleared smiley-good", map.hasActiveFlag( "smiley-good" ), false
+
+
+  # Toggling flags
+  a = ["stopsign", "lifebelt"]
+  a.each do |flag|
+    #puts "Flag is now: #{flag}"
+    map.toggleFlagByName flag
+    expect "toggleFlag: flag #{flag} activated", map.hasActiveFlag(flag), true
+
+    map.toggleFlagByName flag
+    expect "toggleFlag: flag #{flag} deactivated", map.hasActiveFlag(flag), false
+  end
+
+  close_current_map
+end
+
+#######################
+def test_user_flags
+  heading "User flags"
+  map = init_map "maps/test-userflag.vym"
+
+  map.select @branch_0Aa
+  flagName = "userflag-vym"
+  expect "Has active flag '#{flagName}'", map.hasActiveFlag(flagName), true
+
+  # FIXME-2 cont here
+  close_current_map
+end
+
+#######################
+def test_xlinks
+  heading "XLinks:"
+  map = init_map @testMapDefault
+
+  map.addXLink("mc:0,bo:0","mc:0,bo:1",2,"#ff0000","Qt::DashDotLine")
+  map.selectLatestAdded
+  expect "Default color of XLink", map.getXLinkColor, "#ff0000"
+  expect "Default width of XLink", map.getXLinkWidth.to_i, 2
+  expect "Default style of XLink", map.getXLinkPenStyle, "Qt::DashDotLine"
+  expect "Default style of XLink begin", map.getXLinkStyleBegin, "HeadFull"
+  expect "Default style of XLink end",   map.getXLinkStyleEnd, "HeadFull"
+
+  map.setXLinkWidth(3)
+  expect "New width of XLink", map.getXLinkWidth.to_i, 3
+  map.undo
+  expect "Undo width of XLink", map.getXLinkWidth.to_i, 2
+
+  map.setXLinkColor("#00ff00")
+  expect "New color of XLink", map.getXLinkColor, "#00ff00"
+  map.undo
+  expect "Undo color of XLink", map.getXLinkColor, "#ff0000"
+
+  map.setXLinkStyle("Qt::SolidLine")
+  expect "New style of XLink", map.getXLinkPenStyle, "Qt::SolidLine"
+  map.undo
+  expect "Undo style of XLink", map.getXLinkPenStyle, "Qt::DashDotLine"
+
+  map.setXLinkStyleBegin("None")
+  expect "New style of XLink begin", map.getXLinkStyleBegin, "None"
+  map.undo
+  expect "Undo style of XLink begin", map.getXLinkStyleBegin, "HeadFull"
+
+  map.setXLinkStyleEnd("None")
+  expect "New style of XLink end", map.getXLinkStyleEnd, "None"
+  map.undo
+  expect "Undo style of XLink end", map.getXLinkStyleEnd, "HeadFull"
+
+  close_current_map
+end
+
+#######################
+def test_tasks
+  heading "Tasks:"
+  map = init_map "maps/test-tasks.xml"
+
+  map.select @branch_0Aa
+  expect "After loading #{@branch_0Aa} has no task", map.hasTask, false
+
+  map.select @branch_0Ab
+  expect "After loading #{@branch_0Ab} has task", map.hasTask, true
+  expect "After loading #{@branch_0Ab} task sleeps more than 1000 days",
+    map.getTaskSleepDays.to_i > 1000, true
+
+  map.select @branch_0Aa
+  map.toggleTask
+  expect "Toggle task", map.hasTask, true
+
+  date_today = DateTime.now
+  delta_days = 123
+  date_later = date_today + delta_days
+  date_later_iso = date_later.strftime("%Y-%m-%dT%H:%M:%S")
+
+  # Input: number of days
+  date_new = delta_days
+  expect "Set task sleep to number of days '#{date_new}' accepts input", map.setTaskSleep(date_new),  true
+  expect "Set task sleep to number of days '#{date_new}' has correct sleep value '#{delta_days}' days", map.getTaskSleepDays.to_i, delta_days
+
+  # Input: number of seconds
+  date_new = "10s"
+  expect "Set task sleep to number of seconds '#{date_new}' accepts input", map.setTaskSleep(date_new),  true
+
+  # Input: number of hours
+  date_new = "10h"
+  expect "Set task sleep to number of hours '#{date_new}' accepts input", map.setTaskSleep(date_new),  true
+
+  # Input: Date
+  date_new = date_later.strftime("%Y-%m-%d")
+  expect "Set task sleep to ISO Date '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to ISO Date '#{date_new}' has correct sleep value '#{delta_days}' days", map.getTaskSleepDays.to_i, delta_days
+
+  date_new = date_later.strftime("%d.%m.")
+  expect "Set task sleep to German short form '#{date_new}' accepts input '#{date_new}'", map.setTaskSleep(date_new), true
+  expect "Set task sleep to German short form '#{date_new}' has correct sleep value (days)", map.getTaskSleepDays.to_i, delta_days
+
+  date_new = date_later.strftime("%d.%m.%Y")
+  expect "Set task sleep to German long form '#{date_new}' accepts input '#{date_new}'", map.setTaskSleep(date_new), true
+  expect "Set task sleep to German long form '#{date_new}' has correct sleep value (days)", map.getTaskSleepDays.to_i, delta_days
+
+  # Input: Invalid strings
+  date_new = "invalidDate"
+  expect "Set task sleep to '#{date_new}' should fail", map.setTaskSleep(date_new), false
+
+  date_new = date_later.strftime("%d %m.%Y")
+  expect "Set task sleep to '#{date_new}' should fail", map.setTaskSleep(date_new), false
+
+  # DateTime
+  date_new = date_later_iso
+  expect "Set task sleep to ISO DateTime '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to ISO DateTime '#{date_new}' returns correct sleep value '#{date_later_iso}'", map.getTaskSleep, date_later_iso
+
+  # Time only
+  date_later = date_today
+
+  date_new = "12:34"
+  date_later_iso = date_today.strftime("%Y-%m-%dT12:34:00")
+  expect "Set task sleep to time '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to time '#{date_new}' returns correct sleep value '#{date_later_iso}'",
+    map.getTaskSleep, date_later_iso
+
+  date_new = "2:4"
+  date_later_iso = date_today.strftime("%Y-%m-%dT02:04:00")
+  expect "Set task sleep to time '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to time '#{date_new}' returns correct sleep value '#{date_later_iso}'",
+    map.getTaskSleep, date_later_iso
+
+  date_new = "03:05"
+  date_later_iso = date_today.strftime("%Y-%m-%dT03:05:00")
+  expect "Set task sleep to time '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to time '#{date_new}' returns correct sleep value '#{date_later_iso}'",
+    map.getTaskSleep, date_later_iso
+
+  close_current_map
+end
+
+######################
+def test_saving
+  heading "Saving:"
+  map = init_map @testMapDefault
+  #
+  # Save selection without overwriting original map
+  map.select @branch_0Aa
+  fn = @testDir + "/test-saveSelection.vyp"
+  map.saveSelection(fn)
+  expect "#Save selection: #{@branch_0Aa} to #{fn}", File.file?(fn), true
+
+  close_current_map
+
+  map = init_map fn
+  map.select @center_0
+  expect "Save selection: After loading of #{fn} #{@center_0} is ok", map.getHeadingPlainText, "branch a"
+  map.select @main_A
+  expect "Save selection: After loading of #{fn} #{@main_A} is ok", map.getHeadingPlainText, "branch a1"
+
+  close_current_map
+end
+
+######################
+def test_load_legacy_maps
+  heading "Load legacy maps:"
+
+  map = init_map "maps/legacy/legacy-text-2.4.0.xml"
+  map.select @branch_0Aa
+  expect "Heading with plaintext as characters is read", map.getHeadingPlainText, "Heading in characters"
+
+#  map.select @center_0
+#  expect "Checking parsing 'absPos': x-position of #{@center_0} is ok", map.getPosX().to_f, 314
+#  expect "Checking parsing 'absPos': y-position of #{@center_0} is ok", map.getPosY().to_f, 0
+#  map.select @main_A
+#  expect "Checking parsing 'relPos': x-position of #{@main_A} is ok", map.getPosX().to_f, 123
+#  expect "Checking parsing 'relPos': y-position of #{@main_A} is ok", map.getPosY().to_f, 42
+
+  close_current_map
+
+  map = init_map "maps/legacy/time-management-1.13.33.vym"
+  map.select @main_A
+  s = "To see an explanation"
+  expect "<heading> using characters: Heading includes '#{s}'", map.getHeadingPlainText.include?(s), true
+  expect "<vymnote> using <html>: creates RichText note", map.hasRichTextNote, true
+  s = "time management"
+  expect "<vymnote> using <html>: Note contains '#{s}'", map.getNotePlainText.include?(s), true
+
+  close_current_map
+
+  map = init_map "maps/legacy/lifeforms-2.1.11.vym"
+  map.select @center_0
+
+  s = "Life forms"
+  expect "<heading> using characters and HTML: includes '#{s}'", map.getHeadingXML.include?(s), true
+  s = "textMode=\"richText"
+  expect "<heading> using characters creates RichText", map.getHeadingXML.include?(s), true
+
+  close_current_map
+
+  map = init_map "maps/legacy/faq-2.5.21.xml"
+  map.select @branch_0Ab
+
+  s = "libqt5-devel.rpm"
+  expect "<vymnote> using characters and CDATA: has RichText note", map.hasRichTextNote, true
+  expect "<vymnote> using characters and CDATA: includes '#{s}'", map.getNotePlainText.include?(s), true
+  expect "<vymnote> using characters and CDATA: has RichText note", map.hasRichTextNote, true
+
+  map.select @branch_0Ac
+  s = "textMode=\"richText"
+  expect "<heading> using characters and CDATA: creates RichText", map.getHeadingXML.include?(s), true
+  s = "CDATA heading"
+  expect "<heading> using characters and CDATA: includes '#{s}'", map.getHeadingPlainText.include?(s), true
+
+  close_current_map
+
+
+  files = [
+    "maps/legacy/external-note-plaintext.txt",
+    "maps/legacy/external-note-richtext.html" ]
+  map = init_map "maps/legacy/notes.xml", files
+
+  map.select @branch_0Aa
+  expect"<note> with plaintext in external file: text has type PlainText",
+    map.hasRichTextNote, false
+  expectInclude "<note> with plaintext in external file: text is read correctly",
+    map.getNotePlainText,
+    "PlainText note in file"
+
+  map.select @branch_0Ab
+  expect"<note> with plaintext in characters: text has type PlainText",
+    map.hasRichTextNote, false
+  expectInclude "<note> reads plaintext from characters",
+    map.getNotePlainText,
+    "PlainText note in characters"
+
+  map.select @branch_0Ac
+  expect"<note> with RichText in external file: text has type RichText",
+    map.hasRichTextNote, true
+  expectInclude "<note> reads RichText from external file",
+    map.getNotePlainText,
+    "RichText note in file"
+  map.select @branch_0Ab
+
+  map.select @branch_0Ba
+  expect"<htmlnote> with PlainText in characters: text has type PlainText",
+    map.hasRichTextNote, false
+  expectInclude "<htmlnote> reads PlainText from characters",
+    map.getNotePlainText,
+    "PlainText note in characters"
+  map.select @branch_0Bb
+  expect"<htmlnote> with RichText in characters: text has type RichText",
+    map.hasRichTextNote, true
+  expectInclude "<htmlnote> reads RichText from characters",
+    map.getNotePlainText,
+    "RichText note in characters"
+
+  # FIXME-2 implement and add test: xlinks in subitems of branches (pre 1.13.2)
+  close_current_map
+end
+
+#######################
+=begin
+# Untested commands:
+#
+addSlide
+centerOnID
+colorBranch
+colorSubtree
+cycleTask
+delete (image)
+deleteSlide
+importDir
+loadImage
+loadNote
+move
+moveRel
+moveSlideDown
+moveSlideUp
+note2URLs
+    paste
+redo
+relinkTo (for images)
+saveImage
+saveNote
+selectID
+selectLastImage
+selectLatestAdd
+setFrameBorderWidth
+setFrameBrushColor
+setFrameIncludeChildren
+setFramePadding
+setFramePenColor
+setFrameType
+    setHeading
+setHideExport
+setHideLinksUnselected
+setIncludeImagesHorizontally
+setIncludeImagesVertically
+setMapAnimCurve
+setMapAnimDuration
+setMapBackgroundColor
+setMapDefLinkColor
+setMapLinkStyle
+setMapRotation
+setMapZoom
+setNote
+setScale
+setSelectionColor
+setTaskSleep
+    setURL
+    setVymLink
+  so far:
+sortChildren
+toggleFrameIncludeChildren
+toggleTarget
+toggleTask
+=end
+
+
+begin
+  options = {}
+  OptionParser.new do |opts|
+    opts.banner = "Usage: vym-test.rb [options]"
+
+    opts.on('-d', '--directory  NAME', 'Directory name') { |s| options[:testDir] = s }
+  end.parse!
+
+  @testDir = options[:testDir]
+  @testMapDefault= "maps/test-default.vym"
+  @testMapFrames = "maps/test-frames.vym"
+
+  $tests_passed    = 0
+  $tests_failed    = 0
+  $tests_warnings  = 0
+  $tests_total     = 0
+
+  #######################
+  @center_0 = "mc:0"
+  @main_A = "mc:0,bo:0"
+    @branch_0Aa = @main_A + ",bo:0"
+    @branch_0Ab = @main_A + ",bo:1"
+    @branch_0Ac = @main_A + ",bo:2"
+  @main_B="mc:0,bo:1"
+    @branch_0Ba = @main_B + ",bo:0"
+    @branch_0Bb = @main_B + ",bo:1"
+  @center_1 = "mc:1"
+  @center_2 = "mc:2"
+  @center_3 = "mc:3"
+
+  instance_name = 'test'
+
+  vym_mgr = VymManager.new
+  #vym_mgr.show_running
+
+  @vym = vym_mgr.find(instance_name)
+
+  if !@vym
+    puts "Couldn't find instance name \"#{instance_name}\", please start one:"
+    puts "vym -l -n \"#{instance-name}\" -t test/default.vym"
+    exit
+  end
+
+  test_vym
+  test_basics
+
+  #test_adding_branches
+  #test_adding_maps
+  #test_attributes
+  #test_bugfixes
+  #test_copy_paste
+  #test_delete_parts
+  #test_export
+  #test_extrainfo
+  #test_frames
+  ##test_headings  # FIXME-2 no tests available
+  #test_history
+  test_load_legacy_maps
+  #test_modify_branches
+  #test_moving_parts
+  #test_notes
+  #test_references
+  #test_saving
+  #test_scrolling
+  #test_slides
+  #test_standard_flags
+  #test_tasks
+  #test_user_flags
+  #test_xlinks
+
+  summary
+
+end
+
index 6ea4bbb8282bb0f4a80cce6fa52542aecff0b0c9..ef2115d5089c2632264a87e731796d5ec0fef2d4 100755 (executable)
@@ -2,22 +2,9 @@
 
 require "#{ENV['PWD']}/scripts/vym-ruby"
 require 'date'
+require 'fileutils'
 require 'optparse'
 
-instance_name = 'test'
-
-options = {}
-OptionParser.new do |opts|
-  opts.banner = "Usage: vym-test.rb [options]"
-
-  opts.on('-d', '--directory  NAME', 'Directory name') { |s| options[:testdir] = s }
-end.parse!
-
-@testdir = options[:testdir]
-
-$tests_passed = 0
-$tests_failed = 0
-$tests_total  = 0
 
 def waitkey
   puts "Press return to continue..."
@@ -28,6 +15,7 @@ def expect (comment, v_real, v_exp)
   if v_exp == v_real
     puts "    Ok: #{comment}"
     $tests_passed += 1
+    # waitkey
   else  
     puts "Failed: #{comment}. Expected '#{v_exp}', but got '#{v_real}'"
     $tests_failed += 1
@@ -36,6 +24,18 @@ def expect (comment, v_real, v_exp)
   $tests_total += 1
 end    
 
+def expect_warning_only (comment, v_real, v_exp)
+  if v_exp == v_real
+    puts "    Ok: #{comment}"
+    $tests_passed += 1
+    # waitkey
+  else  
+    puts "Warning: #{comment}. Expected '#{v_exp}', but got '#{v_real}'"
+    $tests_warnings += 1
+  end  
+  $tests_total += 1
+end    
+
 def expect_error (comment, error)
   if error.length ==  0
     puts "Failed: #{comment}. Command did not return error."
@@ -51,7 +51,7 @@ def heading (s)
   puts "\n#{s}\n#{'-' * s.length}\n"
 end
 
-def init_map
+def init_map( vym )
   # FIXME-2 Missing: check or init default map 
   # Map Structure:
   # MapCenter 0
@@ -62,388 +62,428 @@ def init_map
   #       branch a3
   #   Main B
   # MapCenter 1
+
+  #n = vym.mapCount.to_i
+  #vym.loadMap (@testmap)
+  return vym.map (1)
 end
 
 def summary
   puts "\nTests done  : #{$tests_total}"
   puts "Tests passed: #{$tests_passed}"
+  puts "Warnings:     #{$tests_warnings}"
   puts "Tests failed: #{$tests_failed}"
 end
 
-vym_mgr=VymManager.new
-#vym_mgr.show_running
-
-vym=vym_mgr.find(instance_name)
-if !vym
-  puts "Couldn't find instance name \"#{instance_name}\", please start one:"
-  puts "vym -l -n \"#{instance-name}\" -t test/default.vym"
-  exit
-end
-
-
 #######################
-@center_0="mc:0"
-@center_1="mc:1"
-@main_a="mc:0,bo:0"
-  @branch_a=@main_a+",bo:0"
-  @branch_b=@main_a+",bo:1"
-  @branch_c=@main_a+",bo:2"
-@main_b="mc:0,bo:1"
+def test_vym (vym)
+  heading "Mainwindow checks:"
+  version = "2.9.0"
+  expect_warning_only "Version is #{version}", vym.version, version
+
+  expect "Loading map '#{@testmap}'", vym.loadMap(@testmap), true
 
-@n_centers=2
+  vym.clearConsole
+end
 
 #######################
 def test_basics (vym)
   heading "Basic checks:"
-  init_map
-  vym.select @main_a
-  expect "select mainbranch A", vym.getSelectString, @main_a
-  expect "getHeadingPlainText", vym.getHeadingPlainText, "Main A"
-  expect "branchCount", vym.branchCount, 3
+  map = init_map( vym )
+
+  title = "vym map used for testing"
+  expect "map title is '#{title}'", map.getMapTitle, title
+  author ="Uwe Drechsel"
+  expect "Author is '#{author}'", map.getMapAuthor, author
 
-  vym.selectLastBranch
-  expect "selectLastBranch", vym.getHeadingPlainText, "branch c"
+  map.select @main_a
+  expect "select mainbranch A", map.getSelectionString, @main_a
+  expect "getHeadingPlainText", map.getHeadingPlainText, "Main A"
+  expect "branchCount", map.branchCount, 3
 
-  vym.selectParent
-  expect "selectParent", vym.getHeadingPlainText, "Main A"
+  map.selectLastBranch
+  expect "selectLastBranch", map.getHeadingPlainText, "Main B"
 
-  expect "getDestPath: Got #{vym.getDestPath}", vym.getDestPath, @testdir + "/testmap.vym" 
-  expect "getFileDir:  Got #{vym.getFileDir}", vym.getFileDir, @testdir + "/" 
+  map.selectFirstBranch
+  expect "selectFirstBranch", map.getHeadingPlainText, "Main A"
+
+  map.selectParent
+  expect "selectParent", map.getHeadingPlainText, "MapCenter 0"
+
+  expect "getDestPath: Got #{map.getDestPath}", map.getDestPath, @testdir + "/testmap.vym" 
+  expect "getFileDir:  Got #{map.getFileDir}", map.getFileDir, @testdir + "/" 
 end
 
 #######################
 def test_export (vym)
   heading "Export:"
-  init_map
+  map = init_map( vym )
 
   #HTML
-  mapname = "export-html"
-  htmlpath = "#{@testdir}/#{mapname}.html"
-  flagpath = "#{@testdir}/flags/flag-stopsign.png"
-  pngpath = "#{@testdir}/#{mapname}.png"
-  csspath = "#{@testdir}/vym.css"
-  vym.exportHTML(@testdir,htmlpath)
+  exportdir = "#{@testdir}/export-html"
+  Dir.mkdir(exportdir)
+  htmlpath = "#{exportdir}/output.html"
+  flagdir  = "#{exportdir}/flags"
+  pngpath = "#{exportdir}/output.png"
+  csspath = "#{exportdir}/vym.css"
+  map.exportMap("HTML", htmlpath, exportdir)
   expect "exportHTML: HTML file exists", File.exists?(htmlpath), true
   expect "exportHTML: HTML image exists", File.exists?(pngpath), true
-  expect "exportHTML: HTML flags exists", File.exists?(flagpath), true
+  expect "exportHTML: HTML flags dir exists", Dir.exists?(flagdir), true
+  if Dir.exists?(flagdir)
+    expect "exportHTML: HTML flags dir not empty", Dir.empty?(flagdir), false
+  end
   expect "exportHTML: HTML CSS exists", File.exists?(csspath), true
   File.delete(htmlpath)
-  File.delete(flagpath)
+  FileUtils.rm_r(flagdir)
   File.delete(pngpath)
   File.delete(csspath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast: HTML #{htmlpath} file exists", File.exists?(htmlpath), true
   expect "exportLast: HTML image exists", File.exists?(pngpath), true
-  expect "exportLast: HTML flags exists", File.exists?(flagpath), true
+  expect "exportHTML: HTML flags dir exists", Dir.exists?(flagdir), true
+  if Dir.exists?(flagdir)
+    expect "exportHTML: HTML flags dir not empty", Dir.empty?(flagdir), false
+  end
   expect "exportLast: HTML CSS exists", File.exists?(csspath), true
 
   #AO
-  filepath = "#{@testdir}/export-ao.txt"
-  vym.exportAO(filepath)
+  exportdir = "#{@testdir}/export-ao"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.txt"
+  map.exportMap("AO", filepath)
   expect "exportAO:    AO file exists", File.exists?(filepath), true
   File.delete(filepath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast:  AO file exists", File.exists?(filepath), true
 
   #ASCII
-  filepath = "#{@testdir}/export-ascii.txt"
-  vym.exportASCII(filepath,false)
+  exportdir = "#{@testdir}/export-ascii"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.txt"
+  map.exportMap("ASCII", filepath, false)
   expect "exportASCII: ASCII file exists", File.exists?(filepath), true
   File.delete(filepath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast:  ASCII file exists", File.exists?(filepath), true
 
   #CSV
-  filepath = "#{@testdir}/export-csv.txt"
-  vym.exportCSV(filepath)
+  exportdir = "#{@testdir}/export-csv"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.csv"
+  map.exportMap("CSV", filepath)
   expect "exportCSV:    CSV file exists", File.exists?(filepath), true
   File.delete(filepath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast:  CSV file exists", File.exists?(filepath), true
 
   #Image
-  filepath = "#{@testdir}/export-image.png"
-  vym.exportImage(filepath,"PNG")
+  exportdir = "#{@testdir}/export-image"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.png"
+  map.exportMap("Image", filepath,"PNG")
   expect "exportImage: PNG file exists", File.exists?(filepath), true
   File.delete(filepath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast:  PNG file exists", File.exists?(filepath), true
 
   #LaTeX
-  filepath = "#{@testdir}/export-LaTeX.tex"
-  vym.exportLaTeX(filepath)
+  exportdir = "#{@testdir}/export-latex"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.tex"
+  map.exportMap("LaTeX", filepath)
   expect "exportLaTeX:  LaTeX file exists", File.exists?(filepath), true
   File.delete(filepath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast:   LaTeX file exists", File.exists?(filepath), true
 
+  #Markdown
+  exportdir = "#{@testdir}/export-markdown"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.md"
+  map.exportMap("Markdown", filepath)
+  expect "exportMarkdown:  Markdown file exists", File.exists?(filepath), true
+  File.delete(filepath)
+  map.exportMap("Last")
+  expect "exportLast:     Markdown file exists", File.exists?(filepath), true
+
   #OrgMode
-  filepath = "#{@testdir}/export-orgmode.org"
-  vym.exportOrgMode(filepath)
+  exportdir = "#{@testdir}/export-orgmode"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.org"
+  map.exportMap("OrgMode", filepath)
   expect "exportOrgMode:  OrgMode file exists", File.exists?(filepath), true
   File.delete(filepath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast:     OrgMode file exists", File.exists?(filepath), true
 
   #PDF
-  filepath = "#{@testdir}/export-pdf.pdf"
-  vym.exportPDF(filepath)
+  exportdir = "#{@testdir}/export-pdf"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.pdf"
+  map.exportMap("PDF", filepath)
   expect "exportPDF:  PDF file exists", File.exists?(filepath), true
   File.delete(filepath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast: PDF file exists", File.exists?(filepath), true
 
   #SVG
-  filepath = "#{@testdir}/export-svg.svg"
-  vym.exportSVG(filepath)
+  exportdir = "#{@testdir}/export-svg"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.svg"
+  map.exportMap("SVG", filepath)
   expect "exportSVG:  SVG file exists", File.exists?(filepath), true
   File.delete(filepath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast: SVG file exists", File.exists?(filepath), true
 
   #XML
-  filepath = "#{@testdir}/export-xml.xml"
-  vym.exportXML(@testdir, filepath)
+  exportdir = "#{@testdir}/export-xml"
+  Dir.mkdir(exportdir)
+  filepath = "#{exportdir}/output.xml"
+  map.exportMap("XML", filepath, @testdir)
   expect "exportXML: XML file exists", File.exists?(filepath), true
   File.delete(filepath)
-  vym.exportLast
+  map.exportMap("Last")
   expect "exportLast: XML file exists", File.exists?(filepath), true
 
   #OpenOffice Impress //FIXME-2
-  #KDE4 Bookmarks //FIXME-2
   #Taskjuggler //FIXME-3
 end
 
 #######################
 def test_extrainfo (vym)
   heading "Extra information:"
-  init_map
-  vym.setMapAuthor("Fra Erasmas")
-  expect "Set and get map author", vym.getMapAuthor, "Fra Erasmas"
-  vym.setMapComment("xy z")
-  expect "Set and get map comment", vym.getMapComment, "xy z"
-  vym.setMapTitle("vym rules!")
-  expect "Set and get map title", vym.getMapTitle, "vym rules!"
+  map = init_map( vym )
+  map.setMapAuthor("Fra Erasmas")
+  expect "Set and get map author", map.getMapAuthor, "Fra Erasmas"
+  map.setMapComment("xy z")
+  expect "Set and get map comment", map.getMapComment, "xy z"
+  map.setMapTitle("vym rules!")
+  expect "Set and get map title", map.getMapTitle, "vym rules!"
 end
 
 #######################
 def test_adding_branches (vym)
   heading "Adding branches:"
-  init_map
-  vym.select @main_a
-  n=vym.branchCount
-  vym.addBranch()
-  expect( "addBranch", vym.branchCount, n+1 )
-
-  vym.selectLatestAdded
-  expect "selectLatestAdded", vym.getSelectString, @main_a+",bo:3"
-
-  vym.undo
-  expect( "Undo: addBranch", vym.branchCount, n )
-
-  init_map
-  vym.select @main_a
-  n=vym.branchCount
-  vym.select @branch_a
-  vym.addBranch(-3)
-  vym.addBranch(-1)
-  vym.select @main_a
-  expect "addBranchAbove/Below", vym.branchCount, n+2
-
-  vym.undo
-  vym.undo
-  expect "Undo: addBranchAbove/Below", vym.branchCount, n
-
-  init_map
-  vym.select @branch_a
-  vym.addBranchBefore
-  vym.select @main_a
-  expect "addBranchBefore: check branchcount",  vym.branchCount, n
-  vym.select @branch_a
-  expect "addBranchBefore: check heading", vym.getHeadingPlainText, ""
-  vym.undo
-  vym.select @main_a
-  expect "Undo: addBranchBefore", vym.branchCount, n  
+  map = init_map( vym )
+  map.select @main_a
+  n = map.branchCount.to_i
+  map.addBranch()
+  expect( "addBranch", map.branchCount.to_i, n + 1 )
+
+  map.selectLatestAdded
+  expect "selectLatestAdded", map.getSelectionString, @main_a + ",bo:3"
+
+  map.undo
+  expect( "Undo: addBranch", map.branchCount.to_i, n )
+
+  map = init_map( vym )
+  map.select @main_a
+  n = map.branchCount.to_i
+  map.select @branch_a
+  map.addBranch( -3 )
+  map.addBranch( -1 )
+  map.select @main_a
+  expect "addBranchAbove/Below", map.branchCount.to_i, n + 2
+
+  map.undo
+  map.undo
+  expect "Undo: addBranchAbove/Below", map.branchCount.to_i, n
+
+  map = init_map( vym )
+  map.select @branch_a
+  map.addBranchBefore
+  map.select @main_a
+  expect "addBranchBefore: check branchcount",  map.branchCount.to_i, n
+  map.select @branch_a
+  expect "addBranchBefore: check heading", map.getHeadingPlainText, ""
+
+  # Undo twice: addBranchNew and relinkTo
+  map.undo
+  map.undo
+  map.select @main_a
+  expect "Undo: addBranchBefore", map.branchCount.to_i, n  
 end
 
 #######################
 def test_adding_maps (vym)
   heading "Adding maps"
-  init_map
-  vym.select @branch_a
-  n=vym.branchCount
-  vym.addMapReplace "test/default.vym"
-  vym.select @main_a
-  expect "addMapReplace: check branch count in #{@main_a}", vym.branchCount, n + @n_centers -1
-  vym.select @branch_a
-  expect "addMapReplace: check if #{@branch_a} is new", vym.branchCount, 2
-  
-  vym.undo
-  vym.select @main_a
-  expect "Undo: check branch count in #{@main_a}", vym.branchCount, 3
-  vym.select @branch_a
-  expect "Undo: check if #{@branch_a} is back", vym.branchCount, 3 
-  
-  init_map
-  vym.select @main_a
-  vym.addMapInsert "test/default.vym",1
-  vym.select @main_a
-  expect "addMapInsert: branch count",  vym.branchCount, n+
-  vym.select @main_a + ",bo:1"
-  expect "addMapInsert: new heading", vym.getHeadingPlainText, "MapCenter 0"
-  
-  vym.undo
-  vym.select @main_a
-  expect "Undo: check branch count in #{@main_a}", vym.branchCount, 3 
-  vym.select @branch_b
-  expect "Undo: check heading of  #{@branch_b}",  vym.getHeadingPlainText, "branch b"
+  map = init_map( vym )
+  map.select @branch_a
+  n=map.branchCount.to_i
+  map.addMapReplace "test/default.vym"
+  map.select @main_a
+  expect "addMapReplace: check branch count in #{@main_a}", map.branchCount.to_i, n + @n_centers -1
+  map.select @branch_a
+  expect "addMapReplace: check if #{@branch_a} is new", map.branchCount.to_i, 2
+  
+  map.undo
+  map.select @main_a
+  expect "Undo: check branch count in #{@main_a}", map.branchCount.to_i, 3
+  map.select @branch_a
+  expect "Undo: check if #{@branch_a} is back", map.branchCount.to_i, 3 
+  
+  map = init_map( vym )
+  map.select @main_a
+  map.addMapInsert "test/default.vym", 1
+  map.select @main_a
+  expect "addMapInsert: branch count",  map.branchCount.to_i, n + 
+  map.select @main_a + ",bo:1"
+  expect "addMapInsert: new heading", map.getHeadingPlainText, "MapCenter 0"
+  
+  map.undo
+  map.select @main_a
+  expect "Undo: check branch count in #{@main_a}", map.branchCount.to_i, 3 
+  map.select @branch_b
+  expect "Undo: check heading of  #{@branch_b}",  map.getHeadingPlainText, "branch b"
 end
 
 #######################
 def test_scrolling (vym)
   heading "Scrolling and unscrolling"
-  init_map
-  vym.select @main_a
-  vym.toggleScroll
-  expect "toggleScroll", vym.isScrolled, true
-  vym.undo
-  expect "undo toggleScroll", vym.isScrolled, false
-  vym.scroll
-  expect "scroll", vym.isScrolled, true
-  vym.unscroll
-  expect "unscroll", vym.isScrolled, false
-
-  init_map
-  vym.scroll
-  vym.select @branch_a
-  vym.scroll
-  vym.select @main_a
-  vym.unscrollChildren
-  vym.select @branch_a
-  expect "unscrollChildren", vym.isScrolled, false
-  vym.undo
-  expect "undo unscrollChildren", vym.isScrolled, true
-  vym.unscroll
-  vym.select @branch_a
-  vym.unscroll
+  map = init_map( vym )
+  map.select @main_a
+  map.toggleScroll
+  expect "toggleScroll", map.isScrolled, true
+  map.undo
+  expect "undo toggleScroll", map.isScrolled, false
+  map.scroll
+  expect "scroll", map.isScrolled, true
+  map.unscroll
+  expect "unscroll", map.isScrolled, false
+
+  map = init_map( vym )
+  map.scroll
+  map.select @branch_a
+  map.scroll
+  map.select @main_a
+  map.unscrollChildren
+  map.select @branch_a
+  expect "unscrollChildren", map.isScrolled, false
+  map.undo
+  expect "undo unscrollChildren", map.isScrolled, true
+  map.unscroll
+  map.select @branch_a
+  map.unscroll
 end
 
 #######################
 def test_moving_parts (vym)
   heading "Moving parts"
-  init_map
-  vym.select @branch_a
-  vym.moveDown
-  vym.select @branch_a
-  expect "Moving down", vym.getHeadingPlainText, "branch b"
-  vym.undo
-  vym.select @branch_a
-  expect "Undo Moving down", vym.getHeadingPlainText, "branch a"
-  
-  init_map
-  vym.select @branch_b
-  vym.moveUp
-  vym.select @branch_a
-  expect "Moving up", vym.getHeadingPlainText, "branch b"
-  vym.undo
-  vym.select @branch_b
-  expect "Undo Moving up", vym.getHeadingPlainText, "branch b"
-  
-  init_map
-  vym.select @main_b
-  n=vym.branchCount
-  vym.select @branch_a
-  vym.relinkTo @main_b,0,0,0
-  vym.select @main_b
-  expect "RelinkTo #{@main_b}: branchCount increased there",  vym.branchCount, n+1
-
-  vym.undo
-  vym.select @branch_b
-  expect "Undo: RelinkTo #{@main_b}: branchCount decreased there", vym.branchCount, n
-  
-  init_map
-  vym.select @main_a
-  err = vym.relinkTo @branch_a,0,0,0
+  map = init_map( vym )
+  map.select @branch_a
+  map.moveDown
+  map.select @branch_a
+  expect "Moving down", map.getHeadingPlainText, "branch b"
+  map.undo
+  map.select @branch_a
+  expect "Undo Moving down", map.getHeadingPlainText, "branch a"
+  
+  map = init_map( vym )
+  map.select @branch_b
+  map.moveUp
+  map.select @branch_a
+  expect "Moving up", map.getHeadingPlainText, "branch b"
+  map.undo
+  map.select @branch_b
+  expect "Undo Moving up", map.getHeadingPlainText, "branch b"
+  
+  map = init_map( vym )
+  map.select @main_b
+  n=map.branchCount.to_i
+  map.select @branch_a
+  map.relinkTo @main_b,0,0,0
+  map.select @main_b
+  expect "RelinkTo #{@main_b}: branchCount increased there",  map.branchCount.to_i, n+1
+
+  map.undo
+  map.select @branch_b
+  expect "Undo: RelinkTo #{@main_b}: branchCount decreased there", map.branchCount.to_i, n
+  
+  map = init_map( vym )
+  map.select @main_a
+  err = map.relinkTo @branch_a,0,0,0
   expect_error "RelinkTo myself fails.", err
 
-  vym
-  init_map
-  vym.select @branch_a
-  n=vym.branchCount
-  vym.select @main_b
-  vym.relinkTo @branch_a, 1, 0, 0
-  vym.select @branch_a
-  expect "RelinkTo #{@branch_a}, pos 1: branchCount increased there",  vym.branchCount, n+1
-  vym.select "#{@branch_a},bo:1"
-  expect "RelinkTo #{@branch_a}, pos 1: Mainbranch really moved", vym.getHeadingPlainText, "Main B"
-  vym.undo
-  vym.select @center_0
-  expect "Undo RelinkTo pos 1: branchCount of center", vym.branchCount, 2
+  map
+  map = init_map( vym )
+  map.select @branch_a
+  n=map.branchCount.to_i
+  map.select @main_b
+  map.relinkTo @branch_a, 1, 0, 0
+  map.select @branch_a
+  expect "RelinkTo #{@branch_a}, pos 1: branchCount increased there",  map.branchCount.to_i, n+1
+  map.select "#{@branch_a},bo:1"
+  expect "RelinkTo #{@branch_a}, pos 1: Mainbranch really moved", map.getHeadingPlainText, "Main B"
+  map.undo
+  map.select @center_0
+  expect "Undo RelinkTo pos 1: branchCount of center", map.branchCount.to_i, 2
   # FIXME-2 still has wrong position, check position
-  vym.select @main_b
-  vym.moveRel 100,100
+  map.select @main_b
+  map.moveRel 100,100
 end
 
 #######################
 def test_modify_branches (vym)
   heading "Modifying branches"
-  init_map
-  vym.select @branch_a
-  vym.setHeadingPlainText "Changed!"
-  expect "setHeadingPlainText", vym.getHeadingPlainText, "Changed!"
-  vym.undo
-  expect "Undo: setHeadingPlainText", vym.getHeadingPlainText, "branch a"
-  vym.redo
-  expect "redo: setHeadingPlainText", vym.getHeadingPlainText, "Changed!" 
-  vym.undo
+  map = init_map( vym )
+  map.select @branch_a
+  map.setHeadingPlainText "Changed!"
+  expect "setHeadingPlainText", map.getHeadingPlainText, "Changed!"
+  map.undo
+  expect "Undo: setHeadingPlainText", map.getHeadingPlainText, "branch a"
+  map.redo
+  expect "redo: setHeadingPlainText", map.getHeadingPlainText, "Changed!" 
+  map.undo
 end  
   
 #######################
 def test_flags (vym)
   heading "Flags"
-  init_map
-  vym.select @main_a
+  map = init_map( vym ) 
+  map.select @main_a
   
-  def set_flags (v,a)
-    a.each do |f|
-    v.setFlag f
-    expect "Flag set: #{f}", v.hasActiveFlag(f), true
+  def set_flags (map, flags)
+    flags.each do |f|
+      map.setFlagByName( f )
+      expect "Flag set: #{f}", map.hasActiveFlag( f ), true
     end
   end
   
-  def unset_flags (v,a)
-    a.each do |f|
-    v.unsetFlag f
-    expect "Flag unset: #{f}", v.hasActiveFlag(f), false
+  def unset_flags (map, flags)
+    flags.each do |f|
+      map.unsetFlagByName( f )
+      expect "Flag unset: #{f}", map.hasActiveFlag( f ), false
     end
   end
   
   # Group standard-mark
-  set_flags vym,[ "exclamationmark","questionmark"]
+  set_flags( map, [ "exclamationmark","questionmark"] )
   
   # Group standard-status
-  set_flags vym, [ "hook-green", 
+  set_flags( map, [ "hook-green", 
     "wip", 
     "cross-red", 
-    "stopsign" ]
+    "stopsign" ] )
   
   # Group standard-smiley
   smileys = [ "smiley-good",
       "smiley-sad",
       "smiley-omb" ]
-  set_flags vym, smileys
+  set_flags( map, smileys )
   
   # Group standard-arrow
-  set_flags vym, [ "arrow-up", 
+  set_flags( map, [ "arrow-up", 
     "arrow-down", 
     "2arrow-up", 
-    "2arrow-down" ]
+    "2arrow-down" ] )
   
   # Group standard-thumb
-  set_flags vym, [ "thumb-up", "thumb-down" ]
+  set_flags( map, [ "thumb-up", "thumb-down" ] )
   
   # Without group
-  set_flags vym, [ "clock",
+  set_flags( map, [ "clock",
     "phone",
     "lamp",
     "rose",
@@ -451,208 +491,275 @@ def test_flags (vym)
     "present",
     "flash",
     "info",
-    "lifebelt" ]
+    "lifebelt" ] )
   
-  unset_flags vym, smileys
+  unset_flags( map, smileys )
   
-  vym.clearFlags
-  expect "clearFlags cleared exclamationmark", vym.hasActiveFlag( "exclamationmark" ), false
-  expect "clearFlags cleared smiley-good", vym.hasActiveFlag( "smiley-good" ), false
+  map.clearFlags
+  expect "clearFlags cleared exclamationmark", map.hasActiveFlag( "exclamationmark" ), false
+  expect "clearFlags cleared smiley-good", map.hasActiveFlag( "smiley-good" ), false
   
-  vym.toggleFlag "lifebelt"
-  expect "toggleFlag: flag activated", vym.hasActiveFlag("lifebelt"),true
-  vym.toggleFlag "lifebelt"
-  expect "toggleFlag: flag deactivated", vym.hasActiveFlag("lifebelt"),false
+
+  # Toggling flags
+  a = ["stopsign", "lifebelt"]
+  a.each do |flag|
+    puts "Flag is now: #{flag}"
+    map.toggleFlagByName flag
+    expect "toggleFlag: flag #{flag} activated", map.hasActiveFlag(flag), true
+
+    map.toggleFlagByName flag
+    expect "toggleFlag: flag #{flag} deactivated", map.hasActiveFlag(flag), false
+  end
 end
 
 #######################
 def test_delete_parts (vym)
   heading "Deleting parts"
-  init_map
-  vym.select @main_a
-  n=vym.branchCount
-  vym.select @branch_a
-  m=vym.branchCount
-  vym.delete
-  vym.select @main_a
-  expect "Delete branch: branchcount",  vym.branchCount, n-1
-  vym.undo
-  vym.select @main_a
-  expect "Undo Delete branch: branchcount parent", vym.branchCount, n
-  vym.select @branch_a
-  expect "Undo Delete branch: branchcount restored branch", vym.branchCount, m
-  
-  init_map
-  vym.select @branch_a
-  n=vym.branchCount
-  vym.deleteChildren
-  vym.select @branch_a
-  expect "deleteChildren: branchcount", vym.branchCount, 0
-  vym.undo
-  vym.select @branch_a
-  expect "Undo: deleteChildren: branchcount", vym.branchCount, n
-  
-  init_map
-  vym.select @main_a
-  n=vym.branchCount
-  vym.select @branch_a
-  m=vym.branchCount
-  vym.deleteKeepChildren
-  vym.select @main_a
-  expect "deleteKeepChildren: branchcount", vym.branchCount, n+m-1
-  vym.undo
-  vym.select @main_a
-  expect "Undo: deleteKeepChildren: branchcount of parent", vym.branchCount, n
-  vym.select @branch_a
-  expect "Undo: deleteKeepChildren: branchcount of branch", vym.branchCount, m
-
-  init_map
-  n = vym.centerCount
-  vym.select @center_1
-  vym.delete
-  expect "Delete mapCenter: number of centers decreased", vym.centerCount, n-1
-  vym.undo
-  expect "Undo Delete mapCenter: number of centers increased", vym.centerCount, n
+  map = init_map( vym ) 
+  map.select @main_a
+  n = map.branchCount.to_i
+  map.select @branch_a
+  m = map.branchCount.to_i
+  map.remove
+  map.select @main_a
+  expect "Remove branch: branchcount",  map.branchCount.to_i, n - 1
+  map.undo
+  map.select @main_a
+  expect "Undo Remove branch: branchcount parent", map.branchCount.to_i, n
+  map.select @branch_a
+  expect "Undo Remove branch: branchcount restored branch", map.branchCount.to_i, m
+  
+  map = init_map( vym )
+  map.select @branch_a
+  n = map.branchCount.to_i
+  map.removeChildren
+  map.select @branch_a
+  expect "removeChildren: branchcount", map.branchCount.to_i, 0
+  map.undo
+  map.select @branch_a
+  expect "Undo: removeChildren: branchcount", map.branchCount.to_i, n
+  
+  map = init_map( vym )
+  map.select @main_a
+  n=map.branchCount.to_i
+  map.select @branch_a
+  m=map.branchCount.to_i
+  map.removeKeepChildren
+  map.select @main_a
+  expect "removeKeepChildren: branchcount", map.branchCount.to_i, n + m - 1
+  map.undo
+  map.select @main_a
+  expect "Undo: removeKeepChildren: branchcount of parent", map.branchCount.to_i, n
+  map.select @branch_a
+  expect "Undo: removeKeepChildren: branchcount of branch", map.branchCount.to_i, m
+
+  map = init_map( vym )
+  n = map.centerCount.to_i
+  map.select @center_1
+  map.remove
+  expect "remove mapCenter: number of centers decreased", map.centerCount.to_i, n - 1
+  map.undo
+  expect "Undo remove mapCenter: number of centers increased", map.centerCount.to_i, n
 end  
 
 #######################
 def test_copy_paste (vym)
   heading "Copy, cut & Paste"
-  init_map
-  vym.select @main_a
-  n=vym.branchCount
-  
-  vym.copy
-  vym.paste
-  vym.selectLastBranch
-  s=vym.getSelectString
-  expect "Normal paste of branch, check heading of #{s}", vym.getHeadingPlainText, "Main A"
-  
-  vym.undo
-  vym.select @main_a
-  expect "Undo paste: branchCount of #{@main_a}", vym.branchCount, n
-  
-  vym.redo
-  vym.select s
-  expect "redo paste: check heading", vym.getHeadingPlainText, "Main A"
-  
-  vym.cut
-  vym.select @main_a
-  expect "cut: branchCount of #{@main_a}", vym.branchCount, n
-  vym.paste
-  vym.selectLastBranch
-  s=vym.getSelectString
-  expect "Normal paste of branch, check heading of #{s}", vym.getHeadingPlainText, "Main A"
-  vym.cut 
+  map = init_map( vym )
+  map.select @main_a
+  n = map.branchCount.to_i
+  
+  map.copy
+  map.paste
+  map.selectLatestAdded     #FIXME-2 not set for ImportAdd, which is used by paste
+  s = map.getSelectionString
+  expect "Normal paste of branch, check heading of #{s}", map.getHeadingPlainText, "Main A"
+  
+  map.undo
+  map.select @main_a
+  expect "Undo paste: branchCount of #{@main_a}", map.branchCount.to_i, n
+  
+  map.redo
+  map.select s
+  expect "redo paste: check heading", map.getHeadingPlainText, "Main A"
+  
+  map.select @branch_a
+  map.cut
+  map.select @main_a
+  expect "cut: branchCount of #{@main_a}", map.branchCount.to_i, n
+
+  map.paste
+  map.selectLastChildBranch
+  s = map.getSelectionString
+  expect "Normal paste of branch, check heading of #{s}", map.getHeadingPlainText, "branch a"
+  map.cut 
 end 
 
 #######################
 def test_references (vym)
   heading "References"
-  init_map
-  vym.select @main_a
-  vym.setURL "www.insilmaril.de"
-  expect "setURL:", vym.getURL, "www.insilmaril.de"
-  vym.undo
-  expect "undo setURL", vym.getURL, ""
-  vym.redo
-  expect "redo setURL", vym.getURL, "www.insilmaril.de"
-  vym.setURL ""
-  expect "setURL: unset URL with empty string", vym.getURL, ""
+  map = init_map( vym )
+  map.select @main_a
+  url = "www.insilmaril.de"
+  map.setURL url
+  expect "setURL to '#{url}'", map.getURL, url
+
+  map.undo
+  expect "undo setURL", map.getURL, ""
+  map.redo
+  expect "redo setURL", map.getURL, url
+  map.setURL ""
+  expect "setURL: unset URL with empty string", map.getURL, ""
   
   vl="default.vym"
-  vym.setVymLink vl
-  s=vym.getVymLink
-  expect "setVymLink returns absolute path", vym.getVymLink, vym.getFileDir + vl
-  vym.undo
-  expect "undo: setVymLink", vym.getVymLink, ""
-  vym.redo
-  expect "redo: setVymLink", vym.getVymLink, s
-  vym.undo
+  map.setVymLink vl
+  s=map.getVymLink
+  expect "setVymLink returns absolute path", map.getVymLink, map.getFileDir + vl
+  map.undo
+  expect "undo: setVymLink", map.getVymLink, ""
+  map.redo
+  expect "redo: setVymLink", map.getVymLink, s
+  map.undo
 end
 
 #######################
 def test_history (vym)
   heading "History"
-  init_map
-  vym.select @main_a
-  vym.setHeadingPlainText "A"
-  vym.setHeadingPlainText "B"
-  vym.setHeadingPlainText "C"
-  vym.undo
-  vym.undo
-  vym.undo
-  expect "Undo 3 times", vym.getHeadingPlainText, "Main A"
-  vym.redo
-  expect "Redo once", vym.getHeadingPlainText, "A"
-  vym.copy
-  vym.redo
-  expect "Redo once more", vym.getHeadingPlainText, "B"
-  vym.redo
-  expect "Redo yet again", vym.getHeadingPlainText, "C"
-  vym.setHeadingPlainText "Main A"
-  vym.paste
-  vym.selectLastBranch
-  expect "Paste from the past", vym.getHeadingPlainText, "A"
-  vym.delete
+  map = init_map( vym )
+  map.select @main_a
+  map.setHeadingPlainText "A"
+  map.setHeadingPlainText "B"
+  map.setHeadingPlainText "C"
+  map.undo
+  map.undo
+  map.undo
+  expect "Undo 3 times", map.getHeadingPlainText, "Main A"
+  map.redo
+  expect "Redo once", map.getHeadingPlainText, "A"
+  map.copy
+  map.redo
+  expect "Redo once more", map.getHeadingPlainText, "B"
+  map.redo
+  expect "Redo yet again", map.getHeadingPlainText, "C"
+  map.setHeadingPlainText "Main A"
+  map.paste
+  map.selectLastChildBranch
+  expect "Paste from the past", map.getHeadingPlainText, "A"
+  map.remove
 end  
 
 #######################
 def test_xlinks (vym)
   heading "XLinks:"
-  init_map
-  vym.addXLink("mc:0,bo:0","mc:0,bo:1",2,"#ff0000","Qt::DashDotLine")
-  vym.selectLatestAdded
-  expect "Default color of XLink", vym.getXLinkColor, "#ff0000"
-  expect "Default width of XLink", vym.getXLinkWidth, 2
-  expect "Default style of XLink", vym.getXLinkPenStyle, "Qt::DashDotLine"
-  expect "Default style of XLink begin", vym.getXLinkStyleBegin, "HeadFull"
-  expect "Default style of XLink end",   vym.getXLinkStyleEnd, "HeadFull"
-
-  vym.setXLinkWidth(3)
-  expect "New width of XLink", vym.getXLinkWidth, 3
-  vym.undo
-  expect "Undo width of XLink", vym.getXLinkWidth, 2
-
-  vym.setXLinkColor("#00ff00")
-  expect "New color of XLink", vym.getXLinkColor, "#00ff00"
-  vym.undo
-  expect "Undo color of XLink", vym.getXLinkColor, "#ff0000"
-
-  vym.setXLinkLineStyle("Qt::SolidLine")
-  expect "New style of XLink", vym.getXLinkPenStyle, "Qt::SolidLine"
-  vym.undo
-  expect "Undo style of XLink", vym.getXLinkPenStyle, "Qt::DashDotLine"
-
-  vym.setXLinkStyleBegin("None")
-  expect "New style of XLink begin", vym.getXLinkStyleBegin, "None"
-  vym.undo
-  expect "Undo style of XLink begin", vym.getXLinkStyleBegin, "HeadFull"
-
-  vym.setXLinkStyleEnd("None")
-  expect "New style of XLink end", vym.getXLinkStyleEnd, "None"
-  vym.undo
-  expect "Undo style of XLink end", vym.getXLinkStyleEnd, "HeadFull"
-
-  vym.delete
+  map = init_map( vym )
+  map.addXLink("mc:0,bo:0","mc:0,bo:1",2,"#ff0000","Qt::DashDotLine")
+  map.selectLatestAdded
+  expect "Default color of XLink", map.getXLinkColor, "#ff0000"
+  expect "Default width of XLink", map.getXLinkWidth.to_i, 2
+  expect "Default style of XLink", map.getXLinkPenStyle, "Qt::DashDotLine"
+  expect "Default style of XLink begin", map.getXLinkStyleBegin, "HeadFull"
+  expect "Default style of XLink end",   map.getXLinkStyleEnd, "HeadFull"
+
+  map.setXLinkWidth(3)
+  expect "New width of XLink", map.getXLinkWidth.to_i, 3
+  map.undo
+  expect "Undo width of XLink", map.getXLinkWidth.to_i, 2
+
+  map.setXLinkColor("#00ff00")
+  expect "New color of XLink", map.getXLinkColor, "#00ff00"
+  map.undo
+  expect "Undo color of XLink", map.getXLinkColor, "#ff0000"
+
+  map.setXLinkStyle("Qt::SolidLine")
+  expect "New style of XLink", map.getXLinkPenStyle, "Qt::SolidLine"
+  map.undo
+  expect "Undo style of XLink", map.getXLinkPenStyle, "Qt::DashDotLine"
+
+  map.setXLinkStyleBegin("None")
+  expect "New style of XLink begin", map.getXLinkStyleBegin, "None"
+  map.undo
+  expect "Undo style of XLink begin", map.getXLinkStyleBegin, "HeadFull"
+
+  map.setXLinkStyleEnd("None")
+  expect "New style of XLink end", map.getXLinkStyleEnd, "None"
+  map.undo
+  expect "Undo style of XLink end", map.getXLinkStyleEnd, "HeadFull"
+
+  map.remove
 end
 
 #######################
 def test_tasks (vym)
   heading "Tasks:"
-  init_map
-  vym.select @main_a
-  expect "Branch has no task before test", vym.hasTask, false
-  vym.toggleTask
-  expect "Toggle task", vym.hasTask, true
-  expect "Setting sleep days to 10", vym.setTaskSleep(10), true
-  expect "Task sleep when setting to integer", vym.getTaskSleepDays, 10
+  map = init_map( vym )
+  map.select @main_a
+  expect "Branch has no task before test", map.hasTask, false
+  map.toggleTask
+  expect "Toggle task", map.hasTask, true
 
   date_today = DateTime.now
-  date_later = date_today + 123
-  date_s = date_later.strftime("%Y-%m-%d") 
-  vym.setTaskSleep(date_s)
-  expect "Task sleep when setting to ISO date (#{date_s})", vym.getTaskSleepDays, 123
+  delta_days = 123
+  date_later = date_today + delta_days
+  date_later_iso = date_later.strftime("%Y-%m-%dT%H:%M:%S") 
+
+  # Input: number of days
+  date_new = delta_days
+  expect "Set task sleep to number of days '#{date_new}' accepts input", map.setTaskSleep(date_new),  true
+  expect "Set task sleep to number of days '#{date_new}' has correct sleep value '#{delta_days}' days", map.getTaskSleepDays.to_i, delta_days
+
+  # Input: number of seconds
+  date_new = "10s"
+  expect "Set task sleep to number of seconds '#{date_new}' accepts input", map.setTaskSleep(date_new),  true
+
+  # Input: number of hours
+  date_new = "10h"
+  expect "Set task sleep to number of hours '#{date_new}' accepts input", map.setTaskSleep(date_new),  true
+  
+  # Input: Date
+  date_new = date_later.strftime("%Y-%m-%d") 
+  expect "Set task sleep to ISO Date '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to ISO Date '#{date_new}' has correct sleep value '#{delta_days}' days", map.getTaskSleepDays.to_i, delta_days
+
+  date_new = date_later.strftime("%d.%m.") 
+  expect "Set task sleep to German short form '#{date_new}' accepts input '#{date_new}'", map.setTaskSleep(date_new), true
+  expect "Set task sleep to German short form '#{date_new}' has correct sleep value (days)", map.getTaskSleepDays.to_i, delta_days
+
+  date_new = date_later.strftime("%d.%m.%Y") 
+  expect "Set task sleep to German long form '#{date_new}' accepts input '#{date_new}'", map.setTaskSleep(date_new), true
+  expect "Set task sleep to German long form '#{date_new}' has correct sleep value (days)", map.getTaskSleepDays.to_i, delta_days
+
+  # Input: Invalid strings
+  date_new = "invalidDate"
+  expect "Set task sleep to '#{date_new}' should fail", map.setTaskSleep(date_new), false
+
+  date_new = date_later.strftime("%d %m.%Y") 
+  expect "Set task sleep to '#{date_new}' should fail", map.setTaskSleep(date_new), false
+
+  # DateTime
+  date_new = date_later_iso
+  expect "Set task sleep to ISO DateTime '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to ISO DateTime '#{date_new}' returns correct sleep value '#{date_later_iso}'", map.getTaskSleep, date_later_iso
+  
+  # Time only
+  date_later = date_today
+
+  date_new = "12:34"
+  date_later_iso = date_today.strftime("%Y-%m-%dT12:34:00") 
+  expect "Set task sleep to time '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to time '#{date_new}' returns correct sleep value '#{date_later_iso}'", 
+    map.getTaskSleep, date_later_iso
+  
+  date_new = "2:4"
+  date_later_iso = date_today.strftime("%Y-%m-%dT02:04:00") 
+  expect "Set task sleep to time '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to time '#{date_new}' returns correct sleep value '#{date_later_iso}'", 
+    map.getTaskSleep, date_later_iso
+
+  date_new = "03:05"
+  date_later_iso = date_today.strftime("%Y-%m-%dT03:05:00") 
+  expect "Set task sleep to time '#{date_new}' accepts input", map.setTaskSleep(date_new), true
+  expect "Set task sleep to time '#{date_new}' returns correct sleep value '#{date_later_iso}'", 
+    map.getTaskSleep, date_later_iso
 end
 
 ######################
@@ -660,102 +767,104 @@ def test_notes (vym)
   heading "Notes:"
 
   # Plaintext notes basic actions 
-  init_map
-  vym.select @main_a
+  map = init_map( vym )
+  map.select @main_a
   note_plain = "vymnote plaintext"
-  vym.setNotePlainText(note_plain)
-  expect "Set note to \"#{note_plain}\". Still plaintext?", vym.hasRichTextNote, false
-  vym.select @center_0
-  vym.select @main_a
-  expect "After reselect, is note plaintext?", vym.hasRichTextNote, false
+  map.setNotePlainText(note_plain)
+  expect "Set note to \"#{note_plain}\". Still plaintext?", map.hasRichTextNote, false
+  map.select @center_0
+  map.select @main_a
+  expect "After reselect, is note plaintext?", map.hasRichTextNote, false
 
   note_plain = "<b>plaintext, not bold!</b>"
-  vym.setNotePlainText(note_plain)
-  expect "Set note to plaintext containing html tags. Still plaintext", vym.hasRichTextNote, false
-  note_new = vym.getNotePlainText
-  vym.select @center_0
-  vym.select @main_a
-  expect "After reselect, is note text unchanged?", vym.getNotePlainText, note_new
-  expect "After reselect, is note plaintext?", vym.hasRichTextNote, false
+  map.setNotePlainText(note_plain)
+  expect "Set note to plaintext containing html tags. Still plaintext", map.hasRichTextNote, false
+  note_new = map.getNotePlainText
+  map.select @center_0
+  map.select @main_a
+  expect "After reselect, is note text unchanged?", map.getNotePlainText, note_new
+  expect "After reselect, is note plaintext?", map.hasRichTextNote, false
 
   # Plaintext notes copy & paste
-  vym.copy
-  vym.paste
-  vym.selectLastBranch
-  s=vym.getSelectString
-  expect "After copy& paste: New note unchanged?", vym.getNotePlainText, note_plain
-  expect "After copy& paste: New note Still plaintext?", vym.hasRichTextNote, false
-  vym.delete
+  map.copy
+  map.paste
+  map.selectLastChildBranch
+  s=map.getSelectionString
+  expect "After copy& paste: New note unchanged?", map.getNotePlainText, note_plain
+  expect "After copy& paste: New note Still plaintext?", map.hasRichTextNote, false
+  map.remove
 
   # Plaintext notes undo & redo
-  vym.select @main_a
-  vym.setNotePlainText('Foobar')
-  vym.undo
-  expect "Undo after setNotePlainText restores previous note", vym.getNotePlainText, note_plain
-  vym.redo
-  vym.select @main_a
-  expect "Redo restores previous note", vym.getNotePlainText, 'Foobar'
+  map.select @main_a
+  map.setNotePlainText('Foobar')
+  map.undo
+  expect "Undo after setNotePlainText restores previous note", map.getNotePlainText, note_plain
+  map.redo
+  map.select @main_a
+  expect "Redo restores previous note", map.getNotePlainText, 'Foobar'
 
   # Plaintext notes load & save
   note_org = IO.read('test/note-plain.txt')
-  vym.loadNote("test/note-plain.txt") 
-  expect "Load plain text note from file. Still plaintext?", vym.hasRichTextNote, false
-  expect "Note contains 'not bold'", vym.getNotePlainText.include?("not bold"), true
+  map.loadNote("test/note-plain.txt") 
+  expect "Load plain text note from file. Still plaintext?", map.hasRichTextNote, false
+  expect "Note contains 'not bold'", map.getNotePlainText.include?("not bold"), true
   filepath = "#{@testdir}/save-note.txt"
-  vym.saveNote(filepath)
+  map.saveNote(filepath)
   expect "Save note to file. Check if it contains 'textMode=\"plainText\"'", IO.read(filepath).include?("textMode=\"plainText\""), true
   expect "Save note to file. Check if it contains 'not bold'", IO.read(filepath).include?("not bold"), true
-  expect "Save note to file. Check if it contains '<b>' element", IO.read(filepath).include?("<b>"), true
-  expect "Save note to file. Check if it contains '<![CDATA['", IO.read(filepath).include?("<![CDATA["), true
+  expect "Save note to file. Check new format: no longer contains '<b>' element", IO.read(filepath).include?("<b>"), false
+  expect "Save note to file. Check new format: no longer contains '<![CDATA['", IO.read(filepath).include?("<![CDATA["), false
+  expect "Save note to file. Check new format: contains 'text=\"Plaintext'", IO.read(filepath).include?("text=\"Plaintext"), true
   
   # Delete note
-  vym.setNotePlainText("")
-  expect "setNotePlainText(\"\") deletes note", vym.hasNote, false
+  map.setNotePlainText("")
+  expect "setNotePlainText(\"\") deletes note", map.hasNote, false
   
   # RichText basic actions
-  init_map
-  vym.select @main_a
-  rt_note = '<vymnote  textMode="richText"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:\'Arial\'; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:\'DejaVu Sans Mono\'; color:#000000;">Rich Text note with <b>not bold text</b></span></p></body></html>]]></vymnote>'
-  vym.parseVymText(rt_note)
-  expect "parseVymText of richText note produces note", vym.hasNote, true
-  expect "parseVymText of richText note produces richText note", vym.hasRichTextNote, true
-  vym.select @center_0
-  vym.select @main_a
-  expect "After reselect, is note RichText?", vym.hasRichTextNote, true
+  map = init_map( vym )
+  map.select @main_a
+  rt_note = '<vymnote  textMode="richText"><![CDATA[<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:"Arial"; font-size:12pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:"DejaVu Sans Mono"; color:#000000;">Rich Text note with <b>not bold text</b></span></p></body></html>]]></vymnote>'
+  map.parseVymText(rt_note)
+  expect "parseVymText of richText note produces note", map.hasNote, true
+  expect "parseVymText of richText note produces richText note", map.hasRichTextNote, true
+  map.select @center_0
+  map.select @main_a
+  expect "After reselect, is note RichText?", map.hasRichTextNote, true
 
 
   # RichText notes copy & paste
-  rt_note = vym.getNoteXML  
-  vym.copy
-  vym.paste
-  vym.selectLastBranch
-  s=vym.getSelectString
-  expect "After copy& paste: New note Still RichText?", vym.hasRichTextNote, true
-  expect "After copy& paste: New note unchanged?", vym.getNoteXML, rt_note
-  vym.delete
+  rt_note = map.getNoteXML  
+  map.copy
+  map.paste
+  map.selectLastChildBranch
+  s = map.getSelectionString
+  expect "After copy & paste: New note Still RichText?", map.hasRichTextNote, true
+  expect "After copy & paste: New note unchanged?", map.getNoteXML, rt_note
+  map.remove
 
   # RichText notes undo & redo
-  vym.select @main_a
-  vym.setNotePlainText('Foobar')
-  vym.undo
-  expect "Undo after setNotePlainText restores RichText note", vym.getNoteXML, rt_note
-  vym.redo
-  vym.select @main_a
-  expect "Redo restores previous plaintext note", vym.getNotePlainText, 'Foobar'
+  map.select @main_a
+  map.setNotePlainText('Foobar')
+  map.undo
+  expect "Undo after setNotePlainText restores RichText note", map.getNoteXML, rt_note
+  map.redo
+  map.select @main_a
+  expect "Redo restores previous plaintext note", map.getNotePlainText, 'Foobar'
 
   # RichText notes load & save
-  vym.loadNote("test/note.html") 
-  expect "Load HTML note from file and try to detect textMode. Is RichText?", vym.hasRichTextNote, true
+  map.loadNote("test/note.html") 
+  expect "Load HTML note from file and try to detect textMode. Is RichText?", map.hasRichTextNote, true
   filepath = "#{@testdir}/save-note.txt"
-  vym.saveNote(filepath)
+  map.saveNote(filepath)
   expect "Save note to file. Check if it contains 'textMode=\"richText\"'", IO.read(filepath).include?("textMode=\"richText\""), true
   expect "Save note to file. Check if it contains 'bold'", IO.read(filepath).include?("bold"), true
-  expect "Save note to file. Check if it contains '<b>' element", IO.read(filepath).include?("<b>"), true
-  expect "Save note to file. Check if it contains '<![CDATA['", IO.read(filepath).include?("<![CDATA["), true
+  expect "Save note to file. Check new format: no longer contains '<b>' element", IO.read(filepath).include?("<b>"), false
+  expect "Save note to file. Check new format: no longer contains '<![CDATA['", IO.read(filepath).include?("<![CDATA["), false
+  expect "Save note to file. Check new format: contains 'text=\"&lt;'", IO.read(filepath).include?("text=\"&lt;"), true
   
   # Delete note
-  vym.setNotePlainText("")
-  expect "setNotePlainText(\"\") deletes note", vym.hasNote, false
+  map.setNotePlainText("")
+  expect "setNotePlainText(\"\") deletes note", map.hasNote, false
 
   # Compatibility with version < 2.5.0  # FIXME missing
 end
@@ -768,32 +877,12 @@ end
 ######################
 def test_bugfixes (vym)
   heading "Bugfixes:"
-  init_map
-  vym.select @main_b
-  expect "Mapcenter of #{@center_1} has no frame", vym.getFrameType, "NoFrame"
+  map = init_map( vym )
+  map.select @main_b
+  expect "Mapcenter of #{@center_1} has no frame", map.getFrameType, "NoFrame"
 end
 
 #######################
-test_basics(vym)
-test_export(vym)
-test_extrainfo(vym)
-test_adding_branches(vym)
-test_adding_maps(vym)
-test_scrolling(vym)
-test_moving_parts(vym)
-test_modify_branches(vym)
-test_flags(vym)
-test_delete_parts(vym)
-test_copy_paste(vym)
-test_references(vym)
-test_history(vym)
-test_xlinks(vym)
-test_tasks(vym)
-test_notes(vym)
-test_headings(vym)
-test_bugfixes(vym)
-summary
-
 =begin
 # Untested commands:
 #
@@ -850,3 +939,68 @@ toggleFrameIncludeChildren
 toggleTarget
 toggleTask
 =end
+
+
+begin
+  options = {}
+  OptionParser.new do |opts|
+    opts.banner = "Usage: vym-test.rb [options]"
+
+    opts.on('-d', '--directory  NAME', 'Directory name') { |s| options[:testdir] = s }
+  end.parse!
+
+  @testdir = options[:testdir]
+  @testmap = ARGV[0]
+
+  $tests_passed    = 0
+  $tests_failed    = 0
+  $tests_warnings  = 0
+  $tests_total     = 0
+
+  #######################
+  @center_0="mc:0"
+  @center_1="mc:1"
+  @main_a="mc:0,bo:0"
+    @branch_a=@main_a+",bo:0"
+    @branch_b=@main_a+",bo:1"
+    @branch_c=@main_a+",bo:2"
+  @main_b="mc:0,bo:1"
+
+  @n_centers=2
+
+  instance_name = 'test'
+
+  vym_mgr = VymManager.new
+  #vym_mgr.show_running
+
+  vym = vym_mgr.find(instance_name)
+
+  if !vym
+    puts "Couldn't find instance name \"#{instance_name}\", please start one:"
+    puts "vym -l -n \"#{instance-name}\" -t test/default.vym"
+    exit
+  end
+
+  test_vym(vym)
+  test_basics(vym)
+  test_export(vym)
+  test_extrainfo(vym)
+  test_adding_branches(vym)
+  test_adding_maps(vym)
+  test_scrolling(vym)
+  test_moving_parts(vym)
+  test_modify_branches(vym)
+  test_flags(vym)
+  test_delete_parts(vym)
+  test_copy_paste(vym)
+  test_references(vym)
+  test_history(vym)
+  test_xlinks(vym)
+  test_tasks(vym)
+  test_notes(vym)
+  test_headings(vym)
+  test_bugfixes(vym)
+  summary
+
+end
+
index eb384180020b00fe260d888b3021cb68342f5878..ca917ea3d7d8d627a1f0839b9ee4b3c58e4bd940 100644 (file)
@@ -1,7 +1,9 @@
 \item addBranch\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Index of new branch\\
            Type: & Int\\
        Optional: &  yes\\
 
 \item addBranchBefore\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item addMapCenter\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 2\\
+   Parameter: &  1:\\
         Comment: & Position x\\
            Type: & Double\\
        Optional: &  No\\
-   Parameter: &  1:\\
+   Parameter: &  2:\\
         Comment: & Position y\\
            Type: & Double\\
        Optional: &  No\\
 
 \item addMapInsert\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 3\\
+   Parameter: &  1:\\
         Comment: & Filename of map to load\\
            Type: & String\\
        Optional: &  No\\
-   Parameter: &  1:\\
+   Parameter: &  2:\\
         Comment: & Index where map is inserted\\
            Type: & Int\\
        Optional: &  yes\\
-   Parameter: &  2:\\
+   Parameter: &  3:\\
         Comment: & Content filter\\
            Type: & Int\\
        Optional: &  yes\\
 
 \item addMapReplace\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Filename of map to load\\
            Type: & String\\
        Optional: &  No\\
 
 \item addSlide\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item addXLink\\
 \begin{tabular}{rl}
-  Selection: & BranchLike\\
-   Parameter: &  0:\\
+  SelectionType: & BranchLike\\
+    Return Type: & Void\\
+     Parameters: & 5\\
+   Parameter: &  1:\\
         Comment: & Begin of XLink\\
            Type: & String\\
        Optional: &  No\\
-   Parameter: &  1:\\
+   Parameter: &  2:\\
         Comment: & End of XLink\\
            Type: & String\\
        Optional: &  No\\
-   Parameter: &  2:\\
+   Parameter: &  3:\\
         Comment: & Width of XLink\\
            Type: & Int\\
        Optional: &  yes\\
-   Parameter: &  3:\\
+   Parameter: &  4:\\
         Comment: & Color of XLink\\
            Type: & Color\\
        Optional: &  yes\\
-   Parameter: &  4:\\
+   Parameter: &  5:\\
         Comment: & Penstyle of XLink\\
            Type: & String\\
        Optional: &  yes\\
 
 \item branchCount\\
 \begin{tabular}{rl}
-  Selection: & BranchLike\\
+  SelectionType: & Any\\
+    Return Type: & Int\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item centerCount\\
+\begin{tabular}{rl}
+  SelectionType: & BranchLike\\
+    Return Type: & Int\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item centerOnID\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & UUID of object to center on\\
            Type: & String\\
        Optional: &  No\\
 
 \item clearFlags\\
 \begin{tabular}{rl}
-  Selection: & BranchLike\\
+  SelectionType: & BranchLike\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item colorBranch\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & New color\\
            Type: & Color\\
        Optional: &  yes\\
 
 \item colorSubtree\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & New color\\
            Type: & Color\\
        Optional: &  yes\\
 
 \item copy\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item cut\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item cycleTask\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & True, if cycling in reverse order\\
            Type: & Bool\\
        Optional: &  yes\\
 \end{tabular}
 
-\item delete\\
-\begin{tabular}{rl}
-  Selection: & TreeItem\\
-\end{tabular}
-
-\item deleteChildren\\
-\begin{tabular}{rl}
-  Selection: & Branch\\
-\end{tabular}
-
-\item deleteKeepChildren\\
+\item depth\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Int\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item deleteSlide\\
+\item exportMap\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Index of slide to delete\\
-           Type: & Int\\
+  SelectionType: & Any\\
+    Return Type: & Bool\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Format (AO, ASCII, CONFLUENCE, CSV, HTML, Image, Impress, Last, LaTeX, Markdown, OrgMode, PDF, SVG, XML)\\
+           Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
-\item exportAO\\
+\item getDestPath\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
+  SelectionType: & Any\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item exportASCII\\
+\item getFileDir\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
+  SelectionType: & Any\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item exportHTML\\
+\item getFileName\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
+  SelectionType: & Any\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item exportImage\\
+\item getFrameType\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
-   Parameter: &  1:\\
-        Comment: & Image format\\
-           Type: & String\\
-       Optional: &  yes\\
+  SelectionType: & Branch\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item exportLaTeX\\
+\item getHeadingPlainText\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
+  SelectionType: & TreeItem\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item exportImpress\\
+\item getHeadingXML\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
-   Parameter: &  1:\\
-        Comment: & Configuration file for export\\
-           Type: & String\\
-       Optional: &  No\\
+  SelectionType: & TreeItem\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item exportPDF\\
+\item getMapAuthor\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
+  SelectionType: & Any\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item exportPDF\\
+\item getMapComment\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
+  SelectionType: & Any\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item exportSVG\\
+\item getMapTitle\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
+  SelectionType: & Any\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item exportXML\\
+\item getNotePlainText\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Filename for export\\
-           Type: & String\\
-       Optional: &  No\\
+  SelectionType: & TreeItem\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item getDestPath\\
+\item getNoteXML\\
 \begin{tabular}{rl}
-  Selection: & Any\\
+  SelectionType: & TreeItem\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item getFileDir\\
+\item getSelectionString\\
 \begin{tabular}{rl}
-  Selection: & Any\\
+  SelectionType: & TreeItem\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item getFrameType\\
+\item getTaskPriorityDelta\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Int\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item getHeading\\
+\item getTaskSleep\\
 \begin{tabular}{rl}
-  Selection: & TreeItem\\
+  SelectionType: & Branch\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item getSelectString\\
+\item getTaskSleepDays\\
 \begin{tabular}{rl}
-  Selection: & TreeItem\\
+  SelectionType: & Branch\\
+    Return Type: & Int\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item getURL\\
 \begin{tabular}{rl}
-  Selection: & TreeItem\\
+  SelectionType: & TreeItem\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item getVymLink\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item getXLinkColor\\
 \begin{tabular}{rl}
-  Selection: & XLinkItem\\
+  SelectionType: & XLink\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item getXLinkWidth\\
 \begin{tabular}{rl}
-  Selection: & XLinkItem\\
+  SelectionType: & XLink\\
+    Return Type: & Int\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item getXLinkPenStyle\\
 \begin{tabular}{rl}
-  Selection: & XLinkItem\\
+  SelectionType: & XLink\\
+    Return Type: & String\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item getXLinkStyleBegin\\
+\begin{tabular}{rl}
+  SelectionType: & XLink\\
+    Return Type: & String\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item getXLinkStyleEnd\\
+\begin{tabular}{rl}
+  SelectionType: & XLink\\
+    Return Type: & String\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item hasActiveFlag\\
 \begin{tabular}{rl}
-  Selection: & TreeItem\\
-   Parameter: &  0:\\
+  SelectionType: & TreeItem\\
+    Return Type: & Bool\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Name of flag\\
            Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
+\item hasNote\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item hasRichTextNote\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item hasTask\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
+\end{tabular}
+
 \item importDir\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Directory name to import\\
            Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
+\item initIterator\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 2\\
+   Parameter: &  1:\\
+        Comment: & Name of iterator\\
+           Type: & String\\
+       Optional: &  No\\
+   Parameter: &  2:\\
+        Comment: & Flag to go deep levels first\\
+           Type: & Bool\\
+       Optional: &  yes\\
+\end{tabular}
+
 \item isScrolled\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item loadImage\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Filename of image\\
            Type: & String\\
        Optional: &  No\\
 
 \item loadNote\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Filename of note\\
            Type: & String\\
        Optional: &  No\\
 
 \item moveDown\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item moveUp\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item moveSlideDown\\
 \begin{tabular}{rl}
-  Selection: & Any\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item moveSlideUp\\
 \begin{tabular}{rl}
-  Selection: & Any\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item move\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 2\\
+   Parameter: &  1:\\
         Comment: & Position x\\
            Type: & Double\\
        Optional: &  No\\
-   Parameter: &  1:\\
+   Parameter: &  2:\\
         Comment: & Position y\\
            Type: & Double\\
        Optional: &  No\\
 
 \item moveRel\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 2\\
+   Parameter: &  1:\\
         Comment: & Position x\\
            Type: & Double\\
        Optional: &  No\\
-   Parameter: &  1:\\
+   Parameter: &  2:\\
         Comment: & Position y\\
            Type: & Double\\
        Optional: &  No\\
 \end{tabular}
 
+\item nextIterator\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Name of iterator\\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
 \item nop\\
 \begin{tabular}{rl}
-  Selection: & Any\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item note2URLs\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item parseVymText\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & parse XML of VymText, e.g for Heading or VymNote\\
+           Type: & String\\
+       Optional: &  No\\
 \end{tabular}
 
 \item paste\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item redo\\
 \begin{tabular}{rl}
-  Selection: & Any\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item relinkTo\\
 \begin{tabular}{rl}
-  Selection: & TreeItem\\
-   Parameter: &  0:\\
+  SelectionType: & TreeItem\\
+    Return Type: & Bool\\
+     Parameters: & 4\\
+   Parameter: &  1:\\
         Comment: & Selection string of parent\\
            Type: & String\\
        Optional: &  No\\
-   Parameter: &  1:\\
+   Parameter: &  2:\\
         Comment: & Index position\\
            Type: & Int\\
        Optional: &  No\\
-   Parameter: &  2:\\
+   Parameter: &  3:\\
         Comment: & Position x\\
            Type: & Double\\
        Optional: &  yes\\
-   Parameter: &  3:\\
+   Parameter: &  4:\\
         Comment: & Position y\\
            Type: & Double\\
        Optional: &  yes\\
 \end{tabular}
 
+\item remove\\
+\begin{tabular}{rl}
+  SelectionType: & TreeItem\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item removeChildren\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item removeKeepChildren\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item removeSlide\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Index of slide to remove\\
+           Type: & Int\\
+       Optional: &  No\\
+\end{tabular}
+
+\item repeatLastCommand\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
 \item saveImage\\
 \begin{tabular}{rl}
-  Selection: & Image\\
-   Parameter: &  0:\\
+  SelectionType: & Image\\
+    Return Type: & Void\\
+     Parameters: & 2\\
+   Parameter: &  1:\\
         Comment: & Filename of image to save\\
            Type: & String\\
        Optional: &  No\\
-   Parameter: &  1:\\
+   Parameter: &  2:\\
         Comment: & Format of image to save\\
            Type: & String\\
        Optional: &  No\\
 
 \item saveNote\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Filename of note to save\\
            Type: & String\\
        Optional: &  No\\
 
 \item scroll\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item select\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Bool\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Selection string\\
            Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
+\item selectFirstBranch\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item selectFirstChildBranch\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
+\end{tabular}
+
 \item selectID\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Bool\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Unique ID\\
            Type: & String\\
        Optional: &  No\\
 
 \item selectLastBranch\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item selectLastChildBranch\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item selectLastImage\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item selectLatestAdded\\
 \begin{tabular}{rl}
-  Selection: & Any\\
+  SelectionType: & Any\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item selectParent\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item selectToggle\\
+\begin{tabular}{rl}
+  SelectionType: & BranchOrImage\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item setFlag\\
+\item setFlagByName\\
 \begin{tabular}{rl}
-  Selection: & TreeItem\\
-   Parameter: &  0:\\
+  SelectionType: & TreeItem\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Name of flag\\
            Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
+\item setTaskPriorityDelta\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Manually add value to priority of task\\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
 \item setTaskSleep\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Days to sleep\\
-           Type: & Int\\
+           Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
 \item setFrameIncludeChildren\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Include or don't include children in frame\\
            Type: & Bool\\
        Optional: &  No\\
 
 \item setFrameType\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Type of frame\\
            Type: & String\\
        Optional: &  No\\
 
 \item setFramePenColor\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Color of frame border line\\
            Type: & Color\\
        Optional: &  No\\
 
 \item setFrameBrushColor\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Color of frame background\\
            Type: & Color\\
        Optional: &  No\\
 
 \item setFramePadding\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Padding around frame\\
            Type: & Int\\
        Optional: &  No\\
 
 \item setFrameBorderWidth\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Width of frame borderline\\
            Type: & Int\\
        Optional: &  No\\
 \end{tabular}
 
-\item setHeading\\
+\item setHeadingConfluencePageName\\
 \begin{tabular}{rl}
-  Selection: & TreeItem\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item setHeadingPlainText\\
+\begin{tabular}{rl}
+  SelectionType: & TreeItem\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & New heading\\
            Type: & String\\
        Optional: &  No\\
 
 \item setHideExport\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Set if item should be visible in export\\
            Type: & Bool\\
        Optional: &  No\\
 
 \item setIncludeImagesHorizontally\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Set if images should be included horizontally in parent branch\\
            Type: & Bool\\
        Optional: &  No\\
 
 \item setIncludeImagesVertically\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Set if images should be included vertically in parent branch\\
            Type: & Bool\\
        Optional: &  No\\
 
 \item setHideLinksUnselected\\
 \begin{tabular}{rl}
-  Selection: & BranchOrImage\\
-   Parameter: &  0:\\
+  SelectionType: & BranchOrImage\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Set if links of items should be visible for unselected items\\
            Type: & Bool\\
        Optional: &  No\\
 
 \item setMapAnimCurve\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & EasingCurve used in animation in MapEditor\\
            Type: & Int\\
        Optional: &  No\\
 
 \item setMapAuthor\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & \\
            Type: & String\\
        Optional: &  No\\
 
 \item setMapAnimDuration\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Duration of animation in MapEditor in milliseconds\\
            Type: & Int\\
        Optional: &  No\\
 \end{tabular}
 
+\item setMapBackgroundColor\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Color of map background\\
+           Type: & Color\\
+       Optional: &  No\\
+\end{tabular}
+
 \item setMapComment\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & \\
            Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
-\item setMapBackgroundColor\\
+\item setMapTitle\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
-        Comment: & Color of map background\\
-           Type: & Color\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & \\
+           Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
 \item setMapDefLinkColor\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Default color of links\\
            Type: & Color\\
        Optional: &  No\\
 
 \item setMapLinkStyle\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Link style in map\\
            Type: & String\\
        Optional: &  No\\
 
 \item setMapRotation\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Rotation of map\\
            Type: & Double\\
        Optional: &  No\\
 \end{tabular}
 
+\item setMapTitle\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & \\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
 \item setMapZoom\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Zoomfactor of map\\
            Type: & Double\\
        Optional: &  No\\
 \end{tabular}
 
-\item setNote\\
+\item setNotePlainText\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Note of branch\\
            Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
-\item setScale\\
+\item setScaleFactor\\
 \begin{tabular}{rl}
-  Selection: & Image\\
-   Parameter: &  0:\\
-        Comment: & Scale image x\\
-           Type: & Double\\
-       Optional: &  No\\
+  SelectionType: & Image\\
+    Return Type: & Void\\
+     Parameters: & 1\\
    Parameter: &  1:\\
-        Comment: & Scale image y\\
+        Comment: & Scale image by factor f\\
            Type: & Double\\
        Optional: &  No\\
 \end{tabular}
 
 \item setSelectionColor\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Color of selection box\\
            Type: & Color\\
        Optional: &  No\\
 \end{tabular}
 
+\item setTaskPriority\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Priority of task\\
+           Type: & Int\\
+       Optional: &  No\\
+\end{tabular}
+
+\item setTaskSleep\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Sleep time of task\\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
 \item setURL\\
 \begin{tabular}{rl}
-  Selection: & TreeItem\\
-   Parameter: &  0:\\
+  SelectionType: & TreeItem\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & URL of TreeItem\\
            Type: & String\\
        Optional: &  No\\
 
 \item setVymLink\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Vymlink of branch\\
            Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
+\item setXLinkColor\\
+\begin{tabular}{rl}
+  SelectionType: & XLink\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Color of xlink\\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
+\item setXLinkStyle\\
+\begin{tabular}{rl}
+  SelectionType: & XLink\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Style of xlink\\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
+\item setXLinkStyleBegin\\
+\begin{tabular}{rl}
+  SelectionType: & XLink\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Style of xlink begin\\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
+\item setXLinkStyleEnd\\
+\begin{tabular}{rl}
+  SelectionType: & XLink\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Style of xlink end\\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
+\item setXLinkWidth\\
+\begin{tabular}{rl}
+  SelectionType: & XLink\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Width of xlink\\
+           Type: & Int\\
+       Optional: &  No\\
+\end{tabular}
+
 \item sleep\\
 \begin{tabular}{rl}
-  Selection: & Any\\
-   Parameter: &  0:\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Sleep (seconds)\\
            Type: & Int\\
        Optional: &  No\\
 
 \item sortChildren\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Sort children of branch in revers order if set\\
            Type: & Bool\\
        Optional: &  yes\\
 \end{tabular}
 
-\item toggleFlag\\
+\item toggleFlagByUid\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Uid of flag to toggle\\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
+\item toggleFlagByName\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Name of flag to toggle\\
            Type: & String\\
        Optional: &  No\\
 
 \item toggleFrameIncludeChildren\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item toggleScroll\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item toggleTarget\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item toggleTask\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item undo\\
 \begin{tabular}{rl}
-  Selection: & Any\\
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item unscroll\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Bool\\
+     Parameters: & 0\\
 \end{tabular}
 
 \item unscrollChildren\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item unselectAll\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
 \end{tabular}
 
-\item unsetFlag\\
+\item unsetFlagByName\\
 \begin{tabular}{rl}
-  Selection: & Branch\\
-   Parameter: &  0:\\
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
         Comment: & Name of flag to unset\\
            Type: & String\\
        Optional: &  No\\
 \end{tabular}
 
+\item clearConsole\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item currentMap\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item currentMapIndex\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item editHeading\\
+\begin{tabular}{rl}
+  SelectionType: & Branch\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item loadMap\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Path to map\\
+           Type: & String\\
+       Optional: &  No\\
+\end{tabular}
+
+\item mapCount\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item selectMap\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Index of map\\
+           Type: & Int\\
+       Optional: &  No\\
+\end{tabular}
+
+\item selectQuickColor\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 1\\
+   Parameter: &  1:\\
+        Comment: & Index of quick color [0..6]\\
+           Type: & Int\\
+       Optional: &  No\\
+\end{tabular}
+
+\item currentColor\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item toggleTreeEditor\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
+\item version\\
+\begin{tabular}{rl}
+  SelectionType: & Any\\
+    Return Type: & Void\\
+     Parameters: & 0\\
+\end{tabular}
+
diff --git a/tex/help.tex b/tex/help.tex
new file mode 100644 (file)
index 0000000..aa2bfe6
--- /dev/null
@@ -0,0 +1,23 @@
+Usage: vym [OPTION]... [FILE]...
+Open FILEs with vym
+
+-b           batch         batch mode: hide windows
+-c           commands      List all available commands
+-cl          commandslatex List commands in LaTeX format
+-d           debug         Show debugging output
+-h           help          Show this help text
+-L           load          Load script
+-l           local         Run with ressources in current directory
+--locale     locale        Override system locale setting to select
+                           language
+-n  STRING   name          Set name of instance for DBus access
+-q           quit          Quit immediatly after start for benchmarking
+-R  FILE     run           Run script
+-r           restore       Restore last session
+--recover    recover       Delete lockfiles during initial loading of
+                           files
+-s           shortcuts     Show Keyboard shortcuts on start
+-t           testmode      Test mode, e.g. no autosave and changing of
+                           its setting
+-v           version       Show vym version
+
index 3c3d16455562941573840b8ad9628af84d596db9..d1dbf3320ffab61698b7e5140edc644229531a47 100644 (file)
Binary files a/tex/images/default-flags.png and b/tex/images/default-flags.png differ
diff --git a/tex/images/flags/add-userflag.png b/tex/images/flags/add-userflag.png
new file mode 100644 (file)
index 0000000..ba9d5d5
Binary files /dev/null and b/tex/images/flags/add-userflag.png differ
diff --git a/tex/images/flags/arrow-up.png b/tex/images/flags/arrow-up.png
new file mode 100644 (file)
index 0000000..bf92f19
Binary files /dev/null and b/tex/images/flags/arrow-up.png differ
diff --git a/tex/images/flags/arrow2-up.png b/tex/images/flags/arrow2-up.png
new file mode 100644 (file)
index 0000000..8e3a294
Binary files /dev/null and b/tex/images/flags/arrow2-up.png differ
diff --git a/tex/images/flags/arrows.png b/tex/images/flags/arrows.png
new file mode 100644 (file)
index 0000000..6e75052
Binary files /dev/null and b/tex/images/flags/arrows.png differ
diff --git a/tex/images/flags/stopsign.png b/tex/images/flags/stopsign.png
new file mode 100644 (file)
index 0000000..c5aea46
Binary files /dev/null and b/tex/images/flags/stopsign.png differ
diff --git a/tex/images/flags/system/note.png b/tex/images/flags/system/note.png
new file mode 100644 (file)
index 0000000..8d73272
Binary files /dev/null and b/tex/images/flags/system/note.png differ
diff --git a/tex/images/flags/system/target.png b/tex/images/flags/system/target.png
new file mode 100644 (file)
index 0000000..93a4982
Binary files /dev/null and b/tex/images/flags/system/target.png differ
diff --git a/tex/images/flags/system/task-finished.png b/tex/images/flags/system/task-finished.png
new file mode 100644 (file)
index 0000000..d890baa
Binary files /dev/null and b/tex/images/flags/system/task-finished.png differ
diff --git a/tex/images/flags/system/task-new-sleeping.png b/tex/images/flags/system/task-new-sleeping.png
new file mode 100644 (file)
index 0000000..4e9492a
Binary files /dev/null and b/tex/images/flags/system/task-new-sleeping.png differ
diff --git a/tex/images/flags/system/task-new.png b/tex/images/flags/system/task-new.png
new file mode 100644 (file)
index 0000000..a75fa97
Binary files /dev/null and b/tex/images/flags/system/task-new.png differ
diff --git a/tex/images/flags/system/task-not-started.png b/tex/images/flags/system/task-not-started.png
new file mode 100644 (file)
index 0000000..461043b
Binary files /dev/null and b/tex/images/flags/system/task-not-started.png differ
diff --git a/tex/images/flags/system/task-wip-sleeping.png b/tex/images/flags/system/task-wip-sleeping.png
new file mode 100644 (file)
index 0000000..b216721
Binary files /dev/null and b/tex/images/flags/system/task-wip-sleeping.png differ
diff --git a/tex/images/flags/system/task-wip.png b/tex/images/flags/system/task-wip.png
new file mode 100644 (file)
index 0000000..40eb7de
Binary files /dev/null and b/tex/images/flags/system/task-wip.png differ
diff --git a/tex/images/flags/systemflags.png b/tex/images/flags/systemflags.png
new file mode 100644 (file)
index 0000000..ea5c8a1
Binary files /dev/null and b/tex/images/flags/systemflags.png differ
index 56441e131b5de6777d509a570e6a33c66b41ca67..545724016988a4bed837fbd4a2d3392af5e1e10d 100644 (file)
Binary files a/tex/images/modmodes.png and b/tex/images/modmodes.png differ
index 62a66e005fc39b1fd926ebc2244e71354d22ef1e..54ed6bb6bb9e50729b5e4493c88632311fe7f4eb 100644 (file)
Binary files a/tex/images/scripteditor.png and b/tex/images/scripteditor.png differ
index 1a6e658a20ace5f7d2f4dacc4fce8c8304792873..565d2291cfaffec798bf95fb59f8f3975f72755a 100644 (file)
Binary files a/tex/images/taskeditor.png and b/tex/images/taskeditor.png differ
index bdf4eb3af176a0f44ae37d2802d6720c503e1bf0..035640da8a0704336e24f984377320b40b0b29a6 100644 (file)
@@ -4,6 +4,27 @@
 \usepackage{hyperref}
 \usepackage{graphicx}
 
+%https://de.overleaf.com/learn/latex/Code_listing
+\usepackage{listings}
+\lstdefinestyle{mystyle}{
+    backgroundcolor=\color{backcolour},
+    commentstyle=\color{codegreen},
+    keywordstyle=\color{magenta},
+    numberstyle=\tiny\color{codegray},
+    stringstyle=\color{codepurple},
+    basicstyle=\ttfamily\tiny,
+    breakatwhitespace=false,
+    breaklines=true,
+    captionpos=b,
+    keepspaces=true,
+    numbers=left,
+    numbersep=5pt,
+    showspaces=false,
+    showstringspaces=false,
+    showtabs=false,
+    tabsize=2
+}
+
 \setlength{\headheight}{0cm}
 \setlength{\headsep}{0cm}
 \setlength{\topskip}{0cm}
@@ -13,7 +34,7 @@
 \setlength{\parindent}{0cm}
 \setlength{\oddsidemargin}{0cm}
 \setlength{\textwidth}{16cm}
-\setlength{\textheight}{27cm}
+\setlength{\textheight}{25cm}
 
 \newlength{\maximgwidth}
 \setlength{\maximgwidth}{14cm}
@@ -40,6 +61,9 @@
 
 \newenvironment{code}[1] { \verbatim #1}{\endverbatim  }
 
+\pagestyle{plain}
+\pagenumbering{arabic}
+
 \hypersetup{bookmarks, bookmarksopen,
   pdftitle={VYM - a tool for visual thinking },
   pdfauthor={Uwe Drechsel},    
   colorlinks={true},     
   linkcolor={blue},
   urlcolor={green},
-  citecolor={red}} 
+  citecolor={red}}
+
 
 
 \begin{document}
 \title{
     \includegraphics[width=8cm]{images/vym-logo-new.png} \\ 
     VYM  -- View Your Mind \\ 
-    {\small Version 2.6.3} \\ 
-    {\b Usermanual }
+    {\small Version 2.9.0} \\ 
+    { Usermanual }
 \author{\textcopyright Uwe Drechsel  }
 }
 
@@ -81,7 +106,7 @@ For this manual I would like to send some special thanks to
     \item {\em Peter Adamson} for lots of feedback and proofreading of my
           far from perfect english
     \item The team of {\em AClibre (Academia y Conocimiento Libre)}
-          in Colombia for their translation of
+          in Colombia for their initial translation of
           the manual to spanish:
           \begin{center}
             \begin{tabular}{|p{7cm}|p{5.5cm}|} \hline
@@ -205,6 +230,11 @@ map} the tasks that will be required to deliver a project.
 %TODO
 
 \subsection{Internet Ressources} 
+There are a few tutorial vides on youtube:
+\begin{itemize}
+    \item Youtube: 
+        \href{https://www.youtube.com/c/ViewYourMind}{https://www.youtube.com/c/ViewYourMind}
+\end{itemize}
 A good starting point to learn more about Mindmaps in general is Wikipedia:
 \begin{itemize}
     \item English: 
@@ -216,12 +246,14 @@ A good starting point to learn more about Mindmaps in general is Wikipedia:
 
 
 
+
+\newpage
 \section{The Concept of the \vym application}
 %FIXME-3 maybe add a general introduction here...
 \subsection{The Mainwindow and its satellites} \label{satellite}
 \vym comes with several windows, the central one is called {\em
 mainwindow}. It contains one or more
-tabs, each of these tabs has a {\em mapeditor} and optionionally a {\em
+tabs, each of these tabs has a {\em mapeditor} and optionally a {\em
 tree editor}, representing a different view of the same data:
 \maximage{images/mainwindow.png}
 The (currently visible) main areas of the mainwindow are the {\em tree
@@ -257,30 +289,22 @@ explained in \ref{noteeditor}
 Here is a list of the available satellite windows, the {\em dockable}
 feature is explained in next section \ref{dockable}:
 \begin{itemize}
-    \item 
-    Branch Property Window (see section \ref{propwindow})
-    \item 
-    \includegraphics[width=0.5cm]{../icons/find.png}
-    Find window to search for text (dockable)
-    \item 
-    \includegraphics[width=0.5cm]{../icons/headingeditor.png}
-    Heading editor (dockable, features are the same as in the
-    noteeditor, see section \ref {noteeditor})
-    \item 
-    \includegraphics[width=0.5cm]{../icons/history.png}
-    Historywindow (see section \ref{historywindow})
-    \item 
-    \includegraphics[width=0.5cm]{../flags/flag-note.png}
-    Noteeditor (dockable, see section \ref {noteeditor})
-    \item 
-    \includegraphics[width=0.5cm]{../icons/scripteditor.png}
-    Scripteditor (dockable, see section \ref {scripteditor})
-    \item 
-    \includegraphics[width=0.5cm]{../icons/slideeditor.png}
-    Slideeditor (dockable, see section \ref {slideeditor})
-    \item 
-    \includegraphics[width=0.5cm]{../icons/taskeditor.png}
-    Taskeditor (dockable, see section \ref {taskeditor})
+    \item Branch Property Window (see section \ref{propwindow})
+    \item \includegraphics[width=0.5cm]{../icons/find.png}
+        Find window to search for text (dockable)
+    \item \includegraphics[width=0.5cm]{../icons/headingeditor.png}
+        Heading editor (dockable, features are the same as in the
+        noteeditor, see section \ref {noteeditor})
+    \item \includegraphics[width=0.5cm]{../icons/history.png}
+        Historywindow (see section \ref{historywindow})
+    \item \includegraphics[width=0.5cm]{images/flags/system/note.png}
+        Noteeditor (dockable, see section \ref {noteeditor})
+    \item \includegraphics[width=0.5cm]{../icons/scripteditor.png}
+        Scripteditor (dockable, see section \ref {scripteditor})
+    \item \includegraphics[width=0.5cm]{../icons/slideeditor.png}
+        Slideeditor (dockable, see section \ref {slideeditor})
+    \item \includegraphics[width=0.5cm]{../icons/taskeditor.png}
+        Taskeditor (dockable, see section \ref {taskeditor})
 \end{itemize}
 
 \subsection{Dockable windows} \label{dockable}
@@ -432,9 +456,9 @@ noteeditor and the mapeditor:
 The text you enter here will be searched in all the
 branch headings and also in the associated notes. Just click on one of
 the results shown to select the found heading or an occurance in a note.
-In above example we searched for \lq opensuse\rq, which had a number of
-occurences in this map, e.g. in the note of \lq HowTo check into in
-editors on Factory\rq\ branch.
+In above example we searched for "opensuse", which had a number of
+occurences in this map, e.g. in the note of "HowTo check into in
+editors on Factory"\ branch.
 
 Press \key{CTRL+F} again to hide the widget once it's no longer needed.
 Or you could also undock it (see \ref{dockable}).
@@ -566,11 +590,18 @@ always reflect the flags set in the selected branch. So, to remove a
 flag from a branch, select the branch and then click the highlighted
 flag on the toolbar.
 
-At present \vym uses two kinds of flags: {\em System Flags} and {\em
-Standard Flags}. The standard flags are those shown in the toolbar.
-System flags are set by \vym to indicate e.g. that there is additional
-information in a note (more on this in \ref{noteeditor}). Later versions
-of \vym may have another kind of flags, which may be edited by the user.
+\vym uses three kinds of flags: 
+\begin{itemize}
+    \item {\em System Flags}
+        are set by \vym to indicate e.g. that there is additional
+        information in a note (more on this in \ref{noteeditor}) or 
+        that there is a task associated (see the \ref{taskeditor})
+    \item {\em Standard Flags}
+    \item {\em User Flags} 
+\end{itemize}
+Standard flags can be toggled by clicking in the toolbar
+    \maximage{images/default-flags.png}
+User flags are similar, but can be added to their own toolbar when clicking the edit icon
 
 \subsubsection*{Images}
 The easiest way to add an image to a branch is by dragging it e.g. from a
@@ -601,7 +632,7 @@ Note that it is not possible to add objects to an image, which would
 make working with the map much more complex if e.g. images could be
 linked to images.
 
-The option \lq{\bf Use for export} \rq controls the output of exports
+The option "{\bf Use for export}" controls the output of exports
 e.g. to HTML: If set to no, the image won't appear in the {\em text}
 part of the output. This is useful for large images or if images are
 used as a kind of frame e.g. the famous cloud symbol around a part of
@@ -629,7 +660,7 @@ various parts of the map can be changed by
 
 \subsubsection*{Background }
 The colour is set (and also displayed) as "Set background colour".
-Alternatevily you can set an background image, though this is not
+Alternativily you can set a background image, though this is not
 recommended in general. Working on the map becomes slow and the image
 currently cannot be positioned freely.
 
@@ -667,14 +698,6 @@ lines for the rest of the map are always painted "thin".
     \begin{center}
        \includegraphics[width=0.5cm]{images/flag-url.png}
     \end{center}
-    A special type of URLs are those pointing to Novell Bugzilla, they have
-    the Bugzilla bug instead of the globe:
-    \begin{center}
-       \includegraphics[width=0.5cm]{images/flag-url-bugzilla-novell.png}
-    \end{center}
-    \vym even can get data from Novell Bugzilla, for details see
-    \ref{bugzilla}.
-
 
     \item \vym maps, viewed in \vym itself. References are called
     a {\em vymlinks} and marked with the \vym flag:
@@ -687,7 +710,7 @@ lines for the rest of the map are always painted "thin".
 Use one of the following:
 \begin{itemize}
 \item{Drag and drop URL from a webbrowser}
-\item{Use the "URLs and vymlinks toolbal:}
+\item{Use the "URLs and vymlinks toolbar:}
     \begin{center}
        \includegraphics[width=0.5cm]{images/flag-urlnew.png}
     \end{center}
@@ -714,10 +737,10 @@ will be launched.
 For more information on working with bookmarks and webbrowsers see
 section \ref{bookmarks}.
 
-If support for Bugzilla is enabled (see \ref{bugzilla}), all Bugzilla
-references in a subtree can be updated automatically e.g. by pressing
-\key{CTRL-B}.
-
+If your \vym installation supports accessing external tools like JIRA or
+Confluence, \vym might update the branch after retrieving information
+from the tool, e.g. replacing the complete URL of a Confluence by its
+concrete page name. 
 \subsubsection{How to create a vymlink}
 Creation is possible both from the "URLs and vymlinks" toolbar or from
 the context menu of a branch:
@@ -768,7 +791,7 @@ selecting "Add mapcenter".
 Once you are done adding new items, you can start to sort them and
 arrange them by moving and relinking them to create a new map.
 
-\hint{If you have enabled \lq Automatic Layout\rq\ in the Settings menu,
+\hint{If you have enabled "Automatic Layout"\ in the Settings menu,
 the new parts will move around to avoid overlapping}
 
 %TODO
@@ -793,17 +816,10 @@ depending on whether text is associated with a selected branch.
 
 \subsection{States}
 Before you can type or paste text into it, you have
-to select a branch in the mapeditor. Note that the background colour\footnote{
-The backround colours can be changed in settings, e.g. if you use a dark
-theme and don't want to see a bright background in the editor}
-of the noteeditor indicates its state:
-\begin{itemize}
-    \item grey: no text entered yet
-    \item white: some text has been entered
-\end{itemize}   
-In the mapeditor itself, to signal that there is a note with more
-information for a particular branch, a little "note" flag will appear
-next to the heading of the branch. This is illustrated in the lower
+to select a branch in the mapeditor.
+In the mapeditor a little "notepad" flag will appear
+next to the heading of the branch, once you have entered some text in
+the noteeditor. This is illustrated in the lower
 branch on the right hand side: 
 \maximage{images/branches-flags.png}
 
@@ -858,106 +874,138 @@ Often you will paste text into the editor from another application e.g.
 an email.
 
 \section{Task editor} \label{taskeditor}
-Tasks are used to easily create and maintain a \lq Todo-list\rq
+Tasks are used to easily create and maintain a "Todo-list"
 The taskeditor is visible on the left side in the image below. 
 \begin{center}
     \includegraphics[width=13cm]{images/taskeditor.png}
 \end{center}
 
+The default columns in the taskeditor list are:
+\begin{itemize}
+    \item Delta: This value can be manually added to the priority to change the automated priorization
+    \item Status: Shows the state and if the task is currently sleeping
+%    \item Age total: Days, since the task has been created
+%    \item Age modified: Days, since the task has been changed
+%    \item Sleep: Days, which will pass until task will wake up 
+%    \item Position of tasks branch in its subtree (higher priority if further up)
+    \item Flags: Lists flags, which affect the priority (see above)
+    \item The name of task (identical to heading of branch in the map)    
+\end{itemize}
+Priorities can be adjusted manually in the taskeditor, either by entering a
+delta value or by dragging the task to a new position (more on priorities below).
+
+
 \subsection{Creating tasks}
 To create a task press \key{Shift + W}. The branch will get an
 additional flag and its name will be visible in the taskeditor.
 
-A task can have three different states:
+A task can have different states:
 \begin{itemize}
-    \item Not started \includegraphics[width=0.5cm]{../flags/flag-task-new.png}
-    \item Work in progress
-    \includegraphics[width=0.5cm]{../flags/flag-task-wip.png}
-    \item Finished
-    \includegraphics[width=0.5cm]{../flags/flag-task-finished.png}
+    \item New task or just awakened task \includegraphics[width=0.5cm]{images/flags/system/task-new.png}
+    \item Not started \includegraphics[width=0.5cm]{images/flags/system/task-not-started.png}
+    \item Work in progress \includegraphics[width=0.5cm]{images/flags/system/task-wip.png}
+    \item Finished \includegraphics[width=0.5cm]{images/flags/system/task-finished.png}
 \end{itemize}
 You can cycle these states by pressing \key{W}. 
 
-\subsection{Sleeping tasks for later reminders}
-A task may be set to \lq sleep\rq, which can be used to get a reminder
+\subsection{Reminders - let a task sleep for a while}
+A task may be set to "sleep", which can be used to get a reminder
 after a certain amount of time. The flag will change to one of these:
 \begin{itemize}
     \item Not started - sleeping
-    \includegraphics[width=0.5cm]{../flags/flag-task-new-sleeping.png}
+    \includegraphics[width=0.5cm]{images/flags/system/task-new-sleeping.png}
     \item Work in progress - sleeping
-    \includegraphics[width=0.5cm]{../flags/flag-task-wip-sleeping.png}
-\end{itemize}
-You can set the amount of days a task should sleep by right clicking on the task flag in the
-mapeditor or the task in the taskeditor. \lq Reset sleep\rq will wake up
-a currently sleeping task. These tasks will get a  new flag and status
-in the taskeditor:
-\begin{itemize}
-    \item Not started -
-    morning\includegraphics[width=0.5cm]{../flags/flag-task-new-morning.png}
-    \item Work in progress - morning
-    \includegraphics[width=0.5cm]{../flags/flag-task-wip-morning.png}
+    \includegraphics[width=0.5cm]{images/flags/system/task-wip-sleeping.png}
 \end{itemize}
-Additionally these poor tasks, which have just been woken up, will get a
-way higher priority, so that they pop up on top of your list in the
-taskeditor, see next section.
+You can set the sleep time of a task should right clicking on the task flag in the
+mapeditor or the task in the taskeditor. "Reset sleep" will wake up
+a currently sleeping task. 
+
+Alternatively you can press \key{Shift-Q} and manually enter the sleep time, here are some examples:
+
+\begin{center}
+    \begin{tabular}{|c|p{11cm}|} \hline
+        {\bf Input }   & {\bf Sleep} \\ \hline
+        1       & 1 day, postpone until tomorrow morning\\
+        365     & 365 days \\
+        1w      & 1 week \\
+        3h      & 3 hours \\
+        10s     & 10 seconds \\
+        18:00   & Postpone until 6pm \\
+        24.12.2024  & Postpone until Dec 24 in 2024 \\
+        2024-12-24  & Postpone until Dec 24 in 2024 \\ 
+        2038-12-24T21:34 &  Postpone until December 24 in 2038, 9:34 pm (ISO format)  \\ \hline
+    \end{tabular}
+\end{center}
+
+%These tasks will get a  new flag and status
+%in the taskeditor:
+%\begin{itemize}
+%    \item Not started - morning  %\includegraphics[width=0.5cm]{../flags/flag-task-new-morning.png}
+%    \item Work in progress - morning % \includegraphics[width=0.5cm]{../flags/flag-task-wip-morning.png}
+%    \item New tasks - only show new freshly "woken up" tasks
+%    \item Various filters for priorty flags
+%    \includegraphics[width=0.5cm]{../flags/flag-arrow-up.png}
+%    \includegraphics[width=0.5cm]{../flags/flag-2arrow-up.png}
+%    \includegraphics[width=0.5cm]{../flags/flag-no-arrow-up.png}
+%    \ldots
+%\end{itemize}
 
 \subsection{Priority of tasks}
 The tasks visible in the taskeditor are ordered by their {\em
-priorities}, listed on the left side of the editor. The lower(!) the
-priority, the more important is a task.
+priorities}, listed on the left side of the editor. The lower the
+priority number, the more important is a task: The most important task always has priority~1.
 
 There are several principles that influence the priority of a task:
 \begin{itemize}
     \item
-    Old tasks tend to bubble up: If you have a task named \lq water the
-    flowers\rq\ and you have postponed it since 187 days, better delete
-    the task. And create a new task to dump the remains of the flowers.
+        Old tasks tend to bubble up, meaning theyget a higher priority over
+        time. Rationale: If you have a task named "water the flowers"\ and
+        you have postponed it now for 187 days, better delete the task. (And
+        create a new task to dump the remains of the flowers.)
 
     \item
-    Colors in the map: If you use the Function keys to assigne the
-    colors red, amber, green, etc. the tasks will get a different
-    priority accordingly
+        Colors in the map: If you use the Function keys to assign the
+        colors red, amber, green, etc. the tasks will get a different
+        priority accordingly
 
     \item
-    The stopsign flag
-    \includegraphics[width=0.5cm]{../flags/flag-stopsign.png} 
-    will increase the priority. Use it for your shipstoppers\ldots
+        The stopsign flag
+        \includegraphics[width=0.5cm]{images/flags/stopsign.png} 
+        will increase the priority. Use it for your shipstoppers\ldots
 
     \item
-    Sleeping tasks and finished tasks will tend to fall to the bottom of
-    your task list.
+        The arrow up flags also move tasks up in the list 
+        %FIXME add flag
 
     \item
-    The freshly woken up \lq morning tasks\rq\ will tend to pop up right
-    at the top, so that they cannot be missed. Remove the \lq
-    morning\rq\
-    state by pressing \key{W} once.
-\end{itemize}
+        Sleeping tasks and finished tasks will tend to fall to the bottom of
+        your task list.
 
-The priorities are calculated based on the next visible columns:
-\begin{itemize}
-    \item Status: Shows the state and if the task is currently sleeping
-    \item Age total: Days, since the task has been created
-    \item Age modified: Days, since the task has been changed
-    \item Sleep: Days, which will pass until task will wake up 
-    \item Position of tasks branch in its subtree (higher priority if
-        further up)
-\end{itemize}
-Note that the priorities cannot be set manually, but e.g. you can reset
-the \lq Age modified\rq\ by pressing \key{W} three times to cycle
-through the states. Also the priorites are maintained for all currently
-opened maps, so if the top priority in your current map is a sleeping
-2034, then there is another open map, which certainly has a priority~1
-task.
-
-\subsection{Keeping the overview}
-The taskeditor has filters:
-\begin{itemize}
-    \item Current map: Show only tasks from  current active map
-    \item Active tasks: Show only the tasks, which are neither finished
-    nor sleeping
+    \item
+        The freshly woken up "morning tasks"\ will tend to pop up right
+        at the top, so that they cannot be missed. Remove the "morning"\ state by pressing \key{W} once.
 \end{itemize}
 
+\subsection{Filter tasks - keeping the overview}
+The taskeditor has filters:  %FIXME add flag icons
+\begin{center}
+    \begin{tabular}{|c|p{11cm}|} \hline
+        {\bf Icon} &   {\bf Filter }   \\ \hline
+        \includegraphics[width=0.4cm]{../icons/taskfilter-currentmap.png} &
+             Current map only, hide tasks from other maps \\
+        \includegraphics[width=0.4cm]{../icons/taskfilter-activetask.png} &
+            Active tasks only, hide finished nor sleeping \\
+        \includegraphics[width=0.5cm]{../icons/taskfilter-newtask.png} &
+             New tasks only \\
+        \includegraphics[width=0.4cm]{images/flags/arrow-up.png}
+        \includegraphics[width=0.4cm]{images/flags/arrow2-up.png} &
+            Tasks with "arrow up" flags only        \\
+        \includegraphics[width=0.4cm]{../flags/system/no-arrow-up.png} &
+            Only tasks without "arrow up" flags \\ \hline
+    \end{tabular}
+\end{center}
+
 
 \section{Slideeditor - presentations}\label{slideeditor}
 \vym can be used to do animated presentations using the slideeditor as
@@ -1000,6 +1048,8 @@ menu. The (currently) available action are:
     \includegraphics[width=0.5cm]{../icons/down.png}
     Move current slide down in slidedeck
 \end{itemize}
+In the {\em View-menu} or it's toolbar you can also toggle the
+presentation mode to hide most of the toolbars and buttons
 
 
 \section{Hello world - vym and other applications}
@@ -1014,7 +1064,23 @@ Volunteers are always welcome ;-)
 
 \subsection{Import} \label{import}
 
-\subsubsection*{Mind Manager}
+\subsubsection{Mozilla Firefox bookmarks}
+Currently \vym supports an experimental import of Firefox bookmarks:
+Firefox can backup bookmkarks in a file in JSON format. This file can be
+imported into an existing \vym map.
+
+Future \vym versions might be able to export this bookmark map again to JSON, so
+that it could be restored in Firefox.
+
+\subsubsection{Freemind and Freeplane}
+Freemind is no longer actively developed, the project is continued in
+the Freeplane project, see also
+\href{https://www.freeplane.org/}{https://www.freeplane.org/}.
+
+\vym supports reading the general structure of a Freeplane map and some
+of its flags. Also notes are read.
+
+\subsubsection{Mind Manager}
 \vym has currently a very basic import filter to convert maps created by
 {\em Mind Manager}\footnote{Mind Manager is a commercial i.e. non free,
 software application by Mindjet for Windows and the Mac. Both names are
@@ -1026,7 +1092,7 @@ and pictures are not converted at the moment. You can import files with
 \end{itemize}
 
 
-\subsubsection*{Directory structure}
+\subsubsection{Directory structure}
 \vym can read a directory structure. This is mainly for
 testing \vym e.g. to easily create huge maps used for benchmarks (yes,
 there is still room to optimize \vym ;-)
@@ -1045,13 +1111,13 @@ You can toggle this flag in the toolbar or by pressing \key{H}.  Note
 that there is a global option in the settings menu ( \ref{settings}) to
 toggle the use of this flag. By default the flag is enabled.
 
-\subsubsection*{Last used format}
+\subsubsection{Last used format}
 Repeats the last export action without further dialogs like asking for
 directories. The associated export type and filepaths are stored within
 the map and thus map specific. Note: Not all export types support this
 feature yet.
 
-\subsubsection*{Image}
+\subsubsection{Image}
 \vym supports all image formats which are natively supported by the
 QT~toolkit:
 BMP, JPEG, PBM, PGM, PNG, PPN, XPM, and XBM.
@@ -1059,13 +1125,13 @@ For use in websites and for sending images by email PNG is a good
 recommodation regarding quality and size of the image. \vym uses QTs
 default options for compressing the images.
 
-\subsubsection*{PDF}
+\subsubsection{PDF}
 Exports to Portable Document Format.
 
-\subsubsection*{SVG}
+\subsubsection{SVG}
 Exports to Scalable Vector Graphics.
 
-\subsubsection*{Open Office}
+\subsubsection{Open Office}
 Open Office beginning with version~2 uses the so called "Open Document
 Format", which can be written by \vym. The options are currently
 limited, but it possible to export presentations which can be opened in
@@ -1092,7 +1158,7 @@ at the moment:
 Some of the templates make use of {\em sections} i.e sections insert the
 headings of mainbranches as chapters for sections into the presentation.
 
-\subsubsection*{HTML (Webpages)}
+\subsubsection{HTML (Webpages)}
 This is the format to use if you wish to create a webpage. To see an example
 visit the \vym homepage: 
 \href{http://www.InSilmaril.de/vym}{www.InSilmaril.de/vym}
@@ -1109,25 +1175,25 @@ A dialog allows the user to set various options:
     If set to yes, \vym will save above settings in the map.
 \end{itemize}
 
-\subsubsection*{A \& O -- Achievements and Objectives}
+\subsubsection{A \& O -- Achievements and Objectives}
 A specialized form of ASCII export (see next section), which is used for
 workreports. Currently it is considered experimental.
 %FIXME-3 Details
 
-\subsubsection*{ASCII}
+\subsubsection{ASCII}
 Exporting a map as text is somewhat experimental at the moment. Later
 this will probably be done using stylesheets. So the output may change
 in future versions of \vym.
 
-\subsubsection*{CSV}
+\subsubsection{CSV}
 Exports map into a Comma Separated Value file, which can be used to
 import into all kinds spreadsheet software.
 
-\subsubsection*{Taskjuggler}
+\subsubsection{Taskjuggler}
 Used to export to Taskjuggler project management software. Currently
 considered experimental.
 
-\subsubsection*{\LaTeX}
+\subsubsection{\LaTeX}
 \vym can generate an input file for \LaTeX. Currently this is considered
 as experimental, there are no options (yet). 
 By selecting
@@ -1153,8 +1219,18 @@ Just add e.g. these entries>
     /export/latex/sectionName-4=paragraph
 \end{verbatim}
 
+\subsubsection{Markdown}
+Used to export to Markdown, see also
+\href{https://daringfireball.net/projects/markdown/}{https://daringfireball.net/projects/markdown/}
+Currently considered experimental.
+
+\subsubsection{OrgMode}
+Used to export to Emacs OrgMode, see also
+\href{https://orgmode.org/}{https://orgmode.org/}
+Currently considered experimental.
+
 
-\subsubsection*{XML} \label{xmlexport}
+\subsubsection{XML} \label{xmlexport}
 The map is written into a directory both as an image and as an XML file.
 The directory is set in a file dialog. If the directory is not empty,
 you will be warned and offered choices if you are at risk of overwriting
@@ -1166,12 +1242,53 @@ becomes {\tt todo.xml}, {\tt todo.png}, {\tt todo-image-1.png} and so
 on. This is useful if, for example, a website comprises several combined
 maps that have to be stored in the same directory.
 
-\subsubsection*{Export a part of a map}
+\subsubsection{Export a part of a map}
 Select a branch you want to export together with its children, then open
 the context menu and choose {\em Save Selection}. This will create a
-file with the suffix {\tt .vyp}, which is an abbreviation for \lq vym
-part\rq.
+file with the suffix {\tt .vyp}, which is an abbreviation for "vym
+part".
+
+\subsection{Connect vym to the cloud}  \label{cloud}
+Starting with \vym 2.8.16 some exchange with cloud applications is
+possible. So far this is limited to cloud applications from the company
+Atlassian\footnote{Atlassian, Confluence and JIRA are registered
+trademarks}. You find the related features and settings in the "Connect"
+settings in the menubar on top of the main window.
+\subsubsection{Confluence}
+\vym so far can
+\begin{itemize}
+    \item Get Confluence user name and insert it into map. (This will
+        create a link to the user profile during export to Confluence)
+    \item Export a map to a Confluence page
+    \item Get the name of a Confluence page and the space name and use
+        it as heading when pasting an URL. (Happens automatically, if
+        Confluence is configured)
+\end{itemize}
 
+\subsubsection{JIRA}
+\begin{itemize}
+    \item Get description of a JIRA ticket and use it as heading
+    \item Get additional information, e.g. color branch if ticket is
+        already closed
+\end{itemize}
+
+\subsection{Connect vym using DBUS}
+If you don't know what DBUS is, you probably want to skip this section,
+this is about remote controling \vym using the DBUS protocol on Linux.
+
+Currently this is used to
+\begin{itemize}
+    \item Run the development tests, see also 
+
+        \href{https://github.com/insilmaril/vym/blob/develop/test/vym-test.rb}
+        {https://github.com/insilmaril/vym/blob/develop/test/vym-test.rb}
+    \item Add content from other applications, e.g. paste an email from
+        the mutt client, see also 
+
+        \href{https://github.com/insilmaril/vym/blob/develop/scripts/vym-addmail.rb}
+        {https://github.com/insilmaril/vym/blob/develop/scripts/vym-addmail.rb}
+\end{itemize}
+For more details see also \ref{dbus}.
 
 \section{Advanced usage}
 
@@ -1298,27 +1415,23 @@ heading and border of the branch frame adapt to the floating image, see
 below: \maximage{images/includeImages.png}
 
 \subsection{Modifier Modes} 
-Modifiers are for example the \key{Shift}- the \key{Ctrl}- ot the
-\key{Alt}-keys. When pressed while applying mouse actions, they will
-cause \vym to use a "modified" version of the action which usually would
-be done. 
-
-%\key{Ctrl} or \key{Alt}is pressed while releasing the branch, it will be
-%added above/below the target, not as child of the target.
-
-Without a modifier key pressed, the first mouse click on a branch just selects
-it. For the behaviour of the \key{Shift} modifier there are several
-options, which can be set from the modifier toolbar:
+The modifier mode can be selected in the toolbar
 \begin{center}
     \includegraphics[width=3cm]{images/modmodes.png}
 \end{center}
-The default mode is to copy the colour from the clicked branch to the
-already selected branch. The figure above shows the toolbar with the
-default modifier selected. If press both \key{Shift}~$+$~\key{Ctrl} only
-the selected branch will change color, instead of the whole subtree.
-
-The second modifier lets you create links between branches called {\em
-xLinks}.  They will be explained in the next section \ref{xlinks}.
+or also using the adjacent keys \key{L}, \key{K} and \key{L}.
+The selected mode influences mouse behaviour when the \key{Shift}-modifier is
+used:
+\begin{itemize}
+    \item Multiple selection: Press Shift and click to select multiple objects
+    \item Colorpicker: Pick from another branch and apply to currently
+        selected branch
+    \item XLink: Draw a connecting XLink between two branches. See also
+        \ref{xlinks}
+    \item Move object: Move an object, but when releasing it over another one, do not relink.
+        (Useful for positioning branches in other branches for presentations.)
+    \item Move view: Only move view without selecting an object
+\end{itemize}
 
 \subsection{Hide links of unselected objects} \label{hidelink}
 Sometimes it would be useful to position a branch freely, just like a
@@ -1346,7 +1459,7 @@ general information:
 \maximage{images/xlink-control.png}
 Note that a xLink which points to a branch, that is not visible (because
 it is scrolled), is just shown as a little horizontal arrow. In the
-image above have a look at the \lq Screenshot\rq\ branch.
+image above have a look at the "Screenshot"\ branch.
 
 \subsubsection*{Create a xLink}
 Choose the link mode from the modifier toolbar (by clicking the toolbar
@@ -1372,7 +1485,7 @@ the control points:
 \subsubsection*{Follow a xLink}
 In a complex \vym map it sometimes comes in handy to be able to jump to
 the other end of a xLink. You can do this by opening the context menu of
-the branch and clicking on \lq Goto xLink\rq and selecting the xLink you
+the branch and clicking on "Goto xLink" and selecting the xLink you
 want to follow. Even easier is to click on the lower right end of a
 branch -- a popup menu will show up with all xLinked branches. Click one
 of them to jump to it.
@@ -1392,24 +1505,6 @@ choose {\em Add \ra Add Map (Insert)}. For the import you can choose
 between {\em Add Map (Insert)} and {\em Add Map (Replace)}: The imported
 data will be added after the selected branch.
 
-\subsection{Connecting \vym with Bugzilla}  \label{bugzilla}
-\vym can get data from SUSE Bugzilla, if you install an
-additional package. Make sure you have the ruby programming language and
-rubygems installed and get bicho\footnote{
-    \href{http://rubygems.org/gems/bicho}{http://rubygems.org/gems/bicho} }:
-\begin{verbatim}
-  gem install bicho
-\end{verbatim}
-
-Once you have the {\tt bicho} installed, you can just
-enter a bug\ ID into a heading and press \key{B}: \vym will create the
-URL from the ID and try to get the heading directly from Bugzilla.
-
-Also drag and drop of a URL from your webbrowser into \vym will trigger
-retrieving the data.  You can can also update a subtree of Bugzilla URLs
-by pressing \key{Ctrl+B}.
-
-
 \section{\vym on Mac OS X}
 %FIXME-3 Currently not yet supported on Mac OS X in 1.13.x
 
@@ -1461,7 +1556,14 @@ opens the right browser.
     your system.
 
 \subsubsection*{Set application to open external links}
-    Choose your favourite webbrowser here.
+    Choose your favourite application, this usually depends on your
+    platform, e.g.
+    \begin{enumerate}
+        \item Windows: {\tt explorer}
+        \item Linux: {\tt xdg-open} or {\tt mimeopen}
+        \item Mac: {\tt /usr/bin/open}
+    \end{enumerate}
+    Defaults should be set by \vym automatically.
 
 \subsubsection*{Set path for macros}
     Set the default search path for macros, which will be executed when
@@ -1552,56 +1654,53 @@ etc.) in the following places:
 \end{enumerate}
 
 \subsection{Command line options} \label{options} 
-\begin{verbatim}
-Usage: vym [OPTION]... [FILE]... 
-Open FILEs with vym
-
--b           batch       batch mode: hide windows
--c           commands     List all available commands
--d           debug       Show debugging output
--h           help        Show this help text
--l           local       Run with ressources in current directory
---locale     locale      Override system locale setting to select language
--n  STRING   name        Set name of instance for DBus access
--q           quit        Quit immediatly after start for benchmarking
--r  FILE     run         Run script
--R           restore     Restore last session
--s           shortcuts   Show Keyboard shortcuts on start
--sl          LaTeX       Show Keyboard shortcuts in LaTeX format on start
--t           testmode    Test mode, e.g. no autosave and changing of its setting
--v           version     Show vym version
-\end{verbatim}
+\lstinputlisting{help.tex}
 You can also give several filenames at the commandline to let \vym open
 several maps at once.
  
 
 \section{Scripts} \label{scripts}   
 \subsection{Overview}
-Scripts within \vym are so far just a set of instructions, telling \vym
-what to do. Scripts are internally used for
+Beginning with version 2.7.0 \vym is fully scriptable, though the
+scripting support is still considered a {\em technical preview}. Some
+parts still might change and improve in later versions.
+Scripts are internally used for
 \begin{itemize}
     \item Undo and Redo
     \item Macros on function keys
     \item Slideshow
 \end{itemize}
-So far the scripts have no loop constructs, conditionals, variables,
-etc. The good news: You can use external ruby scripts to get all that,
-see the examples in \ref{examplescripts}.
+In addition to the internal scriptengine, which is using QScript, 
+you can also  use external ruby scripts, which communicate with \vym via
+DBUS. Please note that the latter is currently only possible on Linux.
+See also the examples in \ref{examplescripts}.
 
 The scripts within \vym are edited using the {\em script editor}:
 \begin{center} \label{scripteditor}
     \includegraphics[width=13cm]{images/scripteditor.png}
 \end{center}
 Open the scripteditor by pressing \key{Alt + S} or from the {\em
-View}-menu.
+View}-menu. The output of of scripts cans be seen in the script output
+window with \key{Alt + Shift + S}
 
 \subsection{Example scripts}  \label{examplescripts}
+A set of example scripts is installed together with \vym, see the
+installation directory and the subfolder {\tt demos/scripts/} and the
+macros in the macro tab of the script editor.
 \subsubsection{Macro to create a rounded rectangle frame}
 \begin{code}
-\# Macro F12
-setFrameType ("RoundedRectangle");
-setFramePadding (10);
-setFrameIncludeChildren (true);
+// Macro Shift + F1: Frame background light red
+function macro_shift_f1()
+{
+    map = vym.currentMap();
+    status = "Background off";
+    if (map.getFrameType() == "NoFrame") {
+        status = "Background light red";
+    }
+    toggle_frame ( map );
+    map.setFrameBrushColor("#ffb3b4");
+    statusMessage(status);
+}
 \end{code}
 
 \subsubsection{Batch script to export all maps as images}
@@ -1612,11 +1711,11 @@ with
 \$ vym --quit --run export-image.vys *.vym
 \end{code}
 
-\subsubsection{Full scripting using ruby and DBUS}
+\subsubsection{Full scripting using ruby and DBUS} \label{dbus}
 Nearly every action in \vym can be controlled via DBUS (on Linux
 machines). You can have several \vym instances running at the same time,
 e.g. for production and development. Before controlling one, you need to
-give it a name, here \lq test\rq\ is used:
+give it a name, here "test"\ is used:
 \begin{verbatim}
 vym -n test
 \end{verbatim}
@@ -1644,7 +1743,7 @@ test/vym-test.rb
 \end{verbatim}
 
 \subsection{Available commands}
-Start vym with the \lq command\rq\ option to get a listing of available
+Start vym with the "command"\ option to get a listing of available
 commands:
 \begin{verbatim}
   vym --commands --quit
@@ -1692,13 +1791,12 @@ everything else fails you can contact the author Uwe Drechsel at
 
 
 \subsection{How to report bugs}
-Though Sourceforge has its own bugreporting system, I'd rather prefer if
-you contact me directly (see \ref{author}) or even better: You can file
-a bugreport in Bugzilla, the bugtracking system of openSUSE:
+Please file bugs and issues in github: 
 \begin{center}
-\href{http://en.opensuse.org/Submit_a_bug}{http://en.opensuse.org/Submit\_a\_bug}
+    \href{ https://github.com/insilmaril/vym/issues}{https://github.com/insilmaril/vym/issues}
 \end{center}
-I build \vym regulary for openSUSE, so you may report it against a
+
+I build \vym regulary for openSUSE and Windows, so you may report it against a
 recent version there, even if you  use another Operating System.
 Please don't forget to tell me what you are using:
 \begin{itemize}
@@ -1710,24 +1808,15 @@ Please don't forget to tell me what you are using:
 
 \subsection{Compiling from the sources}
 \subsubsection{Getting the sources} \label{getsources}
-You find the latest version of \vym at the project site:
+You find the latest code of \vym in the {\tt develop} branch on Github:
 \begin{center}
-\href{https://sourceforge.net/projects/vym/}{https://sourceforge.net/projects/vym/}
-\end{center}
-There you can check them out of the source repository:\\
-
-\begin{verbatim}
-git clone git://vym.git.sourceforge.net/gitroot/vym/vym
-\end{verbatim}
-or access the git repository directly:
-\begin{center}
-\href{http://vym.git.sourceforge.net/git/gitweb-index.cgi}{http://vym.git.sourceforge.net/git/gitweb-index.cgi}
+    \href{ https://github.com/insilmaril/vym}{https://github.com/insilmaril/vym}
 \end{center}
 
 \subsubsection{The Qt toolkit}
 Qt is C++ toolkit for multiplatform GUI and application development. It
 provides single-source portability across MS~Windows, Mac~OS~X, Linux
-and all major commercial Unix variants. Qt is also available for
+and many more. Qt is also available for
 embedded devices. Qt is a product of the Qt Company. For more information see
 \begin{center} 
     \href{https://www.qt.io}{https://www.qt.io} 
@@ -1753,9 +1842,15 @@ also use the "-l" (local) option on startup (see \ref{options}).
 
 \subsection{\vym file format} \label{fileformat}
 \vym maps usually have the suffix "{\tt .vym}" and represent a
-compressed archive of data. If you want to have a closer look into the
+compressed archive of data. Actually the widely used "zip" format
+is used\footnote{zip is meanwhile available on all major platforms,
+including Windows~10: either in the file explorer or on the command line
+e.g.~ as part of the "tar" command}.
+
+If you want to have a closer look into the
 data structure map called "mapname.vym", just edit the XML data 
-by using the {\tt vivym} script or by uncompressing manually by calling
+by using the {\tt vivym} script or by uncompressing manually. In a shell
+on Linux or Mac OS you can do this by calling
 \begin{code}
 \$ unzip mapname.vym
 \end{code}
@@ -1775,9 +1870,12 @@ to compress all data in your current directory.
 There are lots of features which might find their way into \vym.
 Together with \vym you should have received a directory with several
 example maps. You find them by clicking Help \ra Open~vym~example~maps.
+%FIXME outdated example
 There you will find the map {\tt vym-projectplan.vym}. It lists quite a
-lot of things to be done in future. If you have more ideas, contact the
-development team at {\tt vym-devel@lists.sourceforge.net}.
+lot of things to be done in future. If you have more ideas, open
+enhancement tickets  
+team at
+\href{https://github.com/insilmaril/vym/issues}{https://github.com/insilmaril/vym/issues}
 
 
 \subsection{New languages support}
@@ -1789,13 +1887,13 @@ the development tools, from those tools especially the translation tool
 In some Linux distributions the development tools are in an extra
 package, e.g. on SUSE LINUX you should have installed:
 \begin{code}
-libqt4-devel.rpm
-libqt4-devel-doc.rpm
-libqt4-devel-tools.rpm
+libqt5-devel.rpm
+libqt5-devel-doc.rpm
+libqt5-devel-tools.rpm
 \end{code}
-If you don't have QT in your system, you can get it from 
-    \href{http://www.qt.nokia.com}{http://www.qt.nokia.com} Once you
-    are able to compile vym yourself, you can translate the text in vym
+If you don't have Qt in your system, you can get it from 
+    \href{https://qt.io}{https://qt.nio}
+    You can translate the text in vym
     itself by performing the following steps:
 \begin{itemize}
     \item Let's assume now your encoding is "NEW" instead of for example
diff --git a/texteditor.cpp b/texteditor.cpp
deleted file mode 100644 (file)
index 03e7d4a..0000000
+++ /dev/null
@@ -1,1207 +0,0 @@
-#include "texteditor.h"
-
-#include <QAction>
-#include <QActionGroup>
-#include <QApplication>
-#include <QColorDialog>
-#include <QComboBox>
-#include <QFileDialog>
-#include <QFontDialog>
-#include <QMenuBar>
-#include <QMessageBox>
-#include <QPrintDialog>
-#include <QPrinter>
-#include <QStatusBar>
-#include <QTextEdit>
-#include <QToolBar>
-
-#include <typeinfo>
-
-#include "settings.h"
-#include "shortcuts.h"
-
-extern int statusbarTime;
-extern Settings settings;
-
-extern QAction *actionViewToggleNoteEditor;
-
-extern QString vymName;
-
-extern Switchboard switchboard;
-
-extern QPrinter *printer;
-extern bool debug;
-
-///////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////
-
-TextEditor::TextEditor()
-{
-    statusBar()->hide();    // Hide sizeGrip on default, which comes with statusBar
-
-    e = new QTextEdit( this);
-    e->setFocus();
-    e->setTabStopWidth (20);           // unit is pixel
-    e->setAutoFillBackground (true);
-    e->installEventFilter(this);
-    connect (e, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) );
-    setCentralWidget( e );
-    statusBar()->showMessage( tr("Ready","Statusbar message"), statusbarTime);
-
-    connect(e, SIGNAL(currentCharFormatChanged(const QTextCharFormat &)),
-            this, SLOT(formatChanged(const QTextCharFormat &)));
-
-    // Don't show menubar per default
-    menuBar()->hide();
-
-    // Toolbars
-    setupFileActions();
-    setupEditActions();
-    setupFormatActions();
-    setupSettingsActions();
-    
-    // Various states
-    blockChangedSignal=false;
-    setInactive();
-
-    editorName = "Text editor";
-    setEditorTitle("");
-}
-
-
-TextEditor::~TextEditor()
-{
-    // Save Settings
-    QString n = QString("/satellite/%1/").arg(shortcutScope);
-    settings.setValue( n + "geometry/size", size() );
-    settings.setValue( n + "geometry/pos", pos() );
-    settings.setValue( n + "state",saveState(0));
-
-    QString s;
-    if (actionSettingsFonthintDefault->isChecked() )
-       s = "fixed";
-    else    
-       s = "variable";
-    settings.setValue(n + "fonts/fonthintDefault",s );
-    settings.setValue(n + "fonts/varFont", varFont.toString() );
-    settings.setValue(n + "fonts/fixedFont", fixedFont.toString() );
-
-    settings.setValue(n + "colors/emptyEditor", colorEmptyEditor.name());
-    settings.setValue(n + "colors/filledEditor", colorFilledEditor.name());
-    settings.setValue(n + "colors/inactiveEditor", colorInactiveEditor.name());
-    settings.setValue(n + "colors/font", colorFont.name());
-}
-
-void TextEditor::init (const QString &scope) 
-{   
-    shortcutScope = scope;
-    QString n = QString("/satellite/%1/").arg(shortcutScope);
-    restoreState (settings.value(n + "state", 0).toByteArray());
-    filenameHint="";
-    fixedFont.fromString (settings.value(
-        n + "fonts/fixedFont", "Courier,12,-1,5,48,0,0,0,1,0").toString()
-                          );
-    varFont.fromString( settings.value(
-        n + "fonts/varFont", "DejaVu Sans Mono,12,-1,0,50,0,0,0,0,0").toString()
-                        );
-    QString s = settings.value (n + "fonts/fonthintDefault", "variable").toString();
-    if (s == "fixed")
-    {
-        actionSettingsFonthintDefault->setChecked (true);
-        e->setCurrentFont (fixedFont);
-    } else
-    {
-        actionSettingsFonthintDefault->setChecked (false);
-        e->setCurrentFont (varFont);
-    }
-    
-    // Default colors
-    QPixmap pix( 16, 16 );
-    colorEmptyEditor.setNamedColor(   settings.value(n + "colors/emptyEditor", "#969696").toString() );
-    pix.fill( colorEmptyEditor );
-    actionEmptyEditorColor->setIcon(pix);
-
-    colorFilledEditor.setNamedColor(  settings.value(n + "colors/filledEditor","#ffffff").toString() );
-    pix.fill( colorFilledEditor );
-    actionFilledEditorColor->setIcon(pix);
-
-    colorInactiveEditor.setNamedColor(settings.value(n + "colors/inactiveEditor","#000000").toString() );
-    pix.fill( colorInactiveEditor );
-    actionInactiveEditorColor->setIcon(pix);
-
-    colorFont.setNamedColor(          settings.value(n + "colors/font","#000000").toString() );
-    e->setTextColor( colorFont );
-    pix.fill( colorFont );
-    actionFontColor->setIcon(pix);
-}
-
-bool TextEditor::isEmpty()
-{
-    if (e->toPlainText().length()>0)
-       return false;
-    else
-       return true;
-}
-
-
-void TextEditor::setEditorTitle(const QString &s)
-{
-    QString h;
-    s.isEmpty() ? h = editorName : h = editorName + ": " + s;
-    editorTitle = h;
-    setWindowTitle (editorTitle);
-}
-
-QString TextEditor::getEditorTitle()
-{
-    return editorTitle;
-}
-
-void TextEditor::setEditorName( const QString &s)
-{
-    editorName = s;
-}
-
-void TextEditor::setFont (const QFont &font)
-{
-    blockChangedSignal = true;
-
-    QTextCursor tc=e->textCursor();
-    QTextCharFormat format=tc.charFormat();
-
-    tc.select(QTextCursor::Document);
-    format.setFont (font);
-    tc.setCharFormat (format);
-    tc.clearSelection();
-    fontChanged(fixedFont);
-
-    blockChangedSignal = false;
-}
-
-void TextEditor::setFontHint (const QString &fh)
-{
-    if (fh=="fixed")
-    {
-        actionFormatUseFixedFont->setChecked (true);
-        e->setCurrentFont (fixedFont);
-        setFont (fixedFont);
-    }
-    else
-    {
-        actionFormatUseFixedFont->setChecked (false);
-        e->setCurrentFont (varFont);
-        setFont (varFont);
-    }
-}
-
-QString TextEditor::getFontHint()
-{
-    if (actionFormatUseFixedFont->isChecked())
-        return "fixed";
-    else
-        return "var";
-}
-
-QString TextEditor::getFontHintDefault()
-{
-    if (actionSettingsFonthintDefault->isChecked())
-        return "fixed";
-    else
-        return "var";
-}
-
-void TextEditor::setFilename(const QString &fn)
-{
-    if (state==filledEditor)
-    {
-        if (fn.isEmpty() )
-        {
-            filename="";
-            statusBar()->showMessage( tr("No filename available for this note.","Statusbar message"), statusbarTime );
-        }
-        else
-        {
-            filename=fn;
-            statusBar()->showMessage( tr(QString( "Current filename is %1" ).arg( filename ).toUtf8(),"Statusbar message"), statusbarTime );
-        }
-    }
-}
-
-QString TextEditor::getFilename()
-{
-    return filename;
-}
-
-void TextEditor::setFilenameHint(const QString &fnh)
-{
-    filenameHint=fnh;
-}
-
-QString TextEditor::getFilenameHint()
-{
-    return filenameHint;
-}
-
-QString TextEditor::getText()
-{
-    if (e->toPlainText().isEmpty()) return QString();
-
-    if (actionFormatRichText->isChecked())
-        return e->toHtml();
-    else
-        return e->toPlainText();
-}
-
-VymText TextEditor::getVymText()
-{
-    VymText vt;
-
-    if (actionFormatRichText->isChecked())
-        vt.setRichText(e->toHtml());
-    else
-        vt.setPlainText(e->toPlainText());
-
-    if (actionFormatUseFixedFont->isChecked() )
-        vt.setFontHint(getFontHint());
-
-    return vt;
-}
-
-bool TextEditor::findText(const QString &t, const QTextDocument::FindFlags &flags)
-{
-    if (e->find (t,flags))
-        return true;
-    else
-        return false;
-}
-
-bool TextEditor::findText(const QString &t, const QTextDocument::FindFlags &flags, int i)
-{
-    // Position at beginning
-    QTextCursor c=e->textCursor();
-    c.setPosition (0,QTextCursor::MoveAnchor);
-    e->setTextCursor (c);
-
-    // Search for t
-    int j=0;
-    while (j<=i)
-    {
-        if (!e->find (t,flags)) return false;
-        j++;
-    }
-    return true;
-
-}
-
-void TextEditor::setTextCursor (const QTextCursor &cursor)
-{
-    e->setTextCursor (cursor);
-}
-
-QTextCursor TextEditor::getTextCursor()
-{
-    return e->textCursor();
-}
-
-void TextEditor::setFocus()
-{
-    e->setFocus();
-}
-
-void TextEditor::setupFileActions()
-{
-    QToolBar *tb = addToolBar ( tr("Note Actions") );
-    tb->setObjectName ("noteEditorFileActions");
-    QMenu *fileMenu = menuBar()->addMenu( tr( "&Note","Menubar" ));
-
-    QString tag = tr ("Texteditor","Shortcuts");
-    QAction *a;
-    a = new QAction( QPixmap( ":/fileopen.png"), tr( "&Import..." ),this);
-    a->setShortcut( Qt::CTRL + Qt::Key_O );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textLoad", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( textLoad() ) );
-    tb->addAction (a);
-    fileMenu->addAction (a);
-    actionFileLoad=a;
-
-    fileMenu->addSeparator();
-    a = new QAction( QPixmap(":/filesave.png" ), tr( "&Export..." ), this);
-    a->setShortcut( Qt::CTRL + Qt::Key_S );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textSave", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( textSave() ) );
-    tb->addAction (a);
-    fileMenu->addAction (a);
-    addAction (a);
-    actionFileSave=a;
-    
-    a = new QAction(  tr( "Export &As... (HTML)" ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( textSaveAs() ) );
-    fileMenu->addAction (a);
-    actionFileSaveAs=a;
-
-    a = new QAction( tr( "Export &As...(ASCII)" ), this);
-    a->setShortcut(Qt::ALT + Qt::Key_X );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textExportAsASCII", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( textExportAsASCII() ) );
-    fileMenu->addAction (a);
-    addAction (a);
-    actionFileSaveAs=a;
-
-    fileMenu->addSeparator();
-    a = new QAction( QPixmap(":/fileprint.png" ), tr( "&Print..." ),this);
-    a->setShortcut (Qt::CTRL + Qt::Key_P);
-    switchboard.addSwitch( "textPrint", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( textPrint() ) );
-    tb->addAction (a);
-    fileMenu->addAction (a);
-    actionFilePrint=a;
-    
-    a = new QAction( QPixmap( ":/edittrash.png"), tr( "&Delete All" ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( reset() ) );
-    fileMenu->addAction (a);
-    tb->addAction (a);
-    actionFileDeleteAll=a;
-}
-
-void TextEditor::setupEditActions()
-{
-    QString tag = tr ("Texteditor","Shortcuts");
-    QToolBar *editToolBar = addToolBar ( tr( "Edit Actions" ));
-    editToolBar->setObjectName ("noteEditorEditActions");
-    editToolBar->hide();
-    QMenu *editMenu = menuBar()->addMenu ( tr( "Edi&t" ));
-
-    QAction *a;
-    a = new QAction(QPixmap(":/undo.png"), tr( "&Undo" ), this );
-    a->setShortcut(Qt::CTRL + Qt::Key_Z );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textUndo", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), e, SLOT( undo() ) );
-    editMenu->addAction (a);
-    editToolBar->addAction (a);
-    actionEditUndo=a;
-    
-    a = new QAction(QPixmap(":/redo.png" ), tr( "&Redo" ),this);
-    a->setShortcut( Qt::CTRL + Qt::Key_Y );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textRedo", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), e, SLOT( redo() ) );
-    editMenu->addAction (a);
-    editToolBar->addAction (a);
-    actionEditRedo=a;
-
-    editMenu->addSeparator();
-    a = new QAction(QPixmap(), tr( "Select and copy &all" ),this);
-    a->setShortcutContext (Qt::WidgetShortcut);
-    a->setShortcut( Qt::CTRL + Qt::Key_A );
-    switchboard.addSwitch( "textCopyAll", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( editCopyAll() ) );
-    editMenu->addAction (a);
-
-    editMenu->addSeparator();
-    a = new QAction(QPixmap(":/editcopy.png" ), tr( "&Copy" ),this);
-    a->setShortcut( Qt::CTRL + Qt::Key_C );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textCopy", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), e, SLOT( copy() ) );
-    editMenu->addAction (a);
-    editToolBar->addAction (a);
-    actionEditCopy=a;
-    
-    a = new QAction(QPixmap(":/editcut.png" ), tr( "Cu&t" ),this);
-    a->setShortcut( Qt::CTRL + Qt::Key_X );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textCut", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), e, SLOT( cut() ) );
-    editMenu->addAction (a);
-    editToolBar->addAction (a);
-    actionEditCut=a;
-
-    a = new QAction(QPixmap(":/editpaste.png" ), tr( "&Paste" ),this);
-    a->setShortcut( Qt::CTRL + Qt::Key_V );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textPaste", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), e, SLOT( paste() ) );
-    editMenu->addAction (a);
-    editToolBar->addAction (a);
-    actionEditPaste=a;
-}
-
-void TextEditor::setupFormatActions()
-{
-    QString tag = tr ("Texteditor","Shortcuts");
-    QToolBar *fontHintsToolBar = addToolBar ( tr("Font hints","toolbar in texteditor" ));
-    fontHintsToolBar->setObjectName ("noteEditorFontToolBar");
-    QMenu *formatMenu = menuBar()->addMenu ( tr( "F&ormat" ));
-
-    QAction *a;
-
-    a = new QAction( QPixmap(":/formatfixedfont.png"), tr( "&Font hint" ), this );
-    a->setShortcut(Qt::CTRL + Qt::Key_H);
-    a->setCheckable (true);
-    a->setChecked (settings.value("/noteeditor/fonts/useFixedByDefault",false).toBool() );
-    switchboard.addSwitch( "textToggleFonthint", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( toggleFonthint() ) );
-    formatMenu->addAction (a);
-    fontHintsToolBar->addAction (a);
-    actionFormatUseFixedFont=a;
-
-    // Original icon: ./share/icons/oxygen/22x22/actions/format-text-color.png
-    a = new QAction( QPixmap(":/formatrichtext.png"), tr( "&Richtext" ), this);
-    a->setShortcut ( Qt::CTRL + Qt::Key_R);
-//    a->setShortcutContext (Qt::WidgetShortcut);
-    a->setCheckable (true);
-    switchboard.addSwitch( "textToggleRichText", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( toggleRichText() ) );
-    formatMenu->addAction (a);
-    fontHintsToolBar->addAction (a);
-    actionFormatRichText=a;
-
-    QToolBar *fontToolBar = addToolBar ( tr("Fonts","toolbar in texteditor" ));
-    fontToolBar->setObjectName ("noteEditorFontToolBar");
-
-    comboFont = new QComboBox;
-    fontToolBar->addWidget (comboFont);
-    QFontDatabase fontDB;
-    comboFont->insertItems ( 0,fontDB.families() );
-    connect( comboFont, SIGNAL( activated( const QString & ) ),
-             this, SLOT( textFamily( const QString & ) ) );
-
-    comboSize = new QComboBox;
-    fontToolBar->addWidget (comboSize);
-    QList<int> sizes=fontDB.standardSizes();
-    QList<int>::iterator it = sizes.begin();
-    int i=0;
-    while (it != sizes.end())
-    {
-        i++;
-        ++it; // increment i before using it
-        comboSize->insertItem ( i, QString::number(*it));
-    }
-    connect( comboSize, SIGNAL( activated( const QString & ) ),
-             this, SLOT( textSize( const QString & ) ) );
-
-    formatMenu->addSeparator();
-
-    QToolBar *formatToolBar = addToolBar ( tr("Format","toolbar in texteditor" ));
-    formatToolBar->setObjectName ("noteEditorFormatToolBar");
-
-    QPixmap pix( 16, 16 );
-    pix.fill( e->textColor());
-    a = new QAction( pix, tr( "&Color..." ), this);
-    formatMenu->addAction (a);
-    formatToolBar->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( textColor() ) );
-    actionTextColor=a;
-
-    a = new QAction( QPixmap (":/text_bold.png"), tr( "&Bold" ), this);
-    a->setShortcut(Qt::CTRL + Qt::Key_B );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textToggleBold", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( textBold() ) );
-    formatToolBar->addAction (a);
-    formatMenu->addAction (a);
-    a->setCheckable( true );
-    actionTextBold=a;
-    
-    a = new QAction( QPixmap(":/text_italic.png"), tr( "&Italic" ),  this);
-    a->setShortcut(Qt::CTRL + Qt::Key_I);
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textToggleItalic", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( textItalic() ) );
-    formatToolBar->addAction (a);
-    formatMenu->addAction (a);
-    a->setCheckable( true );
-    actionTextItalic=a;
-    
-    a = new QAction( QPixmap (":/text_under.png"), tr( "&Underline" ), this);
-    a->setShortcut(Qt::CTRL + Qt::Key_U );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    switchboard.addSwitch( "textToggleUnderline", shortcutScope, a, tag);
-    connect( a, SIGNAL( triggered() ), this, SLOT( textUnderline() ) );
-    formatToolBar->addAction (a);
-    formatMenu->addAction (a);
-    a->setCheckable( true );
-    //richTextWidgets.append((QWidget*)a);
-    actionTextUnderline=a;
-    formatMenu->addSeparator();
-
-    QActionGroup * actGrp2 = new QActionGroup( this );
-    actGrp2->setExclusive(true);
-    a = new QAction( QPixmap (":/text_sub.png"), tr( "Subs&cript" ),actGrp2 );
-    a->setShortcut( Qt::CTRL + Qt::SHIFT + Qt::Key_B );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    a->setCheckable( true );
-    formatToolBar->addAction (a);
-    formatMenu->addAction (a);
-    switchboard.addSwitch( "textToggleSub", shortcutScope, a, tag);
-    connect(a, SIGNAL(triggered()), this, SLOT(textVAlign()));
-    actionAlignSubScript=a;
-
-    a = new QAction( QPixmap (":/text_super.png"), tr( "Su&perscript" ),actGrp2  );
-    a->setShortcut( Qt::CTRL + Qt::SHIFT + Qt::Key_P );
-    a->setShortcutContext (Qt::WidgetWithChildrenShortcut);
-    a->setCheckable( true );
-    formatToolBar->addAction (a);
-    formatMenu->addAction (a);
-    switchboard.addSwitch( "textToggleSuper", shortcutScope, a, tag);
-    connect(a, SIGNAL(triggered()), this, SLOT(textVAlign()));
-    actionAlignSuperScript=a;
-    QActionGroup *grp = new QActionGroup( this );
-    connect( grp, SIGNAL( triggered( QAction* ) ), this, SLOT( textAlign( QAction* ) ) );
-
-    formatMenu->addSeparator();
-
-    a = new QAction( QPixmap (":/text_left.png"), tr( "&Left" ),grp );
-    //a->setShortcut( Qt::CTRL+Qt::Key_L );
-    a->setCheckable( true );
-    formatToolBar->addAction (a);
-    formatMenu->addAction (a);
-    actionAlignLeft=a;
-    a = new QAction( QPixmap (":/text_center.png"), tr( "C&enter" ),grp);
-    //a->setShortcut(  Qt::CTRL + Qt::Key_E);
-    a->setCheckable( true );
-    formatToolBar->addAction (a);
-    formatMenu->addAction (a);
-    actionAlignCenter=a;
-    a = new QAction( QPixmap (":/text_right.png" ), tr( "&Right" ), grp);
-    //a->setShortcut(Qt::CTRL + Qt::Key_R );
-    a->setCheckable( true );
-    formatToolBar->addAction (a);
-    formatMenu->addAction (a);
-    actionAlignRight=a;
-    a = new QAction( QPixmap ( ":/text_block.png"), tr( "&Justify" ), grp );
-    //a->setShortcut(Qt::CTRL + Qt::Key_J );
-    a->setCheckable( true );
-    formatToolBar->addAction (a);
-    formatMenu->addAction (a);
-    actionAlignJustify=a;
-}
-
-void TextEditor::setupSettingsActions()
-{
-    QMenu *settingsMenu = menuBar()->addMenu ( tr( "&Settings" ));
-
-    QAction *a;
-    a = new QAction(tr( "Set &fixed font" ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( setFixedFont() ) );
-    settingsMenu->addAction (a);
-    actionSettingsFixedFont=a;
-
-    a = new QAction(tr( "Set &variable font" ), this);
-    connect( a, SIGNAL( triggered() ), this, SLOT( setVarFont() ) );
-    settingsMenu->addAction (a);
-    actionSettingsVarFont=a;
-
-    a = new QAction(tr( "&fixed font is default" ),  this);
-    a->setCheckable (true);
-    // set state later in constructor...
-    settingsMenu->addAction (a);
-    actionSettingsFonthintDefault=a;
-
-    settingsMenu->addSeparator();
-
-    a = new QAction( tr( "Set empty editor background color", "TextEditor") + "...", this  );
-    settingsMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( setEmptyEditorColor() ) );
-    actionEmptyEditorColor = a;
-
-    a = new QAction( tr( "Set filled editor background color", "TextEditor") + "...", this  );
-    settingsMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( setFilledEditorColor() ) );
-    actionFilledEditorColor = a;
-
-    a = new QAction( tr( "Set inactive editor background color", "TextEditor") + "...", this  );
-    settingsMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( setInactiveEditorColor() ) );
-    actionInactiveEditorColor = a;
-
-    a = new QAction( tr( "Set default font color", "TextEditor") + "...", this  );
-    settingsMenu->addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( setFontColor() ) );
-    actionFontColor = a;
-}
-
-void TextEditor::textLoad()
-{
-    if (state!=inactiveEditor)
-    {
-        if (!isEmpty())
-        {
-            QMessageBox mb( vymName + " - " +tr("Note Editor"),
-                            "Loading will overwrite the existing note",
-                            QMessageBox::Warning,
-                            QMessageBox::Yes | QMessageBox::Default,
-                            QMessageBox::Cancel,
-                            0 );
-            mb.setButtonText( QMessageBox::Yes, "Load note" );
-            switch( mb.exec() ) {
-            case QMessageBox::Cancel:
-                return;
-                break;
-            }
-        }
-        // Load note
-        QFileDialog *fd=new QFileDialog( this);
-        QStringList types;
-        types<< "Text (*.txt *.html)"<<
-                "VYM notes and HTML (*.html)" <<
-                "ASCII texts (*.txt)" <<
-                "All files (*)";
-        fd->setNameFilters (types);
-        fd->setDirectory (QDir().current());
-        fd->show();
-        QString fn;
-        if ( fd->exec() == QDialog::Accepted &&!fd->selectedFiles().isEmpty() )
-            fn = fd->selectedFiles().first();
-
-        if ( !fn.isEmpty() )
-        {
-            QFile f( fn );
-            if ( !f.open( QIODevice::ReadOnly ) )
-                return;
-
-            QTextStream ts( &f );
-            setTextAuto ( ts.readAll() );
-            editorChanged();
-        }
-    }
-}
-
-void TextEditor::closeEvent( QCloseEvent* ce )
-{
-    ce->accept();   // TextEditor can be reopened with show()
-    hide();
-    emit (windowClosed() );
-    return;
-}
-
-bool TextEditor::eventFilter( QObject *obj, QEvent *ev)
-{
-    if (obj == e ) {
-        if (ev->type() == QEvent::KeyPress) {
-            QKeyEvent *keyEvent = static_cast<QKeyEvent*>(ev);
-            if(keyEvent == QKeySequence::Paste) 
-            {
-                // switch editor mode to match clipboard content before pasting
-                const QClipboard *clipboard = QApplication::clipboard();
-                const QMimeData *mimeData = clipboard->mimeData();
-
-                if (mimeData->hasHtml()) setRichTextMode(true);
-            } 
-        }
-    }
-    // pass the event on to the parent class
-    return QMainWindow::eventFilter(obj, ev);
-}
-
-void TextEditor::editorChanged()
-{
-    if (isEmpty())
-        state=emptyEditor;
-    else
-        state=filledEditor;
-
-    if (state==emptyEditor)
-        setState (emptyEditor);
-    else
-        setState (filledEditor);
-    if (!blockChangedSignal) emit (textHasChanged() );
-}
-
-void TextEditor::setRichText(const QString &t)
-{
-    blockChangedSignal=true;
-    e->setReadOnly(false);
-    reset();
-
-    e->setHtml(t);
-    actionFormatRichText->setChecked (true);
-
-    updateActions();
-    blockChangedSignal=false;
-}
-
-void TextEditor::setPlainText(const QString &t)
-{
-    blockChangedSignal=true;
-    e->setReadOnly(false);
-    reset();
-
-    e->setPlainText(t);
-    actionFormatRichText->setChecked (false);
-
-    updateActions();
-    blockChangedSignal=false;
-}
-
-
-void TextEditor::setTextAuto(const QString &t)
-{
-    if (Qt::mightBeRichText (t))
-        setRichText( t);
-    else
-        setPlainText( t );
-}
-
-void TextEditor::setVymText( const VymText &vt)
-{
-    if (vt.isRichText())
-        setRichText(vt.getText());
-    else
-        setPlainText(vt.getText());
-}
-
-void TextEditor::setInactive()
-{
-    state=inactiveEditor;
-    e->setPlainText("");
-    setState (inactiveEditor);
-    e->setReadOnly (true);
-
-    updateActions();
-}
-
-void TextEditor::editCopyAll()
-{
-    e->selectAll();
-    e->copy();
-}
-
-void TextEditor::reset()
-{
-    e->selectAll();
-    e->textCursor().deleteChar();
-    e->setTextColor( colorFont );
-}
-
-void TextEditor::textSaveAs()  
-{
-    QString caption=tr ("Export Note to single file");
-    QString fn = QFileDialog::getSaveFileName(
-                this,
-                caption,
-                QString::null,
-                "VYM Note (HTML) (*.html);;All files (*)",
-                0,
-                QFileDialog::DontConfirmOverwrite );
-
-    if ( !fn.isEmpty() )
-    {
-        QFile file (fn);
-        if (file.exists())
-        {
-            QMessageBox mb( vymName,
-                            tr("The file %1\nexists already.\nDo you want to overwrite it?","dialog 'save note as'").arg(fn),
-                            QMessageBox::Warning,
-                            QMessageBox::Yes | QMessageBox::Default,
-                            QMessageBox::Cancel | QMessageBox::Escape,
-                            Qt::NoButton );
-            mb.setButtonText( QMessageBox::Yes, tr("Overwrite") );
-            mb.setButtonText( QMessageBox::No, tr("Cancel"));
-            switch( mb.exec() ) {
-            case QMessageBox::Yes:
-                // save
-                filename = fn;
-                textSave();
-                return;
-            case QMessageBox::Cancel:
-                // do nothing
-                break;
-            }
-        } else
-        {
-            filename = fn;
-            textSave();
-            return;
-        }
-    }
-    statusBar()->showMessage(tr( "Couldn't export note ","dialog 'save note as'") + fn, statusbarTime );
-}
-
-
-void TextEditor::textSave()
-{
-    if ( filename.isEmpty() )
-    {
-        textSaveAs();
-        return;
-    }
-
-    QString text = e->toHtml(); //FIXME-4 or plaintext? check...
-    QFile f( filename );
-    if ( !f.open( QIODevice::WriteOnly ) )
-    {
-        statusBar()->showMessage( QString("Could not write to %1").arg(filename),
-                                  statusbarTime );
-        return;
-    }
-
-    QTextStream t( &f );
-    t.setCodec("UTF-8");
-    t << text;
-    f.close();
-
-    e->document()->setModified( false );
-
-    statusBar()->showMessage( QString( "Note exported as %1" ).arg( filename ), statusbarTime );
-}
-
-void TextEditor::textExportAsASCII()
-{
-    QString fn,s;
-    if (!filenameHint.isEmpty())
-    {
-        if (!filenameHint.contains (".txt"))
-            s = filenameHint+".txt";
-        else
-            s = filenameHint;
-    } else
-        s = QString::null;
-    QString caption = tr("Export Note to single file (ASCII)");
-    fn = QFileDialog::getSaveFileName(this, caption, s, "VYM Note (ASCII) (*.txt);;All files (*)" );
-    int ret = -1;
-
-    if ( !fn.isEmpty() )
-    {
-        QFile file (fn);
-        if (file.exists())
-        {
-            QMessageBox mb( vymName,
-                            tr("The file %1\nexists already.\nDo you want to overwrite it?","dialog 'save note as'").arg(fn),
-                            QMessageBox::Warning,
-                            QMessageBox::Yes | QMessageBox::Default,
-                            QMessageBox::Cancel | QMessageBox::Escape,
-                            Qt::NoButton );
-            mb.setButtonText( QMessageBox::Yes, tr("Overwrite") );
-            mb.setButtonText( QMessageBox::No, tr("Cancel"));
-            ret=mb.exec();
-        }
-        if (ret==QMessageBox::Cancel)
-            return;
-
-        // save
-        if ( !file.open( QIODevice::WriteOnly ) )
-            statusBar()->showMessage( QString("Could not write to %1").arg(filename),
-                                      statusbarTime );
-        else
-        {
-            QTextStream t( &file );
-            t << getVymText().getTextASCII();
-            file.close();
-
-            statusBar()->showMessage( QString( "Note exported as %1" ).arg( fn ), statusbarTime );
-        }
-    }
-}
-
-
-void TextEditor::textPrint()
-{
-    QTextDocument *document = e->document();
-
-    QPrintDialog dialog (printer, this);
-    dialog.setWindowTitle(tr("Print","TextEditor"));
-    if (dialog.exec() != QDialog::Accepted)
-        return;
-
-    document->print(printer);
-}
-
-void TextEditor::textEditUndo()
-{
-}
-
-void TextEditor::toggleFonthint()
-{
-    if (!actionFormatUseFixedFont->isChecked() )
-    {
-        e->setCurrentFont (varFont);
-        setFont (varFont);
-    }
-    else
-    {
-        e->setCurrentFont (fixedFont);
-        setFont (fixedFont);
-    }
-    emit( textHasChanged() );
-}
-
-void TextEditor::setRichTextMode(bool b)
-{
-    if (b)
-    {
-        e->setHtml (e->toHtml());
-        actionFormatUseFixedFont->setEnabled(false);
-        actionFormatRichText->setChecked(true);
-    } else
-    {
-        e->setPlainText (e->toPlainText());
-        actionFormatUseFixedFont->setEnabled(true);
-        actionFormatRichText->setChecked(false);
-    }
-    updateActions();
-    emit( textHasChanged() );
-}
-
-void TextEditor::toggleRichText()
-{
-    if (actionFormatRichText->isChecked() )
-        setRichTextMode( true );
-    else
-        setRichTextMode( false );
-}
-
-void TextEditor::setFixedFont()
-{
-    bool ok;
-    QFont font =QFontDialog::getFont( &ok, fixedFont, this );
-    if ( ok ) fixedFont=font;
-}
-
-void TextEditor::setVarFont()
-{
-    bool ok;
-    QFont font =QFontDialog::getFont( &ok, varFont, this );
-    if ( ok ) varFont=font;
-}
-
-void TextEditor::textBold()
-{
-    if ( actionTextBold->isChecked())
-        e->setFontWeight( QFont::Bold );
-    else
-        e->setFontWeight( QFont::Normal);
-}
-
-void TextEditor::textUnderline()
-{
-    e->setFontUnderline( actionTextUnderline->isChecked() );
-}
-
-void TextEditor::textItalic()
-{
-    e->setFontItalic( actionTextItalic->isChecked() );
-}
-
-void TextEditor::textFamily( const QString &f )
-{
-    e->setFontFamily( f );
-}
-
-void TextEditor::textSize( const QString &p )
-{
-    e->setFontPointSize( p.toInt() );
-}
-
-
-void TextEditor::textColor()
-{
-    QColor col = QColorDialog::getColor( e->textColor(), this );
-    if ( !col.isValid() ) return;
-    e->setTextColor( col );
-    /*
-    QPixmap pix( 16, 16 );
-    pix.fill( col );
-    actionTextColor->setIcon( pix );
-    */
-}
-
-void TextEditor::textAlign( QAction *a ) 
-{
-    QTextCursor c = e->textCursor();
-
-    if ( a == actionAlignLeft )
-        e->setAlignment( Qt::AlignLeft );
-    else if ( a == actionAlignCenter )
-        e->setAlignment( Qt::AlignHCenter );
-    else if ( a == actionAlignRight )
-        e->setAlignment( Qt::AlignRight );
-    else if ( a == actionAlignJustify )
-        e->setAlignment( Qt::AlignJustify );
-}
-
-void TextEditor::textVAlign()
-{
-    QTextCharFormat format;
-
-    if ( sender() == actionAlignSuperScript && actionAlignSuperScript->isChecked()) {
-        format.setVerticalAlignment(QTextCharFormat::AlignSuperScript);
-    } else if (sender() == actionAlignSubScript && actionAlignSubScript->isChecked()) {
-        format.setVerticalAlignment(QTextCharFormat::AlignSubScript);
-    } else {
-        format.setVerticalAlignment(QTextCharFormat::AlignNormal);
-    }
-    e->mergeCurrentCharFormat(format);
-}
-
-
-void TextEditor::fontChanged( const QFont &f )
-{
-    int i=comboFont->findText(f.family());
-    if (i>=0) comboFont->setCurrentIndex (i);
-    i=comboSize->findText(QString::number(f.pointSize()));
-    if (i>=0) comboSize->setCurrentIndex(i);
-    actionTextBold->setChecked( f.bold() );
-    actionTextItalic->setChecked( f.italic() );
-    actionTextUnderline->setChecked( f.underline() );
-}
-
-void TextEditor::colorChanged( const QColor &c )
-{
-    QPixmap pix( 16, 16 );
-    pix.fill( c );
-    actionTextColor->setIcon( pix );
-}
-
-void TextEditor::formatChanged( const QTextCharFormat &f )
-{
-    if (!actionFormatRichText->isChecked() ) return;
-    fontChanged(f.font());
-    colorChanged(f.foreground().color());
-    alignmentChanged(e->alignment());
-    verticalAlignmentChanged (f.verticalAlignment());
-}
-
-void TextEditor::alignmentChanged( int a )
-{
-    if ( ( a == Qt::AlignLeft ) || ( a & Qt::AlignLeft ))
-        actionAlignLeft->setChecked( true );
-    else if ( ( a & Qt::AlignHCenter ) )
-        actionAlignCenter->setChecked( true );
-    else if ( ( a & Qt::AlignRight ) )
-        actionAlignRight->setChecked( true );
-    else if ( ( a & Qt::AlignJustify ) )
-        actionAlignJustify->setChecked( true );
-}
-
-void TextEditor::verticalAlignmentChanged(QTextCharFormat::VerticalAlignment a)
-{
-    actionAlignSubScript->setChecked (false);
-    actionAlignSuperScript->setChecked (false);
-    switch (a)
-    {
-    case QTextCharFormat::AlignSuperScript:
-        actionAlignSuperScript->setChecked (true);
-        break;
-    case QTextCharFormat::AlignSubScript:
-        actionAlignSubScript->setChecked (true);
-        break;
-    default: ;
-    }
-}
-
-void TextEditor::updateActions()
-{
-    bool b;
-    if (state==inactiveEditor)
-        b=false;
-    else
-        b=true;
-    actionFileLoad->setEnabled(b);
-    actionFileSave->setEnabled(b);
-    actionFileSaveAs->setEnabled(b);
-    actionFilePrint->setEnabled(b);
-    actionFileDeleteAll->setEnabled(b);
-    actionEditUndo->setEnabled(b);
-    actionEditRedo->setEnabled(b);
-    actionEditCopy->setEnabled(b);
-    actionEditCut->setEnabled(b);
-    actionEditPaste->setEnabled(b);
-    actionFormatUseFixedFont->setEnabled(b);
-    actionFormatRichText->setEnabled(b);
-    
-    if (!actionFormatRichText->isChecked() || !b)
-    {
-        comboFont->setEnabled (false);
-        comboSize->setEnabled (false);
-        actionTextColor->setEnabled (false);
-        actionTextBold->setEnabled (false);
-        actionTextUnderline->setEnabled(false);
-        actionTextItalic->setEnabled(false);
-        actionTextColor->setEnabled(false);
-        actionAlignSubScript->setEnabled(false);
-        actionAlignSuperScript->setEnabled(false);
-        actionAlignLeft->setEnabled(false);
-        actionAlignCenter->setEnabled(false);
-        actionAlignRight->setEnabled(false);
-        actionAlignJustify->setEnabled(false);
-    }
-    else
-    {
-        comboFont->setEnabled (true);
-        comboSize->setEnabled (true);
-        actionTextColor->setEnabled (true);
-        actionTextBold->setEnabled (true);
-        actionTextUnderline->setEnabled(true);
-        actionTextItalic->setEnabled(true);
-        actionTextColor->setEnabled(true);
-        actionAlignSubScript->setEnabled(true);
-        actionAlignSuperScript->setEnabled(true);
-        actionAlignLeft->setEnabled(true);
-        actionAlignCenter->setEnabled(true);
-        actionAlignRight->setEnabled(true);
-        actionAlignJustify->setEnabled(true);
-        actionFormatUseFixedFont->setEnabled(false);
-    }
-}
-
-void TextEditor::setState (EditorState s)
-{
-    
-    QPalette p = palette();
-    QColor c;
-    switch (s)
-    {
-        case emptyEditor:    c = colorEmptyEditor; break;
-        case filledEditor:   c = colorFilledEditor; break; 
-        case inactiveEditor: c = colorInactiveEditor;
-    }
-    p.setColor(QPalette::Active, static_cast<QPalette::ColorRole>(9), c);
-    p.setColor(QPalette::Inactive, static_cast<QPalette::ColorRole>(9), c);
-    e->setPalette(p);
-}
-
-void TextEditor::setEmptyEditorColor()
-{
-    QColor col = QColorDialog::getColor( colorEmptyEditor, NULL);
-    if ( !col.isValid() ) return;
-    colorEmptyEditor = col;
-    QPixmap pix( 16, 16 );
-    pix.fill( colorEmptyEditor );
-    actionEmptyEditorColor->setIcon(pix);
-}
-
-void TextEditor::setInactiveEditorColor()
-{
-    QColor col = QColorDialog::getColor( colorInactiveEditor, NULL);
-    if ( !col.isValid() ) return;
-    colorInactiveEditor = col;
-    QPixmap pix( 16, 16 );
-    pix.fill( colorInactiveEditor );
-    actionInactiveEditorColor->setIcon(pix);
-}
-
-void TextEditor::setFilledEditorColor()
-{
-    QColor col = QColorDialog::getColor( colorFilledEditor, NULL);
-    if ( !col.isValid() ) return;
-    colorFilledEditor = col;
-    QPixmap pix( 16, 16 );
-    pix.fill( colorFilledEditor );
-    actionFilledEditorColor->setIcon(pix);
-}
-
-void TextEditor::setFontColor()
-{
-    QColor col = QColorDialog::getColor( colorFont, NULL);
-    if ( !col.isValid() ) return;
-    colorFont = col;
-    QPixmap pix( 16, 16 );
-    pix.fill( colorFont );
-    actionFontColor->setIcon(pix);
-}
-
diff --git a/texteditor.h b/texteditor.h
deleted file mode 100644 (file)
index 5d461fe..0000000
+++ /dev/null
@@ -1,159 +0,0 @@
-#ifndef TEXTEDITOR_H 
-#define TEXTEDITOR_H
-
-#include <QtGui>
-#include <QMainWindow>
-
-class QTextEdit;
-class QComboBox;
-
-#include "vymtext.h"
-
-enum EditorState {inactiveEditor,emptyEditor,filledEditor};
-
-class TextEditor : public QMainWindow
-{    Q_OBJECT
-public:
-    TextEditor();
-    ~TextEditor();
-
-    void init(const QString &ename);
-    bool isEmpty();
-    void setEditorName( const QString & );
-    void setEditorTitle(const QString &);
-    QString getEditorTitle();
-    void setFont (const QFont &);
-    void setFontHint(const QString&);
-    QString getFontHint();
-    QString getFontHintDefault();
-    void setFilename (const QString&);
-    QString getFilename ();
-    void setFilenameHint (const QString&);
-    QString getFilenameHint ();
-    QString getText();
-    VymText getVymText();
-
-    bool findText(const QString &, const QTextDocument::FindFlags &); 
-    bool findText(const QString &, const QTextDocument::FindFlags &,int i); 
-    void setTextCursor (const QTextCursor & cursor );
-    QTextCursor getTextCursor();
-    void setFocus();
-
-protected:
-    void setupFileActions();
-    void setupEditActions();
-    void setupFormatActions();
-    void setupSettingsActions();
-    void closeEvent( QCloseEvent* );
-    bool eventFilter(QObject *obj, QEvent *ev);
-
-public slots:
-    void editorChanged();          // received when text() changed
-    void setRichText(const QString &t);
-    void setPlainText(const QString &t);
-    void setTextAuto(const QString &);  // set Text and autodetect mode
-    void setVymText(const VymText &vt);
-    void setInactive();                    // Nothing can be entered
-    void editCopyAll();
-    void reset();
-
-signals:
-    void textHasChanged();
-    void windowClosed();
-    void fontFamilyHasChanged();
-    void fontSizeHasChanged();
-    
-private slots:
-    void textLoad();
-    void textSaveAs();
-    void textSave();
-    void textExportAsASCII();
-    void textPrint();
-    void textEditUndo();
-    void toggleFonthint();
-    void setRichTextMode(bool b);
-    void toggleRichText();
-    void setFixedFont();
-    void setVarFont();
-    void textBold();
-    void textUnderline();
-    void textItalic();
-    void textFamily( const QString &f );
-    void textSize( const QString &p );
-    void textColor();
-    void textAlign(QAction*);
-    void textVAlign();
-    void fontChanged( const QFont &f );
-    void colorChanged( const QColor &c );
-    void formatChanged (const QTextCharFormat &f);
-    void alignmentChanged( int a );
-    void verticalAlignmentChanged(QTextCharFormat::VerticalAlignment);
-    void updateActions();
-    void setState (EditorState);
-    void setEmptyEditorColor();
-    void setInactiveEditorColor();
-    void setFilledEditorColor();
-    void setFontColor();
-
-protected:
-    QString shortcutScope;  // used for settings and shortcut scopes
-    QTextEdit *e;
-    QPoint lastPos;        // save last position of window
-    QString editorName;     // Name of editor, e.g. note editor, heading editor, ...
-    QString editorTitle;    // window title: Editor name + selected branch
-    QString filename;
-    QString filenameHint;
-
-    QBrush emptyPaper;     // setting the background color
-    QBrush filledPaper;            // depending on the state
-    QBrush inactivePaper;   // depending on the state
-    EditorState state;
-    bool blockChangedSignal;
-
-    QColor colorEmptyEditor;
-    QColor colorFilledEditor;
-    QColor colorInactiveEditor;
-    QColor colorFont;
-
-    QFont varFont;
-    QFont fixedFont;
-    QComboBox *comboFont, *comboSize;
-    
-    QToolBar *editToolBar;
-    QToolBar *fontToolBar;
-    QToolBar *fontHintsToolBar;
-    QToolBar *formatToolBar;
-
-    QAction *actionFileLoad,
-    *actionFileSave,
-    *actionFileSaveAs,
-    *actionFilePrint,
-    *actionFileDeleteAll,
-    *actionEditUndo,
-    *actionEditRedo,
-    *actionEditCopy,
-    *actionEditCut,
-    *actionEditPaste,
-    *actionFormatUseFixedFont,
-    *actionFormatRichText,
-    *actionSettingsVarFont,
-    *actionSettingsFixedFont,
-    *actionSettingsFonthintDefault,
-    *actionEmptyEditorColor,
-    *actionFilledEditorColor,
-    *actionInactiveEditorColor,
-    *actionFontColor;
-
-    QAction *actionTextBold,
-    *actionTextUnderline,
-    *actionTextItalic,
-    *actionTextColor,
-    *actionAlignSubScript,
-    *actionAlignSuperScript,
-    *actionAlignLeft,
-    *actionAlignCenter,
-    *actionAlignRight,
-    *actionAlignJustify;
-};
-
-#endif
diff --git a/treedelegate.cpp b/treedelegate.cpp
deleted file mode 100644 (file)
index 78cd91e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#include "treedelegate.h"
-
-TreeDelegate::TreeDelegate(QObject *) 
-{
-}
-
-///  #include "vymnote.h"
-QString TreeDelegate::displayText (const QVariant & value, const QLocale & ) const  
-{
-    return value.toString().trimmed();
-}
-
diff --git a/treedelegate.h b/treedelegate.h
deleted file mode 100644 (file)
index b9c6e15..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef TREEDELEGATE_H 
-#define TREEDELEGATE_H
-
-#include <QStyledItemDelegate>
-
-class TreeDelegate:  public QStyledItemDelegate {
-    Q_OBJECT
-public:
-    TreeDelegate(QObject *parent=0);
-    QString displayText (const QVariant & value, const QLocale & locale ) const;
-    /*
-    void paint(QPainter *painter, const QStyleOptionViewItem &option,
-           const QModelIndex &index) const;
-    QSize sizeHint(const QStyleOptionViewItem &option,
-           const QModelIndex &index ) const;
-    */     
-};
-
-#endif
diff --git a/treeeditor.cpp b/treeeditor.cpp
deleted file mode 100644 (file)
index 9e4ee9b..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-#include "treeeditor.h"
-
-#include <QAction>
-#include <QRegExp>
-
-#include "mainwindow.h"
-#include "vymmodel.h"
-
-extern Main *mainWindow;
-
-///////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////////////////
-TreeEditor::TreeEditor(VymModel *m)
-{
-    model=m;
-    if (model) setModel(model);
-    init();
-}
-
-void TreeEditor::init()
-{
-    setSelectionMode (QAbstractItemView::ExtendedSelection);
-    header()->hide();
-
-    QAction *a;
-    // Shortcuts for navigating with cursor:
-    a = new QAction(tr( "Select upper object","Tree Editor" ), this);
-    a->setShortcut (Qt::Key_Up );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( cursorUp() ) );
-
-    a = new QAction( tr( "Select lower object","Tree Editor" ),this);
-    a->setShortcut ( Qt::Key_Down );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), this, SLOT( cursorDown() ) );
-
-    a = new QAction( this);
-    a->setShortcut ( Qt::Key_PageUp);
-    a->setShortcutContext (Qt::WidgetShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), mainWindow, SLOT( editMoveUp() ) );
-
-    a = new QAction( this);
-    a->setShortcut ( Qt::Key_PageDown );
-    a->setShortcutContext (Qt::WidgetShortcut);
-    addAction (a);
-    connect( a, SIGNAL( triggered() ), mainWindow, SLOT( editMoveDown() ) );
-}
-
-TreeEditor::~TreeEditor()
-{
-    //qDebug()<<"Destructor TreeEditor for "<<model->getMapName();
-}
-
-QModelIndex TreeEditor::getSelectedIndex()
-{
-    QModelIndexList list=selectionModel()->selectedIndexes();
-    if (list.isEmpty() )
-       return QModelIndex();
-    else
-       return list.first();
-}
-
-void TreeEditor::cursorUp()
-{
-    QModelIndex ix=getSelectedIndex();
-    ix=indexAbove (ix);
-    if (ix.isValid())
-       model->select (ix );
-}
-
-void TreeEditor::cursorDown()
-{
-    QModelIndex ix=getSelectedIndex();
-    ix=indexBelow (ix);
-    if (ix.isValid())
-       model->select (ix );
-}
-
diff --git a/treeeditor.h b/treeeditor.h
deleted file mode 100644 (file)
index f5c0c14..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef TREEEDITOR_H
-#define TREEEDITOR_H
-
-#include <QTreeView>
-
-class VymModel;
-
-/*! \brief TreeView widget in vym to display and edit a map, based on
- * QTreeView */
-
-
-class TreeEditor : public QTreeView {  
-    Q_OBJECT
-
-public:
-    TreeEditor(VymModel *m=NULL);
-    ~TreeEditor();
-    void init();
-    QModelIndex getSelectedIndex();
-private slots:
-    void cursorUp();
-    void cursorDown();
-
-private:
-    VymModel *model;
-};
-
-#endif
-
diff --git a/treeitem.cpp b/treeitem.cpp
deleted file mode 100644 (file)
index fcb32d6..0000000
+++ /dev/null
@@ -1,847 +0,0 @@
-#include <iostream>
-#include <QStringList>
-
-#include "attributeitem.h"
-#include "branchobj.h"
-#include "branchitem.h"
-#include "misc.h"
-#include "treeitem.h"
-#include "vymmodel.h"
-#include "xlinkitem.h"
-#include "xlinkobj.h"
-
-using namespace std;
-
-extern uint itemLastID;
-extern FlagRow* standardFlagsMaster;
-extern FlagRow* systemFlagsMaster;
-
-extern QTextStream vout;
-
-TreeItem::TreeItem()
-{
-    //qDebug() << "Constr. TI  this="<<this;
-    init();
-    itemData.clear();
-    rootItem=this;
-    parentItem=NULL;
-}
-
-TreeItem::TreeItem(const QList<QVariant> &data, TreeItem *parent)
-{
-    //qDebug() << "Constructor TreeItem this="<<this<<"  parent="<<parent;
-    init();
-    parentItem = parent;
-    itemData = data;
-    
-    rootItem=this;
-    if (parentItem )
-       rootItem=parentItem->rootItem;
-}
-
-TreeItem::~TreeItem()
-{
-    //qDebug()<<"Destr TreeItem this="<<this<<"  childcount="<<childItems.count();
-    TreeItem *ti;
-    while (!childItems.isEmpty())
-    {
-        ti = childItems.takeFirst();
-        delete ti;
-    }
-}
-
-
-void TreeItem::init()
-{
-    model=NULL;
-
-    // Assign ID  
-    itemLastID++;
-    id = itemLastID;
-    uuid = QUuid::createUuid();
-
-    branchOffset = 0;
-    branchCounter = 0;
-
-    imageOffset = 0;
-    imageCounter = 0;
-
-    attributeCounter = 0;
-    attributeOffset = 0;
-
-    xlinkCounter = 0;
-    xlinkOffset = 0;
-
-    target = false;
-
-    heading.clear();
-    note.setText("");
-
-    hidden = false;
-    hideExport = false;
-
-    backgroundColor = Qt::transparent;
-
-    standardFlags.setMasterRow (standardFlagsMaster);
-    systemFlags.setMasterRow (systemFlagsMaster);
-}
-
-void TreeItem::setModel (VymModel *m)
-{
-    model = m;
-}
-
-VymModel* TreeItem::getModel ()
-{
-    return model;
-}
-
-int TreeItem::getRowNumAppend (TreeItem *item)
-{   
-    switch (item->type)
-    {
-       case Attribute: return attributeOffset + attributeCounter;
-       case XLink: return xlinkOffset + xlinkCounter;
-       case Image: return imageOffset + imageCounter;
-       case MapCenter: return branchOffset + branchCounter;
-       case Branch: return branchOffset + branchCounter;
-       default: return -1;
-    }
-}
-
-void TreeItem::appendChild(TreeItem *item)
-{
-    item->parentItem=this;
-    item->rootItem=rootItem;
-    item->setModel (model);
-
-    if (item->type == Attribute)
-    {
-       // attribute are on top of list
-       childItems.insert (attributeCounter,item);
-       attributeCounter++;
-       xlinkOffset++;
-       imageOffset++;
-       branchOffset++;
-    }
-
-    if (item->type == XLink)
-    {
-       childItems.insert (xlinkCounter+xlinkOffset,item);
-       xlinkCounter++;
-       imageOffset++;
-       branchOffset++;
-    }
-
-    if (item->type == Image)
-    {
-       childItems.insert (imageCounter+imageOffset,item);
-       imageCounter++;
-       branchOffset++;
-    }
-
-    if (item->isBranchLikeType())
-    {
-       // branches are on bottom of list
-       childItems.append(item);
-       branchCounter++;
-
-       // Set correct type     
-       if (this==rootItem)
-           item->setType(MapCenter);
-       else
-           item->setType (Branch);
-    }
-}
-
-void TreeItem::removeChild(int row)
-{
-    if (row<0 || row > childItems.size()-1)
-       qWarning ("TreeItem::removeChild tried to remove non existing item?!");
-    else
-    {
-       if (childItems.at(row)->type==Attribute)
-       {
-           attributeCounter--;
-           xlinkOffset--;
-           imageOffset--;
-           branchOffset--;
-       }   
-       if (childItems.at(row)->type==XLink)
-       {
-           xlinkCounter--;
-           imageOffset--;
-           branchOffset--;
-       }   
-       if (childItems.at(row)->type==Image)
-       {
-           imageCounter--;
-           branchOffset--;
-       }   
-       if (childItems.at(row)->isBranchLikeType())
-           branchCounter--;
-
-       childItems.removeAt (row);
-    }
-}
-
-TreeItem *TreeItem::child(int row)
-{
-    return childItems.value(row);
-}
-
-int TreeItem::childCount() const
-{
-    return childItems.count();
-}
-
-int TreeItem::childNumber() const
-{
-    if (parentItem)
-        return parentItem->childItems.indexOf(const_cast<TreeItem*>(this));
-
-    return 0;
-}
-
-int TreeItem::columnCount() const
-{
-    return 1;
-}
-
-int TreeItem::branchCount() const
-{
-    return branchCounter;
-}
-
-int TreeItem::imageCount() const
-{
-    return imageCounter; 
-}
-
-int TreeItem::xlinkCount() const
-{
-    return xlinkCounter; 
-}
-
-int TreeItem::attributeCount() const 
-{
-    return attributeCounter; 
-}
-
-int TreeItem::row() const
-{
-    if (parentItem)
-        return parentItem->childItems.indexOf(const_cast<TreeItem*>(this));
-
-    qDebug() << "TI::row() pI=NULL this="<<this<<"  ***************";
-    return 0;
-}
-
-int TreeItem::depth() 
-{
-    // Rootitem d=-1
-    // MapCenter d=0
-    int d=-2;
-    TreeItem *ti=this;
-    while (ti!=NULL)
-    {
-       ti=ti->parent();
-       d++;
-    }
-    return d;
-}
-
-TreeItem *TreeItem::parent()
-{
-    //qDebug() << "TI::parent of "<<getHeadingStd()<<"  is "<<parentItem;
-    return parentItem;
-}
-
-bool TreeItem::isChildOf (TreeItem *ti)
-{
-    if (this==rootItem) return false;
-    if (parentItem==ti) return true;
-    if (parentItem==rootItem) return false;
-    return parentItem->isChildOf (ti);
-}
-
-int TreeItem::childNum()
-{
-    return parentItem->childItems.indexOf (this);
-}
-
-int TreeItem::num()
-{
-    if (!parentItem) return -1;
-    return parentItem->num (this);
-}
-
-int TreeItem::num (TreeItem *item)
-{
-    if (!item) return -1;
-    if (!childItems.contains(item)) return -1;
-    switch (item->getType())
-    {
-       case MapCenter: return childItems.indexOf (item) - branchOffset;
-       case Branch: return childItems.indexOf (item) - branchOffset;
-       case Image: return childItems.indexOf (item) - imageOffset;
-       case Attribute: return childItems.indexOf (item) - attributeOffset;
-       case XLink: return childItems.indexOf (item) - xlinkOffset;
-       default: return -1;
-    }
-}
-void TreeItem::setType(const Type t)
-{
-    type=t;
-    itemData[1]=getTypeName();
-}
-
-TreeItem::Type TreeItem::getType()
-{
-    if (type==Branch && depth()==0) return MapCenter;  // should not be necesssary
-    return type;
-}
-
-bool TreeItem::isBranchLikeType() const
-{
-    if (type==Branch ||type==MapCenter) return true;
-    return false;
-}
-
-QString TreeItem::getTypeName()
-{
-    switch (type)
-    {
-       case Undefined: return QString ("Undefined");
-       case MapCenter: return QString ("MapCenter");
-       case Branch: return QString ("Branch");
-       case Image: return QString ("Image");
-       case Attribute: return QString ("Attribute");
-       case XLink: return QString ("XLink");
-       default: return QString ("TreeItem::getTypeName no typename defined?!");
-    }
-}
-
-
-QVariant TreeItem::data(int column) const
-{
-    return itemData.value(column);
-}
-
-void TreeItem::setHeading (const VymText &vt)
-{
-    heading = vt;
-    itemData[0]= heading.getTextASCII();  // used in TreeEditor
-}
-
-void TreeItem::setHeadingPlainText (const QString &s)
-{
-    VymText vt;
-
-    vt.setPlainText(s);
-    
-    if (!heading.isRichText() )
-        // Keep current color
-        vt.setColor( heading.getColor() );
-    setHeading(vt);
-}
-
-Heading TreeItem::getHeading() const
-{
-    return heading;
-}
-
-QString TreeItem::getHeadingText ()
-{
-    return heading.getText();
-}
-
-std::string TreeItem::getHeadingStd () const
-{
-    return getHeadingPlain().toStdString();
-}
-
-QString TreeItem::getHeadingPlain() const
-{
-    // strip beginning and tailing WS
-    return heading.getTextASCII().trimmed();
-}
-
-QString TreeItem::getHeadingPlainWithParents(uint numberOfParents = 0) 
-{
-    QString s = getHeadingPlain();
-    if (numberOfParents > 0) 
-    {
-        TreeItem *ti = this;
-        int l = numberOfParents;
-        while ( l > 0 && ti->depth() > 0 )
-        {
-            ti = ti->parent();
-            if (ti)
-                s = ti->getHeadingPlain() + " -> " + s;
-            else
-                l = 0;
-            l--;
-        }
-    }
-    return s;
-}
-
-QString TreeItem::getHeadingDepth () // Indent by depth for debugging
-{
-    QString ds;
-    for (int i=0; i<depth(); i++) ds += "  ";
-    return ds + getHeadingPlain();
-}
-
-void TreeItem::setHeadingColor (QColor color)
-{
-    heading.setColor(color);
-}
-
-QColor TreeItem::getHeadingColor ()
-{
-    return heading.getColor();
-}
-
-void TreeItem::setBackgroundColor (QColor color)
-{
-    backgroundColor=color;
-}
-
-QColor TreeItem::getBackgroundColor() 
-{
-    return backgroundColor;
-}
-
-void TreeItem::setURL (const QString &u)
-{
-    url=u;
-    if (!url.isEmpty())
-    {
-       if (url.contains ("bugzilla.novell.com"))
-       {
-           systemFlags.activate ("system-url-bugzilla-novell");
-           if (systemFlags.isActive ("system-url"))
-               systemFlags.deactivate ("system-url");
-       } else
-       {
-           systemFlags.activate ("system-url");
-           if (systemFlags.isActive ("system-url-bugzilla-novell"))
-               systemFlags.deactivate ("system-url-bugzilla-novell");
-       }
-    }
-    else
-    {
-       if (systemFlags.isActive ("system-url"))
-           systemFlags.deactivate ("system-url");
-       if (systemFlags.isActive ("system-url-bugzilla-novell"))
-           systemFlags.deactivate ("system-url-bugzilla-novell");
-    }
-}
-
-QString TreeItem::getURL ()
-{
-    return url;
-}
-
-void TreeItem::setVymLink (const QString &vl)
-{
-    if (!vl.isEmpty())
-    {
-        // We need the relative (from loading)
-        // or absolute path (from User event)
-        // and build the absolute path.
-
-        QDir d(vl);
-        if (d.isAbsolute())
-            vymLink = vl;
-        else
-        {
-            // If we have relative, use path of
-            // current map to build absolute path
-            // based on path of current map and relative
-            // path to linked map
-            QString p=dirname(model->getDestPath());
-            vymLink = convertToAbs( p, vl);
-        }
-        systemFlags.activate("system-vymLink");
-    }
-    else
-    {
-        vymLink.clear();
-        systemFlags.deactivate("system-vymLink");
-    }
-}
-
-QString TreeItem::getVymLink ()
-{
-    return vymLink;
-}
-
-void TreeItem::toggleTarget ()
-{
-    systemFlags.toggle ("system-target");
-    target= systemFlags.isActive("system-target");
-    model->emitDataChanged(this);      // FIXME-4 better call from VM?
-}
-
-bool TreeItem::isTarget ()
-{
-    return target;
-}
-
-bool TreeItem::isNoteEmpty()
-{
-    return note.isEmpty();
-}
-
-void TreeItem::clearNote()
-{
-    note.clear();
-    systemFlags.deactivate ("system-note");
-}
-
-void TreeItem::setNote(const VymText &vt)
-{
-    note = vt;
-    if (!note.isEmpty() && !systemFlags.isActive ("system-note"))
-       systemFlags.activate ("system-note");
-    if (note.isEmpty() && systemFlags.isActive ("system-note"))
-       systemFlags.deactivate ("system-note");
-}
-
-void TreeItem::setNote(const VymNote &vn)
-{
-    note = vn;
-    if (!note.isEmpty() && !systemFlags.isActive ("system-note"))
-    systemFlags.activate ("system-note");
-    if (note.isEmpty() && systemFlags.isActive ("system-note"))
-    systemFlags.deactivate ("system-note");
-}
-
-bool TreeItem::hasEmptyNote()
-{
-    return note.isEmpty();
-}
-
-VymNote TreeItem::getNote()  
-{
-    return note;
-}
-
-QString TreeItem::getNoteASCII(const QString &indent, const int &width)
-{
-    return note.getTextASCII(indent,width);
-}
-
-QString TreeItem::getNoteASCII()
-{
-    return note.getTextASCII();
-}
-
-void TreeItem::activateStandardFlag (const QString &name)
-{
-    standardFlags.activate (name);
-    model->emitDataChanged(this);
-}
-
-void TreeItem::deactivateStandardFlag (const QString &name)
-{
-    standardFlags.deactivate (name);
-    model->emitDataChanged(this);
-}
-
-void TreeItem::deactivateAllStandardFlags ()
-{
-    standardFlags.deactivateAll ();
-    model->emitDataChanged(this);
-}
-
-void TreeItem::toggleStandardFlag(const QString &name, FlagRow *master)
-{
-    standardFlags.toggle (name,master);
-}
-
-void TreeItem::toggleSystemFlag(const QString &name, FlagRow *master)
-{
-    systemFlags.toggle (name,master);
-    model->emitDataChanged(this);
-}
-
-bool TreeItem::hasActiveStandardFlag (const QString &name)
-{
-    return standardFlags.isActive (name);
-}
-
-bool TreeItem::hasActiveSystemFlag (const QString &name)
-{
-    return systemFlags.isActive (name);
-}
-
-QStringList TreeItem::activeStandardFlagNames ()
-{
-    return standardFlags.activeFlagNames();
-}
-
-FlagRow* TreeItem::getStandardFlagRow()
-{
-    return &standardFlags;
-}
-
-QStringList TreeItem::activeSystemFlagNames ()
-{
-    return systemFlags.activeFlagNames();
-}
-
-bool TreeItem::canMoveDown()
-{
-    switch (type)
-    {
-       case Undefined: return false;
-       case MapCenter: 
-       case Branch: 
-           if (!parentItem) return false;
-           if (parentItem->num (this) < parentItem->branchCount()-1)
-               return true;
-           else
-               return false;
-           break;  
-       case Image: return false;
-       default: return false;
-    }
-}
-
-bool TreeItem::canMoveUp()
-{
-    switch (type)
-    {
-       case MapCenter: 
-       case Branch: 
-           if (!parentItem) return false;
-           if (parentItem->num (this) > 0)
-               return true;
-           else
-               return false;
-           break;  
-       default: return false;
-    }
-}
-
-uint TreeItem::getID()
-{
-    return id;
-}
-
-void TreeItem::setUuid(const QString &id)
-{
-    uuid=QUuid(id);
-}
-
-QUuid TreeItem::getUuid()
-{
-    return uuid;
-}
-
-TreeItem* TreeItem::getChildNum(const int &n)
-{
-    if (n>=0 && n<childItems.count() )
-       return childItems.at(n);
-    else
-       return NULL;
-}
-
-BranchItem* TreeItem::getFirstBranch()
-{
-    if (branchCounter>0)
-       return getBranchNum (0);
-    else
-       return NULL;
-}
-
-BranchItem* TreeItem::getLastBranch()
-{
-    if (branchCounter>0)
-       return getBranchNum (branchCounter-1);
-    else
-       return NULL;
-}
-
-ImageItem* TreeItem::getFirstImage()
-{
-    if (imageCounter>0)
-       return getImageNum (imageCounter-1);
-    else
-       return NULL;
-}
-
-ImageItem* TreeItem::getLastImage()
-{
-    if (imageCounter>0)
-       return getImageNum (imageCounter-1);
-    else
-       return NULL;
-}
-
-BranchItem* TreeItem::getNextBranch(BranchItem *currentBranch)
-{
-    if (!currentBranch) return NULL;
-    int n=num (currentBranch)+1;
-    if (n<branchCounter)
-       return getBranchNum (branchOffset + n);
-    else
-       return NULL;
-}
-
-
-BranchItem* TreeItem::getBranchNum(const int &n)
-{
-    if (n>=0 && n<branchCounter)
-       return (BranchItem*)getChildNum (branchOffset + n);
-    else
-       return NULL;
-}
-
-BranchObj* TreeItem::getBranchObjNum(const int &n)
-{
-    if (n>=0 && n<branchCounter)
-    {
-       BranchItem *bi=getBranchNum(n);
-       if (bi)
-       {
-           BranchObj *bo=(BranchObj*)(bi->getLMO());
-           if (bo)
-               return bo;
-           else
-               qDebug()<<"TI::getBONum bo=NULL";
-       }
-    } 
-    return NULL;
-}
-
-ImageItem* TreeItem::getImageNum (const int &n)
-{
-    if (n>=0 && n<imageCounter)
-       return (ImageItem*)getChildNum (imageOffset + n);
-    else
-       return NULL;
-}
-
-FloatImageObj* TreeItem::getImageObjNum (const int &n) 
-{
-    if (imageCounter>0 )
-       return (FloatImageObj*)(getImageNum(n)->getLMO());
-    else
-       return NULL;
-}
-
-AttributeItem* TreeItem::getAttributeNum (const int &n)
-{
-    if (n>=0 && n<attributeCounter)
-       return (AttributeItem*)getChildNum (attributeOffset + n);
-    else
-       return NULL;
-}
-
-XLinkItem* TreeItem::getXLinkItemNum (const int &n) 
-{
-    if (n>=0 && n<xlinkCounter )
-       return (XLinkItem*)getChildNum (xlinkOffset +n);
-    else
-       return NULL;
-}
-
-
-XLinkObj* TreeItem::getXLinkObjNum (const int &n)   
-{
-    if (xlinkCounter>0 )
-    {
-       XLinkItem *xli=getXLinkItemNum (n);
-       if (xli)
-       {
-           Link *l=xli->getLink();
-           if (l) return l->getXLinkObj();
-       }
-    }
-    return NULL;
-}
-
-
-void TreeItem::setHideTmp (HideTmpMode mode) 
-{
-    if (type==Image || type==Branch || type==MapCenter)
-//     ((ImageItem*)this)->updateVisibility();
-    {
-       //LinkableMapObj* lmo=((MapItem*)this)->getLMO();
-
-       if (mode==HideExport && (hideExport || hasHiddenExportParent() ) ) // FIXME-4  try to avoid calling hasScrolledParent repeatedly
-
-           // Hide stuff according to hideExport flag and parents
-           hidden=true;
-       else
-           // Do not hide, but still take care of scrolled status
-           hidden=false;
-       updateVisibility();
-       // And take care of my children
-       for (int i=0; i<branchCount(); ++i)
-           getBranchNum(i)->setHideTmp (mode); 
-    }
-}
-
-bool TreeItem::hasHiddenExportParent()
-{
-    // Calls parents recursivly to
-    // find out, if we or parents are temp. hidden
-
-    if (hidden || hideExport) return true;
-
-    if (parentItem) 
-       return parentItem->hasHiddenExportParent();
-    else
-       return false;
-}
-
-
-void TreeItem::setHideInExport(bool b) 
-{
-    if (type==MapCenter ||type==Branch || type==Image)
-    {
-       hideExport=b;
-       if (b)
-           systemFlags.activate("system-hideInExport");
-       else    
-           systemFlags.deactivate("system-hideInExport");
-    }
-}   
-
-bool TreeItem::hideInExport()
-{
-    return hideExport;
-}   
-
-void TreeItem::updateVisibility()
-{
-    // overloaded in derived objects
-}   
-
-bool TreeItem::isHidden()
-{
-    return hidden;
-}   
-
-QString TreeItem::getGeneralAttr()  
-{
-    QString s;
-    if (hideExport)
-        s+=attribut("hideInExport","true");
-    if (!url.isEmpty())
-       s+=attribut ("url",url);
-    if (!vymLink.isEmpty())
-       s+=attribut ("vymLink",convertToRel (model->getDestPath(),vymLink));    
-
-    if (target)
-       s+=attribut ("localTarget","true");
-    return s;  
-}
-
-
diff --git a/treeitem.h b/treeitem.h
deleted file mode 100644 (file)
index f47a997..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-#ifndef TREEITEM_H
-#define TREEITEM_H
-
-#include <QColor>
-#include <QUuid>
-#include <QList>
-#include <QVariant>
-
-#include "flagrow.h"
-#include "heading.h"
-#include "vymnote.h"
-#include "xmlobj.h"
-
-class AttributeItem;
-class BranchObj;
-class BranchItem;
-class FloatImageObj;
-class ImageItem;
-class LinkableMapObj;
-class QModelIndex;
-class VymModel;
-class XLinkItem;
-class XLinkObj;
-
-class TreeItem:public XMLObj
-{
-public:
-    enum Type {Undefined,MapCenter,Branch,Image,Attribute,XLink};
-    enum HideTmpMode {HideNone, HideExport};
-
-    TreeItem();
-    TreeItem(const QList<QVariant> &data, TreeItem *parent = 0);
-    virtual ~TreeItem();
-    void init();
-    virtual void clear()=0;
-
-    // General housekeeping
-    virtual void setModel (VymModel *m);
-    virtual VymModel* getModel();
-
-
-    /*! Return number of item, as it would be after it would have been appended.
-       This is used to notify view about layout changes before model is modified. */
-    virtual int getRowNumAppend (TreeItem *child);
-
-    virtual void appendChild (TreeItem *child);
-    virtual void removeChild (int row);
-
-    virtual TreeItem *child(int row);
-    virtual int childCount() const;
-    virtual int childNumber() const;
-    virtual int columnCount() const;
-    virtual int branchCount() const;
-    virtual int imageCount() const;
-    virtual int xlinkCount() const;
-    virtual int attributeCount() const;
-
-    virtual int row() const;
-    virtual int depth() ;
-    virtual TreeItem *parent();
-    virtual bool isChildOf (TreeItem *ti);
-
-    /*! Return number of item in parent by type, 
-       e.g. first branch has number 0           */
-    virtual int childNum();            //! Return number of item in list of all children
-    virtual int num();                 //! Return number of item by type
-    virtual int num (TreeItem *item);  //! Return number of item by type
-
-protected:
-    Type type;
-public:        
-    virtual void setType (const Type t);
-    virtual Type getType ();
-    virtual bool isBranchLikeType() const;
-    virtual QString getTypeName ();
-
-// Accessing data
-    virtual QVariant data (int column) const;
-
-
-protected:
-    Heading heading;
-    QColor backgroundColor;
-public:        
-    virtual void setHeading (const VymText &vt);
-    virtual void setHeadingPlainText (const QString &s);
-    virtual Heading getHeading() const;
-    virtual QString getHeadingText();
-    virtual std::string getHeadingStd() const; //! convenience function used for debugging
-    virtual QString getHeadingPlain() const;   //! Some views or methods can't cope with RichText
-    virtual QString getHeadingPlainWithParents(uint numberOfParents); //! Show also some of the parents
-    virtual QString getHeadingDepth();
-    virtual void setHeadingColor(QColor color);        //! Set color of heading. In BranchItem overloaded to update QGraphicsView
-    virtual QColor getHeadingColor();          //! Returns color of heading
-    virtual void setBackgroundColor(QColor color);//! Set color of frame brush, if LMO exists for item
-    virtual QColor getBackgroundColor();       //! Returns color of frame brush, if LMO exists for item
-
-
-protected:
-    QString url;
-public:
-    void setURL (const QString &url);          //! Set URL
-    QString getURL ();                         //! Get URL
-
-
-protected:
-    QString vymLink;
-public:
-    void setVymLink (const QString &url);          //! Set URL
-    QString getVymLink ();                         //! Get URL
-
-protected:
-    bool target;
-public:    
-    void toggleTarget();                       //! Toggle target status
-    bool isTarget();                           //! Returns true if item is is a target
-
-protected:
-    VymNote note;
-public:        
-    bool isNoteEmpty();
-    virtual void clearNote();
-    virtual bool hasEmptyNote();
-    virtual void setNote(const VymText &vt); //FIXME-3 setNote is called for every select or so???
-    virtual void setNote(const VymNote &vn);
-
-    virtual VymNote getNote();
-    virtual QString getNoteASCII(const QString &indent, const int &width); // returns note  (ASCII)
-    virtual QString getNoteASCII();        // returns note (ASCII)
-
-protected:
-    FlagRow standardFlags;
-    FlagRow systemFlags;
-public:        
-    virtual void activateStandardFlag(const QString &flag);
-    virtual void deactivateStandardFlag(const QString &flag);
-    virtual void deactivateAllStandardFlags();
-
-    /*! \brief Toggle a Flag 
-       If master is not NULL,, only one Flag from FlagRow master may 
-       be active simultanously, the others get deactivated.
-    */ 
-    virtual void toggleStandardFlag(const QString &flag, FlagRow *master=NULL);
-    virtual void toggleSystemFlag  (const QString &flag, FlagRow *master=NULL);
-    virtual bool hasActiveStandardFlag (const QString &flag);
-    virtual bool hasActiveSystemFlag   (const QString &flag);
-    virtual QStringList activeStandardFlagNames();
-    virtual FlagRow* getStandardFlagRow ();
-
-    virtual QStringList activeSystemFlagNames();
-
-    virtual bool canMoveDown();
-    virtual bool canMoveUp();
-
-protected:
-    uint id;
-    QUuid uuid;
-
-public:
-    virtual uint getID ();
-    virtual void setUuid (const QString &id);
-    virtual QUuid getUuid();
-
-    // Navigation and selection
-    virtual TreeItem* getChildNum(const int &n);
-    virtual BranchItem* getFirstBranch();
-    virtual BranchItem* getLastBranch();
-    virtual ImageItem* getFirstImage();
-    virtual ImageItem* getLastImage();
-
-    /*! Get next branch after current branch. Return NULL if there is no
-       next branch */
-    virtual BranchItem* getNextBranch(BranchItem* currentBranch);
-
-    virtual BranchItem* getBranchNum(const int &n);
-    virtual BranchObj* getBranchObjNum(const int &n);
-
-    virtual ImageItem* getImageNum(const int &n);
-    virtual FloatImageObj* getImageObjNum(const int &n);
-
-    virtual AttributeItem* getAttributeNum(const int &n);
-
-    virtual XLinkItem* getXLinkItemNum(const int &n);
-    virtual XLinkObj* getXLinkObjNum(const int &n);
-
-protected:
-    bool hideExport;                       //! Hide this item in export
-    bool hidden;                           //! Hidden in export if true
-public:
-    virtual void setHideTmp (HideTmpMode);
-    virtual bool hasHiddenExportParent ();
-    virtual void setHideInExport(bool);            // set export of object (and children)
-    virtual bool hideInExport();
-    virtual bool isHidden ();      
-    virtual void updateVisibility();       //! Sets visibility in LinkableMapObj, if existing
-
-    virtual QString getGeneralAttr();
-    
-protected:
-    VymModel *model;
-
-    QList<TreeItem*> childItems;
-    QList<QVariant> itemData;
-    TreeItem *parentItem;
-
-    /*!  Set rootItem (does not change, needed for some quick checks 
-        e.g. if some branch is mapCenter and isChildOf  */
-    TreeItem *rootItem;
-    int branchOffset;
-    int branchCounter;
-    int imageOffset;
-    int imageCounter;
-
-    int attributeOffset;
-    int attributeCounter;
-
-    int xlinkOffset;
-    int xlinkCounter;
-};
-
-#endif
diff --git a/treemodel.cpp b/treemodel.cpp
deleted file mode 100644 (file)
index 084c37d..0000000
+++ /dev/null
@@ -1,309 +0,0 @@
-#include <QtGui>
-
-#include "attributeitem.h"
-#include "branchitem.h"
-#include "imageitem.h"
-#include "treeitem.h"
-#include "treemodel.h"
-#include "xlinkitem.h"
-
-TreeModel::TreeModel(QObject *parent)
-    : QAbstractItemModel(parent)
-{
-    //qDebug()<<"Constr TreeModel  this="<<this;
-    QList<QVariant> rootData;
-    rootData << "Heading" << "Type";
-    rootItem = new BranchItem(rootData);
-}
-
-TreeModel::~TreeModel()
-{
-    //qDebug()<<"Destr TreeModel  this="<<this;
-    delete rootItem;
-}
-
-QVariant TreeModel::data(const QModelIndex &index, int role) const
-{
-    if (!index.isValid())
-        return QVariant();
-
-    TreeItem *item = getItem (index);
-
-    if (role != Qt::DisplayRole)
-    {
-       if (role == Qt::ForegroundRole ) 
-           return item->getHeadingColor();
-       //if (role == Qt::BackgroundRole )  // does not look nice
-       //  return item->getBackgroundColor();
-       return QVariant();
-    }  
-
-
-    return item->data(index.column());
-}
-
-Qt::ItemFlags TreeModel::flags(const QModelIndex &index) const
-{
-    if (!index.isValid())
-        return Qt::NoItemFlags;
-
-    return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable;
-}
-
-QVariant TreeModel::headerData(int section, Qt::Orientation orientation,
-                               int role) const
-{
-    if (orientation == Qt::Horizontal && role == Qt::DisplayRole)
-        return rootItem->data(section);
-
-    return QVariant();
-}
-
-QModelIndex TreeModel::index (TreeItem* ti)
-{
-    if (!ti->parent())
-       return QModelIndex();
-    else    
-       return createIndex (ti->row(),0,ti);
-}
-
-QModelIndex TreeModel::index(int row, int column, const QModelIndex &parent)
-            const
-{
-    // Make sure to return invalid index for invalid values (see modeltest)
-    if (row<0 || column<0) return QModelIndex();
-    if (column!=0) return QModelIndex();
-
-    TreeItem *parentItem;
-
-    if (!parent.isValid())
-        parentItem = rootItem;
-    else
-        parentItem = getItem (parent);
-
-    TreeItem *childItem = parentItem->child(row);
-    if (childItem)
-        return createIndex(row, column, childItem);
-    else
-        return QModelIndex();
-}
-
-QModelIndex TreeModel::parent(const QModelIndex &index) const
-{
-    if (!index.isValid())
-        return QModelIndex();
-
-    TreeItem *ti= getItem (index);
-    TreeItem *parentItem = ti->parent();
-    if (parentItem == rootItem) return QModelIndex();
-    return createIndex(parentItem->childNumber(), 0, parentItem);
-}
-
-int TreeModel::rowCount(const QModelIndex &parent) const
-{
-    TreeItem *parentItem;
-
-    if (!parent.isValid())
-        parentItem = rootItem;
-    else
-        parentItem = getItem (parent);
-
-    return parentItem->childCount();
-}
-
-int TreeModel::columnCount(const QModelIndex &parent) const
-{
-    int c;
-    if (parent.isValid())
-        c= getItem (parent)->columnCount();
-    else
-        c= rootItem->columnCount();
-    return c;
-}
-
-void TreeModel::nextBranch (BranchItem* &current, BranchItem* &previous, bool deepLevelsFirst, BranchItem *start)    
-{
-    if (deepLevelsFirst)
-    {
-        // Walk through map beginning at current with previous==0
-        // Start at root, if current==NULL
-        if (!current) 
-        {
-            if (start)
-            {
-                current=start;
-                previous=current->parentBranch();
-            } else
-            {
-                previous=(BranchItem*)rootItem;
-                current = previous->getFirstBranch();
-                return;
-            }
-        }
-        
-        // Walk the tree by always turning "left" 
-        // and returning an element when going up
-        if (current == previous)
-        {
-            // Had leaf before, go up again.
-            if (start && start == current)
-            {
-                current=NULL;
-                return;
-            }
-            current = current->parentBranch();
-            if (!current) return;
-            return nextBranch(current, previous, deepLevelsFirst, start);
-        }
-
-       if (current->depth() > previous->depth() )
-       {   
-           // Coming from above, try to go deeper
-           if (current->branchCount() >0 )
-           {
-                // Turn "left" and go deeper
-               previous=current;
-               current=current->getFirstBranch();
-                return nextBranch (current, previous, deepLevelsFirst);
-           } else      
-            {
-                // turn around and go up again
-                previous=current;
-                return;
-            }
-       }   else
-        {
-            // Coming from below, try to go down again to siblings
-
-            BranchItem *sibling=current->getBranchNum (previous->num()+1);
-            if (sibling)
-            {   
-                // Found sibling of previous, go there
-                previous=current;
-                current=sibling;
-                return nextBranch (current, previous, deepLevelsFirst, start);
-            } else
-            {
-                // and go further up
-                if (current == rootItem) current = NULL;
-                previous = current;
-                return;
-            }
-        }
-    } else
-    {
-        // Walk through map beginning at current with previous==0
-        // Start at root, if current==NULL
-        if (!current) 
-        {
-            if (start) 
-            {
-                current=start;    
-                previous=(BranchItem*)(start->parent() );
-                return;
-            } else
-            {
-                previous=(BranchItem*)rootItem;
-                current = previous->getFirstBranch();
-                return;
-            }
-        }
-
-
-       if (current->depth() > previous->depth() )
-       {   
-            // Going deeper 
-           if (current->branchCount() >0 )
-           {
-                // Turn "left" and go deeper
-               previous=current;
-               current=current->getFirstBranch();
-                return;
-           } else      
-            {
-                // turn around and go up again
-                previous=current;
-                nextBranch (current, previous, deepLevelsFirst, start);
-                return;
-            }
-        } else
-        {
-            if (start && previous == start)
-            {
-                current=NULL;
-                return;
-            }
-
-            BranchItem *sibling=current->getBranchNum (previous->num()+1);
-            if (sibling)
-            {   
-                // Found sibling of previous, go there
-                previous=current;
-                current=sibling;
-                return; 
-            } else
-            {
-                // no sibling, go further up left
-                previous=current;
-                current = current->parentBranch();
-                if (!current)
-                {
-                    current = NULL;
-                    return;
-                } else
-                {
-                    nextBranch (current, previous, deepLevelsFirst, start);
-                }
-            }
-            return;
-        }
-    }
-}
-
-bool TreeModel::removeRows ( int row, int count, const QModelIndex & parent)
-{
-    int last=row+count-1;
-    TreeItem *pi;
-    if (parent.isValid())
-       pi=getItem (parent);
-    else
-       pi=rootItem;
-    TreeItem *ti;
-
-    for (int i=row; i<=last; i++)
-    {
-       ti=pi->getChildNum (row);
-       pi->removeChild (row);  // does not delete object!
-       delete ti;
-    }
-    return true;
-}
-
-TreeItem *TreeModel::getItem(const QModelIndex &index) const
-{
-    if (index.isValid()) {
-       TreeItem *item = static_cast<TreeItem*>(index.internalPointer());
-        if (item) return item;
-    }
-    return NULL;
-}
-
-BranchItem *TreeModel::getRootItem()
-{
-    return rootItem;
-}
-
-int TreeModel::xlinkCount()
-{
-    return xlinks.count();
-}
-
-Link* TreeModel::getXLinkNum (const int &n)
-{
-    if (n>=0 && n<xlinks.count())
-       return xlinks.at(n);
-    else
-       return NULL;
-
-}
-
diff --git a/treemodel.h b/treemodel.h
deleted file mode 100644 (file)
index 3a0ccbd..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef TREEMODEL_H
-#define TREEMODEL_H
-
-#include <QAbstractItemModel>
-#include <QModelIndex>
-#include <QVariant>
-
-
-class BranchItem;
-class TreeItem;
-class Link;
-class LinkableMapObj;
-
-class TreeModel : public QAbstractItemModel
-{
-    Q_OBJECT
-
-public:
-    TreeModel(QObject *parent = 0);
-    ~TreeModel();
-
-    QVariant data(const QModelIndex &index, int role) const;
-    Qt::ItemFlags flags(const QModelIndex &index) const;
-    QVariant headerData(int section, Qt::Orientation orientation,
-                        int role = Qt::DisplayRole) const;
-    QModelIndex index (TreeItem* ti);
-    QModelIndex index(int row, int column,
-                      const QModelIndex &parent = QModelIndex()) const;
-    QModelIndex parent(const QModelIndex &index) const;
-    int rowCount(const QModelIndex &parent = QModelIndex()) const;
-    int columnCount(const QModelIndex &parent = QModelIndex()) const;
-
-    void nextBranch (BranchItem* &current, BranchItem* &previous, bool deepLevelsFirst=false, BranchItem* start=NULL);
-
-    bool removeRows ( int row, int count, 
-               const QModelIndex & parent = QModelIndex() ); 
-
-    TreeItem* getItem (const QModelIndex &index) const;
-    BranchItem* getRootItem();
-
-    virtual int xlinkCount();
-    virtual Link* getXLinkNum (const int &n); 
-
-protected:
-    BranchItem *rootItem;
-
-    QList <Link*> xlinks;
-    QList <uint> deleteLaterIDs;
-
-};
-
-#endif
diff --git a/version.cpp b/version.cpp
deleted file mode 100644 (file)
index a39525e..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#include "version.h"
-
-#include <QDebug>
-#include <QRegExp>
-
-bool versionLowerThanVym (const QString &v)
-{
-    // returns true, if Version v <  VYM_VERSION
-    if (v == __VYM_VERSION) 
-        return false;
-    else
-        return  versionLowerOrEqualThanVym(v);
-}
-
-
-bool versionLowerOrEqualThanVym (const QString &v)
-{
-    // returns true, if Version v <=  VYM_VERSION
-    return versionLowerOrEqual (v,__VYM_VERSION);
-}
-
-
-bool versionLowerOrEqual (const QString &v, const QString &vstatic)
-{
-    // returns true, if version v <= vstatic
-    bool ok = false;
-    int v1  = 0;
-    int v2  = 0;
-    int v3  = 0;
-    int vs1 = 0;
-    int vs2 = 0;
-    int vs3 = 0;
-
-    QRegExp rx("(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})");
-    int pos = rx.indexIn (v);
-    if (pos > -1)
-    {
-       v1 = rx.cap(1).toInt(&ok);
-       if (ok) v2 = rx.cap(2).toInt(&ok);
-       if (ok) v3 =rx.cap(3).toInt(&ok);
-    } 
-
-    pos=rx.indexIn (vstatic);
-    if (ok && pos>-1)
-    {
-       vs1=rx.cap(1).toInt(&ok);
-       if (ok) vs2=rx.cap(2).toInt(&ok);
-       if (ok) vs3=rx.cap(3).toInt(&ok);
-    } 
-
-    if (!ok) 
-    {
-       qWarning ()<<QString ("Warning: Checking version failed: v=%1  vstatic=%2").arg(v).arg(vstatic);
-       return false;
-    }  
-    
-    if (vs1 > v1) return true;
-    if (vs1 < v1) return false;
-    if (vs2 > v2) return true;
-    if (vs2 < v2) return false;
-    if (vs3 > v3) return true;
-    if (vs3 < v3) return false;
-    return true;    
-
-}
diff --git a/version.h b/version.h
deleted file mode 100644 (file)
index 89298ef..0000000
--- a/version.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef VERSION_H 
-#define VERSION_H
-
-#include <QString>
-
-#define __VYM_NAME "VYM" 
-#define __VYM_VERSION "2.6.11"
-#define __VYM_CODENAME "Codename: Production release"
-//#define __VYM_CODENAME "Codename: development version, not for production!"
-#define __VYM_BUILD_DATE "2017-11-14"
-#define __VYM_HOME "http://www.insilmaril.de/vym"
-
-bool versionLowerThanVym(const QString &);
-bool versionLowerOrEqualThanVym(const QString &);
-bool versionLowerOrEqual(const QString &, const QString &);
-
-#endif
diff --git a/vym.pro b/vym.pro
index f8b2ba62cd1b500f6d717700258bdf7f3f4f58d2..7af5d4879a5c2c9af2b59ed21e87e8c7a0ab08dd 100644 (file)
--- a/vym.pro
+++ b/vym.pro
@@ -8,9 +8,9 @@ QMAKE_MAC_SDK = macosx10.10
 
 QT += network 
 QT += xml 
+QT += script 
 QT += svg 
 QT += printsupport
-
 QT += widgets
 
 #  include(tmp/modeltest/modeltest.pri)
@@ -21,13 +21,14 @@ unix:!macx:isEmpty(NO_DBUS) {
     message("Compiling with DBUS")
     DEFINES += VYM_DBUS
     QT      += dbus 
-    HEADERS += adaptormodel.h adaptorvym.h 
-    SOURCES += adaptormodel.cpp adaptorvym.cpp 
+    HEADERS += src/adaptormodel.h src/adaptorvym.h 
+    SOURCES += src/adaptormodel.cpp src/adaptorvym.cpp 
 }
 
 win32 {
-    HEADERS += mkdtemp.h
-    SOURCES += mkdtemp.cpp
+    message("Compiling with win32")
+    HEADERS += src/mkdtemp.h
+    SOURCES += src/mkdtemp.cpp
     RC_FILE = vym.rc
     # Manifest embedding was suggested by Qt docs somewhere...
     win32: CONFIG += embed_manifest_exe
@@ -42,7 +43,7 @@ macx {
     QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.10
 }
 
-TRANSLATIONS += lang/vym.de_DE.ts
+TRANSLATIONS += lang/vym.de.ts
 TRANSLATIONS += lang/vym.el.ts
 TRANSLATIONS += lang/vym.en.ts
 TRANSLATIONS += lang/vym.es.ts
@@ -62,228 +63,286 @@ ICON =icons/vym.icns
 
 
 HEADERS        += \
-    aboutdialog.h \
-    taskfiltermodel.h \
-    animpoint.h \
-    arrowobj.h \
-    attribute.h \
-    attributeitem.h \
-#   attributedelegate.h\
-#   attributedialog.h \
-#   attributewidget.h \
-    branchitem.h \
-    branchobj.h \
-    branchpropeditor.h\
-    bugagent.h \
-    command.h \
-    dockeditor.h \
-    downloadagent.h \
-    editxlinkdialog.h \
-    exportoofiledialog.h \
-    exporthtmldialog.h\
-    exports.h \
-    extrainfodialog.h \
-    file.h \
-    findwidget.h \
-    findresultwidget.h \
-    findresultitem.h \
-    findresultmodel.h \
-    flag.h \
-    flagobj.h \
-    flagrowobj.h \
-    flagrow.h \
-    floatimageobj.h \
-    floatobj.h \
-    frameobj.h \
-    geometry.h \
-    heading.h \
-    headingeditor.h \
-    headingobj.h \
-    highlighter.h \
-    historywindow.h \
-    imageitem.h \
-    imageobj.h \
-    imports.h \
-    lineeditdialog.h \
-    linkablemapobj.h \
-    lockedfiledialog.h \
-    macros.h \
-    mainwindow.h \
-    mapeditor.h \
-    mapitem.h \
-    mapobj.h \
-    misc.h \
-    mysortfilterproxymodel.h \
-    noteeditor.h \
-    options.h \
-    ornamentedobj.h \
-    parser.h \
-    scripteditor.h\
-    settings.h \
-    shortcuts.h\
-    showtextdialog.h\
-    slidecontrolwidget.h\
-    slideeditor.h\
-    slideitem.h\
-    slidemodel.h\
-    task.h\
-    taskeditor.h\
-    taskmodel.h\
-    treedelegate.h \
-    treeeditor.h \
-    treeitem.h \
-    treemodel.h \
-    texteditor.h \
-    version.h \
-    vymlock.h \
-    vymmodel.h \
-    vymnote.h \
-    vymprocess.h \
-    vymtext.h \
-    vymview.h \
-    winter.h \
-    warningdialog.h \
-    xlink.h \
-    xlinkitem.h \
-    xlinkobj.h \
-    xml-base.h \
-    xml-vym.h \
-    xml-freemind.h \
-    xmlobj.h\
-    xsltproc.h 
+    src/aboutdialog.h \
+    src/animpoint.h \
+    src/arrowobj.h \
+    src/attribute.h \
+    src/attributeitem.h \
+#    src/attributedelegate.h\
+#    src/attributedialog.h \
+#    src/attributewidget.h \
+    src/branchitem.h \
+    src/branchobj.h \
+    src/branchpropeditor.h\
+    src/codeeditor.h \
+    src/command.h \
+    src/confluence-agent.h \
+    src/confluence-user.h \
+    src/confluence-userdialog.h \
+    src/credentials.h \
+    src/dockeditor.h \
+    src/download-agent.h \
+    src/editxlinkdialog.h \
+    src/exportoofiledialog.h \
+    src/export-html-dialog.h\
+    src/export-confluence-dialog.h\
+    src/export-ao.h \
+    src/export-ascii.h \
+    src/export-base.h \
+    src/export-csv.h \
+    src/export-confluence.h \
+    src/export-firefox.h \
+    src/export-html.h \
+    src/export-impress.h \
+    src/export-latex.h \
+    src/export-markdown.h \
+    src/export-orgmode.h \
+    src/export-taskjuggler.h \
+    src/extrainfodialog.h \
+    src/file.h \
+    src/findwidget.h \
+    src/findresultwidget.h \
+    src/findresultitem.h \
+    src/findresultmodel.h \
+    src/flag.h \
+    src/flagobj.h \
+    src/flagrowobj.h \
+    src/flagrow.h \
+    src/flagrowmaster.h \
+    src/floatimageobj.h \
+    src/floatobj.h \
+    src/frameobj.h \
+    src/geometry.h \
+    src/heading.h \
+    src/headingeditor.h \
+    src/headingobj.h \
+    src/highlighter.h \
+    src/historywindow.h \
+    src/imageitem.h \
+    src/imageobj.h \
+    src/imports.h \
+    src/jira-agent.h \
+    src/lineeditdialog.h \
+    src/linkablemapobj.h \
+    src/lockedfiledialog.h \
+    src/macros.h \
+    src/mainwindow.h \
+    src/mapeditor.h \
+    src/mapitem.h \
+    src/mapobj.h \
+    src/misc.h \
+    src/mysortfilterproxymodel.h \
+    src/noteeditor.h \
+    src/options.h \
+    src/ornamentedobj.h \
+    src/scripteditor.h\
+    src/scripting.h \
+    src/scriptoutput.h \
+    src/settings.h \
+    src/shortcuts.h\
+    src/showtextdialog.h\
+    src/slidecontrolwidget.h\
+    src/slideeditor.h\
+    src/slideitem.h\
+    src/slidemodel.h\
+    src/task.h\
+    src/taskeditor.h\
+    src/taskfiltermodel.h \
+    src/taskmodel.h\
+    src/treedelegate.h \
+    src/treeeditor.h \
+    src/treeitem.h \
+    src/treemodel.h \
+    src/texteditor.h \
+    src/version.h \
+    src/vymlock.h \
+    src/vymmodel.h \
+    src/vymmodelwrapper.h \
+    src/vymnote.h \
+    src/vymprocess.h \
+    src/vymtext.h \
+    src/vymview.h \
+    src/winter.h \
+    src/warningdialog.h \
+    src/xlink.h \
+    src/xlinkitem.h \
+    src/xlinkobj.h \
+    src/xml-base.h \
+    src/xml-vym.h \
+    src/xml-freemind.h \
+    src/xmlobj.h\
+    src/xsltproc.h \
+    src/zip-settings-dialog.h
 
 SOURCES        += \
-    aboutdialog.cpp \
-    taskfiltermodel.cpp \
-    animpoint.cpp \
-    arrowobj.cpp \
-    attribute.cpp \
-    attributeitem.cpp \
-#   attributedelegate.cpp \
-#   attributedialog.cpp \
-#   attributewidget.cpp \
-    branchitem.cpp \
-    branchobj.cpp \
-    branchpropeditor.cpp \
-    bugagent.cpp \
-    command.cpp \
-    dockeditor.cpp \
-    downloadagent.cpp \
-    editxlinkdialog.cpp \
-    exportoofiledialog.cpp \
-    exports.cpp \
-    exporthtmldialog.cpp \
-    extrainfodialog.cpp \
-    file.cpp \
-    findwidget.cpp \
-    findresultwidget.cpp \
-    findresultitem.cpp \
-    findresultmodel.cpp \
-    flag.cpp \
-    flagobj.cpp \
-    flagrow.cpp \
-    flagrowobj.cpp \
-    floatimageobj.cpp \
-    floatobj.cpp \
-    frameobj.cpp \
-    geometry.cpp \
-    heading.cpp \
-    headingeditor.cpp \
-    headingobj.cpp \
-    highlighter.cpp \
-    historywindow.cpp \
-    imageitem.cpp \
-    imageobj.cpp \
-    imports.cpp \
-    lineeditdialog.cpp \
-    linkablemapobj.cpp \
-    lockedfiledialog.cpp \
-    macros.cpp \
-    main.cpp \
-    mainwindow.cpp \
-    mapeditor.cpp \
-    mapitem.cpp \
-    mapobj.cpp \
-    misc.cpp \
-    mysortfilterproxymodel.cpp \
-    noteeditor.cpp \
-    options.cpp \
-    ornamentedobj.cpp \
-    parser.cpp \
-    scripteditor.cpp \
-    settings.cpp \
-    shortcuts.cpp\
-    showtextdialog.cpp \
-    slidecontrolwidget.cpp \
-    slideeditor.cpp \
-    slideitem.cpp \
-    slidemodel.cpp \
-    task.cpp \
-    taskeditor.cpp \
-    taskmodel.cpp \
-    texteditor.cpp \
-    treedelegate.cpp \
-    treeeditor.cpp \
-    treeitem.cpp \
-    treemodel.cpp \
-    version.cpp \
-    vymlock.cpp \
-    vymmodel.cpp \
-    vymnote.cpp \
-    vymprocess.cpp \
-    vymtext.cpp \
-    vymview.cpp \
-    warningdialog.cpp \
-    winter.cpp \
-    xlink.cpp \
-    xlinkitem.cpp \
-    xlinkobj.cpp \
-    xml-base.cpp \
-    xml-vym.cpp \
-    xml-freemind.cpp \
-    xmlobj.cpp \
-    xsltproc.cpp 
+    src/aboutdialog.cpp \
+    src/animpoint.cpp \
+    src/arrowobj.cpp \
+    src/attribute.cpp \
+    src/attributeitem.cpp \
+#    src/attributedelegate.cpp \
+#    src/attributedialog.cpp \
+#    src/attributewidget.cpp \
+    src/branchitem.cpp \
+    src/branchobj.cpp \
+    src/branchpropeditor.cpp \
+    src/codeeditor.cpp \
+    src/command.cpp \
+    src/confluence-agent.cpp \
+    src/confluence-user.cpp \
+    src/credentials.cpp \
+    src/dockeditor.cpp \
+    src/download-agent.cpp \
+    src/editxlinkdialog.cpp \
+    src/export-html-dialog.cpp \
+    src/export-confluence-dialog.cpp \
+    src/exportoofiledialog.cpp \
+    src/export-ao.cpp \
+    src/export-ascii.cpp \
+    src/export-base.cpp \
+    src/export-confluence.cpp \
+    src/export-csv.cpp \
+    src/export-firefox.cpp \
+    src/export-html.cpp \
+    src/export-impress.cpp \
+    src/export-latex.cpp \
+    src/export-markdown.cpp \
+    src/export-orgmode.cpp \
+    src/export-taskjuggler.cpp \
+    src/extrainfodialog.cpp \
+    src/file.cpp \
+    src/findwidget.cpp \
+    src/findresultwidget.cpp \
+    src/findresultitem.cpp \
+    src/findresultmodel.cpp \
+    src/flag.cpp \
+    src/flagobj.cpp \
+    src/flagrow.cpp \
+    src/flagrowmaster.cpp \
+    src/flagrowobj.cpp \
+    src/floatimageobj.cpp \
+    src/floatobj.cpp \
+    src/frameobj.cpp \
+    src/geometry.cpp \
+    src/heading.cpp \
+    src/headingeditor.cpp \
+    src/headingobj.cpp \
+    src/highlighter.cpp \
+    src/historywindow.cpp \
+    src/imageitem.cpp \
+    src/imageobj.cpp \
+    src/imports.cpp \
+    src/jira-agent.cpp \
+    src/lineeditdialog.cpp \
+    src/linkablemapobj.cpp \
+    src/lockedfiledialog.cpp \
+    src/macros.cpp \
+    src/main.cpp \
+    src/mainwindow.cpp \
+    src/mapeditor.cpp \
+    src/mapitem.cpp \
+    src/mapobj.cpp \
+    src/misc.cpp \
+    src/mysortfilterproxymodel.cpp \
+    src/noteeditor.cpp \
+    src/options.cpp \
+    src/ornamentedobj.cpp \
+    src/scripteditor.cpp \
+    src/scripting.cpp \
+    src/scriptoutput.cpp \
+    src/settings.cpp \
+    src/shortcuts.cpp\
+    src/showtextdialog.cpp \
+    src/slidecontrolwidget.cpp \
+    src/slideeditor.cpp \
+    src/slideitem.cpp \
+    src/slidemodel.cpp \
+    src/task.cpp \
+    src/taskeditor.cpp \
+    src/taskfiltermodel.cpp \
+    src/taskmodel.cpp \
+    src/texteditor.cpp \
+    src/treedelegate.cpp \
+    src/treeeditor.cpp \
+    src/treeitem.cpp \
+    src/treemodel.cpp \
+    src/confluence-userdialog.cpp \
+    src/version.cpp \
+    src/vymlock.cpp \
+    src/vymmodel.cpp \
+    src/vymmodelwrapper.cpp \
+    src/vymnote.cpp \
+    src/vymprocess.cpp \
+    src/vymtext.cpp \
+    src/vymview.cpp \
+    src/warningdialog.cpp \
+    src/winter.cpp \
+    src//xlink.cpp \
+    src/xlinkitem.cpp \
+    src/xlinkobj.cpp \
+    src/xml-base.cpp \
+    src/xml-vym.cpp \
+    src/xml-freemind.cpp \
+    src/xmlobj.cpp \
+    src/xsltproc.cpp \
+    src/zip-settings-dialog.cpp
 
 FORMS = \
-    attributewidget.ui \
-    branchpropeditor.ui \
-    exporthtmldialog.ui \
-    extrainfodialog.ui \
-    editxlinkdialog.ui \
-    historywindow.ui \
-    lineeditdialog.ui \
-    lockedfiledialog.ui \
-    scripteditor.ui \
-    showtextdialog.ui \
-    warningdialog.ui \
+    forms/attributewidget.ui \
+    forms/branchpropeditor.ui \
+    forms/credentials.ui \
+    forms/export-html-dialog.ui \
+    forms/export-confluence-dialog.ui \
+    forms/extrainfodialog.ui \
+    forms/editxlinkdialog.ui \
+    forms/historywindow.ui \
+    forms/lineeditdialog.ui \
+    forms/lockedfiledialog.ui \
+    forms/scripteditor.ui \
+    forms/showtextdialog.ui \
+    forms/confluence-userdialog.ui \
+    forms/warningdialog.ui \
+    forms/zip-settings-dialog.ui
 
 isEmpty( PREFIX ) {
-    PREFIX = /usr/local
+    PREFIX = /usr/share
     count( INSTALLDIR, 1 ) {
        PREFIX = $${INSTALLDIR}
-       message( "Please use PREFIX instead of INSTALLDIR" )
     }
 }
 isEmpty( BINDIR ) {
-    BINDIR = $${PREFIX}/bin
+    BINDIR = /usr/bin
 }
 isEmpty( DATADIR ) {
-    DATADIR = $${PREFIX}
+    DATADIR = $${PREFIX}/vym
 }
 
-message( "Installation directory" )
-message( $$PREFIX )
-
-
 target.path = $${BINDIR}
 INSTALLS += target
 
+DEFINES += "VYMBASEDIR='\"$${DATADIR}\"'"
+
+message( "PREFIX Dir: $$PREFIX" )
+message( "DATADIR: $$DATADIR" )
+message( "DEFINES: $$DEFINES" )
+
 language.files = lang/*.qm
-language.path = $${DATADIR}/vym/lang
+language.path = $${DATADIR}/lang
 INSTALLS += language
 
-support.files = styles/ scripts/ icons/ flags/ macros/ exports/ demos/
-support.files += LICENSE.txt
-support.path = $${DATADIR}/vym
+support.files = demos \
+    exports/  \
+    flags/ \
+    icons/ \
+    macros/ \
+    scripts/ \
+    styles/ 
+
+support.path = $${DATADIR}
 INSTALLS += support 
 
+# doc.files = doc/vym.pdf
+# doc.files += LICENSE.txt
+# doc.path = $${DOCDIR}
+# INSTALLS += doc
+# DEFINES += VYM_DOCDIR=\\\"$${DOCDIR}\\\"
diff --git a/vym.qrc b/vym.qrc
index 4d8a70e87dc0d9139d7e45238bc1abc8705f7a32..cfa9778df724f06f1484c8554ad380dabb5f7800 100644 (file)
--- a/vym.qrc
+++ b/vym.qrc
@@ -1,49 +1,50 @@
 <!DOCTYPE RCC><RCC version="1.0">
   <qresource>
-    <file alias="flag-2arrow-down.png">flags/flag-2arrow-down.png</file>
-    <file alias="flag-2arrow-up.png">flags/flag-2arrow-up.png</file>
-    <file alias="flag-arrow-down.png">flags/flag-arrow-down.png</file>
-    <file alias="flag-arrow-up.png">flags/flag-arrow-up.png</file>
-    <file alias="flag-clock.png">flags/flag-clock.png</file>
-    <file alias="flag-cross-red.png">flags/flag-cross-red.png</file>
-    <file alias="flag-exclamationmark.png">flags/flag-exclamationmark.png</file>
-    <file alias="flag-flash.png">flags/flag-flash.png</file>
-    <file alias="flag-heart.png">flags/flag-heart.png</file>
+    <file alias="flag-arrow-2down.svg">flags/standard/arrow-2down-blue.svg</file>
+    <file alias="flag-arrow-2up.svg">flags/standard/arrow-2up-blue.svg</file>
+    <file alias="flag-arrow-down.svg">flags/standard/arrow-down-blue.svg</file>
+    <file alias="flag-arrow-up.svg">flags/standard/arrow-up-blue.svg</file>
+    <file alias="flag-clock.svg">flags/standard/kalarm.svg</file>
+    <file alias="flag-cross-red.svg">flags/standard/edit-delete.svg</file>
+    <file alias="flag-exclamation-mark.svg">flags/standard/dialog-warning.svg</file>
+    <file alias="flag-flash.svg">flags/standard/flash.svg</file>
+    <file alias="flag-heart.svg">flags/standard/emblem-favorite.svg</file>
     <file alias="flag-hideexport.png">flags/flag-hideexport.png</file>
-    <file alias="flag-hook-green.png">flags/flag-hook-green.png</file>
-    <file alias="flag-info.png">flags/flag-info.png</file>
-    <file alias="flag-lamp.png">flags/flag-lamp.png</file>
-    <file alias="flag-lifebelt.png">flags/flag-lifebelt.png</file>
-    <file alias="flag-note.png">flags/flag-note.png</file>
-    <file alias="flag-phone.png">flags/flag-phone.png</file>
+    <file alias="flag-hook-green.svg">flags/standard/dialog-ok-apply.svg</file>
+    <file alias="flag-info.svg">flags/standard/help-about.svg</file>
+    <file alias="flag-lamp.svg">flags/standard/Dialog-information_on.svg</file>
+    <file alias="flag-lifebelt.svg">flags/standard/help-contextual.svg</file>
+    <file alias="flag-no-arrow-up.png">flags/system/no-arrow-up.png</file>
+    <file alias="flag-note.svg">flags/system/klipper.svg</file>
+    <file alias="flag-phone.svg">flags/standard/internet-telephony.svg</file>
     <file alias="flag-present.png">flags/flag-present.png</file>
-    <file alias="flag-questionmark.png">flags/flag-questionmark.png</file>
+    <file alias="flag-question-mark.svg">flags/standard/question-mark.svg</file>
     <file alias="flag-rose.png">flags/flag-rose.png</file>
     <file alias="flag-scrolled-right.png">flags/flag-scrolled-right.png</file>
-    <file alias="flag-smiley-good.png">flags/flag-smiley-good.png</file>
-    <file alias="flag-smiley-omb.png">flags/flag-smiley-omb.png</file>
-    <file alias="flag-smiley-sad.png">flags/flag-smiley-sad.png</file>
-    <file alias="flag-stopsign.png">flags/flag-stopsign.png</file>
-    <file alias="flag-target.png">flags/flag-target.png</file>
-    <file alias="flag-task-finished.png">flags/flag-task-finished.png</file>
-    <file alias="flag-task-new-morning.png">flags/flag-task-new-morning.png</file>
-    <file alias="flag-task-new-sleeping.png">flags/flag-task-new-sleeping.png</file>
-    <file alias="flag-task-new.png">flags/flag-task-new.png</file>
-    <file alias="flag-task-wip-morning.png">flags/flag-task-wip-morning.png</file>
-    <file alias="flag-task-wip-sleeping.png">flags/flag-task-wip-sleeping.png</file>
-    <file alias="flag-task-wip.png">flags/flag-task-wip.png</file>
-    <file alias="flag-task.png">flags/flag-task.png</file>
+    <file alias="flag-face-smile.svg">flags/standard/face-smile.svg</file>
+    <file alias="flag-face-plain.svg">flags/standard/face-plain.svg</file>
+    <file alias="flag-face-surprise.svg">flags/standard/face-surprise.svg</file>
+    <file alias="flag-face-sad.svg">flags/standard/face-sad.svg</file>
+    <file alias="flag-stopsign.svg">flags/standard/Dialog-STOP.svg</file>
+    <file alias="flag-stopsign-arrow-2up.png">flags/system/stopsign-arrow-2up.png</file>
+    <file alias="flag-stopsign-arrow-up.png">flags/system/stopsign-arrow-up.png</file>
+    <file alias="flag-target.svg">flags/system/target.svg</file>
+    <file alias="flag-task-finished.svg">flags/system/task-finished.svg</file>
+    <file alias="flag-task-new-morning.svg">flags/system/task-new-morning.svg</file>
+    <file alias="flag-task-new-sleeping.svg">flags/system/task-new-sleeping.svg</file>
+    <file alias="flag-task-new.svg">flags/system/task-new.svg</file>
+    <file alias="flag-task-wip-morning.svg">flags/system/task-wip-morning.svg</file>
+    <file alias="flag-task-wip-sleeping.svg">flags/system/task-wip-sleeping.svg</file>
+    <file alias="flag-task-wip.svg">flags/system/task-wip.svg</file>
     <file alias="flag-thumb-down.png">flags/flag-thumb-down.png</file>
     <file alias="flag-thumb-up.png">flags/flag-thumb-up.png</file>
     <file alias="flag-tmpUnscrolled-right.png">flags/flag-tmpUnscrolled-right.png</file>
-    <file alias="flag-url-16x16.png">flags/flag-url-16x16.png</file>
-    <file alias="flag-url-bugzilla-novell-closed.png">flags/flag-url-bugzilla-novell-closed.png</file>
-    <file alias="flag-url-bugzilla-novell.png">flags/flag-url-bugzilla-novell.png</file>
-    <file alias="flag-url.png">flags/flag-url.png</file>
-    <file alias="flag-urlnew.png">flags/flag-urlnew.png</file>
+    <file alias="flag-url.svg">flags/system/applications-internet.svg</file>
+    <file alias="flag-urlnew.svg">flags/system/applications-internet-new.svg</file>
     <file alias="flag-vymlink.png">flags/flag-vymlink.png</file>
     <file alias="flag-vymlinknew.png">flags/flag-vymlinknew.png</file>
-    <file alias="flag-wip.png">flags/flag-wip.png</file>
+    <file alias="flag-wip.svg">flags/standard/edit-undo.svg</file>
+
     <file alias="freemind/attach.png">flags/freemind/attach.png</file>
     <file alias="freemind/back.png">flags/freemind/back.png</file>
     <file alias="freemind/bell.png">flags/freemind/bell.png</file>
     <file alias="freemind/warning.png">flags/freemind/warning.png</file>
     <file alias="freemind/wizard.png">flags/freemind/wizard.png</file>
     <file alias="freemind/xmag.png">flags/freemind/xmag.png</file>
-    <file alias="cursorcolorpicker.png">icons/cursorcolorpicker.png</file>
-    <file alias="cursorcolorpicker16.png">icons/cursorcolorpicker16.png</file>
-    <file alias="cursorcopy.png">icons/cursorcopy.png</file>
-    <file alias="cursorhandopen.png">icons/cursorhandopen.png</file>
-    <file alias="cursorhandopen16.png">icons/cursorhandopen16.png</file>
-    <file alias="cursorxlink.png">icons/cursorxlink.png</file>
+
+    <file alias="cursorcolorpicker.png">icons/cursors/cursorcolorpicker.png</file>
+    <file alias="cursorxlink.png">icons/cursors/cursorxlink.png</file>
+
+    <file alias="configure-plus.svg">icons/configure-plus.svg</file>
+
+    <file alias="up.png">icons/up.png</file>
     <file alias="down.png">icons/down.png</file>
+    <file alias="up-diagonal-left.png">icons/up-diagonal-left.png</file>
+    <file alias="up-diagonal-right.png">icons/up-diagonal-right.png</file>
+    <file alias="down-diagonal-left.png">icons/down-diagonal-left.png</file>
+    <file alias="down-diagonal-right.png">icons/down-diagonal-right.png</file>
     <file alias="editcopy.png">icons/editcopy.png</file>
     <file alias="editcut.png">icons/editcut.png</file>
     <file alias="editpaste.png">icons/editpaste.png</file>
     <file alias="editsort.png">icons/editsort.png</file>
     <file alias="editsortback.png">icons/editsortback.png</file>
     <file alias="edittrash.png">icons/edittrash.png</file>
-    <file alias="exit.png">icons/exit.png</file>
+    <file alias="exit.png">icons/system-shutdown.svg</file>
     <file alias="file-document-export.png">icons/file-document-export.png</file>
     <file alias="fileclose.png">icons/fileclose.png</file>
     <file alias="filenew.png">icons/filenew.png</file>
     <file alias="filenewcopy.png">icons/filenewcopy.png</file>
     <file alias="fileopen.png">icons/fileopen.png</file>
     <file alias="fileprint.png">icons/fileprint.png</file>
-    <file alias="filesave.png">icons/filesave.png</file>
+    <file alias="filesave.svg">icons/document-save.svg</file>
     <file alias="filesaveas.png">icons/filesaveas.png</file>
     <file alias="find.png">icons/find.png</file>
     <file alias="formatcolorbranch.png">icons/formatcolorbranch.png</file>
     <file alias="linestyle-dashdotdot.png">icons/linestyle-dashdotdot.png</file>
     <file alias="linestyle-dot.png">icons/linestyle-dot.png</file>
     <file alias="linestyle-solid.png">icons/linestyle-solid.png</file>
-    <file alias="modecolor.png">icons/modecolor.png</file>
-    <file alias="modecopy.png">icons/modecopy.png</file>
-    <file alias="modelink.png">icons/modelink.png</file>
+    <file alias="mode-select.svg">icons/modifiers/mode-select.svg</file>
+    <file alias="mode-color.png">icons/modifiers/mode-color.png</file>
+    <file alias="mode-xlink.png">icons/modifiers/mode-xlink.png</file>
+    <file alias="mode-move-object.svg">icons/modifiers/mode-move-object.svg</file>
+    <file alias="mode-move-view.png">icons/modifiers/cursorhandopen.png</file>
     <file alias="newbranch.png">icons/newbranch.png</file>
     <file alias="newmapcenter.png">icons/newmapcenter.png</file>
     <file alias="redo.png">icons/redo.png</file>
-    <file alias="rotate-ccw.png">icons/rotate-ccw.png</file>
-    <file alias="rotate-cw.png">icons/rotate-cw.png</file>
+    <file alias="transform-rotate-ccw.svg">icons/transform-rotate-ccw.svg</file>
+    <file alias="transform-rotate-cw.svg">icons/transform-rotate-cw.svg</file>
+    <file alias="script-reload.svg">icons/script-reload.svg</file>
+    <file alias="script-run.svg">icons/script-run.svg</file>
     <file alias="scripteditor.png">icons/scripteditor.png</file>
     <file alias="selectnext.png">icons/selectnext.png</file>
     <file alias="selectprevious.png">icons/selectprevious.png</file>
     <file alias="text_under.png">icons/text_under.png</file>
     <file alias="treeeditor.png">icons/treeeditor.png</file>
     <file alias="undo.png">icons/undo.png</file>
-    <file alias="up.png">icons/up.png</file>
+    <file alias="view-video-projector.png">icons/video-projector.png</file>
     <file alias="view-filter.png">icons/view-filter.png</file>
     <file alias="viewmag+.png">icons/viewmag+.png</file>
     <file alias="viewmag-.png">icons/viewmag-.png</file>
     <file alias="vym-16x16.png">icons/vym-16x16.png</file>
     <file alias="vym-editor.png">icons/vym-editor.png</file>
     <file alias="vym.png">icons/vym.png</file>
+    <file alias="macros.vys">macros/macros.vys</file>
+    <file alias="taskfilter-currentmap.png">icons/taskfilter-currentmap.png</file>
+    <file alias="taskfilter-activetask.png">icons/taskfilter-activetask.png</file>
+    <file alias="taskfilter-newtask.png">icons/taskfilter-newtask.png</file>
+
   </qresource></RCC>
\ No newline at end of file
diff --git a/vym.rc b/vym.rc
index 09617448cf7a4f4475101958fcc6a5da96f9ec41..5b02e7ca2a53d66ccd47fc5872caa0ed64929646 100644 (file)
--- a/vym.rc
+++ b/vym.rc
@@ -1 +1 @@
-IDI_ICON1              ICON            DISCARDABLE     "icons/vym.ico"
+IDI_ICON1              ICON            DISCARDABLE "icons/vym-128x128.ico"
diff --git a/vymlock.cpp b/vymlock.cpp
deleted file mode 100644 (file)
index ad6fe40..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-#include <QDebug>       
-#include <QFile>       
-#include <QRegularExpression>       
-
-#include "file.h"
-
-#include "vymlock.h"
-
-VymLock::VymLock() 
-{
-    init();
-}
-
-VymLock::VymLock( const QString &fn )
-{
-    init();
-    mapPath = fn;
-}
-
-VymLock::~VymLock()
-{
-    if ( state == lockedByMyself && !releaseLock()) 
-        qWarning() << "Destructor VymLock:  Removing LockFile failed";
-}
-
-void VymLock::init()
-{
-    state = undefined;
-}
-
-bool VymLock::tryLock()
-{
-    QFile lockFile( mapPath + ".lock");
-    if ( lockFile.exists() )
-    {
-        // File is already locked       
-        if (debug) qDebug() << "VymLock::tryLock  failed: LockFile exists";
-
-        QString s;
-        if (!loadStringFromDisk( mapPath, s) )
-            qWarning( "Failed to read from existing lockFile");
-        else
-        {
-            QRegularExpression re("^author:\\s\\\"(.*)\\\"$");
-            re.setPatternOptions( QRegularExpression::MultilineOption );
-            QRegularExpressionMatch match = re.match( s );
-            if ( match.hasMatch() ) author = match.captured(1);
-
-            re.setPattern("^host:\\s\\\"(.*)\\\"$");
-            match = re.match( s );
-            if ( match.hasMatch() ) host = match.captured(1);
-        }
-        state = lockedByOther;
-        return false; 
-    }
-
-    if (!lockFile.open(QFile::WriteOnly | QFile::Text))
-    {
-        if (debug) qWarning() << QString("VymLock::tryLock failed: Cannot open lockFile %1\n%2")
-                    .arg( mapPath + ".lock")
-                    .arg( lockFile.errorString() );
-        state = notWritable;
-        return false;
-    }
-
-    QString s;
-    if (!author.isEmpty() ) s  = QString( "author: \"%1\"\n").arg( author );
-    if (!host.isEmpty() )   s += QString( "host: \"%1\"\n").arg( host );
-
-    if (!s.isEmpty() )
-    {
-        QTextStream out( &lockFile );
-        out.setCodec( "UTF-8" );
-        out << s;
-    }
-
-    lockFile.close();
-    state = lockedByMyself;
-
-    return true;
-}
-
-VymLock::LockState VymLock::getState()
-{
-    return state;
-}
-
-bool VymLock::removeLock() 
-{
-    QFile LockFile( mapPath + ".lock" );
-    if (LockFile.remove() )
-        return true;
-    else
-        return false;
-}
-
-bool VymLock::releaseLock() 
-{
-    if (state == lockedByMyself)
-    {
-        QFile LockFile( mapPath + ".lock" );
-        if (LockFile.remove() )
-            return true;
-    }
-    return false;
-}
-
-bool VymLock::rename( const QString &newMapPath)
-{
-    QFile lockFile( mapPath + ".lock" );
-
-    if ( lockFile.rename( newMapPath + ".lock") )
-    {
-        mapPath = newMapPath;
-        return true;
-    }
-    return false;
-}
-
-void VymLock::setAuthor(const QString &s)
-{
-    author = s;
-}
-
-QString VymLock::getAuthor()
-{
-    return author;
-}
-
-void VymLock::setHost(const QString &s)
-{
-    host = s;
-}
-
-QString VymLock::getHost()
-{
-    return host;
-}
-void VymLock::setMapPath(const QString &s)
-{
-    mapPath = s;
-}
-
-QString VymLock::getMapPath()
-{
-    return mapPath;
-}
diff --git a/vymlock.h b/vymlock.h
deleted file mode 100644 (file)
index a78a6ab..0000000
--- a/vymlock.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef VYMLOCK_H
-#define VYMLOCK_H
-
-extern bool debug;
-
-class VymLock
-{
-public:
-    enum LockState {undefined, lockedByMyself, lockedByOther, notWritable};
-    VymLock();
-    VymLock( const QString &fn );
-    ~VymLock();
-    void init();
-    bool tryLock();
-    LockState getState();
-    bool removeLock();
-    bool releaseLock();
-    bool rename( const QString &newMapPath);
-    void setAuthor(const QString &s);
-    QString getAuthor();
-    void setHost(const QString &s);
-    QString getHost();
-    void setMapPath(const QString &s);
-    QString getMapPath();
-
-private:
-    QWidget *parent;
-    QString author;
-    QString host;
-    QString mapPath;
-    LockState state;
-};
-
-#endif
diff --git a/vymmodel.cpp b/vymmodel.cpp
deleted file mode 100644 (file)
index 9f59a39..0000000
+++ /dev/null
@@ -1,6898 +0,0 @@
-#include <QApplication>
-#include <QSvgGenerator>
-
-#if defined(VYM_DBUS)
-#include <QtDBus/QDBusConnection>
-#endif
-
-#ifndef Q_OS_WIN
-#include <unistd.h>
-#else
-#define sleep Sleep
-#endif
-
-#include <QColorDialog>
-#include <QFileDialog>
-#include <QMessageBox>
-#include <QPrinter>
-
-#include "vymmodel.h"
-
-#include "attributeitem.h"
-#include "treeitem.h"
-#include "branchitem.h"
-#include "bugagent.h"
-#include "downloadagent.h"
-#include "editxlinkdialog.h"
-#include "exports.h"
-#include "exporthtmldialog.h"
-#include "file.h"
-#include "findresultmodel.h"
-#include "lockedfiledialog.h"
-#include "mainwindow.h"
-#include "misc.h"
-#include "noteeditor.h"
-#include "options.h"
-#include "parser.h"
-#include "vymprocess.h"
-#include "scripteditor.h" 
-#include "slideitem.h"
-#include "slidemodel.h"
-#include "taskeditor.h"
-#include "taskmodel.h"
-#include "warningdialog.h"
-#include "xlinkitem.h"
-#include "xlinkobj.h"
-#include "xml-freemind.h"
-#include "xmlobj.h"
-#include "xml-vym.h"
-
-#ifdef Q_OS_WIN
-#include <windows.h>
-#endif
-
-extern bool debug;
-extern bool testmode;
-extern Main *mainWindow;
-
-extern Settings settings;
-extern QString tmpVymDir;
-extern QString macroPath;
-
-extern NoteEditor *noteEditor;
-extern TaskEditor *taskEditor;
-extern ScriptEditor *scriptEditor;
-extern FlagRow *standardFlagsMaster;
-
-extern Options options;
-
-extern QString clipboardDir;
-extern QString clipboardFile;
-extern bool clipboardEmpty;
-
-extern ImageIO imageIO;
-
-extern TaskModel* taskModel;
-
-extern QString vymName;
-extern QString vymVersion;
-extern QDir vymBaseDir;
-
-extern QDir lastImageDir;
-extern QDir lastMapDir;
-extern QDir lastExportDir;
-
-extern bool bugzillaClientAvailable;
-
-extern Settings settings;
-
-uint VymModel::idLast=0;    // make instance
-
-VymModel::VymModel()
-{
-    //qDebug()<< "Const VymModel";
-    init();
-    rootItem->setModel (this);
-}
-
-VymModel::~VymModel() 
-{
-    //out << "Destr VymModel begin this="<<this<<"  "<<mapName<<flush;
-    mapEditor=NULL;
-    blockReposition=true;
-    autosaveTimer->stop();
-    fileChangedTimer->stop();
-    stopAllAnimation();
-
-    //qApp->processEvents();   // Update view (scene()->update() is not enough)
-    //qDebug() << "Destr VymModel end   this="<<this;
-}   
-
-void VymModel::clear() 
-{
-    while (rootItem->childCount() >0)
-    {
-       //qDebug()<<"VM::clear  ri="<<rootItem<<"  ri->count()="<<rootItem->childCount();
-       deleteItem (rootItem->getChildNum(0) );
-    }
-}
-
-void VymModel::init () 
-{
-    // No MapEditor yet
-    mapEditor       = NULL;
-
-    // Use default author
-    author = settings.value("/user/name", tr("unknown user","default name for map author in settings")).toString();
-
-    // States and IDs
-    idLast++;
-    modelID         = idLast;
-    mapChanged      = false;
-    mapDefault      = true;
-    mapUnsaved      = false;
-
-    // Selection history
-    selModel        = NULL;
-    selectionBlocked= false;
-    resetSelectionHistory();
-
-    resetHistory();
-
-    // Create tmp dirs
-    makeTmpDirectories();
-    
-    // Files
-    readonly        = false;
-    zipped          = true;
-    filePath        = "";
-    fileName        = tr("unnamed");
-    mapName         = fileName;
-    blockReposition = false;
-    blockSaveState  = false;
-
-    autosaveTimer   = new QTimer (this);
-    connect(autosaveTimer, SIGNAL(timeout()), this, SLOT(autosave()));
-
-    fileChangedTimer= new QTimer (this);       
-    fileChangedTimer->start(3000);
-    connect(fileChangedTimer, SIGNAL(timeout()), this, SLOT(fileChanged()));
-
-    // find routine
-    findReset();
-
-    // animations   // FIXME-4 switch to new animation system 
-    animationUse    = settings.value ("/animation/use",false).toBool();    // FIXME-4 add options to control _what_ is animated
-    animationTicks  = settings.value("/animation/ticks",20).toInt();
-    animationInterval=settings.value("/animation/interval",5).toInt();
-    animObjList.clear();    
-    animationTimer  = new QTimer (this);
-    connect(animationTimer, SIGNAL(timeout()), this, SLOT(animate()));
-
-    // View - map
-    defaultFont.setPointSizeF (16);
-    defLinkColor    = QColor (0,0,255);
-    linkcolorhint   = LinkableMapObj::DefaultColor;
-    linkstyle       = LinkableMapObj::PolyParabel;
-    defXLinkPen.setWidth (1);
-    defXLinkPen.setColor ( QColor (50,50,255) );
-    defXLinkPen.setStyle ( Qt::DashLine );
-    defXLinkStyleBegin = "HeadFull";
-    defXLinkStyleEnd   = "HeadFull";
-
-    hasContextPos   = false;
-
-    hidemode        = TreeItem::HideNone;
-
-    // Animation in MapEditor
-    zoomFactor      = 1;
-    rotationAngle   = 0;
-    animDuration    = 2000;
-    animCurve       = QEasingCurve::OutQuint;
-
-    // Initialize presentation slides
-    slideModel      = new SlideModel (this);
-    blockSlideSelection=false;
-
-    // Avoid recursions later
-    cleaningUpLinks = false;
-
-    // Network
-    netstate        = Offline;
-
-#if defined(VYM_DBUS)
-     // Announce myself on DBUS
-    new AdaptorModel(this);    // Created and not deleted as documented in Qt
-    if (!QDBusConnection::sessionBus().registerObject (QString("/vymmodel_%1").arg(modelID),this))
-       qWarning ("VymModel: Couldn't register DBUS object!");
-#endif
-}
-
-void VymModel::makeTmpDirectories()
-{
-    // Create unique temporary directories
-    tmpMapDir = tmpVymDir+QString("/model-%1").arg(modelID);
-    histPath = tmpMapDir+"/history";
-    QDir d;
-    d.mkdir (tmpMapDir);
-}
-
-MapEditor* VymModel::getMapEditor() 
-{
-    return mapEditor;
-}
-
-bool VymModel::isRepositionBlocked()
-{
-    return blockReposition;
-}
-
-void VymModel::updateActions() 
-{
-    // Tell mainwindow to update states of actions
-    mainWindow->updateActions();
-}
-
-
-
-QString VymModel::saveToDir(const QString &tmpdir, const QString &prefix, bool writeflags, const QPointF &offset, TreeItem *saveSel)
-{
-    // tmpdir      temporary directory to which data will be written
-    // prefix      mapname, which will be appended to images etc.
-    // 
-    // writeflags   Only write flags for "real" save of map, not undo
-    // offset      offset of bbox of whole map in scene. 
-    //             Needed for XML export
-
-    XMLObj xml;
-
-    // Save Header
-    QString ls;
-    switch (linkstyle)
-    {
-       case LinkableMapObj::Line: 
-           ls="StyleLine";
-           break;
-       case LinkableMapObj::Parabel:
-           ls="StyleParabel";
-           break;
-       case LinkableMapObj::PolyLine:  
-           ls="StylePolyLine";
-           break;
-       default:
-           ls="StylePolyParabel";
-           break;
-    }  
-
-    QString s="<?xml version=\"1.0\" encoding=\"utf-8\"?><!DOCTYPE vymmap>\n";
-    QString colhint="";
-    if (linkcolorhint==LinkableMapObj::HeadingColor) 
-       colhint=xml.attribut("linkColorHint","HeadingColor");
-
-    QString mapAttr=xml.attribut("version",vymVersion);
-    if (!saveSel)
-       mapAttr+= xml.attribut("author",author) +
-                 xml.attribut("title",title) +
-                 xml.attribut("comment",comment) +
-                 xml.attribut("date",getDate()) +
-                 xml.attribut("branchCount", QString().number(branchCount())) +
-                 xml.attribut("backgroundColor", mapEditor->getScene()->backgroundBrush().color().name() ) +
-                 xml.attribut("defaultFont", defaultFont.toString() ) +
-                 xml.attribut("selectionColor", mapEditor->getSelectionColor().name() ) +
-                 xml.attribut("linkStyle", ls ) +
-                 xml.attribut("linkColor", defLinkColor.name() ) +
-                 xml.attribut("defXLinkColor", defXLinkPen.color().name() ) +
-                 xml.attribut("defXLinkWidth", QString().setNum(defXLinkPen.width(),10) ) +
-                 xml.attribut("defXLinkPenStyle", penStyleToString (defXLinkPen.style() )) +
-                 xml.attribut("defXLinkStyleBegin", defXLinkStyleBegin) +
-                 xml.attribut("defXLinkStyleEnd", defXLinkStyleEnd) +
-                 xml.attribut("mapZoomFactor", QString().setNum(mapEditor->getZoomFactorTarget()) ) +
-                 xml.attribut("mapRotationAngle", QString().setNum(mapEditor->getAngleTarget()) ) +
-                 colhint; 
-    s+=xml.beginElement("vymmap",mapAttr); 
-    xml.incIndent();
-
-    // Find the used flags while traversing the tree   
-    standardFlagsMaster->resetUsedCounter();
-    
-
-    // Temporary list of links
-    QList <Link*> tmpLinks;
-
-    // Build xml recursivly
-    if (!saveSel)
-    {
-       // Save all mapcenters as complete map, if saveSel not set
-       s+=saveTreeToDir(tmpdir,prefix,offset,tmpLinks);
-
-       // Save local settings
-       s+=settings.getDataXML (destPath);
-
-       // Save selection
-       if (getSelectedItem() && !saveSel ) 
-           s+=xml.valueElement("select",getSelectString());
-
-    } else
-    {
-       switch (saveSel->getType())
-       {
-           case TreeItem::Branch:
-               // Save Subtree
-               s+=((BranchItem*)saveSel)->saveToDir(tmpdir,prefix,offset,tmpLinks);
-               break;
-           case TreeItem::MapCenter:
-               // Save Subtree
-               s+=((BranchItem*)saveSel)->saveToDir(tmpdir,prefix,offset,tmpLinks);
-               break;
-           case TreeItem::Image:
-               // Save Image
-               s+=((ImageItem*)saveSel)->saveToDir(tmpdir,prefix);
-               break;
-           default: 
-               // other types shouldn't be safed directly...
-               break;
-       }
-    }
-
-    // Save XLinks
-    for (int i=0; i<tmpLinks.count();++i)
-       s+=tmpLinks.at(i)->saveToDir();
-
-    // Save slides  
-    s+=slideModel->saveToDir();        
-
-    xml.decIndent();
-    s+=xml.endElement("vymmap");
-
-    if (writeflags) standardFlagsMaster->saveToDir (tmpdir+"/flags/","",writeflags);
-    return s;
-}
-
-QString VymModel::saveTreeToDir (const QString &tmpdir,const QString &prefix, const QPointF &offset, QList <Link*> &tmpLinks)
-{
-    QString s;
-    for (int i=0; i<rootItem->branchCount(); i++)
-       s+=rootItem->getBranchNum(i)->saveToDir (tmpdir,prefix,offset,tmpLinks);
-    return s;
-}
-
-void VymModel::setFilePath(QString fpath, QString destname)
-{
-    if (fpath.isEmpty() || fpath=="")
-    {
-       filePath="";
-       fileName="";
-       destPath="";
-    } else
-    {
-       filePath=fpath;     // becomes absolute path
-       fileName=fpath;     // gets stripped of path
-       destPath=destname;  // needed for vymlinks and during load to reset fileChangedTime
-
-       // If fpath is not an absolute path, complete it
-       filePath=QDir(fpath).absolutePath();
-       fileDir=filePath.left (1+filePath.lastIndexOf ("/"));
-
-       // Set short name, too. Search from behind:
-        fileName=basename(fileName);
-
-       // Forget the .vym (or .xml) for name of map
-       mapName=fileName.left(fileName.lastIndexOf(".",-1,Qt::CaseSensitive) );
-    }
-}
-
-void VymModel::setFilePath(QString fpath)
-{
-    setFilePath (fpath,fpath);
-}
-
-QString VymModel::getFileDir()
-{
-    return fileDir;
-}
-
-QString VymModel::getFilePath()
-{
-    return filePath;
-}
-
-QString VymModel::getFileName()
-{
-    return fileName;
-}
-
-QString VymModel::getMapName()
-{
-    return mapName;
-}
-
-QString VymModel::getDestPath()
-{
-    return destPath;
-}
-
-bool VymModel::parseVymText (const QString &s)
-{
-    bool ok = false;
-    BranchItem *bi = getSelectedBranch();
-    if (bi)
-    {
-        parseBaseHandler *handler = new parseVYMHandler;
-
-        bool blockSaveStateOrg=blockSaveState;
-        blockReposition=true;
-        blockSaveState=true;
-        QXmlInputSource source;
-        source.setData( s );
-        QXmlSimpleReader reader;
-        reader.setContentHandler( handler );
-        reader.setErrorHandler( handler );
-
-        handler->setInputString (s);
-        handler->setModel ( this );
-        handler->setLoadMode (ImportReplace, 0);
-
-        ok = reader.parse( source );
-        blockReposition=false;
-        blockSaveState=blockSaveStateOrg;
-        if ( ok )
-        {
-            emitNoteChanged( bi );
-            emitDataChanged( bi );
-            reposition();   // to generate bbox sizes
-        } else
-        {
-            QMessageBox::critical( 0, tr( "Critical Parse Error" ),
-                                   tr( handler->errorProtocol().toUtf8() ) );
-            // returnCode=1;
-            // Still return "success": the map maybe at least
-            // partially read by the parser
-        }
-    }
-    return ok;
-}
-
-File::ErrorCode VymModel::loadMap (
-    QString fname,
-    const LoadMode &lmode, 
-    const FileType &ftype,
-    const int &contentFilter,
-    int pos)
-{
-    File::ErrorCode err = File::Success;
-
-    // Get updated zoomFactor, before applying one read from file in the end
-    if (mapEditor) 
-    {
-       zoomFactor = mapEditor->getZoomFactorTarget();  
-       rotationAngle = mapEditor->getAngleTarget();
-    }
-
-    parseBaseHandler *handler;
-    fileType=ftype;
-    switch (fileType)
-    {
-       case VymMap: 
-           handler = new parseVYMHandler; 
-           ((parseVYMHandler*)handler)->setContentFilter (contentFilter);
-           break;
-       case FreemindMap : handler = new parseFreemindHandler; break;
-       default: 
-           QMessageBox::critical( 0, tr( "Critical Parse Error" ),
-                  "Unknown FileType in VymModel::load()");
-       return File::Aborted;   
-    }
-
-    bool zipped_org = zipped;
-
-    if (lmode == NewMap)
-    {
-       // Reset timestamp to check for later updates of file
-       fileChangedTime = QFileInfo (destPath).lastModified();
-
-       selModel->clearSelection();
-    } 
-
-    // Create temporary directory for packing
-    bool ok;
-    QString tmpZipDir = makeTmpDir (ok,"vym-pack");
-    if (!ok)
-    {
-       QMessageBox::critical( 0, tr( "Critical Load Error" ),
-          tr("Couldn't create temporary directory before load\n"));
-       return File::Aborted; 
-    }
-
-    if (fname.right(4) == ".xml" || fname.right(3) == ".mm")
-        err = File::NoZip;
-    else
-    {
-        // Try to unzip file
-        err = unzipDir (tmpZipDir,fname);
-    }
-    QString xmlfile;
-    if (err == File::NoZip)
-    {
-       xmlfile = fname;
-       zipped = false;
-    } else
-    {
-       zipped = true;
-       
-       // Look for mapname.xml
-       xmlfile = fname.left(fname.lastIndexOf(".", -1, Qt::CaseSensitive));
-       xmlfile = xmlfile.section( '/', -1 );
-       QFile mfile( tmpZipDir + "/" + xmlfile + ".xml");
-       if (!mfile.exists() )
-       {
-           // mapname.xml does not exist, well, 
-           // maybe someone renamed the mapname.vym file...
-           // Try to find any .xml in the toplevel 
-           // directory of the .vym file
-           QStringList filters;
-           filters<<"*.xml";
-           QStringList flist = QDir (tmpZipDir).entryList(filters);
-           if (flist.count() == 1) 
-           {
-               // Only one entry, take this one
-                xmlfile = tmpZipDir + "/"+flist.first();
-        } else
-        {
-            for ( QStringList::Iterator it = flist.begin(); it != flist.end(); ++it )
-                *it=tmpZipDir + "/" + *it;
-            // FIXME-4 Multiple entries, load all (but only the first one into this ME)
-            //mainWindow->fileLoadFromTmp (flist);
-            //returnCode=1;    // Silently forget this attempt to load
-            qWarning ("MainWindow::load (fn)  multimap found...");
-        }
-
-        if (flist.isEmpty() )
-        {
-            QMessageBox::critical( 0, tr( "Critical Load Error" ),
-                                   tr("Couldn't find a map (*.xml) in .vym archive.\n"));
-            err=File::Aborted;
-        }
-       } //file doesn't exist  
-       else
-           xmlfile=mfile.fileName();
-    }
-
-    QFile file( xmlfile);
-
-    // I am paranoid: file should exist anyway
-    // according to check in mainwindow.
-    if (!file.exists() )
-    {
-       QMessageBox::critical( 0, tr( "Critical Parse Error" ),
-                  tr(QString("Couldn't open map %1").arg(file.fileName()).toUtf8()));
-       err=File::Aborted;      
-    } else
-    {
-       bool blockSaveStateOrg = blockSaveState;
-       blockReposition = true;
-       blockSaveState  = true;
-       mapEditor->setViewportUpdateMode (QGraphicsView::NoViewportUpdate);
-       QXmlInputSource source( &file);
-       QXmlSimpleReader reader;
-       reader.setContentHandler( handler );
-       reader.setErrorHandler( handler );
-       handler->setModel ( this);
-
-       // We need to set the tmpDir in order  to load files with rel. path
-       QString tmpdir;
-       if (zipped)
-           tmpdir = tmpZipDir;
-       else
-           tmpdir = fname.left(fname.lastIndexOf("/", -1));    
-       handler->setTmpDir (tmpdir);
-       handler->setInputFile (file.fileName());
-       if (lmode == ImportReplace)
-           handler->setLoadMode (ImportReplace, pos);
-       else    
-           handler->setLoadMode (lmode, pos);
-
-       bool ok = reader.parse( source );
-       blockReposition = false;
-       blockSaveState  = blockSaveStateOrg;
-       mapEditor->setViewportUpdateMode (QGraphicsView::MinimalViewportUpdate);
-       file.close();
-       if ( ok ) 
-       {
-           reposition();   // to generate bbox sizes
-           emitSelectionChanged();
-
-           if (lmode == NewMap)
-           {
-               mapDefault = false;
-               mapChanged = false;
-               mapUnsaved = false;
-               autosaveTimer->stop();
-
-               resetHistory();
-               resetSelectionHistory();
-
-                if (! tryVymLock() && debug ) 
-                    qWarning() << "VM::loadMap  no lockfile created!";
-            }
-
-           // Recalc priorities and sort   
-           taskModel->recalcPriorities();
-       } else 
-       {
-           QMessageBox::critical( 0, tr( "Critical Parse Error" ),
-                      tr( handler->errorProtocol().toUtf8() ) );
-           // returnCode=1;    
-           // Still return "success": the map maybe at least
-           // partially read by the parser
-       }   
-    }  
-
-    // Delete tmpZipDir
-    removeDir (QDir(tmpZipDir));
-
-    // Restore original zip state
-    zipped = zipped_org;
-
-    updateActions();
-    
-    if (lmode!=NewMap) emitUpdateQueries();
-
-    if (mapEditor) 
-    {
-       mapEditor->setZoomFactorTarget (zoomFactor);
-       mapEditor->setAngleTarget (rotationAngle);
-    }
-
-    if (vymView) vymView->readSettings();  
-
-    qApp->processEvents();  // Update view (scene()->update() is not enough)
-    return err;
-}
-
-File::ErrorCode VymModel::save (const SaveMode &savemode)
-{
-    QString tmpZipDir;
-    QString mapFileName;
-    QString safeFilePath;
-
-    File::ErrorCode err=File::Success;
-
-    if (zipped)
-       // save as .xml
-       mapFileName=mapName+".xml";
-    else
-       // use name given by user, even if he chooses .doc
-       mapFileName=fileName;
-
-    // Look, if we should zip the data:
-    if (!zipped)
-    {
-       QMessageBox mb( vymName,
-           tr("The map %1\ndid not use the compressed "
-           "vym file format.\nWriting it uncompressed will also write images \n"
-           "and flags and thus may overwrite files in the "
-           "given directory\n\nDo you want to write the map").arg(filePath),
-           QMessageBox::Warning,
-           QMessageBox::Yes | QMessageBox::Default,
-           QMessageBox::No ,
-           QMessageBox::Cancel | QMessageBox::Escape);
-       mb.setButtonText( QMessageBox::Yes, tr("compressed (vym default)") );
-       mb.setButtonText( QMessageBox::No, tr("uncompressed") );
-       mb.setButtonText( QMessageBox::Cancel, tr("Cancel"));
-       switch( mb.exec() ) 
-       {
-           case QMessageBox::Yes:
-               // save compressed (default file format)
-               zipped=true;
-               break;
-           case QMessageBox::No:
-               // save uncompressed
-               zipped=false;
-               break;
-           case QMessageBox::Cancel:
-               // do nothing
-               return File::Aborted;
-               break;
-       }
-    }
-
-    // First backup existing file, we 
-    // don't want to add to old zip archives
-    QFile f(destPath);
-    if (f.exists())
-    {
-       if ( settings.value ("/mapeditor/writeBackupFile").toBool())
-       {
-           QString backupFileName(destPath + "~");
-           QFile backupFile(backupFileName);
-           if (backupFile.exists() && !backupFile.remove())
-           {
-               QMessageBox::warning(0, tr("Save Error"),
-                                    tr("%1\ncould not be removed before saving").arg(backupFileName));
-           }
-           else if (!f.rename(backupFileName))
-           {
-               QMessageBox::warning(0, tr("Save Error"),
-                                    tr("%1\ncould not be renamed before saving").arg(destPath));
-           }
-       }
-    }
-
-    if (zipped)
-    {
-       // Create temporary directory for packing
-       bool ok;
-       tmpZipDir=makeTmpDir (ok,"vym-zip");
-       if (!ok)
-       {
-           QMessageBox::critical( 0, tr( "Critical Save Error" ),
-              tr("Couldn't create temporary directory before save\n"));
-           return File::Aborted; 
-       }
-
-       safeFilePath=filePath;
-       setFilePath (tmpZipDir+"/"+ mapName+ ".xml", safeFilePath);
-    } // zipped
-
-    // Create mapName and fileDir
-    makeSubDirs (fileDir);
-
-    QString saveFile;
-    if (savemode==CompleteMap || selModel->selection().isEmpty())
-    {
-       // Save complete map
-        if (zipped)
-            // Use defined name for map within zipfile to avoid problems
-            //with zip library and umlauts (see #98)
-            saveFile=saveToDir (fileDir, "", true, QPointF(), NULL);
-        else
-            saveFile=saveToDir (fileDir, mapName + "-", true, QPointF(), NULL);
-    mapChanged=false;
-       mapUnsaved=false;
-       autosaveTimer->stop();
-    }
-    else    
-    {
-       // Save part of map
-    if (selectionType() == TreeItem::Image)
-           saveImage();
-       else    
-        saveFile = saveToDir (fileDir, mapName + "-", true, QPointF(), getSelectedBranch());
-       // TODO take care of multiselections
-    }  
-
-    bool saved;
-    if (zipped)
-        // Use defined map name "map.xml", if zipped. Introduce in 2.6.6
-        saved = saveStringToDisk(fileDir + "map.xml", saveFile);
-    else
-        // Use regular mapName, when saved as XML
-        saved = saveStringToDisk(fileDir + mapFileName, saveFile);
-    if (!saved)
-    {
-       err=File::Aborted;
-       qWarning ("ME::saveStringToDisk failed!");
-    }
-
-    if (zipped)
-    {
-       // zip
-       if (err==File::Success) err=zipDir (tmpZipDir,destPath);
-
-       // Delete tmpDir
-       removeDir (QDir(tmpZipDir));
-
-       // Restore original filepath outside of tmp zip dir
-       setFilePath (safeFilePath);
-    }
-
-    updateActions();
-    fileChangedTime=QFileInfo (destPath).lastModified();
-    return err;
-}
-
-void VymModel::loadImage (BranchItem *dst,const QString &fn)
-{
-    if (!dst) dst=getSelectedBranch();
-    if (dst)
-    {
-        QString filter=QString (tr("Images") + " (*.png *.bmp *.xbm *.jpg *.png *.xpm *.gif *.pnm *.svg);;"+tr("All","Filedialog") +" (*.*)");
-        QStringList fns;
-        if (fn.isEmpty() )
-            fns=QFileDialog::getOpenFileNames(
-                        NULL,
-                        vymName+" - " + tr("Load image"),
-                        lastImageDir.path(),
-                        filter);
-        else
-            fns.append (fn);
-
-        if (!fns.isEmpty() )
-        {
-            lastImageDir.setPath(fns.first().left(fns.first().lastIndexOf ("/")) );
-            QString s;
-            for (int j=0; j<fns.count(); j++)
-            {
-                s=fns.at(j);
-                ImageItem *ii=createImage(dst);
-                if (ii && ii->load (s) )
-                {
-                    saveState(
-                                (TreeItem*)ii,
-                                "delete ()",
-                                dst,
-                                QString ("loadImage (\"%1\")").arg(s ),
-                                QString("Add image %1 to %2").arg(s).arg(getObjectName(dst))
-                                );
-                    // Find nice position
-                    FloatImageObj *fio=(FloatImageObj*)(ii->getMO() );
-                    if (fio)
-                        fio->move2RelPos (0,0);
-
-                    // On default include image // FIXME-4 check, if we change default settings...
-                    select(dst);
-                    setIncludeImagesHor (false);
-                    setIncludeImagesVer (true);
-
-                    reposition();
-                } else
-                    // FIXME-4 loadFIO error handling
-                    qWarning ()<<"Failed to load "+s;
-            }
-
-        }
-    }
-}
-
-void VymModel::saveImage (ImageItem *ii, QString format, QString fn)                                                    
-{
-    if (!ii) ii=getSelectedImage();
-    if (ii)
-    {
-        QString filter=QString (tr("Images") + " (*.png *.bmp *.xbm *.jpg *.png *.xpm *.gif *.pnm *.svg);;"+tr("All","Filedialog") +" (*.*)");
-        if (fn.isEmpty() )
-            fn=QFileDialog::getSaveFileName(
-                        NULL,
-                        vymName+" - " + tr("Save image"),
-                        lastImageDir.path(),
-                        filter,
-                        NULL,
-                        QFileDialog::DontConfirmOverwrite);
-
-        if (!fn.isEmpty() )
-        {
-            lastImageDir.setPath(fn.left(fn.lastIndexOf ("/")) );
-            if (QFile (fn).exists() )
-            {
-                QMessageBox mb( vymName,
-                                tr("The file %1 exists already.\n"
-                                   "Do you want to overwrite it?").arg(fn),
-                                QMessageBox::Warning,
-                                QMessageBox::Yes | QMessageBox::Default,
-                                QMessageBox::Cancel | QMessageBox::Escape,
-                                QMessageBox::NoButton );
-
-                mb.setButtonText( QMessageBox::Yes, tr("Overwrite") );
-                mb.setButtonText( QMessageBox::No, tr("Cancel"));
-                switch( mb.exec() )
-                {
-                case QMessageBox::Yes:
-                    // save
-                    break;
-                case QMessageBox::Cancel:
-                    // do nothing
-                    return;
-                    break;
-                }
-            }
-            if (format.isEmpty() ) format=imageIO.guessType(fn);
-            if (format.isEmpty())
-                QMessageBox::critical (0,tr("Critical Error"),tr("Unsupported format in %1").arg(fn));
-            else if (!ii->save (fn, format) )
-                QMessageBox::critical (0,tr("Critical Error"),tr("Couldn't save %1").arg(fn));
-        }
-    }
-}
-
-
-void VymModel::importDirInt(BranchItem *dst, QDir d) 
-{
-    bool oldSaveState = blockSaveState;
-    blockSaveState = true;
-    BranchItem *bi = dst;
-    if (bi)
-    {
-       int beginDepth = bi->depth();
-
-       d.setFilter(QDir::AllEntries | QDir::Hidden);
-       QFileInfoList list = d.entryInfoList();
-       QFileInfo fi;
-
-       // Traverse directories
-       for (int i = 0; i < list.size(); ++i) 
-       {
-           fi = list.at(i);
-           if (fi.isDir() && fi.fileName() != "." && fi.fileName() != ".." )
-           {
-               bi = addNewBranchInt(dst, -2);
-                bi->setHeadingPlainText (fi.fileName() );
-               bi->setHeadingColor (QColor("blue"));
-               if ( !d.cd(fi.fileName()) ) 
-                   QMessageBox::critical (0,tr("Critical Import Error"),tr("Cannot find the directory %1").arg(fi.fileName()));
-               else 
-               {
-                   // Recursively add subdirs
-                    qDebug() << "Add subdir " << bi->getHeadingPlain();
-                   importDirInt (bi, d);
-                   d.cdUp();
-               }
-               emitDataChanged(bi);
-           }   
-       }       
-
-       for (int i = 0; i < list.size(); ++i) 
-       {
-           fi = list.at(i);
-           if (fi.isFile())
-           {
-               bi = addNewBranchInt (dst,-2);
-                bi->setHeadingPlainText (fi.fileName() );
-               bi->setHeadingColor (QColor("black"));
-               if (fi.fileName().right(4) == ".vym" )
-                   bi->setVymLink (fi.filePath());
-               emitDataChanged(bi);
-           }
-       }   
-
-       // Scroll at least some stuff
-       if (dst->branchCount()>1 && dst->depth()-beginDepth>2)
-           dst->toggleScroll();
-    }      
-    blockSaveState=oldSaveState;
-}
-
-void VymModel::importDirInt (const QString &s) 
-{
-    BranchItem *selbi = getSelectedBranch();
-    if (selbi)
-    {
-       saveStateChangingPart (selbi, selbi, QString ("importDir (\"%1\")").arg(s),QString("Import directory structure from %1").arg(s));
-
-       QDir d(s);
-       importDirInt (selbi, d);
-    }
-}   
-
-void VymModel::importDir()  
-{
-    BranchItem *selbi = getSelectedBranch();
-    if (selbi)
-    {
-       QStringList filters;
-       filters <<"VYM map (*.vym)";
-       QFileDialog fd;
-       fd.setWindowTitle (vymName + " - " +tr("Choose directory structure to import"));
-       fd.setFileMode (QFileDialog::DirectoryOnly);
-       fd.setNameFilters (filters);
-       fd.setWindowTitle(vymName + " - " + tr("Choose directory structure to import"));
-       fd.setAcceptMode (QFileDialog::AcceptOpen);
-
-       QString fn;
-       if ( fd.exec() == QDialog::Accepted &&!fd.selectedFiles().isEmpty() )
-       {
-           importDirInt (fd.selectedFiles().first() );
-           reposition();
-       }
-    }  
-}
-
-bool VymModel::tryVymLock()
-{
-    // Defaults for author and host in vymLock
-    QString defAuthor = settings.value("/user/name", tr( "unknown user", "Default for lockfiles of maps") ).toString();
-    QString defHost   = QHostInfo::localHostName();      
-    vymLock.setMapPath( filePath );
-    vymLock.setAuthor( settings.value( "/user/name", defAuthor ).toString() ); 
-    if ( getenv("HOST") != 0 ) 
-        vymLock.setHost( getenv("HOST") );
-    else
-        vymLock.setHost( defHost );
-    
-    // Now try to lock
-    if (!vymLock.tryLock() )
-    {
-        if (debug) qDebug() << "VymModel::tryLock failed!";
-        setReadOnly( true );
-        if (vymLock.getState() == VymLock::lockedByOther)
-        {
-            LockedFileDialog dia;
-            QString a = vymLock.getAuthor();
-            QString h = vymLock.getHost();
-            QString s = QString( tr("Map seems to be already opened in another vym instance!\n\n "
-                   "Map is locked by \"%1\" on \"%2\"\n\n"
-                   "Please only delete the lockfile, if you are sure nobody else is currently working on this map." )) .arg(a).arg(h);
-            dia.setText( s );
-            dia.setWindowTitle(tr("Warning: Map already opended","VymModel"));
-            if (dia.execDialog() == LockedFileDialog::DeleteLockfile)
-            {
-                if (vymLock.removeLock() )
-                {
-                    mainWindow->statusMessage (tr("Removed lockfile for %1").arg(mapName));
-                    setReadOnly(false);
-                    return true;
-                } else
-                    QMessageBox::warning(0,
-                             tr("Warning"),
-                             tr("Couldn't remove lockfile for %1").arg(mapName));
-            }
-        } else if (vymLock.getState() == VymLock::notWritable)
-        {
-            WarningDialog dia;
-            QString a = vymLock.getAuthor();
-            QString h = vymLock.getHost();
-            QString s = QString( tr("Cannot create lockfile of map! "
-                        "It will be opened in readonly mode.\n\n" ));
-            dia.setText( s );
-            dia.setWindowTitle(tr("Warning","VymModel"));
-            dia.showCancelButton( false );
-            //dia.setShowAgainName("/mainwindow/mapIsLocked");
-            dia.exec();
-        }
-        return false;
-    }
-    return true;
-}
-
-bool VymModel::renameMap( const QString &newPath)
-{
-    QString oldPath = filePath;
-    setFilePath ( newPath );
-    if (vymLock.getState() == VymLock::lockedByMyself)
-    {
-        // vymModel owns the lockfile, try to rename it
-        if (! vymLock.rename( fileName ))
-        {
-            qWarning ("Warning: VymModel::renameMap failed");
-            setFilePath( oldPath );
-            return false;
-        } else
-            return true;
-    }
-
-    // try to create new lockfile for the lock states: lockedByOther and notWritable
-    return tryVymLock();
-}
-
-void VymModel::setReadOnly( bool b )
-{
-    readonly = b;
-    mainWindow->updateTabName( this );
-}
-
-bool VymModel::isReadOnly()
-{
-    return readonly;
-}
-
-void VymModel::autosave()
-{
-    if (filePath=="") 
-    {
-       if (debug)
-           qDebug() << "VymModel::autosave rejected due to missing filePath\n";
-    }
-
-    QDateTime now=QDateTime().currentDateTime();
-
-    // Disable autosave, while we have gone back in history
-    int redosAvail=undoSet.readNumValue (QString("/history/redosAvail"));
-    if (redosAvail>0) return;
-
-    // Also disable autosave for new map without filename
-    if (filePath.isEmpty()) return;
-
-
-    if (mapUnsaved 
-       && mapChanged 
-       && mainWindow->useAutosave() 
-       && !testmode)
-    {
-       if (QFileInfo(filePath).lastModified()<=fileChangedTime) 
-           mainWindow->fileSave (this);
-       else
-           if (debug)
-               qDebug() <<"  ME::autosave  rejected, file on disk is newer than last save.\n"; 
-
-    }  
-}
-
-void VymModel::fileChanged()
-{
-    // Check if file on disk has changed meanwhile
-    if (!filePath.isEmpty())
-    {
-        if (readonly)
-        {
-            // unset readonly if lockfile is gone
-            if (vymLock.tryLock() ) setReadOnly( false );
-        } else
-        {
-            // FIXME-0 Check, if somebody else removed/replaced lockfile
-            // Here a unique vym ID would be needed to be checked
-            
-            QDateTime tmod = QFileInfo (filePath).lastModified();
-            if (tmod > fileChangedTime)
-            {
-                // FIXME-4 VM switch to current mapeditor and finish lineedits...
-                QMessageBox mb( vymName,
-                    tr("The file of the map  on disk has changed:\n\n"  
-                       "   %1\n\nDo you want to reload that map with the new file?").arg(filePath),
-                    QMessageBox::Question,
-                    QMessageBox::Yes ,
-                    QMessageBox::Cancel | QMessageBox::Default,
-                    QMessageBox::NoButton );
-
-                mb.setButtonText( QMessageBox::Yes, tr("Reload"));
-                mb.setButtonText( QMessageBox::No, tr("Ignore"));
-                switch( mb.exec() ) 
-                {
-                    case QMessageBox::Yes:
-                        // Reload map
-                        mainWindow->initProgressCounter (1);
-                        loadMap (filePath);  
-                        mainWindow->removeProgressCounter ();
-                        break;
-                    case QMessageBox::Cancel:
-                        fileChangedTime=tmod; // allow autosave to overwrite newer file!
-                }
-            }
-        }
-    }  
-}
-
-bool VymModel::isDefault()
-{
-    return mapDefault;
-}
-
-void VymModel::makeDefault()
-{
-    mapChanged=false;
-    mapDefault=true;
-}
-
-bool VymModel::hasChanged()
-{
-    return mapChanged;
-}
-
-void VymModel::setChanged()
-{
-    if (!mapChanged)
-       autosaveTimer->start(settings.value("/system/autosave/ms/",300000).toInt());
-    mapChanged=true;
-    mapDefault=false;
-    mapUnsaved=true;
-    findReset();
-    updateActions();
-}
-
-QString VymModel::getObjectName (LinkableMapObj *lmo)
-{
-    if (!lmo || !lmo->getTreeItem() ) return QString();
-    return getObjectName (lmo->getTreeItem() );
-}
-
-
-QString VymModel::getObjectName (TreeItem *ti)
-{
-    QString s;
-    if (!ti) return QString("Error: NULL has no name!");
-    s=ti->getHeadingPlain();
-    if (s=="") s="unnamed";
-
-    return QString ("%1 (%2)").arg(ti->getTypeName()).arg(s);
-}
-
-void VymModel::redo()
-{
-    // Can we undo at all?
-    if (redosAvail<1) return;
-
-    bool blockSaveStateOrg=blockSaveState;
-    blockSaveState=true;
-    
-    redosAvail--;
-
-    if (undosAvail<stepsTotal) undosAvail++;
-    curStep++;
-    if (curStep>stepsTotal) curStep=1;
-    QString undoCommand=  undoSet.value (QString("/history/step-%1/undoCommand").arg(curStep));
-    QString undoSelection=undoSet.value (QString("/history/step-%1/undoSelection").arg(curStep));
-    QString redoCommand=  undoSet.value (QString("/history/step-%1/redoCommand").arg(curStep));
-    QString redoSelection=undoSet.value (QString("/history/step-%1/redoSelection").arg(curStep));
-    QString comment=undoSet.value (QString("/history/step-%1/comment").arg(curStep));
-    QString version=undoSet.value ("/history/version");
-
-    /* TODO Maybe check for version, if we save the history
-    if (!checkVersion(version))
-       QMessageBox::warning(0,tr("Warning"),
-           tr("Version %1 of saved undo/redo data\ndoes not match current vym version %2.").arg(version).arg(vymVersion));
-    */ 
-
-    // Find out current undo directory
-    QString bakMapDir(QString(tmpMapDir+"/undo-%1").arg(curStep));
-
-    if (debug)
-    {
-       qDebug() << "VymModel::redo() begin\n";
-       qDebug() << "    undosAvail="<<undosAvail;
-       qDebug() << "    redosAvail="<<redosAvail;
-       qDebug() << "       curStep="<<curStep;
-       qDebug() << "    ---------------------------";
-       qDebug() << "    comment="<<comment;
-       qDebug() << "    undoCom="<<undoCommand;
-       qDebug() << "    undoSel="<<undoSelection;
-       qDebug() << "    redoCom="<<redoCommand;
-       qDebug() << "    redoSel="<<redoSelection;
-       qDebug() << "    ---------------------------";
-    }
-
-    // select  object before redo
-    if (!redoSelection.isEmpty())
-       select (redoSelection);
-
-    bool noErr;
-    QString errMsg;
-    parseAtom (redoCommand,noErr,errMsg);
-    if (!noErr) 
-    {
-       if (!options.isOn("batch") )
-           QMessageBox::warning(0,tr("Warning"),tr("Redo failed:\n%1").arg(errMsg));
-       qWarning()<< "VM::redo aborted:\n"<<errMsg;
-    }
-
-    blockSaveState=blockSaveStateOrg;
-
-    undoSet.setValue ("/history/undosAvail",QString::number(undosAvail));
-    undoSet.setValue ("/history/redosAvail",QString::number(redosAvail));
-    undoSet.setValue ("/history/curStep",QString::number(curStep));
-    undoSet.writeSettings(histPath);
-
-    mainWindow->updateHistory (undoSet);
-    updateActions();
-
-    /* TODO remove testing
-    qDebug() << "ME::redo() end\n";
-    qDebug() << "    undosAvail="<<undosAvail;
-    qDebug() << "    redosAvail="<<redosAvail;
-    qDebug() << "       curStep="<<curStep;
-    qDebug() << "    ---------------------------";
-    */
-}
-
-bool VymModel::isRedoAvailable()
-{
-    if (undoSet.readNumValue("/history/redosAvail",0)>0)
-       return true;
-    return false;
-}
-
-void VymModel::undo()  
-{
-    // Can we undo at all?
-    if (undosAvail<1) return;
-
-    mainWindow->statusMessage (tr("Autosave disabled during undo."));
-
-    bool blockSaveStateOrg=blockSaveState;
-    blockSaveState=true;
-    
-    QString undoCommand=  undoSet.value (QString("/history/step-%1/undoCommand").arg(curStep));
-    QString undoSelection=undoSet.value (QString("/history/step-%1/undoSelection").arg(curStep));
-    QString redoCommand=  undoSet.value (QString("/history/step-%1/redoCommand").arg(curStep));
-    QString redoSelection=undoSet.value (QString("/history/step-%1/redoSelection").arg(curStep));
-    QString comment=undoSet.value (QString("/history/step-%1/comment").arg(curStep));
-    QString version=undoSet.value ("/history/version");
-
-    /* TODO Maybe check for version, if we save the history
-    if (!checkVersion(version))
-       QMessageBox::warning(0,tr("Warning"),
-           tr("Version %1 of saved undo/redo data\ndoes not match current vym version %2.").arg(version).arg(vymVersion));
-    */
-
-    // Find out current undo directory
-    QString bakMapDir(QString(tmpMapDir+"/undo-%1").arg(curStep));
-
-    // select  object before undo
-    if (!undoSelection.isEmpty() && !select (undoSelection))
-    {
-       qWarning ("VymModel::undo()  Could not select object for undo");
-       return;
-    }
-
-    if (debug)
-    {
-       qDebug() << "VymModel::undo() begin\n";
-       qDebug() << "    undosAvail="<<undosAvail;
-       qDebug() << "    redosAvail="<<redosAvail;
-       qDebug() << "       curStep="<<curStep;
-       qDebug() << "    ---------------------------";
-       qDebug() << "    comment="<<comment;
-       qDebug() << "    undoCom="<<undoCommand;
-       qDebug() << "    undoSel="<<undoSelection;
-       qDebug() << "    redoCom="<<redoCommand;
-       qDebug() << "    redoSel="<<redoSelection;
-       qDebug() << "    ---------------------------";
-    }  
-
-    // select  object before undo
-    if (!undoSelection.isEmpty())
-       select (undoSelection);
-
-    // bool noErr;
-    QString errMsg;
-    //parseAtom (undoCommand,noErr,errMsg);
-    errMsg = QVariant(execute(undoCommand)).toString();
-    // FIXME-3 add noErr to parameters of execute above or ignore (error message already within parseAtom)
-    // 
-    /*
-    if (!noErr)
-    {
-        if (!options.isOn("batch") )
-            QMessageBox::warning(0,tr("Warning"),tr("Undo failed:\n%1").arg(errMsg));
-        qWarning()<< "VM::undo failed:\n"<<errMsg;
-    }
-    */
-
-    undosAvail--;
-    curStep--; 
-    if (curStep<1) curStep = stepsTotal;
-
-    redosAvail++;
-
-    blockSaveState = blockSaveStateOrg;
-/* testing only
-    qDebug() << "VymModel::undo() end\n";
-    qDebug() << "    undosAvail="<<undosAvail;
-    qDebug() << "    redosAvail="<<redosAvail;
-    qDebug() << "       curStep="<<curStep;
-    qDebug() << "    ---------------------------";
-*/
-
-    undoSet.setValue ("/history/undosAvail",QString::number(undosAvail));
-    undoSet.setValue ("/history/redosAvail",QString::number(redosAvail));
-    undoSet.setValue ("/history/curStep",QString::number(curStep));
-    undoSet.writeSettings(histPath);
-
-    mainWindow->updateHistory (undoSet);
-    updateActions();
-    //emitSelectionChanged();
-}
-
-bool VymModel::isUndoAvailable()
-{
-    if (undoSet.readNumValue("/history/undosAvail",0)>0)
-       return true;
-    return false;
-}
-
-void VymModel::gotoHistoryStep (int i)
-{
-    // Restore variables
-    int undosAvail=undoSet.readNumValue (QString("/history/undosAvail"));
-    int redosAvail=undoSet.readNumValue (QString("/history/redosAvail"));
-
-    if (i<0) i=undosAvail+redosAvail;
-
-    // Clicking above current step makes us undo things
-    if (i<undosAvail) 
-    {  
-       for (int j=0; j<undosAvail-i; j++) undo();
-       return;
-    }  
-    // Clicking below current step makes us redo things
-    if (i>undosAvail) 
-       for (int j=undosAvail; j<i; j++) 
-       {
-           if (debug) qDebug() << "VymModel::gotoHistoryStep redo "<<j<<"/"<<undosAvail<<" i="<<i;
-           redo();
-       }
-
-    // And ignore clicking the current row ;-) 
-}
-
-
-QString VymModel::getHistoryPath()
-{
-    QString histName(QString("history-%1").arg(curStep));
-    return (tmpMapDir+"/"+histName);
-}
-
-void VymModel::resetHistory()
-{
-    curStep=0;
-    redosAvail=0;
-    undosAvail=0;
-
-    stepsTotal=settings.value("/history/stepsTotal",100).toInt();
-    undoSet.setValue ("/history/stepsTotal",QString::number(stepsTotal));
-    mainWindow->updateHistory (undoSet);
-}
-
-void VymModel::saveState(
-    const SaveMode &savemode, 
-    const QString &undoSelection, 
-    const QString &undoCom, 
-    const QString &redoSelection, 
-    const QString &redoCom, 
-    const QString &comment, 
-    TreeItem *saveSel, 
-    QString dataXML)
-{
-    sendData(redoCom); //FIXME-4 testing
-
-    // Main saveState
-
-    if (blockSaveState) return;
-
-    if (debug) qDebug() << "VM::saveState() for  "<<mapName;
-    
-    // Find out current undo directory
-    if (undosAvail<stepsTotal) undosAvail++;
-    curStep++;
-    if (curStep>stepsTotal) curStep=1;
-    
-    QString histDir=getHistoryPath();
-    QString bakMapPath=histDir+"/map.xml";
-
-    // Create histDir if not available
-    QDir d(histDir);
-    if (!d.exists()) 
-       makeSubDirs (histDir);
-
-    // Save depending on how much needs to be saved 
-    QList <Link*> tmpLinks;
-    if (saveSel)
-       dataXML=saveToDir (histDir,mapName+"-",false, QPointF (),saveSel);
-       
-    QString undoCommand=undoCom;
-    QString redoCommand=redoCom;
-    if (savemode==PartOfMap )
-    {
-       undoCommand.replace ("PATH",bakMapPath);
-       redoCommand.replace ("PATH",bakMapPath);
-    }
-
-    if (!dataXML.isEmpty())
-       // Write XML Data to disk
-       saveStringToDisk (bakMapPath,dataXML);
-
-    // We would have to save all actions in a tree, to keep track of 
-    // possible redos after a action. Possible, but we are too lazy: forget about redos.
-    redosAvail=0;
-
-    // Write the current state to disk
-    undoSet.setValue ("/history/undosAvail",QString::number(undosAvail));
-    undoSet.setValue ("/history/redosAvail",QString::number(redosAvail));
-    undoSet.setValue ("/history/curStep",QString::number(curStep));
-    undoSet.setValue (QString("/history/step-%1/undoCommand").arg(curStep),undoCommand);
-    undoSet.setValue (QString("/history/step-%1/undoSelection").arg(curStep),undoSelection);
-    undoSet.setValue (QString("/history/step-%1/redoCommand").arg(curStep),redoCommand);
-    undoSet.setValue (QString("/history/step-%1/redoSelection").arg(curStep),redoSelection);
-    undoSet.setValue (QString("/history/step-%1/comment").arg(curStep),comment);
-    undoSet.setValue (QString("/history/version"),vymVersion);
-    undoSet.writeSettings(histPath);
-
-    if (debug)
-    {
-        //qDebug() << "          into="<< histPath;
-        qDebug() << "    stepsTotal="<<stepsTotal<<
-        ", undosAvail="<<undosAvail<<
-        ", redosAvail="<<redosAvail<<
-        ", curStep="<<curStep;
-        qDebug() << "    ---------------------------";
-        qDebug() << "    comment="<<comment;
-        qDebug() << "    undoCom="<<undoCommand;
-        qDebug() << "    undoSel="<<undoSelection;
-        qDebug() << "    redoCom="<<redoCommand;
-        qDebug() << "    redoSel="<<redoSelection;
-        if (saveSel) qDebug() << "    saveSel="<<qPrintable (getSelectString(saveSel));
-        qDebug() << "    ---------------------------";
-    }
-
-    mainWindow->updateHistory (undoSet);
-
-    setChanged();
-    updateActions();
-}
-
-
-void VymModel::saveStateChangingPart(TreeItem *undoSel, TreeItem* redoSel, const QString &rc, const QString &comment)
-{
-    // save the selected part of the map, Undo will replace part of map 
-    QString undoSelection="";
-    if (undoSel)
-       undoSelection=getSelectString(undoSel);
-    else
-       qWarning ("VymModel::saveStateChangingPart  no undoSel given!");
-    QString redoSelection="";
-    if (redoSel)
-       redoSelection=getSelectString(undoSel);
-    else
-       qWarning ("VymModel::saveStateChangingPart  no redoSel given!");
-       
-
-    saveState (PartOfMap,
-       undoSelection, "addMapReplace (\"PATH\")",
-       redoSelection, rc, 
-       comment, 
-       undoSel);
-}
-
-void VymModel::saveStateRemovingPart(TreeItem* redoSel, const QString &comment)
-{
-    if (!redoSel)
-    {
-       qWarning ("VymModel::saveStateRemovingPart  no redoSel given!");
-       return;
-    }
-    QString undoSelection;
-    QString redoSelection=getSelectString(redoSel);
-    if (redoSel->isBranchLikeType() )
-    {
-       // save the selected branch of the map, Undo will insert part of map 
-       if (redoSel->depth()>0)
-           undoSelection=getSelectString (redoSel->parent());
-       saveState (PartOfMap,
-           undoSelection, QString("addMapInsert (\"PATH\",%1,%2)").arg(redoSel->num()).arg(SlideContent),
-           redoSelection, "delete ()", 
-           comment, 
-           redoSel);
-    }
-}
-
-void VymModel::saveState(TreeItem *undoSel, const QString &uc, TreeItem *redoSel, const QString &rc, const QString &comment) 
-{
-    // "Normal" savestate: save commands, selections and comment
-    // so just save commands for undo and redo
-    // and use current selection, if empty parameter passed
-
-    QString redoSelection="";
-    if (redoSel) redoSelection=getSelectString(redoSel);
-    QString undoSelection="";
-    if (undoSel) undoSelection=getSelectString(undoSel);
-
-    saveState (UndoCommand,
-       undoSelection, uc,
-       redoSelection, rc, 
-       comment, 
-       NULL);
-}
-
-void VymModel::saveState(const QString &undoSel, const QString &uc, const QString &redoSel, const QString &rc, const QString &comment) 
-{
-    // "Normal" savestate: save commands, selections and comment
-    // so just save commands for undo and redo
-    // and use current selection
-    saveState (UndoCommand,
-       undoSel, uc,
-       redoSel, rc, 
-       comment, 
-       NULL);
-}
-
-void VymModel::saveState(const QString &uc, const QString &rc, const QString &comment) 
-{
-    // "Normal" savestate applied to model (no selection needed): 
-    // save commands  and comment
-    saveState (UndoCommand,
-       NULL, uc,
-       NULL, rc, 
-       comment, 
-       NULL);
-}
-
-void VymModel::saveStateMinimal(TreeItem *undoSel, const QString &uc, TreeItem *redoSel, const QString &rc, const QString &comment) 
-{   //  Save a change in string and merge
-    //  minor sequential  changes  */
-    QString redoSelection="";
-    if (redoSel) redoSelection=getSelectString(redoSel);
-    QString undoSelection="";
-    if (undoSel) undoSelection=getSelectString(undoSel);
-
-    saveState (UndoCommand,
-       undoSelection, uc,
-       redoSelection, rc, 
-       comment, 
-       NULL);
-}
-
-void VymModel::saveStateBeforeLoad (LoadMode lmode, const QString &fname)
-{ 
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi) 
-    {
-       if (lmode==ImportAdd)
-           saveStateChangingPart(
-               selbi,
-               selbi,
-               QString("addMapInsert (\"%1\")").arg(fname),
-               QString("Add map %1 to %2").arg(fname).arg(getObjectName(selbi)));
-       if (lmode==ImportReplace)
-       {
-           BranchItem *pi=(BranchItem*)(selbi->parent());
-           saveStateChangingPart(
-               pi,
-               pi,
-               QString("addMapReplace(%1)").arg(fname),
-               QString("Add map %1 to %2").arg(fname).arg(getObjectName(selbi)));
-       }
-    }
-}
-
-
-
-QGraphicsScene* VymModel::getScene ()
-{
-    return mapEditor->getScene();
-}
-
-TreeItem* VymModel::findBySelectString(QString s)
-{
-    if (s.isEmpty() ) return NULL;
-
-    // Old maps don't have multiple mapcenters and don't save full path
-    if (s.left(2) !="mc") s="mc:0,"+s;
-
-    QStringList parts=s.split (",");
-    QString typ;
-    int n;
-    TreeItem *ti=rootItem;
-
-    while (!parts.isEmpty() )
-    {
-       typ=parts.first().left(2);
-       n=parts.first().right(parts.first().length() - 3).toInt();
-       parts.removeFirst();
-       if (typ=="mc" || typ=="bo")
-           ti=ti->getBranchNum (n);
-       else if (typ=="fi")
-           ti=ti->getImageNum (n);
-       else if (typ=="ai")
-           ti=ti->getAttributeNum (n);
-       else if (typ=="xl")
-           ti=ti->getXLinkItemNum (n);
-       if(!ti) return NULL;        
-    }
-    return  ti;
-}
-
-TreeItem* VymModel::findID (const uint &id)  
-{
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    nextBranch(cur,prev);
-    while (cur) 
-    {
-       if (id==cur->getID() ) return cur;
-       int j=0;
-       while (j<cur->xlinkCount() )
-       {
-           XLinkItem *xli=cur->getXLinkItemNum (j);
-           if (id==xli->getID() ) return xli;
-           j++;
-       }
-       j=0;
-       while (j<cur->imageCount() )
-       {
-           ImageItem *ii=cur->getImageNum (j);
-           if (id==ii->getID() ) return ii;
-           j++;
-       }
-       nextBranch(cur,prev);
-    }
-    return NULL;
-}
-
-TreeItem* VymModel::findUuid (const QUuid &id)  
-{
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    nextBranch(cur,prev);
-    while (cur) 
-    {
-       if (id==cur->getUuid() ) return cur;
-       int j=0;
-       while (j<cur->xlinkCount() )
-       {
-           XLinkItem *xli=cur->getXLinkItemNum (j);
-           if (id==xli->getUuid() ) return xli;
-           j++;
-       }
-       j=0;
-       while (j<cur->imageCount() )
-       {
-           ImageItem *ii=cur->getImageNum (j);
-           if (id==ii->getUuid() ) return ii;
-           j++;
-       }
-       nextBranch(cur,prev);
-    }
-    return NULL;
-}
-
-//////////////////////////////////////////////
-// Interface 
-//////////////////////////////////////////////
-void VymModel::setVersion (const QString &s)
-{
-    version=s;
-}
-
-QString VymModel::getVersion()
-{
-    return version;
-}
-
-void VymModel::setTitle (const QString &s)
-{
-    saveState (
-       QString ("setMapTitle (\"%1\")").arg(title),
-       QString ("setMapTitle (\"%1\")").arg(s),
-       QString ("Set title of map to \"%1\"").arg(s)
-    );
-    title=s;
-}
-
-QString VymModel::getTitle()
-{
-    return title;
-}
-
-void VymModel::setAuthor (const QString &s)
-{
-    saveState (
-       QString ("setMapAuthor (\"%1\")").arg(author),
-       QString ("setMapAuthor (\"%1\")").arg(s),
-       QString ("Set author of map to \"%1\"").arg(s)
-    );
-    author=s;
-}
-
-QString VymModel::getAuthor()
-{
-    return author;
-}
-
-void VymModel::setComment (const QString &s)
-{
-    saveState (
-       QString ("setMapComment (\"%1\")").arg(comment),
-       QString ("setMapComment (\"%1\")").arg(s),
-       QString ("Set comment of map")
-    );
-    comment=s;
-}
-
-QString VymModel::getComment ()
-{
-    return comment;
-}
-
-QString VymModel::getDate ()
-{
-    return QDate::currentDate().toString ("yyyy-MM-dd");
-}
-
-int VymModel::branchCount() 
-{
-    int c=0;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    nextBranch(cur,prev);
-    while (cur) 
-    {
-       c++;
-       nextBranch(cur,prev);
-    }
-    return c;
-}
-
-void VymModel::setSortFilter (const QString &s)
-{
-    sortFilter=s;
-    emit (sortFilterChanged (sortFilter));
-}
-
-QString VymModel::getSortFilter ()
-{
-    return sortFilter;
-}
-
-void VymModel::setHeading(const VymText &vt, BranchItem *bi)
-{
-    Heading h_old;
-    Heading h_new;
-    h_new = vt;
-    QString s = vt.getTextASCII();
-    if (!bi) bi=getSelectedBranch();
-    if (bi)
-    {
-        h_old = bi->getHeading();
-        if (h_old == h_new) return;
-        saveState(
-            bi, "parseVymText ('" +  h_old.saveToDir() + "')",
-            bi, "parseVymText ('" +  h_new.saveToDir() + "')",
-            QString("Set heading of %1 to \"%2\"").arg(getObjectName(bi)).arg(s) );
-        bi->setHeading(vt);
-        emitDataChanged ( bi);
-        emitUpdateQueries ();
-        reposition();
-    }
-}
-
-void VymModel::setHeadingPlainText(const QString &s, BranchItem *bi)
-{
-    if (!bi) bi=getSelectedBranch();
-    if (bi)
-    {
-        VymText vt = bi->getHeading();
-        vt.setPlainText(s);
-        if (bi->getHeading() == vt) return;
-        setHeading (vt, bi);
-    }
-}
-
-Heading VymModel::getHeading()
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti) return  selti->getHeading();
-    qWarning() << "VymModel::getHeading Nothing selected.";
-    return Heading();
-}
-
-void VymModel::setNote(const  VymNote &vn)
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti) 
-    {
-        VymNote n_old;
-        VymNote n_new;
-        n_old = selti->getNote();
-        n_new = vn;
-        saveState(
-            selti,
-            "parseVymText ('" + n_old.saveToDir() + "')",
-            selti,
-            "parseVymText ('" + n_new.saveToDir() + "')",
-            QString("Set note of %1 to \"%2\"").arg(getObjectName(selti)).arg(n_new.getTextASCII().left(20) ) );
-        selti->setNote( n_new );
-        emitNoteChanged( selti );
-        emitDataChanged( selti );
-    }
-}
-
-VymNote VymModel::getNote()
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti)
-    {
-        VymNote n = selti->getNote();
-        return n;
-    }
-    qWarning() << "VymModel::getNote Nothing selected.";
-    return VymNote();
-}
-
-bool VymModel::hasRichTextNote()
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti)
-    {
-        return selti->getNote().isRichText();
-    }
-    return false;
-}
-
-void VymModel::loadNote (const QString &fn)
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {
-        QString n;
-        if (!loadStringFromDisk (fn,n))
-            qWarning ()<<"VymModel::loadNote Couldn't load "<<fn;
-        else
-        {
-            VymNote vn;
-            vn.setAutoText(n);
-            setNote (vn);
-        }
-    } else
-        qWarning ("VymModel::loadNote no branch selected");
-}
-
-void VymModel::saveNote (const QString &fn)
-{
-    BranchItem *selbi = getSelectedBranch();
-    if (selbi)
-    {
-        VymNote n = selbi->getNote();
-        if ( n.isEmpty() )
-            qWarning ()<<"VymModel::saveNote  note is empty, won't save to "<<fn;
-        else
-        {
-            if (!saveStringToDisk (fn, n.saveToDir() ))
-                qWarning ()<<"VymModel::saveNote Couldn't save "<<fn;
-        }
-    } else
-        qWarning ("VymModel::saveNote no branch selected");
-}
-
-void VymModel::findDuplicateURLs()  // FIXME-3 needs GUI
-{
-    // Generate map containing _all_ URLs and branches
-    QString u;
-    QMap <QString,BranchItem*> map;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    nextBranch(cur,prev);
-    while (cur) 
-    {
-       u=cur->getURL();
-       if (!u.isEmpty() )
-           map.insertMulti (u,cur);
-       nextBranch(cur,prev);
-    }
-
-    // Extract duplicate URLs
-    QMap <QString, BranchItem*>::const_iterator i=map.constBegin();
-    QMap <QString, BranchItem*>::const_iterator firstdup=map.constEnd();    //invalid
-    while (i != map.constEnd())
-    {
-       if (i!=map.constBegin() && i.key()==firstdup.key())
-       {
-           if (  i-1==firstdup )
-           {
-               qDebug() << firstdup.key();
-        qDebug() << " - "<< firstdup.value() <<" - "<<firstdup.value()->getHeading().getText();
-           }   
-        qDebug() << " - "<< i.value() <<" - "<<i.value()->getHeading().getText();
-       } else
-           firstdup=i;
-
-       ++i;
-    }
-}
-
-bool  VymModel::findAll (FindResultModel *rmodel, QString s, Qt::CaseSensitivity cs)   
-{
-    rmodel->clear();
-    rmodel->setSearchString (s);
-    rmodel->setSearchFlags (0);        //FIXME-4 translate cs to QTextDocument::FindFlag
-    bool hit = false;
-
-    BranchItem *cur  = NULL;
-    BranchItem *prev = NULL;
-    nextBranch(cur,prev);
-
-    FindResultItem *lastParent = NULL;
-    while (cur) 
-    {
-       lastParent = NULL;
-        if (cur->getHeading().getTextASCII().contains (s,cs))
-            {
-                lastParent = rmodel->addItem (cur);
-                hit = true;
-            }
-       QString n = cur->getNoteASCII();
-       int i = 0;
-       int j = 0;
-       while ( i >= 0)
-       {
-           i = n.indexOf (s,i,cs); 
-           if (i >= 0) 
-           {
-               // If not there yet, add "parent" item
-               if (!lastParent)
-               {
-                   lastParent = rmodel->addItem (cur);
-                   hit = true;
-                   if (!lastParent)
-                       qWarning() << "VymModel::findAll still no lastParent?!";
-                   /*
-                   else
-                       lastParent->setSelectable (false);
-                   */  
-               }   
-
-               // save index of occurence
-               QString e = n.mid(i-15, 30);
-               n.replace('\n', ' ');
-               rmodel->addSubItem (lastParent, QString(tr("Note", "FindAll in VymModel") + ": \"...%1...\"").arg(n.mid(i-8,80)), cur, j);
-               j++;
-               i++;
-           }
-       } 
-       nextBranch(cur, prev);
-    }
-    return hit;
-}
-
-BranchItem* VymModel::findText (QString s,Qt::CaseSensitivity cs)
-{
-    if (!s.isEmpty() && s!=findString)
-    {
-       findReset();
-       findString=s;
-    }
-
-    QTextDocument::FindFlags flags=0;
-    if (cs==Qt::CaseSensitive) flags=QTextDocument::FindCaseSensitively;
-
-    if (!findCurrent) 
-    {  // Nothing found or new find process
-       if (EOFind)
-           // nothing found, start again
-           EOFind=false;
-       findCurrent=NULL;   
-       findPrevious=NULL;  
-       nextBranch (findCurrent,findPrevious);
-    }  
-    bool searching=true;
-    bool foundNote=false;
-    while (searching && !EOFind)
-    {
-       if (findCurrent)
-       {
-           // Searching in Note
-        if (findCurrent->getNoteASCII().contains(findString,cs))
-           {
-               select (findCurrent);
-               if (noteEditor->findText(findString,flags)) 
-               {
-                   searching=false;
-                   foundNote=true;
-               }   
-           }
-           // Searching in Heading
-        if (searching && findCurrent->getHeading().getTextASCII().contains (findString,cs) )
-           {
-               select(findCurrent);
-               searching=false;
-           }
-       }   
-       if (!foundNote)
-       {
-           nextBranch(findCurrent,findPrevious);
-           if (!findCurrent) EOFind=true;
-       }
-    }  
-    if (!searching)
-       return getSelectedBranch();
-    else
-       return NULL;
-}
-
-void VymModel::findReset()
-{   // Necessary if text to find changes during a find process
-    findString.clear();
-    findCurrent=NULL;
-    findPrevious=NULL;
-    EOFind=false;
-}
-
-void VymModel::setURL(QString url) 
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti->getURL()==url) return;
-    if (selti)
-    {
-       QString oldurl=selti->getURL();
-       selti->setURL (url);
-       saveState (
-           selti,
-           QString ("setURL (\"%1\")").arg(oldurl),
-           selti,
-           QString ("setURL (\"%1\")").arg(url),
-           QString ("set URL of %1 to %2").arg(getObjectName(selti)).arg(url)
-       );
-       if (url.contains("bugzilla.novell.com/"))
-           getBugzillaData(false);
-       emitDataChanged (selti);
-       reposition();
-    }
-}   
-
-QString VymModel::getURL()  
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti)
-       return selti->getURL();
-    else    
-       return QString();
-}
-
-QStringList VymModel::getURLs(bool ignoreScrolled)  
-{
-    QStringList urls;
-    BranchItem *selbi=getSelectedBranch();
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    nextBranch (cur,prev,true,selbi);
-    while (cur) 
-    {
-       if (!cur->getURL().isEmpty()  && !(ignoreScrolled && cur->hasScrolledParent() )) 
-           urls.append( cur->getURL());
-       nextBranch(cur,prev,true,selbi);
-    }  
-    return urls;
-}
-
-
-void VymModel::setFrameType(const FrameObj::FrameType &t)   
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       BranchObj *bo=(BranchObj*)(bi->getLMO());
-       if (bo)
-       {
-           QString s=bo->getFrameTypeName();
-           bo->setFrameType (t);
-           saveState (bi, QString("setFrameType (\"%1\")").arg(s),
-               bi, QString ("setFrameType (\"%1\")").arg(bo->getFrameTypeName()),QString ("set type of frame to %1").arg(s));
-           reposition();
-           bo->updateLinkGeometry();
-       }
-    }
-}
-
-void VymModel::setFrameType(const QString &s)  
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       BranchObj *bo=(BranchObj*)(bi->getLMO());
-       if (bo)
-       {
-           saveState (bi, QString("setFrameType (\"%1\")").arg(bo->getFrameTypeName()),
-               bi, QString ("setFrameType (\"%1\")").arg(s),QString ("set type of frame to %1").arg(s));
-           bo->setFrameType (s);
-           reposition();
-           bo->updateLinkGeometry();
-       }
-    }
-}
-
-void VymModel::toggleFrameIncludeChildren ()     
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       bool b=bi->getFrameIncludeChildren();
-       setFrameIncludeChildren (!b);
-    }
-}
-
-void VymModel::setFrameIncludeChildren (bool b)            
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       QString u= b ? "false" : "true";
-       QString r=!b ? "false" : "true";
-       
-       saveState(
-           bi,
-           QString("setFrameIncludeChildren(%1)").arg(u),
-           bi, 
-           QString("setFrameIncludeChildren(%1)").arg(r),
-           QString("Include children in %1").arg(getObjectName(bi))
-       );  
-       bi->setFrameIncludeChildren (b);
-       emitDataChanged (bi);
-       reposition();
-    }
-}
-
-void VymModel::setFramePenColor(const QColor &c)    //FIXME-4 not saved if there is no LMO
-
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       BranchObj *bo=(BranchObj*)(bi->getLMO());
-       if (bo)
-       {
-           saveState (bi, QString("setFramePenColor (\"%1\")").arg(bo->getFramePenColor().name() ),
-               bi, QString ("setFramePenColor (\"%1\")").arg(c.name() ),QString ("set pen color of frame to %1").arg(c.name() ));
-           bo->setFramePenColor (c);
-       }   
-    }  
-}
-
-void VymModel::setFrameBrushColor(const QColor &c)  //FIXME-4 not saved if there is no LMO
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       BranchObj *bo=(BranchObj*)(bi->getLMO());
-       if (bo)
-       {
-           saveState (bi, QString("setFrameBrushColor (\"%1\")").arg(bo->getFrameBrushColor().name() ),
-               bi, QString ("setFrameBrushColor (\"%1\")").arg(c.name() ),QString ("set brush color of frame to %1").arg(c.name() ));
-           bo->setFrameBrushColor (c);
-           bi->setBackgroundColor (c); //FIXME-4 redundant with above
-       }   
-    }  
-}
-
-void VymModel::setFramePadding (const int &i) //FIXME-4 not saved if there is no LMO
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       BranchObj *bo=(BranchObj*)(bi->getLMO());
-       if (bo)
-       {
-           saveState (bi, QString("setFramePadding (\"%1\")").arg(bo->getFramePadding() ),
-               bi, QString ("setFramePadding (\"%1\")").arg(i),QString ("set brush color of frame to %1").arg(i));
-           bo->setFramePadding (i);
-           reposition();
-           bo->updateLinkGeometry();
-       }   
-    }  
-}
-
-void VymModel::setFrameBorderWidth(const int &i) //FIXME-4 not saved if there is no LMO
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       BranchObj *bo=(BranchObj*)(bi->getLMO());
-       if (bo)
-       {
-           saveState (bi, QString("setFrameBorderWidth (\"%1\")").arg(bo->getFrameBorderWidth() ),
-               bi, QString ("setFrameBorderWidth (\"%1\")").arg(i),QString ("set border width of frame to %1").arg(i));
-           bo->setFrameBorderWidth (i);
-           reposition();
-           bo->updateLinkGeometry();
-       }   
-    }  
-}
-
-void VymModel::setIncludeImagesVer(bool b)
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi && b!=bi->getIncludeImagesVer() )
-    {
-       QString u= b ? "false" : "true";
-       QString r=!b ? "false" : "true";
-       
-       saveState(
-           bi,
-           QString("setIncludeImagesVertically (%1)").arg(u),
-           bi, 
-           QString("setIncludeImagesVertically (%1)").arg(r),
-           QString("Include images vertically in %1").arg(getObjectName(bi))
-       );  
-       bi->setIncludeImagesVer(b);
-       emitDataChanged ( bi);   
-       reposition();
-    }  
-}
-
-void VymModel::setIncludeImagesHor(bool b)  
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi && b!=bi->getIncludeImagesHor() )
-    {
-       QString u= b ? "false" : "true";
-       QString r=!b ? "false" : "true";
-       
-       saveState(
-           bi,
-           QString("setIncludeImagesHorizontally (%1)").arg(u),
-           bi, 
-           QString("setIncludeImagesHorizontally (%1)").arg(r),
-           QString("Include images horizontally in %1").arg(getObjectName(bi))
-       );  
-       bi->setIncludeImagesHor(b);
-       emitDataChanged ( bi);
-       reposition();
-    }  
-}
-
-void VymModel::setChildrenLayout(BranchItem::LayoutHint layoutHint) // FIXME-3 no savestate yet
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-        /*
-        QString u= b ? "false" : "true";
-        QString r=!b ? "false" : "true";
-
-        saveState(      
-            bi,
-            QString("setIncludeImagesHorizontally (%1)").arg(u),
-            bi,
-            QString("setIncludeImagesHorizontally (%1)").arg(r),
-            QString("Include images horizontally in %1").arg(getObjectName(bi))
-        );
-        */
-        bi->setChildrenLayout(layoutHint);
-        emitDataChanged ( bi);
-        reposition();
-    }
-}
-
-void VymModel::setHideLinkUnselected (bool b)
-{
-    TreeItem *ti=getSelectedItem();
-    if (ti && (ti->getType()==TreeItem::Image ||ti->isBranchLikeType()))
-    {
-       QString u= b ? "false" : "true";
-       QString r=!b ? "false" : "true";
-       
-       saveState(
-           ti,
-           QString("setHideLinkUnselected (%1)").arg(u),
-           ti, 
-           QString("setHideLinkUnselected (%1)").arg(r),
-           QString("Hide link of %1 if unselected").arg(getObjectName(ti))
-       );  
-       ((MapItem*)ti)->setHideLinkUnselected(b);
-    }
-}
-
-void VymModel::setHideExport(bool b, TreeItem *ti)
-{
-    if (!ti) ti=getSelectedItem();
-    if (ti && 
-       (ti->getType()==TreeItem::Image ||ti->isBranchLikeType()) &&
-       ti->hideInExport() !=b
-       )
-    {
-       ti->setHideInExport (b);
-       QString u= b ? "false" : "true";
-       QString r=!b ? "false" : "true";
-       
-       saveState(
-           ti,
-           QString ("setHideExport (%1)").arg(u),
-           ti,
-           QString ("setHideExport (%1)").arg(r),
-           QString ("Set HideExport flag of %1 to %2").arg(getObjectName(ti)).arg (r)
-       );  
-           emitDataChanged(ti);
-           emitSelectionChanged();
-       reposition(); 
-    }
-}
-
-void VymModel::toggleHideExport()
-{
-    QList <TreeItem*> selItems=getSelectedItems();
-    if (selItems.count()>0 )
-    {
-       foreach (TreeItem* ti, selItems)
-       {
-           bool b=!ti->hideInExport();
-           setHideExport (b,ti );
-       }
-    }
-}
-
-void VymModel::toggleTask() 
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi) 
-    {
-       saveStateChangingPart (
-           selbi,
-           selbi,
-           QString ("toggleTask()"),
-           QString ("Toggle task of %1").arg(getObjectName (selbi)) );
-       Task *task=selbi->getTask();
-       if (!task )
-       {
-           task=taskModel->createTask (selbi);
-           taskEditor->select(task); 
-       }
-       else
-           taskModel->deleteTask (task);
-
-       emitDataChanged(selbi);
-       emitSelectionChanged();
-       reposition();
-    }
-}
-
-void VymModel::cycleTaskStatus(bool reverse)
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi) 
-    {
-       Task *task=selbi->getTask();
-       if (task) 
-       {
-           saveStateChangingPart (
-               selbi,
-               selbi,
-               QString ("cycleTask()"),
-               QString ("Toggle task of %1").arg(getObjectName (selbi)) );
-           task->cycleStatus(reverse);
-           task->setDateModified();
-           
-           // make sure task is still visible
-           taskEditor->select (task);
-            emitDataChanged(selbi);
-            reposition();
-       }
-    }
-}
-
-bool VymModel::setTaskSleep(const QString &s) 
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi && !s.isEmpty() ) 
-    {
-       Task *task=selbi->getTask();
-       if (task ) 
-       {
-            bool ok;
-            int n=s.toInt(&ok);
-            if (!ok)
-            {
-                // Is s a date?
-                QDate d=QDate::fromString(s,Qt::ISODate);
-                d=QDate::fromString(s,Qt::ISODate);
-                if (d.isValid())
-                    // ISO date YYYY-MM-DD
-                    ok=true;
-                else
-                {
-                    d=QDate::fromString(s,Qt::DefaultLocaleShortDate);
-                    if (d.isValid()) 
-                        // Locale date, e.g. 24 Dec 2012
-                        ok=true;
-                    else
-                    {
-                        QRegExp re ("(\\d+).(\\d+).(\\d+)");
-                        re.setMinimal(false);
-                        int pos=re.indexIn(s);
-                        QStringList list=re.capturedTexts();
-                        if (pos>=0)
-                        {
-                            // German formate, e.g. 24.12.2012
-                            d=QDate(list.at(3).toInt(), list.at(2).toInt(), list.at(1).toInt());
-                            ok=true;
-                        } else
-                        {
-                            re.setPattern("(\\d+).(\\d+).");
-                            pos=re.indexIn(s);
-                            list=re.capturedTexts();
-                            if (pos>=0)
-                            {
-                                // Short German formate, e.g. 24.12.
-                                int month=list.at(2).toInt();
-                                int day=list.at(1).toInt();
-                                int year=QDate::currentDate().year();
-                                d=QDate(year, month, day);
-                                if (QDate::currentDate().daysTo(d) < 0)
-                                {
-                                    year++;
-                                    d=QDate(year, month, day);
-                                }
-                                ok=true;
-                            } else
-                            {
-                                re.setPattern("(\\d+).(\\d+).");
-                            }
-                        }
-                    }
-                }
-                if (ok) n=QDate::currentDate().daysTo(d);
-            }
-
-            if (ok)
-            {
-                int oldsleep=task->getDaysSleep();
-                task->setDateSleep (n);
-                task->setDateModified();
-                saveState (
-                    selbi,
-                    QString("setTaskSleep (%1)").arg(oldsleep),
-                    selbi,
-                    QString("setTaskSleep (%1)").arg(n),
-                    QString("setTaskSleep (%1)").arg(n) );
-                emitDataChanged (selbi);
-                reposition();
-                return true;
-            }
-       }
-    }
-    return false;
-}
-
-int VymModel::taskCount()
-{
-    return taskModel->count (this);
-}
-
-void VymModel::addTimestamp()  //FIXME-4 new function, localize
-{
-    BranchItem *selbi=addNewBranch();
-    if (selbi)
-    {
-       QDate today=QDate::currentDate();
-       QChar c='0';
-        selbi->setHeadingPlainText (
-        QString ("%1-%2-%3")
-            .arg(today.year(),4,10,c)
-            .arg(today.month(),2,10,c)
-            .arg(today.day(),2,10,c));
-       emitDataChanged ( selbi);       
-       reposition();
-       select (selbi);
-    }
-}
-
-
-void VymModel::copy()  
-{
-    if (readonly) return;
-
-    TreeItem *selti=getSelectedItem();
-    if (selti &&
-       (selti->getType() == TreeItem::Branch || 
-       selti->getType() == TreeItem::MapCenter  ||
-       selti->getType() == TreeItem::Image ))
-    {
-       // Copy to global clipboard
-       QString saveFile=saveToDir (clipboardDir, clipboardFile, true, QPointF(), selti);
-       if (!saveStringToDisk(clipboardDir + "/" + clipboardFile,saveFile))
-           qWarning ("ME::saveStringToDisk failed!");
-
-       clipboardEmpty=false;
-
-       if (redosAvail == 0)
-       {
-           // Copy also to history
-           QString s=getSelectString(selti);
-           saveState (PartOfMap, s, "nop ()", s, "copy ()","Copy selection to clipboard",selti  );
-           curClipboard=curStep;
-       }
-       updateActions();
-    }      
-}
-
-void VymModel::paste() 
-{   
-    if (readonly) return;
-
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {
-       saveStateChangingPart(
-           selbi,
-           selbi,
-           QString ("paste ()"),
-           QString("Paste")
-       );
-       bool zippedOrg=zipped;
-       loadMap (clipboardDir+"/"+clipboardFile,ImportAdd, VymMap,SlideContent);
-       zipped=zippedOrg;
-       reposition();
-    }
-}
-
-void VymModel::cut()   
-{
-    if (readonly) return;
-
-    TreeItem *selti=getSelectedItem();
-    if ( selti && (selti->isBranchLikeType() ||selti->getType()==TreeItem::Image))
-    {
-       copy();
-       deleteSelection();
-       reposition();
-    }
-}
-
-bool VymModel::moveUp(BranchItem *bi)
-{
-    if (readonly) return false;
-
-    bool oldState=blockSaveState;
-    blockSaveState=true;
-    bool result=false;
-    if (bi && bi->canMoveUp()) 
-       result=relinkBranch (bi,(BranchItem*)bi->parent(),bi->num()-1,false);
-    blockSaveState=oldState;
-    return result;
-}
-
-void VymModel::moveUp()        
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {
-       QString oldsel=getSelectString(selbi);
-       if (moveUp (selbi))
-       {
-           saveState (
-               getSelectString(selbi),"moveDown ()",
-               oldsel,"moveUp ()",
-               QString("Move up %1").arg(getObjectName(selbi)));
-           select (selbi);             
-       }
-    }
-}
-
-bool VymModel::moveDown(BranchItem *bi)        
-{
-    if (readonly) return false;
-
-    bool oldState=blockSaveState;
-    blockSaveState=true;
-    bool result=false;
-    if (bi && bi->canMoveDown()) 
-       result=relinkBranch (bi,(BranchItem*)bi->parent(),bi->num()+1,false);
-    blockSaveState=oldState;
-    return result;
-}
-
-void VymModel::moveDown()   
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {
-       QString oldsel=getSelectString(selbi);
-       if ( moveDown(selbi))
-       {
-           saveState (
-               getSelectString(selbi),"moveUp ()",
-               oldsel,"moveDown ()",
-               QString("Move down %1").arg(getObjectName(selbi)));
-           select (selbi);
-       }
-    }
-}
-
-void VymModel::detach()        
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi && selbi->depth()>0)
-    {
-       // if no relPos have been set before, try to use current rel positions   
-       if (selbi->getLMO())
-           for (int i=0; i<selbi->branchCount();++i)
-               selbi->getBranchNum(i)->getBranchObj()->setRelPos();
-       
-       QString oldsel=getSelectString();
-       int n=selbi->num();
-       QPointF p;
-       BranchObj *bo=selbi->getBranchObj();
-       if (bo) p=bo->getAbsPos();
-       QString parsel=getSelectString(selbi->parent());
-       if ( relinkBranch (selbi,rootItem,-1,true) )    
-           saveState (
-               getSelectString (selbi),
-               QString("relinkTo (\"%1\",%2,%3,%4)").arg(parsel).arg(n).arg(p.x()).arg(p.y()),
-               oldsel,
-               "detach ()",
-               QString("Detach %1").arg(getObjectName(selbi))
-           );
-    }
-}
-
-void VymModel::sortChildren(bool inverse) 
-{
-    BranchItem* selbi=getSelectedBranch();
-    if (selbi)
-    {
-       if(selbi->branchCount()>1)
-       {
-           if (!inverse)
-               saveStateChangingPart(
-                   selbi,selbi, "sortChildren ()",
-                   QString("Sort children of %1").arg(getObjectName(selbi)));
-           else            
-               saveStateChangingPart(
-                   selbi,selbi, "sortChildren (false)",
-                   QString("Inverse sort children of %1").arg(getObjectName(selbi)));
-
-           selbi->sortChildren(inverse);
-           select(selbi);
-           reposition();
-       }
-    }
-}
-
-BranchItem* VymModel::createMapCenter()
-{
-    BranchItem *newbi=addMapCenter (QPointF (0,0) );
-    return newbi;
-}
-
-BranchItem* VymModel::createBranch(BranchItem *dst) 
-{
-    if (dst)
-       return addNewBranchInt (dst,-2);
-    else
-       return NULL;
-}
-
-ImageItem* VymModel::createImage(BranchItem *dst)
-{
-    if (dst)
-    {
-        QModelIndex parix;
-        int n;
-
-        QList<QVariant> cData;
-        cData << tr("Image","Default name for new image") << "undef";
-
-        ImageItem *newii=new ImageItem(cData) ;
-        //newii->setHeading (QApplication::translate("Heading of new image in map", "new image"));
-
-        emit (layoutAboutToBeChanged() );
-
-        parix=index(dst);
-        if (!parix.isValid()) qDebug() << "VM::createII invalid index\n";
-        n=dst->getRowNumAppend(newii);
-        beginInsertRows (parix,n,n);
-        dst->appendChild (newii);
-        endInsertRows ();
-
-        emit (layoutChanged() );
-
-        // save scroll state. If scrolled, automatically select
-        // new branch in order to tmp unscroll parent...
-        newii->createMapObj();
-        latestAddedItem=newii;
-        reposition();
-        return newii;
-    }
-    return NULL;
-}
-
-bool VymModel::createLink(Link *link)
-{
-    BranchItem *begin=link->getBeginBranch();
-    BranchItem *end  =link->getEndBranch();
-
-    if (!begin || !end)
-    {
-       qWarning ()<<"VM::createXLinkNew part of XLink is NULL";
-       return false;
-    }
-
-    if (begin==end)
-    {
-       if (debug) qDebug()<<"VymModel::createLink begin==end, aborting";
-       return false;
-    }
-
-    // check, if link already exists
-    foreach (Link* l, xlinks)
-    {
-       if ( (l->getBeginBranch()==begin && l->getEndBranch()==end ) ||
-            (l->getBeginBranch()==end   && l->getEndBranch()==begin) )
-       {
-           qWarning()<<"VymModel::createLink link exists already, aborting";
-           return false;
-       }
-    }
-
-    QModelIndex parix;
-    int n;
-
-    QList<QVariant> cData;
-
-    cData << "new Link begin"<<"undef";
-    XLinkItem *newli=new XLinkItem(cData) ;    
-    newli->setLink (link);
-    link->setBeginLinkItem (newli);
-
-    emit (layoutAboutToBeChanged() );
-
-       parix=index(begin);
-       n=begin->getRowNumAppend(newli);
-       beginInsertRows (parix,n,n);
-       begin->appendChild (newli);     
-       endInsertRows ();
-
-    cData.clear();
-    cData << "new Link end"<<"undef";
-    newli=new XLinkItem(cData) ;       
-    newli->setLink (link);
-    link->setEndLinkItem (newli);
-
-       parix=index(end);
-       n=end->getRowNumAppend(newli);
-       beginInsertRows (parix,n,n);
-       end->appendChild (newli);       
-       endInsertRows ();
-
-    emit (layoutChanged() );
-
-    xlinks.append (link);
-    link->activate();
-
-    latestAddedItem=newli;
-
-    if (!link->getMO() ) 
-    {
-       link->createMapObj();
-       reposition();
-    } else
-        link->updateLink();
-
-    link->setStyleBegin( defXLinkStyleBegin );
-    link->setStyleEnd  ( defXLinkStyleEnd );
-    return true;
-}
-
-QColor VymModel::getXLinkColor()
-{
-    Link *l=getSelectedXLink();
-    if (l)
-       return l->getPen().color();
-    else
-       return QColor();
-}
-
-int VymModel::getXLinkWidth()
-{
-    Link *l=getSelectedXLink();
-    if (l)
-       return l->getPen().width();
-    else
-       return -1;
-}
-
-Qt::PenStyle VymModel::getXLinkPenStyle()
-{
-    Link *l=getSelectedXLink();
-    if (l)
-       return l->getPen().style();
-    else
-       return Qt::NoPen;
-}
-
-QString VymModel::getXLinkStyleBegin()
-{
-    Link *l=getSelectedXLink();
-    if (l)
-       return l->getStyleBeginString();
-    else
-       return QString();
-}
-
-QString VymModel::getXLinkStyleEnd()
-{
-    Link *l=getSelectedXLink();
-    if (l)
-       return l->getStyleEndString();
-    else
-       return QString();
-}
-
-AttributeItem* VymModel::addAttribute()            // Experimental, savestate missing
-
-{
-    BranchItem* selbi=getSelectedBranch();
-    if (selbi)
-    {
-       QList<QVariant> cData;
-       cData << "new attribute" << "undef";
-       AttributeItem *a=new AttributeItem (cData);
-       a->setType (AttributeItem::FreeString);
-       a->setKey   ("Foo Attrib");
-       a->setValue ("Att val");
-
-       if (addAttribute (selbi,a)) return a;
-    }
-    return NULL;
-}
-
-AttributeItem* VymModel::addAttribute(BranchItem *dst,AttributeItem *ai){
-    if (dst)
-    {
-       emit (layoutAboutToBeChanged() );
-
-       QModelIndex parix=index(dst);
-       int n=dst->getRowNumAppend (ai);
-       beginInsertRows (parix,n,n);    
-       dst->appendChild (ai);  
-       endInsertRows ();
-
-       emit (layoutChanged() );
-
-       ai->createMapObj(mapEditor->getScene() );   
-       reposition();
-       return ai;
-    }
-    return NULL;
-}
-
-BranchItem* VymModel::addMapCenter (bool saveStateFlag)
-{
-    if (!hasContextPos) 
-    {
-       // E.g. when called via keypresss:
-       // Place new MCO in middle of existing ones,
-       // Useful for "brainstorming" mode...
-       contextPos=QPointF();
-       BranchItem *bi;
-       BranchObj *bo;
-       for (int i=0;i<rootItem->branchCount();++i)
-       {
-           bi=rootItem->getBranchNum (i);
-           bo=(BranchObj*)bi->getLMO();
-           if (bo) contextPos+=bo->getAbsPos();
-           
-       }           
-       if (rootItem->branchCount()>1) 
-           contextPos*=1/(qreal)(rootItem->branchCount());
-    }
-
-
-    BranchItem *bi=addMapCenter (contextPos);
-    updateActions();
-    emitShowSelection();
-    if (saveStateFlag)
-        saveState (
-            bi,
-            "delete()",
-            NULL,
-            QString ("addMapCenter (%1,%2)").arg (contextPos.x()).arg(contextPos.y()),
-            QString ("Adding MapCenter to (%1,%2)").arg (contextPos.x()).arg(contextPos.y())
-        );
-            emitUpdateLayout();
-    return bi;
-}
-
-BranchItem* VymModel::addMapCenter(QPointF absPos)  
-// createMapCenter could then probably be merged with createBranch
-{
-
-    // Create TreeItem
-    QModelIndex parix=index(rootItem);
-
-    QList<QVariant> cData;
-    cData << "VM:addMapCenter" << "undef";
-    BranchItem *newbi=new BranchItem (cData,rootItem);
-    newbi->setHeadingPlainText (tr("New map", "New map"));
-    int n=rootItem->getRowNumAppend (newbi);
-
-    emit (layoutAboutToBeChanged() );
-    beginInsertRows (parix,n,n);
-
-    rootItem->appendChild (newbi);
-
-    endInsertRows();
-    emit (layoutChanged() );
-
-    // Create MapObj
-    newbi->setPositionMode (MapItem::Absolute);
-    BranchObj *bo=newbi->createMapObj(mapEditor->getScene() );
-    if (bo) bo->move (absPos);
-       
-    return newbi;
-}
-
-BranchItem* VymModel::addNewBranchInt(BranchItem *dst,int pos)
-{
-    // Depending on pos:
-    // -3      insert in children of parent  above selection 
-    // -2      add branch to selection 
-    // -1      insert in children of parent below selection 
-    // 0..n    insert in children of parent at pos
-
-    // Create TreeItem
-    QList<QVariant> cData;
-    cData << "" << "undef";
-
-    BranchItem *parbi = dst;
-    int n;
-    BranchItem *newbi = new BranchItem (cData);        
-
-    emit (layoutAboutToBeChanged() );
-
-    if (pos == -2)
-    {
-       n = parbi->getRowNumAppend (newbi);
-       beginInsertRows (index(parbi), n, n);   
-       parbi->appendChild (newbi); 
-       endInsertRows ();
-    }else if (pos == -1 || pos == -3)
-    {
-       // insert below selection
-       parbi=(BranchItem*)dst->parent();
-       n=dst->childNumber() + (3+pos)/2;   //-1 |-> 1;-3 |-> 0
-       beginInsertRows (index(parbi), n, n);   
-       parbi->insertBranch(n,newbi);   
-       endInsertRows ();
-    } else  
-    {  // pos >= 0
-       n=parbi->getRowNumAppend (newbi) - (parbi->branchCount()-pos);
-       beginInsertRows (index(parbi), n, n);   
-       parbi->insertBranch(pos,newbi); 
-       endInsertRows ();
-    }
-    emit (layoutChanged() );
-
-    newbi->createMapObj(mapEditor->getScene());
-    
-    // Set color of heading to that of parent
-    newbi->setHeadingColor (parbi->getHeadingColor());
-
-    reposition();
-    return newbi;
-}   
-
-BranchItem* VymModel::addNewBranch(BranchItem *bi, int pos)
-{
-    BranchItem *newbi=NULL;
-    if (!bi) bi=getSelectedBranch();
-
-    if (bi)
-    {
-       QString redosel=getSelectString(bi);
-       newbi=addNewBranchInt (bi,pos);
-       QString undosel=getSelectString(newbi);
-
-       if (newbi)
-       {
-           saveState(
-               undosel,        
-               "delete ()",
-               redosel,
-               QString ("addBranch (%1)").arg(pos),
-               QString ("Add new branch to %1").arg(getObjectName(bi)));       
-
-           reposition();
-           latestAddedItem=newbi;
-           // In Network mode, the client needs to know where the new branch is,
-           // so we have to pass on this information via saveState.
-           // TODO: Get rid of this positioning workaround
-           /* FIXME-4  network problem:  QString ps=qpointfToString (newbo->getAbsPos());
-           sendData ("selectLatestAdded ()");
-           sendData (QString("move %1").arg(ps));
-           sendSelection();
-           */
-       }
-    }  
-    return newbi;
-}
-
-
-BranchItem* VymModel::addNewBranchBefore()  
-{
-    BranchItem *newbi=NULL;
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi && selbi->getType()==TreeItem::Branch)
-        // We accept no MapCenter here, so we _have_ a parent
-    {
-       // add below selection
-       newbi=addNewBranchInt (selbi,-1);
-
-       if (newbi)
-       {
-           //newbi->move2RelPos (p);
-
-           // Move selection to new branch
-           relinkBranch (selbi,newbi,0,true);
-
-           // Use color of child instead of parent
-           newbi->setHeadingColor (selbi->getHeadingColor() );
-           emitDataChanged (newbi);
-
-           saveState (newbi, "deleteKeepChildren ()", newbi, "addBranchBefore ()", 
-               QString ("Add branch before %1").arg(getObjectName(selbi)));
-       }
-    }  
-    return newbi;
-}
-
-bool VymModel::relinkBranch (
-    BranchItem *branch, 
-    BranchItem *dst, 
-    int pos, 
-    bool updateSelection,
-    QPointF orgPos)
-{
-    if (branch && dst)
-    {
-       // Check if we relink to ourselves
-       if (dst->isChildOf (branch) ) return false;
-        
-       if (updateSelection) unselectAll();
-       // Do we need to update frame type?
-       bool keepFrame=true;
-        
-       // Save old position for savestate
-       QString preSelStr=getSelectString (branch);
-       QString preNum=QString::number (branch->num(),10);
-       QString preParStr=getSelectString (branch->parent());
-
-       emit (layoutAboutToBeChanged() );
-       BranchItem *branchpi=(BranchItem*)branch->parent();
-       // Remove at current position
-       int n=branch->childNum();
-
-       beginRemoveRows (index(branchpi),n,n);
-       branchpi->removeChild (n);
-       endRemoveRows();
-
-       if (pos<0 ||pos>dst->branchCount() ) pos=dst->branchCount();
-
-       // Append as last branch to dst
-       if (dst->branchCount()==0)
-           n=0;
-       else    
-           n=dst->getFirstBranch()->childNumber(); 
-       beginInsertRows (index(dst),n+pos,n+pos);
-       dst->insertBranch (pos,branch);
-       endInsertRows();
-
-       // Correct type if necessesary
-       if ( branch->getType()==TreeItem::MapCenter && branch->depth() >0 ) 
-       {
-           branch->setType(TreeItem::Branch);
-           keepFrame=false;
-       }
-
-       // reset parObj, fonts, frame, etc in related LMO or other view-objects
-       branch->updateStyles(keepFrame);
-
-        emitDataChanged( branch );
-       reposition();   // both for moveUp/Down and relinking
-
-       // Savestate
-       QString postSelStr=getSelectString(branch);
-       QString postNum=QString::number (branch->num(),10);
-
-       QPointF savePos;
-       LinkableMapObj *lmosel=branch->getLMO();
-       if (lmosel) savePos=lmosel->getAbsPos();
-
-       if (!blockSaveState)
-       {   // Don't build strings when moving up/down
-           QString undoCom="relinkTo (\""+ 
-               preParStr+ "\"," + preNum  +"," + 
-               QString ("%1,%2").arg(orgPos.x()).arg(orgPos.y())+ ")";
-
-           QString redoCom="relinkTo (\""+ 
-               getSelectString (dst)  + "\"," + postNum + "," +
-               QString ("%1,%2").arg(savePos.x()).arg(savePos.y())+ ")";
-
-           saveState (
-               postSelStr,undoCom,
-               preSelStr, redoCom,
-               QString("Relink %1 to %2").arg(getObjectName(branch)).arg(getObjectName(dst)) );
-       }
-
-       // New parent might be invisible
-       branch->updateVisibility();
-
-       if (dst->isScrolled() )
-       {
-           if (updateSelection) select (dst);
-       }
-       else    
-           if (updateSelection) select (branch);
-       return true;
-    }
-    return false;
-}
-
-bool VymModel::relinkImage (ImageItem *image, BranchItem *dst)
-{
-    if (image && dst)
-    {
-       emit (layoutAboutToBeChanged() );
-
-       BranchItem *pi=(BranchItem*)(image->parent());
-       QString oldParString=getSelectString (pi);
-       // Remove at current position
-       int n=image->childNum();
-       beginRemoveRows (index(pi),n,n);
-       pi->removeChild (n);
-       endRemoveRows();
-
-       // Add at dst
-       QModelIndex dstix=index(dst);
-       n=dst->getRowNumAppend (image);
-       beginInsertRows (dstix,n,n+1);  
-       dst->appendChild (image);   
-       endInsertRows ();
-
-       // Set new parent also for lmo
-       if (image->getLMO() && dst->getLMO() )
-           image->getLMO()->setParObj (dst->getLMO() );
-
-       emit (layoutChanged() );
-       saveState(
-           image,
-           QString("relinkTo (\"%1\")").arg(oldParString), 
-           image,
-           QString ("relinkTo (\"%1\")").arg(getSelectString (dst)),
-           QString ("Relink floatimage to %1").arg(getObjectName(dst)));
-       return true;    
-    }
-    return false;
-}
-
-void VymModel::cleanupItems()
-{
-    while (!deleteLaterIDs.isEmpty())
-    {
-       TreeItem *ti=findID (deleteLaterIDs.takeFirst());
-       if (ti) deleteItem (ti);
-    }
-}
-
-void VymModel::deleteLater(uint id)    
-{
-    if (!deleteLaterIDs.contains(id))
-       deleteLaterIDs.append (id);
-}
-
-void VymModel::deleteSelection()    
-{
-    QList <uint> selectedIDs=getSelectedIDs();
-    foreach (uint id, selectedIDs)
-    {
-       TreeItem *ti=findID (id);
-       if (ti && ti->isBranchLikeType ())
-       {   // Delete branch
-           BranchItem *selbi=(BranchItem*)ti;
-           unselectAll();
-           saveStateRemovingPart (selbi, QString ("Delete %1").arg(getObjectName(selbi)));
-
-           BranchItem *pi=(BranchItem*)(deleteItem (selbi));
-           if (pi)
-           {
-               if (pi->isScrolled() && pi->branchCount()==0)
-                   pi->unScroll();
-               emitDataChanged(pi);
-               select (pi);
-           } else
-               emitDataChanged(rootItem); 
-           ti=NULL;            
-       }
-
-       // Delete other item
-       if (ti)
-       {
-           TreeItem *pi=ti->parent(); 
-           if (!pi) return;
-           if (ti->getType()==TreeItem::Image || ti->getType()==TreeItem::Attribute||ti->getType()==TreeItem::XLink)
-           {
-               saveStateChangingPart(
-                   pi, 
-                   ti,
-                   "delete ()",
-                   QString("Delete %1").arg(getObjectName(ti))
-               );
-               unselectAll();
-               deleteItem (ti);
-               emitDataChanged (pi);
-               select (pi);
-               reposition();
-           } else
-               qWarning ("VymmModel::deleteSelection()  unknown type?!");
-       }
-    }
-}
-
-void VymModel::deleteKeepChildren(bool saveStateFlag)
-//deleteKeepChildren FIXME-3+ does not work yet for mapcenters 
-//deleteKeepChildren FIXME-3+ children of scrolled branch stay invisible...
-{
-    BranchItem *selbi=getSelectedBranch();
-    BranchItem *pi;
-    if (selbi)
-    {
-       // Don't use this on mapcenter
-       if (selbi->depth()<1) return;
-
-       pi=(BranchItem*)(selbi->parent());
-       // Check if we have children at all to keep
-       if (selbi->branchCount()==0) 
-       {
-           deleteSelection();
-           return;
-       }
-
-       QPointF p;
-       if (selbi->getLMO()) p=selbi->getLMO()->getRelPos();
-       if (saveStateFlag) saveStateChangingPart(
-           pi,
-           pi,
-           "deleteKeepChildren ()",
-           QString("Remove %1 and keep its children").arg(getObjectName(selbi))
-       );
-
-       QString sel=getSelectString(selbi);
-       unselectAll();
-       bool oldSaveState=blockSaveState;
-       blockSaveState=true;
-       int pos=selbi->num();
-       BranchItem *bi=selbi->getFirstBranch();
-       while (bi)
-       {
-           relinkBranch (bi,pi,pos,true);
-           bi=selbi->getFirstBranch();
-           pos++;
-       }
-       deleteItem (selbi);
-       reposition();
-       emitDataChanged(pi);
-       select (sel);
-       BranchObj *bo=getSelectedBranchObj();
-       if (bo) 
-       {
-           bo->move2RelPos (p);
-           reposition();
-       }
-       blockSaveState=oldSaveState;
-    }  
-}
-
-void VymModel::deleteChildren()            
-
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {      
-       saveStateChangingPart(
-           selbi, 
-           selbi,
-           "deleteChildren ()",
-           QString( "Remove children of branch %1").arg(getObjectName(selbi))
-       );
-       emit (layoutAboutToBeChanged() );
-
-       QModelIndex ix=index (selbi);
-       int n=selbi->branchCount()-1;
-       beginRemoveRows (ix,0,n);
-       removeRows (0,n+1,ix);
-       endRemoveRows();
-       if (selbi->isScrolled()) unscrollBranch (selbi);
-       emit (layoutChanged() );
-       reposition();
-    }  
-}
-
-TreeItem* VymModel::deleteItem (TreeItem *ti)
-{
-    if (ti)
-    {
-       TreeItem *pi=ti->parent();
-       //qDebug()<<"VM::deleteItem  start ti="<<ti<<"  "<<ti->getHeading()<<"  pi="<<pi<<"="<<pi->getHeading();
-
-       TreeItem::Type t=ti->getType();
-       
-       QModelIndex parentIndex=index(pi);
-
-       emit (layoutAboutToBeChanged() );
-
-       int n=ti->childNum();
-       beginRemoveRows (parentIndex,n,n);
-       removeRows (n,1,parentIndex);
-       endRemoveRows();
-
-       // Size of parent branch might change when deleting images
-       if (t==TreeItem::Image)
-       {
-           BranchObj *bo=(BranchObj*) ( ((BranchItem*)pi)->getMO() );
-           if (bo) bo->calcBBoxSize();
-       }
-
-       reposition();
-
-       emit (layoutChanged() );
-       emitUpdateQueries ();
-       if (!cleaningUpLinks) cleanupItems();
-
-       //qDebug()<<"VM::deleteItem  end   ti="<<ti;
-       if (pi->depth()>=0) return pi;
-    }  
-    return NULL;
-}
-
-void VymModel::deleteLink(Link* l)  
-{
-    if (xlinks.removeOne (l)) delete (l);
-}
-
-void VymModel::clearItem (TreeItem *ti)
-{
-    if (ti)
-    {
-       // Clear task (or other data in item itself)
-       ti->clear();
-
-       QModelIndex parentIndex=index(ti);
-       if (!parentIndex.isValid()) return;
-
-       int n=ti->childCount();
-       if (n==0) return;
-
-       emit (layoutAboutToBeChanged() );
-
-       beginRemoveRows (parentIndex,0,n-1);
-       removeRows (0,n,parentIndex);
-       endRemoveRows();
-
-
-       reposition();
-
-       emit (layoutChanged() );
-
-    }  
-    return ;
-}
-
-bool VymModel::scrollBranch(BranchItem *bi)
-{
-    if (bi) 
-    {
-       if (bi->isScrolled()) return false;
-       if (bi->branchCount()==0) return false;
-       if (bi->depth()==0) return false;
-       if (bi->toggleScroll())
-       {
-           QString u,r;
-           r="scroll";
-           u="unscroll";
-           saveState(
-               bi,
-               QString ("%1 ()").arg(u),
-               bi,
-               QString ("%1 ()").arg(r),
-               QString ("%1 %2").arg(r).arg(getObjectName(bi))
-           );
-           emitDataChanged(bi);
-           emitSelectionChanged();
-           reposition();
-           mapEditor->getScene()->update(); //Needed for _quick_ update,  even in 1.13.x 
-           return true;
-       }
-    }  
-    return false;
-}
-
-bool VymModel::unscrollBranch(BranchItem *bi)
-{
-    if (bi)
-    {
-       if (!bi->isScrolled()) return false;
-       if (bi->toggleScroll())
-       {
-           QString u,r;
-           u="scroll";
-           r="unscroll";
-           saveState(
-               bi,
-               QString ("%1 ()").arg(u),
-               bi,
-               QString ("%1 ()").arg(r),
-               QString ("%1 %2").arg(r).arg(getObjectName(bi))
-           );
-           emitDataChanged(bi);
-           emitSelectionChanged();
-           reposition();
-           mapEditor->getScene()->update(); //Needed for _quick_ update,  even in 1.13.x 
-           return true;
-       }   
-    }  
-    return false;
-}
-
-void VymModel::toggleScroll()  
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {
-       if (selbi->isScrolled())
-           unscrollBranch (selbi);
-       else
-           scrollBranch (selbi);
-       // Note: saveState & reposition are called in above functions
-    }
-}
-
-void VymModel::unscrollChildren() 
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {
-       saveStateChangingPart(
-           selbi,
-           selbi,
-           QString ("unscrollChildren ()"),
-           QString ("unscroll all children of %1").arg(getObjectName(selbi))
-       );  
-        BranchItem *prev=NULL;
-        BranchItem *cur=NULL;
-        nextBranch (cur,prev,true,selbi);
-       while (cur) 
-       {
-           if (cur->isScrolled())
-           {
-               cur->toggleScroll(); 
-               emitDataChanged (cur);
-            }
-           nextBranch (cur,prev,true,selbi);
-       }   
-       updateActions();
-       reposition();
-       // Would this help??? emitSelectionChanged();   
-    }  
-}
-
-void VymModel::setScale(qreal xn, qreal yn) 
-{
-    ImageItem *selii=getSelectedImage();
-    if (selii)
-    {
-       qreal sx=selii->getScaleX();
-       qreal sy=selii->getScaleY();
-       selii->setScale (xn,yn);
-       saveState ( 
-           selii,
-           QString ("setScale(%1,%2)").arg(sx).arg(sy),
-           selii,
-           QString ("setScale(%1,%2)").arg(xn).arg(yn),
-           QString ("Scale %1").arg(getObjectName(selii))
-       );  
-       reposition();
-    }  
-}
-
-void VymModel::growSelectionSize()  //FIXME-3 Also for heading in BranchItem?
-{
-    ImageItem *selii=getSelectedImage();
-    if (selii)
-    {
-       qreal f=0.05;
-       qreal sx=selii->getScaleX();
-       qreal sy=selii->getScaleY();
-       setScale (sx+f,sy+f);
-    }  
-}
-
-void VymModel::shrinkSelectionSize() 
-{
-    ImageItem *selii=getSelectedImage();
-    if (selii)
-    {
-       qreal f=0.05;
-       qreal sx=selii->getScaleX();
-       qreal sy=selii->getScaleY();
-       setScale (sx-f,sy-f);
-    }  
-}
-
-void VymModel::resetSelectionSize() 
-{
-    ImageItem *selii=getSelectedImage();
-    if (selii) setScale (1,1);
-}
-
-void VymModel::emitExpandAll() 
-{
-    emit (expandAll() );
-}
-
-void VymModel::emitExpandOneLevel() 
-{
-    emit (expandOneLevel () );
-}
-
-void VymModel::emitCollapseOneLevel()  
-{
-    emit (collapseOneLevel () );
-}
-
-void VymModel::emitCollapseUnselected()        
-{
-    emit (collapseUnselected() );
-}
-
-void VymModel::toggleTarget()  
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {
-       selbi->toggleTarget(); 
-       reposition();
-       saveState ( 
-           selbi,
-           "toggleTarget()",
-           selbi,
-           "toggleTarget",
-           "Toggle target");
-    }
-}
-
-ItemList VymModel::getTargets()        
-{
-    ItemList targets;
-    
-    //rmodel->setSearchString (s);
-
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    nextBranch(cur,prev);
-
-    while (cur) 
-    {
-       if (cur->hasActiveSystemFlag("system-target"))
-            targets[cur->getID()] = (cur->getHeading()).getTextASCII();
-       nextBranch(cur,prev);
-    }
-    return targets; 
-}
-
-void VymModel::toggleStandardFlag (const QString &name, FlagRow *master)
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi) 
-    {
-       QString u,r;
-       if (bi->hasActiveStandardFlag(name))
-       {
-           r="unsetFlag";
-           u="setFlag";
-       }   
-       else
-       {
-           u="unsetFlag";
-           r="setFlag";
-       }   
-       saveState(
-           bi,
-           QString("%1 (\"%2\")").arg(u).arg(name), 
-           bi,
-           QString("%1 (\"%2\")").arg(r).arg(name),
-           QString("Toggling standard flag \"%1\" of %2").arg(name).arg(getObjectName(bi)));
-           bi->toggleStandardFlag (name, master);
-       emitDataChanged (bi);
-       reposition();
-    }
-}
-
-void VymModel::addFloatImage (const QImage &img) 
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {
-       ImageItem *ii=createImage (selbi);
-       ii->load(img);
-       ii->setOriginalFilename("No original filename (image added by dropevent)"); 
-       QString s=getSelectString(selbi);
-       saveState (PartOfMap, s, "nop ()", s, "copy ()","Copy dropped image to clipboard",ii  );
-       saveState (ii,"delete ()", selbi,QString("paste(%1)").arg(curStep),"Pasting dropped image");
-       reposition();
-    }
-}
-
-
-void VymModel::colorBranch (QColor c)  
-{
-    QList <BranchItem*> selbis=getSelectedBranches();
-    foreach (BranchItem* selbi, selbis)
-    {
-       saveState(
-           selbi, 
-           QString ("colorBranch (\"%1\")").arg(selbi->getHeadingColor().name()),
-           selbi,
-           QString ("colorBranch (\"%1\")").arg(c.name()),
-           QString("Set color of %1 to %2").arg(getObjectName(selbi)).arg(c.name())
-       );  
-       selbi->setHeadingColor(c); // color branch
-       emitDataChanged (selbi);
-       taskEditor->showSelection();
-    }
-    mapEditor->getScene()->update();    
-}
-
-void VymModel::colorSubtree (QColor c, BranchItem *b) 
-{
-    QList <BranchItem*> selbis;
-    if (b) 
-       selbis.append (b);
-    else
-       selbis=getSelectedBranches();
-    foreach (BranchItem *bi,selbis)
-    {
-       saveStateChangingPart(
-           bi,
-           bi,
-           QString ("colorSubtree (\"%1\")").arg(c.name()),
-           QString ("Set color of %1 and children to %2").arg(getObjectName(bi)).arg(c.name())
-       );  
-       BranchItem *prev=NULL;
-       BranchItem *cur=NULL;
-        nextBranch (cur,prev,true,bi);
-       while (cur) 
-       {
-           cur->setHeadingColor(c); // color links, color children
-           emitDataChanged (cur);
-            nextBranch (cur,prev,true,bi);
-       }   
-    }
-    taskEditor->showSelection();
-    mapEditor->getScene()->update();
-}
-
-QColor VymModel::getCurrentHeadingColor()   
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi) return selbi->getHeadingColor();
-       
-    QMessageBox::warning(0,"Warning","Can't get color of heading,\nthere's no branch selected");
-    return Qt::black;
-}
-
-void VymModel::note2URLs()    
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {      
-       saveStateChangingPart(
-           selbi,
-           selbi,
-           QString ("note2URLs()"),
-           QString ("Extract URLs from note of %1").arg(getObjectName(selbi))
-       );  
-
-    QString n = selbi->getNoteASCII();
-       if (n.isEmpty()) return;
-       QRegExp re ("(http.*)(\\s|\"|')");
-       re.setMinimal (true);
-
-       BranchItem *bi;
-       int pos = 0;
-       while ((pos = re.indexIn(n, pos)) != -1) 
-       {
-           bi=createBranch (selbi);
-            bi->setHeadingPlainText (re.cap(1));
-           bi->setURL (re.cap(1));
-           emitDataChanged (bi);
-           pos += re.matchedLength();
-       }
-       
-    }
-}
-
-void VymModel::editHeading2URL() 
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti)
-    setURL (selti->getHeadingPlain());
-}   
-
-void VymModel::editBugzilla2URL()   
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti)
-    {      
-    QString h=selti->getHeadingPlain();
-       QRegExp rx("(\\d+)");
-       if (rx.indexIn(h) !=-1)
-           setURL ("https://bugzilla.novell.com/show_bug.cgi?id="+rx.cap(1) );
-    }
-}   
-
-void VymModel::getBugzillaData(bool subtree)   
-{
-    if (!bugzillaClientAvailable)
-    {
-       WarningDialog dia;
-       dia.setText(
-           QObject::tr("No Bugzilla client found. "
-           " For openSUSE you can install by (running as root):\n\n","VymModel, how to install Bugzilla client module")+
-           "  zypper ar http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_XX.Y/ openSUSE:Tools_XX.Y\n"+
-           "  zypper in perl-SUSE-BugzillaClient\n\n"+
-           "  and replace XX.Y with your version of openSUSE, e.g. 11.4\n\n"+
-           QObject::tr("Alternatively you can also add the repository\n"
-           "and install the perl module for Bugzilla access using YaST","VymModel, how to install Bugzilla client module")
-       );
-       dia.setWindowTitle(QObject::tr("Warning: Couldn't find Bugzilla client","VymModel"));
-       dia.setShowAgainName("/BugzillaClient/missing");
-       dia.exec();
-       return;
-    }
-    
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {      
-       QString url;
-       BranchItem *prev=NULL;
-       BranchItem *cur=NULL;
-        nextBranch (cur,prev,true,selbi);
-       while (cur) 
-       {
-           url=cur->getURL();
-           if (!url.isEmpty())
-           {
-               // Don't run query again if we are in update mode
-               if (!subtree || ! url.contains("buglist.cgi") )
-               {
-                   new BugAgent (cur,url);
-                   mainWindow->statusMessage (tr("Contacting Bugzilla...","VymModel"));
-               }
-           }
-           if (subtree) 
-               nextBranch (cur,prev,true,selbi);
-           else
-               cur=NULL;
-       }   
-    }
-}   
-
-void VymModel::editFATE2URL()
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti)
-    {      
-    QString url= "http://keeper.suse.de:8080/webfate/match/id?value=ID"+selti->getHeadingPlain();
-       saveState(
-           selti,
-           "setURL (\""+selti->getURL()+"\")",
-           selti,
-           "setURL (\""+url+"\")",
-           QString("Use heading of %1 as link to FATE").arg(getObjectName(selti))
-       );  
-       selti->setURL (url);
-       // FIXME-4 updateActions();
-    }
-}   
-
-void VymModel::setVymLink (const QString &s)   //FIXME-4 fail, if s does not exist
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       saveState(
-           bi,
-           "setVymLink (\""+bi->getVymLink()+"\")", 
-           bi,
-           "setVymLink (\""+s+"\")", 
-           QString("Set vymlink of %1 to %2").arg(getObjectName(bi)).arg(s)
-       );  
-       bi->setVymLink(s);
-       emitDataChanged (bi);
-       reposition();
-    }
-}
-
-void VymModel::deleteVymLink()
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {      
-       saveState(
-           bi,
-           "setVymLink (\""+bi->getVymLink()+"\")", 
-           bi,
-           "setVymLink (\"\")",
-           QString("Unset vymlink of %1").arg(getObjectName(bi))
-       );  
-       bi->setVymLink ("");
-       emitDataChanged (bi);
-       reposition();
-       updateActions();
-    }
-}
-
-QString VymModel::getVymLink()
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-       return bi->getVymLink();
-    else    
-       return "";
-    
-}
-
-QStringList VymModel::getVymLinks() 
-{
-    QStringList links;
-    BranchItem *selbi=getSelectedBranch();
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    nextBranch (cur,prev,true,selbi);
-    while (cur) 
-    {
-       if (!cur->getVymLink().isEmpty()) links.append( cur->getVymLink());
-       nextBranch (cur,prev,true,selbi);
-    }  
-    return links;
-}
-
-
-void VymModel::followXLink(int i)   
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-    {
-       selbi=selbi->getXLinkItemNum(i)->getPartnerBranch();
-       if (selbi) select (selbi);
-    }
-}
-
-void VymModel::editXLink()
-{
-    Link *l=getSelectedXLink();
-    if (l) 
-    {
-       EditXLinkDialog dia;
-       dia.setLink (l);
-       if (dia.exec() == QDialog::Accepted)
-       {
-           if (dia.useSettingsGlobal() )
-            {
-               setMapDefXLinkPen( l->getPen() );
-                setMapDefXLinkStyleBegin( l->getStyleBeginString() );
-                setMapDefXLinkStyleEnd( l->getStyleEndString() );
-            }
-       }
-    }   
-}
-
-void VymModel::setXLinkColor(const QString &new_col)
-{
-    Link *l = getSelectedXLink();
-    if (l) 
-    {
-        QPen pen = l->getPen();
-        QColor new_color = QColor( new_col );
-        QColor old_color = pen.color();
-        if (new_color == old_color) return;
-        pen.setColor( new_color);
-        l->setPen( pen );
-        saveState(
-                l->getBeginLinkItem(),
-                QString("setXLinkColor(\"%1\")").arg(old_color.name() ),
-                l->getBeginLinkItem(),
-                QString("setXLinkColor(\"%1\")").arg(new_color.name() ),
-                QString("set color of xlink to %1").arg(new_color.name() ) );
-    }   
-}
-
-void VymModel::setXLinkLineStyle(const QString &new_style)
-{
-    Link *l = getSelectedXLink();
-    if (l) 
-    {
-        QPen pen = l->getPen();
-        QString old_style = penStyleToString( pen.style() );
-        if (new_style == old_style) return;
-        bool ok;
-        pen.setStyle( penStyle(new_style, ok) );
-        l->setPen( pen );
-        saveState(
-                l->getBeginLinkItem(),
-                QString("setXLinkLineStyle(\"%1\")").arg(old_style),
-                l->getBeginLinkItem(),
-                QString("setXLinkLineStyle(\"%1\")").arg(new_style),
-                QString("set style of xlink to %1").arg(new_style) );
-    }   
-}
-
-void VymModel::setXLinkStyleBegin(const QString &new_style)
-{
-    Link *l=getSelectedXLink();
-    if (l) 
-    {
-        QString old_style = l->getStyleBeginString();
-        if (new_style == old_style) return;
-        l->setStyleBegin( new_style );
-        saveState(
-                l->getBeginLinkItem(),
-                QString("setXLinkStyleBegin(\"%1\")").arg(old_style),
-                l->getBeginLinkItem(),
-                QString("setXLinkStyleBegin(\"%1\")").arg(new_style),
-                "set style of xlink begin");
-    }   
-}
-
-void VymModel::setXLinkStyleEnd(const QString &new_style)
-{
-    Link *l=getSelectedXLink();
-    if (l) 
-    {
-        QString old_style = l->getStyleEndString();
-        if (new_style == old_style) return;
-        l->setStyleEnd( new_style );
-        saveState(
-                l->getBeginLinkItem(),
-                QString("setXLinkStyleEnd(\"%1\")").arg(old_style),
-                l->getBeginLinkItem(),
-                QString("setXLinkStyleEnd(\"%1\")").arg(new_style),
-                "set style of xlink end");
-    }   
-}
-
-void VymModel::setXLinkWidth(int new_width)
-{
-    Link *l=getSelectedXLink();
-    if (l) 
-    {
-        QPen pen = l->getPen();
-        int old_width = pen.width();
-        if (new_width == old_width) return;
-        pen.setWidth( new_width);
-        l->setPen( pen );
-        saveState(
-                l->getBeginLinkItem(),
-                QString("setXLinkWidth(%1)").arg(old_width),
-                l->getBeginLinkItem(),
-                QString("setXLinkWidth(%1)").arg(new_width),
-                "set width of xlink");
-    }   
-}
-
-//////////////////////////////////////////////
-// Scripting
-//////////////////////////////////////////////
-
-QVariant VymModel::parseAtom(const QString &atom, bool &noErr, QString &errorMsg)
-{
-    TreeItem* selti=getSelectedItem();
-    BranchItem *selbi=getSelectedBranch();
-    QString s,t;
-    double x,y;
-    int n;
-    bool b,ok;
-    QVariant returnValue="";
-
-    // Split string s into command and parameters
-    parser.parseAtom (atom);
-
-    if (parser.getCommand().length() == 0)
-    {
-        errorMsg.clear();
-        noErr=true;
-        return returnValue;
-    }
-
-    // Check set of parameters
-    if (parser.errorLevel()==NoError && parser.checkParameters(selti) )
-    {
-       QString com=parser.getCommand();
-    // - MS VS2013 compiler has nested if limit - work around that with
-    //   do{}while(0); and breaks
-    do {
-       /////////////////////////////////////////////////////////////////////
-       if (com=="addBranch")  
-       {
-           if (parser.parCount()==0)
-               addNewBranch ();
-           else
-               addNewBranch ( selbi,parser.parInt (ok,0) );
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="addBranchBefore")
-       {
-           addNewBranchBefore ();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com==QString("addMapCenter"))
-       {
-           x=parser.parDouble (ok,0);
-           y=parser.parDouble (ok,1);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com==QString("addMapInsert"))
-       {
-           t=parser.parString (ok,0);  // path to map
-           int contentFilter=0x0000;
-
-           int pc=parser.parCount();
-           int pos=-1; 
-           // Get position
-           if (pc>1)
-           {
-               pos=parser.parInt(ok,1);            // position
-               if (!ok)
-                   parser.setError (Aborted,"Couldn't read position");
-           }
-
-           // Get contentFilter (to filter e.g. slides)
-           if (pc>2)
-           {
-               contentFilter=parser.parInt (ok,2);
-               if (!ok)
-                   parser.setError (Aborted,"Couldn't read content Filter");
-           }
-           
-           if (parser.errorLevel() == NoError)
-           {
-               if (QDir::isRelativePath(t)) 
-                   t=(QDir::currentPath() + "/"+t);
-               saveStateBeforeLoad (ImportAdd, t);
-               if (File::Aborted==loadMap (t,ImportAdd,VymMap,contentFilter,pos) )
-                   parser.setError (Aborted,QString("Couldn't load %1").arg(t) );
-           }   
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com==QString("addMapReplace"))
-       {
-           t=parser.parString (ok,0);  // path to map
-           if (QDir::isRelativePath(t)) 
-               t=(QDir::currentPath() + "/"+t);
-           saveStateBeforeLoad (ImportReplace, t);
-           if (File::Aborted==loadMap (t,ImportReplace,VymMap) )
-               parser.setError (Aborted,QString("Couldn't load %1").arg(t) );
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com==QString("addSlide"))
-       {
-           addSlide();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com==QString("addXLink"))
-       {
-           s=parser.parString (ok,0);  // begin
-           t=parser.parString (ok,1);  // end
-           BranchItem *begin=(BranchItem*)findBySelectString(s);
-           BranchItem *end=(BranchItem*)findBySelectString(t);
-           if (begin && end)
-           {
-               if (begin->isBranchLikeType() && end->isBranchLikeType())
-               {
-                   Link *li=new Link (this);
-                   li->setBeginBranch ( (BranchItem*)begin );
-                   li->setEndBranch ( (BranchItem*)end);
-
-                   createLink (li);
-                   QPen pen=li->getPen();
-                   if (parser.parCount()>2)
-                   {
-                       int w=parser.parInt (ok,2); 
-                       if (ok) pen.setWidth(w);
-                   }
-                   if (parser.parCount()>3)
-                   {
-                       QColor col=parser.parColor (ok,3);
-                       if (ok) pen.setColor (col);
-                   }
-                   if (parser.parCount()>4)
-                   {
-                       QString st0=parser.parString (ok,4);
-                       if (ok)
-                       {
-                           Qt::PenStyle st1=penStyle (st0,ok);
-                           if (ok) 
-                               pen.setStyle (st1);
-                           else        
-                               parser.setError (Aborted, "Couldn't read penstyle");
-                       }
-                   }
-                   if (ok) li->setPen(pen);    
-               }
-               else
-                   parser.setError (Aborted,"begin or end of xLink are not branch or mapcenter");
-               
-           } else
-               parser.setError (Aborted,"Couldn't find begin or end of xLink");
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="branchCount")
-       { 
-           returnValue=selti->branchCount();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="centerCount")
-       { 
-           returnValue=rootItem->branchCount();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="centerOnID")
-       {
-           s=parser.parString(ok,0);
-           TreeItem *ti=findUuid(QUuid(s));
-           if (ti)
-            {
-               LinkableMapObj *lmo=((MapItem*)ti)->getLMO();
-               if (zoomFactor>0 && lmo)
-                   mapEditor->setViewCenterTarget (
-                       lmo->getBBox().center(),
-                       zoomFactor,
-                       rotationAngle,
-                       animDuration,
-                       animCurve);
-                else
-                    qWarning()<<"VymModel::centerOnID failed!";
-           } else
-               parser.setError(Aborted,QString("Could not find ID: \"%1\"").arg(s));
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="clearFlags")
-    {
-        selbi->deactivateAllStandardFlags();
-        reposition();
-        emitDataChanged(selbi);
-        setChanged();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="colorBranch")
-    {
-        QColor c=parser.parColor (ok,0);
-        colorBranch (c);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="colorSubtree")
-    {
-        QColor c=parser.parColor (ok,0);
-        colorSubtree (c);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="copy")
-       {
-           copy();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="cut")
-       {
-               cut();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="cycleTask")
-       {
-           ok=true;
-           if (parser.parCount()==0) b=false;
-           if (parser.parCount()==1) b=parser.parBool(ok,0);
-           if (ok) cycleTaskStatus (b);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="delete")
-       {
-           deleteSelection();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="deleteKeepChildren")
-       {
-           deleteKeepChildren();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="deleteChildren")
-       {
-           deleteChildren();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="deleteSlide")
-       {
-           n = parser.parInt (ok,0);
-           if (!ok || n < 0 || n >= slideModel->count() - 1)
-               parser.setError (Aborted,"Index out of range");
-           else    
-                deleteSlide(n);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportAO")
-       {
-           QString fname=parser.parString(ok,0); 
-           exportAO (fname,false);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportASCII")
-       {
-       QString fname  = parser.parString(ok, 0);
-       bool listTasks = parser.parBool(ok, 1);
-       exportASCII (listTasks, fname, false);
-       break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportCSV")
-       {
-          QString fname=parser.parString(ok,0); 
-          exportCSV (fname,false);
-       break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportHTML")
-       {
-           QString path=parser.parString(ok,0); 
-           QString fname=parser.parString(ok,1); 
-           exportHTML (path,fname,false);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportImage")
-       {
-           QString fname=parser.parString(ok,0); 
-           QString format="PNG";
-           if (parser.parCount()>=2)
-               format=parser.parString(ok,1);
-           exportImage (fname,false,format);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportImpress")
-       {
-           QString fn=parser.parString(ok,0); 
-           QString cf=parser.parString(ok,1); 
-           exportImpress (fn,cf);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportLast")
-       {
-           exportLast ();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportLaTeX")
-       {
-           QString fname=parser.parString(ok,0); 
-           exportLaTeX (fname,false);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportOrgMode")
-       {
-           QString fname=parser.parString(ok,0); 
-           exportOrgMode (fname,false);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportPDF")
-       {
-           QString fname=parser.parString(ok,0); 
-           exportPDF(fname,false);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportSVG")
-       {
-           QString fname=parser.parString(ok,0); 
-           exportSVG(fname,false);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="exportXML")
-       {
-           QString dpath=parser.parString(ok,0); 
-           QString fpath=parser.parString(ok,1); 
-           exportXML (dpath,fpath,false);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getDestPath")
-       { 
-           returnValue=getDestPath();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getFileDir")
-       { 
-           returnValue=getFileDir();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getFrameType")
-       { 
-           BranchObj *bo=(BranchObj*)(selbi->getLMO());
-           if (!bo)
-               parser.setError (Aborted,"No BranchObj");
-           else
-               returnValue=bo->getFrame()->getFrameTypeName();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getHeadingPlainText")
-       { 
-            returnValue = getHeading().getTextASCII();
-            break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getHeadingXML")
-       { 
-            returnValue = getHeading().saveToDir();
-            break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getMapAuthor")
-       { 
-           returnValue=author;
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getMapComment")
-       { 
-           returnValue=comment;
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getMapTitle")
-       { 
-           returnValue=title;
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getNotePlainText")
-       { 
-            returnValue= getNote().getTextASCII();
-            break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getNoteXML")
-       { 
-            returnValue= getNote().saveToDir();
-            break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getSelectString")
-       { 
-           returnValue=getSelectString();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getTaskSleepDays")
-       { 
-            Task *task=selbi->getTask();
-            if (task)
-                returnValue=task->getDaysSleep();
-            else
-                parser.setError (Aborted,"Branch has no task set");
-            break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getURL")
-       { 
-           returnValue=selti->getURL();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getVymLink")
-       { 
-           returnValue=selti->getVymLink();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getXLinkColor")
-       { 
-           returnValue=getXLinkColor().name();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getXLinkWidth")
-       { 
-           returnValue=getXLinkWidth();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getXLinkPenStyle")
-       { 
-           returnValue=penStyleToString( getXLinkPenStyle() );
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getXLinkStyleBegin")
-       { 
-           returnValue = getXLinkStyleBegin();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="getXLinkStyleEnd")
-       { 
-           returnValue = getXLinkStyleEnd();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="hasActiveFlag")
-       { 
-           s=parser.parString(ok,0);
-           returnValue=selti->hasActiveStandardFlag(s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="hasNote")
-       {
-           returnValue = !getNote().isEmpty();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="hasRichTextNote")
-       {
-           returnValue=hasRichTextNote();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="hasTask")
-       { 
-            if (selbi && selbi->getTask() )
-                returnValue=true;
-            else
-                returnValue=false;
-            break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="importDir")
-       {
-           s=parser.parString(ok,0);
-           importDirInt(s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="isScrolled")
-       {
-           returnValue=selbi->isScrolled();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="loadImage")
-       {
-           s=parser.parString(ok,0);
-           loadImage (selbi,s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="loadNote")
-       {
-           s=parser.parString(ok,0);
-           loadNote (s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="moveDown")
-       {
-           moveDown();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="moveUp")
-       {
-           moveUp();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="moveSlideUp")
-       {
-           n = parser.parInt (ok, 0);
-           if (!ok || n < 0 || n >= slideModel->count() - 1)
-               parser.setError (Aborted,"Index out of range");
-           else    
-               moveSlideUp(n);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="moveSlideDown")
-       {
-           n = parser.parInt (ok, 0);
-           if (!ok || n < 0 || n >= slideModel->count() - 1)
-               parser.setError (Aborted,"Index out of range");
-           else    
-               moveSlideDown(n);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="move")
-       {
-           x=parser.parDouble (ok,0);
-           y=parser.parDouble (ok,1);
-           move (x,y);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="moveRel")
-       {
-           x=parser.parDouble (ok,0);
-           y=parser.parDouble (ok,1);
-           moveRel (x,y);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="nop")
-       {
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="note2URLs")
-       {
-           note2URLs();
-        break;
-    }
-        /////////////////////////////////////////////////////////////////////
-    if (com=="parseVymText")
-        {
-            s = parser.parString(ok,0);
-            parseVymText( s );
-        break;
-    }
-        /////////////////////////////////////////////////////////////////////
-    if (com=="paste")
-       {
-           paste();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="redo")
-       {
-           redo();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="relinkTo")
-       {
-           if (!selti)
-           {
-               parser.setError (Aborted,"Nothing selected");
-           } else if ( selbi)
-           {
-               if (parser.checkParCount(4))
-               {
-                   // 0        selectstring of parent
-                   // 1        num in parent (for branches)
-                   // 2,3      x,y of mainbranch or mapcenter (for images)
-                   s=parser.parString(ok,0);
-                   TreeItem *dst=findBySelectString (s);
-                   if (dst)
-                   {   
-                       if (dst->getType()==TreeItem::Branch ) 
-                       {
-                           // Get number in parent
-                           n=parser.parInt (ok,1);
-                           if (ok)
-                           {
-                               if (relinkBranch (selbi,(BranchItem*)dst,n,true))
-                                   emitSelectionChanged();
-                               else
-                                   parser.setError(Aborted,"Relinking failed");
-                           }   
-                       } else if (dst->getType()==TreeItem::MapCenter) 
-                       {
-                           if (relinkBranch (selbi,(BranchItem*)dst,-1,true))
-                           {
-                               // Get coordinates of mainbranch
-                               x=parser.parDouble(ok,2);
-                               if (ok)
-                               {
-                                   y=parser.parDouble(ok,3);
-                                   if (ok) 
-                                   {
-                                       if (selbi->getLMO()) 
-                                       {
-                                           ((BranchObj*)selbi->getLMO())->move (x,y);
-                                           ((BranchObj*)selbi->getLMO())->setRelPos();
-                                       }
-                                   }
-                               }
-                               reposition();
-                               emitSelectionChanged();
-                           } else
-                               parser.setError(Aborted,"Relinking failed");
-                       }       
-                   } else
-                       parser.setError (Aborted,"Couldn't find destination branch");
-               }       
-           } else if ( selti->getType() == TreeItem::Image) 
-           {
-               if (parser.checkParCount(1))
-               {
-                   // 0        selectstring of parent
-                   s=parser.parString(ok,0);
-                   TreeItem *dst=findBySelectString (s);
-                   if (dst)
-                   {   
-                       if (dst->isBranchLikeType())
-                           if (!relinkImage ( ((ImageItem*)selti),(BranchItem*)dst))
-                               parser.setError(Aborted,"Relinking failed");
-
-                   } else      
-                       parser.setError (Aborted,"Destination is not a branch");
-               }           
-           } else
-               parser.setError (Aborted,"Type of selection is not a floatimage or branch");
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="saveImage")
-       {
-           ImageItem *ii=getSelectedImage();
-           s=parser.parString(ok,0);
-           t=parser.parString(ok,1);
-           saveImage (ii,t,s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="saveNote")
-       {
-           s=parser.parString(ok,0);
-           saveNote (s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="scroll")
-       {
-           if (!scrollBranch (selbi))  
-               parser.setError (Aborted,"Could not scroll branch");
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="select")
-       {
-           s=parser.parString(ok,0);
-           if (!select (s))
-               parser.setError(Aborted,QString("Could not select \"%1\"").arg(s));
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="selectID")
-       {
-           s=parser.parString(ok,0);
-           if (!selectID (s))
-               parser.setError(Aborted,QString("Could not select ID: \"%1\"").arg(s));
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="selectLastBranch")
-       {
-           BranchItem *bi=selbi->getLastBranch();
-           if (!bi)
-               parser.setError (Aborted,"Could not select last branch");
-           select (bi);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="selectLastImage")
-       {
-           ImageItem *ii=selbi->getLastImage();
-           if (!ii)
-               parser.setError (Aborted,"Could not select last image");
-           select (ii);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="selectParent")
-       {
-           selectParent ();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="selectLatestAdded")
-       {
-           if (!latestAddedItem)
-           {
-               parser.setError (Aborted,"No latest added object");
-           } else
-           {   
-               if (!select (latestAddedItem))
-                   parser.setError (Aborted,"Could not select latest added object ");
-           }   
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setFlag")
-       {
-           s=parser.parString(ok,0);
-           selbi->activateStandardFlag(s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setTaskSleep")
-       {
-           s=parser.parString(ok,0);
-           returnValue=setTaskSleep (s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setFrameIncludeChildren")
-       {
-           b=parser.parBool(ok,0);
-           setFrameIncludeChildren(b);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setFrameType")
-       {
-           s=parser.parString(ok,0);
-           setFrameType (s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setFramePenColor")
-       {
-           QColor c=parser.parColor(ok,0);
-           setFramePenColor (c);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setFrameBrushColor")
-       {
-           QColor c=parser.parColor(ok,0);
-           setFrameBrushColor (c);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setFramePadding")
-       {
-           n=parser.parInt(ok,0);
-           setFramePadding(n);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setFrameBorderWidth")
-       {
-           n=parser.parInt(ok,0);
-           setFrameBorderWidth (n);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setHeadingPlainText")
-       {
-           s=parser.parString (ok,0);
-            setHeadingPlainText (s); // FIXME-3  what about RT? Nothing implemented.
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setHideExport")
-       {
-           b=parser.parBool(ok,0);
-           setHideExport (b);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setIncludeImagesHorizontally")
-       { 
-           b=parser.parBool(ok,0);
-           setIncludeImagesHor(b);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setIncludeImagesVertically")
-       {
-           b=parser.parBool(ok,0);
-           if (ok) setIncludeImagesVer(b);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setHideLinkUnselected")
-       {
-           b=parser.parBool(ok,0);
-           setHideLinkUnselected(b);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setMapAnimCurve")
-       {
-           n=parser.parInt(ok,0);
-           if (n<0 || n>QEasingCurve::OutInBounce)
-               parser.setError (Aborted,"Unknown link style");
-           else
-           {
-               QEasingCurve c;
-               c.setType ( (QEasingCurve::Type) n);
-               setMapAnimCurve(c);
-           }
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setMapAnimDuration")
-       {
-           n=parser.parInt(ok,0);
-           setMapAnimDuration(n);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setMapAuthor")
-       {
-           s=parser.parString(ok,0);
-           setAuthor (s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setMapComment")
-       {
-           s=parser.parString(ok,0);
-           if (ok) setComment(s);
-        break;
-    }
-    if (com=="setMapTitle")
-       {
-           s=parser.parString(ok,0);
-           if (ok) setTitle(s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setMapBackgroundColor")
-       {
-           QColor c=parser.parColor (ok,0);
-           setMapBackgroundColor (c);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setMapDefLinkColor")
-       {
-           QColor c=parser.parColor (ok,0);
-           setMapDefLinkColor (c);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setMapLinkStyle")
-       {
-           s=parser.parString (ok,0);
-           if (!setMapLinkStyle(s) )
-               parser.setError (Aborted,"Unknown link style");
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setMapRotation")
-       {
-           x=parser.parDouble (ok,0);
-           setMapRotationAngle(x);
-           mapEditor->setAngleTarget(x);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setMapZoom")
-       {
-           x=parser.parDouble (ok,0);
-           setMapZoomFactor(x);
-           mapEditor->setZoomFactorTarget(x);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setNotePlainText")
-       {
-           s=parser.parString (ok,0);
-            VymNote vn;
-            vn.setPlainText(s);
-            setNote (vn);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setScale")
-       {
-           x=parser.parDouble (ok,0);
-           y=parser.parDouble (ok,1);
-           setScale (x,y);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setSelectionColor")
-       {
-           QColor c=parser.parColor (ok,0);
-           setSelectionColorInt (c);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setURL")
-       {
-           s=parser.parString (ok,0);
-           setURL(s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setVymLink")
-       {
-           s=parser.parString (ok,0);
-           setVymLink(s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setXLinkColor")
-       {
-           s=parser.parString (ok,0);
-           setXLinkColor(s);     
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setXLinkLineStyle")
-       {
-           s=parser.parString (ok,0);
-           setXLinkLineStyle(s);     
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setXLinkStyleBegin")
-       {
-           s=parser.parString (ok,0);
-           setXLinkStyleBegin(s);     
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setXLinkStyleEnd")
-       {
-           s=parser.parString (ok,0);
-           setXLinkStyleEnd(s);     
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="setXLinkWidth")
-       {
-           n=parser.parInt (ok,0);
-           setXLinkWidth(n);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="sleep")
-       {
-           n=parser.parInt (ok,0);
-           sleep (n);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="sortChildren")
-       {
-           b=false;
-           if (parser.parCount()==1)
-               b=parser.parBool(ok,0);
-           sortChildren(b);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="toggleFlag")
-       {
-           s=parser.parString(ok,0);
-            toggleStandardFlag (s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="toggleFrameIncludeChildren")
-       {
-           toggleFrameIncludeChildren();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="toggleScroll")
-       {
-           toggleScroll();     
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="toggleTarget")
-       {
-           toggleTarget();     
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="toggleTask")
-       {
-           toggleTask();       
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="undo")
-       {
-           undo();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="unscroll")
-       {
-           if (!unscrollBranch (selbi))    
-               parser.setError (Aborted,"Could not unscroll branch");
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="unscrollChildren")
-       {
-           unscrollChildren ();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="unselectAll")
-       {
-           unselectAll();
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    if (com=="unsetFlag")
-       {
-           s=parser.parString(ok,0);
-           selbi->deactivateStandardFlag(s);
-        break;
-    }
-       /////////////////////////////////////////////////////////////////////
-    //else must be an Unknown command
-           parser.setError (Aborted,"Unknown command");
-    break;
-
-    } while(0); // End of do{}while(0); MS VS2013 nested if bug workaround
-
-    } // end check set of parameters if
-    // Any errors?
-    if (parser.errorLevel()==NoError)
-    {
-        reposition();
-        errorMsg.clear();
-        noErr=true;
-    }
-    else
-    {
-        // TODO Error handling
-        noErr=false;
-        errorMsg=parser.errorMessage();
-        returnValue=errorMsg;
-    }
-    return returnValue;
-}
-
-QVariant VymModel::execute (const QString &script)
-{
-    parser.setScript (script);
-    parser.execute ();
-    QVariant r;
-    bool noErr=true;
-    QString errMsg;
-    while (parser.next() && noErr) 
-    {
-        r=parseAtom(parser.getAtom(),noErr,errMsg);
-        if (!noErr)
-        {
-            if (!options.isOn("batch") && !testmode )
-                QMessageBox::warning(0,tr("Warning"),tr("Script aborted:\n%1").arg(errMsg));
-            qWarning()<< QString("VM::execute aborted: "+errMsg + "\n" + script);
-        }
-    }
-    return r;
-}
-
-void VymModel::setExportMode (bool b)
-{
-    // should be called before and after exports
-    // depending on the settings
-    if (b && settings.value("/export/useHideExport","true")=="true")
-       setHideTmpMode (TreeItem::HideExport);
-    else    
-       setHideTmpMode (TreeItem::HideNone);
-}
-
-QPointF VymModel::exportImage(QString fname, bool askName, QString format)  
-{
-    QPointF offset; // set later, when getting image from MapEditor
-
-    if (fname=="")
-    {
-        if (!askName) 
-        {
-            qWarning("VymModel::exportImage called without filename (and askName==false)");
-            return offset;
-        }
-
-       fname=lastImageDir.absolutePath() + "/" + getMapName()+".png";
-       format="PNG";
-    }  
-
-    ExportBase ex;
-    ex.setName( "Image" );
-    ex.setModel( this );
-    ex.setFilePath( fname );
-    ex.setWindowTitle ( tr("Export map as image") );
-    ex.addFilter( "PNG (*.png);;All (* *.*)" ); //  imageIO.getFilters().join(";;")
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (askName)
-    {
-        if (! ex.execDialog() ) return offset;
-        fname = ex.getFilePath();
-        lastImageDir=dirname(fname);
-    }
-
-    setExportMode (true);
-
-    QImage img (mapEditor->getImage(offset));
-    if (!img.save(fname, format.toLocal8Bit()))
-       QMessageBox::critical (0,tr("Critical Error"),tr("Couldn't save QImage %1 in format %2").arg(fname).arg(format));
-    setExportMode (false);
-
-    ex.completeExport();
-
-    return offset;
-}
-
-void VymModel::exportPDF (QString fname, bool askName)
-{
-    if (fname == "")
-    {
-        if (!askName) 
-        {
-            qWarning("VymModel::exportPDF called without filename (and askName==false)");
-            return;
-        }
-
-       fname = lastExportDir.absolutePath() + "/" + getMapName()+".pdf";
-    }  
-
-    ExportBase ex;
-    ex.setName( "PDF" );
-    ex.setModel( this );
-    ex.setFilePath( fname );
-    ex.setWindowTitle ( tr("Export map as PDF") );
-    ex.addFilter( "PDF (*.pdf);;All (* *.*)" );
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (askName)
-    {
-        if (! ex.execDialog() ) return;
-        fname = ex.getFilePath();
-    }
-
-    setExportMode (true);
-
-    // To PDF
-    QPrinter printer(QPrinter::HighResolution);
-    printer.setOutputFormat(QPrinter::PdfFormat);
-    printer.setOutputFileName(fname);
-    printer.setPageSize(QPrinter::A3);
-
-    QRectF bbox=mapEditor->getTotalBBox();
-    if (bbox.width()>bbox.height())
-       // recommend landscape
-       printer.setOrientation (QPrinter::Landscape);
-    else    
-       // recommend portrait
-       printer.setOrientation (QPrinter::Portrait);
-
-    QPainter *pdfPainter = new QPainter(&printer);
-    getScene()->render(pdfPainter);
-    pdfPainter->end();
-    delete pdfPainter;
-
-    setExportMode (false);
-
-    ex.completeExport();
-}
-
-QPointF VymModel::exportSVG (QString fname, bool askName) 
-{
-    QPointF offset; // FIXME-3 not needed?
-
-    if (fname=="")
-    {
-        if (!askName) 
-        {
-            qWarning("VymModel::exportSVG called without filename (and askName==false)");
-            return offset;
-        }
-
-       fname=lastImageDir.absolutePath() + "/" + getMapName()+".png";
-    }  
-
-    ExportBase ex;
-    ex.setName( "SVG" );
-    ex.setModel( this );
-    ex.setFilePath( fname );
-    ex.setWindowTitle ( tr("Export map as SVG") );
-    ex.addFilter( "SVG (*.svg);;All (* *.*)" );
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (askName)
-    {
-        if (! ex.execDialog() ) return offset;
-        fname = ex.getFilePath();
-        lastImageDir = dirname(fname);
-    }
-
-    setExportMode (true);
-
-    QSvgGenerator generator;
-    generator.setFileName(fname);
-    QSize sceneSize = getScene()->sceneRect().size().toSize();
-    generator.setSize(sceneSize);
-    generator.setViewBox(QRect(0, 0, sceneSize.width(), sceneSize.height()));
-    QPainter *svgPainter = new QPainter(&generator);
-    getScene()->render(svgPainter);
-    svgPainter->end();
-    delete svgPainter;
-
-    setExportMode (false);
-    ex.completeExport();
-
-    return offset;
-}
-
-void VymModel::exportXML (QString dpath, QString fpath, bool useDialog)
-{
-    ExportBase ex;
-    ex.setName( "XML" );
-    ex.setModel( this );
-    ex.setWindowTitle ( tr("Export map as XML") );
-    ex.addFilter( "XML (*.xml);;All (* *.*)" );
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (useDialog)
-    {
-       QFileDialog fd;
-       fd.setWindowTitle (vymName+ " - " + tr("Export XML to directory"));
-       fd.setFileMode (QFileDialog::DirectoryOnly);
-       QStringList filters;
-       filters << "XML data (*.xml)";
-       fd.setNameFilters (filters);
-       fd.setConfirmOverwrite (false);
-       fd.setAcceptMode (QFileDialog::AcceptSave);
-
-       QString fn;
-       if (fd.exec() != QDialog::Accepted || fd.selectedFiles().isEmpty() ) return;
-
-       dpath = fd.selectedFiles().first();
-        //dpath = dpath.left(dpath.lastIndexOf("/"));
-       fpath = dpath + "/" + mapName + ".xml";
-
-       if (!reallyWriteDirectory(dpath) ) return;
-    }
-    ex.setFilePath( fpath );
-
-    QString mname = basename(fpath);
-
-    // Hide stuff during export, if settings want this
-    setExportMode (true);
-
-    // Create subdirectories
-    makeSubDirs (dpath);
-
-    // write image and calculate offset (Remember old mapSaved setting while exporting image)
-    bool mchanged = mapChanged;
-    bool munsaved = mapUnsaved;
-
-    QPointF offset = exportImage (dpath + "/images/" + mname + ".png",false,"PNG");
-
-    mapChanged = mchanged;
-    mapUnsaved = munsaved;
-
-    // write to directory   //FIXME-3 check totalBBox here...
-    QString saveFile=saveToDir (dpath , mname + "-", true, offset, NULL); 
-    QFile file;
-
-    file.setFileName (fpath);
-    if ( !file.open( QIODevice::WriteOnly ) )
-    {
-       // This should neverever happen
-       QMessageBox::critical (
-                0,
-                tr("Critical Export Error"),
-                QString("VymModel::exportXML couldn't open %1").arg(file.fileName())
-        );
-       return;
-    }  
-
-    // Write it finally, and write in UTF8, no matter what 
-    QTextStream ts( &file );
-    ts.setCodec("UTF-8");
-    ts << saveFile;
-    file.close();
-
-    setExportMode (false);
-
-    ex.completeExport( QString("\"%1\",\"%2\"").arg(dpath).arg(fpath) );
-}
-
-void VymModel::exportAO (QString fname,bool askName)
-{
-    ExportAO ex;
-    ex.setModel (this);
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (fname=="") 
-       ex.setFilePath (mapName+".txt");        
-    else
-       ex.setFilePath (fname);
-
-    if (askName)
-    {
-       ex.setDirPath (lastExportDir.absolutePath());
-       ex.execDialog();
-    } 
-    if (!ex.canceled())
-    {
-       setExportMode(true);
-       ex.doExport();
-       setExportMode(false);
-    }
-}
-
-void VymModel::exportASCII(bool listTasks, const QString &fname, bool askName)
-{
-    ExportASCII ex;
-    ex.setModel (this);
-    ex.setListTasks(listTasks);
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (fname=="")
-        ex.setFilePath (mapName+".txt");
-    else
-        ex.setFilePath (fname);
-
-    if (askName)
-    {
-        ex.setDirPath (lastExportDir.absolutePath());
-        ex.execDialog() ;
-    }
-
-    if (!ex.canceled())
-    {
-        setExportMode(true);
-        ex.doExport();
-        setExportMode(false);
-    }
-}
-
-void VymModel::exportCSV(const QString &fname, bool askName)
-{
-    ExportCSV ex;
-    ex.setModel (this);
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (fname=="")
-        ex.setFilePath (mapName+".csv");
-    else
-        ex.setFilePath (fname);
-
-    if (askName)
-    {
-        ex.addFilter ("CSV (*.csb);;All (* *.*)");
-        ex.setDirPath (lastExportDir.absolutePath());
-        ex.setWindowTitle(vymName+ " -" +tr("Export as csv")+" "+tr("(still experimental)"));
-        ex.execDialog() ;
-    }
-
-    if (!ex.canceled())
-    {
-        setExportMode(true);
-        ex.doExport();
-        setExportMode(false);
-    }
-}
-
-void VymModel::exportHTML (const QString &dpath, const QString &fpath,bool useDialog)
-{
-    ExportHTML ex (this);
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (!dpath.isEmpty()) ex.setDirPath (dpath);
-    if (!fpath.isEmpty()) ex.setFilePath (fpath);
-    setExportMode(true);
-    ex.doExport(useDialog);
-    setExportMode(false);
-}
-
-void VymModel::exportImpress(const QString &fn, const QString &cf) 
-{
-    ExportOO ex;
-    ex.setFilePath (fn);
-    ex.setModel (this);
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (ex.setConfigFile(cf)) 
-    {
-        QString lastCommand = settings.localValue(filePath,"/export/last/command","").toString();
-
-        setExportMode (true);
-        ex.exportPresentation();
-        setExportMode (false);
-
-        QString command = settings.localValue(filePath,"/export/last/command","").toString();
-        if (lastCommand != command) setChanged();
-    }
-}
-
-bool VymModel::exportLastAvailable(QString &description, QString &command, QString &path, QString &configFile)
-{
-    command     = settings.localValue(filePath,"/export/last/command","").toString();
-    description = settings.localValue(filePath,"/export/last/description","").toString();
-    path        = settings.localValue(filePath,"/export/last/exportPath","").toString();
-    configFile  = settings.localValue(filePath,"/export/last/configFile","").toString();
-    if (!command.isEmpty() && command.startsWith("export")) 
-       return true;
-    else
-       return false;
-}   
-
-void VymModel::exportLast()
-{
-    QString desc, command, path, configFile;  //FIXME-3 better integrate configFile into command
-    if (exportLastAvailable(desc, command, path, configFile) )
-    {
-        execute (command);
-        /*
-       if (!configFile.isEmpty() && command=="exportImpress")
-           execute (QString ("%1 (\"%2\",\"%3\")").arg(command).arg(path).arg(configFile) );
-       else    
-           execute (QString ("%1 (\"%2\")").arg(command).arg(path) );
-        */
-    }      
-}
-
-void VymModel::exportLaTeX (const QString &fname,bool askName)
-{
-    ExportLaTeX ex;
-    ex.setModel (this);
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (fname=="") 
-       ex.setFilePath (mapName+".tex");        
-    else
-       ex.setFilePath (fname);
-
-    if (askName) ex.execDialog() ; 
-    if (!ex.canceled())
-    {
-       setExportMode(true);
-       ex.doExport();
-       setExportMode(false);
-    }
-}
-
-void VymModel::exportOrgMode (const QString &fname, bool askName)
-{
-    ExportOrgMode ex;
-    ex.setModel (this);
-    ex.setLastCommand( settings.localValue(filePath,"/export/last/command","").toString() );
-
-    if (fname=="") 
-       ex.setFilePath (mapName+".org");        
-    else
-       ex.setFilePath (fname);
-
-    if (askName) 
-    {
-       ex.setDirPath (lastExportDir.absolutePath());
-        ex.execDialog();
-    }
-
-    if (!ex.canceled())
-    {
-       setExportMode(true);
-       ex.doExport();
-       setExportMode(false);
-    }
-}
-
-
-//////////////////////////////////////////////
-// View related
-//////////////////////////////////////////////
-
-void VymModel::registerEditor(QWidget *me)
-{
-    mapEditor=(MapEditor*)me;
-}
-
-void VymModel::unregisterEditor(QWidget *)
-{
-    mapEditor=NULL;
-}
-
-void VymModel::setMapZoomFactor (const double &d)
-{
-    zoomFactor=d;
-}
-
-void VymModel::setMapRotationAngle(const double &d)
-{
-    rotationAngle=d;
-}
-
-void VymModel::setMapAnimDuration(const int &d)
-{
-    animDuration=d;
-}
-
-void VymModel::setMapAnimCurve(const QEasingCurve &c)
-{
-    animCurve=c;
-}
-
-void VymModel::setContextPos(QPointF p)
-{
-    contextPos=p;
-    hasContextPos=true;
-}
-
-void VymModel::unsetContextPos()
-{
-    contextPos=QPointF();
-    hasContextPos=false;
-}
-
-void VymModel::updateNoteFlag()
-{
-    TreeItem *selti=getSelectedItem();
-    if (selti)
-    {
-        if (!mapChanged)
-        {
-            setChanged();
-            updateActions();
-        }
-
-        if (noteEditor->isEmpty())
-            selti->clearNote();
-        else
-            selti->setNote(noteEditor->getNote());
-        emitDataChanged(selti);
-        reposition();
-    }
-}
-
-void VymModel::reposition() //FIXME-4 VM should have no need to reposition, but the views...
-{
-    if (blockReposition) return;
-
-    BranchObj *bo;
-    for (int i=0;i<rootItem->branchCount(); i++)
-    {
-       bo=rootItem->getBranchObjNum(i);
-       if (bo)
-           bo->reposition();   //  for positioning heading
-       else
-           qDebug()<<"VM::reposition bo=0";
-    }  
-    mapEditor->getTotalBBox(); 
-    emitSelectionChanged();
-}
-
-
-bool VymModel::setMapLinkStyle (const QString & s)
-{
-    QString snow;
-    switch (linkstyle)
-    {
-       case LinkableMapObj::Line :
-           snow="StyleLine";
-           break;
-       case LinkableMapObj::Parabel:
-           snow="StyleParabel";
-           break;
-       case LinkableMapObj::PolyLine:
-           snow="StylePolyLine";
-           break;
-       case LinkableMapObj::PolyParabel:
-           snow="StylePolyParabel";
-           break;
-       default:    
-           return false;
-           break;
-    }
-
-    saveState (
-       QString("setMapLinkStyle (\"%1\")").arg(s),
-       QString("setMapLinkStyle (\"%1\")").arg(snow),
-       QString("Set map link style (\"%1\")").arg(s)
-    ); 
-
-    if (s=="StyleLine")
-       linkstyle=LinkableMapObj::Line;
-    else if (s=="StyleParabel")
-       linkstyle=LinkableMapObj::Parabel;
-    else if (s=="StylePolyLine")
-       linkstyle=LinkableMapObj::PolyLine;
-    else if (s=="StylePolyParabel") 
-       linkstyle=LinkableMapObj::PolyParabel;
-    else
-       linkstyle=LinkableMapObj::UndefinedStyle;
-
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    BranchObj *bo;
-    nextBranch (cur,prev);
-    while (cur) 
-    {
-       bo=(BranchObj*)(cur->getLMO() );
-       bo->setLinkStyle(bo->getDefLinkStyle(cur->parent() ));  //FIXME-4 better emit dataCHanged and leave the changes to View
-       nextBranch(cur,prev);
-    }
-    reposition();
-    return true;
-}
-
-LinkableMapObj::Style VymModel::getMapLinkStyle ()
-{
-    return linkstyle;
-}   
-
-uint VymModel::getModelID()
-{
-    return modelID;
-}
-
-void VymModel::setView (VymView *vv)
-{
-    vymView=vv;
-}
-
-void VymModel::setMapDefLinkColor(QColor col)
-{
-    if ( !col.isValid() ) return;
-    saveState (
-       QString("setMapDefLinkColor (\"%1\")").arg(getMapDefLinkColor().name()),
-       QString("setMapDefLinkColor (\"%1\")").arg(col.name()),
-       QString("Set map link color to %1").arg(col.name())
-    );
-
-    defLinkColor=col;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    BranchObj *bo;
-    nextBranch(cur,prev);
-    while (cur) 
-    {
-       bo=(BranchObj*)(cur->getLMO() );
-       bo->setLinkColor();
-       nextBranch(cur,prev);
-    }
-    updateActions();
-}
-
-void VymModel::setMapLinkColorHintInt()
-{
-    // called from setMapLinkColorHint(lch) or at end of parse
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    BranchObj *bo;
-    nextBranch(cur,prev);
-    while (cur) 
-    {
-       bo=(BranchObj*)(cur->getLMO() );
-       bo->setLinkColor();
-       nextBranch(cur,prev);
-    }
-}
-
-void VymModel::setMapLinkColorHint(LinkableMapObj::ColorHint lch)
-{
-    linkcolorhint=lch;
-    setMapLinkColorHintInt();
-}
-
-void VymModel::toggleMapLinkColorHint()
-{
-    if (linkcolorhint==LinkableMapObj::HeadingColor)
-       linkcolorhint=LinkableMapObj::DefaultColor;
-    else    
-       linkcolorhint=LinkableMapObj::HeadingColor;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    BranchObj *bo;
-    nextBranch(cur,prev);
-    while (cur) 
-    {
-       bo=(BranchObj*)(cur->getLMO() );
-       bo->setLinkColor();
-       nextBranch(cur,prev);
-    }
-}
-
-void VymModel::selectMapBackgroundImage ()  // FIXME-3 for using background image: view.setCacheMode(QGraphicsView::CacheBackground);  Also this belongs into ME
-{
-    QStringList filters;
-    filters<< tr("Images") + " (*.png *.bmp *.xbm *.jpg *.png *.xpm *.gif *.pnm)";
-    QFileDialog fd;
-    fd.setFileMode (QFileDialog::ExistingFile);
-    fd.setWindowTitle(vymName + " - " + tr("Load background image"));
-    fd.setDirectory (lastImageDir);
-    fd.setAcceptMode (QFileDialog::AcceptOpen);
-
-    if ( fd.exec() == QDialog::Accepted &&!fd.selectedFiles().isEmpty())
-    {
-       // TODO selectMapBackgroundImg in QT4 use:  lastImageDir=fd.directory();
-       lastImageDir=QDir ( fd.directory().path() );
-       setMapBackgroundImage ( fd.selectedFiles().first() );
-    }
-}   
-
-void VymModel::setMapBackgroundImage (const QString &fn)    //FIXME-3 missing savestate, move to ME
-{
-    /*
-    QColor oldcol=mapEditor->getScene()->backgroundBrush().color();
-    saveState(
-       selection,
-       QString ("setMapBackgroundImage (%1)").arg(oldcol.name()),
-       selection,
-       QString ("setMapBackgroundImage (%1)").arg(col.name()),
-       QString("Set background color of map to %1").arg(col.name()));
-    */ 
-    QBrush brush;
-    brush.setTextureImage (QImage (fn));
-    mapEditor->getScene()->setBackgroundBrush(brush);
-}
-
-void VymModel::selectMapBackgroundColor() 
-{
-    QColor col = QColorDialog::getColor( mapEditor->getScene()->backgroundBrush().color(), NULL);
-    if ( !col.isValid() ) return;
-    setMapBackgroundColor( col );
-}
-
-
-void VymModel::setMapBackgroundColor(QColor col)    // FIXME-4 move to ME
-{
-    QColor oldcol=mapEditor->getScene()->backgroundBrush().color();
-    saveState(
-       QString ("setMapBackgroundColor (\"%1\")").arg(oldcol.name()),
-       QString ("setMapBackgroundColor (\"%1\")").arg(col.name()),
-       QString("Set background color of map to %1").arg(col.name()));
-    mapEditor->getScene()->setBackgroundBrush(col);
-}
-
-QColor VymModel::getMapBackgroundColor()    // FIXME-4 move to ME
-{
-    return mapEditor->getScene()->backgroundBrush().color();
-}
-
-QFont VymModel::getMapDefaultFont ()  
-{
-    return defaultFont;
-}
-
-void VymModel::setMapDefaultFont (const QFont &f)  
-{
-    defaultFont=f;
-}
-
-LinkableMapObj::ColorHint VymModel::getMapLinkColorHint()   // FIXME-4 move to ME
-{
-    return linkcolorhint;
-}
-
-QColor VymModel::getMapDefLinkColor()  // FIXME-4 move to ME
-{
-    return defLinkColor;
-}
-
-void VymModel::setMapDefXLinkPen (const QPen &p)  // FIXME-4 move to ME
-{
-    defXLinkPen=p;
-}
-
-QPen VymModel::getMapDefXLinkPen()     // FIXME-4 move to ME
-{
-    return defXLinkPen;
-}
-
-void VymModel::setMapDefXLinkStyleBegin( const QString &s)
-{
-    defXLinkStyleBegin = s;
-}
-
-QString VymModel::getMapDefXLinkStyleBegin()
-{
-    return defXLinkStyleBegin;
-}
-
-void VymModel::setMapDefXLinkStyleEnd( const QString &s)
-{
-    defXLinkStyleEnd = s;
-}
-
-QString VymModel::getMapDefXLinkStyleEnd()
-{
-    return defXLinkStyleEnd;
-}
-
-void VymModel::move(const double &x, const double &y)
-{
-    MapItem *seli = (MapItem*)getSelectedItem();
-    if (seli && (seli->isBranchLikeType() || seli->getType()==TreeItem::Image))
-    {
-       LinkableMapObj *lmo=seli->getLMO();
-       if (lmo)
-       {
-           QPointF ap(lmo->getAbsPos());
-           QPointF to(x, y);
-           if (ap != to)
-           {
-               QString ps=qpointFToString(ap);
-               QString s=getSelectString(seli);
-               saveState(
-                   s, "move "+ps, 
-                   s, "move "+qpointFToString(to), 
-                   QString("Move %1 to %2").arg(getObjectName(seli)).arg(ps));
-               lmo->move(x,y);
-               reposition();
-               emitSelectionChanged();
-           }
-       }
-    }
-}
-
-void VymModel::moveRel (const double &x, const double &y)   
-{
-    MapItem *seli = (MapItem*)getSelectedItem();
-    if (seli && (seli->isBranchLikeType() || seli->getType()==TreeItem::Image))
-    {
-       LinkableMapObj *lmo=seli->getLMO();
-       if (lmo)
-       {
-           QPointF rp(lmo->getRelPos());
-           QPointF to(x, y);
-           if (rp != to)
-           {
-               QString ps=qpointFToString (lmo->getRelPos());
-               QString s=getSelectString(seli);
-               saveState(
-                   s, "moveRel "+ps, 
-                   s, "moveRel "+qpointFToString(to), 
-                   QString("Move %1 to relative position %2").arg(getObjectName(seli)).arg(ps));
-               ((OrnamentedObj*)lmo)->move2RelPos (x,y);
-               reposition();
-               lmo->updateLinkGeometry();
-               emitSelectionChanged();
-           }
-       }   
-    }
-}
-
-
-void VymModel::animate()   
-{
-    animationTimer->stop();
-    BranchObj *bo;
-    int i=0;
-    while (i<animObjList.size() )
-    {
-       bo=(BranchObj*)animObjList.at(i);
-       if (!bo->animate())
-       {
-           if (i>=0) 
-           {   
-               animObjList.removeAt(i);
-               i--;
-           }
-       }
-       bo->reposition();
-       i++;
-    } 
-    emitSelectionChanged();
-
-    if (!animObjList.isEmpty()) animationTimer->start(animationInterval);
-}
-
-
-void VymModel::startAnimation(BranchObj *bo, const QPointF &v)
-{
-    if (!bo) return;
-
-    if (bo->getUseRelPos())
-       startAnimation (bo,bo->getRelPos(),bo->getRelPos()+v);
-    else
-       startAnimation (bo,bo->getAbsPos(),bo->getAbsPos()+v);
-}
-
-void VymModel::startAnimation(BranchObj *bo, const QPointF &start, const QPointF &dest)
-{
-    if (start==dest) return;
-    if (bo && bo->getTreeItem()->depth()>=0) 
-    {
-       AnimPoint ap;
-       ap.setStart (start);
-       ap.setDest  (dest);
-       ap.setTicks (animationTicks);
-       ap.setAnimated (true);
-       bo->setAnimation (ap);
-       if (!animObjList.contains(bo))
-           animObjList.append( bo );
-       animationTimer->setSingleShot (true);
-       animationTimer->start(animationInterval);
-    }
-}
-
-void VymModel::stopAnimation (MapObj *mo)
-{
-    int i=animObjList.indexOf(mo);
-    if (i>=0)
-       animObjList.removeAt (i);
-}
-
-void VymModel::stopAllAnimation ()
-{
-    BranchObj *bo;
-    int i=0;
-    while (i<animObjList.size() )
-    {
-       bo=(BranchObj*)animObjList.at(i);
-       bo->stopAnimation();
-       bo->requestReposition();
-       i++;
-    } 
-    reposition();
-}
-
-void VymModel::sendSelection()
-{
-    if (netstate!=Server) return;
-    sendData (QString("select (\"%1\")").arg(getSelectString()) );
-}
-
-void VymModel::newServer()
-{
-    port=54321;
-    sendCounter=0;
-    tcpServer = new QTcpServer(this);
-    if (!tcpServer->listen(QHostAddress::Any,port)) {
-        QMessageBox::critical(NULL, "vym server",
-                              QString("Unable to start the server: %1.").arg(tcpServer->errorString()));
-        //FIXME-3 needed? we are no widget any longer... close();
-        return;
-    }
-    connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newClient()));
-    netstate=Server;
-    qDebug()<<"Server is running on port "<<tcpServer->serverPort();
-}
-
-void VymModel::connectToServer()
-{
-    port=54321;
-    server="salam.suse.de";
-    server="localhost";
-    clientSocket = new QTcpSocket (this);
-    clientSocket->abort();
-    clientSocket->connectToHost(server ,port);
-    connect(clientSocket, SIGNAL(readyRead()), this, SLOT(readData()));
-    connect(clientSocket, SIGNAL(error(QAbstractSocket::SocketError)),
-            this, SLOT(displayNetworkError(QAbstractSocket::SocketError)));
-    netstate=Client;       
-    qDebug()<<"connected to "<<qPrintable (server)<<" port "<<port;
-
-    
-}
-
-void VymModel::newClient()
-{
-    QTcpSocket *newClient = tcpServer->nextPendingConnection();
-    connect(newClient, SIGNAL(disconnected()),
-            newClient, SLOT(deleteLater()));
-
-    qDebug() <<"ME::newClient  at "<<qPrintable( newClient->peerAddress().toString() );
-
-    clientList.append (newClient);
-}
-
-
-void VymModel::sendData(const QString &s)
-{
-    if (clientList.size()==0) return;
-
-    // Create bytearray to send
-    QByteArray block;
-    QDataStream out(&block, QIODevice::WriteOnly);
-    out.setVersion(QDataStream::Qt_4_0);
-
-    // Reserve some space for blocksize
-    out << (quint16)0;
-
-    // Write sendCounter
-    out << sendCounter++;
-
-    // Write data
-    out << s;
-
-    // Go back and write blocksize so far
-    out.device()->seek(0);
-    quint16 bs=(quint16)(block.size() - 2*sizeof(quint16));
-    out << bs;
-
-    if (debug)
-       qDebug() << "ME::sendData  bs="<<bs<<"  counter="<<sendCounter<<"  s="<<qPrintable(s);
-
-    for (int i=0; i<clientList.size(); ++i)
-    {
-       //qDebug() << "Sending \""<<qPrintable (s)<<"\" to "<<qPrintable (clientList.at(i)->peerAddress().toString());
-       clientList.at(i)->write (block);
-    }
-}
-
-void VymModel::readData ()
-{
-    while (clientSocket->bytesAvailable() >=(int)sizeof(quint16) )
-    {
-       if (debug)
-           qDebug() <<"readData  bytesAvail="<<clientSocket->bytesAvailable();
-       quint16 recCounter;
-       quint16 blockSize;
-
-       QDataStream in(clientSocket);
-       in.setVersion(QDataStream::Qt_4_0);
-
-       in >> blockSize;
-       in >> recCounter;
-       
-       QString t;
-       in >>t;
-       if (debug)
-           qDebug() << "VymModel::readData  command="<<qPrintable (t);
-       bool noErr;
-       QString errMsg;
-       parseAtom (t,noErr,errMsg);
-
-    }
-    return;
-}
-
-void VymModel::displayNetworkError(QAbstractSocket::SocketError socketError)
-{
-    switch (socketError) {
-    case QAbstractSocket::RemoteHostClosedError:
-        break;
-    case QAbstractSocket::HostNotFoundError:
-        QMessageBox::information(NULL, vymName +" Network client",
-                                 "The host was not found. Please check the "
-                                    "host name and port settings.");
-        break;
-    case QAbstractSocket::ConnectionRefusedError:
-        QMessageBox::information(NULL, vymName + " Network client",
-                                 "The connection was refused by the peer. "
-                                    "Make sure the fortune server is running, "
-                                    "and check that the host name and port "
-                                    "settings are correct.");
-        break;
-    default:
-        QMessageBox::information(NULL, vymName + " Network client",
-                                 QString("The following error occurred: %1.")
-                                 .arg(clientSocket->errorString()));
-    }
-}
-
-void VymModel::downloadImage (const QUrl &url, BranchItem *bi) 
-{
-    if (!bi) bi=getSelectedBranch();
-    if (!bi) 
-    {
-       qWarning ("VM::download bi==NULL");
-       return;
-    }
-
-    // FIXME-3 download img to tmpfile and delete after running script in mainWindow
-    QString script;
-    script += QString("selectID(\"%1\");").arg(bi->getUuid().toString());
-    script += QString("loadImage(\"$TMPFILE\");");
-
-    DownloadAgent *agent = new DownloadAgent(url);
-    agent->setFinishedAction (this, script);
-    connect (agent, SIGNAL (downloadFinished()), mainWindow, SLOT (downloadFinished()));
-    QTimer::singleShot(0, agent, SLOT(execute()));
-}
-
-void VymModel::selectMapSelectionColor()
-{
-    QColor col = QColorDialog::getColor( defLinkColor, NULL);
-    setSelectionColor (col);
-}
-
-void VymModel::setSelectionColorInt (QColor col)
-{
-    if ( !col.isValid() ) return;
-    saveState (
-       QString("setSelectionColor (\"%1\")").arg(mapEditor->getSelectionColor().name()),
-       QString("setSelectionColor (\"%1\")").arg(col.name()),
-       QString("Set color of selection box to %1").arg(col.name())
-    );
-
-    mapEditor->setSelectionColor (col);
-}
-
-void VymModel::emitSelectionChanged(const QItemSelection &newsel)
-{
-    emit (selectionChanged(newsel,newsel)); // needed e.g. to update geometry in editor
-    sendSelection();
-}
-
-void VymModel::emitSelectionChanged()
-{
-    QItemSelection newsel=selModel->selection();
-    emitSelectionChanged (newsel);
-}
-
-void VymModel::setSelectionColor(QColor col)
-{
-    if ( !col.isValid() ) return;
-    setSelectionColorInt (col);
-}
-
-QColor VymModel::getSelectionColor()
-{
-    return mapEditor->getSelectionColor();
-}
-
-void VymModel::setHideTmpMode (TreeItem::HideTmpMode mode)  
-{
-    hidemode=mode;
-    for (int i=0;i<rootItem->branchCount();i++)
-       rootItem->getBranchNum(i)->setHideTmp (mode);
-    reposition();
-    if (mode==TreeItem::HideExport)
-       unselectAll();
-    else
-       reselect();
-
-    qApp->processEvents();
-}
-
-//////////////////////////////////////////////
-// Selection related
-//////////////////////////////////////////////
-
-void VymModel::updateSelection(QItemSelection newsel,QItemSelection dsel)      
-{
-    QModelIndex ix;
-    MapItem *mi;
-    BranchItem *bi;
-    bool do_reposition=false;
-    foreach (ix, dsel.indexes() )
-    {
-       mi = static_cast<MapItem*>(ix.internalPointer());
-       if (mi->isBranchLikeType() )
-           do_reposition=do_reposition || ((BranchItem*)mi)->resetTmpUnscroll();
-       if (mi->getType()==TreeItem::XLink)
-       {
-           Link *li=((XLinkItem*)mi)->getLink();
-           XLinkObj *xlo=li->getXLinkObj();
-           if (xlo) 
-               xlo->setSelection (XLinkObj::Unselected);
-
-           do_reposition=do_reposition || li->getBeginBranch()->resetTmpUnscroll();
-           do_reposition=do_reposition || li->getEndBranch()->resetTmpUnscroll();
-       }
-    }    
-
-    foreach (ix, newsel.indexes() )
-    {
-       mi = static_cast<MapItem*>(ix.internalPointer());
-       if (mi->isBranchLikeType() )
-       {
-           bi=(BranchItem*)mi;
-           if (bi->hasScrolledParent() )
-           {
-               bi->tmpUnscroll();
-               do_reposition=true;
-           }
-       }
-       if (mi->getType()==TreeItem::XLink)
-       {
-           ((XLinkItem*)mi)->setSelection();
-
-           // begin/end branches need to be tmp unscrolled
-           Link *li=((XLinkItem*)mi)->getLink();
-           bi=li->getBeginBranch();
-           if (bi->hasScrolledParent() )
-           {
-               bi->tmpUnscroll();
-               do_reposition=true;
-           }
-           bi=li->getEndBranch();
-           if (bi->hasScrolledParent() )
-           {
-               bi->tmpUnscroll();
-               do_reposition=true;
-           }
-       }
-    }    
-    if ( do_reposition ) reposition();
-}
-
-void VymModel::setSelectionModel (QItemSelectionModel *sm)
-{
-    selModel=sm;
-}
-
-QItemSelectionModel* VymModel::getSelectionModel()
-{
-    return selModel;
-}
-
-void VymModel::setSelectionBlocked (bool b)
-{
-    selectionBlocked=b;
-}
-
-bool VymModel::isSelectionBlocked()
-{
-    return selectionBlocked;
-}
-
-bool VymModel::select (const QString &s)
-{
-    if (s.isEmpty()) return false;
-    TreeItem *ti=findBySelectString(s);
-    if (ti) return select (index(ti));
-    return false;
-}
-
-bool VymModel::selectID (const QString &s)
-{
-    if (s.isEmpty()) return false;
-    TreeItem *ti=findUuid(QUuid(s));
-    if (ti) return select (index(ti));
-    return false;
-}
-
-bool VymModel::select (LinkableMapObj *lmo)
-{
-    QItemSelection oldsel=selModel->selection();
-
-    if (lmo)
-       return select (lmo->getTreeItem() );
-    else    
-       return false;
-}
-
-bool VymModel::selectToggle (TreeItem *ti)
-{
-    if (ti) 
-    { 
-       selModel->select ( index(ti), QItemSelectionModel::Toggle);
-       //appendSelection();    // FIXME-4 selection history not implemented yet for multiselections 
-       return true;
-    }
-    return false;
-}
-
-bool VymModel::select (TreeItem *ti)
-{
-    if (ti) 
-       return select (index(ti));
-    else
-       return false;
-}
-
-bool VymModel::select (const QModelIndex &index) 
-{
-    if (index.isValid() )
-    {
-        TreeItem *ti=getItem (index);
-        if (ti->isBranchLikeType() )
-            ((BranchItem*)ti)->tmpUnscroll();
-        reposition();
-        selModel->select (index,QItemSelectionModel::ClearAndSelect  );
-        appendSelection();
-        return true;
-    }
-    return false;
-}
-
-void VymModel::unselectAll ()    
-{
-    unselect (selModel->selection() );
-}
-
-void VymModel::unselect(QItemSelection desel)  
-{
-    if (!desel.isEmpty())
-    {
-       lastSelectString=getSelectString();
-       selModel->clearSelection(); 
-    }
-}   
-
-bool VymModel::reselect()
-{
-    bool b=select (lastSelectString);
-    return b;
-}   
-
-bool VymModel::canSelectPrevious()
-{
-    if (currentSelection>0)
-       return true;
-    else
-       return false;
-}
-
-bool VymModel::selectPrevious()
-{
-    keepSelectionHistory=true;
-    bool result=false;
-    while (currentSelection>0)
-    {
-       currentSelection--;
-       TreeItem *ti=findID (selectionHistory.at(currentSelection));
-       if (ti) 
-       {
-           result=select (ti);
-           break;
-       } else
-           selectionHistory.removeAt (currentSelection);
-    } 
-    keepSelectionHistory=false;
-    return result;
-}   
-
-bool VymModel::canSelectNext()
-{
-    if (currentSelection < selectionHistory.count()-1 )
-       return true;
-    else
-       return false;
-}
-
-bool VymModel::selectNext()
-{
-    keepSelectionHistory=true;
-    bool result=false;
-    while (currentSelection<selectionHistory.count()-1)
-    {
-       currentSelection++;
-       TreeItem *ti=findID (selectionHistory.at(currentSelection));
-       if (ti) 
-       {
-           result=select (ti);
-           break;
-       } else
-           selectionHistory.removeAt (currentSelection);
-    } 
-    keepSelectionHistory=false;
-    return result;
-}   
-
-void VymModel::resetSelectionHistory()
-{
-    selectionHistory.clear();
-    currentSelection=-1;
-    keepSelectionHistory=false;
-    appendSelection();
-}
-
-void VymModel::appendSelection()    // FIXME-4 history unable to cope with multiple selections
-{
-    uint id=0;
-    TreeItem *ti=getSelectedItem();
-    if (ti && !keepSelectionHistory) 
-    {
-       if (ti->isBranchLikeType())
-           ((BranchItem*)ti)->setLastSelectedBranch();
-       id=ti->getID(); 
-       selectionHistory.append (id);
-       currentSelection=selectionHistory.count()-1;
-       updateActions();
-    }
-}
-
-void VymModel::emitShowSelection()  
-{
-    if (!blockReposition) emit (showSelection() );
-}
-
-void VymModel::emitNoteChanged (TreeItem *ti)
-{
-    QModelIndex ix=index(ti);
-    emit (noteChanged (ix) );
-}
-
-void VymModel::emitDataChanged (TreeItem *ti)    
-{
-    QModelIndex ix=index(ti);
-    emit ( dataChanged (ix,ix) );
-    if (!blockReposition)
-    {
-        if ( ti->isBranchLikeType() && ((BranchItem*)ti)->getTask()  )
-        {
-            taskModel->emitDataChanged ( ((BranchItem*)ti)->getTask() );
-            taskModel->recalcPriorities();
-        }
-    }
-}
-
-void VymModel::emitUpdateQueries ()
-{
-    // Used to tell MainWindow to update query results
-    if (blockReposition) return; 
-    emit (updateQueries (this) );
-}
-void VymModel::emitUpdateLayout()
-{
-    if (settings.value("/mainwindow/autoLayout/use","true")=="true")
-       emit (updateLayout());
-}
-
-bool VymModel::selectFirstBranch()
-{
-    TreeItem *ti=getSelectedBranch();
-    if (ti)
-    {
-       TreeItem *par=ti->parent();
-       if (par) 
-       {
-           TreeItem *ti2=par->getFirstBranch();
-           if (ti2) return  select(ti2);
-       }
-    }      
-    return false;
-}
-
-bool VymModel::selectLastBranch()
-{
-    TreeItem *ti=getSelectedBranch();
-    if (ti)
-    {
-       TreeItem *par=ti->parent();
-       if (par) 
-       {
-           TreeItem *ti2=par->getLastBranch();
-           if (ti2) return select(ti2);
-       }
-    }      
-    return false;
-}
-
-bool VymModel::selectLastSelectedBranch()
-{
-    BranchItem *bi=getSelectedBranch();
-    if (bi)
-    {
-       bi=bi->getLastSelectedBranch();
-       if (bi) return select (bi);
-    }      
-    return false;
-}
-
-bool VymModel::selectLastImage()    
-{
-    TreeItem *ti=getSelectedBranch();
-    if (ti)
-    {
-       TreeItem *par=ti->parent();
-       if (par) 
-       {
-           TreeItem *ti2=par->getLastImage();
-           if (ti2) return select(ti2);
-       }
-    }      
-    return false;
-}
-
-bool VymModel::selectParent()
-{
-    TreeItem *ti=getSelectedItem();
-    TreeItem *par;
-    if (ti)
-    {
-       par=ti->parent();
-       if (par) 
-           return select(par);
-    }      
-    return false;
-}
-
-TreeItem::Type VymModel::selectionType()
-{
-    TreeItem *ti = getSelectedItem();
-    if (ti)
-       return ti->getType();
-    else
-       return TreeItem::Undefined;
-}
-
-LinkableMapObj* VymModel::getSelectedLMO()
-{
-    QModelIndexList list=selModel->selectedIndexes();
-    if (list.count()==1 )
-    {
-       TreeItem *ti = getItem (list.first() );
-       TreeItem::Type type=ti->getType();
-       if (type ==TreeItem::Branch || type==TreeItem::MapCenter || type==TreeItem::Image)
-           return ((MapItem*)ti)->getLMO();
-    }
-    return NULL;
-}
-
-BranchObj* VymModel::getSelectedBranchObj() // convenience function
-{
-    TreeItem *ti = getSelectedBranch();
-    if (ti)
-       return (BranchObj*)(  ((MapItem*)ti)->getLMO());
-    else    
-       return NULL;
-}
-
-BranchItem* VymModel::getSelectedBranch()
-{
-    TreeItem *ti=getSelectedItem();
-    if (ti)
-    {
-       TreeItem::Type type=ti->getType();
-       if (type ==TreeItem::Branch || type==TreeItem::MapCenter)
-           return (BranchItem*)ti;
-    }
-    return NULL;
-}
-
-QList <BranchItem*> VymModel::getSelectedBranches()
-{
-    QList <BranchItem*> bis;
-    foreach (TreeItem *ti,getSelectedItems() )
-    {
-       TreeItem::Type type=ti->getType();
-       if (type ==TreeItem::Branch || type==TreeItem::MapCenter)
-           bis.append ( (BranchItem*)ti );
-    }
-    return bis;
-}
-
-ImageItem* VymModel::getSelectedImage()
-{
-    TreeItem *ti=getSelectedItem();
-    if (ti && ti->getType()==TreeItem::Image)
-       return (ImageItem*)ti;
-    else
-       return NULL;
-}
-
-Task* VymModel::getSelectedTask()
-{
-    BranchItem *selbi=getSelectedBranch();
-    if (selbi)
-       return selbi->getTask();
-    else
-       return NULL;
-}
-
-Link* VymModel::getSelectedXLink()
-{
-    XLinkItem *xli=getSelectedXLinkItem();
-    if (xli) return xli->getLink();
-    return NULL;
-}
-
-XLinkItem* VymModel::getSelectedXLinkItem()
-{
-    TreeItem *ti=getSelectedItem();
-    if (ti && ti->getType()==TreeItem::XLink)
-       return (XLinkItem*)ti;
-    else
-       return NULL;
-}
-
-AttributeItem* VymModel::getSelectedAttribute()        
-{
-    TreeItem *ti=getSelectedItem();
-    if (ti && ti->getType()==TreeItem::Attribute)
-       return (AttributeItem*)ti;
-    else
-       return NULL;
-}
-
-TreeItem* VymModel::getSelectedItem()  
-{
-    if (!selModel) return NULL;
-    QModelIndexList list=selModel->selectedIndexes();
-    if (list.count()==1 )
-       return getItem (list.first() );
-    else    
-       return NULL;
-}
-
-QList <TreeItem*> VymModel::getSelectedItems() 
-{
-    QList <TreeItem*> l;
-    if (!selModel) return l;
-    QModelIndexList list=selModel->selectedIndexes();
-    foreach (QModelIndex ix,list)
-       l.append (getItem (ix) );
-    return l;
-}
-
-QModelIndex VymModel::getSelectedIndex()
-{
-    QModelIndexList list=selModel->selectedIndexes();
-    if (list.count()==1 )
-       return list.first();
-    else
-       return QModelIndex();
-}
-
-QList <uint> VymModel::getSelectedIDs()
-{
-    QList <uint> uids;
-    foreach (TreeItem* ti,getSelectedItems() )
-       uids.append (ti->getID() );
-    return uids;       
-}
-
-bool VymModel::isSelected(TreeItem *ti)
-{
-    return getSelectedItems().contains (ti);
-}
-
-QString VymModel::getSelectString ()
-{
-    return getSelectString (getSelectedItem());
-}
-
-QString VymModel::getSelectString (LinkableMapObj *lmo)        // only for convenience. Used in MapEditor
-{
-    if (!lmo) return QString();
-    return getSelectString (lmo->getTreeItem() );
-}
-
-QString VymModel::getSelectString (TreeItem *ti) 
-{
-    QString s;
-    if (!ti || ti->depth()<0) return s;    
-    switch (ti->getType())
-    {
-       case TreeItem::MapCenter: s="mc:"; break;
-       case TreeItem::Branch: s="bo:";break;
-       case TreeItem::Image: s="fi:";break;
-       case TreeItem::Attribute: s="ai:";break;
-       case TreeItem::XLink: s="xl:";break;
-       default:
-           s="unknown type in VymModel::getSelectString()";
-           break;
-    }
-    s=  s + QString("%1").arg(ti->num());
-    if (ti->depth() >0)
-       // call myself recursively
-       s= getSelectString(ti->parent()) +","+s;
-    return s;
-}
-
-QString VymModel::getSelectString (BranchItem *bi) 
-{
-    return getSelectString ((TreeItem*)bi);
-}
-
-QString VymModel::getSelectString (const uint &i)
-{
-    return getSelectString ( findID (i) );
-}
-
-SlideModel* VymModel::getSlideModel()
-{
-    return slideModel;
-}
-
-int VymModel::slideCount() 
-{
-    return slideModel->count();
-}
-
-SlideItem* VymModel::addSlide()  
-{
-    SlideItem *si=slideModel->getSelectedItem();  
-    if (si)
-       si=slideModel->addSlide (NULL,si->childNumber()+1 );
-    else
-       si=slideModel->addSlide();
-    
-    TreeItem *seli=getSelectedItem();
-
-    if (si && seli)
-    {
-       QString inScript;
-        if (!loadStringFromDisk(macroPath + "slideeditor-snapshot.vys", inScript) )
-        {
-            qWarning()<<"VymModel::addSlide couldn't load template for taking snapshot";
-            return NULL;
-        }
-
-        inScript.replace("CURRENT_ZOOM", QString().setNum(getMapEditor()->getZoomFactorTarget()) );
-        inScript.replace("CURRENT_ANGLE", QString().setNum(getMapEditor()->getAngleTarget()) );
-        inScript.replace("CURRENT_ID", "\"" + seli->getUuid().toString() + "\"");
-
-       si->setInScript(inScript);
-    slideModel->setData ( slideModel->index(si), seli->getHeadingPlain() );
-    }
-    QString s="<vymmap>" + si->saveToDir() + "</vymmap>";
-    int pos=si->childNumber();
-    saveState (
-       PartOfMap,
-       getSelectString(), QString("deleteSlide (%1)").arg(pos),
-       getSelectString(), QString("addMapInsert (\"PATH\",%1)").arg(pos),
-       "Add slide",
-       NULL,
-       s );
-    return si;
-}
-
-void VymModel::deleteSlide(SlideItem *si)  
-{
-    if (si)
-    {
-       QString s="<vymmap>" + si->saveToDir() + "</vymmap>";
-       int pos=si->childNumber();
-       saveState (
-           PartOfMap,
-           getSelectString(), QString("addMapInsert (\"PATH\",%1)").arg(pos),
-           getSelectString(), QString("deleteSlide (%1)").arg(pos),
-           "Delete slide",
-           NULL,
-           s );
-       slideModel->deleteSlide (si);
-    }
-}
-
-void VymModel::deleteSlide(int n)  
-{
-    deleteSlide (slideModel->getSlide (n));
-}
-
-void VymModel::relinkSlide(SlideItem *si, int pos)
-{
-    if (si && pos>=0) 
-       slideModel->relinkSlide (si, si->parent(), pos);
-}
-
-void VymModel::moveSlideUp(int n)  
-{
-    SlideItem *si=NULL;
-    if (n<0) // default if called without parameters
-    {
-       si=slideModel->getSelectedItem();
-       if (si) n=si->childNumber();
-    } else
-       si=slideModel->getSlide(n);
-    if (si && n>0 && n<slideModel->count())
-    {
-       blockSlideSelection=true;
-       slideModel->relinkSlide (si, si->parent(), n-1);
-       blockSlideSelection=false;
-       saveState (
-           getSelectString(),QString("moveSlideDown (%1)").arg(n-1),
-           getSelectString(),QString("moveSlideUp (%1)").arg(n),
-           QString("Move slide %1 up").arg(n));
-    }
-}
-
-void VymModel::moveSlideDown(int n)   
-{
-    SlideItem *si=NULL;
-    if (n<0) // default if called without parameters
-    {
-       si=slideModel->getSelectedItem();
-       if (si) n=si->childNumber();
-    } else
-       si=slideModel->getSlide(n);
-    if (si && n>=0 && n < slideModel->count()-1)
-    {
-       blockSlideSelection=true;
-       slideModel->relinkSlide (si, si->parent(), n+1);
-       blockSlideSelection=false;
-       saveState (
-           getSelectString(),QString("moveSlideUp (%1)").arg(n+1),
-           getSelectString(),QString("moveSlideDown (%1)").arg(n),
-           QString("Move slide %1 down").arg(n));
-    }
-}
-
-void VymModel::updateSlideSelection (QItemSelection newsel,QItemSelection)
-{
-    if (blockSlideSelection) return;
-    QModelIndex ix;
-    foreach (ix,newsel.indexes() )
-    {
-       SlideItem *si= static_cast<SlideItem*>(ix.internalPointer());
-       QString inScript=si->getInScript();
-
-       // show inScript in ScriptEditor
-       scriptEditor->setSlideScript(modelID, si->getID(), inScript );
-
-       // Execute inScript 
-       execute (inScript);
-    }
-}
diff --git a/vymmodel.h b/vymmodel.h
deleted file mode 100644 (file)
index 1c85b93..0000000
+++ /dev/null
@@ -1,828 +0,0 @@
-#ifndef VYMMODEL_H
-#define VYMMODEL_H
-
-#include <QtNetwork>
-
-#include <QPointF>
-#include <QTextCursor>
-
-#if defined(VYM_DBUS)
-#include "adaptormodel.h"
-#endif
-
-#include "file.h"
-#include "branchitem.h"
-#include "imageitem.h"
-#include "mapeditor.h"
-#include "parser.h"
-#include "treeitem.h"
-#include "treemodel.h"
-#include "vymlock.h"
-
-class AttributeItem;
-class BranchItem;
-class FindResultModel;
-class Link;
-class MapEditor;
-class SlideItem;
-class SlideModel;
-class Task;
-class XLinkItem;
-class VymView;
-
-class QGraphicsScene;
-
-typedef QMap<uint,QString> ItemList ;
-
-class VymModel :  public TreeModel {       
-    Q_OBJECT
-    Q_CLASSINFO("D-Bus Interface", "org.insilmaril.vym.VymModel-h")
-
-////////////////////////////////////////////
-// General housekeeping
-////////////////////////////////////////////
-private:
-    QString version;   //!< version string saved in vym file
-    QString title;
-    QString author;
-    QString comment;
-    QDate date;
-
-    static uint idLast;            //! the last used unique ID
-    uint modelID;
-
-public:
-    VymModel();
-    ~VymModel ();
-    void clear();
-    void init();
-    void makeTmpDirectories();     //!< create temporary directories e.g. for history
-
-    MapEditor* getMapEditor();         
-    uint getModelID();                 //! Return unique ID of model
-
-    void setView (VymView*);       //! Set vymView for resizing editors after load
-private:
-    VymView *vymView;
-
-public:
-    bool isRepositionBlocked();            //!< While load or undo there is no need to update graphicsview
-    void updateActions();          //!< Update buttons in mainwindow
-
-
-////////////////////////////////////////////
-// Load/save 
-////////////////////////////////////////////
-private:
-
-    bool zipped;               // should map be zipped
-    static  int mapNum;                // unique number for model used in save/undo
-    FileType fileType;         // type of file, e.g. vym, freemind...
-    QString fileName;          // short name of file (for tab)
-                               // example.vym
-
-    QString filePath;          // path to file which will be saved
-                               // /home/tux/example.vym
-
-    QString fileDir;           // dir where file is saved
-                               // /home/tux/
-
-    QString destPath;          // path to .vym file (needed for vymlinks)
-                               // /home/tux/example.vym
-
-    QString mapName;           // fileName without ".vym"
-                               // example
-
-    QString tmpMapDir;         // tmp directory with undo history
-
-    QTimer *autosaveTimer;
-    QTimer *fileChangedTimer;
-    QDateTime fileChangedTime;
-
-public:
-    /*! This function saves all information of the map to disc.
-       saveToDir also calls the functions for all BranchObj and other objects in the map.
-       The structure of the map itself is returned as QString and passed back to Main, 
-       where saveToDir is called initially
-    */ 
-    QString saveToDir (const QString &tmpdir, const QString &prefix, bool writeflags, const QPointF &offset, TreeItem *saveSel);
-
-    /*! Save all data in tree*/
-    QString saveTreeToDir (const QString&,const QString&,const QPointF&,QList <Link*> &tmpLinks);// Save data recursivly to tempdir
-
-
-    /*! \brief Sets filepath, filename and mapname
-
-        If the filepath is "/home/tux/map.xml", then the filename will be set
-        to map.xml. The destname is needed for vymLinks, pointing to another map. 
-        The destname holds the real name of the file, after it has been compressed, e.g. "map.vym"
-    */  
-
-
-    /*! \brief Set File path
-
-        The destname is needed to construct the references between maps
-    */  
-    void setFilePath (QString filepath,QString destname);   
-    void setFilePath (QString);        //!< Overloaded for convenience
-    QString getFilePath (); //!< Full path e.g. "/home/tux/map.xml"
-    QString getFileDir ();  //!< e.g. "/home/tux"
-    QString getFileName (); //!< e.g. "map.xml"
-    QString getMapName ();  //!< e.g. "map"
-    QString getDestPath (); //!< e.g. "/home/tux/map.vym"
-
-    bool parseVymText(const QString &s);
-
-    /*! \brief Load map
-
-       The data is read from file. Depending on LoadMode the current
-       selection gets replaced by data or the data is appended.
-    */ 
-    File::ErrorCode loadMap  (
-       QString,                        //!< Path
-       const LoadMode &lmode=NewMap,   //!< New map, replace or add to selection
-       const FileType &ftype=VymMap,   //!< VymMap or FreeMind
-       const int &contentFilter=0x0000,//!< For undo types of content can be filterd
-       int pos=-1                      //!< Optionally tell position where to add data
-    ); 
-
-public:
-    /*! \brief Save the map to file */
-    File::ErrorCode save(const SaveMode &);    
-
-public:        
-    void loadImage (BranchItem *dst=NULL, const QString &fn="");
-    void saveImage (ImageItem *ii=NULL, QString format="", QString fn="");
-
-private:    
-    void importDirInt(BranchItem *,QDir);
-    void importDirInt(const QString&);
-public:        
-    void importDir();
-
-    bool tryVymLock();
-    bool renameMap( const QString &newPath); //! Rename map and change lockfile
-    void setReadOnly( bool b );
-    bool isReadOnly();
-
-private:
-    VymLock  vymLock;       //! Handle lockfiles and related information
-    bool readonly;          //! if map is locked, it can be opened readonly
-
-private slots:
-    void autosave ();
-    void fileChanged();
-
-////////////////////////////////////////////
-// history (undo/redo)
-////////////////////////////////////////////
-private:
-    bool mapDefault;           //!< Flag if map is untouched
-    bool mapChanged;           //!< Flag if undo is possible
-    bool mapUnsaved;           //!< Flag if map should be saved
-
-    QString histPath;          //!< Path to history file
-    SimpleSettings undoSet;    //!< undo/redo commands, saved in histPath
-    int stepsTotal;            //!< total number of steps (undos+redos)
-    int curStep;               //!< Current step in history (ring buffer)
-    int curClipboard;          //!< number of history step, which is the current clipboard
-    int redosAvail;            //!< Available number of redo steps
-    int undosAvail;            //!< Available number of undo steps
-    bool blockReposition;      //!< block while load or undo
-    bool blockSaveState;       //!< block while load or undo
-public:
-    bool isDefault();          //!< true, if map is still the empty default map
-    void makeDefault();                //!< Reset changelog, declare this as default map
-    bool hasChanged()  ;       //!< true, if something has changed and is not saved yet
-    void setChanged();         //!< called from TextEditor via LinkableMapObj
-
-    /*! \brief Get name of object
-      
-      Returns heading of a branch or name of an object for use in comment
-      of undo/redo history
-    */ 
-    QString getObjectName(LinkableMapObj*); 
-    QString getObjectName(TreeItem*);  
-
-    void redo();                       //!< Redo last action
-    bool isRedoAvailable();            //!< True, if redo is available
-    void undo();                       //!< Undo last action
-    bool isUndoAvailable();            //!< True, if undo is available
-    void gotoHistoryStep (int);                //!< Goto a specifig step in history
-
-
-    QString getHistoryPath();          //!< Path to directory containing the history
-    void resetHistory();               //!< Initialize history
-
-    /*! \brief Save the current changes in map 
-
-       Two commands and selections are saved:
-
-           - undocommand and undoselection to undo the change
-           - redocommand and redoselection to redo the action after an undo
-
-       Additionally a comment is logged. 
-
-    */ 
-    void saveState(
-       const SaveMode& savemode, 
-       const QString &undoSelection, 
-       const QString &undoCommand, 
-       const QString &redoSelection, 
-       const QString &redoCommand, 
-       const QString &comment, 
-       TreeItem *saveSelection,
-       QString dataXML="");
-
-    /*! Overloaded for convenience */
-    void saveStateChangingPart(
-       TreeItem *undoSelection, 
-       TreeItem* redoSelection, 
-       const QString &redoCommand, 
-       const QString &comment);
-
-    /*! Overloaded for convenience */
-    void saveStateRemovingPart(
-       TreeItem *redoSelection, 
-       const QString &comment);
-
-    /*! Overloaded for convenience */
-    void saveState(
-       TreeItem *undoSelection, 
-       const QString &undoCommand, 
-       TreeItem *redoSelection, 
-       const QString &redoCommand, 
-       const QString &comment); 
-
-    /*! Overloaded for convenience */
-    void saveState(
-       const QString &undoSelection, 
-       const QString &undoCommand, 
-       const QString &redoSelection, 
-       const QString &redoCommand, 
-       const QString &comment) ;
-
-    /*! Overloaded for convenience */
-    void saveState(
-       const QString &undoCommand, 
-       const QString &redoCommand, 
-       const QString &comment) ;
-
-    /*! Save a change in string and merge
-       minor sequential  changes  */
-    void saveStateMinimal(
-       TreeItem *undoSelection, 
-       const QString &undoCommand, 
-       TreeItem *redoSelection, 
-       const QString &redoCommand, 
-       const QString &comment); 
-       
-    /*! Save state before loading a map */
-    void saveStateBeforeLoad (
-       LoadMode lmode,
-       const QString &fname);
-
-////////////////////////////////////////////
-// unsorted so far
-////////////////////////////////////////////
-public:
-    QGraphicsScene *getScene();
-
-    TreeItem* findBySelectString (QString s);      
-    TreeItem* findID   (const uint &i);            // find MapObj by unique ID
-    TreeItem* findUuid (const QUuid &i);    // find MapObj by unique ID
-
-
-////////////////////////////////////////////
-// Interface 
-////////////////////////////////////////////
-public:
-    void setVersion(const  QString &);
-    QString getVersion();
-    void setTitle  (const QString &);
-    QString getTitle ();
-    void setAuthor  (const QString &);
-    QString getAuthor ();
-    void setComment (const QString &);
-    QString getComment ();
-    QString getDate();
-    int branchCount();
-
-    void setSortFilter (const QString &);
-    QString getSortFilter ();
-protected:  
-    QString sortFilter;
-signals:
-    void sortFilterChanged (QString );     //!< Notify editors of new filter
-
-public:
-    void setHeading(const VymText &vt, BranchItem *bi=NULL);       //!< Set heading of item
-    void setHeadingPlainText(const QString &s, BranchItem *bi=NULL);   //!< Set heading of item
-    Heading getHeading();                      //!< Get heading of item
-    void setNote(const VymNote &vn);    //!< Set note text
-    VymNote getNote();                         //!< Get note text
-    bool hasRichTextNote();             //!< Check type of vymText used
-    void loadNote (const QString &fn); //!< Load note from file
-    void saveNote (const QString &fn); //!< Save note to file
-
-private:
-    BranchItem* findCurrent;               // next object in find process
-    BranchItem* findPrevious;              // next object in find process
-    bool EOFind;                           // true, if search failed
-
-public:
-    void findDuplicateURLs();              // find duplicate URLs, testing only so far
-    bool findAll (FindResultModel*, QString s, Qt::CaseSensitivity cs=Qt::CaseInsensitive);    // Search all objects at once, also notes
-    BranchItem* findText(QString s,Qt::CaseSensitivity cs); // Find object, also in note
-    void findReset();                      // Reset Search
-private:    
-    QString findString;
-
-public:
-    void setURL(QString url);
-    QString getURL();                      // returns URL of selection or ""
-    QStringList getURLs(bool ignoreScrolled=true);  // returns URLs of subtree
-
-
-    void setFrameType(const FrameObj::FrameType &);
-    void setFrameType(const QString &);
-    void toggleFrameIncludeChildren ();
-    void setFrameIncludeChildren (bool);
-    void setFramePenColor (const QColor &);
-    void setFrameBrushColor (const QColor &);
-    void setFramePadding (const int &);
-    void setFrameBorderWidth (const int &);
-    void setIncludeImagesVer(bool);
-    void setIncludeImagesHor(bool);
-    void setChildrenLayout(BranchItem::LayoutHint layoutHint);
-    void setHideLinkUnselected (bool);
-
-    /*! Should object be hidden in exports (clouded)? */
-    void setHideExport(bool, TreeItem* ti=NULL);               
-
-    /*! Should object be hidden in exports (clouded)? */
-    void toggleHideExport();       
-
-    /*! Toggle task for branch */
-    void toggleTask();     
-
-    /*! Cycle through task states */
-    void cycleTaskStatus(bool reverse=false);      
-
-    /*! Set task to sleep for number of days or until a given date*/
-    bool setTaskSleep(const QString &s);
-    /*! count tasks in this model */
-    int taskCount();
-
-    void addTimestamp();       
-
-    void copy();                       //!< Copy to clipboard
-public:        
-    void paste();          //!< Paste clipboard to branch and backup
-    void cut();                    //!< Cut to clipboard (and copy)
-
-    bool moveUp(BranchItem *bi);    //!< Move branch up without saving state
-    void moveUp();                 //!< Move branch up with saving state
-    bool moveDown(BranchItem *bi);  //!< Move branch down without saving state
-    void moveDown();       //!< Move branch down
-    void detach();                 //!< Detach branch and use as new mapcenter
-    void sortChildren(bool inverse=false);  //!< Sort children lexically
-
-    // The create methods are used to quickly parse a XML file
-    BranchItem* createMapCenter();             //!< Create MapCenter 
-    BranchItem* createBranch(BranchItem *dst); //!< Create Branch
-    ImageItem* createImage(BranchItem *dst);   //!< Create image
-
-public:        
-    bool createLink(Link *l);  //!< Create XLink, will create MO automatically if needed 
-    QColor getXLinkColor();
-    int getXLinkWidth();
-    Qt::PenStyle getXLinkPenStyle();
-    QString getXLinkStyleBegin();
-    QString getXLinkStyleEnd();
-
-    AttributeItem* addAttribute();
-    AttributeItem* addAttribute(BranchItem *dst, AttributeItem* );
-
-    /*! \brief Add new mapcenter
-
-       Disclaimer: Still experimental, not fully supported yet.
-    */ 
-    BranchItem* addMapCenter(bool saveStateFlag=true);
-private:    
-    BranchItem* addMapCenter(QPointF absPos);
-
-    /*! \brief Add new branch
-
-       Depending on num the new branch is created
-
-       -3 above selection as child of selections parent
-       -2 as child of selection
-       -1 below selection as child of selections parent
-       0..n    insert at a specific position in selections parent
-       (needed for free relinking)
-    */ 
-
-private:    
-    BranchItem* addNewBranchInt(BranchItem *dst, int pos);  // pos allows to add above/below selection, or as child  at pos
-public:        
-    /*! \Add new branch
-       
-    // Depending on pos:
-    // -3      insert in children of parent  above selection 
-    // -2      add branch to selection 
-    // -1      insert in children of parent below selection 
-    // 0..n    insert in children of parent at pos
-    */
-    BranchItem* addNewBranch(BranchItem *bi=NULL, int pos=-2); 
-    BranchItem* addNewBranchBefore();      //!< Insert branch between selection and its parent
-    /*! \brief Relink a branch to a new destination dst 
-       Relinks branch to dst at branch position pos. There is no saveState
-       here, as for example moveUp or moving in MapEditor have
-       different needs to call saveState
-       Returns true if relinking was successful.
-    */ 
-    bool relinkBranch (
-       BranchItem* branch, 
-       BranchItem* dst, 
-       int pos =-1, 
-       bool updateSelection=false, 
-       QPointF orgPos=QPointF() 
-    );   
-    bool relinkImage  (ImageItem* image, BranchItem* dst);  
-
-private:
-    bool cleaningUpLinks;              //!< True while cleaning up to avoid recursion
-public:        
-   void cleanupItems();                //!< Delete orphaned Items
-    void deleteLater (uint);           //!< Delete later with new beginRemoveRow
-    void deleteSelection();            //!< Delete selection
-    void deleteKeepChildren(bool saveStateFlag=true);  //!< remove branch, but keep children
-public:        
-    void deleteChildren();             //!< keep branch, but remove children
-
-    TreeItem* deleteItem(TreeItem*);   //!< Delete item and return parent (if parent!= rootItem)
-    void deleteLink (Link*);           //!< Remove Link and related LinkItems in TreeModel
-    void clearItem (TreeItem* ti);     //!< Remove all children of TreeItem ti
-    bool scrollBranch(BranchItem *);
-    bool unscrollBranch(BranchItem *);
-    void toggleScroll();
-    void unscrollChildren();
-    void setScale (qreal,qreal);
-    void growSelectionSize();
-    void shrinkSelectionSize();
-    void resetSelectionSize();
-    void emitExpandAll();
-    void emitExpandOneLevel();
-    void emitCollapseOneLevel();
-    void emitCollapseUnselected();
-signals:    
-    void expandAll();
-    void expandOneLevel();
-    void collapseOneLevel();
-    void collapseUnselected();
-
-public:        
-    void toggleTarget();
-    ItemList getTargets();
-
-    void toggleStandardFlag (const QString &name, FlagRow *master=NULL);
-    void addFloatImage(const QImage &img);
-
-    void colorBranch(QColor);
-    void colorSubtree(QColor,BranchItem *bi=NULL);
-    QColor getCurrentHeadingColor();
-
-
-    void note2URLs();                      // get URLs from note
-    void editHeading2URL();                // copy heading to URL
-    void editBugzilla2URL();               // create URL to Bugzilla
-    void getBugzillaData(bool subtree);            // get data from Novell Bugzilla
-    void editFATE2URL();                   // create URL to FATE
-    void setVymLink (const QString &); // Set vymLink for selection
-    void deleteVymLink();                  // delete link to another map
-    QString getVymLink();                  // return path to map
-    QStringList getVymLinks();             // return paths in subtree
-    void followXLink (int);
-    void editXLink ();
-    void setXLinkColor(const QString &);
-    void setXLinkLineStyle(const QString &);
-    void setXLinkStyleBegin(const QString &);
-    void setXLinkStyleEnd(const QString &);
-    void setXLinkWidth(int);
-
-////////////////////////////////////////////
-// Scripting
-////////////////////////////////////////////
-public:        
-
-    /* \brief Process one command and its parameters */
-    QVariant parseAtom (const QString &atom, bool &noError, QString &errorMsg);        
-
-    /* \brief Runs the script */
-    QVariant execute (const QString &script);
-
-    Parser parser;
-
-////////////////////////////////////////////
-// Exports
-////////////////////////////////////////////
-private:
-    TreeItem::HideTmpMode hidemode; // true while exporting to hide some stuff
-
-public:
-    /*! Set or unset temporary hiding of objects during export  */
-    void setExportMode (bool);
-
-    /*! Save as image. Returns offset to upper left corner of image */
-    QPointF exportImage (QString fname="",bool askForName=true,QString format="PNG");
-
-    /*! Save as PDF  . Returns offset to upper left corner of image */
-    void exportPDF (QString fname="",bool askForName=true);
-
-    /*! Save as SVG  . Returns offset to upper left corner of image */
-    QPointF exportSVG (QString fname="",bool askForName=true);
-
-    /*! Export as XTML to directory */
-    void exportXML(QString dir="", QString fname="", bool useDialog=true);    
-
-    /*! Export as A&O report text to file */
-    void exportAO (QString fname="",bool askForName=true);  
-
-    /*! Export as ASCII text to file */
-    void exportASCII (bool listTasks = false, const QString &fname = "",bool askForName = true);
-
-    /*! Export as CSV text to file */
-    void exportCSV (const QString &fname="",bool askForName=true);  
-
-    /*! Export as HTML to directory */
-    void exportHTML(const QString &dir="", const QString &fname="", bool useDialog=true);    
-
-    /*! Export as OpenOfficeOrg presentation */
-    void exportImpress (const QString &,const QString &);      
-
-    /*! Returns if Export in recently used format is possible*/
-    bool exportLastAvailable(
-       QString &description, 
-       QString &command, 
-       QString &configFile,
-       QString &path);
-
-    /*! Export in recently used format (saved in map)*/
-    void exportLast();
-
-    /*! Export as LaTeX */
-    void exportLaTeX (const QString& dir="", bool useDialog=true);    
-
-    /*! Export as OrgMode input for emacs*/
-    void exportOrgMode (const QString& fname="", bool useDialog=true);    
-
-////////////////////////////////////////////
-// View related
-////////////////////////////////////////////
-public:
-    void registerEditor (QWidget *);
-    void unregisterEditor (QWidget *);
-
-    void setMapZoomFactor (const double &); 
-    void setMapRotationAngle (const double&);
-    void setMapAnimDuration(const int &d);
-    void setMapAnimCurve(const QEasingCurve &c);
-private: 
-    double zoomFactor;
-    double rotationAngle;
-    int animDuration;
-    QEasingCurve animCurve;
-
-    bool hasContextPos;                        //!< True, if we have a context pos
-    QPointF contextPos;                        //!< local position during context menu
-public:
-    void setContextPos (QPointF);      //!< local position during context menu
-    void unsetContextPos ();           //!< forget local position after context menu
-
-    void updateNoteFlag();             //!< Signal origination in TextEditor
-    void reposition();                 //!< Call reposition for all MCOs
-    void setHideTmpMode (TreeItem::HideTmpMode mode);  
-
-    void emitNoteChanged  (TreeItem *ti);
-    void emitDataChanged  (TreeItem *ti);
-    void emitUpdateQueries   ();       //!< tell MainWindow to update find results...
-    void emitUpdateLayout ();
-
-signals:
-    void updateQueries(VymModel *m);
-    void updateLayout();
-    void noteChanged (QModelIndex ix);
-    void newChildObject(QModelIndex ix);
-
-private:
-    MapEditor *mapEditor;
-
-    QColor defLinkColor;       // default color for links
-    QPen defXLinkPen;          // default pen for xlinks
-    QString defXLinkStyleBegin; // default style begin
-    QString defXLinkStyleEnd; ; // default style end
-    LinkableMapObj::ColorHint linkcolorhint;// use heading color or own color
-    LinkableMapObj::Style linkstyle;       // default style for links
-    QFont defaultFont;
-
-public:
-    bool setMapLinkStyle (const QString &); // Set style of link
-    LinkableMapObj::Style getMapLinkStyle ();  // requested in LMO
-    void setMapDefLinkColor(QColor);       // default color of links
-    void setMapLinkColorHintInt();         // color of links
-    void setMapLinkColorHint(LinkableMapObj::ColorHint);// color of links
-    void toggleMapLinkColorHint();         // after changing linkStyles
-    void selectMapBackgroundImage();
-    void setMapBackgroundImage(const QString &);
-    void selectMapBackgroundColor();
-    void setMapBackgroundColor(QColor);
-    QColor getMapBackgroundColor();
-
-    QFont getMapDefaultFont();
-    void setMapDefaultFont (const QFont&);
-
-    LinkableMapObj::ColorHint getMapLinkColorHint();
-    QColor getMapDefLinkColor();
-    void setMapDefXLinkPen (const QPen &p);
-    QPen getMapDefXLinkPen();
-
-    void setMapDefXLinkStyleBegin( const QString &s);
-    QString getMapDefXLinkStyleBegin();
-    void setMapDefXLinkStyleEnd  ( const QString &s);
-    QString getMapDefXLinkStyleEnd();
-
-    /*!  Move absolutly to (x,y).  */  
-    void move    (const double &x, const double &y);
-
-    /*!  Move relativly to (x,y).  */  
-    void moveRel (const double &x, const double &y);
-
-////////////////////////////////////////////
-// Animation  **experimental**
-////////////////////////////////////////////
-private:    
-    QTimer *animationTimer;
-    bool animationUse;
-    uint animationTicks;
-    uint animationInterval;
-    int timerId;               // animation timer
-    QList <MapObj*> animObjList;// list with animated objects 
-
-private slots:
-    void animate();                    //!< Called by timer to animate stuff
-public:
-    void startAnimation(BranchObj *bo, const QPointF &v);
-    void startAnimation(BranchObj *bo, const QPointF &start, const QPointF &dest);
-    void stopAnimation(MapObj *mo);
-    void stopAllAnimation();
-
-////////////////////////////////////////////
-// Network related 
-////////////////////////////////////////////
-public:
-    /*! \brief Networking states
-       
-       In Network modus we want to switch of saveState, autosave, ...
-    */
-    enum NetState {
-       Offline,            //!< Offline
-       Client,             //!< I am the client and connected to server
-       Server              //!< I am the server
-    };
-
-private:
-    // Network connections **Experimental**
-    NetState netstate;         // offline, client, server
-    QTcpServer *tcpServer;     // Act as server in conference mode (experimental)
-    QList <QTcpSocket*> clientList;    // List of connected clients
-    quint16 sendCounter;       // Increased with every sent command
-
-    QTcpSocket *clientSocket;  // socket of this client
-    QString server;            // server address of this client
-    int port;                  // server port of this client
-
-protected:
-    void sendSelection();
-
-public:
-    void newServer();
-    void connectToServer();
-
-private slots: 
-    void newClient();
-    void sendData(const QString &s);
-    void readData();
-    void displayNetworkError (QAbstractSocket::SocketError);
-
-public:
-    void downloadImage (const QUrl &url, BranchItem *bi=NULL);
-
-////////////////////////////////////////////
-// Selection related 
-////////////////////////////////////////////
-private:
-    TreeItem *latestAddedItem;             // latest added object, reset on setChanged()
-    QList <uint> selectionHistory;
-    int currentSelection;
-    bool keepSelectionHistory;                     // If set, selection doesn't change history
-
-public slots:
-    void updateSelection(QItemSelection ,QItemSelection); // update selection
-
-public:
-    void setSelectionModel(QItemSelectionModel *);     // Set common selectionModel
-    QItemSelectionModel* getSelectionModel();
-
-    void setSelectionBlocked(bool);
-    bool isSelectionBlocked();
-
-    bool select (const QString &);         //! Select by string
-    bool selectID (const QString &);       //! select by unique ID (QUuid)
-    bool select (LinkableMapObj *lmo);     //! Select by pointer to LMO
-    bool selectToggle (TreeItem *ti);      //! Toggle select state
-    bool select (TreeItem *ti );           //! Select by pointer to TreeItem
-    bool select (const QModelIndex &index); //! Select by ModelIndex
-    void unselectAll ();
-    void unselect (QItemSelection desel);
-    bool reselect();
-    bool canSelectPrevious();
-    bool selectPrevious();
-    bool canSelectNext();
-    bool selectNext();
-    void resetSelectionHistory();
-    void appendSelection();
-
-    void emitShowSelection();              //!< Show selection in all views
-signals:
-    void showSelection();
-
-public:        
-    bool selectFirstBranch();
-    bool selectLastBranch();
-    bool selectLastSelectedBranch();
-    bool selectLastImage();
-    bool selectParent();
-
-public:
-    TreeItem::Type selectionType();
-    LinkableMapObj* getSelectedLMO();
-    BranchObj* getSelectedBranchObj();
-    BranchItem* getSelectedBranch();
-    QList <BranchItem*> getSelectedBranches();
-    ImageItem* getSelectedImage();
-    Task *getSelectedTask();
-    XLinkItem* getSelectedXLinkItem();
-    Link* getSelectedXLink();
-    AttributeItem* getSelectedAttribute();
-    TreeItem* getSelectedItem();
-    QList <TreeItem*> getSelectedItems();
-    QModelIndex getSelectedIndex();
-    QList <uint> getSelectedIDs();
-    bool isSelected(TreeItem*);
-    QString getSelectString ();
-    QString getSelectString (LinkableMapObj *lmo);
-    QString getSelectString (TreeItem *item);
-    QString getSelectString (BranchItem *item);
-    QString getSelectString (const uint &i);
-    
-    
-signals:
-    void selectionChanged(const QItemSelection &newsel, const QItemSelection &oldsel);
-
-public:
-    void emitSelectionChanged(const QItemSelection &oldsel);
-    void emitSelectionChanged();
-    void selectMapLinkColor();
-    void selectMapSelectionColor();
-private:    
-    void setSelectionColorInt(QColor);
-    QItemSelectionModel *selModel;
-    QString lastSelectString;
-    bool selectionBlocked;     //! Used to block changes of selection while editing a heading
-
-public:        
-    void setSelectionColor(QColor);
-    QColor getSelectionColor();
-
-////////////////////////////////////////////
-// Slide related
-////////////////////////////////////////////
-public:
-    SlideModel* getSlideModel();
-    int slideCount();
-    SlideItem* addSlide ();
-    void deleteSlide (SlideItem *si);
-    void deleteSlide (int n);
-    void relinkSlide (SlideItem *si, int pos);
-    void moveSlideUp( int n=-1);
-    void moveSlideDown( int n=-1);
-    SlideItem *findSlideID (uint id);
-public slots:
-    void updateSlideSelection (QItemSelection ,QItemSelection);
-private:
-    SlideModel* slideModel;
-    bool blockSlideSelection;
-
-};
-#endif
diff --git a/vymnote.cpp b/vymnote.cpp
deleted file mode 100644 (file)
index 9f79557..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "vymnote.h"
-
-/////////////////////////////////////////////////////////////////
-// VymNote
-/////////////////////////////////////////////////////////////////
-
-void VymNote::operator= (const VymText &other)
-{
-    copy (other);
-}
-
-QString VymNote::saveToDir ()
-{
-    return valueElement ("vymnote", VymText::saveToDir(), getAttributes() );
-}
-
diff --git a/vymnote.h b/vymnote.h
deleted file mode 100644 (file)
index fb39fe3..0000000
--- a/vymnote.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef VYMNOTE_H
-#define VYMNOTE_H
-
-#include "vymtext.h"
-
-/*! \brief The text note belonging to one OrnamentedObj */
-
-
-class VymNote:public VymText
-{
-public:
-    void operator= (const VymText &other);
-    QString saveToDir();
-};
-#endif
diff --git a/vymprocess.cpp b/vymprocess.cpp
deleted file mode 100644 (file)
index 1b86668..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-#include "vymprocess.h"
-#include <cstdlib>
-
-#include <QMessageBox>
-#include <QDebug>
-
-extern bool debug;
-
-/////////////////////////////////////////////////////////////////
-// Process
-/////////////////////////////////////////////////////////////////
-VymProcess::VymProcess()
-{
-    connect( this, SIGNAL(readyReadStandardError()),
-            this, SLOT(readProcErrout()) );
-    connect( this, SIGNAL(readyReadStandardOutput()),
-            this, SLOT(readProcStdout()) );
-    clear();        
-}
-
-VymProcess::~VymProcess()
-{
-}
-
-void VymProcess::clear()
-{
-    errOut="";
-    stdOut="";
-}
-
-void VymProcess::runScript(QString spath, QString fpath)
-{
-    spath.replace ("%f",fpath);
-    QStringList args=spath.split (' ');
-    spath=args.takeFirst();
-       
-    if (debug)
-       qDebug()<<"Process::runScript : " + spath+" "+args.join(" ");   
-
-    start (spath,args);
-    if (!waitForStarted() )
-    {
-       QMessageBox::critical( 0, tr( "Critical Error" ),
-                      tr("Could not start %1").arg(spath) );
-    } else
-    {
-       if (!waitForFinished())
-           QMessageBox::critical( 0, tr( "Critical Error" ),
-              tr("%1 didn't exit normally").arg(spath) +
-              getErrout() );
-    // else
-    //     if (exitStatus()>0) showOutput=true;
-           
-    }  
-    /* TODO output for Process::runScript
-    qDebug()<<readAllStandardOutput();
-    qDebug()<<getStdout();
-    qDebug()<<getErrout();
-    addOutput ("\n");
-    addOutput (getErrout());
-    addOutput (getStdout());
-    */
-}
-
-void VymProcess::readProcErrout()
-{
-    errOut+=readAllStandardError();
-}
-
-void VymProcess::readProcStdout()
-{
-    stdOut+=readAllStandardOutput();
-}
-
-QString VymProcess::getErrout()
-{
-    return errOut;
-}
-
-QString VymProcess::getStdout()
-{
-    return stdOut;
-}
diff --git a/vymprocess.h b/vymprocess.h
deleted file mode 100644 (file)
index 3011dd9..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef VYMPROCESS_H
-#define VYMPROCESS_H
-
-#include <QProcess>
-#include <QString>
-
-class VymProcess:public QProcess
-{
-    Q_OBJECT
-public:
-    VymProcess ();
-    ~VymProcess ();
-    void clear();
-    void runScript( QString spath, QString fpath );
-    QString getErrout();
-    QString getStdout();
-
-public slots:
-    virtual void readProcErrout();
-    virtual void readProcStdout();
-
-private:
-    QString errOut;
-    QString stdOut;
-};
-
-#endif
diff --git a/vymtext.cpp b/vymtext.cpp
deleted file mode 100644 (file)
index fb5159c..0000000
+++ /dev/null
@@ -1,280 +0,0 @@
-#include "vymtext.h"
-#include "misc.h"
-
-#include <QRegExp>
-#include <QDebug>
-#include <QTextDocument>
-
-/////////////////////////////////////////////////////////////////
-// VymText  Base class for Vymnotes and Headings
-/////////////////////////////////////////////////////////////////
-
-VymText::VymText()
-{
-    clear();
-}
-VymText::VymText(const VymText &other)
-{
-    clear();
-    copy (other);
-    return;
-}
-
-VymText::VymText(const QString &s)
-{
-    clear();
-    setPlainText (s);
-}
-
-bool VymText::operator== (const VymText &other)
-{
-    if ( text == other.text &&
-         fonthint == other.fonthint &&
-        textmode == other.textmode &&
-        filenamehint == other.filenamehint
-    )
-        return true;
-    else
-        return false;
-}
-
-void VymText::operator= (const VymText &other)
-{
-    copy (other);
-}
-
-void VymText::copy (const VymText &other)
-{
-    text = other.text;
-    fonthint = other.fonthint;
-    filenamehint = other.filenamehint;
-    textmode = other.textmode;
-    color = other.color;
-}
-
-void VymText::clear()
-{
-    text = "";
-    fonthint = "undef";
-    filenamehint = "";
-    textmode = AutoText;
-    color = Qt::black;
-}
-
-void VymText::setRichText(bool b)
-{
-    if (b)
-        textmode = RichText;
-    else
-        textmode = PlainText;
-}
-
-bool VymText::isRichText()const
-{
-    if (textmode == RichText)
-        return true;
-    else
-        return false;
-}
-
-void VymText::setText (const QString &s)
-{
-    text = s;
-}
-
-void VymText::setRichText (const QString &s)
-{
-    text = s;
-    textmode = RichText;
-}
-
-void VymText::setPlainText (const QString &s)
-{
-    text = s;
-    textmode = PlainText;
-}
-
-void VymText::setAutoText (const QString &s)
-{
-    clear();
-    if (Qt::mightBeRichText (s))
-        setRichText (s);
-    else
-        setPlainText (s);
-}
-
-QString VymText::getText() const
-{
-    return text;
-}
-
-QString VymText::getTextASCII() const
-{
-    return getTextASCII ("",80);
-}
-
-QString VymText::getTextASCII(QString indent, const int &) const //FIXME-3 use width
-{
-    if (text.isEmpty()) return text;
-
-    int width = 80;
-    QString s;
-    QRegExp rx;
-    rx.setMinimal(true);
-
-    if (isRichText())
-        s = text;
-    else
-    {
-        if ( fonthint == "fixed")
-        {
-            s = text; 
-        } else
-        {
-            // Wordwrap
-
-            QString newnote;
-            QString curline;
-            uint n=0;
-            while ( (int)n < text.length() )
-            {
-                curline = curline + text.at(n);
-                if ( text.at(n) == '\n' )
-                {
-                    s = s + curline ;
-                    curline = "";
-                }
-
-                if (curline.length() > width)
-                {
-                    // Try to find last previous whitespace in curline
-                    uint i = curline.length() - 1;
-                    while ( i> 0 )
-                    {
-                        if ( curline.at(i) == ' ' )
-                        {
-                            s = s + curline.left(i) + '\n';
-                            curline = curline.right( curline.length() - i - 1 );
-                            break;
-                        }
-                        i--;
-                        if ( i == 0 )
-                        {
-                            // Cannot break this line into smaller parts
-                            s = s + curline;
-                            curline = "";
-                        }
-                    }
-                }
-                n++;
-            }
-            s = s + curline;
-        }
-
-        // Indent lines
-        rx.setPattern("^");
-        s = s.replace (rx,indent);
-        rx.setPattern("\n");
-        s = s.replace (rx, "\n" + indent) + "\n";
-
-        return s.trimmed();
-    }
-
-    // Remove all <style...> ...</style>
-    rx.setPattern("<style.*>.*</style>");
-    s.replace (rx,"");
-
-    // convert all "<br*>" to "\n"
-    rx.setPattern ("<br.*>");
-    s.replace (rx,"\n");
-
-    // convert all "</p>" to "\n"
-    rx.setPattern ("</p>");
-    s.replace (rx,"\n");
-
-    // remove all remaining tags
-    rx.setPattern ("<.*>");
-    s.replace (rx,"");
-
-    // If string starts with \n now, remove it.
-    // It would be wrong in an OOo export for example
-    while ( s.at(0) == '\n' ) s.remove (0,1);
-
-    // convert "&", "<" and ">"
-    rx.setPattern ("&gt;");
-    s.replace (rx,">");
-    rx.setPattern ("&lt;");
-    s.replace (rx,"<");
-    rx.setPattern ("&amp;");
-    s.replace (rx,"&");
-    rx.setPattern ("&quot;");
-    s.replace (rx,"\"");
-
-    // Indent everything
-    rx.setPattern ("^\n");
-    s.replace (rx,indent);
-    s = indent + s;   // Don't forget first line
-
-/* FIXME-3  wrap text at width
-    if (fonthint !="fixed")
-    {
-    }
-*/
-    return s;
-}
-
-void VymText::setFontHint (const QString &s)
-{
-    // only for backward compatibility (pre 1.5 )
-    fonthint=s;
-}
-
-QString VymText::getFontHint() const
-{
-    // only for backward compatibility (pre 1.5 )
-    return fonthint;
-}
-
-void VymText::setFilenameHint (const QString &s)
-{
-    filenamehint=s;
-}
-
-QString VymText::getFilenameHint() const
-{
-    return filenamehint;
-}
-
-bool VymText::isEmpty ()
-{
-    return text.isEmpty();
-}
-
-void VymText::setColor(QColor col)
-{
-    color = col;
-}
-
-QColor VymText::getColor()
-{
-    return color;
-}
-
-QString VymText::getAttributes()
-{
-    QString ret;
-    if (textmode == RichText)
-        ret += attribut("textMode","richText");
-    else
-    {
-        ret += attribut("textMode","plainText");
-        ret += " " + attribut("fonthint", fonthint);
-    }
-    ret += " " + attribut("textColor", color.name() );
-    return ret;
-}
-
-QString VymText::saveToDir ()
-{
-    return getCDATA( text );
-}
diff --git a/vymtext.h b/vymtext.h
deleted file mode 100644 (file)
index c3d359f..0000000
--- a/vymtext.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef VYMTEXT_H
-#define VYMTEXT_H
-
-#include <qcolor.h>
-#include <qstring.h>
-
-//  class VymText;
-
-#include "xmlobj.h"
-
-/*! \brief base class for headings of branches and vymnotes */
-
-
-class VymText:public XMLObj
-{
-public:
-    enum TextMode {AutoText, PlainText, RichText};
-    VymText();
-    VymText(const VymText &vt);
-    VymText(const QString &s);
-    bool operator== (const VymText &other);
-    void operator= (const VymText &);
-    virtual void copy (const VymText &);
-    virtual void clear();
-    void setText (const QString&);
-    void setRichText (const QString&);
-    void setPlainText (const QString&);
-    void setAutoText (const QString &);
-    QString getText() const;
-    QString getTextASCII() const;
-    QString getTextASCII(QString igdent, const int &width=0) const;
-    void setRichText(bool b);
-    bool isRichText() const;
-    void setFontHint (const QString&);
-    QString getFontHint () const;
-    void setFilenameHint (const QString&);
-    QString getFilenameHint () const;
-    bool isEmpty();
-    void setColor(QColor color);
-    QColor getColor();
-    QString getAttributes();
-    QString saveToDir();
-
-protected:
-    QString text;
-    QString fonthint;
-    QString filenamehint;
-    TextMode textmode;
-    QColor color;       // used for plaintext
-};
-#endif
diff --git a/vymview.cpp b/vymview.cpp
deleted file mode 100644 (file)
index fb2c80e..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-#include "vymview.h"
-
-#include "branchitem.h"
-#include "dockeditor.h"
-#include "mainwindow.h"
-#include "mapeditor.h"
-#include "treedelegate.h"
-#include "slideeditor.h"
-#include "treeeditor.h"
-
-extern Main *mainWindow;
-extern Settings settings;
-
-VymView::VymView(VymModel *m)
-{
-    model=m;
-    model->setView (this);
-
-    // Create TreeView
-    treeEditor=new TreeEditor (model);
-
-    selModel=new QItemSelectionModel (model);
-    model->setSelectionModel (selModel);
-
-    treeEditor->setSelectionModel (selModel);
-    treeEditor->setColumnWidth (0,150);
-    treeEditor->setAnimated (true);
-    treeEditor->resize ( 20,200);
-
-    TreeDelegate *delegate=new TreeDelegate (this);
-    treeEditor->setItemDelegate (delegate);
-
-    DockEditor *de;
-    de = new DockEditor (tr("Tree Editor","Title of dockable editor widget"), this, model);
-    de->setWidget (treeEditor);
-    de->setAllowedAreas (Qt::AllDockWidgetAreas);
-    addDockWidget(Qt::LeftDockWidgetArea, de);
-    treeEditorDE=de;
-
-    connect (
-       treeEditorDE, SIGNAL (visibilityChanged(bool) ), 
-       mainWindow,SLOT (updateActions() ) );
-
-    // Create good old MapEditor
-    mapEditor=model->getMapEditor();
-    if (!mapEditor) mapEditor=new MapEditor (model);
-    setCentralWidget (mapEditor);
-
-    // Create SlideEditor
-    slideEditor=new SlideEditor (model);
-
-    de = new DockEditor (tr("Slide Editor","Title of dockable editor widget"), this, model);
-    de->setWidget (slideEditor);
-    de->setAllowedAreas (Qt::AllDockWidgetAreas);
-    addDockWidget(Qt::RightDockWidgetArea, de);
-    slideEditorDE=de;
-    slideEditorDE->hide();
-    connect (
-       slideEditorDE, SIGNAL (visibilityChanged(bool) ), 
-       mainWindow,SLOT (updateActions() ) );
-
-    // Create Layout 
-    /*
-    QVBoxLayout* mainLayout = new QVBoxLayout (this); 
-    QSplitter *splitter= new QSplitter (this);
-
-    QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
-    splitter->setSizePolicy(sizePolicy);
-    mainLayout->addWidget (splitter);
-    */
-
-    // Connect selections
-
-       // Selection in Model changed   
-       connect (
-           selModel, SIGNAL (selectionChanged(const QItemSelection &, const QItemSelection &)), 
-           this,SLOT (changeSelection(const QItemSelection &,const QItemSelection &)));
-
-       // Needed to update selbox during animation 
-       connect (
-           model, SIGNAL (selectionChanged(const QItemSelection &, const QItemSelection &)), 
-           mapEditor,SLOT (updateSelection(const QItemSelection &,const QItemSelection &)));
-
-    // Connect data changed signals 
-    connect (
-       model, SIGNAL (dataChanged(const QModelIndex &, const QModelIndex &)), 
-       mapEditor,SLOT (updateData(const QModelIndex &) ) );
-
-    connect (
-       model, SIGNAL (dataChanged(const QModelIndex &, const QModelIndex &)), 
-       this, SLOT (updateDockWidgetTitles() ) );
-
-    connect (
-       model, SIGNAL (updateQueries (VymModel*)), 
-       mainWindow,SLOT (updateQueries(VymModel*) ) );
-
-    connect (
-       model, SIGNAL (noteChanged(QModelIndex) ),
-       mainWindow, SLOT (updateNoteEditor (QModelIndex) ) );
-       
-    connect (
-       model, SIGNAL (expandAll() ),
-       this, SLOT (expandAll () ) );
-       
-    connect (
-       model, SIGNAL (expandOneLevel() ),
-       this, SLOT (expandOneLevel() ) );
-       
-    connect (
-       model, SIGNAL (collapseOneLevel() ),
-       this, SLOT (collapseOneLevel() ) );
-       
-    connect (
-       model, SIGNAL (collapseUnselected() ),
-       this, SLOT (collapseUnselected() ) );
-       
-    connect (
-       model, SIGNAL (showSelection() ),
-       this, SLOT (showSelection() ) );
-       
-    connect (
-       model, SIGNAL (updateLayout() ),
-       mapEditor, SLOT (autoLayout() ) );
-       
-    mapEditor->setAntiAlias (mainWindow->isAliased());
-    mapEditor->setSmoothPixmap(mainWindow->hasSmoothPixmapTransform());
-}
-
-VymView::~VymView() 
-{
-    if (treeEditorIsVisible() )
-        settings.setLocalValue(model->getFilePath(),"/treeeditor/visible","true");
-    else
-        settings.setLocalValue(model->getFilePath(),"/treeeditor/visible","false");
-}
-
-void VymView::readSettings()
-{
-    if (settings.localValue(model->getFilePath(),"/slideeditor/visible","false").toBool() )
-       slideEditorDE->show();
-    else
-       slideEditorDE->hide();
-    if (settings.localValue(model->getFilePath(),"/treeeditor/visible","true").toBool() )
-       treeEditorDE->show();
-    else
-       treeEditorDE->hide();
-}
-
-VymModel* VymView::getModel()
-{
-    return model;
-}
-
-MapEditor* VymView::getMapEditor()
-{
-    return mapEditor;
-}
-
-bool VymView::treeEditorIsVisible()
-{
-    return treeEditorDE->isVisible();
-}
-
-bool VymView::slideEditorIsVisible()
-{
-    return slideEditorDE->isVisible();
-}
-
-void VymView::initFocus()
-{
-    mapEditor->setFocus();
-}
-
-void VymView::nextSlide()
-{
-    slideEditor->nextSlide();
-}
-
-void VymView::previousSlide()
-{
-    slideEditor->previousSlide();
-}
-
-void VymView::changeSelection (const QItemSelection &newsel, const QItemSelection &desel)  
-{
-    // Update note editor and heading editor // FIXME-3 improve this, evtl. move from mainwindow to here
-    model->updateSelection (newsel,desel);
-    mainWindow->changeSelection (model,newsel,desel);  
-    mainWindow->updateDockWidgetTitles( model );
-    mapEditor->updateSelection (newsel,desel);
-    showSelection();
-}
-
-void VymView::updateDockWidgetTitles()
-{
-    mainWindow->updateDockWidgetTitles( model );
-}
-
-void VymView::expandAll()
-{
-    treeEditor->expandAll();
-}
-
-void VymView::expandOneLevel()
-{
-    int level=999999;
-    int d;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    QModelIndex pix;
-
-    // Find level to expand
-    model->nextBranch(cur,prev);
-    while (cur) 
-    {
-       pix=model->index (cur);
-       d=cur->depth();
-       if (!treeEditor->isExpanded(pix) && d < level)
-           level=d;
-       model->nextBranch(cur,prev);    
-    }
-
-    // Expand all to level
-    cur=NULL;
-    prev=NULL;
-    model->nextBranch(cur,prev);
-    while (cur) 
-    {
-       pix=model->index (cur);
-       d=cur->depth();
-       if (!treeEditor->isExpanded(pix) && d <= level && cur->branchCount()>0)
-           treeEditor->setExpanded(pix,true);
-       model->nextBranch(cur,prev);    
-    }
-}
-
-void VymView::collapseOneLevel()
-{
-    int level=-1;
-    int d;
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    QModelIndex pix;
-
-    // Find level to collapse
-    model->nextBranch(cur,prev);
-    while (cur) 
-    {
-       pix=model->index (cur);
-       d=cur->depth();
-       if (treeEditor->isExpanded(pix) && d > level)
-           level=d;
-       model->nextBranch(cur,prev);    
-    }
-
-    // collapse all to level
-    cur=NULL;
-    prev=NULL;
-    model->nextBranch(cur,prev);
-    while (cur) 
-    {
-       pix=model->index (cur);
-       d=cur->depth();
-       if (treeEditor->isExpanded(pix) && d >= level)
-           treeEditor->setExpanded(pix,false);
-       model->nextBranch(cur,prev);    
-    }
-}
-
-void VymView::collapseUnselected()
-{
-    BranchItem *cur=NULL;
-    BranchItem *prev=NULL;
-    QModelIndex pix;
-
-    // Find level to collapse
-    TreeItem *selti=model->getSelectedItem();
-    if (!selti) return;
-
-    int level=selti->depth();
-
-    // collapse all to level
-    model->nextBranch(cur,prev);
-    //bool b=false;
-    while (cur) 
-    {
-       pix=model->index (cur);
-       if (treeEditor->isExpanded(pix) &&  level <= cur->depth())
-       {
-           treeEditor->setExpanded(pix,false);
-           //b=true;
-       }
-       model->nextBranch(cur,prev);    
-    }
-
-/* FIXME-3 "collapse more" unimplemented yet
-    if (b) return;
-
-    // If we didn't collapse anything so far collapse more
-    qDebug()<<"VM::collapse more";
-    cur=NULL;
-    prev=NULL;
-
-    // Find level to collapse
-    model->nextBranch(cur,prev);
-    while (cur) 
-    {
-       pix=model->index (cur);
-       d=cur->depth();
-       if (treeEditor->isExpanded(pix) && d > level && )
-           level=d;
-       model->nextBranch(cur,prev);    
-    }
-
-    // collapse all to level
-    model->nextBranch(cur,prev);
-    bool b=false;
-    while (cur) 
-    {
-       pix=model->index (cur);
-       if (treeEditor->isExpanded(pix) &&  level <= cur->depth())
-       {
-           treeEditor->setExpanded(pix,false);
-           b=true;
-       }
-       model->nextBranch(cur,prev);    
-    }
-*/
-}
-
-void VymView::showSelection()
-{
-    QModelIndex ix=model->getSelectedIndex();
-    treeEditor->scrollTo( ix, QAbstractItemView::EnsureVisible);
-    mapEditor->scrollTo ( ix); 
-}
-
-void VymView::toggleTreeEditor()
-{
-    if (treeEditorDE->isVisible() )
-    {
-       treeEditorDE->hide();
-       settings.setLocalValue(model->getFilePath(),"/treeeditor/visible","false");
-    } else
-    {
-       treeEditorDE->show();
-       settings.setLocalValue(model->getFilePath(),"/treeeditor/visible","true");
-    }  
-    model->setChanged();
-}
-
-void VymView::toggleSlideEditor()
-{
-    if (slideEditorDE->isVisible() )
-    {
-       slideEditorDE->hide();
-       settings.setLocalValue(model->getFilePath(),"/slideeditor/visible","false");
-    } else
-    {
-       slideEditorDE->show();
-       settings.setLocalValue(model->getFilePath(),"/slideeditor/visible","true");
-    }
-}
-
-void VymView::setFocusMapEditor()
-{
-    mapEditor->setFocus();
-}
diff --git a/vymview.h b/vymview.h
deleted file mode 100644 (file)
index ed84196..0000000
--- a/vymview.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef VYMVIEW_H 
-#define VYMVIEW_H
-
-#include <QItemSelectionModel>
-#include <QMainWindow>
-#include <QWidget>
-
-class DockEditor;
-class VymModel;
-class MapEditor;
-class SlideEditor;
-class TreeEditor;
-class QTreeView;
-
-class VymView:public QMainWindow
-{
-    Q_OBJECT
-public:
-    VymView(VymModel *model);
-    ~VymView();
-    void readSettings();
-    VymModel* getModel();
-    MapEditor* getMapEditor();
-    bool treeEditorIsVisible();
-    bool slideEditorIsVisible();
-    void initFocus();
-    void nextSlide();
-    void previousSlide();
-
-public slots:
-    void changeSelection (const QItemSelection &newSel, const QItemSelection &delSel);
-    void updateDockWidgetTitles();
-    void expandAll ();
-    void expandOneLevel ();
-    void collapseOneLevel ();
-    void collapseUnselected();
-    void showSelection ();
-    void toggleTreeEditor();
-    void toggleSlideEditor();
-    void setFocusMapEditor();
-
-private:
-    VymModel *model;
-    TreeEditor *treeEditor;
-    DockEditor *treeEditorDE;
-    SlideEditor *slideEditor;
-    DockEditor  *slideEditorDE;
-
-    MapEditor *mapEditor;
-    //DockEditor *mapEditorDE;
-    QItemSelectionModel *selModel;
-};
-
-
-#endif
-
diff --git a/warningdialog.cpp b/warningdialog.cpp
deleted file mode 100644 (file)
index 460088a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#include "warningdialog.h"
-#include "settings.h"
-
-extern Settings settings;
-
-WarningDialog::WarningDialog(QWidget* parent):QDialog (parent)
-{
-    ui.setupUi(this);
-    //TODO proper icon for proceed needed
-    ui.okButton->setText(tr("Proceed"));
-    // ui.warningSign->setPixmap (QPixmap(":/vym.png"));
-    ui.showAgainBox->setText (tr("Show this message again"));
-    useShowAgain=false;
-    ui.showAgainBox->hide();
-}
-
-int WarningDialog::exec()
-{
-    int result; 
-    if (settings.value ("/warningDialog/"+showAgainName+"/showAgain",true).toBool()  )
-    {
-       // Really show dialog
-       result=QDialog::exec();
-       if (result==QDialog::Accepted )
-       {
-           if (useShowAgain)
-           {
-               settings.setValue ("/warningDialog/"+showAgainName+"/value",result);
-               settings.setValue ("/warningDialog/"+showAgainName+"/showAgain",ui.showAgainBox->isChecked() );
-           }
-       }
-    } else
-    {
-       // Surpress dialog and use result from last shown dialog
-       result=settings.value ("/warningDialog/"+showAgainName+"/value",0).toInt();
-    }
-    return result;
-}
-
-void WarningDialog::showCancelButton (bool b)
-{
-    if (b)
-    {
-       ui.cancelButton->show();
-       ui.cancelButton->setText(tr("Cancel"));
-    } else
-       ui.cancelButton->hide();
-}
-
-void WarningDialog::setShowAgainName (const QString &s) 
-{
-    showAgainName=s;
-    useShowAgain=true;
-    ui.showAgainBox->show();
-}
-
-void WarningDialog::setText (const QString &s)
-{
-    ui.warningTE->setText(s);
-}
-
-void WarningDialog::setCaption(const QString &s)
-{
-    QDialog::setWindowTitle("VYM - "+s);
-}
diff --git a/warningdialog.h b/warningdialog.h
deleted file mode 100644 (file)
index a3c30ae..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef WARNINGDIALOG_H
-#define WARNINGDIALOG_H
-
-#include "ui_warningdialog.h"
-
-class WarningDialog : public QDialog
-{
-    Q_OBJECT
-
-public:
-    WarningDialog(QWidget* parent = 0);
-    int exec();
-
-public slots:
-    virtual void showCancelButton( bool b );
-    virtual void setShowAgainName( const QString & s );
-    virtual void setText( const QString & s );
-    virtual void setCaption( const QString & s );
-
-private:
-    void init();
-    bool useShowAgain;
-    QString showAgainName;
-    Ui::WarningDialog ui;
-
-};
-
-#endif // WARNINGDIALOG_H
diff --git a/warningdialog.ui b/warningdialog.ui
deleted file mode 100644 (file)
index 1e6115d..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>WarningDialog</class>
- <widget class="QDialog" name="WarningDialog">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>545</width>
-    <height>256</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Dialog</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <item>
-    <widget class="QTextEdit" name="warningTE">
-     <property name="palette">
-      <palette>
-       <active>
-        <colorrole role="Base">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>238</red>
-           <green>238</green>
-           <blue>238</blue>
-          </color>
-         </brush>
-        </colorrole>
-       </active>
-       <inactive>
-        <colorrole role="Base">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>238</red>
-           <green>238</green>
-           <blue>238</blue>
-          </color>
-         </brush>
-        </colorrole>
-       </inactive>
-       <disabled>
-        <colorrole role="Base">
-         <brush brushstyle="SolidPattern">
-          <color alpha="255">
-           <red>238</red>
-           <green>238</green>
-           <blue>238</blue>
-          </color>
-         </brush>
-        </colorrole>
-       </disabled>
-      </palette>
-     </property>
-     <property name="frameShape">
-      <enum>QFrame::NoFrame</enum>
-     </property>
-     <property name="frameShadow">
-      <enum>QFrame::Plain</enum>
-     </property>
-     <property name="readOnly">
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>26</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item>
-    <layout class="QHBoxLayout">
-     <property name="spacing">
-      <number>6</number>
-     </property>
-     <property name="margin">
-      <number>0</number>
-     </property>
-     <item>
-      <widget class="QCheckBox" name="showAgainBox">
-       <property name="text">
-        <string>showAgainBox</string>
-       </property>
-       <property name="checked">
-        <bool>true</bool>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <spacer>
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::Expanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>73</width>
-         <height>31</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QPushButton" name="cancelButton">
-       <property name="text">
-        <string>Cancel</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QPushButton" name="okButton">
-       <property name="text">
-        <string>Ok</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>okButton</sender>
-   <signal>pressed()</signal>
-   <receiver>WarningDialog</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>518</x>
-     <y>234</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>272</x>
-     <y>127</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>cancelButton</sender>
-   <signal>pressed()</signal>
-   <receiver>WarningDialog</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>436</x>
-     <y>232</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>219</x>
-     <y>223</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/winter.cpp b/winter.cpp
deleted file mode 100644 (file)
index 4575e75..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-#include "winter.h"
-
-#include "misc.h"
-
-#include <QDebug>
-#include <QGraphicsScene>
-#include <QGraphicsView>
-#include <QPen>
-
-SnowFlake::SnowFlake(QGraphicsScene *scene)
-{
-    size=qrand()%10+3;
-
-    int s4=size/4;
-    int s3=size/3;
-    int s6=size/6;
-
-    for (int a=0; a<6; a++)
-    {
-        lines.append(scene->addLine(0, -s6, 0, -size));
-        lines.last()->setRotation(a*60);
-
-        lines.append(scene->addLine(-s4, -size + s6, 0, -size + s3));
-        lines.last()->setRotation(a*60);
-
-        lines.append(scene->addLine( s4, -size + s6, 0, -size + s3));
-        lines.last()->setRotation(a*60);
-    }
-
-    QPen p(Qt::white);
-    foreach (QGraphicsLineItem *l, lines)
-    {
-        l->setZValue(1000);
-        l->setPen(p);
-        l->setParentItem(this);
-    }
-    dv=QPointF(qrand()%10/10.0-0.5, qrand()%10/10.0 +1);
-    da=qrand()%20 / 10.0 - 1;
-}
-
-SnowFlake::~SnowFlake()
-{
-    //qDebug()<<"Destr. SnowFlake";
-    while(lines.isEmpty())
-        delete lines.takeFirst();
-}
-
-QRectF SnowFlake::boundingRect() const 
-{
-    return QRectF (-size, -size, size*2, size*2);
-}
-
-void SnowFlake::paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*)
-{
-}
-
-void SnowFlake::animate()
-{
-    moveBy(dv.x() + dblow.x(), dv.y() + dblow.y());
-    setRotation(rotation() + da);
-    dblow = dblow *0.9;
-}
-
-void SnowFlake::blow(const QPointF &v)
-{
-    dblow=v;
-}
-
-Winter::Winter(QGraphicsView *v)
-{
-    view=v;
-
-    updateView();
-    /*
-    test=view->scene()->addLine(
-            QLineF(viewRect.topLeft(), viewRect.bottomRight()), 
-            QPen(Qt::blue) );
-    */
-
-    maxFlakes=1500;
-    maxFalling=140;
-    maxUnfreeze=50;
-
-    makeSnow();
-
-    animTimer = new QTimer;
-    connect (animTimer, SIGNAL (timeout()), this, SLOT (animate() ));
-    animTimer->start(50);
-
-    snowTimer = new QTimer;
-    connect (snowTimer, SIGNAL (timeout()), this, SLOT (makeSnow() ));
-    snowTimer->start(1000);
-}
-
-Winter::~Winter()
-{
-    delete animTimer;
-    delete snowTimer;
-    while (!fallingSnow.isEmpty())
-        delete fallingSnow.takeFirst();
-    while (!frozenSnow.isEmpty())
-        delete frozenSnow.takeFirst();
-}
-
-void Winter::updateView()
-{
-    QPointF p0=view->mapToScene( QPoint(0,0));
-    QPointF p1=view->mapToScene( view->rect().width(), view->rect().height() );
-    viewRect=QRectF(p0,p1);
-}
-
-void Winter::setObstacles(QList <QRectF> obslist)
-{
-    obstacles=obslist;
-
-    QList <SnowFlake*> unfreeze;
-
-    // Find frozen snowflakes, which are free again
-    QPointF p;
-    int i=0;
-    bool frozen;
-    while (i < frozenSnow.count())
-    {
-        p=frozenSnow.at(i)->pos();
-        frozen=false;
-        
-        int j=0;
-        while (j<obstacles.count() && !frozen)
-
-        {
-            if (obstacles.at(j).contains(p) )
-                frozen=true;
-            j++;
-        }
-        if (!frozen)
-        {
-            unfreeze.append(frozenSnow.at(i));
-            frozenSnow.removeAt(i);
-        } else
-            i++;
-    }
-    
-    // Remove some flakes, if too many
-    while (fallingSnow.count() + unfreeze.count() > maxFalling + maxUnfreeze)
-        delete unfreeze.takeFirst();
-
-    while (!unfreeze.isEmpty())
-    {
-        // Blow a bit up
-        unfreeze.first()->blow( QPointF(qrand()%10/10.0-0.5, qrand()%10/10.0 -5));
-        fallingSnow.append(unfreeze.takeFirst());
-    }
-}
-
-
-void Winter::animate()
-{
-    updateView();
-    //test->setLine(QLineF(viewRect.topLeft(), viewRect.bottomRight())); 
-
-    QPointF p;
-    int i=0;
-    bool cont;
-    while (i<fallingSnow.count())
-    {
-        p=fallingSnow.at(i)->pos();
-        cont=true;
-        
-        int j=0;
-        while (j<obstacles.count() && cont)
-        {
-            if (obstacles.at(j).contains(p) && qrand()%(obstacles.count()+1) > obstacles.count()-1)
-            {
-                // Freeze snowflake on obstacle
-                // Probality is equale for obstacles or falling through
-                frozenSnow.append(fallingSnow.at(i));
-                fallingSnow.removeAt(i);
-                cont=false;
-            } 
-            j++;
-        }
-        if (cont && p.y() > viewRect.y() + viewRect.height() + 20)
-        {
-            delete fallingSnow.takeAt(i);
-            cont=false;
-        }
-        // Let snowflake fall further
-        if (cont) fallingSnow.at(i)->animate();
-        i++;
-    }
-}
-
-void Winter::makeSnow()
-{
-    //qDebug()<<"falling: "<<fallingSnow.count()<<"  frozen: "<<frozenSnow.count();
-    if (fallingSnow.count() + frozenSnow.count() <maxFlakes)
-    {
-        if (fallingSnow.count() < maxFalling)
-        {
-            // Create more snowflakes
-            SnowFlake *snowflake;
-            for (int i=0; i<10; i++)
-            {
-                snowflake=new SnowFlake(view->scene());
-                snowflake->setPos( 0,0);
-                snowflake->setRotation(qrand()%60);
-                view->scene()->addItem(snowflake);
-                snowflake->setPos( 
-                        rand()%round_int(viewRect.width()) + viewRect.x(),
-                        viewRect.y() -20
-                );
-                fallingSnow.append(snowflake);
-            }
-        }
-    } else
-    {
-        // Remove some of the existing frozen flakes
-        for (int i=0; i<10; i++)
-        {
-            if (frozenSnow.count()>0)
-            {
-                int j=qrand()%frozenSnow.count();
-                delete frozenSnow.takeAt(j);
-            }
-        }
-    }
-    
-}
-
diff --git a/winter.h b/winter.h
deleted file mode 100644 (file)
index 8fbb2cc..0000000
--- a/winter.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef WINTER_H
-#define WINTER_H
-
-#include <QObject>
-#include <QGraphicsItem>
-#include <QTimer>
-#include <QRectF>
-
-class QGraphicsView;
-class QGraphicsScene;
-
-class SnowFlake:public QGraphicsItem
-{
-public:
-    SnowFlake(QGraphicsScene *scene);
-    ~SnowFlake();
-    QRectF boundingRect() const;
-    void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*);
-    void animate();
-    void blow(const QPointF &v);
-private:
-    int size;
-    QList <QGraphicsLineItem*> lines;
-    QPointF dv;
-    QPointF dblow;
-    qreal da;
-};
-
-class Winter:public QObject {
-    Q_OBJECT
-public:
-    Winter(QGraphicsView *view);
-    ~Winter();
-    void updateView();
-    void setObstacles(QList <QRectF> obslist);
-
-public slots:
-    void animate();
-    void makeSnow();
-
-private:
-    QGraphicsView *view;
-    QList <SnowFlake*> fallingSnow;
-    QList <SnowFlake*> frozenSnow;
-    int maxFlakes;
-    QTimer *animTimer;
-    QTimer *snowTimer;
-    QList <QRectF> obstacles;
-
-    int maxFalling;
-    int maxUnfreeze;
-    //QGraphicsLineItem *test;
-
-    QRectF viewRect;
-};
-
-#endif
diff --git a/xlink.cpp b/xlink.cpp
deleted file mode 100644 (file)
index 4c286dc..0000000
--- a/xlink.cpp
+++ /dev/null
@@ -1,286 +0,0 @@
-#include <QDebug>
-
-#include "xlink.h"
-
-#include "branchitem.h"
-#include "misc.h"
-#include "vymmodel.h"
-#include "xlinkitem.h"
-#include "xlinkobj.h"
-
-class VymModel;
-
-/////////////////////////////////////////////////////////////////
-// Link
-/////////////////////////////////////////////////////////////////
-
-Link::Link (VymModel *m)
-{
-    //qDebug() << "Const Link () this="<<this;
-    model=m;
-    init();
-}
-
-Link::~Link ()
-{
-//    qDebug()<<"* Destr Link begin this="<<this<<"  bLI="<<beginLinkItem<<"  eLI="<<endLinkItem;
-    deactivate();
-//    qDebug()<<"* Destr Link end   this="<<this;
-}
-
-void Link::init () 
-{
-    xlo=NULL;
-    beginBranch=NULL;
-    endBranch=NULL;
-    beginLinkItem=NULL;
-    endLinkItem=NULL;
-    xLinkState=Link::undefinedXLink;
-
-    type=Bezier;
-    pen=model->getMapDefXLinkPen();
-}
-
-VymModel* Link::getModel()
-{
-    return model;
-}
-
-void Link::setBeginBranch (BranchItem *bi)
-{
-    if (bi) 
-    {
-       xLinkState=initXLink;
-       beginBranch=bi;
-    }  
-}
-
-BranchItem* Link::getBeginBranch ()
-{
-    return beginBranch;
-}
-
-void Link::setEndBranch (BranchItem *bi)
-{
-    if (bi) 
-    {
-       endBranch=bi;
-        if (xlo) xlo->initC1();
-    }      
-}
-
-BranchItem* Link::getEndBranch()
-{
-    return endBranch;
-}
-
-void Link::setEndPoint (QPointF p)
-{
-    // Used only while creating the link, without endBranch
-    if (xlo) xlo->setEnd (p);
-}
-
-void Link::setBeginLinkItem (XLinkItem *li)
-{
-    if (li) 
-    {
-       xLinkState=initXLink;
-       beginLinkItem=li;
-    }  
-}
-
-XLinkItem* Link::getBeginLinkItem ()
-{
-    return beginLinkItem;
-}
-
-void Link::setEndLinkItem (XLinkItem *li)
-{
-    if (li) 
-    {
-       xLinkState=initXLink;
-       endLinkItem=li;
-    }      
-}
-
-XLinkItem* Link::getEndLinkItem()
-{
-    return endLinkItem;
-}
-
-XLinkItem* Link::getOtherEnd (XLinkItem *xli)
-{
-    if (xli==beginLinkItem) return endLinkItem;
-    if (xli==endLinkItem) return beginLinkItem;
-    return NULL;
-}
-
-void Link::setPen (const QPen &p)
-{
-    pen = p;
-    if (xlo) xlo->updateXLink();
-}
-
-QPen Link::getPen ()
-{
-    return pen;
-}
-
-void Link::setLinkType (const QString &s)
-{
-    if (s=="Linear")
-       type=Linear;
-    else if (s=="Bezier")      
-       type=Bezier;
-    else
-       qWarning()<<"Link::setLinkType  Unknown type: "<<s;
-}
-
-void Link::setStyleBegin (const QString &s)
-{
-    if (xlo) 
-    {
-        xlo->setStyleBegin( s );
-        xlo->updateXLink();
-    }
-}
-
-QString Link::getStyleBeginString()
-{
-    if (xlo)
-        return ArrowObj::styleToString( xlo->getStyleBegin() );
-    else 
-        return QString();
-}
-
-void Link::setStyleEnd (const QString &s)
-{
-    if (xlo) 
-    {
-        xlo->setStyleEnd( s );
-        xlo->updateXLink();
-    }
-}
-
-QString Link::getStyleEndString()
-{
-    if (xlo)
-        return ArrowObj::styleToString( xlo->getStyleEnd() );
-    else 
-        return QString();
-}
-
-bool Link::activate () 
-{
-    if (beginBranch && endBranch)
-    {
-       if ( beginBranch == endBranch) return false;
-       xLinkState = activeXLink;
-       model->updateActions();
-       return true;
-    } else
-       return false;
-}
-
-void Link::deactivate ()    
-{
-    // Remove pointers from XLinkItem to Link and
-    // delete XLinkObj
-
-//    qDebug()<<"Link::deactivate ******************************";
-    xLinkState=deleteXLink;
-    if (beginLinkItem) beginLinkItem->setLink (NULL);
-    if (endLinkItem) endLinkItem->setLink (NULL);
-    if (xlo)
-    {
-       delete (xlo);  
-       xlo=NULL;
-    }
-}
-
-Link::XLinkState Link::getState()
-{
-    return xLinkState;
-}
-
-void Link::removeXLinkItem (XLinkItem *xli)
-{
-    // Only mark _one_ end for removal here!
-    if (xli==beginLinkItem) beginLinkItem=NULL;
-    if (xli==endLinkItem) endLinkItem=NULL;
-    xLinkState=deleteXLink;
-}
-
-void Link::updateLink()
-{
-    if(xlo ) xlo->updateXLink();
-}
-
-QString Link::saveToDir ()
-{
-//    qDebug()<<"Link::saveToDir  this="<<this<<" beginBranch="<<beginBranch<<"  endBranch="<<endBranch<<"  state="<<xLinkState;
-    QString s="";
-    if (beginBranch && endBranch && xLinkState==activeXLink)
-    {
-       if (beginBranch==endBranch )
-           qWarning ("Link::saveToDir  ignored, because beginBranch==endBranch, ");
-       else
-       {
-           QString colAttr=attribut ("color",pen.color().name());
-           QString widAttr=attribut ("width",QString().setNum(pen.width(),10));
-           QString styAttr=attribut ("penstyle",penStyleToString (pen.style()));
-           QString ctrlAttr;
-           QString typeAttr;
-           switch (type)
-           {
-               case Linear: 
-                   typeAttr=attribut("type","Linear"); 
-                   break;
-               case Bezier: 
-                   typeAttr=attribut("type","Bezier"); 
-                   if (xlo)
-                   {
-                       ctrlAttr +=attribut ("c0",pointToString (xlo->getC0() ) );
-                       ctrlAttr +=attribut ("c1",pointToString (xlo->getC1() ) );
-                   }
-                   break;
-           }
-           QString begSelAttr=attribut ("beginID",model->getSelectString(beginBranch));
-           QString endSelAttr=attribut ("endID",  model->getSelectString(endBranch));
-            QString styleAttr;
-            if (xlo)
-            {
-                styleAttr = QString(" styleBegin=\"%1\"").arg( ArrowObj::styleToString( xlo->getStyleBegin() ));
-                styleAttr+= QString(" styleEnd=\"%1\""  ).arg( ArrowObj::styleToString( xlo->getStyleEnd() ));
-            }
-           s=singleElement ("xlink", 
-               colAttr 
-               +widAttr 
-               +styAttr 
-               +typeAttr 
-               +ctrlAttr
-               +begSelAttr 
-               +endSelAttr
-                +styleAttr);
-       }
-    }
-    return s;
-}
-
-XLinkObj* Link::getXLinkObj()
-{
-    return xlo;
-}
-
-XLinkObj* Link::createMapObj()  
-{
-    if (!xlo) xlo=new XLinkObj (beginBranch->getLMO(),this);  
-    xlo->setVisibility();
-    return xlo;
-}
-
-MapObj* Link::getMO()
-{
-    return xlo;
-}
-
diff --git a/xlink.h b/xlink.h
deleted file mode 100644 (file)
index a4eec26..0000000
--- a/xlink.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef LINK_H
-#define LINK_H
-
-#include <QColor>
-#include <QPen>
-
-#include "xmlobj.h"
-
-class QPointF;
-class QGraphicsScene;
-class QString;
-
-class BranchItem;
-class MapObj;
-class LinkableMapObj;
-class VymModel;
-class XLinkItem;
-class XLinkObj;
-
-
-class Link:public XMLObj
-{
-public:
-    enum XLinkState {undefinedXLink,initXLink,activeXLink,deleteXLink};        
-    enum LinkType {Linear, Bezier};
-
-    Link (VymModel *m);
-    virtual ~Link();
-    virtual void init ();
-    VymModel* getModel();
-    void setBeginBranch (BranchItem*);
-    BranchItem* getBeginBranch();
-    void setEndBranch   (BranchItem*);
-    void setEndPoint(QPointF);
-    BranchItem* getEndBranch();
-    void setBeginLinkItem (XLinkItem*);
-    XLinkItem* getBeginLinkItem();
-    void setEndLinkItem (XLinkItem*);
-    XLinkItem* getEndLinkItem ();
-    XLinkItem* getOtherEnd (XLinkItem*);
-    void setPen (const QPen &p);
-    QPen getPen();
-    void setLinkType (const QString &s);
-    void setStyleBegin( const QString &s);
-    QString  getStyleBeginString();
-    void setStyleEnd( const QString &s);
-    QString  getStyleEndString();
-    bool activate ();          
-    void deactivate ();                
-    XLinkState getState();
-    void removeXLinkItem (XLinkItem *xli);
-    void updateLink();
-    QString saveToDir ();
-    XLinkObj* getXLinkObj();
-    XLinkObj* createMapObj();
-    MapObj* getMO();
-
-private:
-    XLinkState xLinkState;  // init during drawing or active
-    LinkType type;
-    QPen pen;
-
-    XLinkObj *xlo;
-    VymModel *model;
-
-    BranchItem *beginBranch;
-    BranchItem *endBranch;
-    XLinkItem *beginLinkItem;
-    XLinkItem *endLinkItem;
-};
-
-
-#endif
-
diff --git a/xlinkitem.cpp b/xlinkitem.cpp
deleted file mode 100644 (file)
index 1836342..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-#include <QGraphicsScene>
-#include "xlinkitem.h"
-
-#include "branchitem.h"
-#include "linkablemapobj.h"
-#include "vymmodel.h"
-#include "xlinkobj.h"
-
-/////////////////////////////////////////////////////////////////
-// XLinkItem
-/////////////////////////////////////////////////////////////////
-
-XLinkItem::XLinkItem (const QList<QVariant> &data, TreeItem *parent):MapItem (data,parent)
-
-{
-    //qDebug() << "Const XLinkItem () "<<this;
-    init();
-}
-
-XLinkItem::~XLinkItem ()
-{
- //   qDebug() << "Destr XLinkItem begin "<<this<<"  pI="<<parentItem<<"  link="<<link;
-    if (link)
-    {
-       XLinkItem *xli=link->getOtherEnd (this);
-       if (xli) model->deleteLater (xli->getID());
-       model->deleteLink (link);
-    }  
-//    qDebug() << "Destr XLinkItem end";
-}
-
-
-void XLinkItem::init () 
-{
-    setType (XLink);
-    link=NULL;
-}
-
-void XLinkItem::clear() 
-{
-}
-
-void XLinkItem::setLink (Link *l)
-{
-    link=l;
-}
-
-Link* XLinkItem::getLink ()
-{
-    return link;
-}
-
-void XLinkItem::updateXLink()
-{
-    if (link)
-       link->updateLink();
-}
-
-MapObj* XLinkItem::getMO()
-{
-    if (link)
-       return link->getMO();
-    return NULL;       
-}
-
-void XLinkItem::setSelection()
-{
-    if (link)
-    {
-       XLinkObj* xlo=(XLinkObj*)getMO();
-       if (xlo) 
-       {
-           if (parentItem==link->getBeginBranch() )
-               xlo->setSelection(XLinkObj::C0);
-           else if (parentItem==link->getEndBranch() )
-               xlo->setSelection(XLinkObj::C1);
-       }
-    }
-}
-
-BranchItem* XLinkItem::getPartnerBranch()
-{
-    if (link && link->getBeginBranch() && link->getEndBranch())
-    {
-       if (parentItem==link->getBeginBranch())
-           return link->getEndBranch();
-       else    
-           return link->getBeginBranch();
-    }
-    return NULL;
-}
-
diff --git a/xlinkitem.h b/xlinkitem.h
deleted file mode 100644 (file)
index 4e9ce0a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef XLINKITEM_H
-#define XLINKITEM_H
-
-class BranchItem;
-class QGraphicsScene;
-class XLinkObj;
-
-#include "mapitem.h"
-#include "xlink.h"
-
-/*! \brief xlinks are used to draw arbitrary connections between branches (BranchObj) in the map. */
-
-/////////////////////////////////////////////////////////////////////////////
-
-class XLinkItem:public MapItem {
-public:
-    enum XLinkState {undefinedXLink,initXLink,activeXLink,deleteXLink};        
-
-    XLinkItem (const QList<QVariant> &data, TreeItem *parent=NULL);
-    ~XLinkItem ();
-    void init ();
-    void clear ();
-    void setLink (Link*);
-    Link* getLink ();
-    void updateXLink();
-    MapObj* getMO();
-    void setSelection();
-    BranchItem* getPartnerBranch ();
-
-
-private:
-    Link *link;
-};
-
-#endif
diff --git a/xlinkobj.cpp b/xlinkobj.cpp
deleted file mode 100644 (file)
index fdf51ee..0000000
+++ /dev/null
@@ -1,531 +0,0 @@
-#include <QDebug>
-
-#include "xlinkobj.h"
-
-#include "branchobj.h"
-#include "branchitem.h"
-#include "math.h"      // atan
-#include "misc.h"      // max
-
-/////////////////////////////////////////////////////////////////
-// XLinkObj
-/////////////////////////////////////////////////////////////////
-
-int XLinkObj::arrowSize = 6;               // make instances
-int XLinkObj::clickBorder = 8;
-int XLinkObj::pointRadius = 10;
-int XLinkObj::d_control = 300;
-
-XLinkObj::XLinkObj (QGraphicsItem* parent,Link *l):MapObj(parent)
-{
-    //qDebug()<< "Const XLinkObj (parent,Link)";
-    link=l;
-    init();
-}
-
-
-
-XLinkObj::~XLinkObj ()
-{
-    //qDebug() << "Destr XLinkObj";
-    delete (poly);
-    delete (path);
-    delete (ctrl_p0);
-    delete (ctrl_p1);
-    delete (pointerEnd);
-    delete (pointerBegin);
-}
-
-
-void XLinkObj::init () 
-{
-    visBranch = NULL;
-
-    stateVis = Hidden;
-
-    QPen pen = link->getPen();
-
-    path = scene()->addPath (QPainterPath(), pen, Qt::NoBrush);        
-    path->setZValue (dZ_XLINK);
-
-    pointerBegin = new ArrowObj(this);
-    pointerBegin->setPen( pen );
-    pointerBegin->setUseFixedLength( true );
-    pointerBegin->setFixedLength( 0 );
-
-    pointerEnd = new ArrowObj(this);
-    pointerEnd->setPen( pen );
-    pointerEnd->setUseFixedLength( true );
-    pointerEnd->setFixedLength( 0 );
-
-    pen.setStyle (Qt::SolidLine);
-    poly = scene()->addPolygon (QPolygonF(), pen, pen.color());        
-    poly->setZValue (dZ_XLINK);
-
-    // Control points for bezier path
-    // (We have at least a begin branch, consider its orientation)
-    initC0();
-    initC1();
-
-    ctrl_p0 = scene()->addEllipse (
-       c0.x(), c0.y(),
-       clickBorder*2, clickBorder*2,
-       pen, pen.color() );
-    ctrl_p1 = scene()->addEllipse (
-       c1.x(), c1.y(),
-       clickBorder*2, clickBorder*2,
-       pen, pen.color() );
-
-    beginOrient = endOrient=LinkableMapObj::UndefinedOrientation;
-    pen.setWidth (1);
-    pen.setStyle (Qt::DashLine);
-
-    curSelection = Unselected;
-
-    setVisibility (true);
-}
-
-QPointF XLinkObj::getAbsPos() 
-{
-    switch (curSelection)
-    {
-       case C0:
-           return c0;
-           break;
-       case C1:
-           return c1;
-           break;
-       default:
-           return QPointF();
-           break;
-    }
-}
-
-void XLinkObj::setStyleBegin(const QString &s)
-{
-    pointerBegin->setStyleEnd( s );
-}
-
-void XLinkObj::setStyleBegin(ArrowObj::OrnamentStyle os)
-{
-    pointerBegin->setStyleEnd( os );
-}
-
-ArrowObj::OrnamentStyle XLinkObj::getStyleBegin()
-{
-    return pointerBegin->getStyleEnd();
-}
-
-void XLinkObj::setStyleEnd(const QString &s)
-{
-    pointerEnd->setStyleEnd( s );
-}
-
-void XLinkObj::setStyleEnd(ArrowObj::OrnamentStyle os)
-{
-    pointerEnd->setStyleEnd( os );
-}
-
-ArrowObj::OrnamentStyle XLinkObj::getStyleEnd()
-{
-    return pointerEnd->getStyleEnd();
-}
-
-QPointF XLinkObj::getBeginPos()
-{
-    return beginPos;
-}
-
-QPointF XLinkObj::getEndPos()
-{
-    return endPos;
-}
-
-void XLinkObj::move (QPointF p)
-{
-    switch (curSelection)
-    {
-       case C0:
-           c0=p;
-           break;
-       case C1:
-           c1=p;
-           break;
-       default:
-           break;
-    }
-    updateXLink();
-}
-
-void XLinkObj::setEnd (QPointF p)
-{
-    endPos=p;
-}
-
-void XLinkObj::setSelection (CurrentSelection s)
-{
-    curSelection=s;
-    setVisibility();
-}
-
-void XLinkObj::setSelection (int cp)
-{
-    if (cp==0) 
-       setSelection (C0);
-    else if (cp==1)
-       setSelection (C1);
-    else
-       qWarning()<<"XLO::setSelection cp="<<cp;
-}
-
-void XLinkObj::updateXLink()   
-{
-    QPointF a,b;
-    QPolygonF pa;
-
-    BranchObj *beginBO=NULL;
-    BranchObj   *endBO=NULL;
-    BranchItem *bi=link->getBeginBranch();
-    if ( bi) beginBO=(BranchObj*)(bi->getLMO());
-    bi=link->getEndBranch();
-    if (bi) endBO=(BranchObj*)(bi->getLMO());
-
-    if (beginBO) 
-    {
-       if (beginOrient != LinkableMapObj::UndefinedOrientation  &&
-           beginOrient != beginBO->getOrientation() )
-           c0.setX( -c0.x() );
-       beginOrient = beginBO->getOrientation();
-    }
-    if (endBO)  
-    {
-       if (endOrient != LinkableMapObj::UndefinedOrientation  &&
-           endOrient != endBO->getOrientation() )
-           c1.setX( -c1.x() );
-       endOrient = endBO->getOrientation();
-    }
-
-    if (visBranch)   
-    {
-       // Only one of the linked branches is visible
-       // Draw arrowhead   //FIXME-3 missing shaft of arrow
-       BranchObj *bo=(BranchObj*)(visBranch->getLMO());
-       if (!bo) return;
-
-       a=b=bo->getChildRefPos();
-
-
-       if (bo->getOrientation()==LinkableMapObj::RightOfCenter)
-       {
-           b.setX (b.x() + 2*arrowSize);
-           pa.clear();
-           pa << a <<
-                 b <<
-                 QPointF (b.x(), b.y() - arrowSize) <<
-                  QPointF (b.x() + arrowSize, b.y()) <<
-                 QPointF (b.x(), b.y() + arrowSize) <<
-                 b <<
-                 a;
-           poly->setPolygon(pa);
-       } else
-       {
-           b.setX (b.x() - 2*arrowSize);
-           pa.clear();
-           pa << a <<
-                 b <<
-                 QPointF (b.x(), b.y() - arrowSize) <<
-                  QPointF (b.x() - arrowSize, b.y()) <<
-                 QPointF (b.x(), b.y() + arrowSize) <<
-                 b <<
-                 a;
-           poly->setPolygon (pa);
-       }   
-    } else
-    {
-       // Both linked branches are visible
-
-       // If a link is just drawn in the editor,
-       // we have already a beginBranch
-       if (beginBO) beginPos=beginBO->getChildRefPos();
-       if (endBO) endPos=endBO->getChildRefPos();
-
-        if (beginBO && endBO)
-        {
-            pointerBegin->move(beginPos + c0 );
-            pointerBegin->setEndPoint(beginPos);
-
-            pointerEnd->move(endPos + c1 );
-            pointerEnd->setEndPoint(endPos);
-        }
-    }
-
-    // Update control points for bezier
-    QPainterPath p(beginPos);
-    p.cubicTo ( beginPos + c0, endPos + c1, endPos);
-
-    clickPath=p;
-    path->setPath (p); 
-
-    // Go back to create closed curve, 
-    // needed for intersection check:  
-    clickPath.cubicTo ( endPos + c1, beginPos + c0, beginPos);  
-
-    QPen pen=link->getPen();
-    path->setPen (pen);
-    poly->setBrush (pen.color() );
-    
-    pointerBegin->setPen( pen );
-    pointerEnd->setPen( pen );
-
-    pen.setStyle (Qt::SolidLine);
-
-
-    ctrl_p0->setRect (
-       beginPos.x() + c0.x() - pointRadius/2, beginPos.y() + c0.y() - pointRadius/2,
-       pointRadius, pointRadius );
-    ctrl_p0->setPen (pen);
-    ctrl_p0->setBrush (pen.color() );
-
-    ctrl_p1->setRect (
-       endPos.x() + c1.x() - pointRadius/2, endPos.y() + c1.y() - pointRadius/2,
-       pointRadius, pointRadius );
-    ctrl_p1->setPen (pen);
-    ctrl_p1->setBrush (pen.color() );
-
-    BranchItem *bi_begin=link->getBeginBranch();
-    BranchItem *bi_end  =link->getEndBranch();
-    if (bi_begin && bi_end && link->getState()==Link::activeXLink)
-       // Note: with MapObj being a GraphicsItem now, maybe better reparent the xlinkobj
-       // line->setZValue (dZ_DEPTH * max(bi_begin->depth(),bi_end->depth()) + dZ_XLINK); 
-       path->setZValue (dZ_XLINK); 
-    else       
-       path->setZValue (dZ_XLINK);
-
-    setVisibility();
-}
-
-void XLinkObj::positionBBox()
-{
-}
-
-void XLinkObj::calcBBoxSize()
-{
-}
-
-void XLinkObj::setVisibility (bool b)
-{
-    if (stateVis==FullShowControls)
-    {
-       ctrl_p0->show();
-       ctrl_p1->show();
-        pointerBegin->setUseFixedLength( false );
-        pointerEnd->setUseFixedLength( false );
-    } else
-    {
-       ctrl_p0->hide();
-       ctrl_p1->hide();
-        pointerBegin->setUseFixedLength( true );
-        pointerBegin->setFixedLength( 0 );
-        pointerEnd->setUseFixedLength( true );
-        pointerEnd->setFixedLength( 0 );
-    }
-
-    MapObj::setVisibility (b);
-    if (b)
-    {
-       if (stateVis==OnlyBegin) 
-       {
-           path->hide();
-           poly->show();
-            pointerBegin->hide();
-            pointerEnd->hide();
-       }
-       else if (stateVis==OnlyEnd)
-       {
-           path->hide();
-           poly->show();
-            pointerBegin->hide();
-            pointerEnd->hide();
-       }
-        else
-        {
-            path->show();
-           poly->hide();
-            pointerBegin->show();
-            pointerEnd->show();
-        }
-    }  
-    else
-    {
-       poly->hide();
-       path->hide();
-        pointerBegin->hide();
-        pointerEnd->hide();
-    }  
-
-}
-
-void XLinkObj::setVisibility ()
-{
-    BranchItem* beginBI=link->getBeginBranch();
-    BranchObj* beginBO=NULL;
-    if (beginBI) beginBO=(BranchObj*)(beginBI->getLMO());
-
-    BranchObj* endBO=NULL;
-    BranchItem* endBI=link->getEndBranch();
-    if (endBI) endBO=(BranchObj*)(endBI->getLMO());
-    if (beginBO && endBO)
-    {
-       if(beginBO->isVisibleObj() && endBO->isVisibleObj())
-       {   // Both ends are visible
-           visBranch=NULL;
-           if (curSelection != Unselected)
-               stateVis=FullShowControls;
-           else        
-               stateVis=Full;
-           setVisibility (true);
-       } else
-       {
-           if(!beginBO->isVisibleObj() && !endBO->isVisibleObj())
-           {   //None of the ends is visible
-               visBranch=NULL;
-               stateVis=Hidden;
-               setVisibility (false);
-           } else
-           {   // Just one end is visible, draw a symbol that shows
-               // that there is a link to a scrolled branch
-               if (beginBO->isVisibleObj())
-                {
-                    stateVis=OnlyBegin;
-                   visBranch=beginBI;
-                }
-               else
-                {
-                   visBranch=endBI;
-                    stateVis=OnlyEnd;
-                }
-               setVisibility (true);
-           }
-       }
-    }
-}
-
-void XLinkObj::initC0()
-{
-    if ( !link ) return;
-    BranchItem *beginBranch = link->getBeginBranch();
-    if ( !beginBranch ) return;
-    BranchObj *bo = beginBranch->getBranchObj();
-    if ( !bo ) return;
-    if ( bo->getOrientation() == LinkableMapObj::RightOfCenter  ) 
-        c0 = QPointF ( d_control, 0);
-    else
-        c0 = QPointF ( -d_control, 0);
-}
-
-void XLinkObj::initC1()
-{
-    if (!link ) return; 
-    BranchItem *endBranch = link->getEndBranch();
-    if (!endBranch) return;
-    BranchObj *bo = endBranch->getBranchObj();
-    if (!bo) return;
-    if ( bo->getOrientation() == LinkableMapObj::RightOfCenter  ) 
-        c1 = QPointF ( d_control, 0);
-    else
-        c1 = QPointF ( -d_control, 0);
-}
-
-void XLinkObj::setC0(const QPointF &p)
-{
-    c0=p;
-}
-
-QPointF XLinkObj::getC0()
-{
-    return c0;
-}
-
-void XLinkObj::setC1(const QPointF &p)
-{
-    c1=p;
-}
-
-QPointF XLinkObj::getC1()
-{
-    return c1;
-}
-
-int XLinkObj::ctrlPointInClickBox (const QPointF &p)   
-{
-    CurrentSelection oldSel=curSelection;
-    int ret=-1;
-
-    QRectF r(p.x() - clickBorder, p.y() - clickBorder,
-                    clickBorder *2, clickBorder*2) ;
-
-    if (curSelection==C0 || curSelection==C1)
-    {
-       // If Cx selected, check both ctrl points 
-       curSelection=C0;
-       if (getClickPath().intersects (r) ) ret=0;
-       curSelection=C1;
-       if (getClickPath().intersects (r) ) ret=1;
-    } 
-    curSelection=oldSel;
-    return ret;
-}
-
-bool XLinkObj::isInClickBox (const QPointF &p)
-{
-    // Return, if not visible at all...
-    if (stateVis==Hidden) return false;
-
-    CurrentSelection oldSel=curSelection;
-    bool b=false;
-
-    QRectF r(p.x() - clickBorder, p.y() - clickBorder,
-                    clickBorder *2, clickBorder*2) ;
-
-    switch (stateVis)
-    {
-       case FullShowControls:
-           // If Cx selected, check both ctrl points 
-           if (ctrlPointInClickBox(p) >-1) b=true;
-
-            // Enable selecting the path, when a ctrl point is already selected
-            if (!b && curSelection!=Unselected && clickPath.intersects (r)) b=true;
-           break;
-       case OnlyBegin || OnlyEnd:    
-           // not selected, only partially visible
-           if (poly->boundingRect().contains(p) ) 
-               b=true;
-           break;
-       default:
-           // not selected, but path is fully visible
-           curSelection=Path;
-           if (getClickPath().intersects (r) ) b=true;
-           break;
-    }
-    curSelection=oldSel;
-    return b;
-}
-
-QPainterPath XLinkObj::getClickPath()  // also needs mirroring if oriented left. Create method to generate the coordinates
-{
-    QPainterPath p;
-    switch (curSelection)
-    {
-       case C0:
-           p.addEllipse (beginPos + c0,15,15);
-           return p;
-           break;
-       case C1:
-           p.addEllipse (endPos + c1,15,15);
-           return p;
-           break;
-       default:
-           return clickPath;
-           break;
-    }
-}
diff --git a/xlinkobj.h b/xlinkobj.h
deleted file mode 100644 (file)
index 3471bb6..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef XLINKOBJ_H
-#define XLINKOBJ_H
-
-#include <QPen>
-
-#include "arrowobj.h"
-#include "linkablemapobj.h"
-#include "mapobj.h"
-#include "xlink.h"
-
-class BranchObj;
-class BranchItem;
-
-/*! \brief xlinks are used to draw arbitrary connections between branches (BranchObj) in the map. */
-
-/////////////////////////////////////////////////////////////////////////////
-class XLinkObj:public MapObj {
-public:
-    enum CurrentSelection {Unselected, Path, C0, C1};
-    XLinkObj (QGraphicsItem*, Link* l );
-    virtual ~XLinkObj ();
-    virtual void init ();
-    virtual QPointF getAbsPos();
-    void setStyleBegin(const QString &s);
-    void setStyleBegin(ArrowObj::OrnamentStyle os);
-    ArrowObj::OrnamentStyle getStyleBegin();
-    void setStyleEnd(const QString &s);
-    void setStyleEnd(ArrowObj::OrnamentStyle os);
-    ArrowObj::OrnamentStyle getStyleEnd();
-    QPointF getBeginPos();
-    QPointF getEndPos();
-    virtual void move (QPointF p);
-    virtual void setEnd (QPointF);
-    void setSelection (int cp);
-    void setSelection (CurrentSelection s);
-    void updateXLink();
-    void positionBBox();
-    void calcBBoxSize();
-    void setVisibility (bool);
-    void setVisibility ();
-    void initC0();
-    void setC0 (const QPointF &p);
-    QPointF getC0();
-    void initC1();
-    void setC1 (const QPointF &p);
-    QPointF getC1();
-    bool isInClickBox (const QPointF &p);
-    int ctrlPointInClickBox (const QPointF &p);
-    QPainterPath getClickPath();
-
-private:
-    enum StateVis {Hidden,OnlyBegin,OnlyEnd,Full,FullShowControls};
-    StateVis stateVis;
-    static int arrowSize;
-    static int clickBorder;
-    static int pointRadius;
-    static int d_control;
-    QPainterPath clickPath;
-    QGraphicsPolygonItem *poly;// Arrowhead, when one end is not visible
-    ArrowObj *pointerBegin;    // Arrowhead 
-    ArrowObj *pointerEnd;      // Arrowhead 
-    QGraphicsPathItem *path;
-    
-    QPointF beginPos;
-    QPointF   endPos;
-    QPointF c0,c1;                 // Controlpoints for Bezier path
-    LinkableMapObj::Orientation beginOrient;
-    LinkableMapObj::Orientation   endOrient;
-    QGraphicsEllipseItem *ctrl_p0;
-    QGraphicsEllipseItem *ctrl_p1;
-
-    CurrentSelection curSelection;
-
-    BranchItem *visBranch;  // the "visible" part of a partially scrolled li
-    Link *link;
-};
-
-#endif
diff --git a/xml-base.cpp b/xml-base.cpp
deleted file mode 100644 (file)
index 3cd9428..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#include "xml-base.h"
-
-#include "vymmodel.h"
-
-parseBaseHandler::parseBaseHandler() {}
-
-parseBaseHandler::~parseBaseHandler() {}
-
-QString parseBaseHandler::errorProtocol() { return errorProt; }
-
-
-QString parseBaseHandler::parseHREF(QString href)
-{
-    QString type=href.section(":",0,0);
-    QString path=href.section(":",1,1);
-    if (!tmpDir.endsWith("/"))
-       return tmpDir + "/" + path;
-    else    
-       return tmpDir + path;
-}
-
-bool parseBaseHandler::fatalError( const QXmlParseException& exception ) 
-{
-    errorProt += QString( "Fatal parsing error: %1 in line %2, column %3\n")
-        .arg( exception.message() )
-        .arg( exception.lineNumber() )
-        .arg( exception.columnNumber() );
-    // Try to read the bogus line
-    errorProt += QString("File is: %1\n").arg(inputFile);
-    if (!inputFile.isEmpty() )
-    {   // Input was from file
-        if (!loadStringFromDisk (inputFile, inputString))
-        {
-            qWarning()<<"parseBaseHandler::fatalError Couldn't read from "<<inputFile;
-            return QXmlDefaultHandler::fatalError( exception );
-        }
-    }
-    QString s;
-    QStringList sl = inputString.split ("\n");
-    int i = 1;
-    QStringList::Iterator it = sl.begin();
-    while (i < exception.lineNumber())
-    {
-        it++;
-        i++;
-    }
-    s =*it;
-    s.insert (exception.columnNumber()-1,"<ERROR>");
-    errorProt += s;
-    return QXmlDefaultHandler::fatalError( exception );
-}
-
-void parseBaseHandler::setModel (VymModel *m)
-{
-    model=m;
-}
-
-void parseBaseHandler::setTmpDir (QString tp)
-{
-    tmpDir=tp;
-}
-
-void parseBaseHandler::setInputFile (const QString &s)
-{
-    inputFile = s;
-}
-
-void parseBaseHandler::setInputString ( const QString &s)
-{
-    inputString = s;
-}
-
-void parseBaseHandler::setLoadMode (const LoadMode &lm, int p)
-{
-    loadMode=lm;
-    insertPos=p;
-}
-
-bool parseBaseHandler::readHtmlAttr (const QXmlAttributes& a)
-{
-    for (int i=1; i<=a.count(); i++)
-       htmldata+=" "+a.localName(i-1)+"=\""+a.value(i-1)+"\"";
-    return true;
-}
-
-
diff --git a/xml-base.h b/xml-base.h
deleted file mode 100644 (file)
index ac04f79..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef XML_BASE
-#define XML_BASE
-
-
-//#include <QString>
-#include <QXmlAttributes>
-
-#include "file.h"
-
-class VymModel;
-
-/*! \brief Base class for parsing maps from XML documents */
-
-class parseBaseHandler  : public QXmlDefaultHandler
-{
-public:
-    parseBaseHandler();
-    ~parseBaseHandler();
-    QString errorProtocol();
-    QString parseHREF(QString);
-    virtual bool startElement ( const QString&, const QString&,
-                        const QString& eName, const QXmlAttributes& atts )=0; 
-    virtual bool   endElement ( const QString&, const QString&, const QString& )=0; 
-    virtual bool characters   ( const QString&)=0;
-
-    virtual QString errorString()=0;
-    bool fatalError( const QXmlParseException&);
-    void setModel (VymModel *);
-    void setTmpDir (QString);
-    void setInputFile ( const QString &);
-    void setInputString ( const QString &);
-    void setLoadMode (const LoadMode &,int p=-1);
-    bool readHtmlAttr    (const QXmlAttributes&);
-
-protected:
-    QString     errorProt;
-
-    LoadMode loadMode;
-    int insertPos;
-
-    bool isVymPart;
-    int branchDepth; 
-    VymModel *model;
-    QString tmpDir; 
-    QString inputFile;
-    QString inputString;
-    QString htmldata;
-    QString version;
-}; 
-#endif
diff --git a/xml-freemind.cpp b/xml-freemind.cpp
deleted file mode 100644 (file)
index 36e0dc3..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-#include "xml-freemind.h"
-
-#include <QDebug>
-#include <QMessageBox>
-
-#include "branchitem.h"
-#include "version.h"
-#include "vymmodel.h"
-
-extern Settings settings;
-extern QString vymVersion;
-
-bool parseFreemindHandler::startDocument()  //FIXME-3 import not complete yet
-{
-    errorProt = "";
-    state = StateInit;
-    stateStack.clear();
-    stateStack.append(StateInit);
-    isVymPart=false;
-    return true;
-}
-
-
-QString parseFreemindHandler::parseHREF(QString href)
-{
-    QString type=href.section(":",0,0);
-    QString path=href.section(":",1,1);
-    if (!tmpDir.endsWith("/"))
-       return tmpDir + "/" + path;
-    else    
-       return tmpDir + path;
-}
-
-bool parseFreemindHandler::startElement  ( const QString&, const QString&,
-                    const QString& eName, const QXmlAttributes& atts ) 
-{
-    QColor col;
-    /* Testing
-    qDebug() << "startElement <"<< qPrintable(eName)
-       <<">  state="<<state 
-       <<"  stateLast="<<stateStack.last()
-       <<"   loadMode="<<loadMode
-    // <<"       line="<<qPrintable (QXmlDefaultHandler::lineNumber())
-       ;
-    */ 
-    stateStack.append (state); 
-    if ( state == StateInit && (eName == "map")  ) 
-    {
-        state = StateMap;
-       if (!atts.value( "version").isEmpty() ) 
-       {
-           QString v="0.9.0";
-           if (! versionLowerOrEqual( atts.value("version"),v ) )
-               QMessageBox::warning( 0, "Warning: Version Problem" ,
-                  "<h3>Freemind map is newer than version " +v +" </h3>"
-                  "<p>The map you are just trying to load was "
-                  "saved using freemind " +atts.value("version")+". "
-                  "Your version of vym can parse freemind " + v +"."); 
-       }
-       // Create mapcenter
-       model->clear();
-       mapCenter=model->createMapCenter();
-       lastBranch=mapCenter;
-
-       // Create two hidden branches, because Freemind has no relative 
-       // positioning for mainbranches
-       mainBranchLeft  = model->createBranch (lastBranch);
-       mainBranchRight = model->createBranch (lastBranch);
-
-       mainBranchLeft->setRelPos ( QPointF(-200,0));
-    mainBranchLeft->setHeadingPlainText ("  ");
-       mainBranchRight->setRelPos ( QPointF(200,0));
-    mainBranchRight->setHeadingPlainText ("  ");
-    } else if ( eName == "attribute_registry" &&  state == StateMap ) 
-    {
-        state = StateAttributeRegistry;
-    } else if ( eName == "attribute_name" &&  state == StateAttributeRegistry) 
-    {
-        state = StateAttributeName;
-    } else if ( eName == "attribute_value" &&  state == StateAttributeName) 
-    {
-        state = StateAttributeValue;
-    } else if ( eName == "node" &&  state == StateMap ) 
-    {
-       state=StateNode;
-       readNodeAttr (atts);
-    } else if ( eName == "node" &&  state == StateNode ) 
-    {
-       lastBranch=model->createBranch(lastBranch);
-       state=StateNode;
-       readNodeAttr (atts);
-    } else if ( eName == "properties" )
-    {
-    } else if ( eName == "map_styles" )
-    {
-    } else if ( eName == "font" && state == StateNode) //FIXME-3 not implemented
-    {
-       state=StateFont;
-    } else if ( eName == "edge" && state == StateNode) //FIXME-3 xlink not implemented
-    {
-       state=StateEdge;
-    } else if ( eName == "hook" && state == StateNode) 
-    {
-       state=StateHook;
-    } else if ( eName == "icon" && state == StateNode) 
-    {
-       state=StateIcon;
-       if (!atts.value("BUILTIN").isEmpty() )
-       {
-           QString f=atts.value("BUILTIN");
-           QString v;
-           if (f=="help")
-               v="questionmark";
-           else if (f=="messagebox_warning")
-               v="freemind-warning"; 
-           else if (f=="idea")
-               v="lamp"; 
-           else if (f=="button_ok")
-               v="hook-green"; 
-           else if (f=="button_cancel")
-               v="cross-red"; 
-           else if (f.contains("full-"))
-               v=f.replace("full-","freemind-priority-"); 
-           else if (f=="back")
-               v="freemind-back"; 
-           else if (f=="forward")
-               v="freemind-forward"; 
-           else if (f=="attach")
-               v="freemind-attach"; 
-           else if (f=="ksmiletris")
-               v="smiley-good"; // 
-           else if (f=="clanbomber")
-               v="freemind-clanbomber"; 
-           else if (f=="desktop_new")
-               v="freemind-desktopnew"; 
-           else if (f=="flag")
-               v="freemind-flag"; 
-           else if (f=="gohome")
-               v="freemind-gohome"; 
-           else if (f=="kaddressbook")
-               v="freemind-kaddressbook"; 
-           else if (f=="knotify")
-               v="freemind-knotify"; 
-           else if (f=="korn")
-               v="freemind-korn";
-           else if (f=="Mail")
-               v="freemind-mail"; 
-           else if (f=="password")
-               v="freemind-password"; 
-           else if (f=="pencil")
-               v="freemind-pencil";
-           else if (f=="stop")
-               v="freemind-stop"; 
-           else if (f=="wizard")
-               v="freemind-wizard";
-           else if (f=="xmag")
-               v="freemind-xmag";
-           else if (f=="bell")
-               v="freemind-bell";
-           else if (f=="bookmark")
-               v="freemind-bookmark"; 
-           else if (f=="penguin")
-               v="freemind-penguin"; 
-           else if (f=="licq")
-               v="freemind-licq"; 
-           else 
-               qWarning()<<"parseFreemindHandler: Unknown icon found: "<<f;
-
-           lastBranch->activateStandardFlag (v);
-       }
-    } else if ( eName == "arrowlink" && state == StateNode) 
-    {
-       state=StateArrowLink;
-    } else if ( eName == "cloud" && state == StateNode) 
-    {
-       state=StateCloud;
-    } else if ( eName == "richcontent" && state == StateNode) 
-    {
-       state=StateRichContent;
-       return readRichContentAttr (atts);
-    } else if ( eName == "html" && state == StateRichContent) 
-    {
-       state=StateHtml;
-       htmldata="<"+eName;
-       readHtmlAttr(atts);
-       htmldata+=">";
-    } else if ( eName == "text" && state == StateHook) 
-    {
-       state=StateText;
-    } else if ( state == StateHtml ) 
-    {
-       // accept all while in html mode,
-       htmldata+="<"+eName;
-       readHtmlAttr(atts);
-       htmldata+=">";
-    } else 
-    {
-        // Usually we would return an error here
-        // In order to not break with every new element in FreeMind or FreePlane,
-        // better ignore the new element for now
-        state=StateUnknown;
-       qWarning()<<"parseFreemindHandler: Unknown element found and ignoring:: "<<eName;
-    }
-    return true;
-}
-
-bool parseFreemindHandler::endElement  ( const QString &, const QString&, const QString &eName)
-{
-    /* Testing
-    qDebug() << "endElement </" <<qPrintable(eName)
-       <<">  state=" <<state 
-       <<"  stateStack="<<stateStack.last() 
-       ;
-    */
-    switch ( state ) 
-    {
-       case StateMap:
-           // Freemind does not have the two "extra" mainbranches used here,
-           // so we have to update mapcenter
-           model->emitDataChanged (mapCenter);
-
-           // Remove helper branches, if not needed
-           if (mainBranchLeft->childCount()==0) model->deleteItem (mainBranchLeft);
-           if (mainBranchRight->childCount()==0) model->deleteItem (mainBranchRight);
-           break;
-        case StateNode: 
-           model->emitDataChanged (lastBranch);
-           lastBranch=(BranchItem*)lastBranch->parent();
-           lastBranch->setLastSelectedBranch (0);  
-            break;
-       case StateRichContent:
-           if (!htmldata.isEmpty()) 
-           {
-               if (htmlPurpose==Node)
-            lastBranch->setHeadingPlainText (htmldata);  // FIXME-3 probably wrong for RT heading
-               else if (htmlPurpose==Note)
-                   lastBranch->setNote (htmldata);
-           }   
-           break;
-        case StateHtml: 
-           htmldata+="</"+eName+">";
-           if (eName=="html")
-           {
-               //state=StateHtmlNote;  
-               htmldata.replace ("<br></br>","<br />");
-           }   
-           break;
-       default: 
-           break;
-    }  
-    state=stateStack.takeLast();    
-    return true;
-}
-
-bool parseFreemindHandler::characters   ( const QString& ch)
-{
-    //qDebug() << "characters \""<<qPrintable(ch)<<"\"  state="<<state;
-
-    QString ch_org=quotemeta (ch);
-    QString ch_simplified=ch.simplified();
-    if ( ch_simplified.isEmpty() ) return true;
-
-    switch ( state ) 
-    {
-        case StateInit: break;
-        case StateMap: break; 
-        case StateNode: break; 
-        case StateCloud: break; 
-        case StateEdge: break; 
-        case StateIcon: break; 
-        case StateArrowLink: break; 
-        case StateFont: break; 
-        case StateHook: break; 
-        case StateText: 
-           lastBranch->setNote (ch_simplified);
-           break; 
-        case StateHtml:
-           htmldata+=ch_org;
-           break;
-        default: 
-           return false;
-    }
-    return true;
-}
-
-QString parseFreemindHandler::errorString() 
-{
-    return "the document is not in the Freemind file format";
-}
-
-bool parseFreemindHandler::readNodeAttr (const QXmlAttributes& a)  
-{
-    // Freemind has a different concept for mainbranches
-    if (!a.value( "POSITION").isEmpty() )
-    {
-       if (a.value ("POSITION")=="left")
-           model->relinkBranch (lastBranch, mainBranchLeft);
-       else if (a.value ("POSITION")=="right")
-           model->relinkBranch (lastBranch, mainBranchRight);
-    } 
-
-    if (a.value( "FOLDED")=="true" )
-       lastBranch->toggleScroll();
-
-    if (!a.value( "TEXT").isEmpty() )
-    {
-    lastBranch->setHeadingPlainText (a.value ("TEXT"));  // FIXME-3 what about RT?
-       //model->setHeading (a.value ("TEXT"), lastBranch);
-    }
-
-    if (!a.value( "COLOR").isEmpty() )
-       lastBranch->setHeadingColor (QColor (a.value ("COLOR")));
-
-    if (!a.value( "LINK").isEmpty() )  
-       lastBranch->setURL (a.value ("LINK"));
-    return true;    
-}
-
-
-bool parseFreemindHandler::readRichContentAttr (const QXmlAttributes& a)  
-{
-    if (a.value ("TYPE")=="NODE" )
-       htmlPurpose=Node;
-    else if (a.value ("TYPE")=="NOTE" )
-       htmlPurpose=Note;
-    else
-    {
-       htmlPurpose=Unknown;
-       qWarning()<<"parseFreemindHandler: Unknown purpose of richContent found: "<<a.value("TYPE");;
-        // FIXME-3 Usually we would stop here, ignore for now
-       //return false;
-    }  
-    return true;
-}
-
diff --git a/xml-freemind.h b/xml-freemind.h
deleted file mode 100644 (file)
index 0d1d81d..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef XML_FREEMIND_H
-#define XML_FREEMIND_H
-
-#include "xml-base.h"
-
-class BranchItem;
-class VymModel;
-
-/*! \brief Parsing Freemind maps from XML documents */
-
-class parseFreemindHandler  : public parseBaseHandler
-{
-public:
-    bool startDocument();
-    QString parseHREF(QString);
-    bool startElement ( const QString&, const QString&,
-                        const QString& eName, const QXmlAttributes& atts ); 
-    bool   endElement ( const QString&, const QString&, const QString& ); 
-    bool characters   ( const QString&);
-    QString errorString();
-    bool readNodeAttr (const QXmlAttributes&);
-    bool readRichContentAttr (const QXmlAttributes&);
-
-private:
-    QString     errorProt;
-    enum State 
-    { 
-       StateInit, 
-       StateAttributeRegistry,
-       StateAttributeName,
-       StateAttributeValue,
-       StateMap, 
-       StateNode, 
-       StateProperties, 
-       StateMapStyles, 
-       StateCloud,
-       StateEdge, 
-       StateIcon, 
-       StateFont,
-       StateArrowLink,
-       StateHook,
-       StateText,
-       StateRichContent,
-       StateHtml,
-        StateUnknown
-     };
-    enum HtmlPurpose {Node,Note,Unknown};
-    HtmlPurpose htmlPurpose;
-                
-    State state;            
-    QList <State> stateStack;
-    BranchItem *lastBranch;
-    BranchItem *mapCenter;
-    BranchItem *mainBranchLeft;
-    BranchItem *mainBranchRight;
-}; 
-#endif
diff --git a/xml-vym.cpp b/xml-vym.cpp
deleted file mode 100644 (file)
index 0bdb12b..0000000
+++ /dev/null
@@ -1,972 +0,0 @@
-#include "xml-vym.h"
-
-#include <QMessageBox>
-#include <QColor>
-#include <QTextStream>
-#include <typeinfo>
-
-#include "attributeitem.h"
-#include "branchitem.h"
-#include "misc.h"
-#include "settings.h"
-#include "linkablemapobj.h"
-#include "mainwindow.h"
-#include "slideitem.h"
-#include "task.h"
-#include "taskmodel.h"
-#include "version.h"
-#include "xlinkitem.h"
-
-extern Main *mainWindow;
-extern Settings settings;
-extern TaskModel *taskModel;
-extern QString vymVersion;
-
-parseVYMHandler::parseVYMHandler()
-{
-    // Default is to load everything
-    contentFilter = 0x0000; // TODO  use filters for all content types below
-}
-
-void parseVYMHandler::setContentFilter (const int &c)
-{
-    contentFilter=c;
-}
-
-bool parseVYMHandler::startDocument()
-{
-    errorProt = "";
-    state = StateInit;
-    stateStack.clear();
-    stateStack.append(StateInit);
-    htmldata="";
-    isVymPart=false;
-    useProgress=false;
-    return true;
-}
-
-bool parseVYMHandler::startElement  ( const QString&, const QString&,
-                    const QString& eName, const QXmlAttributes& atts ) 
-{
-    QColor col;
-    /* Testing
-    qDebug()<< "startElement: <"<< eName
-            << ">     state="<<state 
-            << "  laststate="<<stateStack.last()
-            << "   loadMode="<<loadMode
-            //<<"       line="<<QXmlDefaultHandler::lineNumber();
-        <<"contentFilter="<<contentFilter;
-    */        
-    stateStack.append (state);        
-    if ( state == StateInit && (eName == "vymmap")  ) 
-    {
-        state = StateMap;
-        branchesTotal=0;        
-        branchesCounter=0;
-
-        if (loadMode==NewMap )
-        {
-            // Create mapCenter
-            model->clear();
-            lastBranch=NULL;
-
-            readMapAttr (atts);
-        }   
-        // Check version
-        if (!atts.value( "version").isEmpty() ) 
-        {
-            version = atts.value("version");
-            if (!versionLowerOrEqualThanVym( version ))
-                QMessageBox::warning( 0, QObject::tr("Warning: Version Problem") , 
-                   QObject::tr("<h3>Map is newer than VYM</h3>"
-                   "<p>The map you are just trying to load was "
-                   "saved using vym %1. "
-                   "The version of this vym is %2. " 
-                   "If you run into problems after pressing "
-                   "the ok-button below, updating vym should help.</p>").arg(version).arg(vymVersion));
-            else       
-                model->setVersion(version);
-
-        }
-
-    } else if ( eName == "select" && state == StateMap ) 
-    {
-        state=StateMapSelect;
-    } else if ( eName == "setting" && state == StateMap ) 
-    {
-        state=StateMapSetting;
-        if (loadMode==NewMap)
-        {
-            htmldata.clear();
-            readSettingAttr (atts);
-        }
-    } else if ( eName == "slide" && state == StateMap )
-    {
-        state=StateMapSlide;
-        if (!  contentFilter && SlideContent)  
-        {   
-            // Ignore slides during paste
-            lastSlide=model->addSlide();
-            if (insertPos>=0)
-            model->relinkSlide (lastSlide, insertPos);
-            
-            readSlideAttr(atts);
-        }
-    } else if ( eName == "mapcenter" && state == StateMap ) 
-    {
-        state=StateMapCenter;
-        if (loadMode==NewMap)
-        {   
-            // Really use the found mapcenter as MCO in a new map
-            lastBranch=model->createMapCenter(); 
-        } else
-        {
-            // Treat the found mapcenter as a branch 
-            // in an existing map
-            BranchItem *bi=model->getSelectedBranch();        
-            if (bi)
-            {
-                lastBranch=bi;
-                if (loadMode==ImportAdd)
-                {
-                    // Import Add
-                    if (insertPos<0) 
-                        lastBranch=model->createBranch(lastBranch);
-                    else
-                    {
-                        lastBranch=model->addNewBranch(lastBranch, insertPos);
-                        insertPos++;
-                    }
-                } else  
-                {
-                    // Import Replace 
-                    if (insertPos<0)
-                    {
-                        insertPos=lastBranch->num() +1;
-                        model->clearItem (lastBranch);
-                    } else
-                    {
-                        BranchItem *pi=bi->parentBranch();
-                        lastBranch=model->addNewBranch(pi, insertPos);
-                        insertPos++;
-                    }
-                }
-            } else
-                // if nothing selected, add mapCenter without parent
-                lastBranch=model->createMapCenter(); 
-        }        
-        readBranchAttr (atts);
-    } else if ( 
-        (eName == "standardflag" ||eName == "standardFlag") && 
-        (state == StateMapCenter || state==StateBranch)) 
-    {
-        state=StateStandardFlag;
-    } else if ( eName == "heading" && (state == StateMapCenter||state==StateBranch || state == StateInit))
-    {
-        if (state == StateInit)
-        {
-            // Only read some stuff like VymNote or Heading
-            // e.g. for undo/redo
-            lastBranch = model->getSelectedBranch();
-            if (version.isEmpty() ) version = "0.0.0";
-        }
-        if (!lastBranch) return false;
-
-        state=StateHeading;
-        htmldata.clear();
-        vymtext.clear();
-        if (!atts.value( "fonthint").isEmpty() )
-            vymtext.setFontHint(atts.value ("fonthint") );
-        if (!atts.value( "textMode").isEmpty() )
-        {
-            if (atts.value ("textMode") == "richText" )
-                vymtext.setRichText(true);
-            else
-                vymtext.setRichText(false);
-        }
-        if (!atts.value( "textColor").isEmpty() )
-        {
-            // For compatibility with <= 2.4.0 set both branch and
-            // heading color
-            col.setNamedColor(atts.value("textColor"));
-            lastBranch->setHeadingColor(col );
-            vymtext.setColor(col);
-        }        
-    } else if ( eName == "task" && (state == StateMapCenter||state==StateBranch)) 
-    {
-        state=StateTask;
-        lastTask=taskModel->createTask (lastBranch);
-        if (!readTaskAttr(atts)) return false;
-    } else if ( eName == "note" && 
-                (state == StateMapCenter ||state==StateBranch))
-    {        // only for backward compatibility (<1.4.6). Use htmlnote now.
-        state=StateNote;
-        htmldata.clear();
-        vymtext.clear();
-        if (!readNoteAttr (atts) ) return false;
-    } else if ( eName == "htmlnote" && state == StateMapCenter) 
-    {   // only for backward compatibility. Use vymnote now
-        state=StateHtmlNote;
-        vymtext.clear();
-        if (!atts.value( "fonthint").isEmpty() ) 
-            vymtext.setFontHint(atts.value ("fonthint") );
-    } else if ( eName == "vymnote" && (state == StateMapCenter || state==StateBranch || state == StateInit))
-    {
-        if (state == StateInit)
-            // Only read some stuff like VymNote or Heading
-            // e.g. for undo/redo
-        {
-            lastBranch = model->getSelectedBranch();
-            if (version.isEmpty() ) version = "0.0.0";
-        }
-        state=StateVymNote;
-        htmldata.clear();
-        vymtext.clear();
-        if (!atts.value( "fonthint").isEmpty() ) 
-            vymtext.setFontHint(atts.value ("fonthint") );
-        if (!atts.value( "textMode").isEmpty() )
-        {
-            if (atts.value ("textMode") == "richText" )
-                vymtext.setRichText(true);
-            else
-                vymtext.setRichText(false);
-        }
-    } else if ( eName == "floatimage" &&
-                (state == StateMapCenter ||state==StateBranch)) 
-    {
-        state=StateImage;
-        lastImage=model->createImage(lastBranch);
-        if (!readImageAttr(atts)) return false;
-    } else if ( (eName == "branch"||eName=="floatimage") && state == StateMap) 
-    {
-        // This is used in vymparts, which have no mapcenter or for undo
-        isVymPart=true;
-        TreeItem *ti=model->getSelectedItem();
-        if (!ti)
-        {
-            // If a vym part is _loaded_ (not imported), 
-            // selection==lmo==NULL
-            // Treat it like ImportAdd then...
-            loadMode=ImportAdd;
-            // we really have no MCO at this time
-            lastBranch=model->createMapCenter();
-            model->select (lastBranch);
-            model->setHeadingPlainText("Import");
-            ti=lastBranch;
-        }   
-        if (ti && ti->isBranchLikeType() )
-        {
-            lastBranch=(BranchItem*)ti;
-            if (eName=="branch")
-            {
-                state=StateBranch;
-                if (loadMode==ImportAdd)
-                {
-                    lastBranch=model->createBranch(lastBranch);
-                    if (insertPos>=0)
-                        model->relinkBranch (lastBranch,(BranchItem*)ti,insertPos);
-                } else
-                    model->clearItem (lastBranch);
-                readBranchAttr (atts);
-            } else if (eName=="floatimage")
-            {
-                state=StateImage;
-                lastImage=model->createImage (lastBranch);
-                if (!readImageAttr(atts)) return false;
-            } else return false;
-        } else return false;
-    } else if ( eName == "branch" && state == StateMapCenter) 
-    {
-        state=StateBranch;
-        lastBranch=model->createBranch(lastBranch);
-        readBranchAttr (atts);
-    } else if ( eName == "htmlnote" && state == StateBranch) 
-    {   // only for backward compatibility. Use vymnote now
-        state=StateHtmlNote;
-        vymtext.clear();
-        if (!atts.value( "fonthint").isEmpty() ) 
-            vymtext.setFontHint(atts.value ("fonthint") );
-    } else if ( eName == "frame" && (state == StateBranch||state==StateMapCenter)) 
-    {
-        state=StateFrame;
-        if (!readFrameAttr(atts)) return false;
-    } else if ( eName == "xlink" && state == StateBranch ) 
-    {
-        // Obsolete after 1.13.2
-        state=StateBranchXLink;
-        if (!readXLinkAttr (atts)) return false;
-    } else if ( eName == "xlink" && state == StateMap) 
-    {
-        state=StateLink;
-        if (!readLinkNewAttr (atts)) return false;
-    } else if ( eName == "branch" && state == StateBranch ) 
-    {
-        lastBranch=model->createBranch(lastBranch);
-        readBranchAttr (atts);
-    } else if ( eName == "html" && 
-        (state == StateHtmlNote || state == StateVymNote) ) 
-    {
-        state=StateHtml;
-        htmldata="<"+eName;
-        readHtmlAttr(atts);
-        htmldata+=">";
-    } else if ( eName == "attribute" && 
-        (state == StateBranch || state == StateMapCenter ) ) 
-    {
-        state=StateAttribute;
-        QList<QVariant> cData;
-        cData << "new attribute" << "undef";
-        AttributeItem *ai=new AttributeItem (cData);
-        if (ai)
-        {
-            if (!atts.value("type").isEmpty())
-                ai->setKey(atts.value("type"));
-            if (!atts.value("key").isEmpty())
-                ai->setKey(atts.value("key"));
-            if (!atts.value("value").isEmpty())
-                ai->setKey(atts.value("value"));
-        } 
-            
-    } else if ( state == StateHtml ) 
-    {
-        // accept all while in html mode,
-        htmldata+="<"+eName;
-        readHtmlAttr(atts);
-        htmldata+=">";
-    } else
-        return false;   // Error
-    return true;
-}
-
-bool parseVYMHandler::endElement  ( const QString&, const QString&, const QString &eName)
-{
-    //qDebug()<< "endElement </" <<eName <<">  state=" <<state ;
-
-    switch ( state ) 
-    {
-        case StateMap:
-            break;
-        case StateMapCenter: 
-            model->emitDataChanged (lastBranch);
-            lastBranch=(BranchItem*)(lastBranch->parent());
-            break;
-        case StateBranch: 
-            // Empty branches may not be scrolled 
-            // (happens if bookmarks are imported)
-            if (lastBranch->isScrolled() && lastBranch->branchCount()==0) 
-                lastBranch->unScroll();
-            model->emitDataChanged (lastBranch);
-
-            lastBranch=(BranchItem*)(lastBranch->parent());
-            lastBranch->setLastSelectedBranch (0);  
-            break;
-        case StateHeading:
-            if ( versionLowerOrEqual( version, "2.4.99")  && htmldata.contains("<html>") )
-                // versions before 2.5.0 didn't use CDATA to save richtext
-                vymtext.setAutoText(htmldata);
-            else
-                vymtext.setText (htmldata);
-            lastBranch->setHeading (vymtext);
-            break;
-        case StateHtmlNote: // Richtext note, needed anyway for backward compatibility
-            vymtext.setRichText (htmldata);
-            lastBranch->setNote (vymtext);
-            break;
-        case StateMapSlide: 
-            lastSlide=NULL;
-            break;  
-        case StateNote:
-            // version < 1.4.6
-            vymtext.setText (htmldata);
-            lastBranch->setNote (vymtext);
-            break;
-        case StateMapSetting:
-            // version >= 2.5.0  previously value only as attribut
-            settings.setLocalValue(model->getDestPath(), lastSetting, htmldata);
-            break;
-        case StateVymNote:            // Might be richtext or plaintext with
-            // version >= 1.13.8
-            if ( versionLowerOrEqual( version, "2.4.99")  && htmldata.contains("<html>") )
-                // versions before 2.5.0 didn't use CDATA to save richtext
-                vymtext.setAutoText(htmldata);
-            else
-                vymtext.setText (htmldata);
-            lastBranch->setNote (vymtext);  
-            break;
-        case StateHtml:
-            htmldata+="</"+eName+">";
-            if (eName=="html")
-                htmldata.replace ("<br></br>","<br />");
-            break;
-        default:
-            break;
-    }  
-    state=stateStack.takeLast();    
-    return true;
-}
-
-bool parseVYMHandler::characters   ( const QString& ch)
-{
-//    qDebug()<< "xml-vym: characters "<<ch<<"  state="<<state;
-
-    QString ch_org=quotemeta (ch);
-    QString ch_simplified=ch.simplified();
-    //if ( ch_simplified.isEmpty() ) return true;
-
-    switch ( state ) 
-    {
-        case StateInit: break;
-        case StateMap: break; 
-        case StateMapSelect:
-            model->select(ch_simplified);
-            break;
-        case StateMapSetting:
-            htmldata += ch;
-            break;
-        case StateMapCenter: break;
-        case StateNote:            // only in vym <1.4.6
-            htmldata += ch_simplified;
-            break;
-        case StateBranch: break;
-        case StateStandardFlag: 
-            lastBranch->activateStandardFlag(ch_simplified); 
-            break;
-        case StateImage: break;
-        case StateVymNote: 
-            htmldata += ch;
-            break;
-        case StateHtmlNote: // Only for compatibility
-            htmldata = ch;
-            break;
-        case StateHtml:
-            htmldata += ch_org;
-            break;
-        case StateHeading: 
-            htmldata += ch;
-            break;
-        default: 
-            return false;
-    }
-    return true;
-}
-
-QString parseVYMHandler::errorString() 
-{
-    return "the document is not in the VYM file format";
-}
-
-bool parseVYMHandler::readMapAttr (const QXmlAttributes& a)        
-{
-    QColor col;
-    if (!a.value( "author").isEmpty() )  
-        model->setAuthor(a.value( "author" ) );
-    if (!a.value( "title").isEmpty() )
-        model->setTitle (a.value( "title" ) );
-    if (!a.value( "comment").isEmpty() )
-        model->setComment (a.value( "comment" ) );
-    if (!a.value( "branchCount").isEmpty() )
-    {
-        branchesTotal=a.value("branchCount").toInt();
-        if (branchesTotal>10)
-        {
-            useProgress=true;
-            mainWindow->setProgressMaximum (branchesTotal);
-        }
-    } 
-        
-    if (!a.value( "backgroundColor").isEmpty() )
-    {
-        col.setNamedColor(a.value("backgroundColor"));
-        model->getScene()->setBackgroundBrush(col);
-    }            
-    if (!a.value( "defaultFont").isEmpty() )
-    {
-        QFont font;
-        font.fromString(a.value("defaultFont"));
-        model->setMapDefaultFont (font);
-    }            
-    if (!a.value( "selectionColor").isEmpty() )
-    {
-        col.setNamedColor(a.value("selectionColor"));
-        model->setSelectionColor(col);
-    }            
-    if (!a.value( "linkColorHint").isEmpty() ) 
-    {
-        if (a.value("linkColorHint")=="HeadingColor")
-            model->setMapLinkColorHint(LinkableMapObj::HeadingColor);
-        else
-            model->setMapLinkColorHint(LinkableMapObj::DefaultColor);
-    }
-    if (!a.value( "linkStyle").isEmpty() ) 
-        model->setMapLinkStyle(a.value("linkStyle"));
-    if (!a.value( "linkColor").isEmpty() ) 
-    {
-        col.setNamedColor(a.value("linkColor"));
-        model->setMapDefLinkColor(col);
-    }        
-
-    QPen pen (model->getMapDefXLinkPen() );
-    if (!a.value( "defXLinkColor").isEmpty() ) 
-    {
-        col.setNamedColor(a.value("defXLinkColor"));
-        pen.setColor(col);
-    }        
-    if (!a.value( "defXLinkWidth").isEmpty() ) 
-        pen.setWidth(a.value("defXLinkWidth").toInt ());
-    if (!a.value( "defXLinkPenStyle").isEmpty() ) 
-    {        
-        bool ok;
-        Qt::PenStyle ps=penStyle (a.value("defXLinkPenStyle"),ok );
-        if (!ok) return false;
-        pen.setStyle (ps);
-    }
-    model->setMapDefXLinkPen (pen);
-
-    if (!a.value( "defXLinkStyleBegin").isEmpty() ) 
-        model->setMapDefXLinkStyleBegin( a.value( "defXLinkStyleBegin" ) );
-    if (!a.value( "defXLinkStyleEnd").isEmpty() ) 
-        model->setMapDefXLinkStyleEnd( a.value( "defXLinkStyleEnd" ) );
-
-    if (!a.value( "mapZoomFactor").isEmpty() ) 
-        model->setMapZoomFactor(a.value("mapZoomFactor").toDouble());
-    if (!a.value( "mapRotationAngle").isEmpty() ) 
-        model->setMapRotationAngle(a.value("mapRotationAngle").toDouble());
-    return true;
-}
-
-bool parseVYMHandler::readBranchAttr (const QXmlAttributes& a)        
-{
-    branchesCounter++;
-    if (useProgress) 
-        mainWindow->addProgressValue ((float)branchesCounter/branchesTotal);        
-
-    lastMI=lastBranch;
-
-    if (!readOOAttr(a)) return false;
-
-    if (!a.value( "scrolled").isEmpty() )
-        lastBranch->toggleScroll(); 
-        // (interesting for import of KDE bookmarks)
-
-    if (!a.value( "incImgV").isEmpty() ) 
-    {        
-        if (a.value("incImgV")=="true")
-            lastBranch->setIncludeImagesVer(true);
-        else        
-            lastBranch->setIncludeImagesVer(false);
-    }        
-    if (!a.value( "incImgH").isEmpty() ) 
-    {        
-        if (a.value("incImgH")=="true")
-            lastBranch->setIncludeImagesHor(true);
-        else        
-            lastBranch->setIncludeImagesHor(false);
-    }        
-    if (a.value("childrenFreePos")=="true")
-        lastBranch->setChildrenLayout(BranchItem::FreePositioning);
-    return true;    
-}
-
-bool parseVYMHandler::readFrameAttr (const QXmlAttributes& a)       
-{
-    if (lastMI)
-    {
-        OrnamentedObj* oo=(OrnamentedObj*)(lastMI->getLMO()); 
-        if (oo)
-        {
-            bool ok;
-            int x;
-            {
-                if (!a.value( "frameType").isEmpty() ) 
-                    oo->setFrameType (a.value("frameType"));
-                if (!a.value( "penColor").isEmpty() ) 
-                    oo->setFramePenColor (a.value("penColor"));
-                if (!a.value( "brushColor").isEmpty() ) 
-                {
-                    oo->setFrameBrushColor (a.value("brushColor"));
-                    lastMI->setBackgroundColor (a.value("brushColor"));
-                }
-                if (!a.value( "padding").isEmpty() ) 
-                {
-                    x=a.value("padding").toInt(&ok);
-                    if (ok) oo->setFramePadding(x);
-                }   
-                if (!a.value( "borderWidth").isEmpty() ) 
-                {
-                    x=a.value("borderWidth").toInt(&ok);
-                    if (ok) oo->setFrameBorderWidth(x);
-                }   
-                if (!a.value( "includeChildren").isEmpty() ) 
-                {
-                    if (a.value("includeChildren")=="true")
-                        oo->setFrameIncludeChildren(true);
-                    else        
-                        oo->setFrameIncludeChildren(false);
-                }   
-            }            
-            return true;
-        }
-    }
-    return false;
-}
-
-bool parseVYMHandler::readOOAttr (const QXmlAttributes& a)
-{
-    if (lastMI)
-    {
-        bool okx,oky;
-        float x,y;
-        if (!a.value( "relPosX").isEmpty() ) 
-        {
-            if (!a.value( "relPosY").isEmpty() ) 
-            {
-                x=a.value("relPosX").toFloat (&okx);
-                y=a.value("relPosY").toFloat (&oky);
-                if (okx && oky  )
-                    lastMI->setRelPos (QPointF(x,y));
-                else
-                    return false;   // Couldn't read relPos
-            }           
-        }           
-        if (!a.value( "absPosX").isEmpty() ) 
-        {
-            if (!a.value( "absPosY").isEmpty() ) 
-            {
-                x=a.value("absPosX").toFloat (&okx);
-                y=a.value("absPosY").toFloat (&oky);
-                if (okx && oky  )
-                    lastMI->setAbsPos (QPointF(x,y));
-                else
-                    return false;   // Couldn't read absPos
-            }           
-        }           
-        if (!a.value( "url").isEmpty() ) 
-            lastMI->setURL (a.value ("url"));
-        if (!a.value( "vymLink").isEmpty() ) 
-            lastMI->setVymLink (a.value ("vymLink"));
-        if (!a.value( "hideInExport").isEmpty() ) 
-            if (a.value("hideInExport")=="true")
-                lastMI->setHideInExport(true);
-
-        if (!a.value( "hideLink").isEmpty()) 
-        {
-            if (a.value ("hideLink") =="true")
-                lastMI->setHideLinkUnselected(true);
-            else    
-                lastMI->setHideLinkUnselected(false);
-        }   
-
-        if (!a.value( "localTarget").isEmpty() )
-            if (a.value ("localTarget")=="true")
-                lastMI->toggleTarget();
-        if (!a.value( "rotation").isEmpty() ) 
-        {
-            x=a.value("rotation").toFloat (&okx);
-            if (okx )
-                lastMI->setRotation (x);
-            else        
-                return false;   // Couldn't read rotation
-        }           
-
-        if (!a.value( "uuid").isEmpty() )  
-        {
-            // While pasting, check for existing UUID
-            if (loadMode!=ImportAdd && !model->findUuid(a.value( "uuid")))
-                lastMI->setUuid (a.value( "uuid") );
-        }
-    }
-    return true;    
-}
-
-bool parseVYMHandler::readNoteAttr (const QXmlAttributes& a)
-{   // only for backward compatibility (<1.4.6). Use htmlnote now.
-    vymtext.clear();
-    QString fn;
-    if (!a.value( "href").isEmpty() ) 
-    {
-        // Load note
-        fn=parseHREF(a.value ("href") );
-        QFile file (fn);
-        QString s;                        // Reading a note
-
-        if ( !file.open( QIODevice::ReadOnly) )
-        {
-            qWarning ()<<"parseVYMHandler::readNoteAttr:  Couldn't load "+fn;
-            return false;
-        }   
-        QTextStream stream( &file );
-        stream.setCodec("UTF-8");
-        QString lines;
-        while ( !stream.atEnd() ) {
-            lines += stream.readLine()+"\n"; 
-        }
-        file.close();
-
-    lines ="<html><head><meta name=\"qrichtext\" content=\"1\" /></head><body>" + lines + "</p></body></html>";
-    vymtext.setText (lines);   // this probably should set type, too...
-    }            
-    if (!a.value( "fonthint").isEmpty() ) 
-        vymtext.setFontHint(a.value ("fonthint") );
-    lastBranch->setNote(vymtext);
-    return true;
-}
-
-bool parseVYMHandler::readImageAttr (const QXmlAttributes& a)
-{
-    lastMI=lastImage;
-    
-    if (!readOOAttr(a)) return false;  
-
-    if (!a.value( "href").isEmpty() )
-    {
-        // Load Image
-        if (!lastImage->load (parseHREF(a.value ("href") ) ))
-        {
-            QMessageBox::warning( 0, "Warning: " ,
-                "Couldn't load image\n"+parseHREF(a.value ("href") ));
-            lastImage=NULL;
-            return true;
-        }
-        
-    }        
-    if (!a.value( "zPlane").isEmpty() ) 
-        lastImage->setZValue (a.value("zPlane").toInt ());
-    float x,y;
-    bool okx,oky;
-    if (!a.value( "relPosX").isEmpty() ) 
-    {
-        if (!a.value( "relPosY").isEmpty() ) 
-        {
-            // read relPos
-            x=a.value("relPosX").toFloat (&okx);
-            y=a.value("relPosY").toFloat (&oky);
-            if (okx && oky) 
-                lastImage->setRelPos (QPointF (x,y) );
-            else
-                // Couldn't read relPos
-                return false;  
-        }           
-    }        
-    
-    // Scale image        
-    x=y=1;
-    if (!a.value( "scaleX").isEmpty() ) 
-    {
-        x=a.value("scaleX").toFloat (&okx);
-        if (!okx ) return false;  
-    }        
-    
-    if (!a.value( "scaleY").isEmpty() ) 
-    {
-        y=a.value("scaleY").toFloat (&oky);
-        if (!oky ) return false;  
-    }        
-    if (x!=1 || y!=1)
-        lastImage->setScale (x,y);
-    
-    if (!readOOAttr(a)) return false;
-
-    if (!a.value ("originalName").isEmpty() )
-    {
-        lastImage->setOriginalFilename (a.value("originalName"));
-    }
-    return true;
-}
-
-bool parseVYMHandler::readXLinkAttr (const QXmlAttributes& a) 
-{
-    // Obsolete, see also readLinkAttr
-
-    if (!a.value( "beginID").isEmpty() ) 
-    { 
-        if (!a.value( "endID").isEmpty() ) 
-        {
-            TreeItem *beginBI=model->findBySelectString (a.value( "beginID"));
-            TreeItem   *endBI=model->findBySelectString (a.value( "endID"));
-            if (beginBI && endBI && beginBI->isBranchLikeType() && endBI->isBranchLikeType() )
-            {
-                Link *li=new Link (model);
-                li->setBeginBranch ( (BranchItem*)beginBI );
-                li->setEndBranch ( (BranchItem*)endBI);
-                QPen pen=li->getPen();
-
-                if (!a.value( "color").isEmpty() ) 
-                {
-                    QColor col;
-                    col.setNamedColor(a.value("color"));
-                    pen.setColor (col);
-                }
-
-                if (!a.value( "width").isEmpty() ) 
-                {
-                    bool okx;
-                    pen.setWidth(a.value ("width").toInt (&okx, 10));
-                }
-                model->createLink (li);
-            }
-        }           
-    }        
-    return true;    
-}
-
-bool parseVYMHandler::readLinkNewAttr (const QXmlAttributes& a)        
-{
-    // object ID is used starting in version 1.8.76
-    // (before there was beginBranch and endBranch)
-    //
-    // Starting in 1.13.2 xlinks are no longer subitems of branches,
-    // but listed at the end of the data in a map. This makes handling 
-    // of links much safer and easier
-
-    if (!a.value( "beginID").isEmpty() ) 
-    { 
-        if (!a.value( "endID").isEmpty() ) 
-        {
-            TreeItem *beginBI=model->findBySelectString (a.value( "beginID"));
-            TreeItem   *endBI=model->findBySelectString (a.value( "endID"));
-            if (beginBI && endBI && beginBI->isBranchLikeType() && endBI->isBranchLikeType() )
-            {
-                Link *li=new Link (model);
-                li->setBeginBranch ( (BranchItem*)beginBI );
-                li->setEndBranch ( (BranchItem*)endBI);
-
-                model->createLink (li);
-
-                bool okx;
-                QPen pen=li->getPen();
-                if (!a.value( "type").isEmpty() ) 
-                {
-                    li->setLinkType (a.value( "type") );
-                }
-                if (!a.value( "color").isEmpty() ) 
-                {
-                    QColor col;
-                    col.setNamedColor(a.value("color"));
-                    pen.setColor (col);
-                }
-                if (!a.value( "width").isEmpty() ) 
-                {
-                    pen.setWidth(a.value ("width").toInt (&okx, 10));
-                }
-                if (!a.value( "penstyle").isEmpty() ) 
-                {
-                    pen.setStyle( penStyle (a.value ("penstyle"), okx));
-                }
-                li->setPen (pen);
-
-                if (!a.value( "styleBegin").isEmpty() ) 
-                    li->setStyleBegin( a.value( "styleBegin" ) );
-                if (!a.value( "styleEnd").isEmpty() ) 
-                    li->setStyleEnd( a.value( "styleEnd" ) );
-
-
-                XLinkObj *xlo=(XLinkObj*)(li->getMO() );
-                if (xlo && !a.value( "c0").isEmpty() )
-                {
-                    QPointF p=point(a.value("c0"),okx );
-                    if (okx) xlo->setC0 (p);
-                }
-                if (xlo && !a.value( "c1").isEmpty() )
-                {
-                    QPointF p=point(a.value("c1"),okx );
-                    if (okx) xlo->setC1 (p);
-                }
-            }
-        }           
-    }        
-    return true;    
-}
-
-bool parseVYMHandler::readSettingAttr (const QXmlAttributes& a)
-{
-    if (!a.value( "key").isEmpty() ) 
-    {
-        lastSetting = a.value( "key" );
-        if (!a.value( "value").isEmpty() ) 
-            // Beginning with 2.5.0 value is stored as between tags,
-            // no  longer as attribute
-            settings.setLocalValue(model->getDestPath(), a.value ("key"), a.value ("value"));
-        else
-            return false;
-        
-    } else
-        return false;
-    
-    return true;
-}
-
-bool parseVYMHandler::readSlideAttr (const QXmlAttributes& a)
-{
-    QStringList scriptlines;        // FIXME-3 needed for switching to inScript
-                                // Most attributes are obsolete with inScript
-    if (!lastSlide) return false;
-    {
-        if (!a.value( "name").isEmpty() ) 
-            lastSlide->setName (a.value( "name" ) );
-        if (!a.value( "zoom").isEmpty() ) 
-        {
-            bool ok;
-            qreal z=a.value ("zoom").toDouble(&ok);
-            if (!ok) return false;
-            scriptlines.append( QString("setMapZoom(%1)").arg(z) );
-        }
-        if (!a.value( "rotation").isEmpty() ) 
-        {
-            bool ok;
-            qreal z=a.value ("rotation").toDouble(&ok);
-            if (!ok) return false;
-            scriptlines.append( QString("setMapRotation(%1)").arg(z) );
-        }
-        if (!a.value( "duration").isEmpty() ) 
-        {
-            bool ok;
-            int d=a.value ("duration").toInt(&ok);
-            if (!ok) return false;
-            scriptlines.append( QString("setMapAnimDuration(%1)").arg(d) );
-        }
-        if (!a.value( "curve").isEmpty() ) 
-        {
-            bool ok;
-            int i=a.value ("curve").toInt(&ok);
-            if (!ok ) return false;
-            if (i<0 || i>QEasingCurve::OutInBounce) return false;
-            scriptlines.append( QString("setMapAnimCurve(%1)").arg(i) );
-        }
-        if (!a.value( "mapitem").isEmpty() ) 
-        {
-            TreeItem *ti=model->findBySelectString ( a.value( "mapitem") );
-            if (!ti) return false;
-            scriptlines.append( QString("centerOnID(\"%1\")").arg(ti->getUuid().toString() ) );
-        }
-        if (!a.value( "inScript").isEmpty() ) 
-        {
-            lastSlide->setInScript( unquotemeta( a.value( "inScript") ) );
-        } else
-            lastSlide->setInScript( unquotemeta( scriptlines.join(";\n") ) );
-
-        if (!a.value( "outScript").isEmpty() ) 
-        {
-            lastSlide->setOutScript( unquotemeta( a.value( "outScript") ) );
-        }
-    }
-    return true;
-}
-
-bool parseVYMHandler::readTaskAttr (const QXmlAttributes& a)
-{
-    if (!lastTask) return false;
-    {
-        if (!a.value( "status").isEmpty() ) 
-            lastTask->setStatus (a.value( "status" ) );
-        if (!a.value( "awake").isEmpty() ) 
-            lastTask->setAwake (a.value( "awake" ) );
-        if (!a.value( "date_creation").isEmpty() ) 
-            lastTask->setDateCreation ( a.value( "date_creation" ) );
-        if (!a.value( "date_modified").isEmpty() ) 
-            lastTask->setDateModified( a.value( "date_modified" ) );
-        if (!a.value( "date_sleep").isEmpty() ) 
-            lastTask->setDateSleep( a.value( "date_sleep" ) );
-    }
-    return true;
-}
-
diff --git a/xml-vym.h b/xml-vym.h
deleted file mode 100644 (file)
index 771ef67..0000000
--- a/xml-vym.h
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef XML_H
-#define XML_H
-
-#include "xml-base.h"
-
-#include "vymnote.h"
-
-class BranchItem;
-class ImageItem;
-class MapItem;
-class SlideItem;
-class Task;
-
-/*! \brief Parsing VYM maps from XML documents */
-
-enum Content {TreeContent = 0x0001, SlideContent = 0x0002, XLinkContent = 0x0004};
-
-class parseVYMHandler  : public parseBaseHandler
-{
-public:
-    parseVYMHandler();
-    void setContentFilter (const int &);
-
-private:
-    int contentFilter;    
-public:
-    bool startDocument();
-    bool startElement ( const QString&, const QString&,
-                        const QString& eName, const QXmlAttributes& atts ); 
-    bool   endElement ( const QString&, const QString&, const QString& ); 
-    bool characters   ( const QString&);
-    QString errorString();
-    bool readMapAttr     (const QXmlAttributes&);
-    bool readBranchAttr  (const QXmlAttributes&);
-    bool readFrameAttr   (const QXmlAttributes&);
-    bool readOOAttr      (const QXmlAttributes&);
-    bool readNoteAttr    (const QXmlAttributes&);
-    bool readImageAttr   (const QXmlAttributes&);
-    bool readXLinkAttr   (const QXmlAttributes&);
-    bool readLinkNewAttr (const QXmlAttributes&);
-    bool readSettingAttr (const QXmlAttributes&);
-    bool readSlideAttr   (const QXmlAttributes&);
-    bool readTaskAttr    (const QXmlAttributes&);
-
-private:
-    enum State 
-    {
-        StateInit,
-        StateMap,
-        StateMapSelect,
-        StateMapSetting,
-        StateMapSlide,
-        StateMapCenter,
-        StateBranch,
-        StateBranchXLink,          // Obsolete
-        StateVymNote,
-        StateHtmlNote,             // Obsolete >= 1.13.6
-        StateHtml,
-        StateFrame,
-        StateStandardFlag,
-        StateNote,                 // Obsolete >= 1.4.6
-        StateImage,
-        StateHeading,
-        StateLink,
-        StateAttribute,
-        StateTask
-     };
-
-     int branchesCounter;
-     int branchesTotal;
-
-    State state;            
-    QList <State> stateStack;
-    VymText vymtext;
-
-    BranchItem* lastBranch;
-    ImageItem* lastImage;
-    MapItem* lastMI;
-    SlideItem *lastSlide;
-    Task *lastTask;
-    QString lastSetting;
-
-    bool useProgress;
-}; 
-#endif
diff --git a/xmlobj.cpp b/xmlobj.cpp
deleted file mode 100644 (file)
index 5d882b6..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-#include "xmlobj.h"
-
-#include <QRegExp>
-#include <QStringList>
-
-
-// returns masked "<" ">" "&"
-QString quotemeta(const QString &s)
-{
-    QString r = s;
-    QRegExp  rx("&(?!amp;)");
-    r.replace ( rx,"&amp;");
-    rx.setPattern( ">");
-    r.replace ( rx,"&gt;");
-    rx.setPattern( "<");
-    r.replace ( rx,"&lt;");
-    rx.setPattern( "\"");
-    r.replace ( rx,"&quot;");
-    return r;
-}
-
-QString unquotemeta(const QString &s)
-{
-    QString r = s;
-    QRegExp  rx("&amp;)");
-    r.replace ( rx,"&");
-    rx.setPattern( "&gt;");
-    r.replace ( rx,">");
-    rx.setPattern( "&lt;");
-    r.replace ( rx,"<");
-    rx.setPattern( "&quot;");
-    r.replace ( rx,"\"");
-    return r;
-}
-
-QString quoteQuotes(const QString &s)
-{
-    QString r = s;
-    QRegExp  rx( "\"");
-    r.replace ( rx,"\\\"");
-    return r;
-}
-
-QString unquoteQuotes(const QString &s)
-{
-    QString r = s;
-    QRegExp  rx("\\\\\"");
-    r.replace ( rx,"\"");
-    return r;
-}
-
-QString quoteUmlaut(const QString &s)
-{
-    QString r=s;
-    QRegExp rx( "ü");
-    r.replace ( rx,"&uuml;");
-    rx.setPattern( "Ü");
-    r.replace ( rx,"&Uuml;");
-    rx.setPattern( "ö");
-    r.replace ( rx,"&ouml;");
-    rx.setPattern( "Ö");
-    r.replace ( rx,"&Ouml;");
-    rx.setPattern( "ä");
-    r.replace ( rx,"&auml;");
-    rx.setPattern( "Ö");
-    r.replace ( rx,"&Auml;");
-    rx.setPattern( "ß");
-    r.replace ( rx,"&szlig;");
-    rx.setPattern( "€");
-    r.replace ( rx,"&euro;");
-    return r;
-}
-
-QString getCDATA(const QString &s)
-{
-    // Do we need to use CDATA after all?
-    if (s.contains("<") || s.contains(">") || s.contains("\"") || s.contains("&") )
-    {
-        QStringList list = s.split("]]>");
-        int i = s.indexOf("]]>");
-        if ( i >= 0 )
-            // split up and calculate recursively
-            return getCDATA(s.left(i+2)) + getCDATA(s.right(s.length() - i - 2));
-        else
-            return "<![CDATA[" + s + "]]>";
-    } else
-        return s;
-}
-
-int XMLObj::curIndent=0;       // make instance of curIndent
-
-XMLObj::XMLObj()
-{
-    indentWidth=4;
-}
-
-XMLObj::~XMLObj()
-{
-}
-
-
-// returns <s at />
-QString XMLObj::singleElement(QString s, QString at)
-{
-    return indent() + "<" + s +" " + at +" " + "/>";
-}
-
-// returns <s>
-QString XMLObj::beginElement(QString s)
-{
-    return indent() + "<" + s + ">";
-}
-
-// returns <s at>
-QString XMLObj::beginElement(QString s, QString at)
-{
-    return indent() + "<" + s + " " + at + ">";
-}
-
-// returns </s>
-QString XMLObj::endElement(QString s)
-{
-    return indent() + "</" + s + ">";
-}
-
-// returns  at="val"
-QString XMLObj::attribut(QString at, QString val)
-{
-    return " " + at + "=\"" + quotemeta(val) + "\"";  
-}
-
-// returns <s> val </s>
-QString XMLObj::valueElement(QString el, QString val)
-{
-    return indent() + "<" + el + ">" + val + "</" +el + ">";
-}
-
-// returns <s at> val </s>
-QString XMLObj::valueElement(QString el, QString val, QString at)
-{
-    return "<" + el + " " + at + ">" + val + "</" +el + ">";
-}
-
-void XMLObj::incIndent()
-{
-    curIndent++;
-}   
-
-void XMLObj::decIndent()
-{
-    curIndent--;
-    if (curIndent<0) curIndent=0;
-}   
-
-QString XMLObj::indent()
-{
-    QString s = "\n";
-    int i;
-    for (i=0; i < curIndent * indentWidth; i++)
-    {
-        s= s + " ";
-    }
-    return s;
-}   
-
diff --git a/xmlobj.h b/xmlobj.h
deleted file mode 100644 (file)
index af6f60a..0000000
--- a/xmlobj.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef XMLOBJ_H
-#define XMLOBJ_H
-
-class QString;
-
-QString quotemeta( const QString& );  
-QString unquotemeta( const QString& ); 
-QString quoteQuotes( const QString & );
-QString unquoteQuotes( const QString & );
-QString quoteUmlaut( const QString& ); 
-QString getCDATA( const QString &s );
-
-/////////////////////////////////////////////////////////////////////////////
-class XMLObj
-{
-public:
-    XMLObj();
-    virtual ~XMLObj();
-    QString singleElement(QString,QString);        // name,attr
-    QString beginElement(QString,QString);         // name,attr
-    QString beginElement(QString);                 // name
-    QString endElement  (QString);                 // name
-    QString attribut    (QString,QString);         // name, val
-    QString valueElement(QString,QString);         // name, val
-    QString valueElement(QString,QString,QString);  // name, val, attr
-    void incIndent();
-    void decIndent();
-    static int curIndent;
-
-protected:  
-    QString indent();
-    int indentWidth;
-};
-
-#endif
diff --git a/xsltproc.cpp b/xsltproc.cpp
deleted file mode 100644 (file)
index 0739fc0..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-#include "xsltproc.h"
-
-#include <iostream>
-#include <QDebug>
-#include <QMessageBox>
-
-#include "vymprocess.h"
-
-
-extern bool debug;
-
-XSLTProc::XSLTProc ()
-{
-    xsltprocessor="xsltproc";
-    showOutput=false;
-    dia=new ShowTextDialog;
-}
-
-XSLTProc::~XSLTProc ()
-{
-    delete (dia);
-}
-
-void XSLTProc::addStringParam (const QString & k, const QString &v)
-{
-    stringParamKey.append (k);
-    stringParamVal.append (v);
-}
-
-void XSLTProc::setOutputFile    (const QString &s)
-{
-    outputFile=s;
-}
-
-void XSLTProc::setXSLFile(const QString &s)
-{
-    xslFile=s;
-}
-
-void XSLTProc::setInputFile     (const QString &s)
-{
-    inputFile=s;
-}
-
-void XSLTProc::addOutput (const QString &s)
-{
-    dia->append (s);
-}
-
-void XSLTProc::process()
-{
-    ShowTextDialog dia;
-    dia.useFixedFont (true);
-    QStringList args;
-    VymProcess *xsltProc=new VymProcess ();
-
-    QStringList::Iterator itk;
-    QStringList::Iterator itv=stringParamVal.begin();
-
-    for ( itk = stringParamKey.begin(); itk != stringParamKey.end(); ++itk ) 
-    {
-       args << "--stringparam";
-       args << *itk;
-       args << *itv;
-       ++itv;
-    }
-    
-    args << "--output";
-    args << outputFile;
-    args << xslFile;
-    args << inputFile;
-    QString com=xsltprocessor+" "+args.join(" "); 
-    if (debug) qDebug() <<"xsltproc executing:\n"<<qPrintable(com);
-    dia.append ("vym is executing: \n" + com );        
-    xsltProc->start(xsltprocessor,args);
-    if (!xsltProc->waitForStarted() )
-    {
-       QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-                      QObject::tr("Could not start %1").arg(xsltprocessor) );
-    } else
-    {
-       if (!xsltProc->waitForFinished())
-       {
-           QMessageBox::critical( 0, QObject::tr( "Critical Error" ),
-              QObject::tr("%1 didn't exit normally").arg(xsltprocessor) +
-              xsltProc->getErrout() );
-           if (xsltProc->exitStatus()>0) showOutput=true;
-       }      
-           
-    }  
-    dia.append ("\n");
-    dia.append (xsltProc->getErrout());
-    dia.append (xsltProc->getStdout());
-    
-    if (showOutput) dia.exec();
-}
-
diff --git a/xsltproc.h b/xsltproc.h
deleted file mode 100644 (file)
index 6c28f86..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef XSLTPROC_H
-#define XSLTPROC_H
-
-#include <qstring.h>
-#include <qstringlist.h>
-
-#include "showtextdialog.h"
-
-class XSLTProc
-{
-public:
-    XSLTProc();
-    ~XSLTProc();
-    void addStringParam(const QString &, const QString &);
-    void setOutputFile (const QString &);
-    void setXSLFile    (const QString &);
-    void setInputFile  (const QString &);
-    void addOutput (const QString &);
-    void process();
-private:
-    QStringList stringParamKey;
-    QStringList stringParamVal;
-    QString outputFile;
-    QString inputFile;
-    QString xslFile;
-    QString xsltprocessor;
-    bool showOutput;
-    ShowTextDialog *dia;
-};
-
-#endif